/*!
 * %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 *                     _            _       _           _       
 *                    | |___  __   / \   __| |_ __ ___ (_)_ __  
 *                    | __\ \/ /  / _ \ / _` | '_ ` _ \| | '_ \ 
 *                    | |_ >  <  / ___ \ (_| | | | | | | | | | |
 *                     \__/_/\_\/_/   \_\__,_|_| |_| |_|_|_| |_|
 *                                                              
 * %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 * Author: André Tabarra (https://github.com/tabarra)
 * Repository: https://github.com/tabarra/txAdmin
 * txAdmin is a free open source software provided under the license below.
 * %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 * MIT License
 * 
 * Copyright (c) 2019-2025 Take-Two Interactive Software, Inc.
 * 
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 * 
 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 * %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 * This distribution also includes third party code under their own licenses, which
 * can be found in ../THIRD-PARTY-LICENSES.txt or their respective repositories.
 * Attribution for non-code assets can be found at the bottom of ../README.md or at
 * the top of the respective file.
 * %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 */
"use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf;var __hasOwnProp=Object.prototype.hasOwnProperty;var __typeError=msg=>{throw TypeError(msg)};var __esm=(fn2,res)=>function __init(){return fn2&&(res=(0,fn2[__getOwnPropNames(fn2)[0]])(fn2=0)),res};var __commonJS=(cb,mod3)=>function __require(){return mod3||(0,cb[__getOwnPropNames(cb)[0]])((mod3={exports:{}}).exports,mod3),mod3.exports};var __export=(target,all2)=>{for(var name in all2)__defProp(target,name,{get:all2[name],enumerable:true})};var __copyProps=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames(from))if(!__hasOwnProp.call(to,key)&&key!==except)__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable})}return to};var __toESM=(mod3,isNodeMode,target)=>(target=mod3!=null?__create(__getProtoOf(mod3)):{},__copyProps(isNodeMode||!mod3||!mod3.__esModule?__defProp(target,"default",{value:mod3,enumerable:true}):target,mod3));var __toCommonJS=mod3=>__copyProps(__defProp({},"__esModule",{value:true}),mod3);var __accessCheck=(obj,member,msg)=>member.has(obj)||__typeError("Cannot "+msg);var __privateGet=(obj,member,getter)=>(__accessCheck(obj,member,"read from private field"),getter?getter.call(obj):member.get(obj));var __privateAdd=(obj,member,value)=>member.has(obj)?__typeError("Cannot add the same private member more than once"):member instanceof WeakSet?member.add(obj):member.set(obj,value);var __privateSet=(obj,member,value,setter)=>(__accessCheck(obj,member,"write to private field"),setter?setter.call(obj,value):member.set(obj,value),value);var require_stackframe=__commonJS({"node_modules/stackframe/stackframe.js"(exports2,module2){(function(root2,factory){"use strict";if(typeof define==="function"&&define.amd){define("stackframe",[],factory)}else if(typeof exports2==="object"){module2.exports=factory()}else{root2.StackFrame=factory()}})(exports2,function(){"use strict";function _isNumber(n){return!isNaN(parseFloat(n))&&isFinite(n)}function _capitalize(str2){return str2.charAt(0).toUpperCase()+str2.substring(1)}function _getter(p){return function(){return this[p]}}var booleanProps=["isConstructor","isEval","isNative","isToplevel"];var numericProps=["columnNumber","lineNumber"];var stringProps=["fileName","functionName","source"];var arrayProps=["args"];var objectProps=["evalOrigin"];var props=booleanProps.concat(numericProps,stringProps,arrayProps,objectProps);function StackFrame(obj){if(!obj)return;for(var i2=0;i2<props.length;i2++){if(obj[props[i2]]!==void 0){this["set"+_capitalize(props[i2])](obj[props[i2]])}}}StackFrame.prototype={getArgs:function(){return this.args},setArgs:function(v){if(Object.prototype.toString.call(v)!=="[object Array]"){throw new TypeError("Args must be an Array")}this.args=v},getEvalOrigin:function(){return this.evalOrigin},setEvalOrigin:function(v){if(v instanceof StackFrame){this.evalOrigin=v}else if(v instanceof Object){this.evalOrigin=new StackFrame(v)}else{throw new TypeError("Eval Origin must be an Object or StackFrame")}},toString:function(){var fileName=this.getFileName()||"";var lineNumber=this.getLineNumber()||"";var columnNumber=this.getColumnNumber()||"";var functionName=this.getFunctionName()||"";if(this.getIsEval()){if(fileName){return"[eval] ("+fileName+":"+lineNumber+":"+columnNumber+")"}return"[eval]:"+lineNumber+":"+columnNumber}if(functionName){return functionName+" ("+fileName+":"+lineNumber+":"+columnNumber+")"}return fileName+":"+lineNumber+":"+columnNumber}};StackFrame.fromString=function StackFrame$$fromString(str2){var argsStartIndex=str2.indexOf("(");var argsEndIndex=str2.lastIndexOf(")");var functionName=str2.substring(0,argsStartIndex);var args2=str2.substring(argsStartIndex+1,argsEndIndex).split(",");var locationString=str2.substring(argsEndIndex+1);if(locationString.indexOf("@")===0){var parts=/@(.+?)(?::(\d+))?(?::(\d+))?$/.exec(locationString,"");var fileName=parts[1];var lineNumber=parts[2];var columnNumber=parts[3]}return new StackFrame({functionName,args:args2||void 0,fileName,lineNumber:lineNumber||void 0,columnNumber:columnNumber||void 0})};for(var i=0;i<booleanProps.length;i++){StackFrame.prototype["get"+_capitalize(booleanProps[i])]=_getter(booleanProps[i]);StackFrame.prototype["set"+_capitalize(booleanProps[i])]=function(p){return function(v){this[p]=Boolean(v)}}(booleanProps[i])}for(var j=0;j<numericProps.length;j++){StackFrame.prototype["get"+_capitalize(numericProps[j])]=_getter(numericProps[j]);StackFrame.prototype["set"+_capitalize(numericProps[j])]=function(p){return function(v){if(!_isNumber(v)){throw new TypeError(p+" must be a Number")}this[p]=Number(v)}}(numericProps[j])}for(var k=0;k<stringProps.length;k++){StackFrame.prototype["get"+_capitalize(stringProps[k])]=_getter(stringProps[k]);StackFrame.prototype["set"+_capitalize(stringProps[k])]=function(p){return function(v){this[p]=String(v)}}(stringProps[k])}return StackFrame})}});var require_error_stack_parser=__commonJS({"node_modules/error-stack-parser/error-stack-parser.js"(exports2,module2){(function(root2,factory){"use strict";if(typeof define==="function"&&define.amd){define("error-stack-parser",["stackframe"],factory)}else if(typeof exports2==="object"){module2.exports=factory(require_stackframe())}else{root2.ErrorStackParser=factory(root2.StackFrame)}})(exports2,function ErrorStackParser2(StackFrame){"use strict";var FIREFOX_SAFARI_STACK_REGEXP=/(^|@)\S+:\d+/;var CHROME_IE_STACK_REGEXP=/^\s*at .*(\S+:\d+|\(native\))/m;var SAFARI_NATIVE_CODE_REGEXP=/^(eval@)?(\[native code])?$/;return{parse:function ErrorStackParser$$parse(error){if(typeof error.stacktrace!=="undefined"||typeof error["opera#sourceloc"]!=="undefined"){return this.parseOpera(error)}else if(error.stack&&error.stack.match(CHROME_IE_STACK_REGEXP)){return this.parseV8OrIE(error)}else if(error.stack){return this.parseFFOrSafari(error)}else{throw new Error("Cannot parse given Error object")}},extractLocation:function ErrorStackParser$$extractLocation(urlLike){if(urlLike.indexOf(":")===-1){return[urlLike]}var regExp=/(.+?)(?::(\d+))?(?::(\d+))?$/;var parts=regExp.exec(urlLike.replace(/[()]/g,""));return[parts[1],parts[2]||void 0,parts[3]||void 0]},parseV8OrIE:function ErrorStackParser$$parseV8OrIE(error){var filtered=error.stack.split("\n").filter(function(line){return!!line.match(CHROME_IE_STACK_REGEXP)},this);return filtered.map(function(line){if(line.indexOf("(eval ")>-1){line=line.replace(/eval code/g,"eval").replace(/(\(eval at [^()]*)|(,.*$)/g,"")}var sanitizedLine=line.replace(/^\s+/,"").replace(/\(eval code/g,"(").replace(/^.*?\s+/,"");var location=sanitizedLine.match(/ (\(.+\)$)/);sanitizedLine=location?sanitizedLine.replace(location[0],""):sanitizedLine;var locationParts=this.extractLocation(location?location[1]:sanitizedLine);var functionName=location&&sanitizedLine||void 0;var fileName=["eval","<anonymous>"].indexOf(locationParts[0])>-1?void 0:locationParts[0];return new StackFrame({functionName,fileName,lineNumber:locationParts[1],columnNumber:locationParts[2],source:line})},this)},parseFFOrSafari:function ErrorStackParser$$parseFFOrSafari(error){var filtered=error.stack.split("\n").filter(function(line){return!line.match(SAFARI_NATIVE_CODE_REGEXP)},this);return filtered.map(function(line){if(line.indexOf(" > eval")>-1){line=line.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,":$1")}if(line.indexOf("@")===-1&&line.indexOf(":")===-1){return new StackFrame({functionName:line})}else{var functionNameRegex=/((.*".+"[^@]*)?[^@]*)(?:@)/;var matches2=line.match(functionNameRegex);var functionName=matches2&&matches2[1]?matches2[1]:void 0;var locationParts=this.extractLocation(line.replace(functionNameRegex,""));return new StackFrame({functionName,fileName:locationParts[0],lineNumber:locationParts[1],columnNumber:locationParts[2],source:line})}},this)},parseOpera:function ErrorStackParser$$parseOpera(e){if(!e.stacktrace||e.message.indexOf("\n")>-1&&e.message.split("\n").length>e.stacktrace.split("\n").length){return this.parseOpera9(e)}else if(!e.stack){return this.parseOpera10(e)}else{return this.parseOpera11(e)}},parseOpera9:function ErrorStackParser$$parseOpera9(e){var lineRE=/Line (\d+).*script (?:in )?(\S+)/i;var lines=e.message.split("\n");var result2=[];for(var i=2,len=lines.length;i<len;i+=2){var match=lineRE.exec(lines[i]);if(match){result2.push(new StackFrame({fileName:match[2],lineNumber:match[1],source:lines[i]}))}}return result2},parseOpera10:function ErrorStackParser$$parseOpera10(e){var lineRE=/Line (\d+).*script (?:in )?(\S+)(?:: In function (\S+))?$/i;var lines=e.stacktrace.split("\n");var result2=[];for(var i=0,len=lines.length;i<len;i+=2){var match=lineRE.exec(lines[i]);if(match){result2.push(new StackFrame({functionName:match[3]||void 0,fileName:match[2],lineNumber:match[1],source:lines[i]}))}}return result2},parseOpera11:function ErrorStackParser$$parseOpera11(error){var filtered=error.stack.split("\n").filter(function(line){return!!line.match(FIREFOX_SAFARI_STACK_REGEXP)&&!line.match(/^Error created at/)},this);return filtered.map(function(line){var tokens=line.split("@");var locationParts=this.extractLocation(tokens.pop());var functionCall=tokens.shift()||"";var functionName=functionCall.replace(/<anonymous function(: (\w+))?>/,"$2").replace(/\([^)]*\)/g,"")||void 0;var argsRaw;if(functionCall.match(/\(([^)]*)\)/)){argsRaw=functionCall.replace(/^[^(]+\(([^)]*)\)$/,"$1")}var args2=argsRaw===void 0||argsRaw==="[arguments not available]"?void 0:argsRaw.split(",");return new StackFrame({functionName,args:args2,fileName:locationParts[0],lineNumber:locationParts[1],columnNumber:locationParts[2],source:line})},this)}}})}});var require_base64=__commonJS({"node_modules/source-map-support/node_modules/source-map/lib/base64.js"(exports2){var intToCharMap="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");exports2.encode=function(number2){if(0<=number2&&number2<intToCharMap.length){return intToCharMap[number2]}throw new TypeError("Must be between 0 and 63: "+number2)};exports2.decode=function(charCode){var bigA=65;var bigZ=90;var littleA=97;var littleZ=122;var zero=48;var nine=57;var plus=43;var slash2=47;var littleOffset=26;var numberOffset=52;if(bigA<=charCode&&charCode<=bigZ){return charCode-bigA}if(littleA<=charCode&&charCode<=littleZ){return charCode-littleA+littleOffset}if(zero<=charCode&&charCode<=nine){return charCode-zero+numberOffset}if(charCode==plus){return 62}if(charCode==slash2){return 63}return-1}}});var require_base64_vlq=__commonJS({"node_modules/source-map-support/node_modules/source-map/lib/base64-vlq.js"(exports2){var base64=require_base64();var VLQ_BASE_SHIFT=5;var VLQ_BASE=1<<VLQ_BASE_SHIFT;var VLQ_BASE_MASK=VLQ_BASE-1;var VLQ_CONTINUATION_BIT=VLQ_BASE;function toVLQSigned(aValue){return aValue<0?(-aValue<<1)+1:(aValue<<1)+0}function fromVLQSigned(aValue){var isNegative=(aValue&1)===1;var shifted=aValue>>1;return isNegative?-shifted:shifted}exports2.encode=function base64VLQ_encode(aValue){var encoded="";var digit;var vlq=toVLQSigned(aValue);do{digit=vlq&VLQ_BASE_MASK;vlq>>>=VLQ_BASE_SHIFT;if(vlq>0){digit|=VLQ_CONTINUATION_BIT}encoded+=base64.encode(digit)}while(vlq>0);return encoded};exports2.decode=function base64VLQ_decode(aStr,aIndex,aOutParam){var strLen=aStr.length;var result2=0;var shift=0;var continuation,digit;do{if(aIndex>=strLen){throw new Error("Expected more digits in base 64 VLQ value.")}digit=base64.decode(aStr.charCodeAt(aIndex++));if(digit===-1){throw new Error("Invalid base64 digit: "+aStr.charAt(aIndex-1))}continuation=!!(digit&VLQ_CONTINUATION_BIT);digit&=VLQ_BASE_MASK;result2=result2+(digit<<shift);shift+=VLQ_BASE_SHIFT}while(continuation);aOutParam.value=fromVLQSigned(result2);aOutParam.rest=aIndex}}});var require_util=__commonJS({"node_modules/source-map-support/node_modules/source-map/lib/util.js"(exports2){function getArg(aArgs,aName,aDefaultValue){if(aName in aArgs){return aArgs[aName]}else if(arguments.length===3){return aDefaultValue}else{throw new Error('"'+aName+'" is a required argument.')}}exports2.getArg=getArg;var urlRegexp=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/;var dataUrlRegexp=/^data:.+\,.+$/;function urlParse(aUrl){var match=aUrl.match(urlRegexp);if(!match){return null}return{scheme:match[1],auth:match[2],host:match[3],port:match[4],path:match[5]}}exports2.urlParse=urlParse;function urlGenerate(aParsedUrl){var url="";if(aParsedUrl.scheme){url+=aParsedUrl.scheme+":"}url+="//";if(aParsedUrl.auth){url+=aParsedUrl.auth+"@"}if(aParsedUrl.host){url+=aParsedUrl.host}if(aParsedUrl.port){url+=":"+aParsedUrl.port}if(aParsedUrl.path){url+=aParsedUrl.path}return url}exports2.urlGenerate=urlGenerate;function normalize(aPath){var path27=aPath;var url=urlParse(aPath);if(url){if(!url.path){return aPath}path27=url.path}var isAbsolute=exports2.isAbsolute(path27);var parts=path27.split(/\/+/);for(var part,up=0,i=parts.length-1;i>=0;i--){part=parts[i];if(part==="."){parts.splice(i,1)}else if(part===".."){up++}else if(up>0){if(part===""){parts.splice(i+1,up);up=0}else{parts.splice(i,2);up--}}}path27=parts.join("/");if(path27===""){path27=isAbsolute?"/":"."}if(url){url.path=path27;return urlGenerate(url)}return path27}exports2.normalize=normalize;function join4(aRoot,aPath){if(aRoot===""){aRoot="."}if(aPath===""){aPath="."}var aPathUrl=urlParse(aPath);var aRootUrl=urlParse(aRoot);if(aRootUrl){aRoot=aRootUrl.path||"/"}if(aPathUrl&&!aPathUrl.scheme){if(aRootUrl){aPathUrl.scheme=aRootUrl.scheme}return urlGenerate(aPathUrl)}if(aPathUrl||aPath.match(dataUrlRegexp)){return aPath}if(aRootUrl&&!aRootUrl.host&&!aRootUrl.path){aRootUrl.host=aPath;return urlGenerate(aRootUrl)}var joined=aPath.charAt(0)==="/"?aPath:normalize(aRoot.replace(/\/+$/,"")+"/"+aPath);if(aRootUrl){aRootUrl.path=joined;return urlGenerate(aRootUrl)}return joined}exports2.join=join4;exports2.isAbsolute=function(aPath){return aPath.charAt(0)==="/"||urlRegexp.test(aPath)};function relative3(aRoot,aPath){if(aRoot===""){aRoot="."}aRoot=aRoot.replace(/\/$/,"");var level=0;while(aPath.indexOf(aRoot+"/")!==0){var index=aRoot.lastIndexOf("/");if(index<0){return aPath}aRoot=aRoot.slice(0,index);if(aRoot.match(/^([^\/]+:\/)?\/*$/)){return aPath}++level}return Array(level+1).join("../")+aPath.substr(aRoot.length+1)}exports2.relative=relative3;var supportsNullProto=function(){var obj=Object.create(null);return!("__proto__"in obj)}();function identity2(s){return s}function toSetString(aStr){if(isProtoString(aStr)){return"$"+aStr}return aStr}exports2.toSetString=supportsNullProto?identity2:toSetString;function fromSetString(aStr){if(isProtoString(aStr)){return aStr.slice(1)}return aStr}exports2.fromSetString=supportsNullProto?identity2:fromSetString;function isProtoString(s){if(!s){return false}var length=s.length;if(length<9){return false}if(s.charCodeAt(length-1)!==95||s.charCodeAt(length-2)!==95||s.charCodeAt(length-3)!==111||s.charCodeAt(length-4)!==116||s.charCodeAt(length-5)!==111||s.charCodeAt(length-6)!==114||s.charCodeAt(length-7)!==112||s.charCodeAt(length-8)!==95||s.charCodeAt(length-9)!==95){return false}for(var i=length-10;i>=0;i--){if(s.charCodeAt(i)!==36){return false}}return true}function compareByOriginalPositions(mappingA,mappingB,onlyCompareOriginal){var cmp=strcmp(mappingA.source,mappingB.source);if(cmp!==0){return cmp}cmp=mappingA.originalLine-mappingB.originalLine;if(cmp!==0){return cmp}cmp=mappingA.originalColumn-mappingB.originalColumn;if(cmp!==0||onlyCompareOriginal){return cmp}cmp=mappingA.generatedColumn-mappingB.generatedColumn;if(cmp!==0){return cmp}cmp=mappingA.generatedLine-mappingB.generatedLine;if(cmp!==0){return cmp}return strcmp(mappingA.name,mappingB.name)}exports2.compareByOriginalPositions=compareByOriginalPositions;function compareByGeneratedPositionsDeflated(mappingA,mappingB,onlyCompareGenerated){var cmp=mappingA.generatedLine-mappingB.generatedLine;if(cmp!==0){return cmp}cmp=mappingA.generatedColumn-mappingB.generatedColumn;if(cmp!==0||onlyCompareGenerated){return cmp}cmp=strcmp(mappingA.source,mappingB.source);if(cmp!==0){return cmp}cmp=mappingA.originalLine-mappingB.originalLine;if(cmp!==0){return cmp}cmp=mappingA.originalColumn-mappingB.originalColumn;if(cmp!==0){return cmp}return strcmp(mappingA.name,mappingB.name)}exports2.compareByGeneratedPositionsDeflated=compareByGeneratedPositionsDeflated;function strcmp(aStr1,aStr2){if(aStr1===aStr2){return 0}if(aStr1===null){return 1}if(aStr2===null){return-1}if(aStr1>aStr2){return 1}return-1}function compareByGeneratedPositionsInflated(mappingA,mappingB){var cmp=mappingA.generatedLine-mappingB.generatedLine;if(cmp!==0){return cmp}cmp=mappingA.generatedColumn-mappingB.generatedColumn;if(cmp!==0){return cmp}cmp=strcmp(mappingA.source,mappingB.source);if(cmp!==0){return cmp}cmp=mappingA.originalLine-mappingB.originalLine;if(cmp!==0){return cmp}cmp=mappingA.originalColumn-mappingB.originalColumn;if(cmp!==0){return cmp}return strcmp(mappingA.name,mappingB.name)}exports2.compareByGeneratedPositionsInflated=compareByGeneratedPositionsInflated;function parseSourceMapInput(str2){return JSON.parse(str2.replace(/^\)]}'[^\n]*\n/,""))}exports2.parseSourceMapInput=parseSourceMapInput;function computeSourceURL(sourceRoot,sourceURL,sourceMapURL){sourceURL=sourceURL||"";if(sourceRoot){if(sourceRoot[sourceRoot.length-1]!=="/"&&sourceURL[0]!=="/"){sourceRoot+="/"}sourceURL=sourceRoot+sourceURL}if(sourceMapURL){var parsed=urlParse(sourceMapURL);if(!parsed){throw new Error("sourceMapURL could not be parsed")}if(parsed.path){var index=parsed.path.lastIndexOf("/");if(index>=0){parsed.path=parsed.path.substring(0,index+1)}}sourceURL=join4(urlGenerate(parsed),sourceURL)}return normalize(sourceURL)}exports2.computeSourceURL=computeSourceURL}});var require_array_set=__commonJS({"node_modules/source-map-support/node_modules/source-map/lib/array-set.js"(exports2){var util4=require_util();var has3=Object.prototype.hasOwnProperty;var hasNativeMap=typeof Map!=="undefined";function ArraySet(){this._array=[];this._set=hasNativeMap?new Map:Object.create(null)}ArraySet.fromArray=function ArraySet_fromArray(aArray,aAllowDuplicates){var set3=new ArraySet;for(var i=0,len=aArray.length;i<len;i++){set3.add(aArray[i],aAllowDuplicates)}return set3};ArraySet.prototype.size=function ArraySet_size(){return hasNativeMap?this._set.size:Object.getOwnPropertyNames(this._set).length};ArraySet.prototype.add=function ArraySet_add(aStr,aAllowDuplicates){var sStr=hasNativeMap?aStr:util4.toSetString(aStr);var isDuplicate=hasNativeMap?this.has(aStr):has3.call(this._set,sStr);var idx=this._array.length;if(!isDuplicate||aAllowDuplicates){this._array.push(aStr)}if(!isDuplicate){if(hasNativeMap){this._set.set(aStr,idx)}else{this._set[sStr]=idx}}};ArraySet.prototype.has=function ArraySet_has(aStr){if(hasNativeMap){return this._set.has(aStr)}else{var sStr=util4.toSetString(aStr);return has3.call(this._set,sStr)}};ArraySet.prototype.indexOf=function ArraySet_indexOf(aStr){if(hasNativeMap){var idx=this._set.get(aStr);if(idx>=0){return idx}}else{var sStr=util4.toSetString(aStr);if(has3.call(this._set,sStr)){return this._set[sStr]}}throw new Error('"'+aStr+'" is not in the set.')};ArraySet.prototype.at=function ArraySet_at(aIdx){if(aIdx>=0&&aIdx<this._array.length){return this._array[aIdx]}throw new Error("No element indexed by "+aIdx)};ArraySet.prototype.toArray=function ArraySet_toArray(){return this._array.slice()};exports2.ArraySet=ArraySet}});var require_mapping_list=__commonJS({"node_modules/source-map-support/node_modules/source-map/lib/mapping-list.js"(exports2){var util4=require_util();function generatedPositionAfter(mappingA,mappingB){var lineA=mappingA.generatedLine;var lineB=mappingB.generatedLine;var columnA=mappingA.generatedColumn;var columnB=mappingB.generatedColumn;return lineB>lineA||lineB==lineA&&columnB>=columnA||util4.compareByGeneratedPositionsInflated(mappingA,mappingB)<=0}function MappingList(){this._array=[];this._sorted=true;this._last={generatedLine:-1,generatedColumn:0}}MappingList.prototype.unsortedForEach=function MappingList_forEach(aCallback,aThisArg){this._array.forEach(aCallback,aThisArg)};MappingList.prototype.add=function MappingList_add(aMapping){if(generatedPositionAfter(this._last,aMapping)){this._last=aMapping;this._array.push(aMapping)}else{this._sorted=false;this._array.push(aMapping)}};MappingList.prototype.toArray=function MappingList_toArray(){if(!this._sorted){this._array.sort(util4.compareByGeneratedPositionsInflated);this._sorted=true}return this._array};exports2.MappingList=MappingList}});var require_source_map_generator=__commonJS({"node_modules/source-map-support/node_modules/source-map/lib/source-map-generator.js"(exports2){var base64VLQ=require_base64_vlq();var util4=require_util();var ArraySet=require_array_set().ArraySet;var MappingList=require_mapping_list().MappingList;function SourceMapGenerator(aArgs){if(!aArgs){aArgs={}}this._file=util4.getArg(aArgs,"file",null);this._sourceRoot=util4.getArg(aArgs,"sourceRoot",null);this._skipValidation=util4.getArg(aArgs,"skipValidation",false);this._sources=new ArraySet;this._names=new ArraySet;this._mappings=new MappingList;this._sourcesContents=null}SourceMapGenerator.prototype._version=3;SourceMapGenerator.fromSourceMap=function SourceMapGenerator_fromSourceMap(aSourceMapConsumer){var sourceRoot=aSourceMapConsumer.sourceRoot;var generator=new SourceMapGenerator({file:aSourceMapConsumer.file,sourceRoot});aSourceMapConsumer.eachMapping(function(mapping){var newMapping={generated:{line:mapping.generatedLine,column:mapping.generatedColumn}};if(mapping.source!=null){newMapping.source=mapping.source;if(sourceRoot!=null){newMapping.source=util4.relative(sourceRoot,newMapping.source)}newMapping.original={line:mapping.originalLine,column:mapping.originalColumn};if(mapping.name!=null){newMapping.name=mapping.name}}generator.addMapping(newMapping)});aSourceMapConsumer.sources.forEach(function(sourceFile){var sourceRelative=sourceFile;if(sourceRoot!==null){sourceRelative=util4.relative(sourceRoot,sourceFile)}if(!generator._sources.has(sourceRelative)){generator._sources.add(sourceRelative)}var content=aSourceMapConsumer.sourceContentFor(sourceFile);if(content!=null){generator.setSourceContent(sourceFile,content)}});return generator};SourceMapGenerator.prototype.addMapping=function SourceMapGenerator_addMapping(aArgs){var generated=util4.getArg(aArgs,"generated");var original=util4.getArg(aArgs,"original",null);var source=util4.getArg(aArgs,"source",null);var name=util4.getArg(aArgs,"name",null);if(!this._skipValidation){this._validateMapping(generated,original,source,name)}if(source!=null){source=String(source);if(!this._sources.has(source)){this._sources.add(source)}}if(name!=null){name=String(name);if(!this._names.has(name)){this._names.add(name)}}this._mappings.add({generatedLine:generated.line,generatedColumn:generated.column,originalLine:original!=null&&original.line,originalColumn:original!=null&&original.column,source,name})};SourceMapGenerator.prototype.setSourceContent=function SourceMapGenerator_setSourceContent(aSourceFile,aSourceContent){var source=aSourceFile;if(this._sourceRoot!=null){source=util4.relative(this._sourceRoot,source)}if(aSourceContent!=null){if(!this._sourcesContents){this._sourcesContents=Object.create(null)}this._sourcesContents[util4.toSetString(source)]=aSourceContent}else if(this._sourcesContents){delete this._sourcesContents[util4.toSetString(source)];if(Object.keys(this._sourcesContents).length===0){this._sourcesContents=null}}};SourceMapGenerator.prototype.applySourceMap=function SourceMapGenerator_applySourceMap(aSourceMapConsumer,aSourceFile,aSourceMapPath){var sourceFile=aSourceFile;if(aSourceFile==null){if(aSourceMapConsumer.file==null){throw new Error(`SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map's "file" property. Both were omitted.`)}sourceFile=aSourceMapConsumer.file}var sourceRoot=this._sourceRoot;if(sourceRoot!=null){sourceFile=util4.relative(sourceRoot,sourceFile)}var newSources=new ArraySet;var newNames=new ArraySet;this._mappings.unsortedForEach(function(mapping){if(mapping.source===sourceFile&&mapping.originalLine!=null){var original=aSourceMapConsumer.originalPositionFor({line:mapping.originalLine,column:mapping.originalColumn});if(original.source!=null){mapping.source=original.source;if(aSourceMapPath!=null){mapping.source=util4.join(aSourceMapPath,mapping.source)}if(sourceRoot!=null){mapping.source=util4.relative(sourceRoot,mapping.source)}mapping.originalLine=original.line;mapping.originalColumn=original.column;if(original.name!=null){mapping.name=original.name}}}var source=mapping.source;if(source!=null&&!newSources.has(source)){newSources.add(source)}var name=mapping.name;if(name!=null&&!newNames.has(name)){newNames.add(name)}},this);this._sources=newSources;this._names=newNames;aSourceMapConsumer.sources.forEach(function(sourceFile2){var content=aSourceMapConsumer.sourceContentFor(sourceFile2);if(content!=null){if(aSourceMapPath!=null){sourceFile2=util4.join(aSourceMapPath,sourceFile2)}if(sourceRoot!=null){sourceFile2=util4.relative(sourceRoot,sourceFile2)}this.setSourceContent(sourceFile2,content)}},this)};SourceMapGenerator.prototype._validateMapping=function SourceMapGenerator_validateMapping(aGenerated,aOriginal,aSource,aName){if(aOriginal&&typeof aOriginal.line!=="number"&&typeof aOriginal.column!=="number"){throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.")}if(aGenerated&&"line"in aGenerated&&"column"in aGenerated&&aGenerated.line>0&&aGenerated.column>=0&&!aOriginal&&!aSource&&!aName){return}else if(aGenerated&&"line"in aGenerated&&"column"in aGenerated&&aOriginal&&"line"in aOriginal&&"column"in aOriginal&&aGenerated.line>0&&aGenerated.column>=0&&aOriginal.line>0&&aOriginal.column>=0&&aSource){return}else{throw new Error("Invalid mapping: "+JSON.stringify({generated:aGenerated,source:aSource,original:aOriginal,name:aName}))}};SourceMapGenerator.prototype._serializeMappings=function SourceMapGenerator_serializeMappings(){var previousGeneratedColumn=0;var previousGeneratedLine=1;var previousOriginalColumn=0;var previousOriginalLine=0;var previousName=0;var previousSource=0;var result2="";var next;var mapping;var nameIdx;var sourceIdx;var mappings=this._mappings.toArray();for(var i=0,len=mappings.length;i<len;i++){mapping=mappings[i];next="";if(mapping.generatedLine!==previousGeneratedLine){previousGeneratedColumn=0;while(mapping.generatedLine!==previousGeneratedLine){next+=";";previousGeneratedLine++}}else{if(i>0){if(!util4.compareByGeneratedPositionsInflated(mapping,mappings[i-1])){continue}next+=","}}next+=base64VLQ.encode(mapping.generatedColumn-previousGeneratedColumn);previousGeneratedColumn=mapping.generatedColumn;if(mapping.source!=null){sourceIdx=this._sources.indexOf(mapping.source);next+=base64VLQ.encode(sourceIdx-previousSource);previousSource=sourceIdx;next+=base64VLQ.encode(mapping.originalLine-1-previousOriginalLine);previousOriginalLine=mapping.originalLine-1;next+=base64VLQ.encode(mapping.originalColumn-previousOriginalColumn);previousOriginalColumn=mapping.originalColumn;if(mapping.name!=null){nameIdx=this._names.indexOf(mapping.name);next+=base64VLQ.encode(nameIdx-previousName);previousName=nameIdx}}result2+=next}return result2};SourceMapGenerator.prototype._generateSourcesContent=function SourceMapGenerator_generateSourcesContent(aSources,aSourceRoot){return aSources.map(function(source){if(!this._sourcesContents){return null}if(aSourceRoot!=null){source=util4.relative(aSourceRoot,source)}var key=util4.toSetString(source);return Object.prototype.hasOwnProperty.call(this._sourcesContents,key)?this._sourcesContents[key]:null},this)};SourceMapGenerator.prototype.toJSON=function SourceMapGenerator_toJSON(){var map3={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};if(this._file!=null){map3.file=this._file}if(this._sourceRoot!=null){map3.sourceRoot=this._sourceRoot}if(this._sourcesContents){map3.sourcesContent=this._generateSourcesContent(map3.sources,map3.sourceRoot)}return map3};SourceMapGenerator.prototype.toString=function SourceMapGenerator_toString(){return JSON.stringify(this.toJSON())};exports2.SourceMapGenerator=SourceMapGenerator}});var require_binary_search=__commonJS({"node_modules/source-map-support/node_modules/source-map/lib/binary-search.js"(exports2){exports2.GREATEST_LOWER_BOUND=1;exports2.LEAST_UPPER_BOUND=2;function recursiveSearch(aLow,aHigh,aNeedle,aHaystack,aCompare,aBias){var mid=Math.floor((aHigh-aLow)/2)+aLow;var cmp=aCompare(aNeedle,aHaystack[mid],true);if(cmp===0){return mid}else if(cmp>0){if(aHigh-mid>1){return recursiveSearch(mid,aHigh,aNeedle,aHaystack,aCompare,aBias)}if(aBias==exports2.LEAST_UPPER_BOUND){return aHigh<aHaystack.length?aHigh:-1}else{return mid}}else{if(mid-aLow>1){return recursiveSearch(aLow,mid,aNeedle,aHaystack,aCompare,aBias)}if(aBias==exports2.LEAST_UPPER_BOUND){return mid}else{return aLow<0?-1:aLow}}}exports2.search=function search2(aNeedle,aHaystack,aCompare,aBias){if(aHaystack.length===0){return-1}var index=recursiveSearch(-1,aHaystack.length,aNeedle,aHaystack,aCompare,aBias||exports2.GREATEST_LOWER_BOUND);if(index<0){return-1}while(index-1>=0){if(aCompare(aHaystack[index],aHaystack[index-1],true)!==0){break}--index}return index}}});var require_quick_sort=__commonJS({"node_modules/source-map-support/node_modules/source-map/lib/quick-sort.js"(exports2){function swap2(ary2,x,y){var temp=ary2[x];ary2[x]=ary2[y];ary2[y]=temp}function randomIntInRange(low,high){return Math.round(low+Math.random()*(high-low))}function doQuickSort(ary2,comparator,p,r){if(p<r){var pivotIndex=randomIntInRange(p,r);var i=p-1;swap2(ary2,pivotIndex,r);var pivot=ary2[r];for(var j=p;j<r;j++){if(comparator(ary2[j],pivot)<=0){i+=1;swap2(ary2,i,j)}}swap2(ary2,i+1,j);var q=i+1;doQuickSort(ary2,comparator,p,q-1);doQuickSort(ary2,comparator,q+1,r)}}exports2.quickSort=function(ary2,comparator){doQuickSort(ary2,comparator,0,ary2.length-1)}}});var require_source_map_consumer=__commonJS({"node_modules/source-map-support/node_modules/source-map/lib/source-map-consumer.js"(exports2){var util4=require_util();var binarySearch=require_binary_search();var ArraySet=require_array_set().ArraySet;var base64VLQ=require_base64_vlq();var quickSort=require_quick_sort().quickSort;function SourceMapConsumer(aSourceMap,aSourceMapURL){var sourceMap=aSourceMap;if(typeof aSourceMap==="string"){sourceMap=util4.parseSourceMapInput(aSourceMap)}return sourceMap.sections!=null?new IndexedSourceMapConsumer(sourceMap,aSourceMapURL):new BasicSourceMapConsumer(sourceMap,aSourceMapURL)}SourceMapConsumer.fromSourceMap=function(aSourceMap,aSourceMapURL){return BasicSourceMapConsumer.fromSourceMap(aSourceMap,aSourceMapURL)};SourceMapConsumer.prototype._version=3;SourceMapConsumer.prototype.__generatedMappings=null;Object.defineProperty(SourceMapConsumer.prototype,"_generatedMappings",{configurable:true,enumerable:true,get:function(){if(!this.__generatedMappings){this._parseMappings(this._mappings,this.sourceRoot)}return this.__generatedMappings}});SourceMapConsumer.prototype.__originalMappings=null;Object.defineProperty(SourceMapConsumer.prototype,"_originalMappings",{configurable:true,enumerable:true,get:function(){if(!this.__originalMappings){this._parseMappings(this._mappings,this.sourceRoot)}return this.__originalMappings}});SourceMapConsumer.prototype._charIsMappingSeparator=function SourceMapConsumer_charIsMappingSeparator(aStr,index){var c=aStr.charAt(index);return c===";"||c===","};SourceMapConsumer.prototype._parseMappings=function SourceMapConsumer_parseMappings(aStr,aSourceRoot){throw new Error("Subclasses must implement _parseMappings")};SourceMapConsumer.GENERATED_ORDER=1;SourceMapConsumer.ORIGINAL_ORDER=2;SourceMapConsumer.GREATEST_LOWER_BOUND=1;SourceMapConsumer.LEAST_UPPER_BOUND=2;SourceMapConsumer.prototype.eachMapping=function SourceMapConsumer_eachMapping(aCallback,aContext,aOrder){var context=aContext||null;var order=aOrder||SourceMapConsumer.GENERATED_ORDER;var mappings;switch(order){case SourceMapConsumer.GENERATED_ORDER:mappings=this._generatedMappings;break;case SourceMapConsumer.ORIGINAL_ORDER:mappings=this._originalMappings;break;default:throw new Error("Unknown order of iteration.")}var sourceRoot=this.sourceRoot;mappings.map(function(mapping){var source=mapping.source===null?null:this._sources.at(mapping.source);source=util4.computeSourceURL(sourceRoot,source,this._sourceMapURL);return{source,generatedLine:mapping.generatedLine,generatedColumn:mapping.generatedColumn,originalLine:mapping.originalLine,originalColumn:mapping.originalColumn,name:mapping.name===null?null:this._names.at(mapping.name)}},this).forEach(aCallback,context)};SourceMapConsumer.prototype.allGeneratedPositionsFor=function SourceMapConsumer_allGeneratedPositionsFor(aArgs){var line=util4.getArg(aArgs,"line");var needle={source:util4.getArg(aArgs,"source"),originalLine:line,originalColumn:util4.getArg(aArgs,"column",0)};needle.source=this._findSourceIndex(needle.source);if(needle.source<0){return[]}var mappings=[];var index=this._findMapping(needle,this._originalMappings,"originalLine","originalColumn",util4.compareByOriginalPositions,binarySearch.LEAST_UPPER_BOUND);if(index>=0){var mapping=this._originalMappings[index];if(aArgs.column===void 0){var originalLine=mapping.originalLine;while(mapping&&mapping.originalLine===originalLine){mappings.push({line:util4.getArg(mapping,"generatedLine",null),column:util4.getArg(mapping,"generatedColumn",null),lastColumn:util4.getArg(mapping,"lastGeneratedColumn",null)});mapping=this._originalMappings[++index]}}else{var originalColumn=mapping.originalColumn;while(mapping&&mapping.originalLine===line&&mapping.originalColumn==originalColumn){mappings.push({line:util4.getArg(mapping,"generatedLine",null),column:util4.getArg(mapping,"generatedColumn",null),lastColumn:util4.getArg(mapping,"lastGeneratedColumn",null)});mapping=this._originalMappings[++index]}}}return mappings};exports2.SourceMapConsumer=SourceMapConsumer;function BasicSourceMapConsumer(aSourceMap,aSourceMapURL){var sourceMap=aSourceMap;if(typeof aSourceMap==="string"){sourceMap=util4.parseSourceMapInput(aSourceMap)}var version=util4.getArg(sourceMap,"version");var sources=util4.getArg(sourceMap,"sources");var names2=util4.getArg(sourceMap,"names",[]);var sourceRoot=util4.getArg(sourceMap,"sourceRoot",null);var sourcesContent=util4.getArg(sourceMap,"sourcesContent",null);var mappings=util4.getArg(sourceMap,"mappings");var file=util4.getArg(sourceMap,"file",null);if(version!=this._version){throw new Error("Unsupported version: "+version)}if(sourceRoot){sourceRoot=util4.normalize(sourceRoot)}sources=sources.map(String).map(util4.normalize).map(function(source){return sourceRoot&&util4.isAbsolute(sourceRoot)&&util4.isAbsolute(source)?util4.relative(sourceRoot,source):source});this._names=ArraySet.fromArray(names2.map(String),true);this._sources=ArraySet.fromArray(sources,true);this._absoluteSources=this._sources.toArray().map(function(s){return util4.computeSourceURL(sourceRoot,s,aSourceMapURL)});this.sourceRoot=sourceRoot;this.sourcesContent=sourcesContent;this._mappings=mappings;this._sourceMapURL=aSourceMapURL;this.file=file}BasicSourceMapConsumer.prototype=Object.create(SourceMapConsumer.prototype);BasicSourceMapConsumer.prototype.consumer=SourceMapConsumer;BasicSourceMapConsumer.prototype._findSourceIndex=function(aSource){var relativeSource=aSource;if(this.sourceRoot!=null){relativeSource=util4.relative(this.sourceRoot,relativeSource)}if(this._sources.has(relativeSource)){return this._sources.indexOf(relativeSource)}var i;for(i=0;i<this._absoluteSources.length;++i){if(this._absoluteSources[i]==aSource){return i}}return-1};BasicSourceMapConsumer.fromSourceMap=function SourceMapConsumer_fromSourceMap(aSourceMap,aSourceMapURL){var smc=Object.create(BasicSourceMapConsumer.prototype);var names2=smc._names=ArraySet.fromArray(aSourceMap._names.toArray(),true);var sources=smc._sources=ArraySet.fromArray(aSourceMap._sources.toArray(),true);smc.sourceRoot=aSourceMap._sourceRoot;smc.sourcesContent=aSourceMap._generateSourcesContent(smc._sources.toArray(),smc.sourceRoot);smc.file=aSourceMap._file;smc._sourceMapURL=aSourceMapURL;smc._absoluteSources=smc._sources.toArray().map(function(s){return util4.computeSourceURL(smc.sourceRoot,s,aSourceMapURL)});var generatedMappings=aSourceMap._mappings.toArray().slice();var destGeneratedMappings=smc.__generatedMappings=[];var destOriginalMappings=smc.__originalMappings=[];for(var i=0,length=generatedMappings.length;i<length;i++){var srcMapping=generatedMappings[i];var destMapping=new Mapping;destMapping.generatedLine=srcMapping.generatedLine;destMapping.generatedColumn=srcMapping.generatedColumn;if(srcMapping.source){destMapping.source=sources.indexOf(srcMapping.source);destMapping.originalLine=srcMapping.originalLine;destMapping.originalColumn=srcMapping.originalColumn;if(srcMapping.name){destMapping.name=names2.indexOf(srcMapping.name)}destOriginalMappings.push(destMapping)}destGeneratedMappings.push(destMapping)}quickSort(smc.__originalMappings,util4.compareByOriginalPositions);return smc};BasicSourceMapConsumer.prototype._version=3;Object.defineProperty(BasicSourceMapConsumer.prototype,"sources",{get:function(){return this._absoluteSources.slice()}});function Mapping(){this.generatedLine=0;this.generatedColumn=0;this.source=null;this.originalLine=null;this.originalColumn=null;this.name=null}BasicSourceMapConsumer.prototype._parseMappings=function SourceMapConsumer_parseMappings(aStr,aSourceRoot){var generatedLine=1;var previousGeneratedColumn=0;var previousOriginalLine=0;var previousOriginalColumn=0;var previousSource=0;var previousName=0;var length=aStr.length;var index=0;var cachedSegments={};var temp={};var originalMappings=[];var generatedMappings=[];var mapping,str2,segment,end,value;while(index<length){if(aStr.charAt(index)===";"){generatedLine++;index++;previousGeneratedColumn=0}else if(aStr.charAt(index)===","){index++}else{mapping=new Mapping;mapping.generatedLine=generatedLine;for(end=index;end<length;end++){if(this._charIsMappingSeparator(aStr,end)){break}}str2=aStr.slice(index,end);segment=cachedSegments[str2];if(segment){index+=str2.length}else{segment=[];while(index<end){base64VLQ.decode(aStr,index,temp);value=temp.value;index=temp.rest;segment.push(value)}if(segment.length===2){throw new Error("Found a source, but no line and column")}if(segment.length===3){throw new Error("Found a source and line, but no column")}cachedSegments[str2]=segment}mapping.generatedColumn=previousGeneratedColumn+segment[0];previousGeneratedColumn=mapping.generatedColumn;if(segment.length>1){mapping.source=previousSource+segment[1];previousSource+=segment[1];mapping.originalLine=previousOriginalLine+segment[2];previousOriginalLine=mapping.originalLine;mapping.originalLine+=1;mapping.originalColumn=previousOriginalColumn+segment[3];previousOriginalColumn=mapping.originalColumn;if(segment.length>4){mapping.name=previousName+segment[4];previousName+=segment[4]}}generatedMappings.push(mapping);if(typeof mapping.originalLine==="number"){originalMappings.push(mapping)}}}quickSort(generatedMappings,util4.compareByGeneratedPositionsDeflated);this.__generatedMappings=generatedMappings;quickSort(originalMappings,util4.compareByOriginalPositions);this.__originalMappings=originalMappings};BasicSourceMapConsumer.prototype._findMapping=function SourceMapConsumer_findMapping(aNeedle,aMappings,aLineName,aColumnName,aComparator,aBias){if(aNeedle[aLineName]<=0){throw new TypeError("Line must be greater than or equal to 1, got "+aNeedle[aLineName])}if(aNeedle[aColumnName]<0){throw new TypeError("Column must be greater than or equal to 0, got "+aNeedle[aColumnName])}return binarySearch.search(aNeedle,aMappings,aComparator,aBias)};BasicSourceMapConsumer.prototype.computeColumnSpans=function SourceMapConsumer_computeColumnSpans(){for(var index=0;index<this._generatedMappings.length;++index){var mapping=this._generatedMappings[index];if(index+1<this._generatedMappings.length){var nextMapping=this._generatedMappings[index+1];if(mapping.generatedLine===nextMapping.generatedLine){mapping.lastGeneratedColumn=nextMapping.generatedColumn-1;continue}}mapping.lastGeneratedColumn=Infinity}};BasicSourceMapConsumer.prototype.originalPositionFor=function SourceMapConsumer_originalPositionFor(aArgs){var needle={generatedLine:util4.getArg(aArgs,"line"),generatedColumn:util4.getArg(aArgs,"column")};var index=this._findMapping(needle,this._generatedMappings,"generatedLine","generatedColumn",util4.compareByGeneratedPositionsDeflated,util4.getArg(aArgs,"bias",SourceMapConsumer.GREATEST_LOWER_BOUND));if(index>=0){var mapping=this._generatedMappings[index];if(mapping.generatedLine===needle.generatedLine){var source=util4.getArg(mapping,"source",null);if(source!==null){source=this._sources.at(source);source=util4.computeSourceURL(this.sourceRoot,source,this._sourceMapURL)}var name=util4.getArg(mapping,"name",null);if(name!==null){name=this._names.at(name)}return{source,line:util4.getArg(mapping,"originalLine",null),column:util4.getArg(mapping,"originalColumn",null),name}}}return{source:null,line:null,column:null,name:null}};BasicSourceMapConsumer.prototype.hasContentsOfAllSources=function BasicSourceMapConsumer_hasContentsOfAllSources(){if(!this.sourcesContent){return false}return this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(sc){return sc==null})};BasicSourceMapConsumer.prototype.sourceContentFor=function SourceMapConsumer_sourceContentFor(aSource,nullOnMissing){if(!this.sourcesContent){return null}var index=this._findSourceIndex(aSource);if(index>=0){return this.sourcesContent[index]}var relativeSource=aSource;if(this.sourceRoot!=null){relativeSource=util4.relative(this.sourceRoot,relativeSource)}var url;if(this.sourceRoot!=null&&(url=util4.urlParse(this.sourceRoot))){var fileUriAbsPath=relativeSource.replace(/^file:\/\//,"");if(url.scheme=="file"&&this._sources.has(fileUriAbsPath)){return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)]}if((!url.path||url.path=="/")&&this._sources.has("/"+relativeSource)){return this.sourcesContent[this._sources.indexOf("/"+relativeSource)]}}if(nullOnMissing){return null}else{throw new Error('"'+relativeSource+'" is not in the SourceMap.')}};BasicSourceMapConsumer.prototype.generatedPositionFor=function SourceMapConsumer_generatedPositionFor(aArgs){var source=util4.getArg(aArgs,"source");source=this._findSourceIndex(source);if(source<0){return{line:null,column:null,lastColumn:null}}var needle={source,originalLine:util4.getArg(aArgs,"line"),originalColumn:util4.getArg(aArgs,"column")};var index=this._findMapping(needle,this._originalMappings,"originalLine","originalColumn",util4.compareByOriginalPositions,util4.getArg(aArgs,"bias",SourceMapConsumer.GREATEST_LOWER_BOUND));if(index>=0){var mapping=this._originalMappings[index];if(mapping.source===needle.source){return{line:util4.getArg(mapping,"generatedLine",null),column:util4.getArg(mapping,"generatedColumn",null),lastColumn:util4.getArg(mapping,"lastGeneratedColumn",null)}}}return{line:null,column:null,lastColumn:null}};exports2.BasicSourceMapConsumer=BasicSourceMapConsumer;function IndexedSourceMapConsumer(aSourceMap,aSourceMapURL){var sourceMap=aSourceMap;if(typeof aSourceMap==="string"){sourceMap=util4.parseSourceMapInput(aSourceMap)}var version=util4.getArg(sourceMap,"version");var sections=util4.getArg(sourceMap,"sections");if(version!=this._version){throw new Error("Unsupported version: "+version)}this._sources=new ArraySet;this._names=new ArraySet;var lastOffset={line:-1,column:0};this._sections=sections.map(function(s){if(s.url){throw new Error("Support for url field in sections not implemented.")}var offset=util4.getArg(s,"offset");var offsetLine=util4.getArg(offset,"line");var offsetColumn=util4.getArg(offset,"column");if(offsetLine<lastOffset.line||offsetLine===lastOffset.line&&offsetColumn<lastOffset.column){throw new Error("Section offsets must be ordered and non-overlapping.")}lastOffset=offset;return{generatedOffset:{generatedLine:offsetLine+1,generatedColumn:offsetColumn+1},consumer:new SourceMapConsumer(util4.getArg(s,"map"),aSourceMapURL)}})}IndexedSourceMapConsumer.prototype=Object.create(SourceMapConsumer.prototype);IndexedSourceMapConsumer.prototype.constructor=SourceMapConsumer;IndexedSourceMapConsumer.prototype._version=3;Object.defineProperty(IndexedSourceMapConsumer.prototype,"sources",{get:function(){var sources=[];for(var i=0;i<this._sections.length;i++){for(var j=0;j<this._sections[i].consumer.sources.length;j++){sources.push(this._sections[i].consumer.sources[j])}}return sources}});IndexedSourceMapConsumer.prototype.originalPositionFor=function IndexedSourceMapConsumer_originalPositionFor(aArgs){var needle={generatedLine:util4.getArg(aArgs,"line"),generatedColumn:util4.getArg(aArgs,"column")};var sectionIndex=binarySearch.search(needle,this._sections,function(needle2,section2){var cmp=needle2.generatedLine-section2.generatedOffset.generatedLine;if(cmp){return cmp}return needle2.generatedColumn-section2.generatedOffset.generatedColumn});var section=this._sections[sectionIndex];if(!section){return{source:null,line:null,column:null,name:null}}return section.consumer.originalPositionFor({line:needle.generatedLine-(section.generatedOffset.generatedLine-1),column:needle.generatedColumn-(section.generatedOffset.generatedLine===needle.generatedLine?section.generatedOffset.generatedColumn-1:0),bias:aArgs.bias})};IndexedSourceMapConsumer.prototype.hasContentsOfAllSources=function IndexedSourceMapConsumer_hasContentsOfAllSources(){return this._sections.every(function(s){return s.consumer.hasContentsOfAllSources()})};IndexedSourceMapConsumer.prototype.sourceContentFor=function IndexedSourceMapConsumer_sourceContentFor(aSource,nullOnMissing){for(var i=0;i<this._sections.length;i++){var section=this._sections[i];var content=section.consumer.sourceContentFor(aSource,true);if(content){return content}}if(nullOnMissing){return null}else{throw new Error('"'+aSource+'" is not in the SourceMap.')}};IndexedSourceMapConsumer.prototype.generatedPositionFor=function IndexedSourceMapConsumer_generatedPositionFor(aArgs){for(var i=0;i<this._sections.length;i++){var section=this._sections[i];if(section.consumer._findSourceIndex(util4.getArg(aArgs,"source"))===-1){continue}var generatedPosition=section.consumer.generatedPositionFor(aArgs);if(generatedPosition){var ret={line:generatedPosition.line+(section.generatedOffset.generatedLine-1),column:generatedPosition.column+(section.generatedOffset.generatedLine===generatedPosition.line?section.generatedOffset.generatedColumn-1:0)};return ret}}return{line:null,column:null}};IndexedSourceMapConsumer.prototype._parseMappings=function IndexedSourceMapConsumer_parseMappings(aStr,aSourceRoot){this.__generatedMappings=[];this.__originalMappings=[];for(var i=0;i<this._sections.length;i++){var section=this._sections[i];var sectionMappings=section.consumer._generatedMappings;for(var j=0;j<sectionMappings.length;j++){var mapping=sectionMappings[j];var source=section.consumer._sources.at(mapping.source);source=util4.computeSourceURL(section.consumer.sourceRoot,source,this._sourceMapURL);this._sources.add(source);source=this._sources.indexOf(source);var name=null;if(mapping.name){name=section.consumer._names.at(mapping.name);this._names.add(name);name=this._names.indexOf(name)}var adjustedMapping={source,generatedLine:mapping.generatedLine+(section.generatedOffset.generatedLine-1),generatedColumn:mapping.generatedColumn+(section.generatedOffset.generatedLine===mapping.generatedLine?section.generatedOffset.generatedColumn-1:0),originalLine:mapping.originalLine,originalColumn:mapping.originalColumn,name};this.__generatedMappings.push(adjustedMapping);if(typeof adjustedMapping.originalLine==="number"){this.__originalMappings.push(adjustedMapping)}}}quickSort(this.__generatedMappings,util4.compareByGeneratedPositionsDeflated);quickSort(this.__originalMappings,util4.compareByOriginalPositions)};exports2.IndexedSourceMapConsumer=IndexedSourceMapConsumer}});var require_source_node=__commonJS({"node_modules/source-map-support/node_modules/source-map/lib/source-node.js"(exports2){var SourceMapGenerator=require_source_map_generator().SourceMapGenerator;var util4=require_util();var REGEX_NEWLINE=/(\r?\n)/;var NEWLINE_CODE=10;var isSourceNode="$$$isSourceNode$$$";function SourceNode(aLine,aColumn,aSource,aChunks,aName){this.children=[];this.sourceContents={};this.line=aLine==null?null:aLine;this.column=aColumn==null?null:aColumn;this.source=aSource==null?null:aSource;this.name=aName==null?null:aName;this[isSourceNode]=true;if(aChunks!=null)this.add(aChunks)}SourceNode.fromStringWithSourceMap=function SourceNode_fromStringWithSourceMap(aGeneratedCode,aSourceMapConsumer,aRelativePath){var node=new SourceNode;var remainingLines=aGeneratedCode.split(REGEX_NEWLINE);var remainingLinesIndex=0;var shiftNextLine=function(){var lineContents=getNextLine();var newLine=getNextLine()||"";return lineContents+newLine;function getNextLine(){return remainingLinesIndex<remainingLines.length?remainingLines[remainingLinesIndex++]:void 0}};var lastGeneratedLine=1,lastGeneratedColumn=0;var lastMapping=null;aSourceMapConsumer.eachMapping(function(mapping){if(lastMapping!==null){if(lastGeneratedLine<mapping.generatedLine){addMappingWithCode(lastMapping,shiftNextLine());lastGeneratedLine++;lastGeneratedColumn=0}else{var nextLine=remainingLines[remainingLinesIndex]||"";var code=nextLine.substr(0,mapping.generatedColumn-lastGeneratedColumn);remainingLines[remainingLinesIndex]=nextLine.substr(mapping.generatedColumn-lastGeneratedColumn);lastGeneratedColumn=mapping.generatedColumn;addMappingWithCode(lastMapping,code);lastMapping=mapping;return}}while(lastGeneratedLine<mapping.generatedLine){node.add(shiftNextLine());lastGeneratedLine++}if(lastGeneratedColumn<mapping.generatedColumn){var nextLine=remainingLines[remainingLinesIndex]||"";node.add(nextLine.substr(0,mapping.generatedColumn));remainingLines[remainingLinesIndex]=nextLine.substr(mapping.generatedColumn);lastGeneratedColumn=mapping.generatedColumn}lastMapping=mapping},this);if(remainingLinesIndex<remainingLines.length){if(lastMapping){addMappingWithCode(lastMapping,shiftNextLine())}node.add(remainingLines.splice(remainingLinesIndex).join(""))}aSourceMapConsumer.sources.forEach(function(sourceFile){var content=aSourceMapConsumer.sourceContentFor(sourceFile);if(content!=null){if(aRelativePath!=null){sourceFile=util4.join(aRelativePath,sourceFile)}node.setSourceContent(sourceFile,content)}});return node;function addMappingWithCode(mapping,code){if(mapping===null||mapping.source===void 0){node.add(code)}else{var source=aRelativePath?util4.join(aRelativePath,mapping.source):mapping.source;node.add(new SourceNode(mapping.originalLine,mapping.originalColumn,source,code,mapping.name))}}};SourceNode.prototype.add=function SourceNode_add(aChunk){if(Array.isArray(aChunk)){aChunk.forEach(function(chunk2){this.add(chunk2)},this)}else if(aChunk[isSourceNode]||typeof aChunk==="string"){if(aChunk){this.children.push(aChunk)}}else{throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+aChunk)}return this};SourceNode.prototype.prepend=function SourceNode_prepend(aChunk){if(Array.isArray(aChunk)){for(var i=aChunk.length-1;i>=0;i--){this.prepend(aChunk[i])}}else if(aChunk[isSourceNode]||typeof aChunk==="string"){this.children.unshift(aChunk)}else{throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+aChunk)}return this};SourceNode.prototype.walk=function SourceNode_walk(aFn){var chunk2;for(var i=0,len=this.children.length;i<len;i++){chunk2=this.children[i];if(chunk2[isSourceNode]){chunk2.walk(aFn)}else{if(chunk2!==""){aFn(chunk2,{source:this.source,line:this.line,column:this.column,name:this.name})}}}};SourceNode.prototype.join=function SourceNode_join(aSep){var newChildren;var i;var len=this.children.length;if(len>0){newChildren=[];for(i=0;i<len-1;i++){newChildren.push(this.children[i]);newChildren.push(aSep)}newChildren.push(this.children[i]);this.children=newChildren}return this};SourceNode.prototype.replaceRight=function SourceNode_replaceRight(aPattern,aReplacement){var lastChild=this.children[this.children.length-1];if(lastChild[isSourceNode]){lastChild.replaceRight(aPattern,aReplacement)}else if(typeof lastChild==="string"){this.children[this.children.length-1]=lastChild.replace(aPattern,aReplacement)}else{this.children.push("".replace(aPattern,aReplacement))}return this};SourceNode.prototype.setSourceContent=function SourceNode_setSourceContent(aSourceFile,aSourceContent){this.sourceContents[util4.toSetString(aSourceFile)]=aSourceContent};SourceNode.prototype.walkSourceContents=function SourceNode_walkSourceContents(aFn){for(var i=0,len=this.children.length;i<len;i++){if(this.children[i][isSourceNode]){this.children[i].walkSourceContents(aFn)}}var sources=Object.keys(this.sourceContents);for(var i=0,len=sources.length;i<len;i++){aFn(util4.fromSetString(sources[i]),this.sourceContents[sources[i]])}};SourceNode.prototype.toString=function SourceNode_toString(){var str2="";this.walk(function(chunk2){str2+=chunk2});return str2};SourceNode.prototype.toStringWithSourceMap=function SourceNode_toStringWithSourceMap(aArgs){var generated={code:"",line:1,column:0};var map3=new SourceMapGenerator(aArgs);var sourceMappingActive=false;var lastOriginalSource=null;var lastOriginalLine=null;var lastOriginalColumn=null;var lastOriginalName=null;this.walk(function(chunk2,original){generated.code+=chunk2;if(original.source!==null&&original.line!==null&&original.column!==null){if(lastOriginalSource!==original.source||lastOriginalLine!==original.line||lastOriginalColumn!==original.column||lastOriginalName!==original.name){map3.addMapping({source:original.source,original:{line:original.line,column:original.column},generated:{line:generated.line,column:generated.column},name:original.name})}lastOriginalSource=original.source;lastOriginalLine=original.line;lastOriginalColumn=original.column;lastOriginalName=original.name;sourceMappingActive=true}else if(sourceMappingActive){map3.addMapping({generated:{line:generated.line,column:generated.column}});lastOriginalSource=null;sourceMappingActive=false}for(var idx=0,length=chunk2.length;idx<length;idx++){if(chunk2.charCodeAt(idx)===NEWLINE_CODE){generated.line++;generated.column=0;if(idx+1===length){lastOriginalSource=null;sourceMappingActive=false}else if(sourceMappingActive){map3.addMapping({source:original.source,original:{line:original.line,column:original.column},generated:{line:generated.line,column:generated.column},name:original.name})}}else{generated.column++}}});this.walkSourceContents(function(sourceFile,sourceContent){map3.setSourceContent(sourceFile,sourceContent)});return{code:generated.code,map:map3}};exports2.SourceNode=SourceNode}});var require_source_map=__commonJS({"node_modules/source-map-support/node_modules/source-map/source-map.js"(exports2){exports2.SourceMapGenerator=require_source_map_generator().SourceMapGenerator;exports2.SourceMapConsumer=require_source_map_consumer().SourceMapConsumer;exports2.SourceNode=require_source_node().SourceNode}});var require_buffer_from=__commonJS({"node_modules/buffer-from/index.js"(exports2,module2){var toString5=Object.prototype.toString;var isModern=typeof Buffer!=="undefined"&&typeof Buffer.alloc==="function"&&typeof Buffer.allocUnsafe==="function"&&typeof Buffer.from==="function";function isArrayBuffer2(input){return toString5.call(input).slice(8,-1)==="ArrayBuffer"}function fromArrayBuffer(obj,byteOffset,length){byteOffset>>>=0;var maxLength=obj.byteLength-byteOffset;if(maxLength<0){throw new RangeError("'offset' is out of bounds")}if(length===void 0){length=maxLength}else{length>>>=0;if(length>maxLength){throw new RangeError("'length' is out of bounds")}}return isModern?Buffer.from(obj.slice(byteOffset,byteOffset+length)):new Buffer(new Uint8Array(obj.slice(byteOffset,byteOffset+length)))}function fromString(string,encoding){if(typeof encoding!=="string"||encoding===""){encoding="utf8"}if(!Buffer.isEncoding(encoding)){throw new TypeError('"encoding" must be a valid string encoding')}return isModern?Buffer.from(string,encoding):new Buffer(string,encoding)}function bufferFrom(value,encodingOrOffset,length){if(typeof value==="number"){throw new TypeError('"value" argument must not be a number')}if(isArrayBuffer2(value)){return fromArrayBuffer(value,encodingOrOffset,length)}if(typeof value==="string"){return fromString(value,encodingOrOffset)}return isModern?Buffer.from(value):new Buffer(value)}module2.exports=bufferFrom}});var require_source_map_support=__commonJS({"node_modules/source-map-support/source-map-support.js"(exports2,module2){var SourceMapConsumer=require_source_map().SourceMapConsumer;var path27=require("path");var fs14;try{fs14=require("fs");if(!fs14.existsSync||!fs14.readFileSync){fs14=null}}catch(err){}var bufferFrom=require_buffer_from();function dynamicRequire(mod3,request){return mod3.require(request)}var errorFormatterInstalled=false;var uncaughtShimInstalled=false;var emptyCacheBetweenOperations=false;var environment="auto";var fileContentsCache={};var sourceMapCache={};var reSourceMap=/^data:application\/json[^,]+base64,/;var retrieveFileHandlers=[];var retrieveMapHandlers=[];function isInBrowser(){if(environment==="browser")return true;if(environment==="node")return false;return typeof window!=="undefined"&&typeof XMLHttpRequest==="function"&&!(window.require&&window.module&&window.process&&window.process.type==="renderer")}function hasGlobalProcessEventEmitter(){return typeof process==="object"&&process!==null&&typeof process.on==="function"}function globalProcessVersion(){if(typeof process==="object"&&process!==null){return process.version}else{return""}}function globalProcessStderr(){if(typeof process==="object"&&process!==null){return process.stderr}}function globalProcessExit(code){if(typeof process==="object"&&process!==null&&typeof process.exit==="function"){return process.exit(code)}}function handlerExec(list){return function(arg){for(var i=0;i<list.length;i++){var ret=list[i](arg);if(ret){return ret}}return null}}var retrieveFile=handlerExec(retrieveFileHandlers);retrieveFileHandlers.push(function(path28){path28=path28.trim();if(/^file:/.test(path28)){path28=path28.replace(/file:\/\/\/(\w:)?/,function(protocol,drive){return drive?"":"/"})}if(path28 in fileContentsCache){return fileContentsCache[path28]}var contents="";try{if(!fs14){var xhr=new XMLHttpRequest;xhr.open("GET",path28,false);xhr.send(null);if(xhr.readyState===4&&xhr.status===200){contents=xhr.responseText}}else if(fs14.existsSync(path28)){contents=fs14.readFileSync(path28,"utf8")}}catch(er){}return fileContentsCache[path28]=contents});function supportRelativeURL(file,url){if(!file)return url;var dir=path27.dirname(file);var match=/^\w+:\/\/[^\/]*/.exec(dir);var protocol=match?match[0]:"";var startPath=dir.slice(protocol.length);if(protocol&&/^\/\w\:/.test(startPath)){protocol+="/";return protocol+path27.resolve(dir.slice(protocol.length),url).replace(/\\/g,"/")}return protocol+path27.resolve(dir.slice(protocol.length),url)}function retrieveSourceMapURL(source){var fileData;if(isInBrowser()){try{var xhr=new XMLHttpRequest;xhr.open("GET",source,false);xhr.send(null);fileData=xhr.readyState===4?xhr.responseText:null;var sourceMapHeader=xhr.getResponseHeader("SourceMap")||xhr.getResponseHeader("X-SourceMap");if(sourceMapHeader){return sourceMapHeader}}catch(e){}}fileData=retrieveFile(source);var re=/(?:\/\/[@#][\s]*sourceMappingURL=([^\s'"]+)[\s]*$)|(?:\/\*[@#][\s]*sourceMappingURL=([^\s*'"]+)[\s]*(?:\*\/)[\s]*$)/mg;var lastMatch,match;while(match=re.exec(fileData))lastMatch=match;if(!lastMatch)return null;return lastMatch[1]}var retrieveSourceMap=handlerExec(retrieveMapHandlers);retrieveMapHandlers.push(function(source){var sourceMappingURL=retrieveSourceMapURL(source);if(!sourceMappingURL)return null;var sourceMapData;if(reSourceMap.test(sourceMappingURL)){var rawData=sourceMappingURL.slice(sourceMappingURL.indexOf(",")+1);sourceMapData=bufferFrom(rawData,"base64").toString();sourceMappingURL=source}else{sourceMappingURL=supportRelativeURL(source,sourceMappingURL);sourceMapData=retrieveFile(sourceMappingURL)}if(!sourceMapData){return null}return{url:sourceMappingURL,map:sourceMapData}});function mapSourcePosition(position){var sourceMap=sourceMapCache[position.source];if(!sourceMap){var urlAndMap=retrieveSourceMap(position.source);if(urlAndMap){sourceMap=sourceMapCache[position.source]={url:urlAndMap.url,map:new SourceMapConsumer(urlAndMap.map)};if(sourceMap.map.sourcesContent){sourceMap.map.sources.forEach(function(source,i){var contents=sourceMap.map.sourcesContent[i];if(contents){var url=supportRelativeURL(sourceMap.url,source);fileContentsCache[url]=contents}})}}else{sourceMap=sourceMapCache[position.source]={url:null,map:null}}}if(sourceMap&&sourceMap.map&&typeof sourceMap.map.originalPositionFor==="function"){var originalPosition=sourceMap.map.originalPositionFor(position);if(originalPosition.source!==null){originalPosition.source=supportRelativeURL(sourceMap.url,originalPosition.source);return originalPosition}}return position}function mapEvalOrigin(origin){var match=/^eval at ([^(]+) \((.+):(\d+):(\d+)\)$/.exec(origin);if(match){var position=mapSourcePosition({source:match[2],line:+match[3],column:match[4]-1});return"eval at "+match[1]+" ("+position.source+":"+position.line+":"+(position.column+1)+")"}match=/^eval at ([^(]+) \((.+)\)$/.exec(origin);if(match){return"eval at "+match[1]+" ("+mapEvalOrigin(match[2])+")"}return origin}function CallSiteToString(){var fileName;var fileLocation="";if(this.isNative()){fileLocation="native"}else{fileName=this.getScriptNameOrSourceURL();if(!fileName&&this.isEval()){fileLocation=this.getEvalOrigin();fileLocation+=", "}if(fileName){fileLocation+=fileName}else{fileLocation+="<anonymous>"}var lineNumber=this.getLineNumber();if(lineNumber!=null){fileLocation+=":"+lineNumber;var columnNumber=this.getColumnNumber();if(columnNumber){fileLocation+=":"+columnNumber}}}var line="";var functionName=this.getFunctionName();var addSuffix=true;var isConstructor=this.isConstructor();var isMethodCall=!(this.isToplevel()||isConstructor);if(isMethodCall){var typeName=this.getTypeName();if(typeName==="[object Object]"){typeName="null"}var methodName=this.getMethodName();if(functionName){if(typeName&&functionName.indexOf(typeName)!=0){line+=typeName+"."}line+=functionName;if(methodName&&functionName.indexOf("."+methodName)!=functionName.length-methodName.length-1){line+=" [as "+methodName+"]"}}else{line+=typeName+"."+(methodName||"<anonymous>")}}else if(isConstructor){line+="new "+(functionName||"<anonymous>")}else if(functionName){line+=functionName}else{line+=fileLocation;addSuffix=false}if(addSuffix){line+=" ("+fileLocation+")"}return line}function cloneCallSite(frame){var object={};Object.getOwnPropertyNames(Object.getPrototypeOf(frame)).forEach(function(name){object[name]=/^(?:is|get)/.test(name)?function(){return frame[name].call(frame)}:frame[name]});object.toString=CallSiteToString;return object}function wrapCallSite(frame,state){if(state===void 0){state={nextPosition:null,curPosition:null}}if(frame.isNative()){state.curPosition=null;return frame}var source=frame.getFileName()||frame.getScriptNameOrSourceURL();if(source){var line=frame.getLineNumber();var column=frame.getColumnNumber()-1;var noHeader=/^v(10\.1[6-9]|10\.[2-9][0-9]|10\.[0-9]{3,}|1[2-9]\d*|[2-9]\d|\d{3,}|11\.11)/;var headerLength=noHeader.test(globalProcessVersion())?0:62;if(line===1&&column>headerLength&&!isInBrowser()&&!frame.isEval()){column-=headerLength}var position=mapSourcePosition({source,line,column});state.curPosition=position;frame=cloneCallSite(frame);var originalFunctionName=frame.getFunctionName;frame.getFunctionName=function(){if(state.nextPosition==null){return originalFunctionName()}return state.nextPosition.name||originalFunctionName()};frame.getFileName=function(){return position.source};frame.getLineNumber=function(){return position.line};frame.getColumnNumber=function(){return position.column+1};frame.getScriptNameOrSourceURL=function(){return position.source};return frame}var origin=frame.isEval()&&frame.getEvalOrigin();if(origin){origin=mapEvalOrigin(origin);frame=cloneCallSite(frame);frame.getEvalOrigin=function(){return origin};return frame}return frame}function prepareStackTrace(error,stack2){if(emptyCacheBetweenOperations){fileContentsCache={};sourceMapCache={}}var name=error.name||"Error";var message3=error.message||"";var errorString=name+": "+message3;var state={nextPosition:null,curPosition:null};var processedStack=[];for(var i=stack2.length-1;i>=0;i--){processedStack.push("\n    at "+wrapCallSite(stack2[i],state));state.nextPosition=state.curPosition}state.curPosition=state.nextPosition=null;return errorString+processedStack.reverse().join("")}function getErrorSource(error){var match=/\n    at [^(]+ \((.*):(\d+):(\d+)\)/.exec(error.stack);if(match){var source=match[1];var line=+match[2];var column=+match[3];var contents=fileContentsCache[source];if(!contents&&fs14&&fs14.existsSync(source)){try{contents=fs14.readFileSync(source,"utf8")}catch(er){contents=""}}if(contents){var code=contents.split(/(?:\r\n|\r|\n)/)[line-1];if(code){return source+":"+line+"\n"+code+"\n"+new Array(column).join(" ")+"^"}}}return null}function printErrorAndExit(error){var source=getErrorSource(error);var stderr=globalProcessStderr();if(stderr&&stderr._handle&&stderr._handle.setBlocking){stderr._handle.setBlocking(true)}if(source){console.error();console.error(source)}console.error(error.stack);globalProcessExit(1)}function shimEmitUncaughtException(){var origEmit=process.emit;process.emit=function(type2){if(type2==="uncaughtException"){var hasStack=arguments[1]&&arguments[1].stack;var hasListeners=this.listeners(type2).length>0;if(hasStack&&!hasListeners){return printErrorAndExit(arguments[1])}}return origEmit.apply(this,arguments)}}var originalRetrieveFileHandlers=retrieveFileHandlers.slice(0);var originalRetrieveMapHandlers=retrieveMapHandlers.slice(0);exports2.wrapCallSite=wrapCallSite;exports2.getErrorSource=getErrorSource;exports2.mapSourcePosition=mapSourcePosition;exports2.retrieveSourceMap=retrieveSourceMap;exports2.install=function(options){options=options||{};if(options.environment){environment=options.environment;if(["node","browser","auto"].indexOf(environment)===-1){throw new Error("environment "+environment+" was unknown. Available options are {auto, browser, node}")}}if(options.retrieveFile){if(options.overrideRetrieveFile){retrieveFileHandlers.length=0}retrieveFileHandlers.unshift(options.retrieveFile)}if(options.retrieveSourceMap){if(options.overrideRetrieveSourceMap){retrieveMapHandlers.length=0}retrieveMapHandlers.unshift(options.retrieveSourceMap)}if(options.hookRequire&&!isInBrowser()){var Module=dynamicRequire(module2,"module");var $compile=Module.prototype._compile;if(!$compile.__sourceMapSupport){Module.prototype._compile=function(content,filename){fileContentsCache[filename]=content;sourceMapCache[filename]=void 0;return $compile.call(this,content,filename)};Module.prototype._compile.__sourceMapSupport=true}}if(!emptyCacheBetweenOperations){emptyCacheBetweenOperations="emptyCacheBetweenOperations"in options?options.emptyCacheBetweenOperations:false}if(!errorFormatterInstalled){errorFormatterInstalled=true;Error.prepareStackTrace=prepareStackTrace}if(!uncaughtShimInstalled){var installHandler="handleUncaughtExceptions"in options?options.handleUncaughtExceptions:true;try{var worker_threads=dynamicRequire(module2,"worker_threads");if(worker_threads.isMainThread===false){installHandler=false}}catch(e){}if(installHandler&&hasGlobalProcessEventEmitter()){uncaughtShimInstalled=true;shimEmitUncaughtException()}}};exports2.resetRetrieveHandlers=function(){retrieveFileHandlers.length=0;retrieveMapHandlers.length=0;retrieveFileHandlers=originalRetrieveFileHandlers.slice(0);retrieveMapHandlers=originalRetrieveMapHandlers.slice(0);retrieveSourceMap=handlerExec(retrieveMapHandlers);retrieveFile=handlerExec(retrieveFileHandlers)}}});var require_humanize_duration=__commonJS({"node_modules/humanize-duration/humanize-duration.js"(exports2,module2){(function(){var assign2=Object.assign||function(destination){var source;for(var i=1;i<arguments.length;i++){source=arguments[i];for(var prop in source){if(has3(source,prop)){destination[prop]=source[prop]}}}return destination};var isArray3=Array.isArray||function(arg){return Object.prototype.toString.call(arg)==="[object Array]"};var GREEK=language2(function(c){return c===1?"χρόνος":"χρόνια"},function(c){return c===1?"μήνας":"μήνες"},function(c){return c===1?"εβδομάδα":"εβδομάδες"},function(c){return c===1?"μέρα":"μέρες"},function(c){return c===1?"ώρα":"ώρες"},function(c){return c===1?"λεπτό":"λεπτά"},function(c){return c===1?"δευτερόλεπτο":"δευτερόλεπτα"},function(c){return(c===1?"χιλιοστό":"χιλιοστά")+" του δευτερολέπτου"},",");var LANGUAGES={af:language2("jaar",function(c){return"maand"+(c===1?"":"e")},function(c){return c===1?"week":"weke"},function(c){return c===1?"dag":"dae"},function(c){return c===1?"uur":"ure"},function(c){return c===1?"minuut":"minute"},function(c){return"sekonde"+(c===1?"":"s")},function(c){return"millisekonde"+(c===1?"":"s")},","),am:language2("ዓመት","ወር","ሳምንት","ቀን","ሰዓት","ደቂቃ","ሰከንድ","ሚሊሰከንድ"),ar:assign2(language2(function(c){return["سنة","سنتان","سنوات"][getArabicForm(c)]},function(c){return["شهر","شهران","أشهر"][getArabicForm(c)]},function(c){return["أسبوع","أسبوعين","أسابيع"][getArabicForm(c)]},function(c){return["يوم","يومين","أيام"][getArabicForm(c)]},function(c){return["ساعة","ساعتين","ساعات"][getArabicForm(c)]},function(c){return["دقيقة","دقيقتان","دقائق"][getArabicForm(c)]},function(c){return["ثانية","ثانيتان","ثواني"][getArabicForm(c)]},function(c){return["جزء من الثانية","جزآن من الثانية","أجزاء من الثانية"][getArabicForm(c)]},","),{delimiter:" ﻭ ",_hideCountIf2:true,_digitReplacements:["۰","١","٢","٣","٤","٥","٦","٧","٨","٩"]}),bg:language2(function(c){return["години","година","години"][getSlavicForm(c)]},function(c){return["месеца","месец","месеца"][getSlavicForm(c)]},function(c){return["седмици","седмица","седмици"][getSlavicForm(c)]},function(c){return["дни","ден","дни"][getSlavicForm(c)]},function(c){return["часа","час","часа"][getSlavicForm(c)]},function(c){return["минути","минута","минути"][getSlavicForm(c)]},function(c){return["секунди","секунда","секунди"][getSlavicForm(c)]},function(c){return["милисекунди","милисекунда","милисекунди"][getSlavicForm(c)]},","),bn:language2("বছর","মাস","সপ্তাহ","দিন","ঘন্টা","মিনিট","সেকেন্ড","মিলিসেকেন্ড"),ca:language2(function(c){return"any"+(c===1?"":"s")},function(c){return"mes"+(c===1?"":"os")},function(c){return"setman"+(c===1?"a":"es")},function(c){return"di"+(c===1?"a":"es")},function(c){return"hor"+(c===1?"a":"es")},function(c){return"minut"+(c===1?"":"s")},function(c){return"segon"+(c===1?"":"s")},function(c){return"milisegon"+(c===1?"":"s")},","),ckb:language2("ساڵ","مانگ","هەفتە","ڕۆژ","کاژێر","خولەک","چرکە","میلی چرکە","."),cs:language2(function(c){return["rok","roku","roky","let"][getCzechOrSlovakForm(c)]},function(c){return["měsíc","měsíce","měsíce","měsíců"][getCzechOrSlovakForm(c)]},function(c){return["týden","týdne","týdny","týdnů"][getCzechOrSlovakForm(c)]},function(c){return["den","dne","dny","dní"][getCzechOrSlovakForm(c)]},function(c){return["hodina","hodiny","hodiny","hodin"][getCzechOrSlovakForm(c)]},function(c){return["minuta","minuty","minuty","minut"][getCzechOrSlovakForm(c)]},function(c){return["sekunda","sekundy","sekundy","sekund"][getCzechOrSlovakForm(c)]},function(c){return["milisekunda","milisekundy","milisekundy","milisekund"][getCzechOrSlovakForm(c)]},","),cy:language2("flwyddyn","mis","wythnos","diwrnod","awr","munud","eiliad","milieiliad"),da:language2("år",function(c){return"måned"+(c===1?"":"er")},function(c){return"uge"+(c===1?"":"r")},function(c){return"dag"+(c===1?"":"e")},function(c){return"time"+(c===1?"":"r")},function(c){return"minut"+(c===1?"":"ter")},function(c){return"sekund"+(c===1?"":"er")},function(c){return"millisekund"+(c===1?"":"er")},","),de:language2(function(c){return"Jahr"+(c===1?"":"e")},function(c){return"Monat"+(c===1?"":"e")},function(c){return"Woche"+(c===1?"":"n")},function(c){return"Tag"+(c===1?"":"e")},function(c){return"Stunde"+(c===1?"":"n")},function(c){return"Minute"+(c===1?"":"n")},function(c){return"Sekunde"+(c===1?"":"n")},function(c){return"Millisekunde"+(c===1?"":"n")},","),el:GREEK,en:language2(function(c){return"year"+(c===1?"":"s")},function(c){return"month"+(c===1?"":"s")},function(c){return"week"+(c===1?"":"s")},function(c){return"day"+(c===1?"":"s")},function(c){return"hour"+(c===1?"":"s")},function(c){return"minute"+(c===1?"":"s")},function(c){return"second"+(c===1?"":"s")},function(c){return"millisecond"+(c===1?"":"s")}),eo:language2(function(c){return"jaro"+(c===1?"":"j")},function(c){return"monato"+(c===1?"":"j")},function(c){return"semajno"+(c===1?"":"j")},function(c){return"tago"+(c===1?"":"j")},function(c){return"horo"+(c===1?"":"j")},function(c){return"minuto"+(c===1?"":"j")},function(c){return"sekundo"+(c===1?"":"j")},function(c){return"milisekundo"+(c===1?"":"j")},","),es:language2(function(c){return"año"+(c===1?"":"s")},function(c){return"mes"+(c===1?"":"es")},function(c){return"semana"+(c===1?"":"s")},function(c){return"día"+(c===1?"":"s")},function(c){return"hora"+(c===1?"":"s")},function(c){return"minuto"+(c===1?"":"s")},function(c){return"segundo"+(c===1?"":"s")},function(c){return"milisegundo"+(c===1?"":"s")},","),et:language2(function(c){return"aasta"+(c===1?"":"t")},function(c){return"kuu"+(c===1?"":"d")},function(c){return"nädal"+(c===1?"":"at")},function(c){return"päev"+(c===1?"":"a")},function(c){return"tund"+(c===1?"":"i")},function(c){return"minut"+(c===1?"":"it")},function(c){return"sekund"+(c===1?"":"it")},function(c){return"millisekund"+(c===1?"":"it")},","),eu:language2("urte","hilabete","aste","egun","ordu","minutu","segundo","milisegundo",","),fa:language2("سال","ماه","هفته","روز","ساعت","دقیقه","ثانیه","میلی ثانیه"),fi:language2(function(c){return c===1?"vuosi":"vuotta"},function(c){return c===1?"kuukausi":"kuukautta"},function(c){return"viikko"+(c===1?"":"a")},function(c){return"päivä"+(c===1?"":"ä")},function(c){return"tunti"+(c===1?"":"a")},function(c){return"minuutti"+(c===1?"":"a")},function(c){return"sekunti"+(c===1?"":"a")},function(c){return"millisekunti"+(c===1?"":"a")},","),fo:language2("ár",function(c){return c===1?"mánaður":"mánaðir"},function(c){return c===1?"vika":"vikur"},function(c){return c===1?"dagur":"dagar"},function(c){return c===1?"tími":"tímar"},function(c){return c===1?"minuttur":"minuttir"},"sekund","millisekund",","),fr:language2(function(c){return"an"+(c>=2?"s":"")},"mois",function(c){return"semaine"+(c>=2?"s":"")},function(c){return"jour"+(c>=2?"s":"")},function(c){return"heure"+(c>=2?"s":"")},function(c){return"minute"+(c>=2?"s":"")},function(c){return"seconde"+(c>=2?"s":"")},function(c){return"milliseconde"+(c>=2?"s":"")},","),gr:GREEK,he:language2(function(c){return c===1?"שנה":"שנים"},function(c){return c===1?"חודש":"חודשים"},function(c){return c===1?"שבוע":"שבועות"},function(c){return c===1?"יום":"ימים"},function(c){return c===1?"שעה":"שעות"},function(c){return c===1?"דקה":"דקות"},function(c){return c===1?"שניה":"שניות"},function(c){return c===1?"מילישנייה":"מילישניות"}),hr:language2(function(c){if(c%10===2||c%10===3||c%10===4){return"godine"}return"godina"},function(c){if(c===1){return"mjesec"}else if(c===2||c===3||c===4){return"mjeseca"}return"mjeseci"},function(c){if(c%10===1&&c!==11){return"tjedan"}return"tjedna"},function(c){return c===1?"dan":"dana"},function(c){if(c===1){return"sat"}else if(c===2||c===3||c===4){return"sata"}return"sati"},function(c){var mod10=c%10;if((mod10===2||mod10===3||mod10===4)&&(c<10||c>14)){return"minute"}return"minuta"},function(c){var mod10=c%10;if(mod10===5||Math.floor(c)===c&&c>=10&&c<=19){return"sekundi"}else if(mod10===1){return"sekunda"}else if(mod10===2||mod10===3||mod10===4){return"sekunde"}return"sekundi"},function(c){if(c===1){return"milisekunda"}else if(c%10===2||c%10===3||c%10===4){return"milisekunde"}return"milisekundi"},","),hi:language2("साल",function(c){return c===1?"महीना":"महीने"},function(c){return c===1?"हफ़्ता":"हफ्ते"},"दिन",function(c){return c===1?"घंटा":"घंटे"},"मिनट","सेकंड","मिलीसेकंड"),hu:language2("év","hónap","hét","nap","óra","perc","másodperc","ezredmásodperc",","),id:language2("tahun","bulan","minggu","hari","jam","menit","detik","milidetik"),is:language2("ár",function(c){return"mánuð"+(c===1?"ur":"ir")},function(c){return"vik"+(c===1?"a":"ur")},function(c){return"dag"+(c===1?"ur":"ar")},function(c){return"klukkutím"+(c===1?"i":"ar")},function(c){return"mínút"+(c===1?"a":"ur")},function(c){return"sekúnd"+(c===1?"a":"ur")},function(c){return"millisekúnd"+(c===1?"a":"ur")}),it:language2(function(c){return"ann"+(c===1?"o":"i")},function(c){return"mes"+(c===1?"e":"i")},function(c){return"settiman"+(c===1?"a":"e")},function(c){return"giorn"+(c===1?"o":"i")},function(c){return"or"+(c===1?"a":"e")},function(c){return"minut"+(c===1?"o":"i")},function(c){return"second"+(c===1?"o":"i")},function(c){return"millisecond"+(c===1?"o":"i")},","),ja:language2("年","ヶ月","週","日","時間","分","秒","ミリ秒"),km:language2("ឆ្នាំ","ខែ","សប្តាហ៍","ថ្ងៃ","ម៉ោង","នាទី","វិនាទី","មិល្លីវិនាទី"),kn:language2(function(c){return c===1?"ವರ್ಷ":"ವರ್ಷಗಳು"},function(c){return c===1?"ತಿಂಗಳು":"ತಿಂಗಳುಗಳು"},function(c){return c===1?"ವಾರ":"ವಾರಗಳು"},function(c){return c===1?"ದಿನ":"ದಿನಗಳು"},function(c){return c===1?"ಗಂಟೆ":"ಗಂಟೆಗಳು"},function(c){return c===1?"ನಿಮಿಷ":"ನಿಮಿಷಗಳು"},function(c){return c===1?"ಸೆಕೆಂಡ್":"ಸೆಕೆಂಡುಗಳು"},function(c){return c===1?"ಮಿಲಿಸೆಕೆಂಡ್":"ಮಿಲಿಸೆಕೆಂಡುಗಳು"}),ko:language2("년","개월","주일","일","시간","분","초","밀리 초"),ku:language2("sal","meh","hefte","roj","seet","deqe","saniye","mîlîçirk",","),lo:language2("ປີ","ເດືອນ","ອາທິດ","ມື້","ຊົ່ວໂມງ","ນາທີ","ວິນາທີ","ມິນລິວິນາທີ",","),lt:language2(function(c){return c%10===0||c%100>=10&&c%100<=20?"metų":"metai"},function(c){return["mėnuo","mėnesiai","mėnesių"][getLithuanianForm(c)]},function(c){return["savaitė","savaitės","savaičių"][getLithuanianForm(c)]},function(c){return["diena","dienos","dienų"][getLithuanianForm(c)]},function(c){return["valanda","valandos","valandų"][getLithuanianForm(c)]},function(c){return["minutė","minutės","minučių"][getLithuanianForm(c)]},function(c){return["sekundė","sekundės","sekundžių"][getLithuanianForm(c)]},function(c){return["milisekundė","milisekundės","milisekundžių"][getLithuanianForm(c)]},","),lv:language2(function(c){return getLatvianForm(c)?"gads":"gadi"},function(c){return getLatvianForm(c)?"mēnesis":"mēneši"},function(c){return getLatvianForm(c)?"nedēļa":"nedēļas"},function(c){return getLatvianForm(c)?"diena":"dienas"},function(c){return getLatvianForm(c)?"stunda":"stundas"},function(c){return getLatvianForm(c)?"minūte":"minūtes"},function(c){return getLatvianForm(c)?"sekunde":"sekundes"},function(c){return getLatvianForm(c)?"milisekunde":"milisekundes"},","),mk:language2(function(c){return c===1?"година":"години"},function(c){return c===1?"месец":"месеци"},function(c){return c===1?"недела":"недели"},function(c){return c===1?"ден":"дена"},function(c){return c===1?"час":"часа"},function(c){return c===1?"минута":"минути"},function(c){return c===1?"секунда":"секунди"},function(c){return c===1?"милисекунда":"милисекунди"},","),mn:language2("жил","сар","долоо хоног","өдөр","цаг","минут","секунд","миллисекунд"),mr:language2(function(c){return c===1?"वर्ष":"वर्षे"},function(c){return c===1?"महिना":"महिने"},function(c){return c===1?"आठवडा":"आठवडे"},"दिवस","तास",function(c){return c===1?"मिनिट":"मिनिटे"},"सेकंद","मिलिसेकंद"),ms:language2("tahun","bulan","minggu","hari","jam","minit","saat","milisaat"),nl:language2("jaar",function(c){return c===1?"maand":"maanden"},function(c){return c===1?"week":"weken"},function(c){return c===1?"dag":"dagen"},"uur",function(c){return c===1?"minuut":"minuten"},function(c){return c===1?"seconde":"seconden"},function(c){return c===1?"milliseconde":"milliseconden"},","),no:language2("år",function(c){return"måned"+(c===1?"":"er")},function(c){return"uke"+(c===1?"":"r")},function(c){return"dag"+(c===1?"":"er")},function(c){return"time"+(c===1?"":"r")},function(c){return"minutt"+(c===1?"":"er")},function(c){return"sekund"+(c===1?"":"er")},function(c){return"millisekund"+(c===1?"":"er")},","),pl:language2(function(c){return["rok","roku","lata","lat"][getPolishForm(c)]},function(c){return["miesiąc","miesiąca","miesiące","miesięcy"][getPolishForm(c)]},function(c){return["tydzień","tygodnia","tygodnie","tygodni"][getPolishForm(c)]},function(c){return["dzień","dnia","dni","dni"][getPolishForm(c)]},function(c){return["godzina","godziny","godziny","godzin"][getPolishForm(c)]},function(c){return["minuta","minuty","minuty","minut"][getPolishForm(c)]},function(c){return["sekunda","sekundy","sekundy","sekund"][getPolishForm(c)]},function(c){return["milisekunda","milisekundy","milisekundy","milisekund"][getPolishForm(c)]},","),pt:language2(function(c){return"ano"+(c===1?"":"s")},function(c){return c===1?"mês":"meses"},function(c){return"semana"+(c===1?"":"s")},function(c){return"dia"+(c===1?"":"s")},function(c){return"hora"+(c===1?"":"s")},function(c){return"minuto"+(c===1?"":"s")},function(c){return"segundo"+(c===1?"":"s")},function(c){return"milissegundo"+(c===1?"":"s")},","),ro:language2(function(c){return c===1?"an":"ani"},function(c){return c===1?"lună":"luni"},function(c){return c===1?"săptămână":"săptămâni"},function(c){return c===1?"zi":"zile"},function(c){return c===1?"oră":"ore"},function(c){return c===1?"minut":"minute"},function(c){return c===1?"secundă":"secunde"},function(c){return c===1?"milisecundă":"milisecunde"},","),ru:language2(function(c){return["лет","год","года"][getSlavicForm(c)]},function(c){return["месяцев","месяц","месяца"][getSlavicForm(c)]},function(c){return["недель","неделя","недели"][getSlavicForm(c)]},function(c){return["дней","день","дня"][getSlavicForm(c)]},function(c){return["часов","час","часа"][getSlavicForm(c)]},function(c){return["минут","минута","минуты"][getSlavicForm(c)]},function(c){return["секунд","секунда","секунды"][getSlavicForm(c)]},function(c){return["миллисекунд","миллисекунда","миллисекунды"][getSlavicForm(c)]},","),sq:language2(function(c){return c===1?"vit":"vjet"},"muaj","javë","ditë","orë",function(c){return"minut"+(c===1?"ë":"a")},function(c){return"sekond"+(c===1?"ë":"a")},function(c){return"milisekond"+(c===1?"ë":"a")},","),sr:language2(function(c){return["години","година","године"][getSlavicForm(c)]},function(c){return["месеци","месец","месеца"][getSlavicForm(c)]},function(c){return["недељи","недеља","недеље"][getSlavicForm(c)]},function(c){return["дани","дан","дана"][getSlavicForm(c)]},function(c){return["сати","сат","сата"][getSlavicForm(c)]},function(c){return["минута","минут","минута"][getSlavicForm(c)]},function(c){return["секунди","секунда","секунде"][getSlavicForm(c)]},function(c){return["милисекунди","милисекунда","милисекунде"][getSlavicForm(c)]},","),ta:language2(function(c){return c===1?"வருடம்":"ஆண்டுகள்"},function(c){return c===1?"மாதம்":"மாதங்கள்"},function(c){return c===1?"வாரம்":"வாரங்கள்"},function(c){return c===1?"நாள்":"நாட்கள்"},function(c){return c===1?"மணி":"மணிநேரம்"},function(c){return"நிமிட"+(c===1?"ம்":"ங்கள்")},function(c){return"வினாடி"+(c===1?"":"கள்")},function(c){return"மில்லி விநாடி"+(c===1?"":"கள்")}),te:language2(function(c){return"సంవత్స"+(c===1?"రం":"రాల")},function(c){return"నెల"+(c===1?"":"ల")},function(c){return c===1?"వారం":"వారాలు"},function(c){return"రోజు"+(c===1?"":"లు")},function(c){return"గంట"+(c===1?"":"లు")},function(c){return c===1?"నిమిషం":"నిమిషాలు"},function(c){return c===1?"సెకను":"సెకన్లు"},function(c){return c===1?"మిల్లీసెకన్":"మిల్లీసెకన్లు"}),uk:language2(function(c){return["років","рік","роки"][getSlavicForm(c)]},function(c){return["місяців","місяць","місяці"][getSlavicForm(c)]},function(c){return["тижнів","тиждень","тижні"][getSlavicForm(c)]},function(c){return["днів","день","дні"][getSlavicForm(c)]},function(c){return["годин","година","години"][getSlavicForm(c)]},function(c){return["хвилин","хвилина","хвилини"][getSlavicForm(c)]},function(c){return["секунд","секунда","секунди"][getSlavicForm(c)]},function(c){return["мілісекунд","мілісекунда","мілісекунди"][getSlavicForm(c)]},","),ur:language2("سال",function(c){return c===1?"مہینہ":"مہینے"},function(c){return c===1?"ہفتہ":"ہفتے"},"دن",function(c){return c===1?"گھنٹہ":"گھنٹے"},"منٹ","سیکنڈ","ملی سیکنڈ"),sk:language2(function(c){return["rok","roky","roky","rokov"][getCzechOrSlovakForm(c)]},function(c){return["mesiac","mesiace","mesiace","mesiacov"][getCzechOrSlovakForm(c)]},function(c){return["týždeň","týždne","týždne","týždňov"][getCzechOrSlovakForm(c)]},function(c){return["deň","dni","dni","dní"][getCzechOrSlovakForm(c)]},function(c){return["hodina","hodiny","hodiny","hodín"][getCzechOrSlovakForm(c)]},function(c){return["minúta","minúty","minúty","minút"][getCzechOrSlovakForm(c)]},function(c){return["sekunda","sekundy","sekundy","sekúnd"][getCzechOrSlovakForm(c)]},function(c){return["milisekunda","milisekundy","milisekundy","milisekúnd"][getCzechOrSlovakForm(c)]},","),sl:language2(function(c){if(c%10===1){return"leto"}else if(c%100===2){return"leti"}else if(c%100===3||c%100===4||Math.floor(c)!==c&&c%100<=5){return"leta"}else{return"let"}},function(c){if(c%10===1){return"mesec"}else if(c%100===2||Math.floor(c)!==c&&c%100<=5){return"meseca"}else if(c%10===3||c%10===4){return"mesece"}else{return"mesecev"}},function(c){if(c%10===1){return"teden"}else if(c%10===2||Math.floor(c)!==c&&c%100<=4){return"tedna"}else if(c%10===3||c%10===4){return"tedne"}else{return"tednov"}},function(c){return c%100===1?"dan":"dni"},function(c){if(c%10===1){return"ura"}else if(c%100===2){return"uri"}else if(c%10===3||c%10===4||Math.floor(c)!==c){return"ure"}else{return"ur"}},function(c){if(c%10===1){return"minuta"}else if(c%10===2){return"minuti"}else if(c%10===3||c%10===4||Math.floor(c)!==c&&c%100<=4){return"minute"}else{return"minut"}},function(c){if(c%10===1){return"sekunda"}else if(c%100===2){return"sekundi"}else if(c%100===3||c%100===4||Math.floor(c)!==c){return"sekunde"}else{return"sekund"}},function(c){if(c%10===1){return"milisekunda"}else if(c%100===2){return"milisekundi"}else if(c%100===3||c%100===4||Math.floor(c)!==c){return"milisekunde"}else{return"milisekund"}},","),sv:language2("år",function(c){return"månad"+(c===1?"":"er")},function(c){return"veck"+(c===1?"a":"or")},function(c){return"dag"+(c===1?"":"ar")},function(c){return"timm"+(c===1?"e":"ar")},function(c){return"minut"+(c===1?"":"er")},function(c){return"sekund"+(c===1?"":"er")},function(c){return"millisekund"+(c===1?"":"er")},","),sw:assign2(language2(function(c){return c===1?"mwaka":"miaka"},function(c){return c===1?"mwezi":"miezi"},"wiki",function(c){return c===1?"siku":"masiku"},function(c){return c===1?"saa":"masaa"},"dakika","sekunde","milisekunde"),{_numberFirst:true}),tr:language2("yıl","ay","hafta","gün","saat","dakika","saniye","milisaniye",","),th:language2("ปี","เดือน","สัปดาห์","วัน","ชั่วโมง","นาที","วินาที","มิลลิวินาที"),uz:language2("yil","oy","hafta","kun","soat","minut","sekund","millisekund"),uz_CYR:language2("йил","ой","ҳафта","кун","соат","минут","секунд","миллисекунд"),vi:language2("năm","tháng","tuần","ngày","giờ","phút","giây","mili giây",","),zh_CN:language2("年","个月","周","天","小时","分钟","秒","毫秒"),zh_TW:language2("年","個月","周","天","小時","分鐘","秒","毫秒")};function language2(y,mo,w,d,h,m,s,ms,decimal){var result2={y,mo,w,d,h,m,s,ms};if(typeof decimal!=="undefined"){result2.decimal=decimal}return result2}function getArabicForm(c){if(c===2){return 1}if(c>2&&c<11){return 2}return 0}function getPolishForm(c){if(c===1){return 0}if(Math.floor(c)!==c){return 1}if(c%10>=2&&c%10<=4&&!(c%100>10&&c%100<20)){return 2}return 3}function getSlavicForm(c){if(Math.floor(c)!==c){return 2}if(c%100>=5&&c%100<=20||c%10>=5&&c%10<=9||c%10===0){return 0}if(c%10===1){return 1}if(c>1){return 2}return 0}function getCzechOrSlovakForm(c){if(c===1){return 0}if(Math.floor(c)!==c){return 1}if(c%10>=2&&c%10<=4&&c%100<10){return 2}return 3}function getLithuanianForm(c){if(c===1||c%10===1&&c%100>20){return 0}if(Math.floor(c)!==c||c%10>=2&&c%100>20||c%10>=2&&c%100<10){return 1}return 2}function getLatvianForm(c){return c%10===1&&c%100!==11}function has3(obj,key){return Object.prototype.hasOwnProperty.call(obj,key)}function getLanguage(options){var possibleLanguages=[options.language];if(has3(options,"fallbacks")){if(isArray3(options.fallbacks)&&options.fallbacks.length){possibleLanguages=possibleLanguages.concat(options.fallbacks)}else{throw new Error("fallbacks must be an array with at least one element")}}for(var i=0;i<possibleLanguages.length;i++){var languageToTry=possibleLanguages[i];if(has3(options.languages,languageToTry)){return options.languages[languageToTry]}if(has3(LANGUAGES,languageToTry)){return LANGUAGES[languageToTry]}}throw new Error("No language found.")}function renderPiece(piece,language3,options){var unitName=piece.unitName;var unitCount=piece.unitCount;var spacer=options.spacer;var maxDecimalPoints=options.maxDecimalPoints;var decimal;if(has3(options,"decimal")){decimal=options.decimal}else if(has3(language3,"decimal")){decimal=language3.decimal}else{decimal="."}var digitReplacements;if("digitReplacements"in options){digitReplacements=options.digitReplacements}else if("_digitReplacements"in language3){digitReplacements=language3._digitReplacements}var formattedCount;var normalizedUnitCount=maxDecimalPoints===void 0?unitCount:Math.floor(unitCount*Math.pow(10,maxDecimalPoints))/Math.pow(10,maxDecimalPoints);var countStr=normalizedUnitCount.toString();if(language3._hideCountIf2&&unitCount===2){formattedCount="";spacer=""}else{if(digitReplacements){formattedCount="";for(var i=0;i<countStr.length;i++){var char=countStr[i];if(char==="."){formattedCount+=decimal}else{formattedCount+=digitReplacements[char]}}}else{formattedCount=countStr.replace(".",decimal)}}var languageWord=language3[unitName];var word;if(typeof languageWord==="function"){word=languageWord(unitCount)}else{word=languageWord}if(language3._numberFirst){return word+spacer+formattedCount}return formattedCount+spacer+word}function getPieces(ms,options){var unitName;var i;var unitCount;var msRemaining;var units=options.units;var unitMeasures=options.unitMeasures;var largest="largest"in options?options.largest:Infinity;if(!units.length)return[];var unitCounts={};msRemaining=ms;for(i=0;i<units.length;i++){unitName=units[i];var unitMs=unitMeasures[unitName];var isLast=i===units.length-1;unitCount=isLast?msRemaining/unitMs:Math.floor(msRemaining/unitMs);unitCounts[unitName]=unitCount;msRemaining-=unitCount*unitMs}if(options.round){var unitsRemainingBeforeRound=largest;for(i=0;i<units.length;i++){unitName=units[i];unitCount=unitCounts[unitName];if(unitCount===0)continue;unitsRemainingBeforeRound--;if(unitsRemainingBeforeRound===0){for(var j=i+1;j<units.length;j++){var smallerUnitName=units[j];var smallerUnitCount=unitCounts[smallerUnitName];unitCounts[unitName]+=smallerUnitCount*unitMeasures[smallerUnitName]/unitMeasures[unitName];unitCounts[smallerUnitName]=0}break}}for(i=units.length-1;i>=0;i--){unitName=units[i];unitCount=unitCounts[unitName];if(unitCount===0)continue;var rounded=Math.round(unitCount);unitCounts[unitName]=rounded;if(i===0)break;var previousUnitName=units[i-1];var previousUnitMs=unitMeasures[previousUnitName];var amountOfPreviousUnit=Math.floor(rounded*unitMeasures[unitName]/previousUnitMs);if(amountOfPreviousUnit){unitCounts[previousUnitName]+=amountOfPreviousUnit;unitCounts[unitName]=0}else{break}}}var result2=[];for(i=0;i<units.length&&result2.length<largest;i++){unitName=units[i];unitCount=unitCounts[unitName];if(unitCount){result2.push({unitName,unitCount})}}return result2}function formatPieces(pieces,options){var language3=getLanguage(options);if(!pieces.length){var units=options.units;var smallestUnitName=units[units.length-1];return renderPiece({unitName:smallestUnitName,unitCount:0},language3,options)}var conjunction=options.conjunction;var serialComma=options.serialComma;var delimiter;if(has3(options,"delimiter")){delimiter=options.delimiter}else if(has3(language3,"delimiter")){delimiter=language3.delimiter}else{delimiter=", "}var renderedPieces=[];for(var i=0;i<pieces.length;i++){renderedPieces.push(renderPiece(pieces[i],language3,options))}if(!conjunction||pieces.length===1){return renderedPieces.join(delimiter)}if(pieces.length===2){return renderedPieces.join(conjunction)}return renderedPieces.slice(0,-1).join(delimiter)+(serialComma?",":"")+conjunction+renderedPieces.slice(-1)}function humanizer(passedOptions){var result2=function humanizer2(ms,humanizerOptions){ms=Math.abs(ms);var options=assign2({},result2,humanizerOptions||{});var pieces=getPieces(ms,options);return formatPieces(pieces,options)};return assign2(result2,{language:"en",spacer:" ",conjunction:"",serialComma:true,units:["y","mo","w","d","h","m","s"],languages:{},round:false,unitMeasures:{y:315576e5,mo:26298e5,w:6048e5,d:864e5,h:36e5,m:6e4,s:1e3,ms:1}},passedOptions)}var humanizeDuration3=assign2(humanizer({}),{getSupportedLanguages:function getSupportedLanguages(){var result2=[];for(var language3 in LANGUAGES){if(has3(LANGUAGES,language3)&&language3!=="gr"){result2.push(language3)}}return result2},humanizer});if(typeof define==="function"&&define.amd){define(function(){return humanizeDuration3})}else if(typeof module2!=="undefined"&&module2.exports){module2.exports=humanizeDuration3}else{this.humanizeDuration=humanizeDuration3}})()}});var require_lowercase=__commonJS({"node_modules/nanoid-dictionary/lowercase.js"(exports2,module2){module2.exports="abcdefghijklmnopqrstuvwxyz"}});var require_uppercase=__commonJS({"node_modules/nanoid-dictionary/uppercase.js"(exports2,module2){module2.exports="ABCDEFGHIJKLMNOPQRSTUVWXYZ"}});var require_numbers=__commonJS({"node_modules/nanoid-dictionary/numbers.js"(exports2,module2){module2.exports="0123456789"}});var require_nolookalikes=__commonJS({"node_modules/nanoid-dictionary/nolookalikes.js"(exports2,module2){module2.exports="346789ABCDEFGHJKLMNPQRTUVWXYabcdefghijkmnpqrtwxyz"}});var require_nolookalikes_safe=__commonJS({"node_modules/nanoid-dictionary/nolookalikes-safe.js"(exports2,module2){module2.exports="6789BCDFGHJKLMNPQRTWbcdfghjkmnpqrtwz"}});var require_alphanumeric=__commonJS({"node_modules/nanoid-dictionary/alphanumeric.js"(exports2,module2){var numbers2=require_numbers();var lowercase=require_lowercase();var uppercase=require_uppercase();module2.exports=numbers2+lowercase+uppercase}});var require_nanoid_dictionary=__commonJS({"node_modules/nanoid-dictionary/index.js"(exports2,module2){module2.exports={lowercase:require_lowercase(),uppercase:require_uppercase(),numbers:require_numbers(),nolookalikes:require_nolookalikes(),nolookalikesSafe:require_nolookalikes_safe(),alphanumeric:require_alphanumeric()}}});var require_lodash=__commonJS({"node_modules/lodash/lodash.js"(exports2,module2){(function(){var undefined2;var VERSION2="4.17.21";var LARGE_ARRAY_SIZE4=200;var CORE_ERROR_TEXT2="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",FUNC_ERROR_TEXT13="Expected a function",INVALID_TEMPL_VAR_ERROR_TEXT2="Invalid `variable` option passed into `_.template`";var HASH_UNDEFINED4="__lodash_hash_undefined__";var MAX_MEMOIZE_SIZE2=500;var PLACEHOLDER3="__lodash_placeholder__";var CLONE_DEEP_FLAG9=1,CLONE_FLAT_FLAG3=2,CLONE_SYMBOLS_FLAG7=4;var COMPARE_PARTIAL_FLAG7=1,COMPARE_UNORDERED_FLAG5=2;var WRAP_BIND_FLAG10=1,WRAP_BIND_KEY_FLAG8=2,WRAP_CURRY_BOUND_FLAG3=4,WRAP_CURRY_FLAG8=8,WRAP_CURRY_RIGHT_FLAG5=16,WRAP_PARTIAL_FLAG8=32,WRAP_PARTIAL_RIGHT_FLAG5=64,WRAP_ARY_FLAG6=128,WRAP_REARG_FLAG5=256,WRAP_FLIP_FLAG4=512;var DEFAULT_TRUNC_LENGTH2=30,DEFAULT_TRUNC_OMISSION2="...";var HOT_COUNT2=800,HOT_SPAN2=16;var LAZY_FILTER_FLAG3=1,LAZY_MAP_FLAG2=2,LAZY_WHILE_FLAG2=3;var INFINITY8=1/0,MAX_SAFE_INTEGER7=9007199254740991,MAX_INTEGER2=17976931348623157e292,NAN4=0/0;var MAX_ARRAY_LENGTH8=4294967295,MAX_ARRAY_INDEX2=MAX_ARRAY_LENGTH8-1,HALF_MAX_ARRAY_LENGTH2=MAX_ARRAY_LENGTH8>>>1;var wrapFlags2=[["ary",WRAP_ARY_FLAG6],["bind",WRAP_BIND_FLAG10],["bindKey",WRAP_BIND_KEY_FLAG8],["curry",WRAP_CURRY_FLAG8],["curryRight",WRAP_CURRY_RIGHT_FLAG5],["flip",WRAP_FLIP_FLAG4],["partial",WRAP_PARTIAL_FLAG8],["partialRight",WRAP_PARTIAL_RIGHT_FLAG5],["rearg",WRAP_REARG_FLAG5]];var argsTag5="[object Arguments]",arrayTag4="[object Array]",asyncTag2="[object AsyncFunction]",boolTag6="[object Boolean]",dateTag6="[object Date]",domExcTag2="[object DOMException]",errorTag5="[object Error]",funcTag4="[object Function]",genTag3="[object GeneratorFunction]",mapTag11="[object Map]",numberTag6="[object Number]",nullTag2="[object Null]",objectTag6="[object Object]",promiseTag2="[object Promise]",proxyTag2="[object Proxy]",regexpTag6="[object RegExp]",setTag11="[object Set]",stringTag6="[object String]",symbolTag5="[object Symbol]",undefinedTag2="[object Undefined]",weakMapTag5="[object WeakMap]",weakSetTag2="[object WeakSet]";var arrayBufferTag6="[object ArrayBuffer]",dataViewTag6="[object DataView]",float32Tag4="[object Float32Array]",float64Tag4="[object Float64Array]",int8Tag4="[object Int8Array]",int16Tag4="[object Int16Array]",int32Tag4="[object Int32Array]",uint8Tag4="[object Uint8Array]",uint8ClampedTag4="[object Uint8ClampedArray]",uint16Tag4="[object Uint16Array]",uint32Tag4="[object Uint32Array]";var reEmptyStringLeading2=/\b__p \+= '';/g,reEmptyStringMiddle2=/\b(__p \+=) '' \+/g,reEmptyStringTrailing2=/(__e\(.*?\)|\b__t\)) \+\n'';/g;var reEscapedHtml2=/&(?:amp|lt|gt|quot|#39);/g,reUnescapedHtml2=/[&<>"']/g,reHasEscapedHtml2=RegExp(reEscapedHtml2.source),reHasUnescapedHtml2=RegExp(reUnescapedHtml2.source);var reEscape2=/<%-([\s\S]+?)%>/g,reEvaluate2=/<%([\s\S]+?)%>/g,reInterpolate2=/<%=([\s\S]+?)%>/g;var reIsDeepProp2=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,reIsPlainProp2=/^\w*$/,rePropName2=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;var reRegExpChar3=/[\\^$.*+?()[\]{}|]/g,reHasRegExpChar2=RegExp(reRegExpChar3.source);var reTrimStart4=/^\s+/;var reWhitespace2=/\s/;var reWrapComment2=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,reWrapDetails2=/\{\n\/\* \[wrapped with (.+)\] \*/,reSplitDetails2=/,? & /;var reAsciiWord2=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;var reForbiddenIdentifierChars2=/[()=,{}\[\]\/\s]/;var reEscapeChar2=/\\(\\)?/g;var reEsTemplate2=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g;var reFlags3=/\w*$/;var reIsBadHex2=/^[-+]0x[0-9a-f]+$/i;var reIsBinary2=/^0b[01]+$/i;var reIsHostCtor2=/^\[object .+?Constructor\]$/;var reIsOctal2=/^0o[0-7]+$/i;var reIsUint2=/^(?:0|[1-9]\d*)$/;var reLatin2=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g;var reNoMatch2=/($^)/;var reUnescapedString2=/['\n\r\u2028\u2029\\]/g;var rsAstralRange5="\\ud800-\\udfff",rsComboMarksRange6="\\u0300-\\u036f",reComboHalfMarksRange6="\\ufe20-\\ufe2f",rsComboSymbolsRange6="\\u20d0-\\u20ff",rsComboRange6=rsComboMarksRange6+reComboHalfMarksRange6+rsComboSymbolsRange6,rsDingbatRange2="\\u2700-\\u27bf",rsLowerRange2="a-z\\xdf-\\xf6\\xf8-\\xff",rsMathOpRange2="\\xac\\xb1\\xd7\\xf7",rsNonCharRange2="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",rsPunctuationRange2="\\u2000-\\u206f",rsSpaceRange2=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",rsUpperRange2="A-Z\\xc0-\\xd6\\xd8-\\xde",rsVarRange5="\\ufe0e\\ufe0f",rsBreakRange2=rsMathOpRange2+rsNonCharRange2+rsPunctuationRange2+rsSpaceRange2;var rsApos3="['’]",rsAstral3="["+rsAstralRange5+"]",rsBreak2="["+rsBreakRange2+"]",rsCombo5="["+rsComboRange6+"]",rsDigits2="\\d+",rsDingbat2="["+rsDingbatRange2+"]",rsLower2="["+rsLowerRange2+"]",rsMisc2="[^"+rsAstralRange5+rsBreakRange2+rsDigits2+rsDingbatRange2+rsLowerRange2+rsUpperRange2+"]",rsFitz4="\\ud83c[\\udffb-\\udfff]",rsModifier4="(?:"+rsCombo5+"|"+rsFitz4+")",rsNonAstral4="[^"+rsAstralRange5+"]",rsRegional4="(?:\\ud83c[\\udde6-\\uddff]){2}",rsSurrPair4="[\\ud800-\\udbff][\\udc00-\\udfff]",rsUpper2="["+rsUpperRange2+"]",rsZWJ5="\\u200d";var rsMiscLower2="(?:"+rsLower2+"|"+rsMisc2+")",rsMiscUpper2="(?:"+rsUpper2+"|"+rsMisc2+")",rsOptContrLower2="(?:"+rsApos3+"(?:d|ll|m|re|s|t|ve))?",rsOptContrUpper2="(?:"+rsApos3+"(?:D|LL|M|RE|S|T|VE))?",reOptMod4=rsModifier4+"?",rsOptVar4="["+rsVarRange5+"]?",rsOptJoin4="(?:"+rsZWJ5+"(?:"+[rsNonAstral4,rsRegional4,rsSurrPair4].join("|")+")"+rsOptVar4+reOptMod4+")*",rsOrdLower2="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",rsOrdUpper2="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",rsSeq4=rsOptVar4+reOptMod4+rsOptJoin4,rsEmoji2="(?:"+[rsDingbat2,rsRegional4,rsSurrPair4].join("|")+")"+rsSeq4,rsSymbol3="(?:"+[rsNonAstral4+rsCombo5+"?",rsCombo5,rsRegional4,rsSurrPair4,rsAstral3].join("|")+")";var reApos2=RegExp(rsApos3,"g");var reComboMark2=RegExp(rsCombo5,"g");var reUnicode3=RegExp(rsFitz4+"(?="+rsFitz4+")|"+rsSymbol3+rsSeq4,"g");var reUnicodeWord2=RegExp([rsUpper2+"?"+rsLower2+"+"+rsOptContrLower2+"(?="+[rsBreak2,rsUpper2,"$"].join("|")+")",rsMiscUpper2+"+"+rsOptContrUpper2+"(?="+[rsBreak2,rsUpper2+rsMiscLower2,"$"].join("|")+")",rsUpper2+"?"+rsMiscLower2+"+"+rsOptContrLower2,rsUpper2+"+"+rsOptContrUpper2,rsOrdUpper2,rsOrdLower2,rsDigits2,rsEmoji2].join("|"),"g");var reHasUnicode2=RegExp("["+rsZWJ5+rsAstralRange5+rsComboRange6+rsVarRange5+"]");var reHasUnicodeWord2=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;var contextProps=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"];var templateCounter=-1;var typedArrayTags2={};typedArrayTags2[float32Tag4]=typedArrayTags2[float64Tag4]=typedArrayTags2[int8Tag4]=typedArrayTags2[int16Tag4]=typedArrayTags2[int32Tag4]=typedArrayTags2[uint8Tag4]=typedArrayTags2[uint8ClampedTag4]=typedArrayTags2[uint16Tag4]=typedArrayTags2[uint32Tag4]=true;typedArrayTags2[argsTag5]=typedArrayTags2[arrayTag4]=typedArrayTags2[arrayBufferTag6]=typedArrayTags2[boolTag6]=typedArrayTags2[dataViewTag6]=typedArrayTags2[dateTag6]=typedArrayTags2[errorTag5]=typedArrayTags2[funcTag4]=typedArrayTags2[mapTag11]=typedArrayTags2[numberTag6]=typedArrayTags2[objectTag6]=typedArrayTags2[regexpTag6]=typedArrayTags2[setTag11]=typedArrayTags2[stringTag6]=typedArrayTags2[weakMapTag5]=false;var cloneableTags2={};cloneableTags2[argsTag5]=cloneableTags2[arrayTag4]=cloneableTags2[arrayBufferTag6]=cloneableTags2[dataViewTag6]=cloneableTags2[boolTag6]=cloneableTags2[dateTag6]=cloneableTags2[float32Tag4]=cloneableTags2[float64Tag4]=cloneableTags2[int8Tag4]=cloneableTags2[int16Tag4]=cloneableTags2[int32Tag4]=cloneableTags2[mapTag11]=cloneableTags2[numberTag6]=cloneableTags2[objectTag6]=cloneableTags2[regexpTag6]=cloneableTags2[setTag11]=cloneableTags2[stringTag6]=cloneableTags2[symbolTag5]=cloneableTags2[uint8Tag4]=cloneableTags2[uint8ClampedTag4]=cloneableTags2[uint16Tag4]=cloneableTags2[uint32Tag4]=true;cloneableTags2[errorTag5]=cloneableTags2[funcTag4]=cloneableTags2[weakMapTag5]=false;var deburredLetters2={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","Ĳ":"IJ","ĳ":"ij","Œ":"Oe","œ":"oe","ŉ":"'n","ſ":"s"};var htmlEscapes2={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};var htmlUnescapes2={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"};var stringEscapes2={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"};var freeParseFloat2=parseFloat,freeParseInt2=parseInt;var freeGlobal2=typeof global=="object"&&global&&global.Object===Object&&global;var freeSelf2=typeof self=="object"&&self&&self.Object===Object&&self;var root2=freeGlobal2||freeSelf2||Function("return this")();var freeExports4=typeof exports2=="object"&&exports2&&!exports2.nodeType&&exports2;var freeModule4=freeExports4&&typeof module2=="object"&&module2&&!module2.nodeType&&module2;var moduleExports4=freeModule4&&freeModule4.exports===freeExports4;var freeProcess2=moduleExports4&&freeGlobal2.process;var nodeUtil2=function(){try{var types6=freeModule4&&freeModule4.require&&freeModule4.require("util").types;if(types6){return types6}return freeProcess2&&freeProcess2.binding&&freeProcess2.binding("util")}catch(e){}}();var nodeIsArrayBuffer2=nodeUtil2&&nodeUtil2.isArrayBuffer,nodeIsDate2=nodeUtil2&&nodeUtil2.isDate,nodeIsMap2=nodeUtil2&&nodeUtil2.isMap,nodeIsRegExp2=nodeUtil2&&nodeUtil2.isRegExp,nodeIsSet2=nodeUtil2&&nodeUtil2.isSet,nodeIsTypedArray2=nodeUtil2&&nodeUtil2.isTypedArray;function apply2(func,thisArg,args2){switch(args2.length){case 0:return func.call(thisArg);case 1:return func.call(thisArg,args2[0]);case 2:return func.call(thisArg,args2[0],args2[1]);case 3:return func.call(thisArg,args2[0],args2[1],args2[2])}return func.apply(thisArg,args2)}function arrayAggregator2(array,setter,iteratee2,accumulator){var index=-1,length=array==null?0:array.length;while(++index<length){var value=array[index];setter(accumulator,value,iteratee2(value),array)}return accumulator}function arrayEach2(array,iteratee2){var index=-1,length=array==null?0:array.length;while(++index<length){if(iteratee2(array[index],index,array)===false){break}}return array}function arrayEachRight2(array,iteratee2){var length=array==null?0:array.length;while(length--){if(iteratee2(array[length],length,array)===false){break}}return array}function arrayEvery2(array,predicate){var index=-1,length=array==null?0:array.length;while(++index<length){if(!predicate(array[index],index,array)){return false}}return true}function arrayFilter2(array,predicate){var index=-1,length=array==null?0:array.length,resIndex=0,result2=[];while(++index<length){var value=array[index];if(predicate(value,index,array)){result2[resIndex++]=value}}return result2}function arrayIncludes2(array,value){var length=array==null?0:array.length;return!!length&&baseIndexOf2(array,value,0)>-1}function arrayIncludesWith2(array,value,comparator){var index=-1,length=array==null?0:array.length;while(++index<length){if(comparator(value,array[index])){return true}}return false}function arrayMap2(array,iteratee2){var index=-1,length=array==null?0:array.length,result2=Array(length);while(++index<length){result2[index]=iteratee2(array[index],index,array)}return result2}function arrayPush2(array,values2){var index=-1,length=values2.length,offset=array.length;while(++index<length){array[offset+index]=values2[index]}return array}function arrayReduce2(array,iteratee2,accumulator,initAccum){var index=-1,length=array==null?0:array.length;if(initAccum&&length){accumulator=array[++index]}while(++index<length){accumulator=iteratee2(accumulator,array[index],index,array)}return accumulator}function arrayReduceRight2(array,iteratee2,accumulator,initAccum){var length=array==null?0:array.length;if(initAccum&&length){accumulator=array[--length]}while(length--){accumulator=iteratee2(accumulator,array[length],length,array)}return accumulator}function arraySome2(array,predicate){var index=-1,length=array==null?0:array.length;while(++index<length){if(predicate(array[index],index,array)){return true}}return false}var asciiSize2=baseProperty2("length");function asciiToArray2(string){return string.split("")}function asciiWords2(string){return string.match(reAsciiWord2)||[]}function baseFindKey2(collection,predicate,eachFunc){var result2;eachFunc(collection,function(value,key,collection2){if(predicate(value,key,collection2)){result2=key;return false}});return result2}function baseFindIndex2(array,predicate,fromIndex,fromRight){var length=array.length,index=fromIndex+(fromRight?1:-1);while(fromRight?index--:++index<length){if(predicate(array[index],index,array)){return index}}return-1}function baseIndexOf2(array,value,fromIndex){return value===value?strictIndexOf2(array,value,fromIndex):baseFindIndex2(array,baseIsNaN2,fromIndex)}function baseIndexOfWith2(array,value,fromIndex,comparator){var index=fromIndex-1,length=array.length;while(++index<length){if(comparator(array[index],value)){return index}}return-1}function baseIsNaN2(value){return value!==value}function baseMean2(array,iteratee2){var length=array==null?0:array.length;return length?baseSum2(array,iteratee2)/length:NAN4}function baseProperty2(key){return function(object){return object==null?undefined2:object[key]}}function basePropertyOf2(object){return function(key){return object==null?undefined2:object[key]}}function baseReduce2(collection,iteratee2,accumulator,initAccum,eachFunc){eachFunc(collection,function(value,index,collection2){accumulator=initAccum?(initAccum=false,value):iteratee2(accumulator,value,index,collection2)});return accumulator}function baseSortBy2(array,comparer){var length=array.length;array.sort(comparer);while(length--){array[length]=array[length].value}return array}function baseSum2(array,iteratee2){var result2,index=-1,length=array.length;while(++index<length){var current=iteratee2(array[index]);if(current!==undefined2){result2=result2===undefined2?current:result2+current}}return result2}function baseTimes2(n,iteratee2){var index=-1,result2=Array(n);while(++index<n){result2[index]=iteratee2(index)}return result2}function baseToPairs2(object,props){return arrayMap2(props,function(key){return[key,object[key]]})}function baseTrim2(string){return string?string.slice(0,trimmedEndIndex2(string)+1).replace(reTrimStart4,""):string}function baseUnary2(func){return function(value){return func(value)}}function baseValues2(object,props){return arrayMap2(props,function(key){return object[key]})}function cacheHas2(cache2,key){return cache2.has(key)}function charsStartIndex2(strSymbols,chrSymbols){var index=-1,length=strSymbols.length;while(++index<length&&baseIndexOf2(chrSymbols,strSymbols[index],0)>-1){}return index}function charsEndIndex2(strSymbols,chrSymbols){var index=strSymbols.length;while(index--&&baseIndexOf2(chrSymbols,strSymbols[index],0)>-1){}return index}function countHolders2(array,placeholder){var length=array.length,result2=0;while(length--){if(array[length]===placeholder){++result2}}return result2}var deburrLetter2=basePropertyOf2(deburredLetters2);var escapeHtmlChar2=basePropertyOf2(htmlEscapes2);function escapeStringChar2(chr){return"\\"+stringEscapes2[chr]}function getValue2(object,key){return object==null?undefined2:object[key]}function hasUnicode2(string){return reHasUnicode2.test(string)}function hasUnicodeWord2(string){return reHasUnicodeWord2.test(string)}function iteratorToArray2(iterator){var data,result2=[];while(!(data=iterator.next()).done){result2.push(data.value)}return result2}function mapToArray2(map3){var index=-1,result2=Array(map3.size);map3.forEach(function(value,key){result2[++index]=[key,value]});return result2}function overArg2(func,transform2){return function(arg){return func(transform2(arg))}}function replaceHolders2(array,placeholder){var index=-1,length=array.length,resIndex=0,result2=[];while(++index<length){var value=array[index];if(value===placeholder||value===PLACEHOLDER3){array[index]=PLACEHOLDER3;result2[resIndex++]=index}}return result2}function setToArray2(set3){var index=-1,result2=Array(set3.size);set3.forEach(function(value){result2[++index]=value});return result2}function setToPairs2(set3){var index=-1,result2=Array(set3.size);set3.forEach(function(value){result2[++index]=[value,value]});return result2}function strictIndexOf2(array,value,fromIndex){var index=fromIndex-1,length=array.length;while(++index<length){if(array[index]===value){return index}}return-1}function strictLastIndexOf2(array,value,fromIndex){var index=fromIndex+1;while(index--){if(array[index]===value){return index}}return index}function stringSize2(string){return hasUnicode2(string)?unicodeSize2(string):asciiSize2(string)}function stringToArray2(string){return hasUnicode2(string)?unicodeToArray2(string):asciiToArray2(string)}function trimmedEndIndex2(string){var index=string.length;while(index--&&reWhitespace2.test(string.charAt(index))){}return index}var unescapeHtmlChar2=basePropertyOf2(htmlUnescapes2);function unicodeSize2(string){var result2=reUnicode3.lastIndex=0;while(reUnicode3.test(string)){++result2}return result2}function unicodeToArray2(string){return string.match(reUnicode3)||[]}function unicodeWords2(string){return string.match(reUnicodeWord2)||[]}var runInContext=function runInContext2(context){context=context==null?root2:_.defaults(root2.Object(),context,_.pick(root2,contextProps));var Array2=context.Array,Date2=context.Date,Error2=context.Error,Function2=context.Function,Math2=context.Math,Object2=context.Object,RegExp2=context.RegExp,String2=context.String,TypeError2=context.TypeError;var arrayProto7=Array2.prototype,funcProto4=Function2.prototype,objectProto30=Object2.prototype;var coreJsData2=context["__core-js_shared__"];var funcToString4=funcProto4.toString;var hasOwnProperty26=objectProto30.hasOwnProperty;var idCounter2=0;var maskSrcKey2=function(){var uid=/[^.]+$/.exec(coreJsData2&&coreJsData2.keys&&coreJsData2.keys.IE_PROTO||"");return uid?"Symbol(src)_1."+uid:""}();var nativeObjectToString5=objectProto30.toString;var objectCtorString2=funcToString4.call(Object2);var oldDash=root2._;var reIsNative2=RegExp2("^"+funcToString4.call(hasOwnProperty26).replace(reRegExpChar3,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var Buffer12=moduleExports4?context.Buffer:undefined2,Symbol3=context.Symbol,Uint8Array3=context.Uint8Array,allocUnsafe2=Buffer12?Buffer12.allocUnsafe:undefined2,getPrototype2=overArg2(Object2.getPrototypeOf,Object2),objectCreate2=Object2.create,propertyIsEnumerable3=objectProto30.propertyIsEnumerable,splice4=arrayProto7.splice,spreadableSymbol2=Symbol3?Symbol3.isConcatSpreadable:undefined2,symIterator3=Symbol3?Symbol3.iterator:undefined2,symToStringTag3=Symbol3?Symbol3.toStringTag:undefined2;var defineProperty2=function(){try{var func=getNative2(Object2,"defineProperty");func({},"",{});return func}catch(e){}}();var ctxClearTimeout=context.clearTimeout!==root2.clearTimeout&&context.clearTimeout,ctxNow=Date2&&Date2.now!==root2.Date.now&&Date2.now,ctxSetTimeout=context.setTimeout!==root2.setTimeout&&context.setTimeout;var nativeCeil5=Math2.ceil,nativeFloor5=Math2.floor,nativeGetSymbols3=Object2.getOwnPropertySymbols,nativeIsBuffer2=Buffer12?Buffer12.isBuffer:undefined2,nativeIsFinite3=context.isFinite,nativeJoin2=arrayProto7.join,nativeKeys2=overArg2(Object2.keys,Object2),nativeMax18=Math2.max,nativeMin16=Math2.min,nativeNow2=Date2.now,nativeParseInt2=context.parseInt,nativeRandom3=Math2.random,nativeReverse2=arrayProto7.reverse;var DataView3=getNative2(context,"DataView"),Map3=getNative2(context,"Map"),Promise3=getNative2(context,"Promise"),Set3=getNative2(context,"Set"),WeakMap3=getNative2(context,"WeakMap"),nativeCreate2=getNative2(Object2,"create");var metaMap2=WeakMap3&&new WeakMap3;var realNames2={};var dataViewCtorString2=toSource2(DataView3),mapCtorString2=toSource2(Map3),promiseCtorString2=toSource2(Promise3),setCtorString2=toSource2(Set3),weakMapCtorString2=toSource2(WeakMap3);var symbolProto4=Symbol3?Symbol3.prototype:undefined2,symbolValueOf3=symbolProto4?symbolProto4.valueOf:undefined2,symbolToString2=symbolProto4?symbolProto4.toString:undefined2;function lodash3(value){if(isObjectLike3(value)&&!isArray3(value)&&!(value instanceof LazyWrapper2)){if(value instanceof LodashWrapper2){return value}if(hasOwnProperty26.call(value,"__wrapped__")){return wrapperClone2(value)}}return new LodashWrapper2(value)}var baseCreate2=function(){function object(){}return function(proto2){if(!isObject4(proto2)){return{}}if(objectCreate2){return objectCreate2(proto2)}object.prototype=proto2;var result3=new object;object.prototype=undefined2;return result3}}();function baseLodash2(){}function LodashWrapper2(value,chainAll){this.__wrapped__=value;this.__actions__=[];this.__chain__=!!chainAll;this.__index__=0;this.__values__=undefined2}lodash3.templateSettings={"escape":reEscape2,"evaluate":reEvaluate2,"interpolate":reInterpolate2,"variable":"","imports":{"_":lodash3}};lodash3.prototype=baseLodash2.prototype;lodash3.prototype.constructor=lodash3;LodashWrapper2.prototype=baseCreate2(baseLodash2.prototype);LodashWrapper2.prototype.constructor=LodashWrapper2;function LazyWrapper2(value){this.__wrapped__=value;this.__actions__=[];this.__dir__=1;this.__filtered__=false;this.__iteratees__=[];this.__takeCount__=MAX_ARRAY_LENGTH8;this.__views__=[]}function lazyClone2(){var result3=new LazyWrapper2(this.__wrapped__);result3.__actions__=copyArray2(this.__actions__);result3.__dir__=this.__dir__;result3.__filtered__=this.__filtered__;result3.__iteratees__=copyArray2(this.__iteratees__);result3.__takeCount__=this.__takeCount__;result3.__views__=copyArray2(this.__views__);return result3}function lazyReverse2(){if(this.__filtered__){var result3=new LazyWrapper2(this);result3.__dir__=-1;result3.__filtered__=true}else{result3=this.clone();result3.__dir__*=-1}return result3}function lazyValue2(){var array=this.__wrapped__.value(),dir=this.__dir__,isArr=isArray3(array),isRight=dir<0,arrLength=isArr?array.length:0,view=getView2(0,arrLength,this.__views__),start=view.start,end=view.end,length=end-start,index=isRight?end:start-1,iteratees=this.__iteratees__,iterLength=iteratees.length,resIndex=0,takeCount=nativeMin16(length,this.__takeCount__);if(!isArr||!isRight&&arrLength==length&&takeCount==length){return baseWrapperValue2(array,this.__actions__)}var result3=[];outer:while(length--&&resIndex<takeCount){index+=dir;var iterIndex=-1,value=array[index];while(++iterIndex<iterLength){var data=iteratees[iterIndex],iteratee3=data.iteratee,type2=data.type,computed=iteratee3(value);if(type2==LAZY_MAP_FLAG2){value=computed}else if(!computed){if(type2==LAZY_FILTER_FLAG3){continue outer}else{break outer}}}result3[resIndex++]=value}return result3}LazyWrapper2.prototype=baseCreate2(baseLodash2.prototype);LazyWrapper2.prototype.constructor=LazyWrapper2;function Hash2(entries2){var index=-1,length=entries2==null?0:entries2.length;this.clear();while(++index<length){var entry=entries2[index];this.set(entry[0],entry[1])}}function hashClear2(){this.__data__=nativeCreate2?nativeCreate2(null):{};this.size=0}function hashDelete2(key){var result3=this.has(key)&&delete this.__data__[key];this.size-=result3?1:0;return result3}function hashGet2(key){var data=this.__data__;if(nativeCreate2){var result3=data[key];return result3===HASH_UNDEFINED4?undefined2:result3}return hasOwnProperty26.call(data,key)?data[key]:undefined2}function hashHas2(key){var data=this.__data__;return nativeCreate2?data[key]!==undefined2:hasOwnProperty26.call(data,key)}function hashSet2(key,value){var data=this.__data__;this.size+=this.has(key)?0:1;data[key]=nativeCreate2&&value===undefined2?HASH_UNDEFINED4:value;return this}Hash2.prototype.clear=hashClear2;Hash2.prototype["delete"]=hashDelete2;Hash2.prototype.get=hashGet2;Hash2.prototype.has=hashHas2;Hash2.prototype.set=hashSet2;function ListCache2(entries2){var index=-1,length=entries2==null?0:entries2.length;this.clear();while(++index<length){var entry=entries2[index];this.set(entry[0],entry[1])}}function listCacheClear2(){this.__data__=[];this.size=0}function listCacheDelete2(key){var data=this.__data__,index=assocIndexOf2(data,key);if(index<0){return false}var lastIndex=data.length-1;if(index==lastIndex){data.pop()}else{splice4.call(data,index,1)}--this.size;return true}function listCacheGet2(key){var data=this.__data__,index=assocIndexOf2(data,key);return index<0?undefined2:data[index][1]}function listCacheHas2(key){return assocIndexOf2(this.__data__,key)>-1}function listCacheSet2(key,value){var data=this.__data__,index=assocIndexOf2(data,key);if(index<0){++this.size;data.push([key,value])}else{data[index][1]=value}return this}ListCache2.prototype.clear=listCacheClear2;ListCache2.prototype["delete"]=listCacheDelete2;ListCache2.prototype.get=listCacheGet2;ListCache2.prototype.has=listCacheHas2;ListCache2.prototype.set=listCacheSet2;function MapCache2(entries2){var index=-1,length=entries2==null?0:entries2.length;this.clear();while(++index<length){var entry=entries2[index];this.set(entry[0],entry[1])}}function mapCacheClear2(){this.size=0;this.__data__={"hash":new Hash2,"map":new(Map3||ListCache2),"string":new Hash2}}function mapCacheDelete2(key){var result3=getMapData2(this,key)["delete"](key);this.size-=result3?1:0;return result3}function mapCacheGet2(key){return getMapData2(this,key).get(key)}function mapCacheHas2(key){return getMapData2(this,key).has(key)}function mapCacheSet2(key,value){var data=getMapData2(this,key),size3=data.size;data.set(key,value);this.size+=data.size==size3?0:1;return this}MapCache2.prototype.clear=mapCacheClear2;MapCache2.prototype["delete"]=mapCacheDelete2;MapCache2.prototype.get=mapCacheGet2;MapCache2.prototype.has=mapCacheHas2;MapCache2.prototype.set=mapCacheSet2;function SetCache2(values3){var index=-1,length=values3==null?0:values3.length;this.__data__=new MapCache2;while(++index<length){this.add(values3[index])}}function setCacheAdd2(value){this.__data__.set(value,HASH_UNDEFINED4);return this}function setCacheHas2(value){return this.__data__.has(value)}SetCache2.prototype.add=SetCache2.prototype.push=setCacheAdd2;SetCache2.prototype.has=setCacheHas2;function Stack2(entries2){var data=this.__data__=new ListCache2(entries2);this.size=data.size}function stackClear2(){this.__data__=new ListCache2;this.size=0}function stackDelete2(key){var data=this.__data__,result3=data["delete"](key);this.size=data.size;return result3}function stackGet2(key){return this.__data__.get(key)}function stackHas2(key){return this.__data__.has(key)}function stackSet2(key,value){var data=this.__data__;if(data instanceof ListCache2){var pairs2=data.__data__;if(!Map3||pairs2.length<LARGE_ARRAY_SIZE4-1){pairs2.push([key,value]);this.size=++data.size;return this}data=this.__data__=new MapCache2(pairs2)}data.set(key,value);this.size=data.size;return this}Stack2.prototype.clear=stackClear2;Stack2.prototype["delete"]=stackDelete2;Stack2.prototype.get=stackGet2;Stack2.prototype.has=stackHas2;Stack2.prototype.set=stackSet2;function arrayLikeKeys2(value,inherited){var isArr=isArray3(value),isArg=!isArr&&isArguments2(value),isBuff=!isArr&&!isArg&&isBuffer2(value),isType=!isArr&&!isArg&&!isBuff&&isTypedArray2(value),skipIndexes=isArr||isArg||isBuff||isType,result3=skipIndexes?baseTimes2(value.length,String2):[],length=result3.length;for(var key in value){if((inherited||hasOwnProperty26.call(value,key))&&!(skipIndexes&&(key=="length"||isBuff&&(key=="offset"||key=="parent")||isType&&(key=="buffer"||key=="byteLength"||key=="byteOffset")||isIndex2(key,length)))){result3.push(key)}}return result3}function arraySample2(array){var length=array.length;return length?array[baseRandom2(0,length-1)]:undefined2}function arraySampleSize2(array,n){return shuffleSelf2(copyArray2(array),baseClamp2(n,0,array.length))}function arrayShuffle2(array){return shuffleSelf2(copyArray2(array))}function assignMergeValue2(object,key,value){if(value!==undefined2&&!eq2(object[key],value)||value===undefined2&&!(key in object)){baseAssignValue2(object,key,value)}}function assignValue2(object,key,value){var objValue=object[key];if(!(hasOwnProperty26.call(object,key)&&eq2(objValue,value))||value===undefined2&&!(key in object)){baseAssignValue2(object,key,value)}}function assocIndexOf2(array,key){var length=array.length;while(length--){if(eq2(array[length][0],key)){return length}}return-1}function baseAggregator2(collection,setter,iteratee3,accumulator){baseEach2(collection,function(value,key,collection2){setter(accumulator,value,iteratee3(value),collection2)});return accumulator}function baseAssign2(object,source){return object&&copyObject2(source,keys2(source),object)}function baseAssignIn2(object,source){return object&&copyObject2(source,keysIn2(source),object)}function baseAssignValue2(object,key,value){if(key=="__proto__"&&defineProperty2){defineProperty2(object,key,{"configurable":true,"enumerable":true,"value":value,"writable":true})}else{object[key]=value}}function baseAt2(object,paths){var index=-1,length=paths.length,result3=Array2(length),skip=object==null;while(++index<length){result3[index]=skip?undefined2:get4(object,paths[index])}return result3}function baseClamp2(number2,lower,upper){if(number2===number2){if(upper!==undefined2){number2=number2<=upper?number2:upper}if(lower!==undefined2){number2=number2>=lower?number2:lower}}return number2}function baseClone2(value,bitmask,customizer,key,object,stack2){var result3,isDeep=bitmask&CLONE_DEEP_FLAG9,isFlat=bitmask&CLONE_FLAT_FLAG3,isFull=bitmask&CLONE_SYMBOLS_FLAG7;if(customizer){result3=object?customizer(value,key,object,stack2):customizer(value)}if(result3!==undefined2){return result3}if(!isObject4(value)){return value}var isArr=isArray3(value);if(isArr){result3=initCloneArray2(value);if(!isDeep){return copyArray2(value,result3)}}else{var tag=getTag3(value),isFunc=tag==funcTag4||tag==genTag3;if(isBuffer2(value)){return cloneBuffer2(value,isDeep)}if(tag==objectTag6||tag==argsTag5||isFunc&&!object){result3=isFlat||isFunc?{}:initCloneObject2(value);if(!isDeep){return isFlat?copySymbolsIn2(value,baseAssignIn2(result3,value)):copySymbols2(value,baseAssign2(result3,value))}}else{if(!cloneableTags2[tag]){return object?value:{}}result3=initCloneByTag2(value,tag,isDeep)}}stack2||(stack2=new Stack2);var stacked=stack2.get(value);if(stacked){return stacked}stack2.set(value,result3);if(isSet2(value)){value.forEach(function(subValue){result3.add(baseClone2(subValue,bitmask,customizer,subValue,value,stack2))})}else if(isMap2(value)){value.forEach(function(subValue,key2){result3.set(key2,baseClone2(subValue,bitmask,customizer,key2,value,stack2))})}var keysFunc=isFull?isFlat?getAllKeysIn2:getAllKeys2:isFlat?keysIn2:keys2;var props=isArr?undefined2:keysFunc(value);arrayEach2(props||value,function(subValue,key2){if(props){key2=subValue;subValue=value[key2]}assignValue2(result3,key2,baseClone2(subValue,bitmask,customizer,key2,value,stack2))});return result3}function baseConforms2(source){var props=keys2(source);return function(object){return baseConformsTo2(object,source,props)}}function baseConformsTo2(object,source,props){var length=props.length;if(object==null){return!length}object=Object2(object);while(length--){var key=props[length],predicate=source[key],value=object[key];if(value===undefined2&&!(key in object)||!predicate(value)){return false}}return true}function baseDelay2(func,wait,args2){if(typeof func!="function"){throw new TypeError2(FUNC_ERROR_TEXT13)}return setTimeout3(function(){func.apply(undefined2,args2)},wait)}function baseDifference2(array,values3,iteratee3,comparator){var index=-1,includes3=arrayIncludes2,isCommon=true,length=array.length,result3=[],valuesLength=values3.length;if(!length){return result3}if(iteratee3){values3=arrayMap2(values3,baseUnary2(iteratee3))}if(comparator){includes3=arrayIncludesWith2;isCommon=false}else if(values3.length>=LARGE_ARRAY_SIZE4){includes3=cacheHas2;isCommon=false;values3=new SetCache2(values3)}outer:while(++index<length){var value=array[index],computed=iteratee3==null?value:iteratee3(value);value=comparator||value!==0?value:0;if(isCommon&&computed===computed){var valuesIndex=valuesLength;while(valuesIndex--){if(values3[valuesIndex]===computed){continue outer}}result3.push(value)}else if(!includes3(values3,computed,comparator)){result3.push(value)}}return result3}var baseEach2=createBaseEach2(baseForOwn2);var baseEachRight2=createBaseEach2(baseForOwnRight2,true);function baseEvery2(collection,predicate){var result3=true;baseEach2(collection,function(value,index,collection2){result3=!!predicate(value,index,collection2);return result3});return result3}function baseExtremum2(array,iteratee3,comparator){var index=-1,length=array.length;while(++index<length){var value=array[index],current=iteratee3(value);if(current!=null&&(computed===undefined2?current===current&&!isSymbol2(current):comparator(current,computed))){var computed=current,result3=value}}return result3}function baseFill2(array,value,start,end){var length=array.length;start=toInteger2(start);if(start<0){start=-start>length?0:length+start}end=end===undefined2||end>length?length:toInteger2(end);if(end<0){end+=length}end=start>end?0:toLength2(end);while(start<end){array[start++]=value}return array}function baseFilter2(collection,predicate){var result3=[];baseEach2(collection,function(value,index,collection2){if(predicate(value,index,collection2)){result3.push(value)}});return result3}function baseFlatten2(array,depth,predicate,isStrict,result3){var index=-1,length=array.length;predicate||(predicate=isFlattenable2);result3||(result3=[]);while(++index<length){var value=array[index];if(depth>0&&predicate(value)){if(depth>1){baseFlatten2(value,depth-1,predicate,isStrict,result3)}else{arrayPush2(result3,value)}}else if(!isStrict){result3[result3.length]=value}}return result3}var baseFor2=createBaseFor2();var baseForRight2=createBaseFor2(true);function baseForOwn2(object,iteratee3){return object&&baseFor2(object,iteratee3,keys2)}function baseForOwnRight2(object,iteratee3){return object&&baseForRight2(object,iteratee3,keys2)}function baseFunctions2(object,props){return arrayFilter2(props,function(key){return isFunction3(object[key])})}function baseGet2(object,path27){path27=castPath2(path27,object);var index=0,length=path27.length;while(object!=null&&index<length){object=object[toKey2(path27[index++])]}return index&&index==length?object:undefined2}function baseGetAllKeys2(object,keysFunc,symbolsFunc){var result3=keysFunc(object);return isArray3(object)?result3:arrayPush2(result3,symbolsFunc(object))}function baseGetTag2(value){if(value==null){return value===undefined2?undefinedTag2:nullTag2}return symToStringTag3&&symToStringTag3 in Object2(value)?getRawTag2(value):objectToString2(value)}function baseGt2(value,other){return value>other}function baseHas2(object,key){return object!=null&&hasOwnProperty26.call(object,key)}function baseHasIn2(object,key){return object!=null&&key in Object2(object)}function baseInRange2(number2,start,end){return number2>=nativeMin16(start,end)&&number2<nativeMax18(start,end)}function baseIntersection2(arrays,iteratee3,comparator){var includes3=comparator?arrayIncludesWith2:arrayIncludes2,length=arrays[0].length,othLength=arrays.length,othIndex=othLength,caches=Array2(othLength),maxLength=Infinity,result3=[];while(othIndex--){var array=arrays[othIndex];if(othIndex&&iteratee3){array=arrayMap2(array,baseUnary2(iteratee3))}maxLength=nativeMin16(array.length,maxLength);caches[othIndex]=!comparator&&(iteratee3||length>=120&&array.length>=120)?new SetCache2(othIndex&&array):undefined2}array=arrays[0];var index=-1,seen=caches[0];outer:while(++index<length&&result3.length<maxLength){var value=array[index],computed=iteratee3?iteratee3(value):value;value=comparator||value!==0?value:0;if(!(seen?cacheHas2(seen,computed):includes3(result3,computed,comparator))){othIndex=othLength;while(--othIndex){var cache2=caches[othIndex];if(!(cache2?cacheHas2(cache2,computed):includes3(arrays[othIndex],computed,comparator))){continue outer}}if(seen){seen.push(computed)}result3.push(value)}}return result3}function baseInverter2(object,setter,iteratee3,accumulator){baseForOwn2(object,function(value,key,object2){setter(accumulator,iteratee3(value),key,object2)});return accumulator}function baseInvoke2(object,path27,args2){path27=castPath2(path27,object);object=parent2(object,path27);var func=object==null?object:object[toKey2(last2(path27))];return func==null?undefined2:apply2(func,object,args2)}function baseIsArguments2(value){return isObjectLike3(value)&&baseGetTag2(value)==argsTag5}function baseIsArrayBuffer2(value){return isObjectLike3(value)&&baseGetTag2(value)==arrayBufferTag6}function baseIsDate2(value){return isObjectLike3(value)&&baseGetTag2(value)==dateTag6}function baseIsEqual2(value,other,bitmask,customizer,stack2){if(value===other){return true}if(value==null||other==null||!isObjectLike3(value)&&!isObjectLike3(other)){return value!==value&&other!==other}return baseIsEqualDeep2(value,other,bitmask,customizer,baseIsEqual2,stack2)}function baseIsEqualDeep2(object,other,bitmask,customizer,equalFunc,stack2){var objIsArr=isArray3(object),othIsArr=isArray3(other),objTag=objIsArr?arrayTag4:getTag3(object),othTag=othIsArr?arrayTag4:getTag3(other);objTag=objTag==argsTag5?objectTag6:objTag;othTag=othTag==argsTag5?objectTag6:othTag;var objIsObj=objTag==objectTag6,othIsObj=othTag==objectTag6,isSameTag=objTag==othTag;if(isSameTag&&isBuffer2(object)){if(!isBuffer2(other)){return false}objIsArr=true;objIsObj=false}if(isSameTag&&!objIsObj){stack2||(stack2=new Stack2);return objIsArr||isTypedArray2(object)?equalArrays2(object,other,bitmask,customizer,equalFunc,stack2):equalByTag2(object,other,objTag,bitmask,customizer,equalFunc,stack2)}if(!(bitmask&COMPARE_PARTIAL_FLAG7)){var objIsWrapped=objIsObj&&hasOwnProperty26.call(object,"__wrapped__"),othIsWrapped=othIsObj&&hasOwnProperty26.call(other,"__wrapped__");if(objIsWrapped||othIsWrapped){var objUnwrapped=objIsWrapped?object.value():object,othUnwrapped=othIsWrapped?other.value():other;stack2||(stack2=new Stack2);return equalFunc(objUnwrapped,othUnwrapped,bitmask,customizer,stack2)}}if(!isSameTag){return false}stack2||(stack2=new Stack2);return equalObjects2(object,other,bitmask,customizer,equalFunc,stack2)}function baseIsMap2(value){return isObjectLike3(value)&&getTag3(value)==mapTag11}function baseIsMatch2(object,source,matchData,customizer){var index=matchData.length,length=index,noCustomizer=!customizer;if(object==null){return!length}object=Object2(object);while(index--){var data=matchData[index];if(noCustomizer&&data[2]?data[1]!==object[data[0]]:!(data[0]in object)){return false}}while(++index<length){data=matchData[index];var key=data[0],objValue=object[key],srcValue=data[1];if(noCustomizer&&data[2]){if(objValue===undefined2&&!(key in object)){return false}}else{var stack2=new Stack2;if(customizer){var result3=customizer(objValue,srcValue,key,object,source,stack2)}if(!(result3===undefined2?baseIsEqual2(srcValue,objValue,COMPARE_PARTIAL_FLAG7|COMPARE_UNORDERED_FLAG5,customizer,stack2):result3)){return false}}}return true}function baseIsNative2(value){if(!isObject4(value)||isMasked2(value)){return false}var pattern=isFunction3(value)?reIsNative2:reIsHostCtor2;return pattern.test(toSource2(value))}function baseIsRegExp2(value){return isObjectLike3(value)&&baseGetTag2(value)==regexpTag6}function baseIsSet2(value){return isObjectLike3(value)&&getTag3(value)==setTag11}function baseIsTypedArray2(value){return isObjectLike3(value)&&isLength2(value.length)&&!!typedArrayTags2[baseGetTag2(value)]}function baseIteratee2(value){if(typeof value=="function"){return value}if(value==null){return identity2}if(typeof value=="object"){return isArray3(value)?baseMatchesProperty2(value[0],value[1]):baseMatches2(value)}return property2(value)}function baseKeys2(object){if(!isPrototype2(object)){return nativeKeys2(object)}var result3=[];for(var key in Object2(object)){if(hasOwnProperty26.call(object,key)&&key!="constructor"){result3.push(key)}}return result3}function baseKeysIn2(object){if(!isObject4(object)){return nativeKeysIn2(object)}var isProto=isPrototype2(object),result3=[];for(var key in object){if(!(key=="constructor"&&(isProto||!hasOwnProperty26.call(object,key)))){result3.push(key)}}return result3}function baseLt2(value,other){return value<other}function baseMap2(collection,iteratee3){var index=-1,result3=isArrayLike2(collection)?Array2(collection.length):[];baseEach2(collection,function(value,key,collection2){result3[++index]=iteratee3(value,key,collection2)});return result3}function baseMatches2(source){var matchData=getMatchData2(source);if(matchData.length==1&&matchData[0][2]){return matchesStrictComparable2(matchData[0][0],matchData[0][1])}return function(object){return object===source||baseIsMatch2(object,source,matchData)}}function baseMatchesProperty2(path27,srcValue){if(isKey2(path27)&&isStrictComparable2(srcValue)){return matchesStrictComparable2(toKey2(path27),srcValue)}return function(object){var objValue=get4(object,path27);return objValue===undefined2&&objValue===srcValue?hasIn2(object,path27):baseIsEqual2(srcValue,objValue,COMPARE_PARTIAL_FLAG7|COMPARE_UNORDERED_FLAG5)}}function baseMerge2(object,source,srcIndex,customizer,stack2){if(object===source){return}baseFor2(source,function(srcValue,key){stack2||(stack2=new Stack2);if(isObject4(srcValue)){baseMergeDeep2(object,source,key,srcIndex,baseMerge2,customizer,stack2)}else{var newValue=customizer?customizer(safeGet2(object,key),srcValue,key+"",object,source,stack2):undefined2;if(newValue===undefined2){newValue=srcValue}assignMergeValue2(object,key,newValue)}},keysIn2)}function baseMergeDeep2(object,source,key,srcIndex,mergeFunc,customizer,stack2){var objValue=safeGet2(object,key),srcValue=safeGet2(source,key),stacked=stack2.get(srcValue);if(stacked){assignMergeValue2(object,key,stacked);return}var newValue=customizer?customizer(objValue,srcValue,key+"",object,source,stack2):undefined2;var isCommon=newValue===undefined2;if(isCommon){var isArr=isArray3(srcValue),isBuff=!isArr&&isBuffer2(srcValue),isTyped=!isArr&&!isBuff&&isTypedArray2(srcValue);newValue=srcValue;if(isArr||isBuff||isTyped){if(isArray3(objValue)){newValue=objValue}else if(isArrayLikeObject2(objValue)){newValue=copyArray2(objValue)}else if(isBuff){isCommon=false;newValue=cloneBuffer2(srcValue,true)}else if(isTyped){isCommon=false;newValue=cloneTypedArray2(srcValue,true)}else{newValue=[]}}else if(isPlainObject3(srcValue)||isArguments2(srcValue)){newValue=objValue;if(isArguments2(objValue)){newValue=toPlainObject2(objValue)}else if(!isObject4(objValue)||isFunction3(objValue)){newValue=initCloneObject2(srcValue)}}else{isCommon=false}}if(isCommon){stack2.set(srcValue,newValue);mergeFunc(newValue,srcValue,srcIndex,customizer,stack2);stack2["delete"](srcValue)}assignMergeValue2(object,key,newValue)}function baseNth2(array,n){var length=array.length;if(!length){return}n+=n<0?length:0;return isIndex2(n,length)?array[n]:undefined2}function baseOrderBy2(collection,iteratees,orders){if(iteratees.length){iteratees=arrayMap2(iteratees,function(iteratee3){if(isArray3(iteratee3)){return function(value){return baseGet2(value,iteratee3.length===1?iteratee3[0]:iteratee3)}}return iteratee3})}else{iteratees=[identity2]}var index=-1;iteratees=arrayMap2(iteratees,baseUnary2(getIteratee()));var result3=baseMap2(collection,function(value,key,collection2){var criteria=arrayMap2(iteratees,function(iteratee3){return iteratee3(value)});return{"criteria":criteria,"index":++index,"value":value}});return baseSortBy2(result3,function(object,other){return compareMultiple2(object,other,orders)})}function basePick2(object,paths){return basePickBy2(object,paths,function(value,path27){return hasIn2(object,path27)})}function basePickBy2(object,paths,predicate){var index=-1,length=paths.length,result3={};while(++index<length){var path27=paths[index],value=baseGet2(object,path27);if(predicate(value,path27)){baseSet2(result3,castPath2(path27,object),value)}}return result3}function basePropertyDeep2(path27){return function(object){return baseGet2(object,path27)}}function basePullAll2(array,values3,iteratee3,comparator){var indexOf3=comparator?baseIndexOfWith2:baseIndexOf2,index=-1,length=values3.length,seen=array;if(array===values3){values3=copyArray2(values3)}if(iteratee3){seen=arrayMap2(array,baseUnary2(iteratee3))}while(++index<length){var fromIndex=0,value=values3[index],computed=iteratee3?iteratee3(value):value;while((fromIndex=indexOf3(seen,computed,fromIndex,comparator))>-1){if(seen!==array){splice4.call(seen,fromIndex,1)}splice4.call(array,fromIndex,1)}}return array}function basePullAt2(array,indexes){var length=array?indexes.length:0,lastIndex=length-1;while(length--){var index=indexes[length];if(length==lastIndex||index!==previous){var previous=index;if(isIndex2(index)){splice4.call(array,index,1)}else{baseUnset2(array,index)}}}return array}function baseRandom2(lower,upper){return lower+nativeFloor5(nativeRandom3()*(upper-lower+1))}function baseRange2(start,end,step,fromRight){var index=-1,length=nativeMax18(nativeCeil5((end-start)/(step||1)),0),result3=Array2(length);while(length--){result3[fromRight?length:++index]=start;start+=step}return result3}function baseRepeat2(string,n){var result3="";if(!string||n<1||n>MAX_SAFE_INTEGER7){return result3}do{if(n%2){result3+=string}n=nativeFloor5(n/2);if(n){string+=string}}while(n);return result3}function baseRest2(func,start){return setToString2(overRest2(func,start,identity2),func+"")}function baseSample2(collection){return arraySample2(values2(collection))}function baseSampleSize2(collection,n){var array=values2(collection);return shuffleSelf2(array,baseClamp2(n,0,array.length))}function baseSet2(object,path27,value,customizer){if(!isObject4(object)){return object}path27=castPath2(path27,object);var index=-1,length=path27.length,lastIndex=length-1,nested=object;while(nested!=null&&++index<length){var key=toKey2(path27[index]),newValue=value;if(key==="__proto__"||key==="constructor"||key==="prototype"){return object}if(index!=lastIndex){var objValue=nested[key];newValue=customizer?customizer(objValue,key,nested):undefined2;if(newValue===undefined2){newValue=isObject4(objValue)?objValue:isIndex2(path27[index+1])?[]:{}}}assignValue2(nested,key,newValue);nested=nested[key]}return object}var baseSetData2=!metaMap2?identity2:function(func,data){metaMap2.set(func,data);return func};var baseSetToString2=!defineProperty2?identity2:function(func,string){return defineProperty2(func,"toString",{"configurable":true,"enumerable":false,"value":constant2(string),"writable":true})};function baseShuffle2(collection){return shuffleSelf2(values2(collection))}function baseSlice2(array,start,end){var index=-1,length=array.length;if(start<0){start=-start>length?0:length+start}end=end>length?length:end;if(end<0){end+=length}length=start>end?0:end-start>>>0;start>>>=0;var result3=Array2(length);while(++index<length){result3[index]=array[index+start]}return result3}function baseSome2(collection,predicate){var result3;baseEach2(collection,function(value,index,collection2){result3=predicate(value,index,collection2);return!result3});return!!result3}function baseSortedIndex2(array,value,retHighest){var low=0,high=array==null?low:array.length;if(typeof value=="number"&&value===value&&high<=HALF_MAX_ARRAY_LENGTH2){while(low<high){var mid=low+high>>>1,computed=array[mid];if(computed!==null&&!isSymbol2(computed)&&(retHighest?computed<=value:computed<value)){low=mid+1}else{high=mid}}return high}return baseSortedIndexBy2(array,value,identity2,retHighest)}function baseSortedIndexBy2(array,value,iteratee3,retHighest){var low=0,high=array==null?0:array.length;if(high===0){return 0}value=iteratee3(value);var valIsNaN=value!==value,valIsNull=value===null,valIsSymbol=isSymbol2(value),valIsUndefined=value===undefined2;while(low<high){var mid=nativeFloor5((low+high)/2),computed=iteratee3(array[mid]),othIsDefined=computed!==undefined2,othIsNull=computed===null,othIsReflexive=computed===computed,othIsSymbol=isSymbol2(computed);if(valIsNaN){var setLow=retHighest||othIsReflexive}else if(valIsUndefined){setLow=othIsReflexive&&(retHighest||othIsDefined)}else if(valIsNull){setLow=othIsReflexive&&othIsDefined&&(retHighest||!othIsNull)}else if(valIsSymbol){setLow=othIsReflexive&&othIsDefined&&!othIsNull&&(retHighest||!othIsSymbol)}else if(othIsNull||othIsSymbol){setLow=false}else{setLow=retHighest?computed<=value:computed<value}if(setLow){low=mid+1}else{high=mid}}return nativeMin16(high,MAX_ARRAY_INDEX2)}function baseSortedUniq2(array,iteratee3){var index=-1,length=array.length,resIndex=0,result3=[];while(++index<length){var value=array[index],computed=iteratee3?iteratee3(value):value;if(!index||!eq2(computed,seen)){var seen=computed;result3[resIndex++]=value===0?0:value}}return result3}function baseToNumber2(value){if(typeof value=="number"){return value}if(isSymbol2(value)){return NAN4}return+value}function baseToString3(value){if(typeof value=="string"){return value}if(isArray3(value)){return arrayMap2(value,baseToString3)+""}if(isSymbol2(value)){return symbolToString2?symbolToString2.call(value):""}var result3=value+"";return result3=="0"&&1/value==-INFINITY8?"-0":result3}function baseUniq2(array,iteratee3,comparator){var index=-1,includes3=arrayIncludes2,length=array.length,isCommon=true,result3=[],seen=result3;if(comparator){isCommon=false;includes3=arrayIncludesWith2}else if(length>=LARGE_ARRAY_SIZE4){var set4=iteratee3?null:createSet2(array);if(set4){return setToArray2(set4)}isCommon=false;includes3=cacheHas2;seen=new SetCache2}else{seen=iteratee3?[]:result3}outer:while(++index<length){var value=array[index],computed=iteratee3?iteratee3(value):value;value=comparator||value!==0?value:0;if(isCommon&&computed===computed){var seenIndex=seen.length;while(seenIndex--){if(seen[seenIndex]===computed){continue outer}}if(iteratee3){seen.push(computed)}result3.push(value)}else if(!includes3(seen,computed,comparator)){if(seen!==result3){seen.push(computed)}result3.push(value)}}return result3}function baseUnset2(object,path27){path27=castPath2(path27,object);object=parent2(object,path27);return object==null||delete object[toKey2(last2(path27))]}function baseUpdate2(object,path27,updater,customizer){return baseSet2(object,path27,updater(baseGet2(object,path27)),customizer)}function baseWhile2(array,predicate,isDrop,fromRight){var length=array.length,index=fromRight?length:-1;while((fromRight?index--:++index<length)&&predicate(array[index],index,array)){}return isDrop?baseSlice2(array,fromRight?0:index,fromRight?index+1:length):baseSlice2(array,fromRight?index+1:0,fromRight?length:index)}function baseWrapperValue2(value,actions){var result3=value;if(result3 instanceof LazyWrapper2){result3=result3.value()}return arrayReduce2(actions,function(result4,action){return action.func.apply(action.thisArg,arrayPush2([result4],action.args))},result3)}function baseXor2(arrays,iteratee3,comparator){var length=arrays.length;if(length<2){return length?baseUniq2(arrays[0]):[]}var index=-1,result3=Array2(length);while(++index<length){var array=arrays[index],othIndex=-1;while(++othIndex<length){if(othIndex!=index){result3[index]=baseDifference2(result3[index]||array,arrays[othIndex],iteratee3,comparator)}}}return baseUniq2(baseFlatten2(result3,1),iteratee3,comparator)}function baseZipObject2(props,values3,assignFunc){var index=-1,length=props.length,valsLength=values3.length,result3={};while(++index<length){var value=index<valsLength?values3[index]:undefined2;assignFunc(result3,props[index],value)}return result3}function castArrayLikeObject2(value){return isArrayLikeObject2(value)?value:[]}function castFunction2(value){return typeof value=="function"?value:identity2}function castPath2(value,object){if(isArray3(value)){return value}return isKey2(value,object)?[value]:stringToPath2(toString5(value))}var castRest2=baseRest2;function castSlice2(array,start,end){var length=array.length;end=end===undefined2?length:end;return!start&&end>=length?array:baseSlice2(array,start,end)}var clearTimeout2=ctxClearTimeout||function(id){return root2.clearTimeout(id)};function cloneBuffer2(buffer,isDeep){if(isDeep){return buffer.slice()}var length=buffer.length,result3=allocUnsafe2?allocUnsafe2(length):new buffer.constructor(length);buffer.copy(result3);return result3}function cloneArrayBuffer2(arrayBuffer){var result3=new arrayBuffer.constructor(arrayBuffer.byteLength);new Uint8Array3(result3).set(new Uint8Array3(arrayBuffer));return result3}function cloneDataView2(dataView,isDeep){var buffer=isDeep?cloneArrayBuffer2(dataView.buffer):dataView.buffer;return new dataView.constructor(buffer,dataView.byteOffset,dataView.byteLength)}function cloneRegExp2(regexp){var result3=new regexp.constructor(regexp.source,reFlags3.exec(regexp));result3.lastIndex=regexp.lastIndex;return result3}function cloneSymbol2(symbol){return symbolValueOf3?Object2(symbolValueOf3.call(symbol)):{}}function cloneTypedArray2(typedArray,isDeep){var buffer=isDeep?cloneArrayBuffer2(typedArray.buffer):typedArray.buffer;return new typedArray.constructor(buffer,typedArray.byteOffset,typedArray.length)}function compareAscending2(value,other){if(value!==other){var valIsDefined=value!==undefined2,valIsNull=value===null,valIsReflexive=value===value,valIsSymbol=isSymbol2(value);var othIsDefined=other!==undefined2,othIsNull=other===null,othIsReflexive=other===other,othIsSymbol=isSymbol2(other);if(!othIsNull&&!othIsSymbol&&!valIsSymbol&&value>other||valIsSymbol&&othIsDefined&&othIsReflexive&&!othIsNull&&!othIsSymbol||valIsNull&&othIsDefined&&othIsReflexive||!valIsDefined&&othIsReflexive||!valIsReflexive){return 1}if(!valIsNull&&!valIsSymbol&&!othIsSymbol&&value<other||othIsSymbol&&valIsDefined&&valIsReflexive&&!valIsNull&&!valIsSymbol||othIsNull&&valIsDefined&&valIsReflexive||!othIsDefined&&valIsReflexive||!othIsReflexive){return-1}}return 0}function compareMultiple2(object,other,orders){var index=-1,objCriteria=object.criteria,othCriteria=other.criteria,length=objCriteria.length,ordersLength=orders.length;while(++index<length){var result3=compareAscending2(objCriteria[index],othCriteria[index]);if(result3){if(index>=ordersLength){return result3}var order=orders[index];return result3*(order=="desc"?-1:1)}}return object.index-other.index}function composeArgs2(args2,partials,holders,isCurried){var argsIndex=-1,argsLength=args2.length,holdersLength=holders.length,leftIndex=-1,leftLength=partials.length,rangeLength=nativeMax18(argsLength-holdersLength,0),result3=Array2(leftLength+rangeLength),isUncurried=!isCurried;while(++leftIndex<leftLength){result3[leftIndex]=partials[leftIndex]}while(++argsIndex<holdersLength){if(isUncurried||argsIndex<argsLength){result3[holders[argsIndex]]=args2[argsIndex]}}while(rangeLength--){result3[leftIndex++]=args2[argsIndex++]}return result3}function composeArgsRight2(args2,partials,holders,isCurried){var argsIndex=-1,argsLength=args2.length,holdersIndex=-1,holdersLength=holders.length,rightIndex=-1,rightLength=partials.length,rangeLength=nativeMax18(argsLength-holdersLength,0),result3=Array2(rangeLength+rightLength),isUncurried=!isCurried;while(++argsIndex<rangeLength){result3[argsIndex]=args2[argsIndex]}var offset=argsIndex;while(++rightIndex<rightLength){result3[offset+rightIndex]=partials[rightIndex]}while(++holdersIndex<holdersLength){if(isUncurried||argsIndex<argsLength){result3[offset+holders[holdersIndex]]=args2[argsIndex++]}}return result3}function copyArray2(source,array){var index=-1,length=source.length;array||(array=Array2(length));while(++index<length){array[index]=source[index]}return array}function copyObject2(source,props,object,customizer){var isNew=!object;object||(object={});var index=-1,length=props.length;while(++index<length){var key=props[index];var newValue=customizer?customizer(object[key],source[key],key,object,source):undefined2;if(newValue===undefined2){newValue=source[key]}if(isNew){baseAssignValue2(object,key,newValue)}else{assignValue2(object,key,newValue)}}return object}function copySymbols2(source,object){return copyObject2(source,getSymbols2(source),object)}function copySymbolsIn2(source,object){return copyObject2(source,getSymbolsIn2(source),object)}function createAggregator2(setter,initializer){return function(collection,iteratee3){var func=isArray3(collection)?arrayAggregator2:baseAggregator2,accumulator=initializer?initializer():{};return func(collection,setter,getIteratee(iteratee3,2),accumulator)}}function createAssigner2(assigner){return baseRest2(function(object,sources){var index=-1,length=sources.length,customizer=length>1?sources[length-1]:undefined2,guard=length>2?sources[2]:undefined2;customizer=assigner.length>3&&typeof customizer=="function"?(length--,customizer):undefined2;if(guard&&isIterateeCall2(sources[0],sources[1],guard)){customizer=length<3?undefined2:customizer;length=1}object=Object2(object);while(++index<length){var source=sources[index];if(source){assigner(object,source,index,customizer)}}return object})}function createBaseEach2(eachFunc,fromRight){return function(collection,iteratee3){if(collection==null){return collection}if(!isArrayLike2(collection)){return eachFunc(collection,iteratee3)}var length=collection.length,index=fromRight?length:-1,iterable=Object2(collection);while(fromRight?index--:++index<length){if(iteratee3(iterable[index],index,iterable)===false){break}}return collection}}function createBaseFor2(fromRight){return function(object,iteratee3,keysFunc){var index=-1,iterable=Object2(object),props=keysFunc(object),length=props.length;while(length--){var key=props[fromRight?length:++index];if(iteratee3(iterable[key],key,iterable)===false){break}}return object}}function createBind2(func,bitmask,thisArg){var isBind=bitmask&WRAP_BIND_FLAG10,Ctor=createCtor2(func);function wrapper(){var fn2=this&&this!==root2&&this instanceof wrapper?Ctor:func;return fn2.apply(isBind?thisArg:this,arguments)}return wrapper}function createCaseFirst2(methodName){return function(string){string=toString5(string);var strSymbols=hasUnicode2(string)?stringToArray2(string):undefined2;var chr=strSymbols?strSymbols[0]:string.charAt(0);var trailing=strSymbols?castSlice2(strSymbols,1).join(""):string.slice(1);return chr[methodName]()+trailing}}function createCompounder2(callback){return function(string){return arrayReduce2(words2(deburr2(string).replace(reApos2,"")),callback,"")}}function createCtor2(Ctor){return function(){var args2=arguments;switch(args2.length){case 0:return new Ctor;case 1:return new Ctor(args2[0]);case 2:return new Ctor(args2[0],args2[1]);case 3:return new Ctor(args2[0],args2[1],args2[2]);case 4:return new Ctor(args2[0],args2[1],args2[2],args2[3]);case 5:return new Ctor(args2[0],args2[1],args2[2],args2[3],args2[4]);case 6:return new Ctor(args2[0],args2[1],args2[2],args2[3],args2[4],args2[5]);case 7:return new Ctor(args2[0],args2[1],args2[2],args2[3],args2[4],args2[5],args2[6])}var thisBinding=baseCreate2(Ctor.prototype),result3=Ctor.apply(thisBinding,args2);return isObject4(result3)?result3:thisBinding}}function createCurry2(func,bitmask,arity){var Ctor=createCtor2(func);function wrapper(){var length=arguments.length,args2=Array2(length),index=length,placeholder=getHolder2(wrapper);while(index--){args2[index]=arguments[index]}var holders=length<3&&args2[0]!==placeholder&&args2[length-1]!==placeholder?[]:replaceHolders2(args2,placeholder);length-=holders.length;if(length<arity){return createRecurry2(func,bitmask,createHybrid2,wrapper.placeholder,undefined2,args2,holders,undefined2,undefined2,arity-length)}var fn2=this&&this!==root2&&this instanceof wrapper?Ctor:func;return apply2(fn2,this,args2)}return wrapper}function createFind2(findIndexFunc){return function(collection,predicate,fromIndex){var iterable=Object2(collection);if(!isArrayLike2(collection)){var iteratee3=getIteratee(predicate,3);collection=keys2(collection);predicate=function(key){return iteratee3(iterable[key],key,iterable)}}var index=findIndexFunc(collection,predicate,fromIndex);return index>-1?iterable[iteratee3?collection[index]:index]:undefined2}}function createFlow2(fromRight){return flatRest2(function(funcs){var length=funcs.length,index=length,prereq=LodashWrapper2.prototype.thru;if(fromRight){funcs.reverse()}while(index--){var func=funcs[index];if(typeof func!="function"){throw new TypeError2(FUNC_ERROR_TEXT13)}if(prereq&&!wrapper&&getFuncName2(func)=="wrapper"){var wrapper=new LodashWrapper2([],true)}}index=wrapper?index:length;while(++index<length){func=funcs[index];var funcName=getFuncName2(func),data=funcName=="wrapper"?getData2(func):undefined2;if(data&&isLaziable2(data[0])&&data[1]==(WRAP_ARY_FLAG6|WRAP_CURRY_FLAG8|WRAP_PARTIAL_FLAG8|WRAP_REARG_FLAG5)&&!data[4].length&&data[9]==1){wrapper=wrapper[getFuncName2(data[0])].apply(wrapper,data[3])}else{wrapper=func.length==1&&isLaziable2(func)?wrapper[funcName]():wrapper.thru(func)}}return function(){var args2=arguments,value=args2[0];if(wrapper&&args2.length==1&&isArray3(value)){return wrapper.plant(value).value()}var index2=0,result3=length?funcs[index2].apply(this,args2):value;while(++index2<length){result3=funcs[index2].call(this,result3)}return result3}})}function createHybrid2(func,bitmask,thisArg,partials,holders,partialsRight,holdersRight,argPos,ary3,arity){var isAry=bitmask&WRAP_ARY_FLAG6,isBind=bitmask&WRAP_BIND_FLAG10,isBindKey=bitmask&WRAP_BIND_KEY_FLAG8,isCurried=bitmask&(WRAP_CURRY_FLAG8|WRAP_CURRY_RIGHT_FLAG5),isFlip=bitmask&WRAP_FLIP_FLAG4,Ctor=isBindKey?undefined2:createCtor2(func);function wrapper(){var length=arguments.length,args2=Array2(length),index=length;while(index--){args2[index]=arguments[index]}if(isCurried){var placeholder=getHolder2(wrapper),holdersCount=countHolders2(args2,placeholder)}if(partials){args2=composeArgs2(args2,partials,holders,isCurried)}if(partialsRight){args2=composeArgsRight2(args2,partialsRight,holdersRight,isCurried)}length-=holdersCount;if(isCurried&&length<arity){var newHolders=replaceHolders2(args2,placeholder);return createRecurry2(func,bitmask,createHybrid2,wrapper.placeholder,thisArg,args2,newHolders,argPos,ary3,arity-length)}var thisBinding=isBind?thisArg:this,fn2=isBindKey?thisBinding[func]:func;length=args2.length;if(argPos){args2=reorder2(args2,argPos)}else if(isFlip&&length>1){args2.reverse()}if(isAry&&ary3<length){args2.length=ary3}if(this&&this!==root2&&this instanceof wrapper){fn2=Ctor||createCtor2(fn2)}return fn2.apply(thisBinding,args2)}return wrapper}function createInverter2(setter,toIteratee){return function(object,iteratee3){return baseInverter2(object,setter,toIteratee(iteratee3),{})}}function createMathOperation2(operator,defaultValue){return function(value,other){var result3;if(value===undefined2&&other===undefined2){return defaultValue}if(value!==undefined2){result3=value}if(other!==undefined2){if(result3===undefined2){return other}if(typeof value=="string"||typeof other=="string"){value=baseToString3(value);other=baseToString3(other)}else{value=baseToNumber2(value);other=baseToNumber2(other)}result3=operator(value,other)}return result3}}function createOver2(arrayFunc){return flatRest2(function(iteratees){iteratees=arrayMap2(iteratees,baseUnary2(getIteratee()));return baseRest2(function(args2){var thisArg=this;return arrayFunc(iteratees,function(iteratee3){return apply2(iteratee3,thisArg,args2)})})})}function createPadding2(length,chars){chars=chars===undefined2?" ":baseToString3(chars);var charsLength=chars.length;if(charsLength<2){return charsLength?baseRepeat2(chars,length):chars}var result3=baseRepeat2(chars,nativeCeil5(length/stringSize2(chars)));return hasUnicode2(chars)?castSlice2(stringToArray2(result3),0,length).join(""):result3.slice(0,length)}function createPartial2(func,bitmask,thisArg,partials){var isBind=bitmask&WRAP_BIND_FLAG10,Ctor=createCtor2(func);function wrapper(){var argsIndex=-1,argsLength=arguments.length,leftIndex=-1,leftLength=partials.length,args2=Array2(leftLength+argsLength),fn2=this&&this!==root2&&this instanceof wrapper?Ctor:func;while(++leftIndex<leftLength){args2[leftIndex]=partials[leftIndex]}while(argsLength--){args2[leftIndex++]=arguments[++argsIndex]}return apply2(fn2,isBind?thisArg:this,args2)}return wrapper}function createRange2(fromRight){return function(start,end,step){if(step&&typeof step!="number"&&isIterateeCall2(start,end,step)){end=step=undefined2}start=toFinite2(start);if(end===undefined2){end=start;start=0}else{end=toFinite2(end)}step=step===undefined2?start<end?1:-1:toFinite2(step);return baseRange2(start,end,step,fromRight)}}function createRelationalOperation2(operator){return function(value,other){if(!(typeof value=="string"&&typeof other=="string")){value=toNumber2(value);other=toNumber2(other)}return operator(value,other)}}function createRecurry2(func,bitmask,wrapFunc,placeholder,thisArg,partials,holders,argPos,ary3,arity){var isCurry=bitmask&WRAP_CURRY_FLAG8,newHolders=isCurry?holders:undefined2,newHoldersRight=isCurry?undefined2:holders,newPartials=isCurry?partials:undefined2,newPartialsRight=isCurry?undefined2:partials;bitmask|=isCurry?WRAP_PARTIAL_FLAG8:WRAP_PARTIAL_RIGHT_FLAG5;bitmask&=~(isCurry?WRAP_PARTIAL_RIGHT_FLAG5:WRAP_PARTIAL_FLAG8);if(!(bitmask&WRAP_CURRY_BOUND_FLAG3)){bitmask&=~(WRAP_BIND_FLAG10|WRAP_BIND_KEY_FLAG8)}var newData=[func,bitmask,thisArg,newPartials,newHolders,newPartialsRight,newHoldersRight,argPos,ary3,arity];var result3=wrapFunc.apply(undefined2,newData);if(isLaziable2(func)){setData2(result3,newData)}result3.placeholder=placeholder;return setWrapToString2(result3,func,bitmask)}function createRound2(methodName){var func=Math2[methodName];return function(number2,precision){number2=toNumber2(number2);precision=precision==null?0:nativeMin16(toInteger2(precision),292);if(precision&&nativeIsFinite3(number2)){var pair=(toString5(number2)+"e").split("e"),value=func(pair[0]+"e"+(+pair[1]+precision));pair=(toString5(value)+"e").split("e");return+(pair[0]+"e"+(+pair[1]-precision))}return func(number2)}}var createSet2=!(Set3&&1/setToArray2(new Set3([,-0]))[1]==INFINITY8)?noop4:function(values3){return new Set3(values3)};function createToPairs2(keysFunc){return function(object){var tag=getTag3(object);if(tag==mapTag11){return mapToArray2(object)}if(tag==setTag11){return setToPairs2(object)}return baseToPairs2(object,keysFunc(object))}}function createWrap2(func,bitmask,thisArg,partials,holders,argPos,ary3,arity){var isBindKey=bitmask&WRAP_BIND_KEY_FLAG8;if(!isBindKey&&typeof func!="function"){throw new TypeError2(FUNC_ERROR_TEXT13)}var length=partials?partials.length:0;if(!length){bitmask&=~(WRAP_PARTIAL_FLAG8|WRAP_PARTIAL_RIGHT_FLAG5);partials=holders=undefined2}ary3=ary3===undefined2?ary3:nativeMax18(toInteger2(ary3),0);arity=arity===undefined2?arity:toInteger2(arity);length-=holders?holders.length:0;if(bitmask&WRAP_PARTIAL_RIGHT_FLAG5){var partialsRight=partials,holdersRight=holders;partials=holders=undefined2}var data=isBindKey?undefined2:getData2(func);var newData=[func,bitmask,thisArg,partials,holders,partialsRight,holdersRight,argPos,ary3,arity];if(data){mergeData2(newData,data)}func=newData[0];bitmask=newData[1];thisArg=newData[2];partials=newData[3];holders=newData[4];arity=newData[9]=newData[9]===undefined2?isBindKey?0:func.length:nativeMax18(newData[9]-length,0);if(!arity&&bitmask&(WRAP_CURRY_FLAG8|WRAP_CURRY_RIGHT_FLAG5)){bitmask&=~(WRAP_CURRY_FLAG8|WRAP_CURRY_RIGHT_FLAG5)}if(!bitmask||bitmask==WRAP_BIND_FLAG10){var result3=createBind2(func,bitmask,thisArg)}else if(bitmask==WRAP_CURRY_FLAG8||bitmask==WRAP_CURRY_RIGHT_FLAG5){result3=createCurry2(func,bitmask,arity)}else if((bitmask==WRAP_PARTIAL_FLAG8||bitmask==(WRAP_BIND_FLAG10|WRAP_PARTIAL_FLAG8))&&!holders.length){result3=createPartial2(func,bitmask,thisArg,partials)}else{result3=createHybrid2.apply(undefined2,newData)}var setter=data?baseSetData2:setData2;return setWrapToString2(setter(result3,newData),func,bitmask)}function customDefaultsAssignIn2(objValue,srcValue,key,object){if(objValue===undefined2||eq2(objValue,objectProto30[key])&&!hasOwnProperty26.call(object,key)){return srcValue}return objValue}function customDefaultsMerge2(objValue,srcValue,key,object,source,stack2){if(isObject4(objValue)&&isObject4(srcValue)){stack2.set(srcValue,objValue);baseMerge2(objValue,srcValue,undefined2,customDefaultsMerge2,stack2);stack2["delete"](srcValue)}return objValue}function customOmitClone2(value){return isPlainObject3(value)?undefined2:value}function equalArrays2(array,other,bitmask,customizer,equalFunc,stack2){var isPartial=bitmask&COMPARE_PARTIAL_FLAG7,arrLength=array.length,othLength=other.length;if(arrLength!=othLength&&!(isPartial&&othLength>arrLength)){return false}var arrStacked=stack2.get(array);var othStacked=stack2.get(other);if(arrStacked&&othStacked){return arrStacked==other&&othStacked==array}var index=-1,result3=true,seen=bitmask&COMPARE_UNORDERED_FLAG5?new SetCache2:undefined2;stack2.set(array,other);stack2.set(other,array);while(++index<arrLength){var arrValue=array[index],othValue=other[index];if(customizer){var compared=isPartial?customizer(othValue,arrValue,index,other,array,stack2):customizer(arrValue,othValue,index,array,other,stack2)}if(compared!==undefined2){if(compared){continue}result3=false;break}if(seen){if(!arraySome2(other,function(othValue2,othIndex){if(!cacheHas2(seen,othIndex)&&(arrValue===othValue2||equalFunc(arrValue,othValue2,bitmask,customizer,stack2))){return seen.push(othIndex)}})){result3=false;break}}else if(!(arrValue===othValue||equalFunc(arrValue,othValue,bitmask,customizer,stack2))){result3=false;break}}stack2["delete"](array);stack2["delete"](other);return result3}function equalByTag2(object,other,tag,bitmask,customizer,equalFunc,stack2){switch(tag){case dataViewTag6:if(object.byteLength!=other.byteLength||object.byteOffset!=other.byteOffset){return false}object=object.buffer;other=other.buffer;case arrayBufferTag6:if(object.byteLength!=other.byteLength||!equalFunc(new Uint8Array3(object),new Uint8Array3(other))){return false}return true;case boolTag6:case dateTag6:case numberTag6:return eq2(+object,+other);case errorTag5:return object.name==other.name&&object.message==other.message;case regexpTag6:case stringTag6:return object==other+"";case mapTag11:var convert=mapToArray2;case setTag11:var isPartial=bitmask&COMPARE_PARTIAL_FLAG7;convert||(convert=setToArray2);if(object.size!=other.size&&!isPartial){return false}var stacked=stack2.get(object);if(stacked){return stacked==other}bitmask|=COMPARE_UNORDERED_FLAG5;stack2.set(object,other);var result3=equalArrays2(convert(object),convert(other),bitmask,customizer,equalFunc,stack2);stack2["delete"](object);return result3;case symbolTag5:if(symbolValueOf3){return symbolValueOf3.call(object)==symbolValueOf3.call(other)}}return false}function equalObjects2(object,other,bitmask,customizer,equalFunc,stack2){var isPartial=bitmask&COMPARE_PARTIAL_FLAG7,objProps=getAllKeys2(object),objLength=objProps.length,othProps=getAllKeys2(other),othLength=othProps.length;if(objLength!=othLength&&!isPartial){return false}var index=objLength;while(index--){var key=objProps[index];if(!(isPartial?key in other:hasOwnProperty26.call(other,key))){return false}}var objStacked=stack2.get(object);var othStacked=stack2.get(other);if(objStacked&&othStacked){return objStacked==other&&othStacked==object}var result3=true;stack2.set(object,other);stack2.set(other,object);var skipCtor=isPartial;while(++index<objLength){key=objProps[index];var objValue=object[key],othValue=other[key];if(customizer){var compared=isPartial?customizer(othValue,objValue,key,other,object,stack2):customizer(objValue,othValue,key,object,other,stack2)}if(!(compared===undefined2?objValue===othValue||equalFunc(objValue,othValue,bitmask,customizer,stack2):compared)){result3=false;break}skipCtor||(skipCtor=key=="constructor")}if(result3&&!skipCtor){var objCtor=object.constructor,othCtor=other.constructor;if(objCtor!=othCtor&&("constructor"in object&&"constructor"in other)&&!(typeof objCtor=="function"&&objCtor instanceof objCtor&&typeof othCtor=="function"&&othCtor instanceof othCtor)){result3=false}}stack2["delete"](object);stack2["delete"](other);return result3}function flatRest2(func){return setToString2(overRest2(func,undefined2,flatten2),func+"")}function getAllKeys2(object){return baseGetAllKeys2(object,keys2,getSymbols2)}function getAllKeysIn2(object){return baseGetAllKeys2(object,keysIn2,getSymbolsIn2)}var getData2=!metaMap2?noop4:function(func){return metaMap2.get(func)};function getFuncName2(func){var result3=func.name+"",array=realNames2[result3],length=hasOwnProperty26.call(realNames2,result3)?array.length:0;while(length--){var data=array[length],otherFunc=data.func;if(otherFunc==null||otherFunc==func){return data.name}}return result3}function getHolder2(func){var object=hasOwnProperty26.call(lodash3,"placeholder")?lodash3:func;return object.placeholder}function getIteratee(){var result3=lodash3.iteratee||iteratee2;result3=result3===iteratee2?baseIteratee2:result3;return arguments.length?result3(arguments[0],arguments[1]):result3}function getMapData2(map4,key){var data=map4.__data__;return isKeyable2(key)?data[typeof key=="string"?"string":"hash"]:data.map}function getMatchData2(object){var result3=keys2(object),length=result3.length;while(length--){var key=result3[length],value=object[key];result3[length]=[key,value,isStrictComparable2(value)]}return result3}function getNative2(object,key){var value=getValue2(object,key);return baseIsNative2(value)?value:undefined2}function getRawTag2(value){var isOwn=hasOwnProperty26.call(value,symToStringTag3),tag=value[symToStringTag3];try{value[symToStringTag3]=undefined2;var unmasked=true}catch(e){}var result3=nativeObjectToString5.call(value);if(unmasked){if(isOwn){value[symToStringTag3]=tag}else{delete value[symToStringTag3]}}return result3}var getSymbols2=!nativeGetSymbols3?stubArray2:function(object){if(object==null){return[]}object=Object2(object);return arrayFilter2(nativeGetSymbols3(object),function(symbol){return propertyIsEnumerable3.call(object,symbol)})};var getSymbolsIn2=!nativeGetSymbols3?stubArray2:function(object){var result3=[];while(object){arrayPush2(result3,getSymbols2(object));object=getPrototype2(object)}return result3};var getTag3=baseGetTag2;if(DataView3&&getTag3(new DataView3(new ArrayBuffer(1)))!=dataViewTag6||Map3&&getTag3(new Map3)!=mapTag11||Promise3&&getTag3(Promise3.resolve())!=promiseTag2||Set3&&getTag3(new Set3)!=setTag11||WeakMap3&&getTag3(new WeakMap3)!=weakMapTag5){getTag3=function(value){var result3=baseGetTag2(value),Ctor=result3==objectTag6?value.constructor:undefined2,ctorString=Ctor?toSource2(Ctor):"";if(ctorString){switch(ctorString){case dataViewCtorString2:return dataViewTag6;case mapCtorString2:return mapTag11;case promiseCtorString2:return promiseTag2;case setCtorString2:return setTag11;case weakMapCtorString2:return weakMapTag5}}return result3}}function getView2(start,end,transforms){var index=-1,length=transforms.length;while(++index<length){var data=transforms[index],size3=data.size;switch(data.type){case"drop":start+=size3;break;case"dropRight":end-=size3;break;case"take":end=nativeMin16(end,start+size3);break;case"takeRight":start=nativeMax18(start,end-size3);break}}return{"start":start,"end":end}}function getWrapDetails2(source){var match=source.match(reWrapDetails2);return match?match[1].split(reSplitDetails2):[]}function hasPath2(object,path27,hasFunc){path27=castPath2(path27,object);var index=-1,length=path27.length,result3=false;while(++index<length){var key=toKey2(path27[index]);if(!(result3=object!=null&&hasFunc(object,key))){break}object=object[key]}if(result3||++index!=length){return result3}length=object==null?0:object.length;return!!length&&isLength2(length)&&isIndex2(key,length)&&(isArray3(object)||isArguments2(object))}function initCloneArray2(array){var length=array.length,result3=new array.constructor(length);if(length&&typeof array[0]=="string"&&hasOwnProperty26.call(array,"index")){result3.index=array.index;result3.input=array.input}return result3}function initCloneObject2(object){return typeof object.constructor=="function"&&!isPrototype2(object)?baseCreate2(getPrototype2(object)):{}}function initCloneByTag2(object,tag,isDeep){var Ctor=object.constructor;switch(tag){case arrayBufferTag6:return cloneArrayBuffer2(object);case boolTag6:case dateTag6:return new Ctor(+object);case dataViewTag6:return cloneDataView2(object,isDeep);case float32Tag4:case float64Tag4:case int8Tag4:case int16Tag4:case int32Tag4:case uint8Tag4:case uint8ClampedTag4:case uint16Tag4:case uint32Tag4:return cloneTypedArray2(object,isDeep);case mapTag11:return new Ctor;case numberTag6:case stringTag6:return new Ctor(object);case regexpTag6:return cloneRegExp2(object);case setTag11:return new Ctor;case symbolTag5:return cloneSymbol2(object)}}function insertWrapDetails2(source,details){var length=details.length;if(!length){return source}var lastIndex=length-1;details[lastIndex]=(length>1?"& ":"")+details[lastIndex];details=details.join(length>2?", ":" ");return source.replace(reWrapComment2,"{\n/* [wrapped with "+details+"] */\n")}function isFlattenable2(value){return isArray3(value)||isArguments2(value)||!!(spreadableSymbol2&&value&&value[spreadableSymbol2])}function isIndex2(value,length){var type2=typeof value;length=length==null?MAX_SAFE_INTEGER7:length;return!!length&&(type2=="number"||type2!="symbol"&&reIsUint2.test(value))&&(value>-1&&value%1==0&&value<length)}function isIterateeCall2(value,index,object){if(!isObject4(object)){return false}var type2=typeof index;if(type2=="number"?isArrayLike2(object)&&isIndex2(index,object.length):type2=="string"&&index in object){return eq2(object[index],value)}return false}function isKey2(value,object){if(isArray3(value)){return false}var type2=typeof value;if(type2=="number"||type2=="symbol"||type2=="boolean"||value==null||isSymbol2(value)){return true}return reIsPlainProp2.test(value)||!reIsDeepProp2.test(value)||object!=null&&value in Object2(object)}function isKeyable2(value){var type2=typeof value;return type2=="string"||type2=="number"||type2=="symbol"||type2=="boolean"?value!=="__proto__":value===null}function isLaziable2(func){var funcName=getFuncName2(func),other=lodash3[funcName];if(typeof other!="function"||!(funcName in LazyWrapper2.prototype)){return false}if(func===other){return true}var data=getData2(other);return!!data&&func===data[0]}function isMasked2(func){return!!maskSrcKey2&&maskSrcKey2 in func}var isMaskable2=coreJsData2?isFunction3:stubFalse2;function isPrototype2(value){var Ctor=value&&value.constructor,proto2=typeof Ctor=="function"&&Ctor.prototype||objectProto30;return value===proto2}function isStrictComparable2(value){return value===value&&!isObject4(value)}function matchesStrictComparable2(key,srcValue){return function(object){if(object==null){return false}return object[key]===srcValue&&(srcValue!==undefined2||key in Object2(object))}}function memoizeCapped2(func){var result3=memoize2(func,function(key){if(cache2.size===MAX_MEMOIZE_SIZE2){cache2.clear()}return key});var cache2=result3.cache;return result3}function mergeData2(data,source){var bitmask=data[1],srcBitmask=source[1],newBitmask=bitmask|srcBitmask,isCommon=newBitmask<(WRAP_BIND_FLAG10|WRAP_BIND_KEY_FLAG8|WRAP_ARY_FLAG6);var isCombo=srcBitmask==WRAP_ARY_FLAG6&&bitmask==WRAP_CURRY_FLAG8||srcBitmask==WRAP_ARY_FLAG6&&bitmask==WRAP_REARG_FLAG5&&data[7].length<=source[8]||srcBitmask==(WRAP_ARY_FLAG6|WRAP_REARG_FLAG5)&&source[7].length<=source[8]&&bitmask==WRAP_CURRY_FLAG8;if(!(isCommon||isCombo)){return data}if(srcBitmask&WRAP_BIND_FLAG10){data[2]=source[2];newBitmask|=bitmask&WRAP_BIND_FLAG10?0:WRAP_CURRY_BOUND_FLAG3}var value=source[3];if(value){var partials=data[3];data[3]=partials?composeArgs2(partials,value,source[4]):value;data[4]=partials?replaceHolders2(data[3],PLACEHOLDER3):source[4]}value=source[5];if(value){partials=data[5];data[5]=partials?composeArgsRight2(partials,value,source[6]):value;data[6]=partials?replaceHolders2(data[5],PLACEHOLDER3):source[6]}value=source[7];if(value){data[7]=value}if(srcBitmask&WRAP_ARY_FLAG6){data[8]=data[8]==null?source[8]:nativeMin16(data[8],source[8])}if(data[9]==null){data[9]=source[9]}data[0]=source[0];data[1]=newBitmask;return data}function nativeKeysIn2(object){var result3=[];if(object!=null){for(var key in Object2(object)){result3.push(key)}}return result3}function objectToString2(value){return nativeObjectToString5.call(value)}function overRest2(func,start,transform3){start=nativeMax18(start===undefined2?func.length-1:start,0);return function(){var args2=arguments,index=-1,length=nativeMax18(args2.length-start,0),array=Array2(length);while(++index<length){array[index]=args2[start+index]}index=-1;var otherArgs=Array2(start+1);while(++index<start){otherArgs[index]=args2[index]}otherArgs[start]=transform3(array);return apply2(func,this,otherArgs)}}function parent2(object,path27){return path27.length<2?object:baseGet2(object,baseSlice2(path27,0,-1))}function reorder2(array,indexes){var arrLength=array.length,length=nativeMin16(indexes.length,arrLength),oldArray=copyArray2(array);while(length--){var index=indexes[length];array[length]=isIndex2(index,arrLength)?oldArray[index]:undefined2}return array}function safeGet2(object,key){if(key==="constructor"&&typeof object[key]==="function"){return}if(key=="__proto__"){return}return object[key]}var setData2=shortOut2(baseSetData2);var setTimeout3=ctxSetTimeout||function(func,wait){return root2.setTimeout(func,wait)};var setToString2=shortOut2(baseSetToString2);function setWrapToString2(wrapper,reference,bitmask){var source=reference+"";return setToString2(wrapper,insertWrapDetails2(source,updateWrapDetails2(getWrapDetails2(source),bitmask)))}function shortOut2(func){var count=0,lastCalled=0;return function(){var stamp=nativeNow2(),remaining=HOT_SPAN2-(stamp-lastCalled);lastCalled=stamp;if(remaining>0){if(++count>=HOT_COUNT2){return arguments[0]}}else{count=0}return func.apply(undefined2,arguments)}}function shuffleSelf2(array,size3){var index=-1,length=array.length,lastIndex=length-1;size3=size3===undefined2?length:size3;while(++index<size3){var rand=baseRandom2(index,lastIndex),value=array[rand];array[rand]=array[index];array[index]=value}array.length=size3;return array}var stringToPath2=memoizeCapped2(function(string){var result3=[];if(string.charCodeAt(0)===46){result3.push("")}string.replace(rePropName2,function(match,number2,quote,subString){result3.push(quote?subString.replace(reEscapeChar2,"$1"):number2||match)});return result3});function toKey2(value){if(typeof value=="string"||isSymbol2(value)){return value}var result3=value+"";return result3=="0"&&1/value==-INFINITY8?"-0":result3}function toSource2(func){if(func!=null){try{return funcToString4.call(func)}catch(e){}try{return func+""}catch(e){}}return""}function updateWrapDetails2(details,bitmask){arrayEach2(wrapFlags2,function(pair){var value="_."+pair[0];if(bitmask&pair[1]&&!arrayIncludes2(details,value)){details.push(value)}});return details.sort()}function wrapperClone2(wrapper){if(wrapper instanceof LazyWrapper2){return wrapper.clone()}var result3=new LodashWrapper2(wrapper.__wrapped__,wrapper.__chain__);result3.__actions__=copyArray2(wrapper.__actions__);result3.__index__=wrapper.__index__;result3.__values__=wrapper.__values__;return result3}function chunk2(array,size3,guard){if(guard?isIterateeCall2(array,size3,guard):size3===undefined2){size3=1}else{size3=nativeMax18(toInteger2(size3),0)}var length=array==null?0:array.length;if(!length||size3<1){return[]}var index=0,resIndex=0,result3=Array2(nativeCeil5(length/size3));while(index<length){result3[resIndex++]=baseSlice2(array,index,index+=size3)}return result3}function compact2(array){var index=-1,length=array==null?0:array.length,resIndex=0,result3=[];while(++index<length){var value=array[index];if(value){result3[resIndex++]=value}}return result3}function concat3(){var length=arguments.length;if(!length){return[]}var args2=Array2(length-1),array=arguments[0],index=length;while(index--){args2[index-1]=arguments[index]}return arrayPush2(isArray3(array)?copyArray2(array):[array],baseFlatten2(args2,1))}var difference2=baseRest2(function(array,values3){return isArrayLikeObject2(array)?baseDifference2(array,baseFlatten2(values3,1,isArrayLikeObject2,true)):[]});var differenceBy2=baseRest2(function(array,values3){var iteratee3=last2(values3);if(isArrayLikeObject2(iteratee3)){iteratee3=undefined2}return isArrayLikeObject2(array)?baseDifference2(array,baseFlatten2(values3,1,isArrayLikeObject2,true),getIteratee(iteratee3,2)):[]});var differenceWith2=baseRest2(function(array,values3){var comparator=last2(values3);if(isArrayLikeObject2(comparator)){comparator=undefined2}return isArrayLikeObject2(array)?baseDifference2(array,baseFlatten2(values3,1,isArrayLikeObject2,true),undefined2,comparator):[]});function drop2(array,n,guard){var length=array==null?0:array.length;if(!length){return[]}n=guard||n===undefined2?1:toInteger2(n);return baseSlice2(array,n<0?0:n,length)}function dropRight2(array,n,guard){var length=array==null?0:array.length;if(!length){return[]}n=guard||n===undefined2?1:toInteger2(n);n=length-n;return baseSlice2(array,0,n<0?0:n)}function dropRightWhile2(array,predicate){return array&&array.length?baseWhile2(array,getIteratee(predicate,3),true,true):[]}function dropWhile2(array,predicate){return array&&array.length?baseWhile2(array,getIteratee(predicate,3),true):[]}function fill2(array,value,start,end){var length=array==null?0:array.length;if(!length){return[]}if(start&&typeof start!="number"&&isIterateeCall2(array,value,start)){start=0;end=length}return baseFill2(array,value,start,end)}function findIndex2(array,predicate,fromIndex){var length=array==null?0:array.length;if(!length){return-1}var index=fromIndex==null?0:toInteger2(fromIndex);if(index<0){index=nativeMax18(length+index,0)}return baseFindIndex2(array,getIteratee(predicate,3),index)}function findLastIndex2(array,predicate,fromIndex){var length=array==null?0:array.length;if(!length){return-1}var index=length-1;if(fromIndex!==undefined2){index=toInteger2(fromIndex);index=fromIndex<0?nativeMax18(length+index,0):nativeMin16(index,length-1)}return baseFindIndex2(array,getIteratee(predicate,3),index,true)}function flatten2(array){var length=array==null?0:array.length;return length?baseFlatten2(array,1):[]}function flattenDeep2(array){var length=array==null?0:array.length;return length?baseFlatten2(array,INFINITY8):[]}function flattenDepth2(array,depth){var length=array==null?0:array.length;if(!length){return[]}depth=depth===undefined2?1:toInteger2(depth);return baseFlatten2(array,depth)}function fromPairs2(pairs2){var index=-1,length=pairs2==null?0:pairs2.length,result3={};while(++index<length){var pair=pairs2[index];result3[pair[0]]=pair[1]}return result3}function head2(array){return array&&array.length?array[0]:undefined2}function indexOf2(array,value,fromIndex){var length=array==null?0:array.length;if(!length){return-1}var index=fromIndex==null?0:toInteger2(fromIndex);if(index<0){index=nativeMax18(length+index,0)}return baseIndexOf2(array,value,index)}function initial2(array){var length=array==null?0:array.length;return length?baseSlice2(array,0,-1):[]}var intersection2=baseRest2(function(arrays){var mapped=arrayMap2(arrays,castArrayLikeObject2);return mapped.length&&mapped[0]===arrays[0]?baseIntersection2(mapped):[]});var intersectionBy2=baseRest2(function(arrays){var iteratee3=last2(arrays),mapped=arrayMap2(arrays,castArrayLikeObject2);if(iteratee3===last2(mapped)){iteratee3=undefined2}else{mapped.pop()}return mapped.length&&mapped[0]===arrays[0]?baseIntersection2(mapped,getIteratee(iteratee3,2)):[]});var intersectionWith2=baseRest2(function(arrays){var comparator=last2(arrays),mapped=arrayMap2(arrays,castArrayLikeObject2);comparator=typeof comparator=="function"?comparator:undefined2;if(comparator){mapped.pop()}return mapped.length&&mapped[0]===arrays[0]?baseIntersection2(mapped,undefined2,comparator):[]});function join4(array,separator){return array==null?"":nativeJoin2.call(array,separator)}function last2(array){var length=array==null?0:array.length;return length?array[length-1]:undefined2}function lastIndexOf2(array,value,fromIndex){var length=array==null?0:array.length;if(!length){return-1}var index=length;if(fromIndex!==undefined2){index=toInteger2(fromIndex);index=index<0?nativeMax18(length+index,0):nativeMin16(index,length-1)}return value===value?strictLastIndexOf2(array,value,index):baseFindIndex2(array,baseIsNaN2,index,true)}function nth2(array,n){return array&&array.length?baseNth2(array,toInteger2(n)):undefined2}var pull2=baseRest2(pullAll2);function pullAll2(array,values3){return array&&array.length&&values3&&values3.length?basePullAll2(array,values3):array}function pullAllBy2(array,values3,iteratee3){return array&&array.length&&values3&&values3.length?basePullAll2(array,values3,getIteratee(iteratee3,2)):array}function pullAllWith2(array,values3,comparator){return array&&array.length&&values3&&values3.length?basePullAll2(array,values3,undefined2,comparator):array}var pullAt2=flatRest2(function(array,indexes){var length=array==null?0:array.length,result3=baseAt2(array,indexes);basePullAt2(array,arrayMap2(indexes,function(index){return isIndex2(index,length)?+index:index}).sort(compareAscending2));return result3});function remove2(array,predicate){var result3=[];if(!(array&&array.length)){return result3}var index=-1,indexes=[],length=array.length;predicate=getIteratee(predicate,3);while(++index<length){var value=array[index];if(predicate(value,index,array)){result3.push(value);indexes.push(index)}}basePullAt2(array,indexes);return result3}function reverse2(array){return array==null?array:nativeReverse2.call(array)}function slice2(array,start,end){var length=array==null?0:array.length;if(!length){return[]}if(end&&typeof end!="number"&&isIterateeCall2(array,start,end)){start=0;end=length}else{start=start==null?0:toInteger2(start);end=end===undefined2?length:toInteger2(end)}return baseSlice2(array,start,end)}function sortedIndex2(array,value){return baseSortedIndex2(array,value)}function sortedIndexBy2(array,value,iteratee3){return baseSortedIndexBy2(array,value,getIteratee(iteratee3,2))}function sortedIndexOf2(array,value){var length=array==null?0:array.length;if(length){var index=baseSortedIndex2(array,value);if(index<length&&eq2(array[index],value)){return index}}return-1}function sortedLastIndex2(array,value){return baseSortedIndex2(array,value,true)}function sortedLastIndexBy2(array,value,iteratee3){return baseSortedIndexBy2(array,value,getIteratee(iteratee3,2),true)}function sortedLastIndexOf2(array,value){var length=array==null?0:array.length;if(length){var index=baseSortedIndex2(array,value,true)-1;if(eq2(array[index],value)){return index}}return-1}function sortedUniq2(array){return array&&array.length?baseSortedUniq2(array):[]}function sortedUniqBy2(array,iteratee3){return array&&array.length?baseSortedUniq2(array,getIteratee(iteratee3,2)):[]}function tail2(array){var length=array==null?0:array.length;return length?baseSlice2(array,1,length):[]}function take2(array,n,guard){if(!(array&&array.length)){return[]}n=guard||n===undefined2?1:toInteger2(n);return baseSlice2(array,0,n<0?0:n)}function takeRight2(array,n,guard){var length=array==null?0:array.length;if(!length){return[]}n=guard||n===undefined2?1:toInteger2(n);n=length-n;return baseSlice2(array,n<0?0:n,length)}function takeRightWhile2(array,predicate){return array&&array.length?baseWhile2(array,getIteratee(predicate,3),false,true):[]}function takeWhile2(array,predicate){return array&&array.length?baseWhile2(array,getIteratee(predicate,3)):[]}var union2=baseRest2(function(arrays){return baseUniq2(baseFlatten2(arrays,1,isArrayLikeObject2,true))});var unionBy2=baseRest2(function(arrays){var iteratee3=last2(arrays);if(isArrayLikeObject2(iteratee3)){iteratee3=undefined2}return baseUniq2(baseFlatten2(arrays,1,isArrayLikeObject2,true),getIteratee(iteratee3,2))});var unionWith2=baseRest2(function(arrays){var comparator=last2(arrays);comparator=typeof comparator=="function"?comparator:undefined2;return baseUniq2(baseFlatten2(arrays,1,isArrayLikeObject2,true),undefined2,comparator)});function uniq2(array){return array&&array.length?baseUniq2(array):[]}function uniqBy2(array,iteratee3){return array&&array.length?baseUniq2(array,getIteratee(iteratee3,2)):[]}function uniqWith2(array,comparator){comparator=typeof comparator=="function"?comparator:undefined2;return array&&array.length?baseUniq2(array,undefined2,comparator):[]}function unzip2(array){if(!(array&&array.length)){return[]}var length=0;array=arrayFilter2(array,function(group){if(isArrayLikeObject2(group)){length=nativeMax18(group.length,length);return true}});return baseTimes2(length,function(index){return arrayMap2(array,baseProperty2(index))})}function unzipWith2(array,iteratee3){if(!(array&&array.length)){return[]}var result3=unzip2(array);if(iteratee3==null){return result3}return arrayMap2(result3,function(group){return apply2(iteratee3,undefined2,group)})}var without2=baseRest2(function(array,values3){return isArrayLikeObject2(array)?baseDifference2(array,values3):[]});var xor2=baseRest2(function(arrays){return baseXor2(arrayFilter2(arrays,isArrayLikeObject2))});var xorBy2=baseRest2(function(arrays){var iteratee3=last2(arrays);if(isArrayLikeObject2(iteratee3)){iteratee3=undefined2}return baseXor2(arrayFilter2(arrays,isArrayLikeObject2),getIteratee(iteratee3,2))});var xorWith2=baseRest2(function(arrays){var comparator=last2(arrays);comparator=typeof comparator=="function"?comparator:undefined2;return baseXor2(arrayFilter2(arrays,isArrayLikeObject2),undefined2,comparator)});var zip2=baseRest2(unzip2);function zipObject2(props,values3){return baseZipObject2(props||[],values3||[],assignValue2)}function zipObjectDeep2(props,values3){return baseZipObject2(props||[],values3||[],baseSet2)}var zipWith2=baseRest2(function(arrays){var length=arrays.length,iteratee3=length>1?arrays[length-1]:undefined2;iteratee3=typeof iteratee3=="function"?(arrays.pop(),iteratee3):undefined2;return unzipWith2(arrays,iteratee3)});function chain2(value){var result3=lodash3(value);result3.__chain__=true;return result3}function tap2(value,interceptor){interceptor(value);return value}function thru2(value,interceptor){return interceptor(value)}var wrapperAt2=flatRest2(function(paths){var length=paths.length,start=length?paths[0]:0,value=this.__wrapped__,interceptor=function(object){return baseAt2(object,paths)};if(length>1||this.__actions__.length||!(value instanceof LazyWrapper2)||!isIndex2(start)){return this.thru(interceptor)}value=value.slice(start,+start+(length?1:0));value.__actions__.push({"func":thru2,"args":[interceptor],"thisArg":undefined2});return new LodashWrapper2(value,this.__chain__).thru(function(array){if(length&&!array.length){array.push(undefined2)}return array})});function wrapperChain2(){return chain2(this)}function wrapperCommit2(){return new LodashWrapper2(this.value(),this.__chain__)}function wrapperNext2(){if(this.__values__===undefined2){this.__values__=toArray3(this.value())}var done=this.__index__>=this.__values__.length,value=done?undefined2:this.__values__[this.__index__++];return{"done":done,"value":value}}function wrapperToIterator2(){return this}function wrapperPlant2(value){var result3,parent3=this;while(parent3 instanceof baseLodash2){var clone3=wrapperClone2(parent3);clone3.__index__=0;clone3.__values__=undefined2;if(result3){previous.__wrapped__=clone3}else{result3=clone3}var previous=clone3;parent3=parent3.__wrapped__}previous.__wrapped__=value;return result3}function wrapperReverse2(){var value=this.__wrapped__;if(value instanceof LazyWrapper2){var wrapped=value;if(this.__actions__.length){wrapped=new LazyWrapper2(this)}wrapped=wrapped.reverse();wrapped.__actions__.push({"func":thru2,"args":[reverse2],"thisArg":undefined2});return new LodashWrapper2(wrapped,this.__chain__)}return this.thru(reverse2)}function wrapperValue2(){return baseWrapperValue2(this.__wrapped__,this.__actions__)}var countBy2=createAggregator2(function(result3,value,key){if(hasOwnProperty26.call(result3,key)){++result3[key]}else{baseAssignValue2(result3,key,1)}});function every2(collection,predicate,guard){var func=isArray3(collection)?arrayEvery2:baseEvery2;if(guard&&isIterateeCall2(collection,predicate,guard)){predicate=undefined2}return func(collection,getIteratee(predicate,3))}function filter2(collection,predicate){var func=isArray3(collection)?arrayFilter2:baseFilter2;return func(collection,getIteratee(predicate,3))}var find2=createFind2(findIndex2);var findLast2=createFind2(findLastIndex2);function flatMap2(collection,iteratee3){return baseFlatten2(map3(collection,iteratee3),1)}function flatMapDeep2(collection,iteratee3){return baseFlatten2(map3(collection,iteratee3),INFINITY8)}function flatMapDepth2(collection,iteratee3,depth){depth=depth===undefined2?1:toInteger2(depth);return baseFlatten2(map3(collection,iteratee3),depth)}function forEach2(collection,iteratee3){var func=isArray3(collection)?arrayEach2:baseEach2;return func(collection,getIteratee(iteratee3,3))}function forEachRight2(collection,iteratee3){var func=isArray3(collection)?arrayEachRight2:baseEachRight2;return func(collection,getIteratee(iteratee3,3))}var groupBy2=createAggregator2(function(result3,value,key){if(hasOwnProperty26.call(result3,key)){result3[key].push(value)}else{baseAssignValue2(result3,key,[value])}});function includes2(collection,value,fromIndex,guard){collection=isArrayLike2(collection)?collection:values2(collection);fromIndex=fromIndex&&!guard?toInteger2(fromIndex):0;var length=collection.length;if(fromIndex<0){fromIndex=nativeMax18(length+fromIndex,0)}return isString4(collection)?fromIndex<=length&&collection.indexOf(value,fromIndex)>-1:!!length&&baseIndexOf2(collection,value,fromIndex)>-1}var invokeMap2=baseRest2(function(collection,path27,args2){var index=-1,isFunc=typeof path27=="function",result3=isArrayLike2(collection)?Array2(collection.length):[];baseEach2(collection,function(value){result3[++index]=isFunc?apply2(path27,value,args2):baseInvoke2(value,path27,args2)});return result3});var keyBy2=createAggregator2(function(result3,value,key){baseAssignValue2(result3,key,value)});function map3(collection,iteratee3){var func=isArray3(collection)?arrayMap2:baseMap2;return func(collection,getIteratee(iteratee3,3))}function orderBy2(collection,iteratees,orders,guard){if(collection==null){return[]}if(!isArray3(iteratees)){iteratees=iteratees==null?[]:[iteratees]}orders=guard?undefined2:orders;if(!isArray3(orders)){orders=orders==null?[]:[orders]}return baseOrderBy2(collection,iteratees,orders)}var partition2=createAggregator2(function(result3,value,key){result3[key?0:1].push(value)},function(){return[[],[]]});function reduce2(collection,iteratee3,accumulator){var func=isArray3(collection)?arrayReduce2:baseReduce2,initAccum=arguments.length<3;return func(collection,getIteratee(iteratee3,4),accumulator,initAccum,baseEach2)}function reduceRight2(collection,iteratee3,accumulator){var func=isArray3(collection)?arrayReduceRight2:baseReduce2,initAccum=arguments.length<3;return func(collection,getIteratee(iteratee3,4),accumulator,initAccum,baseEachRight2)}function reject2(collection,predicate){var func=isArray3(collection)?arrayFilter2:baseFilter2;return func(collection,negate2(getIteratee(predicate,3)))}function sample2(collection){var func=isArray3(collection)?arraySample2:baseSample2;return func(collection)}function sampleSize2(collection,n,guard){if(guard?isIterateeCall2(collection,n,guard):n===undefined2){n=1}else{n=toInteger2(n)}var func=isArray3(collection)?arraySampleSize2:baseSampleSize2;return func(collection,n)}function shuffle2(collection){var func=isArray3(collection)?arrayShuffle2:baseShuffle2;return func(collection)}function size2(collection){if(collection==null){return 0}if(isArrayLike2(collection)){return isString4(collection)?stringSize2(collection):collection.length}var tag=getTag3(collection);if(tag==mapTag11||tag==setTag11){return collection.size}return baseKeys2(collection).length}function some2(collection,predicate,guard){var func=isArray3(collection)?arraySome2:baseSome2;if(guard&&isIterateeCall2(collection,predicate,guard)){predicate=undefined2}return func(collection,getIteratee(predicate,3))}var sortBy2=baseRest2(function(collection,iteratees){if(collection==null){return[]}var length=iteratees.length;if(length>1&&isIterateeCall2(collection,iteratees[0],iteratees[1])){iteratees=[]}else if(length>2&&isIterateeCall2(iteratees[0],iteratees[1],iteratees[2])){iteratees=[iteratees[0]]}return baseOrderBy2(collection,baseFlatten2(iteratees,1),[])});var now3=ctxNow||function(){return root2.Date.now()};function after2(n,func){if(typeof func!="function"){throw new TypeError2(FUNC_ERROR_TEXT13)}n=toInteger2(n);return function(){if(--n<1){return func.apply(this,arguments)}}}function ary2(func,n,guard){n=guard?undefined2:n;n=func&&n==null?func.length:n;return createWrap2(func,WRAP_ARY_FLAG6,undefined2,undefined2,undefined2,undefined2,n)}function before2(n,func){var result3;if(typeof func!="function"){throw new TypeError2(FUNC_ERROR_TEXT13)}n=toInteger2(n);return function(){if(--n>0){result3=func.apply(this,arguments)}if(n<=1){func=undefined2}return result3}}var bind2=baseRest2(function(func,thisArg,partials){var bitmask=WRAP_BIND_FLAG10;if(partials.length){var holders=replaceHolders2(partials,getHolder2(bind2));bitmask|=WRAP_PARTIAL_FLAG8}return createWrap2(func,bitmask,thisArg,partials,holders)});var bindKey2=baseRest2(function(object,key,partials){var bitmask=WRAP_BIND_FLAG10|WRAP_BIND_KEY_FLAG8;if(partials.length){var holders=replaceHolders2(partials,getHolder2(bindKey2));bitmask|=WRAP_PARTIAL_FLAG8}return createWrap2(key,bitmask,object,partials,holders)});function curry2(func,arity,guard){arity=guard?undefined2:arity;var result3=createWrap2(func,WRAP_CURRY_FLAG8,undefined2,undefined2,undefined2,undefined2,undefined2,arity);result3.placeholder=curry2.placeholder;return result3}function curryRight2(func,arity,guard){arity=guard?undefined2:arity;var result3=createWrap2(func,WRAP_CURRY_RIGHT_FLAG5,undefined2,undefined2,undefined2,undefined2,undefined2,arity);result3.placeholder=curryRight2.placeholder;return result3}function debounce2(func,wait,options){var lastArgs,lastThis,maxWait,result3,timerId,lastCallTime,lastInvokeTime=0,leading=false,maxing=false,trailing=true;if(typeof func!="function"){throw new TypeError2(FUNC_ERROR_TEXT13)}wait=toNumber2(wait)||0;if(isObject4(options)){leading=!!options.leading;maxing="maxWait"in options;maxWait=maxing?nativeMax18(toNumber2(options.maxWait)||0,wait):maxWait;trailing="trailing"in options?!!options.trailing:trailing}function invokeFunc(time){var args2=lastArgs,thisArg=lastThis;lastArgs=lastThis=undefined2;lastInvokeTime=time;result3=func.apply(thisArg,args2);return result3}function leadingEdge(time){lastInvokeTime=time;timerId=setTimeout3(timerExpired,wait);return leading?invokeFunc(time):result3}function remainingWait(time){var timeSinceLastCall=time-lastCallTime,timeSinceLastInvoke=time-lastInvokeTime,timeWaiting=wait-timeSinceLastCall;return maxing?nativeMin16(timeWaiting,maxWait-timeSinceLastInvoke):timeWaiting}function shouldInvoke(time){var timeSinceLastCall=time-lastCallTime,timeSinceLastInvoke=time-lastInvokeTime;return lastCallTime===undefined2||timeSinceLastCall>=wait||timeSinceLastCall<0||maxing&&timeSinceLastInvoke>=maxWait}function timerExpired(){var time=now3();if(shouldInvoke(time)){return trailingEdge(time)}timerId=setTimeout3(timerExpired,remainingWait(time))}function trailingEdge(time){timerId=undefined2;if(trailing&&lastArgs){return invokeFunc(time)}lastArgs=lastThis=undefined2;return result3}function cancel(){if(timerId!==undefined2){clearTimeout2(timerId)}lastInvokeTime=0;lastArgs=lastCallTime=lastThis=timerId=undefined2}function flush(){return timerId===undefined2?result3:trailingEdge(now3())}function debounced(){var time=now3(),isInvoking=shouldInvoke(time);lastArgs=arguments;lastThis=this;lastCallTime=time;if(isInvoking){if(timerId===undefined2){return leadingEdge(lastCallTime)}if(maxing){clearTimeout2(timerId);timerId=setTimeout3(timerExpired,wait);return invokeFunc(lastCallTime)}}if(timerId===undefined2){timerId=setTimeout3(timerExpired,wait)}return result3}debounced.cancel=cancel;debounced.flush=flush;return debounced}var defer2=baseRest2(function(func,args2){return baseDelay2(func,1,args2)});var delay3=baseRest2(function(func,wait,args2){return baseDelay2(func,toNumber2(wait)||0,args2)});function flip2(func){return createWrap2(func,WRAP_FLIP_FLAG4)}function memoize2(func,resolver){if(typeof func!="function"||resolver!=null&&typeof resolver!="function"){throw new TypeError2(FUNC_ERROR_TEXT13)}var memoized=function(){var args2=arguments,key=resolver?resolver.apply(this,args2):args2[0],cache2=memoized.cache;if(cache2.has(key)){return cache2.get(key)}var result3=func.apply(this,args2);memoized.cache=cache2.set(key,result3)||cache2;return result3};memoized.cache=new(memoize2.Cache||MapCache2);return memoized}memoize2.Cache=MapCache2;function negate2(predicate){if(typeof predicate!="function"){throw new TypeError2(FUNC_ERROR_TEXT13)}return function(){var args2=arguments;switch(args2.length){case 0:return!predicate.call(this);case 1:return!predicate.call(this,args2[0]);case 2:return!predicate.call(this,args2[0],args2[1]);case 3:return!predicate.call(this,args2[0],args2[1],args2[2])}return!predicate.apply(this,args2)}}function once2(func){return before2(2,func)}var overArgs2=castRest2(function(func,transforms){transforms=transforms.length==1&&isArray3(transforms[0])?arrayMap2(transforms[0],baseUnary2(getIteratee())):arrayMap2(baseFlatten2(transforms,1),baseUnary2(getIteratee()));var funcsLength=transforms.length;return baseRest2(function(args2){var index=-1,length=nativeMin16(args2.length,funcsLength);while(++index<length){args2[index]=transforms[index].call(this,args2[index])}return apply2(func,this,args2)})});var partial2=baseRest2(function(func,partials){var holders=replaceHolders2(partials,getHolder2(partial2));return createWrap2(func,WRAP_PARTIAL_FLAG8,undefined2,partials,holders)});var partialRight2=baseRest2(function(func,partials){var holders=replaceHolders2(partials,getHolder2(partialRight2));return createWrap2(func,WRAP_PARTIAL_RIGHT_FLAG5,undefined2,partials,holders)});var rearg2=flatRest2(function(func,indexes){return createWrap2(func,WRAP_REARG_FLAG5,undefined2,undefined2,undefined2,indexes)});function rest2(func,start){if(typeof func!="function"){throw new TypeError2(FUNC_ERROR_TEXT13)}start=start===undefined2?start:toInteger2(start);return baseRest2(func,start)}function spread2(func,start){if(typeof func!="function"){throw new TypeError2(FUNC_ERROR_TEXT13)}start=start==null?0:nativeMax18(toInteger2(start),0);return baseRest2(function(args2){var array=args2[start],otherArgs=castSlice2(args2,0,start);if(array){arrayPush2(otherArgs,array)}return apply2(func,this,otherArgs)})}function throttle3(func,wait,options){var leading=true,trailing=true;if(typeof func!="function"){throw new TypeError2(FUNC_ERROR_TEXT13)}if(isObject4(options)){leading="leading"in options?!!options.leading:leading;trailing="trailing"in options?!!options.trailing:trailing}return debounce2(func,wait,{"leading":leading,"maxWait":wait,"trailing":trailing})}function unary2(func){return ary2(func,1)}function wrap4(value,wrapper){return partial2(castFunction2(wrapper),value)}function castArray2(){if(!arguments.length){return[]}var value=arguments[0];return isArray3(value)?value:[value]}function clone2(value){return baseClone2(value,CLONE_SYMBOLS_FLAG7)}function cloneWith2(value,customizer){customizer=typeof customizer=="function"?customizer:undefined2;return baseClone2(value,CLONE_SYMBOLS_FLAG7,customizer)}function cloneDeep3(value){return baseClone2(value,CLONE_DEEP_FLAG9|CLONE_SYMBOLS_FLAG7)}function cloneDeepWith2(value,customizer){customizer=typeof customizer=="function"?customizer:undefined2;return baseClone2(value,CLONE_DEEP_FLAG9|CLONE_SYMBOLS_FLAG7,customizer)}function conformsTo2(object,source){return source==null||baseConformsTo2(object,source,keys2(source))}function eq2(value,other){return value===other||value!==value&&other!==other}var gt2=createRelationalOperation2(baseGt2);var gte2=createRelationalOperation2(function(value,other){return value>=other});var isArguments2=baseIsArguments2(function(){return arguments}())?baseIsArguments2:function(value){return isObjectLike3(value)&&hasOwnProperty26.call(value,"callee")&&!propertyIsEnumerable3.call(value,"callee")};var isArray3=Array2.isArray;var isArrayBuffer2=nodeIsArrayBuffer2?baseUnary2(nodeIsArrayBuffer2):baseIsArrayBuffer2;function isArrayLike2(value){return value!=null&&isLength2(value.length)&&!isFunction3(value)}function isArrayLikeObject2(value){return isObjectLike3(value)&&isArrayLike2(value)}function isBoolean4(value){return value===true||value===false||isObjectLike3(value)&&baseGetTag2(value)==boolTag6}var isBuffer2=nativeIsBuffer2||stubFalse2;var isDate2=nodeIsDate2?baseUnary2(nodeIsDate2):baseIsDate2;function isElement2(value){return isObjectLike3(value)&&value.nodeType===1&&!isPlainObject3(value)}function isEmpty2(value){if(value==null){return true}if(isArrayLike2(value)&&(isArray3(value)||typeof value=="string"||typeof value.splice=="function"||isBuffer2(value)||isTypedArray2(value)||isArguments2(value))){return!value.length}var tag=getTag3(value);if(tag==mapTag11||tag==setTag11){return!value.size}if(isPrototype2(value)){return!baseKeys2(value).length}for(var key in value){if(hasOwnProperty26.call(value,key)){return false}}return true}function isEqual2(value,other){return baseIsEqual2(value,other)}function isEqualWith2(value,other,customizer){customizer=typeof customizer=="function"?customizer:undefined2;var result3=customizer?customizer(value,other):undefined2;return result3===undefined2?baseIsEqual2(value,other,undefined2,customizer):!!result3}function isError2(value){if(!isObjectLike3(value)){return false}var tag=baseGetTag2(value);return tag==errorTag5||tag==domExcTag2||typeof value.message=="string"&&typeof value.name=="string"&&!isPlainObject3(value)}function isFinite3(value){return typeof value=="number"&&nativeIsFinite3(value)}function isFunction3(value){if(!isObject4(value)){return false}var tag=baseGetTag2(value);return tag==funcTag4||tag==genTag3||tag==asyncTag2||tag==proxyTag2}function isInteger3(value){return typeof value=="number"&&value==toInteger2(value)}function isLength2(value){return typeof value=="number"&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER7}function isObject4(value){var type2=typeof value;return value!=null&&(type2=="object"||type2=="function")}function isObjectLike3(value){return value!=null&&typeof value=="object"}var isMap2=nodeIsMap2?baseUnary2(nodeIsMap2):baseIsMap2;function isMatch2(object,source){return object===source||baseIsMatch2(object,source,getMatchData2(source))}function isMatchWith2(object,source,customizer){customizer=typeof customizer=="function"?customizer:undefined2;return baseIsMatch2(object,source,getMatchData2(source),customizer)}function isNaN3(value){return isNumber4(value)&&value!=+value}function isNative2(value){if(isMaskable2(value)){throw new Error2(CORE_ERROR_TEXT2)}return baseIsNative2(value)}function isNull3(value){return value===null}function isNil2(value){return value==null}function isNumber4(value){return typeof value=="number"||isObjectLike3(value)&&baseGetTag2(value)==numberTag6}function isPlainObject3(value){if(!isObjectLike3(value)||baseGetTag2(value)!=objectTag6){return false}var proto2=getPrototype2(value);if(proto2===null){return true}var Ctor=hasOwnProperty26.call(proto2,"constructor")&&proto2.constructor;return typeof Ctor=="function"&&Ctor instanceof Ctor&&funcToString4.call(Ctor)==objectCtorString2}var isRegExp2=nodeIsRegExp2?baseUnary2(nodeIsRegExp2):baseIsRegExp2;function isSafeInteger2(value){return isInteger3(value)&&value>=-MAX_SAFE_INTEGER7&&value<=MAX_SAFE_INTEGER7}var isSet2=nodeIsSet2?baseUnary2(nodeIsSet2):baseIsSet2;function isString4(value){return typeof value=="string"||!isArray3(value)&&isObjectLike3(value)&&baseGetTag2(value)==stringTag6}function isSymbol2(value){return typeof value=="symbol"||isObjectLike3(value)&&baseGetTag2(value)==symbolTag5}var isTypedArray2=nodeIsTypedArray2?baseUnary2(nodeIsTypedArray2):baseIsTypedArray2;function isUndefined6(value){return value===undefined2}function isWeakMap2(value){return isObjectLike3(value)&&getTag3(value)==weakMapTag5}function isWeakSet2(value){return isObjectLike3(value)&&baseGetTag2(value)==weakSetTag2}var lt2=createRelationalOperation2(baseLt2);var lte2=createRelationalOperation2(function(value,other){return value<=other});function toArray3(value){if(!value){return[]}if(isArrayLike2(value)){return isString4(value)?stringToArray2(value):copyArray2(value)}if(symIterator3&&value[symIterator3]){return iteratorToArray2(value[symIterator3]())}var tag=getTag3(value),func=tag==mapTag11?mapToArray2:tag==setTag11?setToArray2:values2;return func(value)}function toFinite2(value){if(!value){return value===0?value:0}value=toNumber2(value);if(value===INFINITY8||value===-INFINITY8){var sign=value<0?-1:1;return sign*MAX_INTEGER2}return value===value?value:0}function toInteger2(value){var result3=toFinite2(value),remainder=result3%1;return result3===result3?remainder?result3-remainder:result3:0}function toLength2(value){return value?baseClamp2(toInteger2(value),0,MAX_ARRAY_LENGTH8):0}function toNumber2(value){if(typeof value=="number"){return value}if(isSymbol2(value)){return NAN4}if(isObject4(value)){var other=typeof value.valueOf=="function"?value.valueOf():value;value=isObject4(other)?other+"":other}if(typeof value!="string"){return value===0?value:+value}value=baseTrim2(value);var isBinary2=reIsBinary2.test(value);return isBinary2||reIsOctal2.test(value)?freeParseInt2(value.slice(2),isBinary2?2:8):reIsBadHex2.test(value)?NAN4:+value}function toPlainObject2(value){return copyObject2(value,keysIn2(value))}function toSafeInteger2(value){return value?baseClamp2(toInteger2(value),-MAX_SAFE_INTEGER7,MAX_SAFE_INTEGER7):value===0?value:0}function toString5(value){return value==null?"":baseToString3(value)}var assign2=createAssigner2(function(object,source){if(isPrototype2(source)||isArrayLike2(source)){copyObject2(source,keys2(source),object);return}for(var key in source){if(hasOwnProperty26.call(source,key)){assignValue2(object,key,source[key])}}});var assignIn2=createAssigner2(function(object,source){copyObject2(source,keysIn2(source),object)});var assignInWith2=createAssigner2(function(object,source,srcIndex,customizer){copyObject2(source,keysIn2(source),object,customizer)});var assignWith2=createAssigner2(function(object,source,srcIndex,customizer){copyObject2(source,keys2(source),object,customizer)});var at2=flatRest2(baseAt2);function create3(prototype,properties){var result3=baseCreate2(prototype);return properties==null?result3:baseAssign2(result3,properties)}var defaults3=baseRest2(function(object,sources){object=Object2(object);var index=-1;var length=sources.length;var guard=length>2?sources[2]:undefined2;if(guard&&isIterateeCall2(sources[0],sources[1],guard)){length=1}while(++index<length){var source=sources[index];var props=keysIn2(source);var propsIndex=-1;var propsLength=props.length;while(++propsIndex<propsLength){var key=props[propsIndex];var value=object[key];if(value===undefined2||eq2(value,objectProto30[key])&&!hasOwnProperty26.call(object,key)){object[key]=source[key]}}}return object});var defaultsDeep2=baseRest2(function(args2){args2.push(undefined2,customDefaultsMerge2);return apply2(mergeWith2,undefined2,args2)});function findKey2(object,predicate){return baseFindKey2(object,getIteratee(predicate,3),baseForOwn2)}function findLastKey2(object,predicate){return baseFindKey2(object,getIteratee(predicate,3),baseForOwnRight2)}function forIn2(object,iteratee3){return object==null?object:baseFor2(object,getIteratee(iteratee3,3),keysIn2)}function forInRight2(object,iteratee3){return object==null?object:baseForRight2(object,getIteratee(iteratee3,3),keysIn2)}function forOwn2(object,iteratee3){return object&&baseForOwn2(object,getIteratee(iteratee3,3))}function forOwnRight2(object,iteratee3){return object&&baseForOwnRight2(object,getIteratee(iteratee3,3))}function functions2(object){return object==null?[]:baseFunctions2(object,keys2(object))}function functionsIn2(object){return object==null?[]:baseFunctions2(object,keysIn2(object))}function get4(object,path27,defaultValue){var result3=object==null?undefined2:baseGet2(object,path27);return result3===undefined2?defaultValue:result3}function has3(object,path27){return object!=null&&hasPath2(object,path27,baseHas2)}function hasIn2(object,path27){return object!=null&&hasPath2(object,path27,baseHasIn2)}var invert2=createInverter2(function(result3,value,key){if(value!=null&&typeof value.toString!="function"){value=nativeObjectToString5.call(value)}result3[value]=key},constant2(identity2));var invertBy2=createInverter2(function(result3,value,key){if(value!=null&&typeof value.toString!="function"){value=nativeObjectToString5.call(value)}if(hasOwnProperty26.call(result3,value)){result3[value].push(key)}else{result3[value]=[key]}},getIteratee);var invoke2=baseRest2(baseInvoke2);function keys2(object){return isArrayLike2(object)?arrayLikeKeys2(object):baseKeys2(object)}function keysIn2(object){return isArrayLike2(object)?arrayLikeKeys2(object,true):baseKeysIn2(object)}function mapKeys2(object,iteratee3){var result3={};iteratee3=getIteratee(iteratee3,3);baseForOwn2(object,function(value,key,object2){baseAssignValue2(result3,iteratee3(value,key,object2),value)});return result3}function mapValues2(object,iteratee3){var result3={};iteratee3=getIteratee(iteratee3,3);baseForOwn2(object,function(value,key,object2){baseAssignValue2(result3,key,iteratee3(value,key,object2))});return result3}var merge3=createAssigner2(function(object,source,srcIndex){baseMerge2(object,source,srcIndex)});var mergeWith2=createAssigner2(function(object,source,srcIndex,customizer){baseMerge2(object,source,srcIndex,customizer)});var omit2=flatRest2(function(object,paths){var result3={};if(object==null){return result3}var isDeep=false;paths=arrayMap2(paths,function(path27){path27=castPath2(path27,object);isDeep||(isDeep=path27.length>1);return path27});copyObject2(object,getAllKeysIn2(object),result3);if(isDeep){result3=baseClone2(result3,CLONE_DEEP_FLAG9|CLONE_FLAT_FLAG3|CLONE_SYMBOLS_FLAG7,customOmitClone2)}var length=paths.length;while(length--){baseUnset2(result3,paths[length])}return result3});function omitBy2(object,predicate){return pickBy2(object,negate2(getIteratee(predicate)))}var pick2=flatRest2(function(object,paths){return object==null?{}:basePick2(object,paths)});function pickBy2(object,predicate){if(object==null){return{}}var props=arrayMap2(getAllKeysIn2(object),function(prop){return[prop]});predicate=getIteratee(predicate);return basePickBy2(object,props,function(value,path27){return predicate(value,path27[0])})}function result2(object,path27,defaultValue){path27=castPath2(path27,object);var index=-1,length=path27.length;if(!length){length=1;object=undefined2}while(++index<length){var value=object==null?undefined2:object[toKey2(path27[index])];if(value===undefined2){index=length;value=defaultValue}object=isFunction3(value)?value.call(object):value}return object}function set3(object,path27,value){return object==null?object:baseSet2(object,path27,value)}function setWith2(object,path27,value,customizer){customizer=typeof customizer=="function"?customizer:undefined2;return object==null?object:baseSet2(object,path27,value,customizer)}var toPairs2=createToPairs2(keys2);var toPairsIn2=createToPairs2(keysIn2);function transform2(object,iteratee3,accumulator){var isArr=isArray3(object),isArrLike=isArr||isBuffer2(object)||isTypedArray2(object);iteratee3=getIteratee(iteratee3,4);if(accumulator==null){var Ctor=object&&object.constructor;if(isArrLike){accumulator=isArr?new Ctor:[]}else if(isObject4(object)){accumulator=isFunction3(Ctor)?baseCreate2(getPrototype2(object)):{}}else{accumulator={}}}(isArrLike?arrayEach2:baseForOwn2)(object,function(value,index,object2){return iteratee3(accumulator,value,index,object2)});return accumulator}function unset2(object,path27){return object==null?true:baseUnset2(object,path27)}function update2(object,path27,updater){return object==null?object:baseUpdate2(object,path27,castFunction2(updater))}function updateWith2(object,path27,updater,customizer){customizer=typeof customizer=="function"?customizer:undefined2;return object==null?object:baseUpdate2(object,path27,castFunction2(updater),customizer)}function values2(object){return object==null?[]:baseValues2(object,keys2(object))}function valuesIn2(object){return object==null?[]:baseValues2(object,keysIn2(object))}function clamp2(number2,lower,upper){if(upper===undefined2){upper=lower;lower=undefined2}if(upper!==undefined2){upper=toNumber2(upper);upper=upper===upper?upper:0}if(lower!==undefined2){lower=toNumber2(lower);lower=lower===lower?lower:0}return baseClamp2(toNumber2(number2),lower,upper)}function inRange2(number2,start,end){start=toFinite2(start);if(end===undefined2){end=start;start=0}else{end=toFinite2(end)}number2=toNumber2(number2);return baseInRange2(number2,start,end)}function random3(lower,upper,floating){if(floating&&typeof floating!="boolean"&&isIterateeCall2(lower,upper,floating)){upper=floating=undefined2}if(floating===undefined2){if(typeof upper=="boolean"){floating=upper;upper=undefined2}else if(typeof lower=="boolean"){floating=lower;lower=undefined2}}if(lower===undefined2&&upper===undefined2){lower=0;upper=1}else{lower=toFinite2(lower);if(upper===undefined2){upper=lower;lower=0}else{upper=toFinite2(upper)}}if(lower>upper){var temp=lower;lower=upper;upper=temp}if(floating||lower%1||upper%1){var rand=nativeRandom3();return nativeMin16(lower+rand*(upper-lower+freeParseFloat2("1e-"+((rand+"").length-1))),upper)}return baseRandom2(lower,upper)}var camelCase3=createCompounder2(function(result3,word,index){word=word.toLowerCase();return result3+(index?capitalize2(word):word)});function capitalize2(string){return upperFirst2(toString5(string).toLowerCase())}function deburr2(string){string=toString5(string);return string&&string.replace(reLatin2,deburrLetter2).replace(reComboMark2,"")}function endsWith2(string,target,position){string=toString5(string);target=baseToString3(target);var length=string.length;position=position===undefined2?length:baseClamp2(toInteger2(position),0,length);var end=position;position-=target.length;return position>=0&&string.slice(position,end)==target}function escape3(string){string=toString5(string);return string&&reHasUnescapedHtml2.test(string)?string.replace(reUnescapedHtml2,escapeHtmlChar2):string}function escapeRegExp2(string){string=toString5(string);return string&&reHasRegExpChar2.test(string)?string.replace(reRegExpChar3,"\\$&"):string}var kebabCase2=createCompounder2(function(result3,word,index){return result3+(index?"-":"")+word.toLowerCase()});var lowerCase2=createCompounder2(function(result3,word,index){return result3+(index?" ":"")+word.toLowerCase()});var lowerFirst2=createCaseFirst2("toLowerCase");function pad4(string,length,chars){string=toString5(string);length=toInteger2(length);var strLength=length?stringSize2(string):0;if(!length||strLength>=length){return string}var mid=(length-strLength)/2;return createPadding2(nativeFloor5(mid),chars)+string+createPadding2(nativeCeil5(mid),chars)}function padEnd2(string,length,chars){string=toString5(string);length=toInteger2(length);var strLength=length?stringSize2(string):0;return length&&strLength<length?string+createPadding2(length-strLength,chars):string}function padStart3(string,length,chars){string=toString5(string);length=toInteger2(length);var strLength=length?stringSize2(string):0;return length&&strLength<length?createPadding2(length-strLength,chars)+string:string}function parseInt3(string,radix,guard){if(guard||radix==null){radix=0}else if(radix){radix=+radix}return nativeParseInt2(toString5(string).replace(reTrimStart4,""),radix||0)}function repeat3(string,n,guard){if(guard?isIterateeCall2(string,n,guard):n===undefined2){n=1}else{n=toInteger2(n)}return baseRepeat2(toString5(string),n)}function replace2(){var args2=arguments,string=toString5(args2[0]);return args2.length<3?string:string.replace(args2[1],args2[2])}var snakeCase2=createCompounder2(function(result3,word,index){return result3+(index?"_":"")+word.toLowerCase()});function split2(string,separator,limit){if(limit&&typeof limit!="number"&&isIterateeCall2(string,separator,limit)){separator=limit=undefined2}limit=limit===undefined2?MAX_ARRAY_LENGTH8:limit>>>0;if(!limit){return[]}string=toString5(string);if(string&&(typeof separator=="string"||separator!=null&&!isRegExp2(separator))){separator=baseToString3(separator);if(!separator&&hasUnicode2(string)){return castSlice2(stringToArray2(string),0,limit)}}return string.split(separator,limit)}var startCase2=createCompounder2(function(result3,word,index){return result3+(index?" ":"")+upperFirst2(word)});function startsWith2(string,target,position){string=toString5(string);position=position==null?0:baseClamp2(toInteger2(position),0,string.length);target=baseToString3(target);return string.slice(position,position+target.length)==target}function template2(string,options,guard){var settings=lodash3.templateSettings;if(guard&&isIterateeCall2(string,options,guard)){options=undefined2}string=toString5(string);options=assignInWith2({},options,settings,customDefaultsAssignIn2);var imports=assignInWith2({},options.imports,settings.imports,customDefaultsAssignIn2),importsKeys=keys2(imports),importsValues=baseValues2(imports,importsKeys);var isEscaping,isEvaluating,index=0,interpolate=options.interpolate||reNoMatch2,source="__p += '";var reDelimiters=RegExp2((options.escape||reNoMatch2).source+"|"+interpolate.source+"|"+(interpolate===reInterpolate2?reEsTemplate2:reNoMatch2).source+"|"+(options.evaluate||reNoMatch2).source+"|$","g");var sourceURL="//# sourceURL="+(hasOwnProperty26.call(options,"sourceURL")?(options.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++templateCounter+"]")+"\n";string.replace(reDelimiters,function(match,escapeValue,interpolateValue,esTemplateValue,evaluateValue,offset){interpolateValue||(interpolateValue=esTemplateValue);source+=string.slice(index,offset).replace(reUnescapedString2,escapeStringChar2);if(escapeValue){isEscaping=true;source+="' +\n__e("+escapeValue+") +\n'"}if(evaluateValue){isEvaluating=true;source+="';\n"+evaluateValue+";\n__p += '"}if(interpolateValue){source+="' +\n((__t = ("+interpolateValue+")) == null ? '' : __t) +\n'"}index=offset+match.length;return match});source+="';\n";var variable=hasOwnProperty26.call(options,"variable")&&options.variable;if(!variable){source="with (obj) {\n"+source+"\n}\n"}else if(reForbiddenIdentifierChars2.test(variable)){throw new Error2(INVALID_TEMPL_VAR_ERROR_TEXT2)}source=(isEvaluating?source.replace(reEmptyStringLeading2,""):source).replace(reEmptyStringMiddle2,"$1").replace(reEmptyStringTrailing2,"$1;");source="function("+(variable||"obj")+") {\n"+(variable?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(isEscaping?", __e = _.escape":"")+(isEvaluating?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+source+"return __p\n}";var result3=attempt2(function(){return Function2(importsKeys,sourceURL+"return "+source).apply(undefined2,importsValues)});result3.source=source;if(isError2(result3)){throw result3}return result3}function toLower2(value){return toString5(value).toLowerCase()}function toUpper2(value){return toString5(value).toUpperCase()}function trim2(string,chars,guard){string=toString5(string);if(string&&(guard||chars===undefined2)){return baseTrim2(string)}if(!string||!(chars=baseToString3(chars))){return string}var strSymbols=stringToArray2(string),chrSymbols=stringToArray2(chars),start=charsStartIndex2(strSymbols,chrSymbols),end=charsEndIndex2(strSymbols,chrSymbols)+1;return castSlice2(strSymbols,start,end).join("")}function trimEnd2(string,chars,guard){string=toString5(string);if(string&&(guard||chars===undefined2)){return string.slice(0,trimmedEndIndex2(string)+1)}if(!string||!(chars=baseToString3(chars))){return string}var strSymbols=stringToArray2(string),end=charsEndIndex2(strSymbols,stringToArray2(chars))+1;return castSlice2(strSymbols,0,end).join("")}function trimStart2(string,chars,guard){string=toString5(string);if(string&&(guard||chars===undefined2)){return string.replace(reTrimStart4,"")}if(!string||!(chars=baseToString3(chars))){return string}var strSymbols=stringToArray2(string),start=charsStartIndex2(strSymbols,stringToArray2(chars));return castSlice2(strSymbols,start).join("")}function truncate2(string,options){var length=DEFAULT_TRUNC_LENGTH2,omission=DEFAULT_TRUNC_OMISSION2;if(isObject4(options)){var separator="separator"in options?options.separator:separator;length="length"in options?toInteger2(options.length):length;omission="omission"in options?baseToString3(options.omission):omission}string=toString5(string);var strLength=string.length;if(hasUnicode2(string)){var strSymbols=stringToArray2(string);strLength=strSymbols.length}if(length>=strLength){return string}var end=length-stringSize2(omission);if(end<1){return omission}var result3=strSymbols?castSlice2(strSymbols,0,end).join(""):string.slice(0,end);if(separator===undefined2){return result3+omission}if(strSymbols){end+=result3.length-end}if(isRegExp2(separator)){if(string.slice(end).search(separator)){var match,substring=result3;if(!separator.global){separator=RegExp2(separator.source,toString5(reFlags3.exec(separator))+"g")}separator.lastIndex=0;while(match=separator.exec(substring)){var newEnd=match.index}result3=result3.slice(0,newEnd===undefined2?end:newEnd)}}else if(string.indexOf(baseToString3(separator),end)!=end){var index=result3.lastIndexOf(separator);if(index>-1){result3=result3.slice(0,index)}}return result3+omission}function unescape3(string){string=toString5(string);return string&&reHasEscapedHtml2.test(string)?string.replace(reEscapedHtml2,unescapeHtmlChar2):string}var upperCase2=createCompounder2(function(result3,word,index){return result3+(index?" ":"")+word.toUpperCase()});var upperFirst2=createCaseFirst2("toUpperCase");function words2(string,pattern,guard){string=toString5(string);pattern=guard?undefined2:pattern;if(pattern===undefined2){return hasUnicodeWord2(string)?unicodeWords2(string):asciiWords2(string)}return string.match(pattern)||[]}var attempt2=baseRest2(function(func,args2){try{return apply2(func,undefined2,args2)}catch(e){return isError2(e)?e:new Error2(e)}});var bindAll2=flatRest2(function(object,methodNames){arrayEach2(methodNames,function(key){key=toKey2(key);baseAssignValue2(object,key,bind2(object[key],object))});return object});function cond2(pairs2){var length=pairs2==null?0:pairs2.length,toIteratee=getIteratee();pairs2=!length?[]:arrayMap2(pairs2,function(pair){if(typeof pair[1]!="function"){throw new TypeError2(FUNC_ERROR_TEXT13)}return[toIteratee(pair[0]),pair[1]]});return baseRest2(function(args2){var index=-1;while(++index<length){var pair=pairs2[index];if(apply2(pair[0],this,args2)){return apply2(pair[1],this,args2)}}})}function conforms2(source){return baseConforms2(baseClone2(source,CLONE_DEEP_FLAG9))}function constant2(value){return function(){return value}}function defaultTo2(value,defaultValue){return value==null||value!==value?defaultValue:value}var flow2=createFlow2();var flowRight2=createFlow2(true);function identity2(value){return value}function iteratee2(func){return baseIteratee2(typeof func=="function"?func:baseClone2(func,CLONE_DEEP_FLAG9))}function matches2(source){return baseMatches2(baseClone2(source,CLONE_DEEP_FLAG9))}function matchesProperty2(path27,srcValue){return baseMatchesProperty2(path27,baseClone2(srcValue,CLONE_DEEP_FLAG9))}var method2=baseRest2(function(path27,args2){return function(object){return baseInvoke2(object,path27,args2)}});var methodOf2=baseRest2(function(object,args2){return function(path27){return baseInvoke2(object,path27,args2)}});function mixin3(object,source,options){var props=keys2(source),methodNames=baseFunctions2(source,props);if(options==null&&!(isObject4(source)&&(methodNames.length||!props.length))){options=source;source=object;object=this;methodNames=baseFunctions2(source,keys2(source))}var chain3=!(isObject4(options)&&"chain"in options)||!!options.chain,isFunc=isFunction3(object);arrayEach2(methodNames,function(methodName){var func=source[methodName];object[methodName]=func;if(isFunc){object.prototype[methodName]=function(){var chainAll=this.__chain__;if(chain3||chainAll){var result3=object(this.__wrapped__),actions=result3.__actions__=copyArray2(this.__actions__);actions.push({"func":func,"args":arguments,"thisArg":object});result3.__chain__=chainAll;return result3}return func.apply(object,arrayPush2([this.value()],arguments))}}});return object}function noConflict(){if(root2._===this){root2._=oldDash}return this}function noop4(){}function nthArg2(n){n=toInteger2(n);return baseRest2(function(args2){return baseNth2(args2,n)})}var over2=createOver2(arrayMap2);var overEvery2=createOver2(arrayEvery2);var overSome2=createOver2(arraySome2);function property2(path27){return isKey2(path27)?baseProperty2(toKey2(path27)):basePropertyDeep2(path27)}function propertyOf2(object){return function(path27){return object==null?undefined2:baseGet2(object,path27)}}var range2=createRange2();var rangeRight2=createRange2(true);function stubArray2(){return[]}function stubFalse2(){return false}function stubObject2(){return{}}function stubString2(){return""}function stubTrue2(){return true}function times2(n,iteratee3){n=toInteger2(n);if(n<1||n>MAX_SAFE_INTEGER7){return[]}var index=MAX_ARRAY_LENGTH8,length=nativeMin16(n,MAX_ARRAY_LENGTH8);iteratee3=getIteratee(iteratee3);n-=MAX_ARRAY_LENGTH8;var result3=baseTimes2(length,iteratee3);while(++index<n){iteratee3(index)}return result3}function toPath2(value){if(isArray3(value)){return arrayMap2(value,toKey2)}return isSymbol2(value)?[value]:copyArray2(stringToPath2(toString5(value)))}function uniqueId2(prefix){var id=++idCounter2;return toString5(prefix)+id}var add2=createMathOperation2(function(augend,addend){return augend+addend},0);var ceil2=createRound2("ceil");var divide2=createMathOperation2(function(dividend,divisor){return dividend/divisor},1);var floor2=createRound2("floor");function max3(array){return array&&array.length?baseExtremum2(array,identity2,baseGt2):undefined2}function maxBy2(array,iteratee3){return array&&array.length?baseExtremum2(array,getIteratee(iteratee3,2),baseGt2):undefined2}function mean2(array){return baseMean2(array,identity2)}function meanBy2(array,iteratee3){return baseMean2(array,getIteratee(iteratee3,2))}function min3(array){return array&&array.length?baseExtremum2(array,identity2,baseLt2):undefined2}function minBy2(array,iteratee3){return array&&array.length?baseExtremum2(array,getIteratee(iteratee3,2),baseLt2):undefined2}var multiply2=createMathOperation2(function(multiplier,multiplicand){return multiplier*multiplicand},1);var round2=createRound2("round");var subtract2=createMathOperation2(function(minuend,subtrahend){return minuend-subtrahend},0);function sum2(array){return array&&array.length?baseSum2(array,identity2):0}function sumBy2(array,iteratee3){return array&&array.length?baseSum2(array,getIteratee(iteratee3,2)):0}lodash3.after=after2;lodash3.ary=ary2;lodash3.assign=assign2;lodash3.assignIn=assignIn2;lodash3.assignInWith=assignInWith2;lodash3.assignWith=assignWith2;lodash3.at=at2;lodash3.before=before2;lodash3.bind=bind2;lodash3.bindAll=bindAll2;lodash3.bindKey=bindKey2;lodash3.castArray=castArray2;lodash3.chain=chain2;lodash3.chunk=chunk2;lodash3.compact=compact2;lodash3.concat=concat3;lodash3.cond=cond2;lodash3.conforms=conforms2;lodash3.constant=constant2;lodash3.countBy=countBy2;lodash3.create=create3;lodash3.curry=curry2;lodash3.curryRight=curryRight2;lodash3.debounce=debounce2;lodash3.defaults=defaults3;lodash3.defaultsDeep=defaultsDeep2;lodash3.defer=defer2;lodash3.delay=delay3;lodash3.difference=difference2;lodash3.differenceBy=differenceBy2;lodash3.differenceWith=differenceWith2;lodash3.drop=drop2;lodash3.dropRight=dropRight2;lodash3.dropRightWhile=dropRightWhile2;lodash3.dropWhile=dropWhile2;lodash3.fill=fill2;lodash3.filter=filter2;lodash3.flatMap=flatMap2;lodash3.flatMapDeep=flatMapDeep2;lodash3.flatMapDepth=flatMapDepth2;lodash3.flatten=flatten2;lodash3.flattenDeep=flattenDeep2;lodash3.flattenDepth=flattenDepth2;lodash3.flip=flip2;lodash3.flow=flow2;lodash3.flowRight=flowRight2;lodash3.fromPairs=fromPairs2;lodash3.functions=functions2;lodash3.functionsIn=functionsIn2;lodash3.groupBy=groupBy2;lodash3.initial=initial2;lodash3.intersection=intersection2;lodash3.intersectionBy=intersectionBy2;lodash3.intersectionWith=intersectionWith2;lodash3.invert=invert2;lodash3.invertBy=invertBy2;lodash3.invokeMap=invokeMap2;lodash3.iteratee=iteratee2;lodash3.keyBy=keyBy2;lodash3.keys=keys2;lodash3.keysIn=keysIn2;lodash3.map=map3;lodash3.mapKeys=mapKeys2;lodash3.mapValues=mapValues2;lodash3.matches=matches2;lodash3.matchesProperty=matchesProperty2;lodash3.memoize=memoize2;lodash3.merge=merge3;lodash3.mergeWith=mergeWith2;lodash3.method=method2;lodash3.methodOf=methodOf2;lodash3.mixin=mixin3;lodash3.negate=negate2;lodash3.nthArg=nthArg2;lodash3.omit=omit2;lodash3.omitBy=omitBy2;lodash3.once=once2;lodash3.orderBy=orderBy2;lodash3.over=over2;lodash3.overArgs=overArgs2;lodash3.overEvery=overEvery2;lodash3.overSome=overSome2;lodash3.partial=partial2;lodash3.partialRight=partialRight2;lodash3.partition=partition2;lodash3.pick=pick2;lodash3.pickBy=pickBy2;lodash3.property=property2;lodash3.propertyOf=propertyOf2;lodash3.pull=pull2;lodash3.pullAll=pullAll2;lodash3.pullAllBy=pullAllBy2;lodash3.pullAllWith=pullAllWith2;lodash3.pullAt=pullAt2;lodash3.range=range2;lodash3.rangeRight=rangeRight2;lodash3.rearg=rearg2;lodash3.reject=reject2;lodash3.remove=remove2;lodash3.rest=rest2;lodash3.reverse=reverse2;lodash3.sampleSize=sampleSize2;lodash3.set=set3;lodash3.setWith=setWith2;lodash3.shuffle=shuffle2;lodash3.slice=slice2;lodash3.sortBy=sortBy2;lodash3.sortedUniq=sortedUniq2;lodash3.sortedUniqBy=sortedUniqBy2;lodash3.split=split2;lodash3.spread=spread2;lodash3.tail=tail2;lodash3.take=take2;lodash3.takeRight=takeRight2;lodash3.takeRightWhile=takeRightWhile2;lodash3.takeWhile=takeWhile2;lodash3.tap=tap2;lodash3.throttle=throttle3;lodash3.thru=thru2;lodash3.toArray=toArray3;lodash3.toPairs=toPairs2;lodash3.toPairsIn=toPairsIn2;lodash3.toPath=toPath2;lodash3.toPlainObject=toPlainObject2;lodash3.transform=transform2;lodash3.unary=unary2;lodash3.union=union2;lodash3.unionBy=unionBy2;lodash3.unionWith=unionWith2;lodash3.uniq=uniq2;lodash3.uniqBy=uniqBy2;lodash3.uniqWith=uniqWith2;lodash3.unset=unset2;lodash3.unzip=unzip2;lodash3.unzipWith=unzipWith2;lodash3.update=update2;lodash3.updateWith=updateWith2;lodash3.values=values2;lodash3.valuesIn=valuesIn2;lodash3.without=without2;lodash3.words=words2;lodash3.wrap=wrap4;lodash3.xor=xor2;lodash3.xorBy=xorBy2;lodash3.xorWith=xorWith2;lodash3.zip=zip2;lodash3.zipObject=zipObject2;lodash3.zipObjectDeep=zipObjectDeep2;lodash3.zipWith=zipWith2;lodash3.entries=toPairs2;lodash3.entriesIn=toPairsIn2;lodash3.extend=assignIn2;lodash3.extendWith=assignInWith2;mixin3(lodash3,lodash3);lodash3.add=add2;lodash3.attempt=attempt2;lodash3.camelCase=camelCase3;lodash3.capitalize=capitalize2;lodash3.ceil=ceil2;lodash3.clamp=clamp2;lodash3.clone=clone2;lodash3.cloneDeep=cloneDeep3;lodash3.cloneDeepWith=cloneDeepWith2;lodash3.cloneWith=cloneWith2;lodash3.conformsTo=conformsTo2;lodash3.deburr=deburr2;lodash3.defaultTo=defaultTo2;lodash3.divide=divide2;lodash3.endsWith=endsWith2;lodash3.eq=eq2;lodash3.escape=escape3;lodash3.escapeRegExp=escapeRegExp2;lodash3.every=every2;lodash3.find=find2;lodash3.findIndex=findIndex2;lodash3.findKey=findKey2;lodash3.findLast=findLast2;lodash3.findLastIndex=findLastIndex2;lodash3.findLastKey=findLastKey2;lodash3.floor=floor2;lodash3.forEach=forEach2;lodash3.forEachRight=forEachRight2;lodash3.forIn=forIn2;lodash3.forInRight=forInRight2;lodash3.forOwn=forOwn2;lodash3.forOwnRight=forOwnRight2;lodash3.get=get4;lodash3.gt=gt2;lodash3.gte=gte2;lodash3.has=has3;lodash3.hasIn=hasIn2;lodash3.head=head2;lodash3.identity=identity2;lodash3.includes=includes2;lodash3.indexOf=indexOf2;lodash3.inRange=inRange2;lodash3.invoke=invoke2;lodash3.isArguments=isArguments2;lodash3.isArray=isArray3;lodash3.isArrayBuffer=isArrayBuffer2;lodash3.isArrayLike=isArrayLike2;lodash3.isArrayLikeObject=isArrayLikeObject2;lodash3.isBoolean=isBoolean4;lodash3.isBuffer=isBuffer2;lodash3.isDate=isDate2;lodash3.isElement=isElement2;lodash3.isEmpty=isEmpty2;lodash3.isEqual=isEqual2;lodash3.isEqualWith=isEqualWith2;lodash3.isError=isError2;lodash3.isFinite=isFinite3;lodash3.isFunction=isFunction3;lodash3.isInteger=isInteger3;lodash3.isLength=isLength2;lodash3.isMap=isMap2;lodash3.isMatch=isMatch2;lodash3.isMatchWith=isMatchWith2;lodash3.isNaN=isNaN3;lodash3.isNative=isNative2;lodash3.isNil=isNil2;lodash3.isNull=isNull3;lodash3.isNumber=isNumber4;lodash3.isObject=isObject4;lodash3.isObjectLike=isObjectLike3;lodash3.isPlainObject=isPlainObject3;lodash3.isRegExp=isRegExp2;lodash3.isSafeInteger=isSafeInteger2;lodash3.isSet=isSet2;lodash3.isString=isString4;lodash3.isSymbol=isSymbol2;lodash3.isTypedArray=isTypedArray2;lodash3.isUndefined=isUndefined6;lodash3.isWeakMap=isWeakMap2;lodash3.isWeakSet=isWeakSet2;lodash3.join=join4;lodash3.kebabCase=kebabCase2;lodash3.last=last2;lodash3.lastIndexOf=lastIndexOf2;lodash3.lowerCase=lowerCase2;lodash3.lowerFirst=lowerFirst2;lodash3.lt=lt2;lodash3.lte=lte2;lodash3.max=max3;lodash3.maxBy=maxBy2;lodash3.mean=mean2;lodash3.meanBy=meanBy2;lodash3.min=min3;lodash3.minBy=minBy2;lodash3.stubArray=stubArray2;lodash3.stubFalse=stubFalse2;lodash3.stubObject=stubObject2;lodash3.stubString=stubString2;lodash3.stubTrue=stubTrue2;lodash3.multiply=multiply2;lodash3.nth=nth2;lodash3.noConflict=noConflict;lodash3.noop=noop4;lodash3.now=now3;lodash3.pad=pad4;lodash3.padEnd=padEnd2;lodash3.padStart=padStart3;lodash3.parseInt=parseInt3;lodash3.random=random3;lodash3.reduce=reduce2;lodash3.reduceRight=reduceRight2;lodash3.repeat=repeat3;lodash3.replace=replace2;lodash3.result=result2;lodash3.round=round2;lodash3.runInContext=runInContext2;lodash3.sample=sample2;lodash3.size=size2;lodash3.snakeCase=snakeCase2;lodash3.some=some2;lodash3.sortedIndex=sortedIndex2;lodash3.sortedIndexBy=sortedIndexBy2;lodash3.sortedIndexOf=sortedIndexOf2;lodash3.sortedLastIndex=sortedLastIndex2;lodash3.sortedLastIndexBy=sortedLastIndexBy2;lodash3.sortedLastIndexOf=sortedLastIndexOf2;lodash3.startCase=startCase2;lodash3.startsWith=startsWith2;lodash3.subtract=subtract2;lodash3.sum=sum2;lodash3.sumBy=sumBy2;lodash3.template=template2;lodash3.times=times2;lodash3.toFinite=toFinite2;lodash3.toInteger=toInteger2;lodash3.toLength=toLength2;lodash3.toLower=toLower2;lodash3.toNumber=toNumber2;lodash3.toSafeInteger=toSafeInteger2;lodash3.toString=toString5;lodash3.toUpper=toUpper2;lodash3.trim=trim2;lodash3.trimEnd=trimEnd2;lodash3.trimStart=trimStart2;lodash3.truncate=truncate2;lodash3.unescape=unescape3;lodash3.uniqueId=uniqueId2;lodash3.upperCase=upperCase2;lodash3.upperFirst=upperFirst2;lodash3.each=forEach2;lodash3.eachRight=forEachRight2;lodash3.first=head2;mixin3(lodash3,function(){var source={};baseForOwn2(lodash3,function(func,methodName){if(!hasOwnProperty26.call(lodash3.prototype,methodName)){source[methodName]=func}});return source}(),{"chain":false});lodash3.VERSION=VERSION2;arrayEach2(["bind","bindKey","curry","curryRight","partial","partialRight"],function(methodName){lodash3[methodName].placeholder=lodash3});arrayEach2(["drop","take"],function(methodName,index){LazyWrapper2.prototype[methodName]=function(n){n=n===undefined2?1:nativeMax18(toInteger2(n),0);var result3=this.__filtered__&&!index?new LazyWrapper2(this):this.clone();if(result3.__filtered__){result3.__takeCount__=nativeMin16(n,result3.__takeCount__)}else{result3.__views__.push({"size":nativeMin16(n,MAX_ARRAY_LENGTH8),"type":methodName+(result3.__dir__<0?"Right":"")})}return result3};LazyWrapper2.prototype[methodName+"Right"]=function(n){return this.reverse()[methodName](n).reverse()}});arrayEach2(["filter","map","takeWhile"],function(methodName,index){var type2=index+1,isFilter=type2==LAZY_FILTER_FLAG3||type2==LAZY_WHILE_FLAG2;LazyWrapper2.prototype[methodName]=function(iteratee3){var result3=this.clone();result3.__iteratees__.push({"iteratee":getIteratee(iteratee3,3),"type":type2});result3.__filtered__=result3.__filtered__||isFilter;return result3}});arrayEach2(["head","last"],function(methodName,index){var takeName="take"+(index?"Right":"");LazyWrapper2.prototype[methodName]=function(){return this[takeName](1).value()[0]}});arrayEach2(["initial","tail"],function(methodName,index){var dropName="drop"+(index?"":"Right");LazyWrapper2.prototype[methodName]=function(){return this.__filtered__?new LazyWrapper2(this):this[dropName](1)}});LazyWrapper2.prototype.compact=function(){return this.filter(identity2)};LazyWrapper2.prototype.find=function(predicate){return this.filter(predicate).head()};LazyWrapper2.prototype.findLast=function(predicate){return this.reverse().find(predicate)};LazyWrapper2.prototype.invokeMap=baseRest2(function(path27,args2){if(typeof path27=="function"){return new LazyWrapper2(this)}return this.map(function(value){return baseInvoke2(value,path27,args2)})});LazyWrapper2.prototype.reject=function(predicate){return this.filter(negate2(getIteratee(predicate)))};LazyWrapper2.prototype.slice=function(start,end){start=toInteger2(start);var result3=this;if(result3.__filtered__&&(start>0||end<0)){return new LazyWrapper2(result3)}if(start<0){result3=result3.takeRight(-start)}else if(start){result3=result3.drop(start)}if(end!==undefined2){end=toInteger2(end);result3=end<0?result3.dropRight(-end):result3.take(end-start)}return result3};LazyWrapper2.prototype.takeRightWhile=function(predicate){return this.reverse().takeWhile(predicate).reverse()};LazyWrapper2.prototype.toArray=function(){return this.take(MAX_ARRAY_LENGTH8)};baseForOwn2(LazyWrapper2.prototype,function(func,methodName){var checkIteratee=/^(?:filter|find|map|reject)|While$/.test(methodName),isTaker=/^(?:head|last)$/.test(methodName),lodashFunc=lodash3[isTaker?"take"+(methodName=="last"?"Right":""):methodName],retUnwrapped=isTaker||/^find/.test(methodName);if(!lodashFunc){return}lodash3.prototype[methodName]=function(){var value=this.__wrapped__,args2=isTaker?[1]:arguments,isLazy=value instanceof LazyWrapper2,iteratee3=args2[0],useLazy=isLazy||isArray3(value);var interceptor=function(value2){var result4=lodashFunc.apply(lodash3,arrayPush2([value2],args2));return isTaker&&chainAll?result4[0]:result4};if(useLazy&&checkIteratee&&typeof iteratee3=="function"&&iteratee3.length!=1){isLazy=useLazy=false}var chainAll=this.__chain__,isHybrid=!!this.__actions__.length,isUnwrapped=retUnwrapped&&!chainAll,onlyLazy=isLazy&&!isHybrid;if(!retUnwrapped&&useLazy){value=onlyLazy?value:new LazyWrapper2(this);var result3=func.apply(value,args2);result3.__actions__.push({"func":thru2,"args":[interceptor],"thisArg":undefined2});return new LodashWrapper2(result3,chainAll)}if(isUnwrapped&&onlyLazy){return func.apply(this,args2)}result3=this.thru(interceptor);return isUnwrapped?isTaker?result3.value()[0]:result3.value():result3}});arrayEach2(["pop","push","shift","sort","splice","unshift"],function(methodName){var func=arrayProto7[methodName],chainName=/^(?:push|sort|unshift)$/.test(methodName)?"tap":"thru",retUnwrapped=/^(?:pop|shift)$/.test(methodName);lodash3.prototype[methodName]=function(){var args2=arguments;if(retUnwrapped&&!this.__chain__){var value=this.value();return func.apply(isArray3(value)?value:[],args2)}return this[chainName](function(value2){return func.apply(isArray3(value2)?value2:[],args2)})}});baseForOwn2(LazyWrapper2.prototype,function(func,methodName){var lodashFunc=lodash3[methodName];if(lodashFunc){var key=lodashFunc.name+"";if(!hasOwnProperty26.call(realNames2,key)){realNames2[key]=[]}realNames2[key].push({"name":methodName,"func":lodashFunc})}});realNames2[createHybrid2(undefined2,WRAP_BIND_KEY_FLAG8).name]=[{"name":"wrapper","func":undefined2}];LazyWrapper2.prototype.clone=lazyClone2;LazyWrapper2.prototype.reverse=lazyReverse2;LazyWrapper2.prototype.value=lazyValue2;lodash3.prototype.at=wrapperAt2;lodash3.prototype.chain=wrapperChain2;lodash3.prototype.commit=wrapperCommit2;lodash3.prototype.next=wrapperNext2;lodash3.prototype.plant=wrapperPlant2;lodash3.prototype.reverse=wrapperReverse2;lodash3.prototype.toJSON=lodash3.prototype.valueOf=lodash3.prototype.value=wrapperValue2;lodash3.prototype.first=lodash3.prototype.head;if(symIterator3){lodash3.prototype[symIterator3]=wrapperToIterator2}return lodash3};var _=runInContext();if(typeof define=="function"&&typeof define.amd=="object"&&define.amd){root2._=_;define(function(){return _})}else if(freeModule4){(freeModule4.exports=_)._=_;freeExports4._=_}else{root2._=_}}).call(exports2)}});var require_windows=__commonJS({"node_modules/isexe/windows.js"(exports2,module2){module2.exports=isexe;isexe.sync=sync;var fs14=require("fs");function checkPathExt(path27,options){var pathext=options.pathExt!==void 0?options.pathExt:process.env.PATHEXT;if(!pathext){return true}pathext=pathext.split(";");if(pathext.indexOf("")!==-1){return true}for(var i=0;i<pathext.length;i++){var p=pathext[i].toLowerCase();if(p&&path27.substr(-p.length).toLowerCase()===p){return true}}return false}function checkStat(stat3,path27,options){if(!stat3.isSymbolicLink()&&!stat3.isFile()){return false}return checkPathExt(path27,options)}function isexe(path27,options,cb){fs14.stat(path27,function(er,stat3){cb(er,er?false:checkStat(stat3,path27,options))})}function sync(path27,options){return checkStat(fs14.statSync(path27),path27,options)}}});var require_mode=__commonJS({"node_modules/isexe/mode.js"(exports2,module2){module2.exports=isexe;isexe.sync=sync;var fs14=require("fs");function isexe(path27,options,cb){fs14.stat(path27,function(er,stat3){cb(er,er?false:checkStat(stat3,options))})}function sync(path27,options){return checkStat(fs14.statSync(path27),options)}function checkStat(stat3,options){return stat3.isFile()&&checkMode(stat3,options)}function checkMode(stat3,options){var mod3=stat3.mode;var uid=stat3.uid;var gid=stat3.gid;var myUid=options.uid!==void 0?options.uid:process.getuid&&process.getuid();var myGid=options.gid!==void 0?options.gid:process.getgid&&process.getgid();var u=parseInt("100",8);var g=parseInt("010",8);var o=parseInt("001",8);var ug=u|g;var ret=mod3&o||mod3&g&&gid===myGid||mod3&u&&uid===myUid||mod3&ug&&myUid===0;return ret}}});var require_isexe=__commonJS({"node_modules/isexe/index.js"(exports2,module2){var fs14=require("fs");var core2;if(process.platform==="win32"||global.TESTING_WINDOWS){core2=require_windows()}else{core2=require_mode()}module2.exports=isexe;isexe.sync=sync;function isexe(path27,options,cb){if(typeof options==="function"){cb=options;options={}}if(!cb){if(typeof Promise!=="function"){throw new TypeError("callback not provided")}return new Promise(function(resolve,reject2){isexe(path27,options||{},function(er,is2){if(er){reject2(er)}else{resolve(is2)}})})}core2(path27,options||{},function(er,is2){if(er){if(er.code==="EACCES"||options&&options.ignoreErrors){er=null;is2=false}}cb(er,is2)})}function sync(path27,options){try{return core2.sync(path27,options||{})}catch(er){if(options&&options.ignoreErrors||er.code==="EACCES"){return false}else{throw er}}}}});var require_which=__commonJS({"node_modules/which/which.js"(exports2,module2){var isWindows2=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys";var path27=require("path");var COLON=isWindows2?";":":";var isexe=require_isexe();var getNotFoundError=cmd=>Object.assign(new Error(`not found: ${cmd}`),{code:"ENOENT"});var getPathInfo=(cmd,opt)=>{const colon=opt.colon||COLON;const pathEnv=cmd.match(/\//)||isWindows2&&cmd.match(/\\/)?[""]:[...isWindows2?[process.cwd()]:[],...(opt.path||process.env.PATH||"").split(colon)];const pathExtExe=isWindows2?opt.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"";const pathExt=isWindows2?pathExtExe.split(colon):[""];if(isWindows2){if(cmd.indexOf(".")!==-1&&pathExt[0]!=="")pathExt.unshift("")}return{pathEnv,pathExt,pathExtExe}};var which=(cmd,opt,cb)=>{if(typeof opt==="function"){cb=opt;opt={}}if(!opt)opt={};const{pathEnv,pathExt,pathExtExe}=getPathInfo(cmd,opt);const found=[];const step=i=>new Promise((resolve,reject2)=>{if(i===pathEnv.length)return opt.all&&found.length?resolve(found):reject2(getNotFoundError(cmd));const ppRaw=pathEnv[i];const pathPart=/^".*"$/.test(ppRaw)?ppRaw.slice(1,-1):ppRaw;const pCmd=path27.join(pathPart,cmd);const p=!pathPart&&/^\.[\\\/]/.test(cmd)?cmd.slice(0,2)+pCmd:pCmd;resolve(subStep(p,i,0))});const subStep=(p,i,ii)=>new Promise((resolve,reject2)=>{if(ii===pathExt.length)return resolve(step(i+1));const ext=pathExt[ii];isexe(p+ext,{pathExt:pathExtExe},(er,is2)=>{if(!er&&is2){if(opt.all)found.push(p+ext);else return resolve(p+ext)}return resolve(subStep(p,i,ii+1))})});return cb?step(0).then(res=>cb(null,res),cb):step(0)};var whichSync=(cmd,opt)=>{opt=opt||{};const{pathEnv,pathExt,pathExtExe}=getPathInfo(cmd,opt);const found=[];for(let i=0;i<pathEnv.length;i++){const ppRaw=pathEnv[i];const pathPart=/^".*"$/.test(ppRaw)?ppRaw.slice(1,-1):ppRaw;const pCmd=path27.join(pathPart,cmd);const p=!pathPart&&/^\.[\\\/]/.test(cmd)?cmd.slice(0,2)+pCmd:pCmd;for(let j=0;j<pathExt.length;j++){const cur=p+pathExt[j];try{const is2=isexe.sync(cur,{pathExt:pathExtExe});if(is2){if(opt.all)found.push(cur);else return cur}}catch(ex){}}}if(opt.all&&found.length)return found;if(opt.nothrow)return null;throw getNotFoundError(cmd)};module2.exports=which;which.sync=whichSync}});var require_path_key=__commonJS({"node_modules/path-key/index.js"(exports2,module2){"use strict";var pathKey=(options={})=>{const environment=options.env||process.env;const platform=options.platform||process.platform;if(platform!=="win32"){return"PATH"}return Object.keys(environment).reverse().find(key=>key.toUpperCase()==="PATH")||"Path"};module2.exports=pathKey;module2.exports.default=pathKey}});var require_resolveCommand=__commonJS({"node_modules/cross-spawn/lib/util/resolveCommand.js"(exports2,module2){"use strict";var path27=require("path");var which=require_which();var getPathKey=require_path_key();function resolveCommandAttempt(parsed,withoutPathExt){const env2=parsed.options.env||process.env;const cwd=process.cwd();const hasCustomCwd=parsed.options.cwd!=null;const shouldSwitchCwd=hasCustomCwd&&process.chdir!==void 0&&!process.chdir.disabled;if(shouldSwitchCwd){try{process.chdir(parsed.options.cwd)}catch(err){}}let resolved;try{resolved=which.sync(parsed.command,{path:env2[getPathKey({env:env2})],pathExt:withoutPathExt?path27.delimiter:void 0})}catch(e){}finally{if(shouldSwitchCwd){process.chdir(cwd)}}if(resolved){resolved=path27.resolve(hasCustomCwd?parsed.options.cwd:"",resolved)}return resolved}function resolveCommand(parsed){return resolveCommandAttempt(parsed)||resolveCommandAttempt(parsed,true)}module2.exports=resolveCommand}});var require_escape=__commonJS({"node_modules/cross-spawn/lib/util/escape.js"(exports2,module2){"use strict";var metaCharsRegExp=/([()\][%!^"`<>&|;, *?])/g;function escapeCommand(arg){arg=arg.replace(metaCharsRegExp,"^$1");return arg}function escapeArgument(arg,doubleEscapeMetaChars){arg=`${arg}`;arg=arg.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"');arg=arg.replace(/(?=(\\+?)?)\1$/,"$1$1");arg=`"${arg}"`;arg=arg.replace(metaCharsRegExp,"^$1");if(doubleEscapeMetaChars){arg=arg.replace(metaCharsRegExp,"^$1")}return arg}module2.exports.command=escapeCommand;module2.exports.argument=escapeArgument}});var require_shebang_regex=__commonJS({"node_modules/shebang-regex/index.js"(exports2,module2){"use strict";module2.exports=/^#!(.*)/}});var require_shebang_command=__commonJS({"node_modules/shebang-command/index.js"(exports2,module2){"use strict";var shebangRegex=require_shebang_regex();module2.exports=(string="")=>{const match=string.match(shebangRegex);if(!match){return null}const[path27,argument]=match[0].replace(/#! ?/,"").split(" ");const binary2=path27.split("/").pop();if(binary2==="env"){return argument}return argument?`${binary2} ${argument}`:binary2}}});var require_readShebang=__commonJS({"node_modules/cross-spawn/lib/util/readShebang.js"(exports2,module2){"use strict";var fs14=require("fs");var shebangCommand=require_shebang_command();function readShebang(command){const size2=150;const buffer=Buffer.alloc(size2);let fd;try{fd=fs14.openSync(command,"r");fs14.readSync(fd,buffer,0,size2,0);fs14.closeSync(fd)}catch(e){}return shebangCommand(buffer.toString())}module2.exports=readShebang}});var require_parse=__commonJS({"node_modules/cross-spawn/lib/parse.js"(exports2,module2){"use strict";var path27=require("path");var resolveCommand=require_resolveCommand();var escape3=require_escape();var readShebang=require_readShebang();var isWin=process.platform==="win32";var isExecutableRegExp=/\.(?:com|exe)$/i;var isCmdShimRegExp=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function detectShebang(parsed){parsed.file=resolveCommand(parsed);const shebang=parsed.file&&readShebang(parsed.file);if(shebang){parsed.args.unshift(parsed.file);parsed.command=shebang;return resolveCommand(parsed)}return parsed.file}function parseNonShell(parsed){if(!isWin){return parsed}const commandFile=detectShebang(parsed);const needsShell=!isExecutableRegExp.test(commandFile);if(parsed.options.forceShell||needsShell){const needsDoubleEscapeMetaChars=isCmdShimRegExp.test(commandFile);parsed.command=path27.normalize(parsed.command);parsed.command=escape3.command(parsed.command);parsed.args=parsed.args.map(arg=>escape3.argument(arg,needsDoubleEscapeMetaChars));const shellCommand=[parsed.command].concat(parsed.args).join(" ");parsed.args=["/d","/s","/c",`"${shellCommand}"`];parsed.command=process.env.comspec||"cmd.exe";parsed.options.windowsVerbatimArguments=true}return parsed}function parse3(command,args2,options){if(args2&&!Array.isArray(args2)){options=args2;args2=null}args2=args2?args2.slice(0):[];options=Object.assign({},options);const parsed={command,args:args2,options,file:void 0,original:{command,args:args2}};return options.shell?parsed:parseNonShell(parsed)}module2.exports=parse3}});var require_enoent=__commonJS({"node_modules/cross-spawn/lib/enoent.js"(exports2,module2){"use strict";var isWin=process.platform==="win32";function notFoundError(original,syscall){return Object.assign(new Error(`${syscall} ${original.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${syscall} ${original.command}`,path:original.command,spawnargs:original.args})}function hookChildProcess(cp,parsed){if(!isWin){return}const originalEmit=cp.emit;cp.emit=function(name,arg1){if(name==="exit"){const err=verifyENOENT(arg1,parsed);if(err){return originalEmit.call(cp,"error",err)}}return originalEmit.apply(cp,arguments)}}function verifyENOENT(status,parsed){if(isWin&&status===1&&!parsed.file){return notFoundError(parsed.original,"spawn")}return null}function verifyENOENTSync(status,parsed){if(isWin&&status===1&&!parsed.file){return notFoundError(parsed.original,"spawnSync")}return null}module2.exports={hookChildProcess,verifyENOENT,verifyENOENTSync,notFoundError}}});var require_cross_spawn=__commonJS({"node_modules/cross-spawn/index.js"(exports2,module2){"use strict";var cp=require("child_process");var parse3=require_parse();var enoent=require_enoent();function spawn2(command,args2,options){const parsed=parse3(command,args2,options);const spawned=cp.spawn(parsed.command,parsed.args,parsed.options);enoent.hookChildProcess(spawned,parsed);return spawned}function spawnSync(command,args2,options){const parsed=parse3(command,args2,options);const result2=cp.spawnSync(parsed.command,parsed.args,parsed.options);result2.error=result2.error||enoent.verifyENOENTSync(result2.status,parsed);return result2}module2.exports=spawn2;module2.exports.spawn=spawn2;module2.exports.sync=spawnSync;module2.exports._parse=parse3;module2.exports._enoent=enoent}});var require_strip_final_newline=__commonJS({"node_modules/strip-final-newline/index.js"(exports2,module2){"use strict";module2.exports=input=>{const LF=typeof input==="string"?"\n":"\n".charCodeAt();const CR=typeof input==="string"?"\r":"\r".charCodeAt();if(input[input.length-1]===LF){input=input.slice(0,input.length-1)}if(input[input.length-1]===CR){input=input.slice(0,input.length-1)}return input}}});var require_npm_run_path=__commonJS({"node_modules/npm-run-path/index.js"(exports2,module2){"use strict";var path27=require("path");var pathKey=require_path_key();var npmRunPath=options=>{options={cwd:process.cwd(),path:process.env[pathKey()],execPath:process.execPath,...options};let previous;let cwdPath=path27.resolve(options.cwd);const result2=[];while(previous!==cwdPath){result2.push(path27.join(cwdPath,"node_modules/.bin"));previous=cwdPath;cwdPath=path27.resolve(cwdPath,"..")}const execPathDir=path27.resolve(options.cwd,options.execPath,"..");result2.push(execPathDir);return result2.concat(options.path).join(path27.delimiter)};module2.exports=npmRunPath;module2.exports.default=npmRunPath;module2.exports.env=options=>{options={env:process.env,...options};const env2={...options.env};const path28=pathKey({env:env2});options.path=env2[path28];env2[path28]=module2.exports(options);return env2}}});var require_mimic_fn=__commonJS({"node_modules/mimic-fn/index.js"(exports2,module2){"use strict";var mimicFn=(to,from)=>{for(const prop of Reflect.ownKeys(from)){Object.defineProperty(to,prop,Object.getOwnPropertyDescriptor(from,prop))}return to};module2.exports=mimicFn;module2.exports.default=mimicFn}});var require_onetime=__commonJS({"node_modules/onetime/index.js"(exports2,module2){"use strict";var mimicFn=require_mimic_fn();var calledFunctions=new WeakMap;var onetime=(function_,options={})=>{if(typeof function_!=="function"){throw new TypeError("Expected a function")}let returnValue;let callCount=0;const functionName=function_.displayName||function_.name||"<anonymous>";const onetime2=function(...arguments_){calledFunctions.set(onetime2,++callCount);if(callCount===1){returnValue=function_.apply(this,arguments_);function_=null}else if(options.throw===true){throw new Error(`Function \`${functionName}\` can only be called once`)}return returnValue};mimicFn(onetime2,function_);calledFunctions.set(onetime2,callCount);return onetime2};module2.exports=onetime;module2.exports.default=onetime;module2.exports.callCount=function_=>{if(!calledFunctions.has(function_)){throw new Error(`The given function \`${function_.name}\` is not wrapped by the \`onetime\` package`)}return calledFunctions.get(function_)}}});var require_core=__commonJS({"node_modules/human-signals/build/src/core.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.SIGNALS=void 0;var SIGNALS=[{name:"SIGHUP",number:1,action:"terminate",description:"Terminal closed",standard:"posix"},{name:"SIGINT",number:2,action:"terminate",description:"User interruption with CTRL-C",standard:"ansi"},{name:"SIGQUIT",number:3,action:"core",description:"User interruption with CTRL-\\",standard:"posix"},{name:"SIGILL",number:4,action:"core",description:"Invalid machine instruction",standard:"ansi"},{name:"SIGTRAP",number:5,action:"core",description:"Debugger breakpoint",standard:"posix"},{name:"SIGABRT",number:6,action:"core",description:"Aborted",standard:"ansi"},{name:"SIGIOT",number:6,action:"core",description:"Aborted",standard:"bsd"},{name:"SIGBUS",number:7,action:"core",description:"Bus error due to misaligned, non-existing address or paging error",standard:"bsd"},{name:"SIGEMT",number:7,action:"terminate",description:"Command should be emulated but is not implemented",standard:"other"},{name:"SIGFPE",number:8,action:"core",description:"Floating point arithmetic error",standard:"ansi"},{name:"SIGKILL",number:9,action:"terminate",description:"Forced termination",standard:"posix",forced:true},{name:"SIGUSR1",number:10,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGSEGV",number:11,action:"core",description:"Segmentation fault",standard:"ansi"},{name:"SIGUSR2",number:12,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGPIPE",number:13,action:"terminate",description:"Broken pipe or socket",standard:"posix"},{name:"SIGALRM",number:14,action:"terminate",description:"Timeout or timer",standard:"posix"},{name:"SIGTERM",number:15,action:"terminate",description:"Termination",standard:"ansi"},{name:"SIGSTKFLT",number:16,action:"terminate",description:"Stack is empty or overflowed",standard:"other"},{name:"SIGCHLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"posix"},{name:"SIGCLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"other"},{name:"SIGCONT",number:18,action:"unpause",description:"Unpaused",standard:"posix",forced:true},{name:"SIGSTOP",number:19,action:"pause",description:"Paused",standard:"posix",forced:true},{name:"SIGTSTP",number:20,action:"pause",description:'Paused using CTRL-Z or "suspend"',standard:"posix"},{name:"SIGTTIN",number:21,action:"pause",description:"Background process cannot read terminal input",standard:"posix"},{name:"SIGBREAK",number:21,action:"terminate",description:"User interruption with CTRL-BREAK",standard:"other"},{name:"SIGTTOU",number:22,action:"pause",description:"Background process cannot write to terminal output",standard:"posix"},{name:"SIGURG",number:23,action:"ignore",description:"Socket received out-of-band data",standard:"bsd"},{name:"SIGXCPU",number:24,action:"core",description:"Process timed out",standard:"bsd"},{name:"SIGXFSZ",number:25,action:"core",description:"File too big",standard:"bsd"},{name:"SIGVTALRM",number:26,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGPROF",number:27,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGWINCH",number:28,action:"ignore",description:"Terminal window size changed",standard:"bsd"},{name:"SIGIO",number:29,action:"terminate",description:"I/O is available",standard:"other"},{name:"SIGPOLL",number:29,action:"terminate",description:"Watched event",standard:"other"},{name:"SIGINFO",number:29,action:"ignore",description:"Request for process information",standard:"other"},{name:"SIGPWR",number:30,action:"terminate",description:"Device running out of power",standard:"systemv"},{name:"SIGSYS",number:31,action:"core",description:"Invalid system call",standard:"other"},{name:"SIGUNUSED",number:31,action:"terminate",description:"Invalid system call",standard:"other"}];exports2.SIGNALS=SIGNALS}});var require_realtime=__commonJS({"node_modules/human-signals/build/src/realtime.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.SIGRTMAX=exports2.getRealtimeSignals=void 0;var getRealtimeSignals=function(){const length=SIGRTMAX-SIGRTMIN+1;return Array.from({length},getRealtimeSignal)};exports2.getRealtimeSignals=getRealtimeSignals;var getRealtimeSignal=function(value,index){return{name:`SIGRT${index+1}`,number:SIGRTMIN+index,action:"terminate",description:"Application-specific signal (realtime)",standard:"posix"}};var SIGRTMIN=34;var SIGRTMAX=64;exports2.SIGRTMAX=SIGRTMAX}});var require_signals=__commonJS({"node_modules/human-signals/build/src/signals.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.getSignals=void 0;var _os=require("os");var _core=require_core();var _realtime=require_realtime();var getSignals=function(){const realtimeSignals=(0,_realtime.getRealtimeSignals)();const signals=[..._core.SIGNALS,...realtimeSignals].map(normalizeSignal);return signals};exports2.getSignals=getSignals;var normalizeSignal=function({name,number:defaultNumber,description,action,forced=false,standard}){const{signals:{[name]:constantSignal}}=_os.constants;const supported=constantSignal!==void 0;const number2=supported?constantSignal:defaultNumber;return{name,number:number2,description,supported,action,forced,standard}}}});var require_main=__commonJS({"node_modules/human-signals/build/src/main.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.signalsByNumber=exports2.signalsByName=void 0;var _os=require("os");var _signals=require_signals();var _realtime=require_realtime();var getSignalsByName=function(){const signals=(0,_signals.getSignals)();return signals.reduce(getSignalByName,{})};var getSignalByName=function(signalByNameMemo,{name,number:number2,description,supported,action,forced,standard}){return{...signalByNameMemo,[name]:{name,number:number2,description,supported,action,forced,standard}}};var signalsByName=getSignalsByName();exports2.signalsByName=signalsByName;var getSignalsByNumber=function(){const signals=(0,_signals.getSignals)();const length=_realtime.SIGRTMAX+1;const signalsA=Array.from({length},(value,number2)=>getSignalByNumber(number2,signals));return Object.assign({},...signalsA)};var getSignalByNumber=function(number2,signals){const signal=findSignalByNumber(number2,signals);if(signal===void 0){return{}}const{name,description,supported,action,forced,standard}=signal;return{[number2]:{name,number:number2,description,supported,action,forced,standard}}};var findSignalByNumber=function(number2,signals){const signal=signals.find(({name})=>_os.constants.signals[name]===number2);if(signal!==void 0){return signal}return signals.find(signalA=>signalA.number===number2)};var signalsByNumber=getSignalsByNumber();exports2.signalsByNumber=signalsByNumber}});var require_error=__commonJS({"node_modules/execa/lib/error.js"(exports2,module2){"use strict";var{signalsByName}=require_main();var getErrorPrefix=({timedOut:timedOut2,timeout,errorCode,signal,signalDescription,exitCode,isCanceled})=>{if(timedOut2){return`timed out after ${timeout} milliseconds`}if(isCanceled){return"was canceled"}if(errorCode!==void 0){return`failed with ${errorCode}`}if(signal!==void 0){return`was killed with ${signal} (${signalDescription})`}if(exitCode!==void 0){return`failed with exit code ${exitCode}`}return"failed"};var makeError=({stdout,stderr,all:all2,error,signal,exitCode,command,escapedCommand,timedOut:timedOut2,isCanceled,killed,parsed:{options:{timeout}}})=>{exitCode=exitCode===null?void 0:exitCode;signal=signal===null?void 0:signal;const signalDescription=signal===void 0?void 0:signalsByName[signal].description;const errorCode=error&&error.code;const prefix=getErrorPrefix({timedOut:timedOut2,timeout,errorCode,signal,signalDescription,exitCode,isCanceled});const execaMessage=`Command ${prefix}: ${command}`;const isError2=Object.prototype.toString.call(error)==="[object Error]";const shortMessage=isError2?`${execaMessage}
${error.message}`:execaMessage;const message3=[shortMessage,stderr,stdout].filter(Boolean).join("\n");if(isError2){error.originalMessage=error.message;error.message=message3}else{error=new Error(message3)}error.shortMessage=shortMessage;error.command=command;error.escapedCommand=escapedCommand;error.exitCode=exitCode;error.signal=signal;error.signalDescription=signalDescription;error.stdout=stdout;error.stderr=stderr;if(all2!==void 0){error.all=all2}if("bufferedData"in error){delete error.bufferedData}error.failed=true;error.timedOut=Boolean(timedOut2);error.isCanceled=isCanceled;error.killed=killed&&!timedOut2;return error};module2.exports=makeError}});var require_stdio=__commonJS({"node_modules/execa/lib/stdio.js"(exports2,module2){"use strict";var aliases2=["stdin","stdout","stderr"];var hasAlias=options=>aliases2.some(alias=>options[alias]!==void 0);var normalizeStdio=options=>{if(!options){return}const{stdio}=options;if(stdio===void 0){return aliases2.map(alias=>options[alias])}if(hasAlias(options)){throw new Error(`It's not possible to provide \`stdio\` in combination with one of ${aliases2.map(alias=>`\`${alias}\``).join(", ")}`)}if(typeof stdio==="string"){return stdio}if(!Array.isArray(stdio)){throw new TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof stdio}\``)}const length=Math.max(stdio.length,aliases2.length);return Array.from({length},(value,index)=>stdio[index])};module2.exports=normalizeStdio;module2.exports.node=options=>{const stdio=normalizeStdio(options);if(stdio==="ipc"){return"ipc"}if(stdio===void 0||typeof stdio==="string"){return[stdio,stdio,stdio,"ipc"]}if(stdio.includes("ipc")){return stdio}return[...stdio,"ipc"]}}});var require_signals2=__commonJS({"node_modules/execa/node_modules/signal-exit/signals.js"(exports2,module2){module2.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];if(process.platform!=="win32"){module2.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT")}if(process.platform==="linux"){module2.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")}}});var require_signal_exit=__commonJS({"node_modules/execa/node_modules/signal-exit/index.js"(exports2,module2){var process6=global.process;var processOk=function(process7){return process7&&typeof process7==="object"&&typeof process7.removeListener==="function"&&typeof process7.emit==="function"&&typeof process7.reallyExit==="function"&&typeof process7.listeners==="function"&&typeof process7.kill==="function"&&typeof process7.pid==="number"&&typeof process7.on==="function"};if(!processOk(process6)){module2.exports=function(){return function(){}}}else{assert2=require("assert");signals=require_signals2();isWin=/^win/i.test(process6.platform);EE=require("events");if(typeof EE!=="function"){EE=EE.EventEmitter}if(process6.__signal_exit_emitter__){emitter=process6.__signal_exit_emitter__}else{emitter=process6.__signal_exit_emitter__=new EE;emitter.count=0;emitter.emitted={}}if(!emitter.infinite){emitter.setMaxListeners(Infinity);emitter.infinite=true}module2.exports=function(cb,opts){if(!processOk(global.process)){return function(){}}assert2.equal(typeof cb,"function","a callback must be provided for exit handler");if(loaded===false){load2()}var ev="exit";if(opts&&opts.alwaysLast){ev="afterexit"}var remove2=function(){emitter.removeListener(ev,cb);if(emitter.listeners("exit").length===0&&emitter.listeners("afterexit").length===0){unload()}};emitter.on(ev,cb);return remove2};unload=function unload2(){if(!loaded||!processOk(global.process)){return}loaded=false;signals.forEach(function(sig){try{process6.removeListener(sig,sigListeners[sig])}catch(er){}});process6.emit=originalProcessEmit;process6.reallyExit=originalProcessReallyExit;emitter.count-=1};module2.exports.unload=unload;emit=function emit2(event,code,signal){if(emitter.emitted[event]){return}emitter.emitted[event]=true;emitter.emit(event,code,signal)};sigListeners={};signals.forEach(function(sig){sigListeners[sig]=function listener(){if(!processOk(global.process)){return}var listeners=process6.listeners(sig);if(listeners.length===emitter.count){unload();emit("exit",null,sig);emit("afterexit",null,sig);if(isWin&&sig==="SIGHUP"){sig="SIGINT"}process6.kill(process6.pid,sig)}}});module2.exports.signals=function(){return signals};loaded=false;load2=function load3(){if(loaded||!processOk(global.process)){return}loaded=true;emitter.count+=1;signals=signals.filter(function(sig){try{process6.on(sig,sigListeners[sig]);return true}catch(er){return false}});process6.emit=processEmit;process6.reallyExit=processReallyExit};module2.exports.load=load2;originalProcessReallyExit=process6.reallyExit;processReallyExit=function processReallyExit2(code){if(!processOk(global.process)){return}process6.exitCode=code||0;emit("exit",process6.exitCode,null);emit("afterexit",process6.exitCode,null);originalProcessReallyExit.call(process6,process6.exitCode)};originalProcessEmit=process6.emit;processEmit=function processEmit2(ev,arg){if(ev==="exit"&&processOk(global.process)){if(arg!==void 0){process6.exitCode=arg}var ret=originalProcessEmit.apply(this,arguments);emit("exit",process6.exitCode,null);emit("afterexit",process6.exitCode,null);return ret}else{return originalProcessEmit.apply(this,arguments)}}}var assert2;var signals;var isWin;var EE;var emitter;var unload;var emit;var sigListeners;var loaded;var load2;var originalProcessReallyExit;var processReallyExit;var originalProcessEmit;var processEmit}});var require_kill=__commonJS({"node_modules/execa/lib/kill.js"(exports2,module2){"use strict";var os7=require("os");var onExit=require_signal_exit();var DEFAULT_FORCE_KILL_TIMEOUT=1e3*5;var spawnedKill=(kill,signal="SIGTERM",options={})=>{const killResult=kill(signal);setKillTimeout(kill,signal,options,killResult);return killResult};var setKillTimeout=(kill,signal,options,killResult)=>{if(!shouldForceKill(signal,options,killResult)){return}const timeout=getForceKillAfterTimeout(options);const t=setTimeout(()=>{kill("SIGKILL")},timeout);if(t.unref){t.unref()}};var shouldForceKill=(signal,{forceKillAfterTimeout},killResult)=>{return isSigterm(signal)&&forceKillAfterTimeout!==false&&killResult};var isSigterm=signal=>{return signal===os7.constants.signals.SIGTERM||typeof signal==="string"&&signal.toUpperCase()==="SIGTERM"};var getForceKillAfterTimeout=({forceKillAfterTimeout=true})=>{if(forceKillAfterTimeout===true){return DEFAULT_FORCE_KILL_TIMEOUT}if(!Number.isFinite(forceKillAfterTimeout)||forceKillAfterTimeout<0){throw new TypeError(`Expected the \`forceKillAfterTimeout\` option to be a non-negative integer, got \`${forceKillAfterTimeout}\` (${typeof forceKillAfterTimeout})`)}return forceKillAfterTimeout};var spawnedCancel=(spawned,context)=>{const killResult=spawned.kill();if(killResult){context.isCanceled=true}};var timeoutKill=(spawned,signal,reject2)=>{spawned.kill(signal);reject2(Object.assign(new Error("Timed out"),{timedOut:true,signal}))};var setupTimeout=(spawned,{timeout,killSignal="SIGTERM"},spawnedPromise)=>{if(timeout===0||timeout===void 0){return spawnedPromise}let timeoutId;const timeoutPromise=new Promise((resolve,reject2)=>{timeoutId=setTimeout(()=>{timeoutKill(spawned,killSignal,reject2)},timeout)});const safeSpawnedPromise=spawnedPromise.finally(()=>{clearTimeout(timeoutId)});return Promise.race([timeoutPromise,safeSpawnedPromise])};var validateTimeout=({timeout})=>{if(timeout!==void 0&&(!Number.isFinite(timeout)||timeout<0)){throw new TypeError(`Expected the \`timeout\` option to be a non-negative integer, got \`${timeout}\` (${typeof timeout})`)}};var setExitHandler=async(spawned,{cleanup,detached},timedPromise)=>{if(!cleanup||detached){return timedPromise}const removeExitHandler=onExit(()=>{spawned.kill()});return timedPromise.finally(()=>{removeExitHandler()})};module2.exports={spawnedKill,spawnedCancel,setupTimeout,validateTimeout,setExitHandler}}});var require_is_stream=__commonJS({"node_modules/is-stream/index.js"(exports2,module2){"use strict";var isStream=stream3=>stream3!==null&&typeof stream3==="object"&&typeof stream3.pipe==="function";isStream.writable=stream3=>isStream(stream3)&&stream3.writable!==false&&typeof stream3._write==="function"&&typeof stream3._writableState==="object";isStream.readable=stream3=>isStream(stream3)&&stream3.readable!==false&&typeof stream3._read==="function"&&typeof stream3._readableState==="object";isStream.duplex=stream3=>isStream.writable(stream3)&&isStream.readable(stream3);isStream.transform=stream3=>isStream.duplex(stream3)&&typeof stream3._transform==="function";module2.exports=isStream}});var require_buffer_stream=__commonJS({"node_modules/get-stream/buffer-stream.js"(exports2,module2){"use strict";var{PassThrough:PassThroughStream2}=require("stream");module2.exports=options=>{options={...options};const{array}=options;let{encoding}=options;const isBuffer2=encoding==="buffer";let objectMode=false;if(array){objectMode=!(encoding||isBuffer2)}else{encoding=encoding||"utf8"}if(isBuffer2){encoding=null}const stream3=new PassThroughStream2({objectMode});if(encoding){stream3.setEncoding(encoding)}let length=0;const chunks=[];stream3.on("data",chunk2=>{chunks.push(chunk2);if(objectMode){length=chunks.length}else{length+=chunk2.length}});stream3.getBufferedValue=()=>{if(array){return chunks}return isBuffer2?Buffer.concat(chunks,length):chunks.join("")};stream3.getBufferedLength=()=>length;return stream3}}});var require_get_stream=__commonJS({"node_modules/get-stream/index.js"(exports2,module2){"use strict";var{constants:BufferConstants}=require("buffer");var stream3=require("stream");var{promisify:promisify9}=require("util");var bufferStream=require_buffer_stream();var streamPipelinePromisified=promisify9(stream3.pipeline);var MaxBufferError=class extends Error{constructor(){super("maxBuffer exceeded");this.name="MaxBufferError"}};async function getStream3(inputStream,options){if(!inputStream){throw new Error("Expected a stream")}options={maxBuffer:Infinity,...options};const{maxBuffer}=options;const stream4=bufferStream(options);await new Promise((resolve,reject2)=>{const rejectPromise=error=>{if(error&&stream4.getBufferedLength()<=BufferConstants.MAX_LENGTH){error.bufferedData=stream4.getBufferedValue()}reject2(error)};(async()=>{try{await streamPipelinePromisified(inputStream,stream4);resolve()}catch(error){rejectPromise(error)}})();stream4.on("data",()=>{if(stream4.getBufferedLength()>maxBuffer){rejectPromise(new MaxBufferError)}})});return stream4.getBufferedValue()}module2.exports=getStream3;module2.exports.buffer=(stream4,options)=>getStream3(stream4,{...options,encoding:"buffer"});module2.exports.array=(stream4,options)=>getStream3(stream4,{...options,array:true});module2.exports.MaxBufferError=MaxBufferError}});var require_merge_stream=__commonJS({"node_modules/merge-stream/index.js"(exports2,module2){"use strict";var{PassThrough}=require("stream");module2.exports=function(){var sources=[];var output=new PassThrough({objectMode:true});output.setMaxListeners(0);output.add=add2;output.isEmpty=isEmpty2;output.on("unpipe",remove2);Array.prototype.slice.call(arguments).forEach(add2);return output;function add2(source){if(Array.isArray(source)){source.forEach(add2);return this}sources.push(source);source.once("end",remove2.bind(null,source));source.once("error",output.emit.bind(output,"error"));source.pipe(output,{end:false});return this}function isEmpty2(){return sources.length==0}function remove2(source){sources=sources.filter(function(it){return it!==source});if(!sources.length&&output.readable){output.end()}}}}});var require_stream=__commonJS({"node_modules/execa/lib/stream.js"(exports2,module2){"use strict";var isStream=require_is_stream();var getStream3=require_get_stream();var mergeStream=require_merge_stream();var handleInput=(spawned,input)=>{if(input===void 0||spawned.stdin===void 0){return}if(isStream(input)){input.pipe(spawned.stdin)}else{spawned.stdin.end(input)}};var makeAllStream=(spawned,{all:all2})=>{if(!all2||!spawned.stdout&&!spawned.stderr){return}const mixed=mergeStream();if(spawned.stdout){mixed.add(spawned.stdout)}if(spawned.stderr){mixed.add(spawned.stderr)}return mixed};var getBufferedData=async(stream3,streamPromise)=>{if(!stream3){return}stream3.destroy();try{return await streamPromise}catch(error){return error.bufferedData}};var getStreamPromise=(stream3,{encoding,buffer,maxBuffer})=>{if(!stream3||!buffer){return}if(encoding){return getStream3(stream3,{encoding,maxBuffer})}return getStream3.buffer(stream3,{maxBuffer})};var getSpawnedResult=async({stdout,stderr,all:all2},{encoding,buffer,maxBuffer},processDone)=>{const stdoutPromise=getStreamPromise(stdout,{encoding,buffer,maxBuffer});const stderrPromise=getStreamPromise(stderr,{encoding,buffer,maxBuffer});const allPromise=getStreamPromise(all2,{encoding,buffer,maxBuffer:maxBuffer*2});try{return await Promise.all([processDone,stdoutPromise,stderrPromise,allPromise])}catch(error){return Promise.all([{error,signal:error.signal,timedOut:error.timedOut},getBufferedData(stdout,stdoutPromise),getBufferedData(stderr,stderrPromise),getBufferedData(all2,allPromise)])}};var validateInputSync=({input})=>{if(isStream(input)){throw new TypeError("The `input` option cannot be a stream in sync mode")}};module2.exports={handleInput,makeAllStream,getSpawnedResult,validateInputSync}}});var require_promise=__commonJS({"node_modules/execa/lib/promise.js"(exports2,module2){"use strict";var nativePromisePrototype=(async()=>{})().constructor.prototype;var descriptors=["then","catch","finally"].map(property2=>[property2,Reflect.getOwnPropertyDescriptor(nativePromisePrototype,property2)]);var mergePromise=(spawned,promise)=>{for(const[property2,descriptor]of descriptors){const value=typeof promise==="function"?(...args2)=>Reflect.apply(descriptor.value,promise(),args2):descriptor.value.bind(promise);Reflect.defineProperty(spawned,property2,{...descriptor,value})}return spawned};var getSpawnedPromise=spawned=>{return new Promise((resolve,reject2)=>{spawned.on("exit",(exitCode,signal)=>{resolve({exitCode,signal})});spawned.on("error",error=>{reject2(error)});if(spawned.stdin){spawned.stdin.on("error",error=>{reject2(error)})}})};module2.exports={mergePromise,getSpawnedPromise}}});var require_command=__commonJS({"node_modules/execa/lib/command.js"(exports2,module2){"use strict";var normalizeArgs=(file,args2=[])=>{if(!Array.isArray(args2)){return[file]}return[file,...args2]};var NO_ESCAPE_REGEXP=/^[\w.-]+$/;var DOUBLE_QUOTES_REGEXP=/"/g;var escapeArg=arg=>{if(typeof arg!=="string"||NO_ESCAPE_REGEXP.test(arg)){return arg}return`"${arg.replace(DOUBLE_QUOTES_REGEXP,'\\"')}"`};var joinCommand=(file,args2)=>{return normalizeArgs(file,args2).join(" ")};var getEscapedCommand=(file,args2)=>{return normalizeArgs(file,args2).map(arg=>escapeArg(arg)).join(" ")};var SPACES_REGEXP=/ +/g;var parseCommand=command=>{const tokens=[];for(const token3 of command.trim().split(SPACES_REGEXP)){const previousToken=tokens[tokens.length-1];if(previousToken&&previousToken.endsWith("\\")){tokens[tokens.length-1]=`${previousToken.slice(0,-1)} ${token3}`}else{tokens.push(token3)}}return tokens};module2.exports={joinCommand,getEscapedCommand,parseCommand}}});var require_execa=__commonJS({"node_modules/execa/index.js"(exports2,module2){"use strict";var path27=require("path");var childProcess=require("child_process");var crossSpawn=require_cross_spawn();var stripFinalNewline=require_strip_final_newline();var npmRunPath=require_npm_run_path();var onetime=require_onetime();var makeError=require_error();var normalizeStdio=require_stdio();var{spawnedKill,spawnedCancel,setupTimeout,validateTimeout,setExitHandler}=require_kill();var{handleInput,getSpawnedResult,makeAllStream,validateInputSync}=require_stream();var{mergePromise,getSpawnedPromise}=require_promise();var{joinCommand,parseCommand,getEscapedCommand}=require_command();var DEFAULT_MAX_BUFFER=1e3*1e3*100;var getEnv=({env:envOption,extendEnv,preferLocal,localDir,execPath})=>{const env2=extendEnv?{...process.env,...envOption}:envOption;if(preferLocal){return npmRunPath.env({env:env2,cwd:localDir,execPath})}return env2};var handleArguments=(file,args2,options={})=>{const parsed=crossSpawn._parse(file,args2,options);file=parsed.command;args2=parsed.args;options=parsed.options;options={maxBuffer:DEFAULT_MAX_BUFFER,buffer:true,stripFinalNewline:true,extendEnv:true,preferLocal:false,localDir:options.cwd||process.cwd(),execPath:process.execPath,encoding:"utf8",reject:true,cleanup:true,all:false,windowsHide:true,...options};options.env=getEnv(options);options.stdio=normalizeStdio(options);if(process.platform==="win32"&&path27.basename(file,".exe")==="cmd"){args2.unshift("/q")}return{file,args:args2,options,parsed}};var handleOutput=(options,value,error)=>{if(typeof value!=="string"&&!Buffer.isBuffer(value)){return error===void 0?void 0:""}if(options.stripFinalNewline){return stripFinalNewline(value)}return value};var execa2=(file,args2,options)=>{const parsed=handleArguments(file,args2,options);const command=joinCommand(file,args2);const escapedCommand=getEscapedCommand(file,args2);validateTimeout(parsed.options);let spawned;try{spawned=childProcess.spawn(parsed.file,parsed.args,parsed.options)}catch(error){const dummySpawned=new childProcess.ChildProcess;const errorPromise=Promise.reject(makeError({error,stdout:"",stderr:"",all:"",command,escapedCommand,parsed,timedOut:false,isCanceled:false,killed:false}));return mergePromise(dummySpawned,errorPromise)}const spawnedPromise=getSpawnedPromise(spawned);const timedPromise=setupTimeout(spawned,parsed.options,spawnedPromise);const processDone=setExitHandler(spawned,parsed.options,timedPromise);const context={isCanceled:false};spawned.kill=spawnedKill.bind(null,spawned.kill.bind(spawned));spawned.cancel=spawnedCancel.bind(null,spawned,context);const handlePromise=async()=>{const[{error,exitCode,signal,timedOut:timedOut2},stdoutResult,stderrResult,allResult]=await getSpawnedResult(spawned,parsed.options,processDone);const stdout=handleOutput(parsed.options,stdoutResult);const stderr=handleOutput(parsed.options,stderrResult);const all2=handleOutput(parsed.options,allResult);if(error||exitCode!==0||signal!==null){const returnedError=makeError({error,exitCode,signal,stdout,stderr,all:all2,command,escapedCommand,parsed,timedOut:timedOut2,isCanceled:context.isCanceled,killed:spawned.killed});if(!parsed.options.reject){return returnedError}throw returnedError}return{command,escapedCommand,exitCode:0,stdout,stderr,all:all2,failed:false,timedOut:false,isCanceled:false,killed:false}};const handlePromiseOnce=onetime(handlePromise);handleInput(spawned,parsed.options.input);spawned.all=makeAllStream(spawned,parsed.options);return mergePromise(spawned,handlePromiseOnce)};module2.exports=execa2;module2.exports.sync=(file,args2,options)=>{const parsed=handleArguments(file,args2,options);const command=joinCommand(file,args2);const escapedCommand=getEscapedCommand(file,args2);validateInputSync(parsed.options);let result2;try{result2=childProcess.spawnSync(parsed.file,parsed.args,parsed.options)}catch(error){throw makeError({error,stdout:"",stderr:"",all:"",command,escapedCommand,parsed,timedOut:false,isCanceled:false,killed:false})}const stdout=handleOutput(parsed.options,result2.stdout,result2.error);const stderr=handleOutput(parsed.options,result2.stderr,result2.error);if(result2.error||result2.status!==0||result2.signal!==null){const error=makeError({stdout,stderr,error:result2.error,signal:result2.signal,exitCode:result2.status,command,escapedCommand,parsed,timedOut:result2.error&&result2.error.code==="ETIMEDOUT",isCanceled:false,killed:result2.signal!==null});if(!parsed.options.reject){return error}throw error}return{command,escapedCommand,exitCode:0,stdout,stderr,failed:false,timedOut:false,isCanceled:false,killed:false}};module2.exports.command=(command,options)=>{const[file,...args2]=parseCommand(command);return execa2(file,args2,options)};module2.exports.commandSync=(command,options)=>{const[file,...args2]=parseCommand(command);return execa2.sync(file,args2,options)};module2.exports.node=(scriptPath,args2,options={})=>{if(args2&&!Array.isArray(args2)&&typeof args2==="object"){options=args2;args2=[]}const stdio=normalizeStdio.node(options);const defaultExecArgv=process.execArgv.filter(arg=>!arg.startsWith("--inspect"));const{nodePath=process.execPath,nodeOptions=defaultExecArgv}=options;return execa2(nodePath,[...nodeOptions,scriptPath,...Array.isArray(args2)?args2:[]],{...options,stdin:void 0,stdout:void 0,stderr:void 0,stdio,shell:false})}}});var require_package=__commonJS({"node_modules/systeminformation/package.json"(exports2,module2){module2.exports={name:"systeminformation",version:"5.25.3",description:"Advanced, lightweight system and OS information library",license:"MIT",author:"Sebastian Hildebrandt <hildebrandt@plus-innovations.com> (https://plus-innovations.com)",homepage:"https://systeminformation.io",main:"./lib/index.js",type:"commonjs",bin:{systeminformation:"lib/cli.js"},types:"./lib/index.d.ts",scripts:{test:"node ./test/test.js",testDeno:"deno run -A ./test/test.js"},files:["lib/"],keywords:["system information","sysinfo","monitor","monitoring","os","linux","osx","windows","freebsd","openbsd","netbsd","cpu","cpuload","physical cores","logical cores","processor","cores","threads","socket type","memory","file system","fsstats","diskio","block devices","netstats","network","network interfaces","network connections","network stats","iface","printer","processes","users","internet","battery","docker","docker stats","docker processes","graphics","graphic card","graphic controller","gpu","display","smart","disk layout","usb","audio","bluetooth","wifi","wifinetworks","virtual box","virtualbox","vm","backend","hardware","BIOS","chassis"],repository:{type:"git",url:"https://github.com/sebhildebrandt/systeminformation.git"},funding:{type:"Buy me a coffee",url:"https://www.buymeacoffee.com/systeminfo"},os:["darwin","linux","win32","freebsd","openbsd","netbsd","sunos","android"],engines:{node:">=8.0.0"}}}});var require_util2=__commonJS({"node_modules/systeminformation/lib/util.js"(exports2){"use strict";var os7=require("os");var fs14=require("fs");var path27=require("path");var spawn2=require("child_process").spawn;var exec3=require("child_process").exec;var execSync=require("child_process").execSync;var util4=require("util");var _platform=process.platform;var _linux=_platform==="linux"||_platform==="android";var _darwin=_platform==="darwin";var _windows=_platform==="win32";var _freebsd=_platform==="freebsd";var _openbsd=_platform==="openbsd";var _netbsd=_platform==="netbsd";var _cores=0;var wmicPath="";var codepage="";var _smartMonToolsInstalled=null;var _rpi_cpuinfo=null;var WINDIR=process.env.WINDIR||"C:\\Windows";var _psChild;var _psResult="";var _psCmds=[];var _psPersistent=false;var _powerShell="";var _psToUTF8="$OutputEncoding = [System.Console]::OutputEncoding = [System.Console]::InputEncoding = [System.Text.Encoding]::UTF8 ; ";var _psCmdStart="--###START###--";var _psError="--ERROR--";var _psCmdSeperator="--###ENDCMD###--";var _psIdSeperator="--##ID##--";var execOptsWin={windowsHide:true,maxBuffer:1024*2e4,encoding:"UTF-8",env:Object.assign({},process.env,{LANG:"en_US.UTF-8"})};var execOptsLinux={maxBuffer:1024*2e4,encoding:"UTF-8",stdio:["pipe","pipe","ignore"]};function toInt(value){let result2=parseInt(value,10);if(isNaN(result2)){result2=0}return result2}function splitByNumber(str2){let numberStarted=false;let num="";let cpart="";for(const c of str2){if(c>="0"&&c<="9"||numberStarted){numberStarted=true;num+=c}else{cpart+=c}}return[cpart,num]}var stringObj=new String;var stringReplace=new String().replace;var stringToLower=new String().toLowerCase;var stringToString=new String().toString;var stringSubstr=new String().substr;var stringSubstring=new String().substring;var stringTrim=new String().trim;var stringStartWith=new String().startsWith;var mathMin=Math.min;function isFunction3(functionToCheck){let getType2={};return functionToCheck&&getType2.toString.call(functionToCheck)==="[object Function]"}function unique(obj){let uniques=[];let stringify={};for(let i=0;i<obj.length;i++){let keys2=Object.keys(obj[i]);keys2.sort(function(a,b){return a-b});let str2="";for(let j=0;j<keys2.length;j++){str2+=JSON.stringify(keys2[j]);str2+=JSON.stringify(obj[i][keys2[j]])}if(!{}.hasOwnProperty.call(stringify,str2)){uniques.push(obj[i]);stringify[str2]=true}}return uniques}function sortByKey(array,keys2){return array.sort(function(a,b){let x="";let y="";keys2.forEach(function(key){x=x+a[key];y=y+b[key]});return x<y?-1:x>y?1:0})}function cores(){if(_cores===0){_cores=os7.cpus().length}return _cores}function getValue2(lines,property2,separator,trimmed,lineMatch){separator=separator||":";property2=property2.toLowerCase();trimmed=trimmed||false;lineMatch=lineMatch||false;let result2="";lines.some(line=>{let lineLower=line.toLowerCase().replace(/\t/g,"");if(trimmed){lineLower=lineLower.trim()}if(lineLower.startsWith(property2)&&(lineMatch?lineLower.match(property2+separator)||lineLower.match(property2+" "+separator):true)){const parts=trimmed?line.trim().split(separator):line.split(separator);if(parts.length>=2){parts.shift();result2=parts.join(separator).trim();return true}}});return result2}function decodeEscapeSequence(str2,base){base=base||16;return str2.replace(/\\x([0-9A-Fa-f]{2})/g,function(){return String.fromCharCode(parseInt(arguments[1],base))})}function detectSplit(str2){let seperator="";let part=0;str2.split("").forEach(element=>{if(element>="0"&&element<="9"){if(part===1){part++}}else{if(part===0){part++}if(part===1){seperator+=element}}});return seperator}function parseTime(t,pmDesignator){pmDesignator=pmDesignator||"";t=t.toUpperCase();let hour=0;let min3=0;let splitter=detectSplit(t);let parts=t.split(splitter);if(parts.length>=2){if(parts[2]){parts[1]+=parts[2]}let isPM=parts[1]&&parts[1].toLowerCase().indexOf("pm")>-1||parts[1].toLowerCase().indexOf("p.m.")>-1||parts[1].toLowerCase().indexOf("p. m.")>-1||parts[1].toLowerCase().indexOf("n")>-1||parts[1].toLowerCase().indexOf("ch")>-1||parts[1].toLowerCase().indexOf("ös")>-1||pmDesignator&&parts[1].toLowerCase().indexOf(pmDesignator)>-1;hour=parseInt(parts[0],10);min3=parseInt(parts[1],10);hour=isPM&&hour<12?hour+12:hour;return("0"+hour).substr(-2)+":"+("0"+min3).substr(-2)}}function parseDateTime(dt,culture){const result2={date:"",time:""};culture=culture||{};let dateFormat2=(culture.dateFormat||"").toLowerCase();let pmDesignator=culture.pmDesignator||"";const parts=dt.split(" ");if(parts[0]){if(parts[0].indexOf("/")>=0){const dtparts=parts[0].split("/");if(dtparts.length===3){if(dtparts[0].length===4){result2.date=dtparts[0]+"-"+("0"+dtparts[1]).substr(-2)+"-"+("0"+dtparts[2]).substr(-2)}else if(dtparts[2].length===2){if(dateFormat2.indexOf("/d/")>-1||dateFormat2.indexOf("/dd/")>-1){result2.date="20"+dtparts[2]+"-"+("0"+dtparts[1]).substr(-2)+"-"+("0"+dtparts[0]).substr(-2)}else{result2.date="20"+dtparts[2]+"-"+("0"+dtparts[1]).substr(-2)+"-"+("0"+dtparts[0]).substr(-2)}}else{const isEN=dt.toLowerCase().indexOf("pm")>-1||dt.toLowerCase().indexOf("p.m.")>-1||dt.toLowerCase().indexOf("p. m.")>-1||dt.toLowerCase().indexOf("am")>-1||dt.toLowerCase().indexOf("a.m.")>-1||dt.toLowerCase().indexOf("a. m.")>-1;if((isEN||dateFormat2.indexOf("/d/")>-1||dateFormat2.indexOf("/dd/")>-1)&&dateFormat2.indexOf("dd/")!==0){result2.date=dtparts[2]+"-"+("0"+dtparts[0]).substr(-2)+"-"+("0"+dtparts[1]).substr(-2)}else{result2.date=dtparts[2]+"-"+("0"+dtparts[1]).substr(-2)+"-"+("0"+dtparts[0]).substr(-2)}}}}if(parts[0].indexOf(".")>=0){const dtparts=parts[0].split(".");if(dtparts.length===3){if(dateFormat2.indexOf(".d.")>-1||dateFormat2.indexOf(".dd.")>-1){result2.date=dtparts[2]+"-"+("0"+dtparts[0]).substr(-2)+"-"+("0"+dtparts[1]).substr(-2)}else{result2.date=dtparts[2]+"-"+("0"+dtparts[1]).substr(-2)+"-"+("0"+dtparts[0]).substr(-2)}}}if(parts[0].indexOf("-")>=0){const dtparts=parts[0].split("-");if(dtparts.length===3){result2.date=dtparts[0]+"-"+("0"+dtparts[1]).substr(-2)+"-"+("0"+dtparts[2]).substr(-2)}}}if(parts[1]){parts.shift();let time=parts.join(" ");result2.time=parseTime(time,pmDesignator)}return result2}function parseHead(head2,rights){let space=rights>0;let count=1;let from=0;let to=0;let result2=[];for(let i=0;i<head2.length;i++){if(count<=rights){if(/\s/.test(head2[i])&&!space){to=i-1;result2.push({from,to:to+1,cap:head2.substring(from,to+1)});from=to+2;count++}space=head2[i]===" "}else{if(!/\s/.test(head2[i])&&space){to=i-1;if(from<to){result2.push({from,to,cap:head2.substring(from,to)})}from=to+1;count++}space=head2[i]===" "}}to=5e3;result2.push({from,to,cap:head2.substring(from,to)});let len=result2.length;for(let i=0;i<len;i++){if(result2[i].cap.replace(/\s/g,"").length===0){if(i+1<len){result2[i].to=result2[i+1].to;result2[i].cap=result2[i].cap+result2[i+1].cap;result2.splice(i+1,1);len=len-1}}}return result2}function findObjectByKey(array,key,value){for(let i=0;i<array.length;i++){if(array[i][key]===value){return i}}return-1}function getPowershell(){_powerShell="powershell.exe";if(_windows){const defaultPath=`${WINDIR}\\system32\\WindowsPowerShell\\v1.0\\powershell.exe`;if(fs14.existsSync(defaultPath)){_powerShell=defaultPath}}}function getWmic(){if(os7.type()==="Windows_NT"&&!wmicPath){wmicPath=WINDIR+"\\system32\\wbem\\wmic.exe";if(!fs14.existsSync(wmicPath)){try{const wmicPathArray=execSync("WHERE WMIC",execOptsWin).toString().split("\r\n");if(wmicPathArray&&wmicPathArray.length){wmicPath=wmicPathArray[0]}else{wmicPath="wmic"}}catch(e){wmicPath="wmic"}}}return wmicPath}function wmic(command){return new Promise(resolve=>{process.nextTick(()=>{try{powerShell(getWmic()+" "+command).then(stdout=>{resolve(stdout,"")})}catch(e){resolve("",e)}})})}function getVboxmanage(){return _windows?`"${process.env.VBOX_INSTALL_PATH||process.env.VBOX_MSI_INSTALL_PATH}\\VBoxManage.exe"`:"vboxmanage"}function powerShellProceedResults(data){let id="";let parts;let res="";if(data.indexOf(_psCmdStart)>=0){parts=data.split(_psCmdStart);const parts2=parts[1].split(_psIdSeperator);id=parts2[0];if(parts2.length>1){data=parts2.slice(1).join(_psIdSeperator)}}if(data.indexOf(_psCmdSeperator)>=0){parts=data.split(_psCmdSeperator);res=parts[0]}let remove2=-1;for(let i=0;i<_psCmds.length;i++){if(_psCmds[i].id===id){remove2=i;_psCmds[i].callback(res)}}if(remove2>=0){_psCmds.splice(remove2,1)}}function powerShellStart(){if(!_psChild){_psChild=spawn2(_powerShell,["-NoProfile","-NoLogo","-InputFormat","Text","-NoExit","-Command","-"],{stdio:"pipe",windowsHide:true,maxBuffer:1024*2e4,encoding:"UTF-8",env:Object.assign({},process.env,{LANG:"en_US.UTF-8"})});if(_psChild&&_psChild.pid){_psPersistent=true;_psChild.stdout.on("data",function(data){_psResult=_psResult+data.toString("utf8");if(data.indexOf(_psCmdSeperator)>=0){powerShellProceedResults(_psResult);_psResult=""}});_psChild.stderr.on("data",function(){powerShellProceedResults(_psResult+_psError)});_psChild.on("error",function(){powerShellProceedResults(_psResult+_psError)});_psChild.on("close",function(){if(_psChild){_psChild.kill()}})}}}function powerShellRelease(){try{if(_psChild){_psChild.stdin.write("exit"+os7.EOL);_psChild.stdin.end();_psPersistent=false}}catch(e){if(_psChild){_psChild.kill()}}_psChild=null}function powerShell(cmd){if(_psPersistent){const id=Math.random().toString(36).substring(2,12);return new Promise(resolve=>{process.nextTick(()=>{function callback(data){resolve(data)}_psCmds.push({id,cmd,callback,start:new Date});try{if(_psChild&&_psChild.pid){_psChild.stdin.write(_psToUTF8+"echo "+_psCmdStart+id+_psIdSeperator+"; "+os7.EOL+cmd+os7.EOL+"echo "+_psCmdSeperator+os7.EOL)}}catch(e){resolve("")}})})}else{let result2="";return new Promise(resolve=>{process.nextTick(()=>{try{const child=spawn2(_powerShell,["-NoProfile","-NoLogo","-InputFormat","Text","-NoExit","-ExecutionPolicy","Unrestricted","-Command","-"],{stdio:"pipe",windowsHide:true,maxBuffer:1024*2e4,encoding:"UTF-8",env:Object.assign({},process.env,{LANG:"en_US.UTF-8"})});if(child&&!child.pid){child.on("error",function(){resolve(result2)})}if(child&&child.pid){child.stdout.on("data",function(data){result2=result2+data.toString("utf8")});child.stderr.on("data",function(){child.kill();resolve(result2)});child.on("close",function(){child.kill();resolve(result2)});child.on("error",function(){child.kill();resolve(result2)});try{child.stdin.write(_psToUTF8+cmd+os7.EOL);child.stdin.write("exit"+os7.EOL);child.stdin.end()}catch(e){child.kill();resolve(result2)}}else{resolve(result2)}}catch(e){resolve(result2)}})})}}function execSafe(cmd,args2,options){let result2="";options=options||{};return new Promise(resolve=>{process.nextTick(()=>{try{const child=spawn2(cmd,args2,options);if(child&&!child.pid){child.on("error",function(){resolve(result2)})}if(child&&child.pid){child.stdout.on("data",function(data){result2+=data.toString()});child.on("close",function(){child.kill();resolve(result2)});child.on("error",function(){child.kill();resolve(result2)})}else{resolve(result2)}}catch(e){resolve(result2)}})})}function getCodepage(){if(_windows){if(!codepage){try{const stdout=execSync("chcp",execOptsWin);const lines=stdout.toString().split("\r\n");const parts=lines[0].split(":");codepage=parts.length>1?parts[1].replace(".","").trim():""}catch(err){codepage="437"}}return codepage}if(_linux||_darwin||_freebsd||_openbsd||_netbsd){if(!codepage){try{const stdout=execSync("echo $LANG",execOptsLinux);const lines=stdout.toString().split("\r\n");const parts=lines[0].split(".");codepage=parts.length>1?parts[1].trim():"";if(!codepage){codepage="UTF-8"}}catch(err){codepage="UTF-8"}}return codepage}}function smartMonToolsInstalled(){if(_smartMonToolsInstalled!==null){return _smartMonToolsInstalled}_smartMonToolsInstalled=false;if(_windows){try{const pathArray=execSync("WHERE smartctl 2>nul",execOptsWin).toString().split("\r\n");if(pathArray&&pathArray.length){_smartMonToolsInstalled=pathArray[0].indexOf(":\\")>=0}else{_smartMonToolsInstalled=false}}catch(e){_smartMonToolsInstalled=false}}if(_linux||_darwin||_freebsd||_openbsd||_netbsd){try{const pathArray=execSync("which smartctl 2>/dev/null",execOptsLinux).toString().split("\r\n");_smartMonToolsInstalled=pathArray.length>0}catch(e){util4.noop()}}return _smartMonToolsInstalled}function isRaspberry(){const PI_MODEL_NO=["BCM2708","BCM2709","BCM2710","BCM2711","BCM2712","BCM2835","BCM2836","BCM2837","BCM2837B0"];let cpuinfo=[];if(_rpi_cpuinfo!==null){cpuinfo=_rpi_cpuinfo}else{try{cpuinfo=fs14.readFileSync("/proc/cpuinfo",{encoding:"utf8"}).toString().split("\n");_rpi_cpuinfo=cpuinfo}catch(e){return false}}const hardware=getValue2(cpuinfo,"hardware");return hardware&&PI_MODEL_NO.indexOf(hardware)>-1}function isRaspbian(){let osrelease=[];try{osrelease=fs14.readFileSync("/etc/os-release",{encoding:"utf8"}).toString().split("\n")}catch(e){return false}const id=getValue2(osrelease,"id","=");return id&&id.indexOf("raspbian")>-1}function execWin(cmd,opts,callback){if(!callback){callback=opts;opts=execOptsWin}let newCmd="chcp 65001 > nul && cmd /C "+cmd+" && chcp "+codepage+" > nul";exec3(newCmd,opts,function(error,stdout){callback(error,stdout)})}function darwinXcodeExists(){const cmdLineToolsExists=fs14.existsSync("/Library/Developer/CommandLineTools/usr/bin/");const xcodeAppExists=fs14.existsSync("/Applications/Xcode.app/Contents/Developer/Tools");const xcodeExists=fs14.existsSync("/Library/Developer/Xcode/");return cmdLineToolsExists||xcodeExists||xcodeAppExists}function nanoSeconds(){const time=process.hrtime();if(!Array.isArray(time)||time.length!==2){return 0}return+time[0]*1e9+ +time[1]}function countUniqueLines(lines,startingWith){startingWith=startingWith||"";const uniqueLines=[];lines.forEach(line=>{if(line.startsWith(startingWith)){if(uniqueLines.indexOf(line)===-1){uniqueLines.push(line)}}});return uniqueLines.length}function countLines(lines,startingWith){startingWith=startingWith||"";const uniqueLines=[];lines.forEach(line=>{if(line.startsWith(startingWith)){uniqueLines.push(line)}});return uniqueLines.length}function sanitizeShellString(str2,strict){if(typeof strict==="undefined"){strict=false}const s=str2||"";let result2="";const l=mathMin(s.length,2e3);for(let i=0;i<=l;i++){if(!(s[i]===void 0||s[i]===">"||s[i]==="<"||s[i]==="*"||s[i]==="?"||s[i]==="["||s[i]==="]"||s[i]==="|"||s[i]==="˚"||s[i]==="$"||s[i]===";"||s[i]==="&"||s[i]==="]"||s[i]==="#"||s[i]==="\\"||s[i]==="	"||s[i]==="\n"||s[i]==="\r"||s[i]==="'"||s[i]==="`"||s[i]==='"'||s[i].length>1||strict&&s[i]==="("||strict&&s[i]===")"||strict&&s[i]==="@"||strict&&s[i]===" "||strict&&s[i]=="{"||strict&&s[i]==";"||strict&&s[i]=="}")){result2=result2+s[i]}}return result2}function isPrototypePolluted(){const s="1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";let notPolluted=true;let st="";try{st.__proto__.replace=stringReplace;st.__proto__.toLowerCase=stringToLower;st.__proto__.toString=stringToString;st.__proto__.substr=stringSubstr;st.__proto__.substring=stringSubstring;st.__proto__.trim=stringTrim;st.__proto__.startsWith=stringStartWith}catch(e){Object.setPrototypeOf(st,stringObj)}notPolluted=notPolluted||s.length!==62;const ms=Date.now();if(typeof ms==="number"&&ms>16e11){const l=ms%100+15;for(let i=0;i<l;i++){const r=Math.random()*61.99999999+1;const rs=parseInt(Math.floor(r).toString(),10);const rs2=parseInt(r.toString().split(".")[0],10);const q=Math.random()*61.99999999+1;const qs=parseInt(Math.floor(q).toString(),10);const qs2=parseInt(q.toString().split(".")[0],10);notPolluted=notPolluted&&r!==q;notPolluted=notPolluted&&rs===rs2&&qs===qs2;st+=s[rs-1]}notPolluted=notPolluted&&st.length===l;let p=Math.random()*l*.9999999999;let stm=st.substr(0,p)+" "+st.substr(p,2e3);try{stm.__proto__.replace=stringReplace}catch(e){Object.setPrototypeOf(stm,stringObj)}let sto=stm.replace(/ /g,"");notPolluted=notPolluted&&st===sto;p=Math.random()*l*.9999999999;stm=st.substr(0,p)+"{"+st.substr(p,2e3);sto=stm.replace(/{/g,"");notPolluted=notPolluted&&st===sto;p=Math.random()*l*.9999999999;stm=st.substr(0,p)+"*"+st.substr(p,2e3);sto=stm.replace(/\*/g,"");notPolluted=notPolluted&&st===sto;p=Math.random()*l*.9999999999;stm=st.substr(0,p)+"$"+st.substr(p,2e3);sto=stm.replace(/\$/g,"");notPolluted=notPolluted&&st===sto;const stl=st.toLowerCase();notPolluted=notPolluted&&stl.length===l&&stl[l-1]&&!stl[l];for(let i=0;i<l;i++){const s1=st[i];try{s1.__proto__.toLowerCase=stringToLower}catch(e){Object.setPrototypeOf(st,stringObj)}const s2=stl?stl[i]:"";const s1l=s1.toLowerCase();notPolluted=notPolluted&&s1l[0]===s2&&s1l[0]&&!s1l[1]}}return!notPolluted}function hex2bin(hex){return("00000000"+parseInt(hex,16).toString(2)).substr(-8)}function getFilesInPath(source){const lstatSync=fs14.lstatSync;const readdirSync=fs14.readdirSync;const join4=path27.join;function isDirectory(source2){return lstatSync(source2).isDirectory()}function isFile2(source2){return lstatSync(source2).isFile()}function getDirectories2(source2){return readdirSync(source2).map(function(name){return join4(source2,name)}).filter(isDirectory)}function getFiles(source2){return readdirSync(source2).map(function(name){return join4(source2,name)}).filter(isFile2)}function getFilesRecursively(source2){try{let dirs=getDirectories2(source2);let files=dirs.map(function(dir){return getFilesRecursively(dir)}).reduce(function(a,b){return a.concat(b)},[]);return files.concat(getFiles(source2))}catch(e){return[]}}if(fs14.existsSync(source)){return getFilesRecursively(source)}else{return[]}}function decodePiCpuinfo(lines){if(_rpi_cpuinfo===null){_rpi_cpuinfo=lines}const oldRevisionCodes={"0002":{type:"B",revision:"1.0",memory:256,manufacturer:"Egoman",processor:"BCM2835"},"0003":{type:"B",revision:"1.0",memory:256,manufacturer:"Egoman",processor:"BCM2835"},"0004":{type:"B",revision:"2.0",memory:256,manufacturer:"Sony UK",processor:"BCM2835"},"0005":{type:"B",revision:"2.0",memory:256,manufacturer:"Qisda",processor:"BCM2835"},"0006":{type:"B",revision:"2.0",memory:256,manufacturer:"Egoman",processor:"BCM2835"},"0007":{type:"A",revision:"2.0",memory:256,manufacturer:"Egoman",processor:"BCM2835"},"0008":{type:"A",revision:"2.0",memory:256,manufacturer:"Sony UK",processor:"BCM2835"},"0009":{type:"A",revision:"2.0",memory:256,manufacturer:"Qisda",processor:"BCM2835"},"000d":{type:"B",revision:"2.0",memory:512,manufacturer:"Egoman",processor:"BCM2835"},"000e":{type:"B",revision:"2.0",memory:512,manufacturer:"Sony UK",processor:"BCM2835"},"000f":{type:"B",revision:"2.0",memory:512,manufacturer:"Egoman",processor:"BCM2835"},"0010":{type:"B+",revision:"1.2",memory:512,manufacturer:"Sony UK",processor:"BCM2835"},"0011":{type:"CM1",revision:"1.0",memory:512,manufacturer:"Sony UK",processor:"BCM2835"},"0012":{type:"A+",revision:"1.1",memory:256,manufacturer:"Sony UK",processor:"BCM2835"},"0013":{type:"B+",revision:"1.2",memory:512,manufacturer:"Embest",processor:"BCM2835"},"0014":{type:"CM1",revision:"1.0",memory:512,manufacturer:"Embest",processor:"BCM2835"},"0015":{type:"A+",revision:"1.1",memory:256,manufacturer:"512MB	Embest",processor:"BCM2835"}};const processorList=["BCM2835","BCM2836","BCM2837","BCM2711","BCM2712"];const manufacturerList=["Sony UK","Egoman","Embest","Sony Japan","Embest","Stadium"];const typeList={"00":"A","01":"B","02":"A+","03":"B+","04":"2B","05":"Alpha (early prototype)","06":"CM1","08":"3B","09":"Zero","0a":"CM3","0c":"Zero W","0d":"3B+","0e":"3A+","0f":"Internal use only","10":"CM3+","11":"4B","12":"Zero 2 W","13":"400","14":"CM4","15":"CM4S","16":"Internal use only","17":"5","18":"CM5","19":"500","1a":"CM5 Lite"};const revisionCode=getValue2(lines,"revision",":",true);const model=getValue2(lines,"model:",":",true);const serial=getValue2(lines,"serial",":",true);let result2={};if({}.hasOwnProperty.call(oldRevisionCodes,revisionCode)){result2={model,serial,revisionCode,memory:oldRevisionCodes[revisionCode].memory,manufacturer:oldRevisionCodes[revisionCode].manufacturer,processor:oldRevisionCodes[revisionCode].processor,type:oldRevisionCodes[revisionCode].type,revision:oldRevisionCodes[revisionCode].revision}}else{const revision=("00000000"+getValue2(lines,"revision",":",true).toLowerCase()).substr(-8);const memSizeCode=parseInt(hex2bin(revision.substr(2,1)).substr(5,3),2)||0;const manufacturer=manufacturerList[parseInt(revision.substr(3,1),10)];const processor=processorList[parseInt(revision.substr(4,1),10)];const typeCode=revision.substr(5,2);result2={model,serial,revisionCode,memory:256*Math.pow(2,memSizeCode),manufacturer,processor,type:{}.hasOwnProperty.call(typeList,typeCode)?typeList[typeCode]:"",revision:"1."+revision.substr(7,1)}}return result2}function getRpiGpu(){let cpuinfo=null;if(_rpi_cpuinfo!==null){cpuinfo=_rpi_cpuinfo}else{try{cpuinfo=fs14.readFileSync("/proc/cpuinfo",{encoding:"utf8"}).toString().split("\n");_rpi_cpuinfo=cpuinfo}catch(e){return false}}const rpi=decodePiCpuinfo(cpuinfo);if(rpi.type==="4B"||rpi.type==="CM4"||rpi.type==="CM4S"||rpi.type==="400"){return"VideoCore VI"}if(rpi.type==="5"){return"VideoCore VII"}return"VideoCore IV"}function promiseAll(promises){const resolvingPromises=promises.map(function(promise){return new Promise(function(resolve){let payload=new Array(2);promise.then(function(result2){payload[0]=result2}).catch(function(error){payload[1]=error}).then(function(){resolve(payload)})})});const errors2=[];const results=[];return Promise.all(resolvingPromises).then(function(items){items.forEach(function(payload){if(payload[1]){errors2.push(payload[1]);results.push(null)}else{errors2.push(null);results.push(payload[0])}});return{errors:errors2,results}})}function promisify9(nodeStyleFunction){return function(){const args2=Array.prototype.slice.call(arguments);return new Promise(function(resolve,reject2){args2.push(function(err,data){if(err){reject2(err)}else{resolve(data)}});nodeStyleFunction.apply(null,args2)})}}function promisifySave(nodeStyleFunction){return function(){const args2=Array.prototype.slice.call(arguments);return new Promise(function(resolve){args2.push(function(err,data){resolve(data)});nodeStyleFunction.apply(null,args2)})}}function linuxVersion(){let result2="";if(_linux){try{result2=execSync("uname -v",execOptsLinux).toString()}catch(e){result2=""}}return result2}function plistParser(xmlStr){const tags=["array","dict","key","string","integer","date","real","data","boolean","arrayEmpty"];const startStr="<plist version";let pos=xmlStr.indexOf(startStr);let len=xmlStr.length;while(xmlStr[pos]!==">"&&pos<len){pos++}let depth=0;let inTagStart=false;let inTagContent=false;let inTagEnd=false;let metaData=[{tagStart:"",tagEnd:"",tagContent:"",key:"",data:null}];let c="";let cn=xmlStr[pos];while(pos<len){c=cn;if(pos+1<len){cn=xmlStr[pos+1]}if(c==="<"){inTagContent=false;if(cn==="/"){inTagEnd=true}else if(metaData[depth].tagStart){metaData[depth].tagContent="";if(!metaData[depth].data){metaData[depth].data=metaData[depth].tagStart==="array"?[]:{}}depth++;metaData.push({tagStart:"",tagEnd:"",tagContent:"",key:null,data:null});inTagStart=true;inTagContent=false}else if(!inTagStart){inTagStart=true}}else if(c===">"){if(metaData[depth].tagStart==="true/"){inTagStart=false;inTagEnd=true;metaData[depth].tagStart="";metaData[depth].tagEnd="/boolean";metaData[depth].data=true}if(metaData[depth].tagStart==="false/"){inTagStart=false;inTagEnd=true;metaData[depth].tagStart="";metaData[depth].tagEnd="/boolean";metaData[depth].data=false}if(metaData[depth].tagStart==="array/"){inTagStart=false;inTagEnd=true;metaData[depth].tagStart="";metaData[depth].tagEnd="/arrayEmpty";metaData[depth].data=[]}if(inTagContent){inTagContent=false}if(inTagStart){inTagStart=false;inTagContent=true;if(metaData[depth].tagStart==="array"){metaData[depth].data=[]}if(metaData[depth].tagStart==="dict"){metaData[depth].data={}}}if(inTagEnd){inTagEnd=false;if(metaData[depth].tagEnd&&tags.indexOf(metaData[depth].tagEnd.substr(1))>=0){if(metaData[depth].tagEnd==="/dict"||metaData[depth].tagEnd==="/array"){if(depth>1&&metaData[depth-2].tagStart==="array"){metaData[depth-2].data.push(metaData[depth-1].data)}if(depth>1&&metaData[depth-2].tagStart==="dict"){metaData[depth-2].data[metaData[depth-1].key]=metaData[depth-1].data}depth--;metaData.pop();metaData[depth].tagContent="";metaData[depth].tagStart="";metaData[depth].tagEnd=""}else{if(metaData[depth].tagEnd==="/key"&&metaData[depth].tagContent){metaData[depth].key=metaData[depth].tagContent}else{if(metaData[depth].tagEnd==="/real"&&metaData[depth].tagContent){metaData[depth].data=parseFloat(metaData[depth].tagContent)||0}if(metaData[depth].tagEnd==="/integer"&&metaData[depth].tagContent){metaData[depth].data=parseInt(metaData[depth].tagContent)||0}if(metaData[depth].tagEnd==="/string"&&metaData[depth].tagContent){metaData[depth].data=metaData[depth].tagContent||""}if(metaData[depth].tagEnd==="/boolean"){metaData[depth].data=metaData[depth].tagContent||false}if(metaData[depth].tagEnd==="/arrayEmpty"){metaData[depth].data=metaData[depth].tagContent||[]}if(depth>0&&metaData[depth-1].tagStart==="array"){metaData[depth-1].data.push(metaData[depth].data)}if(depth>0&&metaData[depth-1].tagStart==="dict"){metaData[depth-1].data[metaData[depth].key]=metaData[depth].data}}metaData[depth].tagContent="";metaData[depth].tagStart="";metaData[depth].tagEnd=""}}metaData[depth].tagEnd="";inTagStart=false;inTagContent=false}}else{if(inTagStart){metaData[depth].tagStart+=c}if(inTagEnd){metaData[depth].tagEnd+=c}if(inTagContent){metaData[depth].tagContent+=c}}pos++}return metaData[0].data}function strIsNumeric(str2){return typeof str2==="string"&&!isNaN(str2)&&!isNaN(parseFloat(str2))}function plistReader(output){const lines=output.split("\n");for(let i=0;i<lines.length;i++){if(lines[i].indexOf(" = ")>=0){const lineParts=lines[i].split(" = ");lineParts[0]=lineParts[0].trim();if(!lineParts[0].startsWith('"')){lineParts[0]='"'+lineParts[0]+'"'}lineParts[1]=lineParts[1].trim();if(lineParts[1].indexOf('"')===-1&&lineParts[1].endsWith(";")){const valueString=lineParts[1].substring(0,lineParts[1].length-1);if(!strIsNumeric(valueString)){lineParts[1]=`"${valueString}";`}}if(lineParts[1].indexOf('"')>=0&&lineParts[1].endsWith(";")){const valueString=lineParts[1].substring(0,lineParts[1].length-1).replace(/"/g,"");if(strIsNumeric(valueString)){lineParts[1]=`${valueString};`}}lines[i]=lineParts.join(" : ")}lines[i]=lines[i].replace(/\(/g,"[").replace(/\)/g,"]").replace(/;/g,",").trim();if(lines[i].startsWith("}")&&lines[i-1]&&lines[i-1].endsWith(",")){lines[i-1]=lines[i-1].substring(0,lines[i-1].length-1)}}output=lines.join("");let obj={};try{obj=JSON.parse(output)}catch(e){noop4()}return obj}function semverCompare(v1,v2){let res=0;const parts1=v1.split(".");const parts2=v2.split(".");if(parts1[0]<parts2[0]){res=1}else if(parts1[0]>parts2[0]){res=-1}else if(parts1[0]===parts2[0]&&parts1.length>=2&&parts2.length>=2){if(parts1[1]<parts2[1]){res=1}else if(parts1[1]>parts2[1]){res=-1}else if(parts1[1]===parts2[1]){if(parts1.length>=3&&parts2.length>=3){if(parts1[2]<parts2[2]){res=1}else if(parts1[2]>parts2[2]){res=-1}}else if(parts2.length>=3){res=1}}}return res}function getAppleModel(key){const appleModelIds=[{key:"Mac15,12",name:"MacBook Air",size:"13-inch",processor:"M3",year:"2024",additional:""},{key:"Mac14,15",name:"MacBook Air",size:"15-inch",processor:"M2",year:"2024",additional:""},{key:"Mac14,2",name:"MacBook Air",size:"13-inch",processor:"M2",year:"2022",additional:""},{key:"MacBookAir10,1",name:"MacBook Air",size:"13-inch",processor:"M1",year:"2020",additional:""},{key:"MacBookAir9,1",name:"MacBook Air",size:"13-inch",processor:"",year:"2020",additional:""},{key:"MacBookAir8,2",name:"MacBook Air",size:"13-inch",processor:"",year:"2019",additional:""},{key:"MacBookAir8,1",name:"MacBook Air",size:"13-inch",processor:"",year:"2018",additional:""},{key:"MacBookAir7,2",name:"MacBook Air",size:"13-inch",processor:"",year:"2017",additional:""},{key:"MacBookAir7,2",name:"MacBook Air",size:"13-inch",processor:"",year:"Early 2015",additional:""},{key:"MacBookAir7,1",name:"MacBook Air",size:"11-inch",processor:"",year:"Early 2015",additional:""},{key:"MacBookAir6,2",name:"MacBook Air",size:"13-inch",processor:"",year:"Early 2014",additional:""},{key:"MacBookAir6,1",name:"MacBook Air",size:"11-inch",processor:"",year:"Early 2014",additional:""},{key:"MacBookAir6,2",name:"MacBook Air",size:"13-inch",processor:"",year:"Mid 2013",additional:""},{key:"MacBookAir6,1",name:"MacBook Air",size:"11-inch",processor:"",year:"Mid 2013",additional:""},{key:"MacBookAir5,2",name:"MacBook Air",size:"13-inch",processor:"",year:"Mid 2012",additional:""},{key:"MacBookAir5,1",name:"MacBook Air",size:"11-inch",processor:"",year:"Mid 2012",additional:""},{key:"MacBookAir4,2",name:"MacBook Air",size:"13-inch",processor:"",year:"Mid 2011",additional:""},{key:"MacBookAir4,1",name:"MacBook Air",size:"11-inch",processor:"",year:"Mid 2011",additional:""},{key:"MacBookAir3,2",name:"MacBook Air",size:"13-inch",processor:"",year:"Late 2010",additional:""},{key:"MacBookAir3,1",name:"MacBook Air",size:"11-inch",processor:"",year:"Late 2010",additional:""},{key:"MacBookAir2,1",name:"MacBook Air",size:"13-inch",processor:"",year:"Mid 2009",additional:""},{key:"Mac16,1",name:"MacBook Pro",size:"14-inch",processor:"M4",year:"2024",additional:""},{key:"Mac16,6",name:"MacBook Pro",size:"14-inch",processor:"M4 Pro",year:"2024",additional:""},{key:"Mac16,8",name:"MacBook Pro",size:"14-inch",processor:"M4 Max",year:"2024",additional:""},{key:"Mac16,5",name:"MacBook Pro",size:"16-inch",processor:"M4 Pro",year:"2024",additional:""},{key:"Mac16,6",name:"MacBook Pro",size:"16-inch",processor:"M4 Max",year:"2024",additional:""},{key:"Mac15,3",name:"MacBook Pro",size:"14-inch",processor:"M3",year:"Nov 2023",additional:""},{key:"Mac15,6",name:"MacBook Pro",size:"14-inch",processor:"M3 Pro",year:"Nov 2023",additional:""},{key:"Mac15,8",name:"MacBook Pro",size:"14-inch",processor:"M3 Pro",year:"Nov 2023",additional:""},{key:"Mac15,10",name:"MacBook Pro",size:"14-inch",processor:"M3 Max",year:"Nov 2023",additional:""},{key:"Mac15,7",name:"MacBook Pro",size:"16-inch",processor:"M3 Pro",year:"Nov 2023",additional:""},{key:"Mac15,9",name:"MacBook Pro",size:"16-inch",processor:"M3 Pro",year:"Nov 2023",additional:""},{key:"Mac15,11",name:"MacBook Pro",size:"16-inch",processor:"M3 Max",year:"Nov 2023",additional:""},{key:"Mac14,5",name:"MacBook Pro",size:"14-inch",processor:"M2 Max",year:"2023",additional:""},{key:"Mac14,9",name:"MacBook Pro",size:"14-inch",processor:"M2 Max",year:"2023",additional:""},{key:"Mac14,6",name:"MacBook Pro",size:"16-inch",processor:"M2 Max",year:"2023",additional:""},{key:"Mac14,10",name:"MacBook Pro",size:"16-inch",processor:"M2 Max",year:"2023",additional:""},{key:"Mac14,7",name:"MacBook Pro",size:"13-inch",processor:"M2",year:"2022",additional:""},{key:"MacBookPro18,3",name:"MacBook Pro",size:"14-inch",processor:"M1 Pro",year:"2021",additional:""},{key:"MacBookPro18,4",name:"MacBook Pro",size:"14-inch",processor:"M1 Max",year:"2021",additional:""},{key:"MacBookPro18,1",name:"MacBook Pro",size:"16-inch",processor:"M1 Pro",year:"2021",additional:""},{key:"MacBookPro18,2",name:"MacBook Pro",size:"16-inch",processor:"M1 Max",year:"2021",additional:""},{key:"MacBookPro17,1",name:"MacBook Pro",size:"13-inch",processor:"M1",year:"2020",additional:""},{key:"MacBookPro16,3",name:"MacBook Pro",size:"13-inch",processor:"",year:"2020",additional:"Two Thunderbolt 3 ports"},{key:"MacBookPro16,2",name:"MacBook Pro",size:"13-inch",processor:"",year:"2020",additional:"Four Thunderbolt 3 ports"},{key:"MacBookPro16,1",name:"MacBook Pro",size:"16-inch",processor:"",year:"2019",additional:""},{key:"MacBookPro16,4",name:"MacBook Pro",size:"16-inch",processor:"",year:"2019",additional:""},{key:"MacBookPro15,3",name:"MacBook Pro",size:"15-inch",processor:"",year:"2019",additional:""},{key:"MacBookPro15,2",name:"MacBook Pro",size:"13-inch",processor:"",year:"2019",additional:""},{key:"MacBookPro15,1",name:"MacBook Pro",size:"15-inch",processor:"",year:"2019",additional:""},{key:"MacBookPro15,4",name:"MacBook Pro",size:"13-inch",processor:"",year:"2019",additional:"Two Thunderbolt 3 ports"},{key:"MacBookPro15,1",name:"MacBook Pro",size:"15-inch",processor:"",year:"2018",additional:""},{key:"MacBookPro15,2",name:"MacBook Pro",size:"13-inch",processor:"",year:"2018",additional:"Four Thunderbolt 3 ports"},{key:"MacBookPro14,1",name:"MacBook Pro",size:"13-inch",processor:"",year:"2017",additional:"Two Thunderbolt 3 ports"},{key:"MacBookPro14,2",name:"MacBook Pro",size:"13-inch",processor:"",year:"2017",additional:"Four Thunderbolt 3 ports"},{key:"MacBookPro14,3",name:"MacBook Pro",size:"15-inch",processor:"",year:"2017",additional:""},{key:"MacBookPro13,1",name:"MacBook Pro",size:"13-inch",processor:"",year:"2016",additional:"Two Thunderbolt 3 ports"},{key:"MacBookPro13,2",name:"MacBook Pro",size:"13-inch",processor:"",year:"2016",additional:"Four Thunderbolt 3 ports"},{key:"MacBookPro13,3",name:"MacBook Pro",size:"15-inch",processor:"",year:"2016",additional:""},{key:"MacBookPro11,4",name:"MacBook Pro",size:"15-inch",processor:"",year:"Mid 2015",additional:""},{key:"MacBookPro11,5",name:"MacBook Pro",size:"15-inch",processor:"",year:"Mid 2015",additional:""},{key:"MacBookPro12,1",name:"MacBook Pro",size:"13-inch",processor:"",year:"Early 2015",additional:""},{key:"MacBookPro11,2",name:"MacBook Pro",size:"15-inch",processor:"",year:"Late 2013",additional:""},{key:"MacBookPro11,3",name:"MacBook Pro",size:"15-inch",processor:"",year:"Late 2013",additional:""},{key:"MacBookPro11,1",name:"MacBook Pro",size:"13-inch",processor:"",year:"Late 2013",additional:""},{key:"MacBookPro10,1",name:"MacBook Pro",size:"15-inch",processor:"",year:"Mid 2012",additional:""},{key:"MacBookPro10,2",name:"MacBook Pro",size:"13-inch",processor:"",year:"Late 2012",additional:""},{key:"MacBookPro9,1",name:"MacBook Pro",size:"15-inch",processor:"",year:"Mid 2012",additional:""},{key:"MacBookPro9,2",name:"MacBook Pro",size:"13-inch",processor:"",year:"Mid 2012",additional:""},{key:"MacBookPro8,3",name:"MacBook Pro",size:"17-inch",processor:"",year:"Early 2011",additional:""},{key:"MacBookPro8,2",name:"MacBook Pro",size:"15-inch",processor:"",year:"Early 2011",additional:""},{key:"MacBookPro8,1",name:"MacBook Pro",size:"13-inch",processor:"",year:"Early 2011",additional:""},{key:"MacBookPro6,1",name:"MacBook Pro",size:"17-inch",processor:"",year:"Mid 2010",additional:""},{key:"MacBookPro6,2",name:"MacBook Pro",size:"15-inch",processor:"",year:"Mid 2010",additional:""},{key:"MacBookPro7,1",name:"MacBook Pro",size:"13-inch",processor:"",year:"Mid 2010",additional:""},{key:"MacBookPro5,2",name:"MacBook Pro",size:"17-inch",processor:"",year:"Early 2009",additional:""},{key:"MacBookPro5,3",name:"MacBook Pro",size:"15-inch",processor:"",year:"Mid 2009",additional:""},{key:"MacBookPro5,5",name:"MacBook Pro",size:"13-inch",processor:"",year:"Mid 2009",additional:""},{key:"MacBookPro5,1",name:"MacBook Pro",size:"15-inch",processor:"",year:"Late 2008",additional:""},{key:"MacBookPro4,1",name:"MacBook Pro",size:"15-inch",processor:"",year:"Early 2008",additional:""},{key:"MacBook10,1",name:"MacBook",size:"12-inch",processor:"",year:"2017",additional:""},{key:"MacBook9,1",name:"MacBook",size:"12-inch",processor:"",year:"Early 2016",additional:""},{key:"MacBook8,1",name:"MacBook",size:"12-inch",processor:"",year:"Early 2015",additional:""},{key:"MacBook7,1",name:"MacBook",size:"13-inch",processor:"",year:"Mid 2010",additional:""},{key:"MacBook6,1",name:"MacBook",size:"13-inch",processor:"",year:"Late 2009",additional:""},{key:"MacBook5,2",name:"MacBook",size:"13-inch",processor:"",year:"Early 2009",additional:""},{key:"Mac14,13",name:"Mac Studio",size:"",processor:"",year:"2023",additional:""},{key:"Mac14,14",name:"Mac Studio",size:"",processor:"",year:"2023",additional:""},{key:"Mac13,1",name:"Mac Studio",size:"",processor:"",year:"2022",additional:""},{key:"Mac13,2",name:"Mac Studio",size:"",processor:"",year:"2022",additional:""},{key:"Mac16,11",name:"Mac mini",size:"",processor:"M4 Pro",year:"2024",additional:""},{key:"Mac16,10",name:"Mac mini",size:"",processor:"M4",year:"2024",additional:""},{key:"Mac14,3",name:"Mac mini",size:"",processor:"M2",year:"2023",additional:""},{key:"Mac14,12",name:"Mac mini",size:"",processor:"M2 Pro",year:"2023",additional:""},{key:"Macmini9,1",name:"Mac mini",size:"",processor:"M1",year:"2020",additional:""},{key:"Macmini8,1",name:"Mac mini",size:"",processor:"",year:"Late 2018",additional:""},{key:"Macmini7,1",name:"Mac mini",size:"",processor:"",year:"Late 2014",additional:""},{key:"Macmini6,1",name:"Mac mini",size:"",processor:"",year:"Late 2012",additional:""},{key:"Macmini6,2",name:"Mac mini",size:"",processor:"",year:"Late 2012",additional:""},{key:"Macmini5,1",name:"Mac mini",size:"",processor:"",year:"Mid 2011",additional:""},{key:"Macmini5,2",name:"Mac mini",size:"",processor:"",year:"Mid 2011",additional:""},{key:"Macmini4,1",name:"Mac mini",size:"",processor:"",year:"Mid 2010",additional:""},{key:"Macmini3,1",name:"Mac mini",size:"",processor:"",year:"Early 2009",additional:""},{key:"Mac16,3",name:"iMac",size:"24-inch",processor:"M4",year:"2024",additional:"Four ports"},{key:"Mac16,2",name:"iMac",size:"24-inch",processor:"M4",year:"2024",additional:"Two ports"},{key:"Mac15,5",name:"iMac",size:"24-inch",processor:"M3",year:"2023",additional:"Four ports"},{key:"Mac15,4",name:"iMac",size:"24-inch",processor:"M3",year:"2023",additional:"Two ports"},{key:"iMac21,1",name:"iMac",size:"24-inch",processor:"M1",year:"2021",additional:""},{key:"iMac21,2",name:"iMac",size:"24-inch",processor:"M1",year:"2021",additional:""},{key:"iMac20,1",name:"iMac",size:"27-inch",processor:"",year:"2020",additional:"Retina 5K"},{key:"iMac20,2",name:"iMac",size:"27-inch",processor:"",year:"2020",additional:"Retina 5K"},{key:"iMac19,1",name:"iMac",size:"27-inch",processor:"",year:"2019",additional:"Retina 5K"},{key:"iMac19,2",name:"iMac",size:"21.5-inch",processor:"",year:"2019",additional:"Retina 4K"},{key:"iMacPro1,1",name:"iMac Pro",size:"",processor:"",year:"2017",additional:""},{key:"iMac18,3",name:"iMac",size:"27-inch",processor:"",year:"2017",additional:"Retina 5K"},{key:"iMac18,2",name:"iMac",size:"21.5-inch",processor:"",year:"2017",additional:"Retina 4K"},{key:"iMac18,1",name:"iMac",size:"21.5-inch",processor:"",year:"2017",additional:""},{key:"iMac17,1",name:"iMac",size:"27-inch",processor:"",year:"Late 2015",additional:"Retina 5K"},{key:"iMac16,2",name:"iMac",size:"21.5-inch",processor:"",year:"Late 2015",additional:"Retina 4K"},{key:"iMac16,1",name:"iMac",size:"21.5-inch",processor:"",year:"Late 2015",additional:""},{key:"iMac15,1",name:"iMac",size:"27-inch",processor:"",year:"Late 2014",additional:"Retina 5K"},{key:"iMac14,4",name:"iMac",size:"21.5-inch",processor:"",year:"Mid 2014",additional:""},{key:"iMac14,2",name:"iMac",size:"27-inch",processor:"",year:"Late 2013",additional:""},{key:"iMac14,1",name:"iMac",size:"21.5-inch",processor:"",year:"Late 2013",additional:""},{key:"iMac13,2",name:"iMac",size:"27-inch",processor:"",year:"Late 2012",additional:""},{key:"iMac13,1",name:"iMac",size:"21.5-inch",processor:"",year:"Late 2012",additional:""},{key:"iMac12,2",name:"iMac",size:"27-inch",processor:"",year:"Mid 2011",additional:""},{key:"iMac12,1",name:"iMac",size:"21.5-inch",processor:"",year:"Mid 2011",additional:""},{key:"iMac11,3",name:"iMac",size:"27-inch",processor:"",year:"Mid 2010",additional:""},{key:"iMac11,2",name:"iMac",size:"21.5-inch",processor:"",year:"Mid 2010",additional:""},{key:"iMac10,1",name:"iMac",size:"21.5-inch",processor:"",year:"Late 2009",additional:""},{key:"iMac9,1",name:"iMac",size:"20-inch",processor:"",year:"Early 2009",additional:""},{key:"Mac14,8",name:"Mac Pro",size:"",processor:"",year:"2023",additional:""},{key:"Mac14,8",name:"Mac Pro",size:"",processor:"",year:"2023",additional:"Rack"},{key:"MacPro7,1",name:"Mac Pro",size:"",processor:"",year:"2019",additional:""},{key:"MacPro7,1",name:"Mac Pro",size:"",processor:"",year:"2019",additional:"Rack"},{key:"MacPro6,1",name:"Mac Pro",size:"",processor:"",year:"Late 2013",additional:""},{key:"MacPro5,1",name:"Mac Pro",size:"",processor:"",year:"Mid 2012",additional:""},{key:"MacPro5,1",name:"Mac Pro Server",size:"",processor:"",year:"Mid 2012",additional:"Server"},{key:"MacPro5,1",name:"Mac Pro",size:"",processor:"",year:"Mid 2010",additional:""},{key:"MacPro5,1",name:"Mac Pro Server",size:"",processor:"",year:"Mid 2010",additional:"Server"},{key:"MacPro4,1",name:"Mac Pro",size:"",processor:"",year:"Early 2009",additional:""}];const list=appleModelIds.filter(model=>model.key===key);if(list.length===0){return{key,model:"Apple",version:"Unknown"}}const features=[];if(list[0].size){features.push(list[0].size)}if(list[0].processor){features.push(list[0].processor)}if(list[0].year){features.push(list[0].year)}if(list[0].additional){features.push(list[0].additional)}return{key,model:list[0].name,version:list[0].name+" ("+features.join(", ")+")"}}function checkWebsite(url,timeout=5e3){const http3=url.startsWith("https:")||url.indexOf(":443/")>0||url.indexOf(":8443/")>0?require("https"):require("http");const t=Date.now();return new Promise(resolve=>{const request=http3.get(url,function(res){res.on("data",()=>{});res.on("end",()=>{resolve({url,statusCode:res.statusCode,message:res.statusMessage,time:Date.now()-t})})}).on("error",function(e){resolve({url,statusCode:404,message:e.message,time:Date.now()-t})}).setTimeout(timeout,()=>{request.close();resolve({url,statusCode:408,message:"Request Timeout",time:Date.now()-t})})})}function cleanString(str2){return str2.replace(/To Be Filled By O.E.M./g,"")}function noop4(){}exports2.toInt=toInt;exports2.splitByNumber=splitByNumber;exports2.execOptsWin=execOptsWin;exports2.execOptsLinux=execOptsLinux;exports2.getCodepage=getCodepage;exports2.execWin=execWin;exports2.isFunction=isFunction3;exports2.unique=unique;exports2.sortByKey=sortByKey;exports2.cores=cores;exports2.getValue=getValue2;exports2.decodeEscapeSequence=decodeEscapeSequence;exports2.parseDateTime=parseDateTime;exports2.parseHead=parseHead;exports2.findObjectByKey=findObjectByKey;exports2.getWmic=getWmic;exports2.wmic=wmic;exports2.darwinXcodeExists=darwinXcodeExists;exports2.getVboxmanage=getVboxmanage;exports2.powerShell=powerShell;exports2.powerShellStart=powerShellStart;exports2.powerShellRelease=powerShellRelease;exports2.execSafe=execSafe;exports2.nanoSeconds=nanoSeconds;exports2.countUniqueLines=countUniqueLines;exports2.countLines=countLines;exports2.noop=noop4;exports2.isRaspberry=isRaspberry;exports2.isRaspbian=isRaspbian;exports2.sanitizeShellString=sanitizeShellString;exports2.isPrototypePolluted=isPrototypePolluted;exports2.decodePiCpuinfo=decodePiCpuinfo;exports2.getRpiGpu=getRpiGpu;exports2.promiseAll=promiseAll;exports2.promisify=promisify9;exports2.promisifySave=promisifySave;exports2.smartMonToolsInstalled=smartMonToolsInstalled;exports2.linuxVersion=linuxVersion;exports2.plistParser=plistParser;exports2.plistReader=plistReader;exports2.stringObj=stringObj;exports2.stringReplace=stringReplace;exports2.stringToLower=stringToLower;exports2.stringToString=stringToString;exports2.stringSubstr=stringSubstr;exports2.stringSubstring=stringSubstring;exports2.stringTrim=stringTrim;exports2.stringStartWith=stringStartWith;exports2.mathMin=mathMin;exports2.WINDIR=WINDIR;exports2.getFilesInPath=getFilesInPath;exports2.semverCompare=semverCompare;exports2.getAppleModel=getAppleModel;exports2.checkWebsite=checkWebsite;exports2.cleanString=cleanString;exports2.getPowershell=getPowershell}});var require_system=__commonJS({"node_modules/systeminformation/lib/system.js"(exports2){"use strict";var fs14=require("fs");var os7=require("os");var util4=require_util2();var exec3=require("child_process").exec;var execSync=require("child_process").execSync;var execPromise=util4.promisify(require("child_process").exec);var _platform=process.platform;var _linux=_platform==="linux"||_platform==="android";var _darwin=_platform==="darwin";var _windows=_platform==="win32";var _freebsd=_platform==="freebsd";var _openbsd=_platform==="openbsd";var _netbsd=_platform==="netbsd";var _sunos=_platform==="sunos";function system(callback){return new Promise(resolve=>{process.nextTick(()=>{let result2={manufacturer:"",model:"Computer",version:"",serial:"-",uuid:"-",sku:"-",virtual:false};if(_linux||_freebsd||_openbsd||_netbsd){exec3("export LC_ALL=C; dmidecode -t system 2>/dev/null; unset LC_ALL",function(error,stdout){let lines=stdout.toString().split("\n");result2.manufacturer=cleanDefaults(util4.getValue(lines,"manufacturer"));result2.model=cleanDefaults(util4.getValue(lines,"product name"));result2.version=cleanDefaults(util4.getValue(lines,"version"));result2.serial=cleanDefaults(util4.getValue(lines,"serial number"));result2.uuid=cleanDefaults(util4.getValue(lines,"uuid")).toLowerCase();result2.sku=cleanDefaults(util4.getValue(lines,"sku number"));const cmd=`echo -n "product_name: "; cat /sys/devices/virtual/dmi/id/product_name 2>/dev/null; echo;
            echo -n "product_serial: "; cat /sys/devices/virtual/dmi/id/product_serial 2>/dev/null; echo;
            echo -n "product_uuid: "; cat /sys/devices/virtual/dmi/id/product_uuid 2>/dev/null; echo;
            echo -n "product_version: "; cat /sys/devices/virtual/dmi/id/product_version 2>/dev/null; echo;
            echo -n "sys_vendor: "; cat /sys/devices/virtual/dmi/id/sys_vendor 2>/dev/null; echo;`;try{lines=execSync(cmd,util4.execOptsLinux).toString().split("\n");result2.manufacturer=cleanDefaults(result2.manufacturer===""?util4.getValue(lines,"sys_vendor"):result2.manufacturer);result2.model=cleanDefaults(result2.model===""?util4.getValue(lines,"product_name"):result2.model);result2.version=cleanDefaults(result2.version===""?util4.getValue(lines,"product_version"):result2.version);result2.serial=cleanDefaults(result2.serial===""?util4.getValue(lines,"product_serial"):result2.serial);result2.uuid=cleanDefaults(result2.uuid===""?util4.getValue(lines,"product_uuid").toLowerCase():result2.uuid)}catch(e){util4.noop()}if(!result2.serial){result2.serial="-"}if(!result2.manufacturer){result2.manufacturer=""}if(!result2.model){result2.model="Computer"}if(!result2.version){result2.version=""}if(!result2.sku){result2.sku="-"}if(result2.model.toLowerCase()==="virtualbox"||result2.model.toLowerCase()==="kvm"||result2.model.toLowerCase()==="virtual machine"||result2.model.toLowerCase()==="bochs"||result2.model.toLowerCase().startsWith("vmware")||result2.model.toLowerCase().startsWith("droplet")){result2.virtual=true;switch(result2.model.toLowerCase()){case"virtualbox":result2.virtualHost="VirtualBox";break;case"vmware":result2.virtualHost="VMware";break;case"kvm":result2.virtualHost="KVM";break;case"bochs":result2.virtualHost="bochs";break}}if(result2.manufacturer.toLowerCase().startsWith("vmware")||result2.manufacturer.toLowerCase()==="xen"){result2.virtual=true;switch(result2.manufacturer.toLowerCase()){case"vmware":result2.virtualHost="VMware";break;case"xen":result2.virtualHost="Xen";break}}if(!result2.virtual){try{const disksById=execSync("ls -1 /dev/disk/by-id/ 2>/dev/null",util4.execOptsLinux).toString();if(disksById.indexOf("_QEMU_")>=0){result2.virtual=true;result2.virtualHost="QEMU"}if(disksById.indexOf("_VBOX_")>=0){result2.virtual=true;result2.virtualHost="VirtualBox"}}catch(e){util4.noop()}}if(!result2.virtual&&(os7.release().toLowerCase().indexOf("microsoft")>=0||os7.release().toLowerCase().endsWith("wsl2"))){const kernelVersion=parseFloat(os7.release().toLowerCase());result2.virtual=true;result2.manufacturer="Microsoft";result2.model="WSL";result2.version=kernelVersion<4.19?"1":"2"}if((_freebsd||_openbsd||_netbsd)&&!result2.virtualHost){try{const procInfo=execSync("dmidecode -t 4",util4.execOptsLinux);const procLines=procInfo.toString().split("\n");const procManufacturer=util4.getValue(procLines,"manufacturer",":",true);switch(procManufacturer.toLowerCase()){case"virtualbox":result2.virtualHost="VirtualBox";break;case"vmware":result2.virtualHost="VMware";break;case"kvm":result2.virtualHost="KVM";break;case"bochs":result2.virtualHost="bochs";break}}catch(e){util4.noop()}}if(fs14.existsSync("/.dockerenv")||fs14.existsSync("/.dockerinit")){result2.model="Docker Container"}try{const stdout2=execSync('dmesg 2>/dev/null | grep -iE "virtual|hypervisor" | grep -iE "vmware|qemu|kvm|xen" | grep -viE "Nested Virtualization|/virtual/"');let lines2=stdout2.toString().split("\n");if(lines2.length>0){if(result2.model==="Computer"){result2.model="Virtual machine"}result2.virtual=true;if(stdout2.toString().toLowerCase().indexOf("vmware")>=0&&!result2.virtualHost){result2.virtualHost="VMware"}if(stdout2.toString().toLowerCase().indexOf("qemu")>=0&&!result2.virtualHost){result2.virtualHost="QEMU"}if(stdout2.toString().toLowerCase().indexOf("xen")>=0&&!result2.virtualHost){result2.virtualHost="Xen"}if(stdout2.toString().toLowerCase().indexOf("kvm")>=0&&!result2.virtualHost){result2.virtualHost="KVM"}}}catch(e){util4.noop()}if(result2.manufacturer===""&&result2.model==="Computer"&&result2.version===""){fs14.readFile("/proc/cpuinfo",function(error2,stdout2){if(!error2){let lines2=stdout2.toString().split("\n");result2.model=util4.getValue(lines2,"hardware",":",true).toUpperCase();result2.version=util4.getValue(lines2,"revision",":",true).toLowerCase();result2.serial=util4.getValue(lines2,"serial",":",true);const model=util4.getValue(lines2,"model:",":",true);if((result2.model==="BCM2835"||result2.model==="BCM2708"||result2.model==="BCM2709"||result2.model==="BCM2710"||result2.model==="BCM2711"||result2.model==="BCM2836"||result2.model==="BCM2837")&&model.toLowerCase().indexOf("raspberry")>=0){const rPIRevision=util4.decodePiCpuinfo(lines2);result2.model=rPIRevision.model;result2.version=rPIRevision.revisionCode;result2.manufacturer="Raspberry Pi Foundation";result2.raspberry={manufacturer:rPIRevision.manufacturer,processor:rPIRevision.processor,type:rPIRevision.type,revision:rPIRevision.revision}}}if(callback){callback(result2)}resolve(result2)})}else{if(callback){callback(result2)}resolve(result2)}})}if(_darwin){exec3("ioreg -c IOPlatformExpertDevice -d 2",function(error,stdout){if(!error){let lines=stdout.toString().replace(/[<>"]/g,"").split("\n");const model=util4.getAppleModel(util4.getValue(lines,"model","=",true));result2.manufacturer=util4.getValue(lines,"manufacturer","=",true);result2.model=model.key;result2.type=macOsChassisType(model.version);result2.version=model.version;result2.serial=util4.getValue(lines,"ioplatformserialnumber","=",true);result2.uuid=util4.getValue(lines,"ioplatformuuid","=",true).toLowerCase();result2.sku=util4.getValue(lines,"board-id","=",true)||util4.getValue(lines,"target-sub-type","=",true)}if(callback){callback(result2)}resolve(result2)})}if(_sunos){if(callback){callback(result2)}resolve(result2)}if(_windows){try{util4.powerShell("Get-CimInstance Win32_ComputerSystemProduct | select Name,Vendor,Version,IdentifyingNumber,UUID | fl").then((stdout,error)=>{if(!error){let lines=stdout.split("\r\n");result2.manufacturer=util4.getValue(lines,"vendor",":");result2.model=util4.getValue(lines,"name",":");result2.version=util4.getValue(lines,"version",":");result2.serial=util4.getValue(lines,"identifyingnumber",":");result2.uuid=util4.getValue(lines,"uuid",":").toLowerCase();const model=result2.model.toLowerCase();if(model==="virtualbox"||model==="kvm"||model==="virtual machine"||model==="bochs"||model.startsWith("vmware")||model.startsWith("qemu")||model.startsWith("parallels")){result2.virtual=true;if(model.startsWith("virtualbox")){result2.virtualHost="VirtualBox"}if(model.startsWith("vmware")){result2.virtualHost="VMware"}if(model.startsWith("kvm")){result2.virtualHost="KVM"}if(model.startsWith("bochs")){result2.virtualHost="bochs"}if(model.startsWith("qemu")){result2.virtualHost="KVM"}if(model.startsWith("parallels")){result2.virtualHost="Parallels"}}const manufacturer=result2.manufacturer.toLowerCase();if(manufacturer.startsWith("vmware")||manufacturer.startsWith("qemu")||manufacturer==="xen"||manufacturer.startsWith("parallels")){result2.virtual=true;if(manufacturer.startsWith("vmware")){result2.virtualHost="VMware"}if(manufacturer.startsWith("xen")){result2.virtualHost="Xen"}if(manufacturer.startsWith("qemu")){result2.virtualHost="KVM"}if(manufacturer.startsWith("parallels")){result2.virtualHost="Parallels"}}util4.powerShell('Get-CimInstance MS_Systeminformation -Namespace "root/wmi" | select systemsku | fl ').then((stdout2,error2)=>{if(!error2){let lines2=stdout2.split("\r\n");result2.sku=util4.getValue(lines2,"systemsku",":")}if(!result2.virtual){util4.powerShell("Get-CimInstance Win32_bios | select Version, SerialNumber, SMBIOSBIOSVersion").then((stdout3,error3)=>{if(!error3){let lines2=stdout3.toString();if(lines2.indexOf("VRTUAL")>=0||lines2.indexOf("A M I ")>=0||lines2.indexOf("VirtualBox")>=0||lines2.indexOf("VMWare")>=0||lines2.indexOf("Xen")>=0||lines2.indexOf("Parallels")>=0){result2.virtual=true;if(lines2.indexOf("VirtualBox")>=0&&!result2.virtualHost){result2.virtualHost="VirtualBox"}if(lines2.indexOf("VMware")>=0&&!result2.virtualHost){result2.virtualHost="VMware"}if(lines2.indexOf("Xen")>=0&&!result2.virtualHost){result2.virtualHost="Xen"}if(lines2.indexOf("VRTUAL")>=0&&!result2.virtualHost){result2.virtualHost="Hyper-V"}if(lines2.indexOf("A M I")>=0&&!result2.virtualHost){result2.virtualHost="Virtual PC"}if(lines2.indexOf("Parallels")>=0&&!result2.virtualHost){result2.virtualHost="Parallels"}}if(callback){callback(result2)}resolve(result2)}else{if(callback){callback(result2)}resolve(result2)}})}else{if(callback){callback(result2)}resolve(result2)}})}else{if(callback){callback(result2)}resolve(result2)}})}catch(e){if(callback){callback(result2)}resolve(result2)}}})})}exports2.system=system;function cleanDefaults(s){const cmpStr=s.toLowerCase();if(cmpStr.indexOf("o.e.m.")===-1&&cmpStr.indexOf("default string")===-1&&cmpStr!=="default"){return s||""}return""}function bios(callback){return new Promise(resolve=>{process.nextTick(()=>{let result2={vendor:"",version:"",releaseDate:"",revision:""};let cmd="";if(_linux||_freebsd||_openbsd||_netbsd){if(process.arch==="arm"){cmd="cat /proc/cpuinfo | grep Serial"}else{cmd="export LC_ALL=C; dmidecode -t bios 2>/dev/null; unset LC_ALL"}exec3(cmd,function(error,stdout){let lines=stdout.toString().split("\n");result2.vendor=util4.getValue(lines,"Vendor");result2.version=util4.getValue(lines,"Version");let datetime=util4.getValue(lines,"Release Date");result2.releaseDate=util4.parseDateTime(datetime).date;result2.revision=util4.getValue(lines,"BIOS Revision");result2.serial=util4.getValue(lines,"SerialNumber");let language2=util4.getValue(lines,"Currently Installed Language").split("|")[0];if(language2){result2.language=language2}if(lines.length&&stdout.toString().indexOf("Characteristics:")>=0){const features=[];lines.forEach(line=>{if(line.indexOf(" is supported")>=0){const feature=line.split(" is supported")[0].trim();features.push(feature)}});result2.features=features}const cmd2=`echo -n "bios_date: "; cat /sys/devices/virtual/dmi/id/bios_date 2>/dev/null; echo;
            echo -n "bios_vendor: "; cat /sys/devices/virtual/dmi/id/bios_vendor 2>/dev/null; echo;
            echo -n "bios_version: "; cat /sys/devices/virtual/dmi/id/bios_version 2>/dev/null; echo;`;try{lines=execSync(cmd2,util4.execOptsLinux).toString().split("\n");result2.vendor=!result2.vendor?util4.getValue(lines,"bios_vendor"):result2.vendor;result2.version=!result2.version?util4.getValue(lines,"bios_version"):result2.version;datetime=util4.getValue(lines,"bios_date");result2.releaseDate=!result2.releaseDate?util4.parseDateTime(datetime).date:result2.releaseDate}catch(e){util4.noop()}if(callback){callback(result2)}resolve(result2)})}if(_darwin){result2.vendor="Apple Inc.";exec3("system_profiler SPHardwareDataType -json",function(error,stdout){try{const hardwareData=JSON.parse(stdout.toString());if(hardwareData&&hardwareData.SPHardwareDataType&&hardwareData.SPHardwareDataType.length){let bootRomVersion=hardwareData.SPHardwareDataType[0].boot_rom_version;bootRomVersion=bootRomVersion?bootRomVersion.split("(")[0].trim():null;result2.version=bootRomVersion}}catch(e){util4.noop()}if(callback){callback(result2)}resolve(result2)})}if(_sunos){result2.vendor="Sun Microsystems";if(callback){callback(result2)}resolve(result2)}if(_windows){try{util4.powerShell('Get-CimInstance Win32_bios | select Description,Version,Manufacturer,@{n="ReleaseDate";e={$_.ReleaseDate.ToString("yyyy-MM-dd")}},BuildNumber,SerialNumber,SMBIOSBIOSVersion | fl').then((stdout,error)=>{if(!error){let lines=stdout.toString().split("\r\n");const description=util4.getValue(lines,"description",":");const version=util4.getValue(lines,"SMBIOSBIOSVersion",":");if(description.indexOf(" Version ")!==-1){result2.vendor=description.split(" Version ")[0].trim();result2.version=description.split(" Version ")[1].trim()}else if(description.indexOf(" Ver: ")!==-1){result2.vendor=util4.getValue(lines,"manufacturer",":");result2.version=description.split(" Ver: ")[1].trim()}else{result2.vendor=util4.getValue(lines,"manufacturer",":");result2.version=version||util4.getValue(lines,"version",":")}result2.releaseDate=util4.getValue(lines,"releasedate",":");result2.revision=util4.getValue(lines,"buildnumber",":");result2.serial=cleanDefaults(util4.getValue(lines,"serialnumber",":"))}if(callback){callback(result2)}resolve(result2)})}catch(e){if(callback){callback(result2)}resolve(result2)}}})})}exports2.bios=bios;function baseboard(callback){return new Promise(resolve=>{process.nextTick(()=>{let result2={manufacturer:"",model:"",version:"",serial:"-",assetTag:"-",memMax:null,memSlots:null};let cmd="";if(_linux||_freebsd||_openbsd||_netbsd){if(process.arch==="arm"){cmd="cat /proc/cpuinfo | grep Serial"}else{cmd="export LC_ALL=C; dmidecode -t 2 2>/dev/null; unset LC_ALL"}const workload=[];workload.push(execPromise(cmd));workload.push(execPromise("export LC_ALL=C; dmidecode -t memory 2>/dev/null"));util4.promiseAll(workload).then(data=>{let lines=data.results[0]?data.results[0].toString().split("\n"):[""];result2.manufacturer=cleanDefaults(util4.getValue(lines,"Manufacturer"));result2.model=cleanDefaults(util4.getValue(lines,"Product Name"));result2.version=cleanDefaults(util4.getValue(lines,"Version"));result2.serial=cleanDefaults(util4.getValue(lines,"Serial Number"));result2.assetTag=cleanDefaults(util4.getValue(lines,"Asset Tag"));const cmd2=`echo -n "board_asset_tag: "; cat /sys/devices/virtual/dmi/id/board_asset_tag 2>/dev/null; echo;
            echo -n "board_name: "; cat /sys/devices/virtual/dmi/id/board_name 2>/dev/null; echo;
            echo -n "board_serial: "; cat /sys/devices/virtual/dmi/id/board_serial 2>/dev/null; echo;
            echo -n "board_vendor: "; cat /sys/devices/virtual/dmi/id/board_vendor 2>/dev/null; echo;
            echo -n "board_version: "; cat /sys/devices/virtual/dmi/id/board_version 2>/dev/null; echo;`;try{lines=execSync(cmd2,util4.execOptsLinux).toString().split("\n");result2.manufacturer=cleanDefaults(!result2.manufacturer?util4.getValue(lines,"board_vendor"):result2.manufacturer);result2.model=cleanDefaults(!result2.model?util4.getValue(lines,"board_name"):result2.model);result2.version=cleanDefaults(!result2.version?util4.getValue(lines,"board_version"):result2.version);result2.serial=cleanDefaults(!result2.serial?util4.getValue(lines,"board_serial"):result2.serial);result2.assetTag=cleanDefaults(!result2.assetTag?util4.getValue(lines,"board_asset_tag"):result2.assetTag)}catch(e){util4.noop()}lines=data.results[1]?data.results[1].toString().split("\n"):[""];result2.memMax=util4.toInt(util4.getValue(lines,"Maximum Capacity"))*1024*1024*1024||null;result2.memSlots=util4.toInt(util4.getValue(lines,"Number Of Devices"))||null;let linesRpi="";try{linesRpi=fs14.readFileSync("/proc/cpuinfo").toString().split("\n")}catch(e){util4.noop()}if(linesRpi){const hardware=util4.getValue(linesRpi,"hardware");if(hardware.startsWith("BCM")){const rpi=util4.decodePiCpuinfo(linesRpi);result2.manufacturer=rpi.manufacturer;result2.model="Raspberry Pi";result2.serial=rpi.serial;result2.version=rpi.type+" - "+rpi.revision;result2.memMax=os7.totalmem();result2.memSlots=0}}if(callback){callback(result2)}resolve(result2)})}if(_darwin){const workload=[];workload.push(execPromise("ioreg -c IOPlatformExpertDevice -d 2"));workload.push(execPromise("system_profiler SPMemoryDataType"));util4.promiseAll(workload).then(data=>{let lines=data.results[0]?data.results[0].toString().replace(/[<>"]/g,"").split("\n"):[""];result2.manufacturer=util4.getValue(lines,"manufacturer","=",true);result2.model=util4.getValue(lines,"model","=",true);result2.version=util4.getValue(lines,"version","=",true);result2.serial=util4.getValue(lines,"ioplatformserialnumber","=",true);result2.assetTag=util4.getValue(lines,"board-id","=",true);let devices=data.results[1]?data.results[1].toString().split("        BANK "):[""];if(devices.length===1){devices=data.results[1]?data.results[1].toString().split("        DIMM"):[""]}devices.shift();result2.memSlots=devices.length;if(os7.arch()==="arm64"){result2.memSlots=0;result2.memMax=os7.totalmem()}if(callback){callback(result2)}resolve(result2)})}if(_sunos){if(callback){callback(result2)}resolve(result2)}if(_windows){try{const workload=[];const win10plus=parseInt(os7.release())>=10;const maxCapacityAttribute=win10plus?"MaxCapacityEx":"MaxCapacity";workload.push(util4.powerShell("Get-CimInstance Win32_baseboard | select Model,Manufacturer,Product,Version,SerialNumber,PartNumber,SKU | fl"));workload.push(util4.powerShell(`Get-CimInstance Win32_physicalmemoryarray | select ${maxCapacityAttribute}, MemoryDevices | fl`));util4.promiseAll(workload).then(data=>{let lines=data.results[0]?data.results[0].toString().split("\r\n"):[""];result2.manufacturer=cleanDefaults(util4.getValue(lines,"manufacturer",":"));result2.model=cleanDefaults(util4.getValue(lines,"model",":"));if(!result2.model){result2.model=cleanDefaults(util4.getValue(lines,"product",":"))}result2.version=cleanDefaults(util4.getValue(lines,"version",":"));result2.serial=cleanDefaults(util4.getValue(lines,"serialnumber",":"));result2.assetTag=cleanDefaults(util4.getValue(lines,"partnumber",":"));if(!result2.assetTag){result2.assetTag=cleanDefaults(util4.getValue(lines,"sku",":"))}lines=data.results[1]?data.results[1].toString().split("\r\n"):[""];result2.memMax=util4.toInt(util4.getValue(lines,maxCapacityAttribute,":"))*(win10plus?1024:1)||null;result2.memSlots=util4.toInt(util4.getValue(lines,"MemoryDevices",":"))||null;if(callback){callback(result2)}resolve(result2)})}catch(e){if(callback){callback(result2)}resolve(result2)}}})})}exports2.baseboard=baseboard;function macOsChassisType(model){model=model.toLowerCase();if(model.indexOf("macbookair")>=0||model.indexOf("macbook air")>=0){return"Notebook"}if(model.indexOf("macbookpro")>=0||model.indexOf("macbook pro")>=0){return"Notebook"}if(model.indexOf("macbook")>=0){return"Notebook"}if(model.indexOf("macmini")>=0||model.indexOf("mac mini")>=0){return"Desktop"}if(model.indexOf("imac")>=0){return"Desktop"}if(model.indexOf("macstudio")>=0||model.indexOf("mac studio")>=0){return"Desktop"}if(model.indexOf("macpro")>=0||model.indexOf("mac pro")>=0){return"Tower"}return"Other"}function chassis(callback){const chassisTypes=["Other","Unknown","Desktop","Low Profile Desktop","Pizza Box","Mini Tower","Tower","Portable","Laptop","Notebook","Hand Held","Docking Station","All in One","Sub Notebook","Space-Saving","Lunch Box","Main System Chassis","Expansion Chassis","SubChassis","Bus Expansion Chassis","Peripheral Chassis","Storage Chassis","Rack Mount Chassis","Sealed-Case PC","Multi-System Chassis","Compact PCI","Advanced TCA","Blade","Blade Enclosure","Tablet","Convertible","Detachable","IoT Gateway ","Embedded PC","Mini PC","Stick PC"];return new Promise(resolve=>{process.nextTick(()=>{let result2={manufacturer:"",model:"",type:"",version:"",serial:"-",assetTag:"-",sku:""};if(_linux||_freebsd||_openbsd||_netbsd){const cmd=`echo -n "chassis_asset_tag: "; cat /sys/devices/virtual/dmi/id/chassis_asset_tag 2>/dev/null; echo;
            echo -n "chassis_serial: "; cat /sys/devices/virtual/dmi/id/chassis_serial 2>/dev/null; echo;
            echo -n "chassis_type: "; cat /sys/devices/virtual/dmi/id/chassis_type 2>/dev/null; echo;
            echo -n "chassis_vendor: "; cat /sys/devices/virtual/dmi/id/chassis_vendor 2>/dev/null; echo;
            echo -n "chassis_version: "; cat /sys/devices/virtual/dmi/id/chassis_version 2>/dev/null; echo;`;exec3(cmd,function(error,stdout){let lines=stdout.toString().split("\n");result2.manufacturer=cleanDefaults(util4.getValue(lines,"chassis_vendor"));const ctype=parseInt(util4.getValue(lines,"chassis_type").replace(/\D/g,""));result2.type=cleanDefaults(ctype&&!isNaN(ctype)&&ctype<chassisTypes.length?chassisTypes[ctype-1]:"");result2.version=cleanDefaults(util4.getValue(lines,"chassis_version"));result2.serial=cleanDefaults(util4.getValue(lines,"chassis_serial"));result2.assetTag=cleanDefaults(util4.getValue(lines,"chassis_asset_tag"));if(callback){callback(result2)}resolve(result2)})}if(_darwin){exec3("ioreg -c IOPlatformExpertDevice -d 2",function(error,stdout){if(!error){let lines=stdout.toString().replace(/[<>"]/g,"").split("\n");const model=util4.getAppleModel(util4.getValue(lines,"model","=",true));result2.manufacturer=util4.getValue(lines,"manufacturer","=",true);result2.model=model.key;result2.type=macOsChassisType(model.model);result2.version=model.version;result2.serial=util4.getValue(lines,"ioplatformserialnumber","=",true);result2.assetTag=util4.getValue(lines,"board-id","=",true)||util4.getValue(lines,"target-type","=",true);result2.sku=util4.getValue(lines,"target-sub-type","=",true)}if(callback){callback(result2)}resolve(result2)})}if(_sunos){if(callback){callback(result2)}resolve(result2)}if(_windows){try{util4.powerShell("Get-CimInstance Win32_SystemEnclosure | select Model,Manufacturer,ChassisTypes,Version,SerialNumber,PartNumber,SKU,SMBIOSAssetTag | fl").then((stdout,error)=>{if(!error){let lines=stdout.toString().split("\r\n");result2.manufacturer=cleanDefaults(util4.getValue(lines,"manufacturer",":"));result2.model=cleanDefaults(util4.getValue(lines,"model",":"));const ctype=parseInt(util4.getValue(lines,"ChassisTypes",":").replace(/\D/g,""));result2.type=ctype&&!isNaN(ctype)&&ctype<chassisTypes.length?chassisTypes[ctype-1]:"";result2.version=cleanDefaults(util4.getValue(lines,"version",":"));result2.serial=cleanDefaults(util4.getValue(lines,"serialnumber",":"));result2.assetTag=cleanDefaults(util4.getValue(lines,"partnumber",":"));if(!result2.assetTag){result2.assetTag=cleanDefaults(util4.getValue(lines,"SMBIOSAssetTag",":"))}result2.sku=cleanDefaults(util4.getValue(lines,"sku",":"))}if(callback){callback(result2)}resolve(result2)})}catch(e){if(callback){callback(result2)}resolve(result2)}}})})}exports2.chassis=chassis}});var require_osinfo=__commonJS({"node_modules/systeminformation/lib/osinfo.js"(exports2){"use strict";var os7=require("os");var fs14=require("fs");var util4=require_util2();var exec3=require("child_process").exec;var execSync=require("child_process").execSync;var _platform=process.platform;var _linux=_platform==="linux"||_platform==="android";var _darwin=_platform==="darwin";var _windows=_platform==="win32";var _freebsd=_platform==="freebsd";var _openbsd=_platform==="openbsd";var _netbsd=_platform==="netbsd";var _sunos=_platform==="sunos";function time(){let t=new Date().toString().split(" ");const result2={current:Date.now(),uptime:os7.uptime(),timezone:t.length>=7?t[5]:"",timezoneName:Intl?Intl.DateTimeFormat().resolvedOptions().timeZone:t.length>=7?t.slice(6).join(" ").replace(/\(/g,"").replace(/\)/g,""):""};if(_darwin||_linux){try{const stdout=execSync("date +%Z && date +%z && ls -l /etc/localtime 2>/dev/null",util4.execOptsLinux);const lines=stdout.toString().split(os7.EOL);if(lines.length>3&&!lines[0]){lines.shift()}let timezone2=lines[0]||"";if(timezone2.startsWith("+")||timezone2.startsWith("-")){timezone2="GMT"}return{current:Date.now(),uptime:os7.uptime(),timezone:lines[1]?timezone2+lines[1]:timezone2,timezoneName:lines[2]&&lines[2].indexOf("/zoneinfo/")>0?lines[2].split("/zoneinfo/")[1]||"":""}}catch(e){util4.noop()}}return result2}exports2.time=time;function getLogoFile(distro){distro=distro||"";distro=distro.toLowerCase();let result2=_platform;if(_windows){result2="windows"}else if(distro.indexOf("mac os")!==-1||distro.indexOf("macos")!==-1){result2="apple"}else if(distro.indexOf("arch")!==-1){result2="arch"}else if(distro.indexOf("cachy")!==-1){result2="cachy"}else if(distro.indexOf("centos")!==-1){result2="centos"}else if(distro.indexOf("coreos")!==-1){result2="coreos"}else if(distro.indexOf("debian")!==-1){result2="debian"}else if(distro.indexOf("deepin")!==-1){result2="deepin"}else if(distro.indexOf("elementary")!==-1){result2="elementary"}else if(distro.indexOf("endeavour")!==-1){result2="endeavour"}else if(distro.indexOf("fedora")!==-1){result2="fedora"}else if(distro.indexOf("gentoo")!==-1){result2="gentoo"}else if(distro.indexOf("mageia")!==-1){result2="mageia"}else if(distro.indexOf("mandriva")!==-1){result2="mandriva"}else if(distro.indexOf("manjaro")!==-1){result2="manjaro"}else if(distro.indexOf("mint")!==-1){result2="mint"}else if(distro.indexOf("mx")!==-1){result2="mx"}else if(distro.indexOf("openbsd")!==-1){result2="openbsd"}else if(distro.indexOf("freebsd")!==-1){result2="freebsd"}else if(distro.indexOf("opensuse")!==-1){result2="opensuse"}else if(distro.indexOf("pclinuxos")!==-1){result2="pclinuxos"}else if(distro.indexOf("puppy")!==-1){result2="puppy"}else if(distro.indexOf("popos")!==-1){result2="popos"}else if(distro.indexOf("raspbian")!==-1){result2="raspbian"}else if(distro.indexOf("reactos")!==-1){result2="reactos"}else if(distro.indexOf("redhat")!==-1){result2="redhat"}else if(distro.indexOf("slackware")!==-1){result2="slackware"}else if(distro.indexOf("sugar")!==-1){result2="sugar"}else if(distro.indexOf("steam")!==-1){result2="steam"}else if(distro.indexOf("suse")!==-1){result2="suse"}else if(distro.indexOf("mate")!==-1){result2="ubuntu-mate"}else if(distro.indexOf("lubuntu")!==-1){result2="lubuntu"}else if(distro.indexOf("xubuntu")!==-1){result2="xubuntu"}else if(distro.indexOf("ubuntu")!==-1){result2="ubuntu"}else if(distro.indexOf("solaris")!==-1){result2="solaris"}else if(distro.indexOf("tails")!==-1){result2="tails"}else if(distro.indexOf("feren")!==-1){result2="ferenos"}else if(distro.indexOf("robolinux")!==-1){result2="robolinux"}else if(_linux&&distro){result2=distro.toLowerCase().trim().replace(/\s+/g,"-")}return result2}function getFQDN(){let fqdn=os7.hostname;if(_linux||_darwin){try{const stdout=execSync("hostname -f 2>/dev/null",util4.execOptsLinux);fqdn=stdout.toString().split(os7.EOL)[0]}catch(e){util4.noop()}}if(_freebsd||_openbsd||_netbsd){try{const stdout=execSync("hostname 2>/dev/null");fqdn=stdout.toString().split(os7.EOL)[0]}catch(e){util4.noop()}}if(_windows){try{const stdout=execSync("echo %COMPUTERNAME%.%USERDNSDOMAIN%",util4.execOptsWin);fqdn=stdout.toString().replace(".%USERDNSDOMAIN%","").split(os7.EOL)[0]}catch(e){util4.noop()}}return fqdn}function osInfo(callback){return new Promise(resolve=>{process.nextTick(()=>{let result2={platform:_platform==="win32"?"Windows":_platform,distro:"unknown",release:"unknown",codename:"",kernel:os7.release(),arch:os7.arch(),hostname:os7.hostname(),fqdn:getFQDN(),codepage:"",logofile:"",serial:"",build:"",servicepack:"",uefi:false};if(_linux){exec3("cat /etc/*-release; cat /usr/lib/os-release; cat /etc/openwrt_release",function(error,stdout){let release={};let lines=stdout.toString().split("\n");lines.forEach(function(line){if(line.indexOf("=")!==-1){release[line.split("=")[0].trim().toUpperCase()]=line.split("=")[1].trim()}});result2.distro=(release.DISTRIB_ID||release.NAME||"unknown").replace(/"/g,"");result2.logofile=getLogoFile(result2.distro);let releaseVersion=(release.VERSION||"").replace(/"/g,"");let codename=(release.DISTRIB_CODENAME||release.VERSION_CODENAME||"").replace(/"/g,"");const prettyName=(release.PRETTY_NAME||"").replace(/"/g,"");if(prettyName.indexOf(result2.distro+" ")===0){releaseVersion=prettyName.replace(result2.distro+" ","").trim()}if(releaseVersion.indexOf("(")>=0){codename=releaseVersion.split("(")[1].replace(/[()]/g,"").trim();releaseVersion=releaseVersion.split("(")[0].trim()}result2.release=(releaseVersion||release.DISTRIB_RELEASE||release.VERSION_ID||"unknown").replace(/"/g,"");result2.codename=codename;result2.codepage=util4.getCodepage();result2.build=(release.BUILD_ID||"").replace(/"/g,"").trim();isUefiLinux().then(uefi=>{result2.uefi=uefi;uuid().then(data=>{result2.serial=data.os;if(callback){callback(result2)}resolve(result2)})})})}if(_freebsd||_openbsd||_netbsd){exec3("sysctl kern.ostype kern.osrelease kern.osrevision kern.hostuuid machdep.bootmethod kern.geom.confxml",function(error,stdout){let lines=stdout.toString().split("\n");const distro=util4.getValue(lines,"kern.ostype");const logofile=getLogoFile(distro);const release=util4.getValue(lines,"kern.osrelease").split("-")[0];const serial=util4.getValue(lines,"kern.uuid");const bootmethod=util4.getValue(lines,"machdep.bootmethod");const uefiConf=stdout.toString().indexOf("<type>efi</type>")>=0;const uefi=bootmethod?bootmethod.toLowerCase().indexOf("uefi")>=0:uefiConf?uefiConf:null;result2.distro=distro||result2.distro;result2.logofile=logofile||result2.logofile;result2.release=release||result2.release;result2.serial=serial||result2.serial;result2.codename="";result2.codepage=util4.getCodepage();result2.uefi=uefi||null;if(callback){callback(result2)}resolve(result2)})}if(_darwin){exec3("sw_vers; sysctl kern.ostype kern.osrelease kern.osrevision kern.uuid",function(error,stdout){let lines=stdout.toString().split("\n");result2.serial=util4.getValue(lines,"kern.uuid");result2.distro=util4.getValue(lines,"ProductName");result2.release=(util4.getValue(lines,"ProductVersion",":",true,true)+" "+util4.getValue(lines,"ProductVersionExtra",":",true,true)).trim();result2.build=util4.getValue(lines,"BuildVersion");result2.logofile=getLogoFile(result2.distro);result2.codename="macOS";result2.codename=result2.release.indexOf("10.4")>-1?"OS X Tiger":result2.codename;result2.codename=result2.release.indexOf("10.5")>-1?"OS X Leopard":result2.codename;result2.codename=result2.release.indexOf("10.6")>-1?"OS X Snow Leopard":result2.codename;result2.codename=result2.release.indexOf("10.7")>-1?"OS X Lion":result2.codename;result2.codename=result2.release.indexOf("10.8")>-1?"OS X Mountain Lion":result2.codename;result2.codename=result2.release.indexOf("10.9")>-1?"OS X Mavericks":result2.codename;result2.codename=result2.release.indexOf("10.10")>-1?"OS X Yosemite":result2.codename;result2.codename=result2.release.indexOf("10.11")>-1?"OS X El Capitan":result2.codename;result2.codename=result2.release.indexOf("10.12")>-1?"Sierra":result2.codename;result2.codename=result2.release.indexOf("10.13")>-1?"High Sierra":result2.codename;result2.codename=result2.release.indexOf("10.14")>-1?"Mojave":result2.codename;result2.codename=result2.release.indexOf("10.15")>-1?"Catalina":result2.codename;result2.codename=result2.release.startsWith("11.")?"Big Sur":result2.codename;result2.codename=result2.release.startsWith("12.")?"Monterey":result2.codename;result2.codename=result2.release.startsWith("13.")?"Ventura":result2.codename;result2.codename=result2.release.startsWith("14.")?"Sonoma":result2.codename;result2.codename=result2.release.startsWith("15.")?"Sequoia":result2.codename;result2.uefi=true;result2.codepage=util4.getCodepage();if(callback){callback(result2)}resolve(result2)})}if(_sunos){result2.release=result2.kernel;exec3("uname -o",function(error,stdout){let lines=stdout.toString().split("\n");result2.distro=lines[0];result2.logofile=getLogoFile(result2.distro);if(callback){callback(result2)}resolve(result2)})}if(_windows){result2.logofile=getLogoFile();result2.release=result2.kernel;try{const workload=[];workload.push(util4.powerShell("Get-CimInstance Win32_OperatingSystem | select Caption,SerialNumber,BuildNumber,ServicePackMajorVersion,ServicePackMinorVersion | fl"));workload.push(util4.powerShell("(Get-CimInstance Win32_ComputerSystem).HypervisorPresent"));workload.push(util4.powerShell("Add-Type -AssemblyName System.Windows.Forms; [System.Windows.Forms.SystemInformation]::TerminalServerSession"));util4.promiseAll(workload).then(data=>{let lines=data.results[0]?data.results[0].toString().split("\r\n"):[""];result2.distro=util4.getValue(lines,"Caption",":").trim();result2.serial=util4.getValue(lines,"SerialNumber",":").trim();result2.build=util4.getValue(lines,"BuildNumber",":").trim();result2.servicepack=util4.getValue(lines,"ServicePackMajorVersion",":").trim()+"."+util4.getValue(lines,"ServicePackMinorVersion",":").trim();result2.codepage=util4.getCodepage();const hyperv=data.results[1]?data.results[1].toString().toLowerCase():"";result2.hypervisor=hyperv.indexOf("true")!==-1;const term=data.results[2]?data.results[2].toString():"";result2.remoteSession=term.toString().toLowerCase().indexOf("true")>=0;isUefiWindows().then(uefi=>{result2.uefi=uefi;if(callback){callback(result2)}resolve(result2)})})}catch(e){if(callback){callback(result2)}resolve(result2)}}})})}exports2.osInfo=osInfo;function isUefiLinux(){return new Promise(resolve=>{process.nextTick(()=>{fs14.stat("/sys/firmware/efi",function(err){if(!err){return resolve(true)}else{exec3('dmesg | grep -E "EFI v"',function(error,stdout){if(!error){const lines=stdout.toString().split("\n");return resolve(lines.length>0)}return resolve(false)})}})})})}function isUefiWindows(){return new Promise(resolve=>{process.nextTick(()=>{try{exec3('findstr /C:"Detected boot environment" "%windir%\\Panther\\setupact.log"',util4.execOptsWin,function(error,stdout){if(!error){const line=stdout.toString().split("\n\r")[0];return resolve(line.toLowerCase().indexOf("efi")>=0)}else{exec3("echo %firmware_type%",util4.execOptsWin,function(error2,stdout2){if(!error2){const line=stdout2.toString()||"";return resolve(line.toLowerCase().indexOf("efi")>=0)}else{return resolve(false)}})}})}catch(e){return resolve(false)}})})}function versions(apps,callback){let versionObject={kernel:os7.release(),apache:"",bash:"",bun:"",deno:"",docker:"",dotnet:"",fish:"",gcc:"",git:"",grunt:"",gulp:"",homebrew:"",java:"",mongodb:"",mysql:"",nginx:"",node:"",npm:"",openssl:"",perl:"",php:"",pip3:"",pip:"",pm2:"",postfix:"",postgresql:"",powershell:"",python3:"",python:"",redis:"",systemOpenssl:"",systemOpensslLib:"",tsc:"",v8:process.versions.v8,virtualbox:"",yarn:"",zsh:""};function checkVersionParam(apps2){if(apps2==="*"){return{versions:versionObject,counter:34}}if(!Array.isArray(apps2)){apps2=apps2.trim().toLowerCase().replace(/,+/g,"|").replace(/ /g,"|");apps2=apps2.split("|");const result2={versions:{},counter:0};apps2.forEach(el=>{if(el){for(let key in versionObject){if({}.hasOwnProperty.call(versionObject,key)){if(key.toLowerCase()===el.toLowerCase()&&!{}.hasOwnProperty.call(result2.versions,key)){result2.versions[key]=versionObject[key];if(key==="openssl"){result2.versions.systemOpenssl="";result2.versions.systemOpensslLib=""}if(!result2.versions[key]){result2.counter++}}}}}});return result2}}return new Promise(resolve=>{process.nextTick(()=>{if(util4.isFunction(apps)&&!callback){callback=apps;apps="*"}else{apps=apps||"*";if(typeof apps!=="string"){if(callback){callback({})}return resolve({})}}const appsObj=checkVersionParam(apps);let totalFunctions=appsObj.counter;let functionProcessed=function(){return function(){if(--totalFunctions===0){if(callback){callback(appsObj.versions)}resolve(appsObj.versions)}}}();let cmd="";try{if({}.hasOwnProperty.call(appsObj.versions,"openssl")){appsObj.versions.openssl=process.versions.openssl;exec3("openssl version",function(error,stdout){if(!error){let openssl_string=stdout.toString().split("\n")[0].trim();let openssl=openssl_string.split(" ");appsObj.versions.systemOpenssl=openssl.length>0?openssl[1]:openssl[0];appsObj.versions.systemOpensslLib=openssl.length>0?openssl[0]:"openssl"}functionProcessed()})}if({}.hasOwnProperty.call(appsObj.versions,"npm")){exec3("npm -v",function(error,stdout){if(!error){appsObj.versions.npm=stdout.toString().split("\n")[0]}functionProcessed()})}if({}.hasOwnProperty.call(appsObj.versions,"pm2")){cmd="pm2";if(_windows){cmd+=".cmd"}exec3(`${cmd} -v`,function(error,stdout){if(!error){let pm2=stdout.toString().split("\n")[0].trim();if(!pm2.startsWith("[PM2]")){appsObj.versions.pm2=pm2}}functionProcessed()})}if({}.hasOwnProperty.call(appsObj.versions,"yarn")){exec3("yarn --version",function(error,stdout){if(!error){appsObj.versions.yarn=stdout.toString().split("\n")[0]}functionProcessed()})}if({}.hasOwnProperty.call(appsObj.versions,"gulp")){cmd="gulp";if(_windows){cmd+=".cmd"}exec3(`${cmd} --version`,function(error,stdout){if(!error){const gulp=stdout.toString().split("\n")[0]||"";appsObj.versions.gulp=(gulp.toLowerCase().split("version")[1]||"").trim()}functionProcessed()})}if({}.hasOwnProperty.call(appsObj.versions,"homebrew")){cmd="brew";exec3(`${cmd} --version`,function(error,stdout){if(!error){const brew=stdout.toString().split("\n")[0]||"";appsObj.versions.homebrew=(brew.toLowerCase().split(" ")[1]||"").trim()}functionProcessed()})}if({}.hasOwnProperty.call(appsObj.versions,"tsc")){cmd="tsc";if(_windows){cmd+=".cmd"}exec3(`${cmd} --version`,function(error,stdout){if(!error){const tsc=stdout.toString().split("\n")[0]||"";appsObj.versions.tsc=(tsc.toLowerCase().split("version")[1]||"").trim()}functionProcessed()})}if({}.hasOwnProperty.call(appsObj.versions,"grunt")){cmd="grunt";if(_windows){cmd+=".cmd"}exec3(`${cmd} --version`,function(error,stdout){if(!error){const grunt=stdout.toString().split("\n")[0]||"";appsObj.versions.grunt=(grunt.toLowerCase().split("cli v")[1]||"").trim()}functionProcessed()})}if({}.hasOwnProperty.call(appsObj.versions,"git")){if(_darwin){const gitHomebrewExists=fs14.existsSync("/usr/local/Cellar/git")||fs14.existsSync("/opt/homebrew/bin/git");if(util4.darwinXcodeExists()||gitHomebrewExists){exec3("git --version",function(error,stdout){if(!error){let git=stdout.toString().split("\n")[0]||"";git=(git.toLowerCase().split("version")[1]||"").trim();appsObj.versions.git=(git.split(" ")[0]||"").trim()}functionProcessed()})}else{functionProcessed()}}else{exec3("git --version",function(error,stdout){if(!error){let git=stdout.toString().split("\n")[0]||"";git=(git.toLowerCase().split("version")[1]||"").trim();appsObj.versions.git=(git.split(" ")[0]||"").trim()}functionProcessed()})}}if({}.hasOwnProperty.call(appsObj.versions,"apache")){exec3("apachectl -v 2>&1",function(error,stdout){if(!error){const apache=(stdout.toString().split("\n")[0]||"").split(":");appsObj.versions.apache=apache.length>1?apache[1].replace("Apache","").replace("/","").split("(")[0].trim():""}functionProcessed()})}if({}.hasOwnProperty.call(appsObj.versions,"nginx")){exec3("nginx -v 2>&1",function(error,stdout){if(!error){const nginx=stdout.toString().split("\n")[0]||"";appsObj.versions.nginx=(nginx.toLowerCase().split("/")[1]||"").trim()}functionProcessed()})}if({}.hasOwnProperty.call(appsObj.versions,"mysql")){exec3("mysql -V",function(error,stdout){if(!error){let mysql3=stdout.toString().split("\n")[0]||"";mysql3=mysql3.toLowerCase();if(mysql3.indexOf(",")>-1){mysql3=(mysql3.split(",")[0]||"").trim();const parts=mysql3.split(" ");appsObj.versions.mysql=(parts[parts.length-1]||"").trim()}else{if(mysql3.indexOf(" ver ")>-1){mysql3=mysql3.split(" ver ")[1];appsObj.versions.mysql=mysql3.split(" ")[0]}}}functionProcessed()})}if({}.hasOwnProperty.call(appsObj.versions,"php")){exec3("php -v",function(error,stdout){if(!error){const php=stdout.toString().split("\n")[0]||"";let parts=php.split("(");if(parts[0].indexOf("-")){parts=parts[0].split("-")}appsObj.versions.php=parts[0].replace(/[^0-9.]/g,"")}functionProcessed()})}if({}.hasOwnProperty.call(appsObj.versions,"redis")){exec3("redis-server --version",function(error,stdout){if(!error){const redis=stdout.toString().split("\n")[0]||"";const parts=redis.split(" ");appsObj.versions.redis=util4.getValue(parts,"v","=",true)}functionProcessed()})}if({}.hasOwnProperty.call(appsObj.versions,"docker")){exec3("docker --version",function(error,stdout){if(!error){const docker=stdout.toString().split("\n")[0]||"";const parts=docker.split(" ");appsObj.versions.docker=parts.length>2&&parts[2].endsWith(",")?parts[2].slice(0,-1):""}functionProcessed()})}if({}.hasOwnProperty.call(appsObj.versions,"postfix")){exec3("postconf -d | grep mail_version",function(error,stdout){if(!error){const postfix=stdout.toString().split("\n")||[];appsObj.versions.postfix=util4.getValue(postfix,"mail_version","=",true)}functionProcessed()})}if({}.hasOwnProperty.call(appsObj.versions,"mongodb")){exec3("mongod --version",function(error,stdout){if(!error){const mongodb=stdout.toString().split("\n")[0]||"";appsObj.versions.mongodb=(mongodb.toLowerCase().split(",")[0]||"").replace(/[^0-9.]/g,"")}functionProcessed()})}if({}.hasOwnProperty.call(appsObj.versions,"postgresql")){if(_linux){exec3("locate bin/postgres",function(error,stdout){if(!error){const postgresqlBin=stdout.toString().split("\n").sort();if(postgresqlBin.length){exec3(postgresqlBin[postgresqlBin.length-1]+" -V",function(error2,stdout2){if(!error2){const postgresql=stdout2.toString().split("\n")[0].split(" ")||[];appsObj.versions.postgresql=postgresql.length?postgresql[postgresql.length-1]:""}functionProcessed()})}else{functionProcessed()}}else{exec3("psql -V",function(error2,stdout2){if(!error2){const postgresql=stdout2.toString().split("\n")[0].split(" ")||[];appsObj.versions.postgresql=postgresql.length?postgresql[postgresql.length-1]:"";appsObj.versions.postgresql=appsObj.versions.postgresql.split("-")[0]}functionProcessed()})}})}else{if(_windows){util4.powerShell("Get-CimInstance Win32_Service | select caption | fl").then(stdout=>{let serviceSections=stdout.split(/\n\s*\n/);serviceSections.forEach(item=>{if(item.trim()!==""){let lines=item.trim().split("\r\n");let srvCaption=util4.getValue(lines,"caption",":",true).toLowerCase();if(srvCaption.indexOf("postgresql")>-1){const parts=srvCaption.split(" server ");if(parts.length>1){appsObj.versions.postgresql=parts[1]}}}});functionProcessed()})}else{exec3("postgres -V",function(error,stdout){if(!error){const postgresql=stdout.toString().split("\n")[0].split(" ")||[];appsObj.versions.postgresql=postgresql.length?postgresql[postgresql.length-1]:""}else{exec3("pg_config --version",function(error2,stdout2){if(!error2){const postgresql=stdout2.toString().split("\n")[0].split(" ")||[];appsObj.versions.postgresql=postgresql.length?postgresql[postgresql.length-1]:""}})}functionProcessed()})}}}if({}.hasOwnProperty.call(appsObj.versions,"perl")){exec3("perl -v",function(error,stdout){if(!error){const perl=stdout.toString().split("\n")||"";while(perl.length>0&&perl[0].trim()===""){perl.shift()}if(perl.length>0){appsObj.versions.perl=perl[0].split("(").pop().split(")")[0].replace("v","")}}functionProcessed()})}if({}.hasOwnProperty.call(appsObj.versions,"python")){if(_darwin){try{const stdout=execSync("sw_vers");const lines=stdout.toString().split("\n");const osVersion=util4.getValue(lines,"ProductVersion",":");const gitHomebrewExists1=fs14.existsSync("/usr/local/Cellar/python");const gitHomebrewExists2=fs14.existsSync("/opt/homebrew/bin/python");if(util4.darwinXcodeExists()&&util4.semverCompare("12.0.1",osVersion)<0||gitHomebrewExists1||gitHomebrewExists2){const cmd2=gitHomebrewExists1?"/usr/local/Cellar/python -V 2>&1":gitHomebrewExists2?"/opt/homebrew/bin/python -V 2>&1":"python -V 2>&1";exec3(cmd2,function(error,stdout2){if(!error){const python=stdout2.toString().split("\n")[0]||"";appsObj.versions.python=python.toLowerCase().replace("python","").trim()}functionProcessed()})}else{functionProcessed()}}catch(e){functionProcessed()}}else{exec3("python -V 2>&1",function(error,stdout){if(!error){const python=stdout.toString().split("\n")[0]||"";appsObj.versions.python=python.toLowerCase().replace("python","").trim()}functionProcessed()})}}if({}.hasOwnProperty.call(appsObj.versions,"python3")){if(_darwin){const gitHomebrewExists=fs14.existsSync("/usr/local/Cellar/python3")||fs14.existsSync("/opt/homebrew/bin/python3");if(util4.darwinXcodeExists()||gitHomebrewExists){exec3("python3 -V 2>&1",function(error,stdout){if(!error){const python=stdout.toString().split("\n")[0]||"";appsObj.versions.python3=python.toLowerCase().replace("python","").trim()}functionProcessed()})}else{functionProcessed()}}else{exec3("python3 -V 2>&1",function(error,stdout){if(!error){const python=stdout.toString().split("\n")[0]||"";appsObj.versions.python3=python.toLowerCase().replace("python","").trim()}functionProcessed()})}}if({}.hasOwnProperty.call(appsObj.versions,"pip")){if(_darwin){const gitHomebrewExists=fs14.existsSync("/usr/local/Cellar/pip")||fs14.existsSync("/opt/homebrew/bin/pip");if(util4.darwinXcodeExists()||gitHomebrewExists){exec3("pip -V 2>&1",function(error,stdout){if(!error){const pip=stdout.toString().split("\n")[0]||"";const parts=pip.split(" ");appsObj.versions.pip=parts.length>=2?parts[1]:""}functionProcessed()})}else{functionProcessed()}}else{exec3("pip -V 2>&1",function(error,stdout){if(!error){const pip=stdout.toString().split("\n")[0]||"";const parts=pip.split(" ");appsObj.versions.pip=parts.length>=2?parts[1]:""}functionProcessed()})}}if({}.hasOwnProperty.call(appsObj.versions,"pip3")){if(_darwin){const gitHomebrewExists=fs14.existsSync("/usr/local/Cellar/pip3")||fs14.existsSync("/opt/homebrew/bin/pip3");if(util4.darwinXcodeExists()||gitHomebrewExists){exec3("pip3 -V 2>&1",function(error,stdout){if(!error){const pip=stdout.toString().split("\n")[0]||"";const parts=pip.split(" ");appsObj.versions.pip3=parts.length>=2?parts[1]:""}functionProcessed()})}else{functionProcessed()}}else{exec3("pip3 -V 2>&1",function(error,stdout){if(!error){const pip=stdout.toString().split("\n")[0]||"";const parts=pip.split(" ");appsObj.versions.pip3=parts.length>=2?parts[1]:""}functionProcessed()})}}if({}.hasOwnProperty.call(appsObj.versions,"java")){if(_darwin){exec3("/usr/libexec/java_home -V 2>&1",function(error,stdout){if(!error&&stdout.toString().toLowerCase().indexOf("no java runtime")===-1){exec3("java -version 2>&1",function(error2,stdout2){if(!error2){const java=stdout2.toString().split("\n")[0]||"";const parts=java.split('"');appsObj.versions.java=parts.length===3?parts[1].trim():""}functionProcessed()})}else{functionProcessed()}})}else{exec3("java -version 2>&1",function(error,stdout){if(!error){const java=stdout.toString().split("\n")[0]||"";const parts=java.split('"');appsObj.versions.java=parts.length===3?parts[1].trim():""}functionProcessed()})}}if({}.hasOwnProperty.call(appsObj.versions,"gcc")){if(_darwin&&util4.darwinXcodeExists()||!_darwin){exec3("gcc -dumpversion",function(error,stdout){if(!error){appsObj.versions.gcc=stdout.toString().split("\n")[0].trim()||""}if(appsObj.versions.gcc.indexOf(".")>-1){functionProcessed()}else{exec3("gcc --version",function(error2,stdout2){if(!error2){const gcc=stdout2.toString().split("\n")[0].trim();if(gcc.indexOf("gcc")>-1&&gcc.indexOf(")")>-1){const parts=gcc.split(")");appsObj.versions.gcc=parts[1].trim()||appsObj.versions.gcc}}functionProcessed()})}})}else{functionProcessed()}}if({}.hasOwnProperty.call(appsObj.versions,"virtualbox")){exec3(util4.getVboxmanage()+" -v 2>&1",function(error,stdout){if(!error){const vbox=stdout.toString().split("\n")[0]||"";const parts=vbox.split("r");appsObj.versions.virtualbox=parts[0]}functionProcessed()})}if({}.hasOwnProperty.call(appsObj.versions,"bash")){exec3("bash --version",function(error,stdout){if(!error){const line=stdout.toString().split("\n")[0];const parts=line.split(" version ");if(parts.length>1){appsObj.versions.bash=parts[1].split(" ")[0].split("(")[0]}}functionProcessed()})}if({}.hasOwnProperty.call(appsObj.versions,"zsh")){exec3("zsh --version",function(error,stdout){if(!error){const line=stdout.toString().split("\n")[0];const parts=line.split("zsh ");if(parts.length>1){appsObj.versions.zsh=parts[1].split(" ")[0]}}functionProcessed()})}if({}.hasOwnProperty.call(appsObj.versions,"fish")){exec3("fish --version",function(error,stdout){if(!error){const line=stdout.toString().split("\n")[0];const parts=line.split(" version ");if(parts.length>1){appsObj.versions.fish=parts[1].split(" ")[0]}}functionProcessed()})}if({}.hasOwnProperty.call(appsObj.versions,"bun")){exec3("bun -v",function(error,stdout){if(!error){const line=stdout.toString().split("\n")[0].trim();appsObj.versions.bun=line}functionProcessed()})}if({}.hasOwnProperty.call(appsObj.versions,"deno")){exec3("deno -v",function(error,stdout){if(!error){const line=stdout.toString().split("\n")[0].trim();const parts=line.split(" ");if(parts.length>1){appsObj.versions.deno=parts[1]}}functionProcessed()})}if({}.hasOwnProperty.call(appsObj.versions,"node")){exec3("node -v",function(error,stdout){if(!error){let line=stdout.toString().split("\n")[0].trim();if(line.startsWith("v")){line=line.slice(1)}appsObj.versions.node=line}functionProcessed()})}if({}.hasOwnProperty.call(appsObj.versions,"powershell")){if(_windows){util4.powerShell("$PSVersionTable").then(stdout=>{const lines=stdout.toString().split("\n").map(line=>line.replace(/ +/g," ").replace(/ +/g,":"));appsObj.versions.powershell=util4.getValue(lines,"psversion");functionProcessed()})}else{functionProcessed()}}if({}.hasOwnProperty.call(appsObj.versions,"dotnet")){if(_windows){util4.powerShell('gci "HKLM:\\SOFTWARE\\Microsoft\\NET Framework Setup\\NDP" -recurse | gp -name Version,Release -EA 0 | where { $_.PSChildName -match "^(?!S)\\p{L}"} | select PSChildName, Version, Release').then(stdout=>{const lines=stdout.toString().split("\r\n");let dotnet="";lines.forEach(line=>{line=line.replace(/ +/g," ");const parts=line.split(" ");dotnet=dotnet||(parts[0].toLowerCase().startsWith("client")&&parts.length>2?parts[1].trim():parts[0].toLowerCase().startsWith("full")&&parts.length>2?parts[1].trim():"")});appsObj.versions.dotnet=dotnet.trim();functionProcessed()})}else{functionProcessed()}}}catch(e){if(callback){callback(appsObj.versions)}resolve(appsObj.versions)}})})}exports2.versions=versions;function shell(callback){return new Promise(resolve=>{process.nextTick(()=>{if(_windows){resolve("cmd")}else{let result2="";exec3("echo $SHELL",function(error,stdout){if(!error){result2=stdout.toString().split("\n")[0]}if(callback){callback(result2)}resolve(result2)})}})})}exports2.shell=shell;function getUniqueMacAdresses(){let macs=[];try{const ifaces=os7.networkInterfaces();for(let dev in ifaces){if({}.hasOwnProperty.call(ifaces,dev)){ifaces[dev].forEach(function(details){if(details&&details.mac&&details.mac!=="00:00:00:00:00:00"){const mac=details.mac.toLowerCase();if(macs.indexOf(mac)===-1){macs.push(mac)}}})}}macs=macs.sort(function(a,b){if(a<b){return-1}if(a>b){return 1}return 0})}catch(e){macs.push("00:00:00:00:00:00")}return macs}function uuid(callback){return new Promise(resolve=>{process.nextTick(()=>{let result2={os:"",hardware:"",macs:getUniqueMacAdresses()};let parts;if(_darwin){exec3("system_profiler SPHardwareDataType -json",function(error,stdout){if(!error){try{const jsonObj=JSON.parse(stdout.toString());if(jsonObj.SPHardwareDataType&&jsonObj.SPHardwareDataType.length>0){const spHardware=jsonObj.SPHardwareDataType[0];result2.os=spHardware.platform_UUID.toLowerCase();result2.hardware=spHardware.serial_number}}catch(e){util4.noop()}}if(callback){callback(result2)}resolve(result2)})}if(_linux){const cmd=`echo -n "os: "; cat /var/lib/dbus/machine-id 2> /dev/null ||
cat /etc/machine-id 2> /dev/null; echo;
echo -n "hardware: "; cat /sys/class/dmi/id/product_uuid 2> /dev/null; echo;`;exec3(cmd,function(error,stdout){const lines=stdout.toString().split("\n");result2.os=util4.getValue(lines,"os").toLowerCase();result2.hardware=util4.getValue(lines,"hardware").toLowerCase();if(!result2.hardware){const lines2=fs14.readFileSync("/proc/cpuinfo",{encoding:"utf8"}).toString().split("\n");const serial=util4.getValue(lines2,"serial");result2.hardware=serial||""}if(callback){callback(result2)}resolve(result2)})}if(_freebsd||_openbsd||_netbsd){exec3("sysctl -i kern.hostid kern.hostuuid",function(error,stdout){const lines=stdout.toString().split("\n");result2.os=util4.getValue(lines,"kern.hostid",":").toLowerCase();result2.hardware=util4.getValue(lines,"kern.hostuuid",":").toLowerCase();if(result2.os.indexOf("unknown")>=0){result2.os=""}if(result2.hardware.indexOf("unknown")>=0){result2.hardware=""}if(callback){callback(result2)}resolve(result2)})}if(_windows){let sysdir="%windir%\\System32";if(process.arch==="ia32"&&Object.prototype.hasOwnProperty.call(process.env,"PROCESSOR_ARCHITEW6432")){sysdir="%windir%\\sysnative\\cmd.exe /c %windir%\\System32"}util4.powerShell("Get-CimInstance Win32_ComputerSystemProduct | select UUID | fl").then(stdout=>{let lines=stdout.split("\r\n");result2.hardware=util4.getValue(lines,"uuid",":").toLowerCase();exec3(`${sysdir}\\reg query "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography" /v MachineGuid`,util4.execOptsWin,function(error,stdout2){parts=stdout2.toString().split("\n\r")[0].split("REG_SZ");result2.os=parts.length>1?parts[1].replace(/\r+|\n+|\s+/ig,"").toLowerCase():"";if(callback){callback(result2)}resolve(result2)})})}})})}exports2.uuid=uuid}});var require_cpu=__commonJS({"node_modules/systeminformation/lib/cpu.js"(exports2){"use strict";var os7=require("os");var exec3=require("child_process").exec;var execSync=require("child_process").execSync;var fs14=require("fs");var util4=require_util2();var _platform=process.platform;var _linux=_platform==="linux"||_platform==="android";var _darwin=_platform==="darwin";var _windows=_platform==="win32";var _freebsd=_platform==="freebsd";var _openbsd=_platform==="openbsd";var _netbsd=_platform==="netbsd";var _sunos=_platform==="sunos";var _cpu_speed=0;var _current_cpu={user:0,nice:0,system:0,idle:0,irq:0,steal:0,guest:0,load:0,tick:0,ms:0,currentLoad:0,currentLoadUser:0,currentLoadSystem:0,currentLoadNice:0,currentLoadIdle:0,currentLoadIrq:0,currentLoadSteal:0,currentLoadGuest:0,rawCurrentLoad:0,rawCurrentLoadUser:0,rawCurrentLoadSystem:0,rawCurrentLoadNice:0,rawCurrentLoadIdle:0,rawCurrentLoadIrq:0,rawCurrentLoadSteal:0,rawCurrentLoadGuest:0};var _cpus=[];var _corecount=0;var AMDBaseFrequencies={"8346":"1.8","8347":"1.9","8350":"2.0","8354":"2.2","8356|SE":"2.4","8356":"2.3","8360":"2.5","2372":"2.1","2373":"2.1","2374":"2.2","2376":"2.3","2377":"2.3","2378":"2.4","2379":"2.4","2380":"2.5","2381":"2.5","2382":"2.6","2384":"2.7","2386":"2.8","2387":"2.8","2389":"2.9","2393":"3.1","8374":"2.2","8376":"2.3","8378":"2.4","8379":"2.4","8380":"2.5","8381":"2.5","8382":"2.6","8384":"2.7","8386":"2.8","8387":"2.8","8389":"2.9","8393":"3.1","2419EE":"1.8","2423HE":"2.0","2425HE":"2.1","2427":"2.2","2431":"2.4","2435":"2.6","2439SE":"2.8","8425HE":"2.1","8431":"2.4","8435":"2.6","8439SE":"2.8","4122":"2.2","4130":"2.6","4162EE":"1.7","4164EE":"1.8","4170HE":"2.1","4174HE":"2.3","4176HE":"2.4","4180":"2.6","4184":"2.8","6124HE":"1.8","6128HE":"2.0","6132HE":"2.2","6128":"2.0","6134":"2.3","6136":"2.4","6140":"2.6","6164HE":"1.7","6166HE":"1.8","6168":"1.9","6172":"2.1","6174":"2.2","6176":"2.3","6176SE":"2.3","6180SE":"2.5","3250":"2.5","3260":"2.7","3280":"2.4","4226":"2.7","4228":"2.8","4230":"2.9","4234":"3.1","4238":"3.3","4240":"3.4","4256":"1.6","4274":"2.5","4276":"2.6","4280":"2.8","4284":"3.0","6204":"3.3","6212":"2.6","6220":"3.0","6234":"2.4","6238":"2.6","6262HE":"1.6","6272":"2.1","6274":"2.2","6276":"2.3","6278":"2.4","6282SE":"2.6","6284SE":"2.7","6308":"3.5","6320":"2.8","6328":"3.2","6338P":"2.3","6344":"2.6","6348":"2.8","6366":"1.8","6370P":"2.0","6376":"2.3","6378":"2.4","6380":"2.5","6386":"2.8","FX|4100":"3.6","FX|4120":"3.9","FX|4130":"3.8","FX|4150":"3.8","FX|4170":"4.2","FX|6100":"3.3","FX|6120":"3.6","FX|6130":"3.6","FX|6200":"3.8","FX|8100":"2.8","FX|8120":"3.1","FX|8140":"3.2","FX|8150":"3.6","FX|8170":"3.9","FX|4300":"3.8","FX|4320":"4.0","FX|4350":"4.2","FX|6300":"3.5","FX|6350":"3.9","FX|8300":"3.3","FX|8310":"3.4","FX|8320":"3.5","FX|8350":"4.0","FX|8370":"4.0","FX|9370":"4.4","FX|9590":"4.7","FX|8320E":"3.2","FX|8370E":"3.3","1200":"3.1","Pro 1200":"3.1","1300X":"3.5","Pro 1300":"3.5","1400":"3.2","1500X":"3.5","Pro 1500":"3.5","1600":"3.2","1600X":"3.6","Pro 1600":"3.2","1700":"3.0","Pro 1700":"3.0","1700X":"3.4","Pro 1700X":"3.4","1800X":"3.6","1900X":"3.8","1920":"3.2","1920X":"3.5","1950X":"3.4","200GE":"3.2","Pro 200GE":"3.2","220GE":"3.4","240GE":"3.5","3000G":"3.5","300GE":"3.4","3050GE":"3.4","2200G":"3.5","Pro 2200G":"3.5","2200GE":"3.2","Pro 2200GE":"3.2","2400G":"3.6","Pro 2400G":"3.6","2400GE":"3.2","Pro 2400GE":"3.2","Pro 200U":"2.3","300U":"2.4","2200U":"2.5","3200U":"2.6","2300U":"2.0","Pro 2300U":"2.0","2500U":"2.0","Pro 2500U":"2.2","2600H":"3.2","2700U":"2.0","Pro 2700U":"2.2","2800H":"3.3","7351":"2.4","7351P":"2.4","7401":"2.0","7401P":"2.0","7551P":"2.0","7551":"2.0","7251":"2.1","7261":"2.5","7281":"2.1","7301":"2.2","7371":"3.1","7451":"2.3","7501":"2.0","7571":"2.2","7601":"2.2","V1500B":"2.2","V1780B":"3.35","V1202B":"2.3","V1404I":"2.0","V1605B":"2.0","V1756B":"3.25","V1807B":"3.35","3101":"2.1","3151":"2.7","3201":"1.5","3251":"2.5","3255":"2.5","3301":"2.0","3351":"1.9","3401":"1.85","3451":"2.15","1200|AF":"3.1","2300X":"3.5","2500X":"3.6","2600":"3.4","2600E":"3.1","1600|AF":"3.2","2600X":"3.6","2700":"3.2","2700E":"2.8","Pro 2700":"3.2","2700X":"3.7","Pro 2700X":"3.6","2920X":"3.5","2950X":"3.5","2970WX":"3.0","2990WX":"3.0","Pro 300GE":"3.4","Pro 3125GE":"3.4","3150G":"3.5","Pro 3150G":"3.5","3150GE":"3.3","Pro 3150GE":"3.3","3200G":"3.6","Pro 3200G":"3.6","3200GE":"3.3","Pro 3200GE":"3.3","3350G":"3.6","Pro 3350G":"3.6","3350GE":"3.3","Pro 3350GE":"3.3","3400G":"3.7","Pro 3400G":"3.7","3400GE":"3.3","Pro 3400GE":"3.3","3300U":"2.1","PRO 3300U":"2.1","3450U":"2.1","3500U":"2.1","PRO 3500U":"2.1","3500C":"2.1","3550H":"2.1","3580U":"2.1","3700U":"2.3","PRO 3700U":"2.3","3700C":"2.3","3750H":"2.3","3780U":"2.3","3100":"3.6","3300X":"3.8","3500":"3.6","3500X":"3.6","3600":"3.6","Pro 3600":"3.6","3600X":"3.8","3600XT":"3.8","Pro 3700":"3.6","3700X":"3.6","3800X":"3.9","3800XT":"3.9","3900":"3.1","Pro 3900":"3.1","3900X":"3.8","3900XT":"3.8","3950X":"3.5","3960X":"3.8","3970X":"3.7","3990X":"2.9","3945WX":"4.0","3955WX":"3.9","3975WX":"3.5","3995WX":"2.7","4300GE":"3.5","Pro 4300GE":"3.5","4300G":"3.8","Pro 4300G":"3.8","4600GE":"3.3","Pro 4650GE":"3.3","4600G":"3.7","Pro 4650G":"3.7","4700GE":"3.1","Pro 4750GE":"3.1","4700G":"3.6","Pro 4750G":"3.6","4300U":"2.7","4450U":"2.5","Pro 4450U":"2.5","4500U":"2.3","4600U":"2.1","PRO 4650U":"2.1","4680U":"2.1","4600HS":"3.0","4600H":"3.0","4700U":"2.0","PRO 4750U":"1.7","4800U":"1.8","4800HS":"2.9","4800H":"2.9","4900HS":"3.0","4900H":"3.3","5300U":"2.6","5500U":"2.1","5700U":"1.8","7232P":"3.1","7302P":"3.0","7402P":"2.8","7502P":"2.5","7702P":"2.0","7252":"3.1","7262":"3.2","7272":"2.9","7282":"2.8","7302":"3.0","7352":"2.3","7402":"2.8","7452":"2.35","7502":"2.5","7532":"2.4","7542":"2.9","7552":"2.2","7642":"2.3","7662":"2.0","7702":"2.0","7742":"2.25","7H12":"2.6","7F32":"3.7","7F52":"3.5","7F72":"3.2","7773X":"2.2","7763":"2.45","7713":"2.0","7713P":"2.0","7663":"2.0","7643":"2.3","7573X":"2.8","75F3":"2.95","7543":"2.8","7543P":"2.8","7513":"2.6","7473X":"2.8","7453":"2.75","74F3":"3.2","7443":"2.85","7443P":"2.85","7413":"2.65","7373X":"3.05","73F3":"3.5","7343":"3.2","7313":"3.0","7313P":"3.0","72F3":"3.7","5600X":"3.7","5800X":"3.8","5900X":"3.7","5950X":"3.4","5945WX":"4.1","5955WX":"4.0","5965WX":"3.8","5975WX":"3.6","5995WX":"2.7","7960X":"4.2","7970X":"4.0","7980X":"3.2","7965WX":"4.2","7975WX":"4.0","7985WX":"3.2","7995WX":"2.5","9754":"2.25","9754S":"2.25","9734":"2.2","9684X":"2.55","9384X":"3.1","9184X":"3.55","9654P":"2.4","9654":"2.4","9634":"2.25","9554P":"3.1","9554":"3.1","9534":"2.45","9474F":"3.6","9454P":"2.75","9454":"2.75","9374F":"3.85","9354P":"3.25","9354":"3.25","9334":"2.7","9274F":"4.05","9254":"2.9","9224":"2.5","9174F":"4.1","9124":"3.0"};var socketTypes={1:"Other",2:"Unknown",3:"Daughter Board",4:"ZIF Socket",5:"Replacement/Piggy Back",6:"None",7:"LIF Socket",8:"Slot 1",9:"Slot 2",10:"370 Pin Socket",11:"Slot A",12:"Slot M",13:"423",14:"A (Socket 462)",15:"478",16:"754",17:"940",18:"939",19:"mPGA604",20:"LGA771",21:"LGA775",22:"S1",23:"AM2",24:"F (1207)",25:"LGA1366",26:"G34",27:"AM3",28:"C32",29:"LGA1156",30:"LGA1567",31:"PGA988A",32:"BGA1288",33:"rPGA988B",34:"BGA1023",35:"BGA1224",36:"LGA1155",37:"LGA1356",38:"LGA2011",39:"FS1",40:"FS2",41:"FM1",42:"FM2",43:"LGA2011-3",44:"LGA1356-3",45:"LGA1150",46:"BGA1168",47:"BGA1234",48:"BGA1364",49:"AM4",50:"LGA1151",51:"BGA1356",52:"BGA1440",53:"BGA1515",54:"LGA3647-1",55:"SP3",56:"SP3r2",57:"LGA2066",58:"BGA1392",59:"BGA1510",60:"BGA1528",61:"LGA4189",62:"LGA1200",63:"LGA4677",64:"LGA1700",65:"BGA1744",66:"BGA1781",67:"BGA1211",68:"BGA2422",69:"LGA1211",70:"LGA2422",71:"LGA5773",72:"BGA5773"};var socketTypesByName={"LGA1150":"i7-5775C i3-4340 i3-4170 G3250 i3-4160T i3-4160 E3-1231 G3258 G3240 i7-4790S i7-4790K i7-4790 i5-4690K i5-4690 i5-4590T i5-4590S i5-4590 i5-4460 i3-4360 i3-4150 G1820 G3420 G3220 i7-4771 i5-4440 i3-4330 i3-4130T i3-4130 E3-1230 i7-4770S i7-4770K i7-4770 i5-4670K i5-4670 i5-4570T i5-4570S i5-4570 i5-4430","LGA1151":"i9-9900KS E-2288G E-2224 G5420 i9-9900T i9-9900 i7-9700T i7-9700F i7-9700E i7-9700 i5-9600 i5-9500T i5-9500F i5-9500 i5-9400T i3-9350K i3-9300 i3-9100T i3-9100F i3-9100 G4930 i9-9900KF i7-9700KF i5-9600KF i5-9400F i5-9400 i3-9350KF i9-9900K i7-9700K i5-9600K G5500 G5400 i7-8700T i7-8086K i5-8600 i5-8500T i5-8500 i5-8400T i3-8300 i3-8100T G4900 i7-8700K i7-8700 i5-8600K i5-8400 i3-8350K i3-8100 E3-1270 G4600 G4560 i7-7700T i7-7700K i7-7700 i5-7600K i5-7600 i5-7500T i5-7500 i5-7400 i3-7350K i3-7300 i3-7100T i3-7100 G3930 G3900 G4400 i7-6700T i7-6700K i7-6700 i5-6600K i5-6600 i5-6500T i5-6500 i5-6400T i5-6400 i3-6300 i3-6100T i3-6100 E3-1270 E3-1270 T4500 T4400","1155":"G440 G460 G465 G470 G530T G540T G550T G1610T G1620T G530 G540 G1610 G550 G1620 G555 G1630 i3-2100T i3-2120T i3-3220T i3-3240T i3-3250T i3-2100 i3-2105 i3-2102 i3-3210 i3-3220 i3-2125 i3-2120 i3-3225 i3-2130 i3-3245 i3-3240 i3-3250 i5-3570T i5-2500T i5-2400S i5-2405S i5-2390T i5-3330S i5-2500S i5-3335S i5-2300 i5-3450S i5-3340S i5-3470S i5-3475S i5-3470T i5-2310 i5-3550S i5-2320 i5-3330 i5-3350P i5-3450 i5-2400 i5-3340 i5-3570S i5-2380P i5-2450P i5-3470 i5-2500K i5-3550 i5-2500 i5-3570 i5-3570K i5-2550K i7-3770T i7-2600S i7-3770S i7-2600K i7-2600 i7-3770 i7-3770K i7-2700K G620T G630T G640T G2020T G645T G2100T G2030T G622 G860T G620 G632 G2120T G630 G640 G2010 G840 G2020 G850 G645 G2030 G860 G2120 G870 G2130 G2140 E3-1220L E3-1220L E3-1260L E3-1265L E3-1220 E3-1225 E3-1220 E3-1235 E3-1225 E3-1230 E3-1230 E3-1240 E3-1245 E3-1270 E3-1275 E3-1240 E3-1245 E3-1270 E3-1280 E3-1275 E3-1290 E3-1280 E3-1290"};function getSocketTypesByName(str2){let result2="";for(const key in socketTypesByName){const names2=socketTypesByName[key].split(" ");names2.forEach(element=>{if(str2.indexOf(element)>=0){result2=key}})}return result2}function cpuManufacturer(str2){let result2=str2;str2=str2.toLowerCase();if(str2.indexOf("intel")>=0){result2="Intel"}if(str2.indexOf("amd")>=0){result2="AMD"}if(str2.indexOf("qemu")>=0){result2="QEMU"}if(str2.indexOf("hygon")>=0){result2="Hygon"}if(str2.indexOf("centaur")>=0){result2="WinChip/Via"}if(str2.indexOf("vmware")>=0){result2="VMware"}if(str2.indexOf("Xen")>=0){result2="Xen Hypervisor"}if(str2.indexOf("tcg")>=0){result2="QEMU"}if(str2.indexOf("apple")>=0){result2="Apple"}if(str2.indexOf("sifive")>=0){result2="SiFive"}if(str2.indexOf("thead")>=0){result2="T-Head"}if(str2.indexOf("andestech")>=0){result2="Andes Technology"}return result2}function cpuBrandManufacturer(res){res.brand=res.brand.replace(/\(R\)+/g,"®").replace(/\s+/g," ").trim();res.brand=res.brand.replace(/\(TM\)+/g,"™").replace(/\s+/g," ").trim();res.brand=res.brand.replace(/\(C\)+/g,"©").replace(/\s+/g," ").trim();res.brand=res.brand.replace(/CPU+/g,"").replace(/\s+/g," ").trim();res.manufacturer=cpuManufacturer(res.brand);let parts=res.brand.split(" ");parts.shift();res.brand=parts.join(" ");return res}function getAMDSpeed(brand){let result2="0";for(let key in AMDBaseFrequencies){if({}.hasOwnProperty.call(AMDBaseFrequencies,key)){let parts=key.split("|");let found=0;parts.forEach(item=>{if(brand.indexOf(item)>-1){found++}});if(found===parts.length){result2=AMDBaseFrequencies[key]}}}return parseFloat(result2)}function getCpu(){return new Promise(resolve=>{process.nextTick(()=>{const UNKNOWN="unknown";let result2={manufacturer:UNKNOWN,brand:UNKNOWN,vendor:"",family:"",model:"",stepping:"",revision:"",voltage:"",speed:0,speedMin:0,speedMax:0,governor:"",cores:util4.cores(),physicalCores:util4.cores(),performanceCores:util4.cores(),efficiencyCores:0,processors:1,socket:"",flags:"",virtualization:false,cache:{}};cpuFlags().then(flags=>{result2.flags=flags;result2.virtualization=flags.indexOf("vmx")>-1||flags.indexOf("svm")>-1;if(_darwin){exec3("sysctl machdep.cpu hw.cpufrequency_max hw.cpufrequency_min hw.packages hw.physicalcpu_max hw.ncpu hw.tbfrequency hw.cpufamily hw.cpusubfamily",function(error,stdout){let lines=stdout.toString().split("\n");const modelline=util4.getValue(lines,"machdep.cpu.brand_string");const modellineParts=modelline.split("@");result2.brand=modellineParts[0].trim();const speed=modellineParts[1]?modellineParts[1].trim():"0";result2.speed=parseFloat(speed.replace(/GHz+/g,""));let tbFrequency=util4.getValue(lines,"hw.tbfrequency")/1e9;tbFrequency=tbFrequency<.1?tbFrequency*100:tbFrequency;result2.speed=result2.speed===0?tbFrequency:result2.speed;_cpu_speed=result2.speed;result2=cpuBrandManufacturer(result2);result2.speedMin=util4.getValue(lines,"hw.cpufrequency_min")?util4.getValue(lines,"hw.cpufrequency_min")/1e9:result2.speed;result2.speedMax=util4.getValue(lines,"hw.cpufrequency_max")?util4.getValue(lines,"hw.cpufrequency_max")/1e9:result2.speed;result2.vendor=util4.getValue(lines,"machdep.cpu.vendor")||"Apple";result2.family=util4.getValue(lines,"machdep.cpu.family")||util4.getValue(lines,"hw.cpufamily");result2.model=util4.getValue(lines,"machdep.cpu.model");result2.stepping=util4.getValue(lines,"machdep.cpu.stepping")||util4.getValue(lines,"hw.cpusubfamily");result2.virtualization=true;const countProcessors=util4.getValue(lines,"hw.packages");const countCores=util4.getValue(lines,"hw.physicalcpu_max");const countThreads=util4.getValue(lines,"hw.ncpu");if(os7.arch()==="arm64"){result2.socket="SOC";try{const clusters=execSync("ioreg -c IOPlatformDevice -d 3 -r | grep cluster-type").toString().split("\n");const efficiencyCores=clusters.filter(line=>line.indexOf('"E"')>=0).length;const performanceCores=clusters.filter(line=>line.indexOf('"P"')>=0).length;result2.efficiencyCores=efficiencyCores;result2.performanceCores=performanceCores}catch(e){util4.noop()}}if(countProcessors){result2.processors=parseInt(countProcessors)||1}if(countCores&&countThreads){result2.cores=parseInt(countThreads)||util4.cores();result2.physicalCores=parseInt(countCores)||util4.cores()}cpuCache().then(res=>{result2.cache=res;resolve(result2)})})}if(_linux){let modelline="";let lines=[];if(os7.cpus()[0]&&os7.cpus()[0].model){modelline=os7.cpus()[0].model}exec3('export LC_ALL=C; lscpu; echo -n "Governor: "; cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor 2>/dev/null; echo; unset LC_ALL',function(error,stdout){if(!error){lines=stdout.toString().split("\n")}modelline=util4.getValue(lines,"model name")||modelline;modelline=util4.getValue(lines,"bios model name")||modelline;modelline=util4.cleanString(modelline);const modellineParts=modelline.split("@");result2.brand=modellineParts[0].trim();result2.speed=modellineParts[1]?parseFloat(modellineParts[1].trim()):0;if(result2.speed===0&&(result2.brand.indexOf("AMD")>-1||result2.brand.toLowerCase().indexOf("ryzen")>-1)){result2.speed=getAMDSpeed(result2.brand)}if(result2.speed===0){const current=getCpuCurrentSpeedSync();if(current.avg!==0){result2.speed=current.avg}}_cpu_speed=result2.speed;result2.speedMin=Math.round(parseFloat(util4.getValue(lines,"cpu min mhz").replace(/,/g,"."))/10)/100;result2.speedMax=Math.round(parseFloat(util4.getValue(lines,"cpu max mhz").replace(/,/g,"."))/10)/100;result2=cpuBrandManufacturer(result2);result2.vendor=cpuManufacturer(util4.getValue(lines,"vendor id"));result2.family=util4.getValue(lines,"cpu family");result2.model=util4.getValue(lines,"model:");result2.stepping=util4.getValue(lines,"stepping");result2.revision=util4.getValue(lines,"cpu revision");result2.cache.l1d=util4.getValue(lines,"l1d cache");if(result2.cache.l1d){result2.cache.l1d=parseInt(result2.cache.l1d)*(result2.cache.l1d.indexOf("M")!==-1?1024*1024:result2.cache.l1d.indexOf("K")!==-1?1024:1)}result2.cache.l1i=util4.getValue(lines,"l1i cache");if(result2.cache.l1i){result2.cache.l1i=parseInt(result2.cache.l1i)*(result2.cache.l1i.indexOf("M")!==-1?1024*1024:result2.cache.l1i.indexOf("K")!==-1?1024:1)}result2.cache.l2=util4.getValue(lines,"l2 cache");if(result2.cache.l2){result2.cache.l2=parseInt(result2.cache.l2)*(result2.cache.l2.indexOf("M")!==-1?1024*1024:result2.cache.l2.indexOf("K")!==-1?1024:1)}result2.cache.l3=util4.getValue(lines,"l3 cache");if(result2.cache.l3){result2.cache.l3=parseInt(result2.cache.l3)*(result2.cache.l3.indexOf("M")!==-1?1024*1024:result2.cache.l3.indexOf("K")!==-1?1024:1)}const threadsPerCore=util4.getValue(lines,"thread(s) per core")||"1";const processors=util4.getValue(lines,"socket(s)")||"1";const threadsPerCoreInt=parseInt(threadsPerCore,10);const processorsInt=parseInt(processors,10)||1;const coresPerSocket=parseInt(util4.getValue(lines,"core(s) per socket"),10);result2.physicalCores=coresPerSocket?coresPerSocket*processorsInt:result2.cores/threadsPerCoreInt;result2.performanceCores=threadsPerCoreInt>1?result2.cores-result2.physicalCores:result2.cores;result2.efficiencyCores=threadsPerCoreInt>1?result2.cores-threadsPerCoreInt*result2.performanceCores:0;result2.processors=processorsInt;result2.governor=util4.getValue(lines,"governor")||"";if(result2.vendor==="ARM"){const linesRpi=fs14.readFileSync("/proc/cpuinfo").toString().split("\n");const rPIRevision=util4.decodePiCpuinfo(linesRpi);if(rPIRevision.model.toLowerCase().indexOf("raspberry")>=0){result2.family=result2.manufacturer;result2.manufacturer=rPIRevision.manufacturer;result2.brand=rPIRevision.processor;result2.revision=rPIRevision.revisionCode;result2.socket="SOC"}}if(util4.getValue(lines,"architecture")==="riscv64"){const linesRiscV=fs14.readFileSync("/proc/cpuinfo").toString().split("\n");const uarch=util4.getValue(linesRiscV,"uarch")||"";if(uarch.indexOf(",")>-1){const split2=uarch.split(",");result2.manufacturer=cpuManufacturer(split2[0]);result2.brand=split2[1]}}let lines2=[];exec3('export LC_ALL=C; dmidecode –t 4 2>/dev/null | grep "Upgrade: Socket"; unset LC_ALL',function(error2,stdout2){lines2=stdout2.toString().split("\n");if(lines2&&lines2.length){result2.socket=util4.getValue(lines2,"Upgrade").replace("Socket","").trim()||result2.socket}resolve(result2)})})}if(_freebsd||_openbsd||_netbsd){let modelline="";let lines=[];if(os7.cpus()[0]&&os7.cpus()[0].model){modelline=os7.cpus()[0].model}exec3("export LC_ALL=C; dmidecode -t 4; dmidecode -t 7 unset LC_ALL",function(error,stdout){let cache2=[];if(!error){const data=stdout.toString().split("# dmidecode");const processor=data.length>1?data[1]:"";cache2=data.length>2?data[2].split("Cache Information"):[];lines=processor.split("\n")}result2.brand=modelline.split("@")[0].trim();result2.speed=modelline.split("@")[1]?parseFloat(modelline.split("@")[1].trim()):0;if(result2.speed===0&&(result2.brand.indexOf("AMD")>-1||result2.brand.toLowerCase().indexOf("ryzen")>-1)){result2.speed=getAMDSpeed(result2.brand)}if(result2.speed===0){const current=getCpuCurrentSpeedSync();if(current.avg!==0){result2.speed=current.avg}}_cpu_speed=result2.speed;result2.speedMin=result2.speed;result2.speedMax=Math.round(parseFloat(util4.getValue(lines,"max speed").replace(/Mhz/g,""))/10)/100;result2=cpuBrandManufacturer(result2);result2.vendor=cpuManufacturer(util4.getValue(lines,"manufacturer"));let sig=util4.getValue(lines,"signature");sig=sig.split(",");for(let i=0;i<sig.length;i++){sig[i]=sig[i].trim()}result2.family=util4.getValue(sig,"Family"," ",true);result2.model=util4.getValue(sig,"Model"," ",true);result2.stepping=util4.getValue(sig,"Stepping"," ",true);result2.revision="";const voltage=parseFloat(util4.getValue(lines,"voltage"));result2.voltage=isNaN(voltage)?"":voltage.toFixed(2);for(let i=0;i<cache2.length;i++){lines=cache2[i].split("\n");let cacheType=util4.getValue(lines,"Socket Designation").toLowerCase().replace(" ","-").split("-");cacheType=cacheType.length?cacheType[0]:"";const sizeParts=util4.getValue(lines,"Installed Size").split(" ");let size2=parseInt(sizeParts[0],10);const unit=sizeParts.length>1?sizeParts[1]:"kb";size2=size2*(unit==="kb"?1024:unit==="mb"?1024*1024:unit==="gb"?1024*1024*1024:1);if(cacheType){if(cacheType==="l1"){result2.cache[cacheType+"d"]=size2/2;result2.cache[cacheType+"i"]=size2/2}else{result2.cache[cacheType]=size2}}}result2.socket=util4.getValue(lines,"Upgrade").replace("Socket","").trim();const threadCount=util4.getValue(lines,"thread count").trim();const coreCount=util4.getValue(lines,"core count").trim();if(coreCount&&threadCount){result2.cores=parseInt(threadCount,10);result2.physicalCores=parseInt(coreCount,10)}resolve(result2)})}if(_sunos){resolve(result2)}if(_windows){try{const workload=[];workload.push(util4.powerShell("Get-CimInstance Win32_processor | select Name, Revision, L2CacheSize, L3CacheSize, Manufacturer, MaxClockSpeed, Description, UpgradeMethod, Caption, NumberOfLogicalProcessors, NumberOfCores | fl"));workload.push(util4.powerShell("Get-CimInstance Win32_CacheMemory | select CacheType,InstalledSize,Level | fl"));workload.push(util4.powerShell("(Get-CimInstance Win32_ComputerSystem).HypervisorPresent"));Promise.all(workload).then(data=>{let lines=data[0].split("\r\n");let name=util4.getValue(lines,"name",":")||"";if(name.indexOf("@")>=0){result2.brand=name.split("@")[0].trim();result2.speed=name.split("@")[1]?parseFloat(name.split("@")[1].trim()):0;_cpu_speed=result2.speed}else{result2.brand=name.trim();result2.speed=0}result2=cpuBrandManufacturer(result2);result2.revision=util4.getValue(lines,"revision",":");result2.vendor=util4.getValue(lines,"manufacturer",":");result2.speedMax=Math.round(parseFloat(util4.getValue(lines,"maxclockspeed",":").replace(/,/g,"."))/10)/100;if(result2.speed===0&&(result2.brand.indexOf("AMD")>-1||result2.brand.toLowerCase().indexOf("ryzen")>-1)){result2.speed=getAMDSpeed(result2.brand)}if(result2.speed===0){result2.speed=result2.speedMax}result2.speedMin=result2.speed;let description=util4.getValue(lines,"description",":").split(" ");for(let i=0;i<description.length;i++){if(description[i].toLowerCase().startsWith("family")&&i+1<description.length&&description[i+1]){result2.family=description[i+1]}if(description[i].toLowerCase().startsWith("model")&&i+1<description.length&&description[i+1]){result2.model=description[i+1]}if(description[i].toLowerCase().startsWith("stepping")&&i+1<description.length&&description[i+1]){result2.stepping=description[i+1]}}const socketId=util4.getValue(lines,"UpgradeMethod",":");if(socketTypes[socketId]){result2.socket=socketTypes[socketId]}const socketByName=getSocketTypesByName(name);if(socketByName){result2.socket=socketByName}const countProcessors=util4.countLines(lines,"Caption");const countThreads=util4.getValue(lines,"NumberOfLogicalProcessors",":");const countCores=util4.getValue(lines,"NumberOfCores",":");if(countProcessors){result2.processors=parseInt(countProcessors)||1}if(countCores&&countThreads){result2.cores=parseInt(countThreads)||util4.cores();result2.physicalCores=parseInt(countCores)||util4.cores()}if(countProcessors>1){result2.cores=result2.cores*countProcessors;result2.physicalCores=result2.physicalCores*countProcessors}result2.cache=parseWinCache(data[0],data[1]);const hyperv=data[2]?data[2].toString().toLowerCase():"";result2.virtualization=hyperv.indexOf("true")!==-1;resolve(result2)})}catch(e){resolve(result2)}}})})})}function cpu(callback){return new Promise(resolve=>{process.nextTick(()=>{getCpu().then(result2=>{if(callback){callback(result2)}resolve(result2)})})})}exports2.cpu=cpu;function getCpuCurrentSpeedSync(){let cpus2=os7.cpus();let minFreq=999999999;let maxFreq=0;let avgFreq=0;let cores=[];let speeds=[];if(cpus2&&cpus2.length&&cpus2[0].speed){for(let i in cpus2){speeds.push(cpus2[i].speed>100?(cpus2[i].speed+1)/1e3:cpus2[i].speed/10)}}else if(_linux){try{const speedStrings=execSync('cat /proc/cpuinfo | grep "cpu MHz" | cut -d " " -f 3',util4.execOptsLinux).toString().split("\n").filter(line=>line.length>0);for(let i in speedStrings){speeds.push(Math.floor(parseInt(speedStrings[i],10)/10)/100)}}catch{util4.noop()}}if(speeds&&speeds.length){for(let i in speeds){avgFreq=avgFreq+speeds[i];if(speeds[i]>maxFreq){maxFreq=speeds[i]}if(speeds[i]<minFreq){minFreq=speeds[i]}cores.push(parseFloat(speeds[i].toFixed(2)))}avgFreq=avgFreq/speeds.length;return{min:parseFloat(minFreq.toFixed(2)),max:parseFloat(maxFreq.toFixed(2)),avg:parseFloat(avgFreq.toFixed(2)),cores}}else{return{min:0,max:0,avg:0,cores}}}function cpuCurrentSpeed(callback){return new Promise(resolve=>{process.nextTick(()=>{let result2=getCpuCurrentSpeedSync();if(result2.avg===0&&_cpu_speed!==0){const currCpuSpeed=parseFloat(_cpu_speed);result2={min:currCpuSpeed,max:currCpuSpeed,avg:currCpuSpeed,cores:[]}}if(callback){callback(result2)}resolve(result2)})})}exports2.cpuCurrentSpeed=cpuCurrentSpeed;function cpuTemperature(callback){return new Promise(resolve=>{process.nextTick(()=>{let result2={main:null,cores:[],max:null,socket:[],chipset:null};if(_linux){try{const cmd2='cat /sys/class/thermal/thermal_zone*/type  2>/dev/null; echo "-----"; cat /sys/class/thermal/thermal_zone*/temp 2>/dev/null;';const parts=execSync(cmd2,util4.execOptsLinux).toString().split("-----\n");if(parts.length===2){const lines=parts[0].split("\n");const lines2=parts[1].split("\n");for(let i=0;i<lines.length;i++){const line=lines[i].trim();if(line.startsWith("acpi")&&lines2[i]){result2.socket.push(Math.round(parseInt(lines2[i],10)/100)/10)}if(line.startsWith("pch")&&lines2[i]){result2.chipset=Math.round(parseInt(lines2[i],10)/100)/10}}}}catch(e){util4.noop()}const cmd='for mon in /sys/class/hwmon/hwmon*; do for label in "$mon"/temp*_label; do if [ -f $label ]; then value=${label%_*}_input; echo $(cat "$label")___$(cat "$value"); fi; done; done;';try{exec3(cmd,function(error,stdout){stdout=stdout.toString();const tdiePos=stdout.toLowerCase().indexOf("tdie");if(tdiePos!==-1){stdout=stdout.substring(tdiePos)}let lines=stdout.split("\n");let tctl=0;lines.forEach(line=>{const parts=line.split("___");const label=parts[0];const value=parts.length>1&&parts[1]?parts[1]:"0";if(value&&label&&label.toLowerCase()==="tctl"){tctl=result2.main=Math.round(parseInt(value,10)/100)/10}if(value&&(label===void 0||label&&label.toLowerCase().startsWith("core"))){result2.cores.push(Math.round(parseInt(value,10)/100)/10)}else if(value&&label&&result2.main===null&&(label.toLowerCase().indexOf("package")>=0||label.toLowerCase().indexOf("physical")>=0||label.toLowerCase()==="tccd1")){result2.main=Math.round(parseInt(value,10)/100)/10}});if(tctl&&result2.main===null){result2.main=tctl}if(result2.cores.length>0){if(result2.main===null){result2.main=Math.round(result2.cores.reduce((a,b)=>a+b,0)/result2.cores.length)}let maxtmp=Math.max.apply(Math,result2.cores);result2.max=maxtmp>result2.main?maxtmp:result2.main}if(result2.main!==null){if(result2.max===null){result2.max=result2.main}if(callback){callback(result2)}resolve(result2);return}exec3("sensors",function(error2,stdout2){if(!error2){let lines2=stdout2.toString().split("\n");let tdieTemp=null;let newSectionStarts=true;let section="";lines2.forEach(function(line){if(line.trim()===""){newSectionStarts=true}else if(newSectionStarts){if(line.trim().toLowerCase().startsWith("acpi")){section="acpi"}if(line.trim().toLowerCase().startsWith("pch")){section="pch"}if(line.trim().toLowerCase().startsWith("core")){section="core"}newSectionStarts=false}let regex3=/[+-]([^°]*)/g;let temps=line.match(regex3);let firstPart=line.split(":")[0].toUpperCase();if(section==="acpi"){if(firstPart.indexOf("TEMP")!==-1){result2.socket.push(parseFloat(temps))}}else if(section==="pch"){if(firstPart.indexOf("TEMP")!==-1&&!result2.chipset){result2.chipset=parseFloat(temps)}}if(firstPart.indexOf("PHYSICAL")!==-1||firstPart.indexOf("PACKAGE")!==-1){result2.main=parseFloat(temps)}if(firstPart.indexOf("CORE ")!==-1){result2.cores.push(parseFloat(temps))}if(firstPart.indexOf("TDIE")!==-1&&tdieTemp===null){tdieTemp=parseFloat(temps)}});if(result2.cores.length>0){result2.main=Math.round(result2.cores.reduce((a,b)=>a+b,0)/result2.cores.length);let maxtmp=Math.max.apply(Math,result2.cores);result2.max=maxtmp>result2.main?maxtmp:result2.main}else{if(result2.main===null&&tdieTemp!==null){result2.main=tdieTemp;result2.max=tdieTemp}}if(result2.main!==null||result2.max!==null){if(callback){callback(result2)}resolve(result2);return}}fs14.stat("/sys/class/thermal/thermal_zone0/temp",function(err){if(err===null){fs14.readFile("/sys/class/thermal/thermal_zone0/temp",function(error3,stdout3){if(!error3){let lines2=stdout3.toString().split("\n");if(lines2.length>0){result2.main=parseFloat(lines2[0])/1e3;result2.max=result2.main}}if(callback){callback(result2)}resolve(result2)})}else{exec3("/opt/vc/bin/vcgencmd measure_temp",function(error3,stdout3){if(!error3){let lines2=stdout3.toString().split("\n");if(lines2.length>0&&lines2[0].indexOf("=")){result2.main=parseFloat(lines2[0].split("=")[1]);result2.max=result2.main}}if(callback){callback(result2)}resolve(result2)})}})})})}catch(er){if(callback){callback(result2)}resolve(result2)}}if(_freebsd||_openbsd||_netbsd){exec3("sysctl dev.cpu | grep temp",function(error,stdout){if(!error){let lines=stdout.toString().split("\n");let sum2=0;lines.forEach(function(line){const parts=line.split(":");if(parts.length>1){const temp=parseFloat(parts[1].replace(",","."));if(temp>result2.max){result2.max=temp}sum2=sum2+temp;result2.cores.push(temp)}});if(result2.cores.length){result2.main=Math.round(sum2/result2.cores.length*100)/100}}if(callback){callback(result2)}resolve(result2)})}if(_darwin){let osxTemp=null;try{osxTemp=require("osx-temperature-sensor")}catch(er){osxTemp=null}if(osxTemp){result2=osxTemp.cpuTemperature();if(result2.main){result2.main=Math.round(result2.main*100)/100}if(result2.max){result2.max=Math.round(result2.max*100)/100}if(result2.cores&&result2.cores.length){for(let i=0;i<result2.cores.length;i++){result2.cores[i]=Math.round(result2.cores[i]*100)/100}}}if(callback){callback(result2)}resolve(result2)}if(_sunos){if(callback){callback(result2)}resolve(result2)}if(_windows){try{util4.powerShell('Get-CimInstance MSAcpi_ThermalZoneTemperature -Namespace "root/wmi" | Select CurrentTemperature').then((stdout,error)=>{if(!error){let sum2=0;let lines=stdout.split("\r\n").filter(line=>line.trim()!=="").filter((line,idx)=>idx>0);lines.forEach(function(line){let value=(parseInt(line,10)-2732)/10;if(!isNaN(value)){sum2=sum2+value;if(value>result2.max){result2.max=value}result2.cores.push(value)}});if(result2.cores.length){result2.main=sum2/result2.cores.length}}if(callback){callback(result2)}resolve(result2)})}catch(e){if(callback){callback(result2)}resolve(result2)}}})})}exports2.cpuTemperature=cpuTemperature;function cpuFlags(callback){return new Promise(resolve=>{process.nextTick(()=>{let result2="";if(_windows){try{exec3('reg query "HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0" /v FeatureSet',util4.execOptsWin,function(error,stdout){if(!error){let flag_hex=stdout.split("0x").pop().trim();let flag_bin_unpadded=parseInt(flag_hex,16).toString(2);let flag_bin="0".repeat(32-flag_bin_unpadded.length)+flag_bin_unpadded;let all_flags=["fpu","vme","de","pse","tsc","msr","pae","mce","cx8","apic","","sep","mtrr","pge","mca","cmov","pat","pse-36","psn","clfsh","","ds","acpi","mmx","fxsr","sse","sse2","ss","htt","tm","ia64","pbe"];for(let f=0;f<all_flags.length;f++){if(flag_bin[f]==="1"&&all_flags[f]!==""){result2+=" "+all_flags[f]}}result2=result2.trim().toLowerCase()}if(callback){callback(result2)}resolve(result2)})}catch(e){if(callback){callback(result2)}resolve(result2)}}if(_linux){try{exec3("export LC_ALL=C; lscpu; unset LC_ALL",function(error,stdout){if(!error){let lines=stdout.toString().split("\n");lines.forEach(function(line){if(line.split(":")[0].toUpperCase().indexOf("FLAGS")!==-1){result2=line.split(":")[1].trim().toLowerCase()}})}if(!result2){fs14.readFile("/proc/cpuinfo",function(error2,stdout2){if(!error2){let lines=stdout2.toString().split("\n");result2=util4.getValue(lines,"features",":",true).toLowerCase()}if(callback){callback(result2)}resolve(result2)})}else{if(callback){callback(result2)}resolve(result2)}})}catch(e){if(callback){callback(result2)}resolve(result2)}}if(_freebsd||_openbsd||_netbsd){exec3("export LC_ALL=C; dmidecode -t 4 2>/dev/null; unset LC_ALL",function(error,stdout){let flags=[];if(!error){let parts=stdout.toString().split("	Flags:");const lines=parts.length>1?parts[1].split("	Version:")[0].split("\n"):[];lines.forEach(function(line){let flag=(line.indexOf("(")?line.split("(")[0].toLowerCase():"").trim().replace(/\t/g,"");if(flag){flags.push(flag)}})}result2=flags.join(" ").trim().toLowerCase();if(callback){callback(result2)}resolve(result2)})}if(_darwin){exec3("sysctl machdep.cpu.features",function(error,stdout){if(!error){let lines=stdout.toString().split("\n");if(lines.length>0&&lines[0].indexOf("machdep.cpu.features:")!==-1){result2=lines[0].split(":")[1].trim().toLowerCase()}}if(callback){callback(result2)}resolve(result2)})}if(_sunos){if(callback){callback(result2)}resolve(result2)}})})}exports2.cpuFlags=cpuFlags;function cpuCache(callback){return new Promise(resolve=>{process.nextTick(()=>{let result2={l1d:null,l1i:null,l2:null,l3:null};if(_linux){try{exec3("export LC_ALL=C; lscpu; unset LC_ALL",function(error,stdout){if(!error){let lines=stdout.toString().split("\n");lines.forEach(function(line){let parts=line.split(":");if(parts[0].toUpperCase().indexOf("L1D CACHE")!==-1){result2.l1d=parseInt(parts[1].trim())*(parts[1].indexOf("M")!==-1?1024*1024:parts[1].indexOf("K")!==-1?1024:1)}if(parts[0].toUpperCase().indexOf("L1I CACHE")!==-1){result2.l1i=parseInt(parts[1].trim())*(parts[1].indexOf("M")!==-1?1024*1024:parts[1].indexOf("K")!==-1?1024:1)}if(parts[0].toUpperCase().indexOf("L2 CACHE")!==-1){result2.l2=parseInt(parts[1].trim())*(parts[1].indexOf("M")!==-1?1024*1024:parts[1].indexOf("K")!==-1?1024:1)}if(parts[0].toUpperCase().indexOf("L3 CACHE")!==-1){result2.l3=parseInt(parts[1].trim())*(parts[1].indexOf("M")!==-1?1024*1024:parts[1].indexOf("K")!==-1?1024:1)}})}if(callback){callback(result2)}resolve(result2)})}catch(e){if(callback){callback(result2)}resolve(result2)}}if(_freebsd||_openbsd||_netbsd){exec3("export LC_ALL=C; dmidecode -t 7 2>/dev/null; unset LC_ALL",function(error,stdout){let cache2=[];if(!error){const data=stdout.toString();cache2=data.split("Cache Information");cache2.shift()}for(let i=0;i<cache2.length;i++){const lines=cache2[i].split("\n");let cacheType=util4.getValue(lines,"Socket Designation").toLowerCase().replace(" ","-").split("-");cacheType=cacheType.length?cacheType[0]:"";const sizeParts=util4.getValue(lines,"Installed Size").split(" ");let size2=parseInt(sizeParts[0],10);const unit=sizeParts.length>1?sizeParts[1]:"kb";size2=size2*(unit==="kb"?1024:unit==="mb"?1024*1024:unit==="gb"?1024*1024*1024:1);if(cacheType){if(cacheType==="l1"){result2.cache[cacheType+"d"]=size2/2;result2.cache[cacheType+"i"]=size2/2}else{result2.cache[cacheType]=size2}}}if(callback){callback(result2)}resolve(result2)})}if(_darwin){exec3("sysctl hw.l1icachesize hw.l1dcachesize hw.l2cachesize hw.l3cachesize",function(error,stdout){if(!error){let lines=stdout.toString().split("\n");lines.forEach(function(line){let parts=line.split(":");if(parts[0].toLowerCase().indexOf("hw.l1icachesize")!==-1){result2.l1d=parseInt(parts[1].trim())*(parts[1].indexOf("K")!==-1?1024:1)}if(parts[0].toLowerCase().indexOf("hw.l1dcachesize")!==-1){result2.l1i=parseInt(parts[1].trim())*(parts[1].indexOf("K")!==-1?1024:1)}if(parts[0].toLowerCase().indexOf("hw.l2cachesize")!==-1){result2.l2=parseInt(parts[1].trim())*(parts[1].indexOf("K")!==-1?1024:1)}if(parts[0].toLowerCase().indexOf("hw.l3cachesize")!==-1){result2.l3=parseInt(parts[1].trim())*(parts[1].indexOf("K")!==-1?1024:1)}})}if(callback){callback(result2)}resolve(result2)})}if(_sunos){if(callback){callback(result2)}resolve(result2)}if(_windows){try{const workload=[];workload.push(util4.powerShell("Get-CimInstance Win32_processor | select L2CacheSize, L3CacheSize | fl"));workload.push(util4.powerShell("Get-CimInstance Win32_CacheMemory | select CacheType,InstalledSize,Level | fl"));Promise.all(workload).then(data=>{result2=parseWinCache(data[0],data[1]);if(callback){callback(result2)}resolve(result2)})}catch(e){if(callback){callback(result2)}resolve(result2)}}})})}function parseWinCache(linesProc,linesCache){let result2={l1d:null,l1i:null,l2:null,l3:null};let lines=linesProc.split("\r\n");result2.l1d=0;result2.l1i=0;result2.l2=util4.getValue(lines,"l2cachesize",":");result2.l3=util4.getValue(lines,"l3cachesize",":");if(result2.l2){result2.l2=parseInt(result2.l2,10)*1024}else{result2.l2=0}if(result2.l3){result2.l3=parseInt(result2.l3,10)*1024}else{result2.l3=0}const parts=linesCache.split(/\n\s*\n/);let l1i=0;let l1d=0;let l2=0;parts.forEach(function(part){const lines2=part.split("\r\n");const cacheType=util4.getValue(lines2,"CacheType");const level=util4.getValue(lines2,"Level");const installedSize=util4.getValue(lines2,"InstalledSize");if(level==="3"&&cacheType==="3"){result2.l1i=result2.l1i+parseInt(installedSize,10)*1024}if(level==="3"&&cacheType==="4"){result2.l1d=result2.l1d+parseInt(installedSize,10)*1024}if(level==="3"&&cacheType==="5"){l1i=parseInt(installedSize,10)/2;l1d=parseInt(installedSize,10)/2}if(level==="4"&&cacheType==="5"){l2=l2+parseInt(installedSize,10)*1024}});if(!result2.l1i&&!result2.l1d){result2.l1i=l1i;result2.l1d=l1d}if(l2){result2.l2=l2}return result2}exports2.cpuCache=cpuCache;function getLoad(){return new Promise(resolve=>{process.nextTick(()=>{let loads=os7.loadavg().map(function(x){return x/util4.cores()});let avgLoad=parseFloat(Math.max.apply(Math,loads).toFixed(2));let result2={};let now3=Date.now()-_current_cpu.ms;if(now3>=200){_current_cpu.ms=Date.now();const cpus2=os7.cpus().map(function(cpu2){cpu2.times.steal=0;cpu2.times.guest=0;return cpu2});let totalUser=0;let totalSystem=0;let totalNice=0;let totalIrq=0;let totalIdle=0;let totalSteal=0;let totalGuest=0;let cores=[];_corecount=cpus2&&cpus2.length?cpus2.length:0;if(_linux){try{const lines=execSync("cat /proc/stat 2>/dev/null | grep cpu",util4.execOptsLinux).toString().split("\n");if(lines.length>1){lines.shift();if(lines.length===cpus2.length){for(let i=0;i<lines.length;i++){let parts=lines[i].split(" ");if(parts.length>=10){const steal=parseFloat(parts[8])||0;const guest=parseFloat(parts[9])||0;cpus2[i].times.steal=steal;cpus2[i].times.guest=guest}}}}}catch(e){util4.noop()}}for(let i=0;i<_corecount;i++){const cpu2=cpus2[i].times;totalUser+=cpu2.user;totalSystem+=cpu2.sys;totalNice+=cpu2.nice;totalIdle+=cpu2.idle;totalIrq+=cpu2.irq;totalSteal+=cpu2.steal||0;totalGuest+=cpu2.guest||0;let tmpTick=_cpus&&_cpus[i]&&_cpus[i].totalTick?_cpus[i].totalTick:0;let tmpLoad=_cpus&&_cpus[i]&&_cpus[i].totalLoad?_cpus[i].totalLoad:0;let tmpUser=_cpus&&_cpus[i]&&_cpus[i].user?_cpus[i].user:0;let tmpSystem=_cpus&&_cpus[i]&&_cpus[i].sys?_cpus[i].sys:0;let tmpNice=_cpus&&_cpus[i]&&_cpus[i].nice?_cpus[i].nice:0;let tmpIdle=_cpus&&_cpus[i]&&_cpus[i].idle?_cpus[i].idle:0;let tmpIrq=_cpus&&_cpus[i]&&_cpus[i].irq?_cpus[i].irq:0;let tmpSteal=_cpus&&_cpus[i]&&_cpus[i].steal?_cpus[i].steal:0;let tmpGuest=_cpus&&_cpus[i]&&_cpus[i].guest?_cpus[i].guest:0;_cpus[i]=cpu2;_cpus[i].totalTick=_cpus[i].user+_cpus[i].sys+_cpus[i].nice+_cpus[i].irq+_cpus[i].steal+_cpus[i].guest+_cpus[i].idle;_cpus[i].totalLoad=_cpus[i].user+_cpus[i].sys+_cpus[i].nice+_cpus[i].irq+_cpus[i].steal+_cpus[i].guest;_cpus[i].currentTick=_cpus[i].totalTick-tmpTick;_cpus[i].load=_cpus[i].totalLoad-tmpLoad;_cpus[i].loadUser=_cpus[i].user-tmpUser;_cpus[i].loadSystem=_cpus[i].sys-tmpSystem;_cpus[i].loadNice=_cpus[i].nice-tmpNice;_cpus[i].loadIdle=_cpus[i].idle-tmpIdle;_cpus[i].loadIrq=_cpus[i].irq-tmpIrq;_cpus[i].loadSteal=_cpus[i].steal-tmpSteal;_cpus[i].loadGuest=_cpus[i].guest-tmpGuest;cores[i]={};cores[i].load=_cpus[i].load/_cpus[i].currentTick*100;cores[i].loadUser=_cpus[i].loadUser/_cpus[i].currentTick*100;cores[i].loadSystem=_cpus[i].loadSystem/_cpus[i].currentTick*100;cores[i].loadNice=_cpus[i].loadNice/_cpus[i].currentTick*100;cores[i].loadIdle=_cpus[i].loadIdle/_cpus[i].currentTick*100;cores[i].loadIrq=_cpus[i].loadIrq/_cpus[i].currentTick*100;cores[i].loadSteal=_cpus[i].loadSteal/_cpus[i].currentTick*100;cores[i].loadGuest=_cpus[i].loadGuest/_cpus[i].currentTick*100;cores[i].rawLoad=_cpus[i].load;cores[i].rawLoadUser=_cpus[i].loadUser;cores[i].rawLoadSystem=_cpus[i].loadSystem;cores[i].rawLoadNice=_cpus[i].loadNice;cores[i].rawLoadIdle=_cpus[i].loadIdle;cores[i].rawLoadIrq=_cpus[i].loadIrq;cores[i].rawLoadSteal=_cpus[i].loadSteal;cores[i].rawLoadGuest=_cpus[i].loadGuest}let totalTick=totalUser+totalSystem+totalNice+totalIrq+totalSteal+totalGuest+totalIdle;let totalLoad=totalUser+totalSystem+totalNice+totalIrq+totalSteal+totalGuest;let currentTick=totalTick-_current_cpu.tick;result2={avgLoad,currentLoad:(totalLoad-_current_cpu.load)/currentTick*100,currentLoadUser:(totalUser-_current_cpu.user)/currentTick*100,currentLoadSystem:(totalSystem-_current_cpu.system)/currentTick*100,currentLoadNice:(totalNice-_current_cpu.nice)/currentTick*100,currentLoadIdle:(totalIdle-_current_cpu.idle)/currentTick*100,currentLoadIrq:(totalIrq-_current_cpu.irq)/currentTick*100,currentLoadSteal:(totalSteal-_current_cpu.steal)/currentTick*100,currentLoadGuest:(totalGuest-_current_cpu.guest)/currentTick*100,rawCurrentLoad:totalLoad-_current_cpu.load,rawCurrentLoadUser:totalUser-_current_cpu.user,rawCurrentLoadSystem:totalSystem-_current_cpu.system,rawCurrentLoadNice:totalNice-_current_cpu.nice,rawCurrentLoadIdle:totalIdle-_current_cpu.idle,rawCurrentLoadIrq:totalIrq-_current_cpu.irq,rawCurrentLoadSteal:totalSteal-_current_cpu.steal,rawCurrentLoadGuest:totalGuest-_current_cpu.guest,cpus:cores};_current_cpu={user:totalUser,nice:totalNice,system:totalSystem,idle:totalIdle,irq:totalIrq,steal:totalSteal,guest:totalGuest,tick:totalTick,load:totalLoad,ms:_current_cpu.ms,currentLoad:result2.currentLoad,currentLoadUser:result2.currentLoadUser,currentLoadSystem:result2.currentLoadSystem,currentLoadNice:result2.currentLoadNice,currentLoadIdle:result2.currentLoadIdle,currentLoadIrq:result2.currentLoadIrq,currentLoadSteal:result2.currentLoadSteal,currentLoadGuest:result2.currentLoadGuest,rawCurrentLoad:result2.rawCurrentLoad,rawCurrentLoadUser:result2.rawCurrentLoadUser,rawCurrentLoadSystem:result2.rawCurrentLoadSystem,rawCurrentLoadNice:result2.rawCurrentLoadNice,rawCurrentLoadIdle:result2.rawCurrentLoadIdle,rawCurrentLoadIrq:result2.rawCurrentLoadIrq,rawCurrentLoadSteal:result2.rawCurrentLoadSteal,rawCurrentLoadGuest:result2.rawCurrentLoadGuest}}else{let cores=[];for(let i=0;i<_corecount;i++){cores[i]={};cores[i].load=_cpus[i].load/_cpus[i].currentTick*100;cores[i].loadUser=_cpus[i].loadUser/_cpus[i].currentTick*100;cores[i].loadSystem=_cpus[i].loadSystem/_cpus[i].currentTick*100;cores[i].loadNice=_cpus[i].loadNice/_cpus[i].currentTick*100;cores[i].loadIdle=_cpus[i].loadIdle/_cpus[i].currentTick*100;cores[i].loadIrq=_cpus[i].loadIrq/_cpus[i].currentTick*100;cores[i].rawLoad=_cpus[i].load;cores[i].rawLoadUser=_cpus[i].loadUser;cores[i].rawLoadSystem=_cpus[i].loadSystem;cores[i].rawLoadNice=_cpus[i].loadNice;cores[i].rawLoadIdle=_cpus[i].loadIdle;cores[i].rawLoadIrq=_cpus[i].loadIrq;cores[i].rawLoadSteal=_cpus[i].loadSteal;cores[i].rawLoadGuest=_cpus[i].loadGuest}result2={avgLoad,currentLoad:_current_cpu.currentLoad,currentLoadUser:_current_cpu.currentLoadUser,currentLoadSystem:_current_cpu.currentLoadSystem,currentLoadNice:_current_cpu.currentLoadNice,currentLoadIdle:_current_cpu.currentLoadIdle,currentLoadIrq:_current_cpu.currentLoadIrq,currentLoadSteal:_current_cpu.currentLoadSteal,currentLoadGuest:_current_cpu.currentLoadGuest,rawCurrentLoad:_current_cpu.rawCurrentLoad,rawCurrentLoadUser:_current_cpu.rawCurrentLoadUser,rawCurrentLoadSystem:_current_cpu.rawCurrentLoadSystem,rawCurrentLoadNice:_current_cpu.rawCurrentLoadNice,rawCurrentLoadIdle:_current_cpu.rawCurrentLoadIdle,rawCurrentLoadIrq:_current_cpu.rawCurrentLoadIrq,rawCurrentLoadSteal:_current_cpu.rawCurrentLoadSteal,rawCurrentLoadGuest:_current_cpu.rawCurrentLoadGuest,cpus:cores}}resolve(result2)})})}function currentLoad(callback){return new Promise(resolve=>{process.nextTick(()=>{getLoad().then(result2=>{if(callback){callback(result2)}resolve(result2)})})})}exports2.currentLoad=currentLoad;function getFullLoad(){return new Promise(resolve=>{process.nextTick(()=>{const cpus2=os7.cpus();let totalUser=0;let totalSystem=0;let totalNice=0;let totalIrq=0;let totalIdle=0;let result2=0;if(cpus2&&cpus2.length){for(let i=0,len=cpus2.length;i<len;i++){const cpu2=cpus2[i].times;totalUser+=cpu2.user;totalSystem+=cpu2.sys;totalNice+=cpu2.nice;totalIrq+=cpu2.irq;totalIdle+=cpu2.idle}let totalTicks=totalIdle+totalIrq+totalNice+totalSystem+totalUser;result2=(totalTicks-totalIdle)/totalTicks*100}resolve(result2)})})}function fullLoad(callback){return new Promise(resolve=>{process.nextTick(()=>{getFullLoad().then(result2=>{if(callback){callback(result2)}resolve(result2)})})})}exports2.fullLoad=fullLoad}});var require_memory=__commonJS({"node_modules/systeminformation/lib/memory.js"(exports2){"use strict";var os7=require("os");var exec3=require("child_process").exec;var execSync=require("child_process").execSync;var util4=require_util2();var fs14=require("fs");var _platform=process.platform;var _linux=_platform==="linux"||_platform==="android";var _darwin=_platform==="darwin";var _windows=_platform==="win32";var _freebsd=_platform==="freebsd";var _openbsd=_platform==="openbsd";var _netbsd=_platform==="netbsd";var _sunos=_platform==="sunos";var OSX_RAM_manufacturers={"0x014F":"Transcend Information","0x2C00":"Micron Technology Inc.","0x802C":"Micron Technology Inc.","0x80AD":"Hynix Semiconductor Inc.","0x80CE":"Samsung Electronics Inc.","0xAD00":"Hynix Semiconductor Inc.","0xCE00":"Samsung Electronics Inc.","0x02FE":"Elpida","0x5105":"Qimonda AG i. In.","0x8551":"Qimonda AG i. In.","0x859B":"Crucial","0x04CD":"G-Skill"};var LINUX_RAM_manufacturers={"017A":"Apacer","0198":"HyperX","029E":"Corsair","04CB":"A-DATA","04CD":"G-Skill","059B":"Crucial","00CE":"Samsung","1315":"Crucial","014F":"Transcend Information","2C00":"Micron Technology Inc.","802C":"Micron Technology Inc.","80AD":"Hynix Semiconductor Inc.","80CE":"Samsung Electronics Inc.","AD00":"Hynix Semiconductor Inc.","CE00":"Samsung Electronics Inc.","02FE":"Elpida","5105":"Qimonda AG i. In.","8551":"Qimonda AG i. In.","859B":"Crucial"};function mem(callback){return new Promise(resolve=>{process.nextTick(()=>{let result2={total:os7.totalmem(),free:os7.freemem(),used:os7.totalmem()-os7.freemem(),active:os7.totalmem()-os7.freemem(),available:os7.freemem(),buffers:0,cached:0,slab:0,buffcache:0,swaptotal:0,swapused:0,swapfree:0,writeback:null,dirty:null};if(_linux){try{fs14.readFile("/proc/meminfo",function(error,stdout){if(!error){const lines=stdout.toString().split("\n");result2.total=parseInt(util4.getValue(lines,"memtotal"),10);result2.total=result2.total?result2.total*1024:os7.totalmem();result2.free=parseInt(util4.getValue(lines,"memfree"),10);result2.free=result2.free?result2.free*1024:os7.freemem();result2.used=result2.total-result2.free;result2.buffers=parseInt(util4.getValue(lines,"buffers"),10);result2.buffers=result2.buffers?result2.buffers*1024:0;result2.cached=parseInt(util4.getValue(lines,"cached"),10);result2.cached=result2.cached?result2.cached*1024:0;result2.slab=parseInt(util4.getValue(lines,"slab"),10);result2.slab=result2.slab?result2.slab*1024:0;result2.buffcache=result2.buffers+result2.cached+result2.slab;let available=parseInt(util4.getValue(lines,"memavailable"),10);result2.available=available?available*1024:result2.free+result2.buffcache;result2.active=result2.total-result2.available;result2.swaptotal=parseInt(util4.getValue(lines,"swaptotal"),10);result2.swaptotal=result2.swaptotal?result2.swaptotal*1024:0;result2.swapfree=parseInt(util4.getValue(lines,"swapfree"),10);result2.swapfree=result2.swapfree?result2.swapfree*1024:0;result2.swapused=result2.swaptotal-result2.swapfree;result2.writeback=parseInt(util4.getValue(lines,"writeback"),10);result2.writeback=result2.writeback?result2.writeback*1024:0;result2.dirty=parseInt(util4.getValue(lines,"dirty"),10);result2.dirty=result2.dirty?result2.dirty*1024:0}if(callback){callback(result2)}resolve(result2)})}catch(e){if(callback){callback(result2)}resolve(result2)}}if(_freebsd||_openbsd||_netbsd){try{exec3("/sbin/sysctl hw.realmem hw.physmem vm.stats.vm.v_page_count vm.stats.vm.v_wire_count vm.stats.vm.v_active_count vm.stats.vm.v_inactive_count vm.stats.vm.v_cache_count vm.stats.vm.v_free_count vm.stats.vm.v_page_size",function(error,stdout){if(!error){let lines=stdout.toString().split("\n");const pagesize=parseInt(util4.getValue(lines,"vm.stats.vm.v_page_size"),10);const inactive=parseInt(util4.getValue(lines,"vm.stats.vm.v_inactive_count"),10)*pagesize;const cache2=parseInt(util4.getValue(lines,"vm.stats.vm.v_cache_count"),10)*pagesize;result2.total=parseInt(util4.getValue(lines,"hw.realmem"),10);if(isNaN(result2.total)){result2.total=parseInt(util4.getValue(lines,"hw.physmem"),10)}result2.free=parseInt(util4.getValue(lines,"vm.stats.vm.v_free_count"),10)*pagesize;result2.buffcache=inactive+cache2;result2.available=result2.buffcache+result2.free;result2.active=result2.total-result2.free-result2.buffcache;result2.swaptotal=0;result2.swapfree=0;result2.swapused=0}if(callback){callback(result2)}resolve(result2)})}catch(e){if(callback){callback(result2)}resolve(result2)}}if(_sunos){if(callback){callback(result2)}resolve(result2)}if(_darwin){let pageSize=4096;try{let sysPpageSize=util4.toInt(execSync("sysctl -n vm.pagesize").toString());pageSize=sysPpageSize||pageSize}catch(e){util4.noop()}try{exec3('vm_stat 2>/dev/null | grep "Pages active"',function(error,stdout){if(!error){let lines=stdout.toString().split("\n");result2.active=parseInt(lines[0].split(":")[1],10)*pageSize;result2.buffcache=result2.used-result2.active;result2.available=result2.free+result2.buffcache}exec3("sysctl -n vm.swapusage 2>/dev/null",function(error2,stdout2){if(!error2){let lines=stdout2.toString().split("\n");if(lines.length>0){let firstline=lines[0].replace(/,/g,".").replace(/M/g,"");let lineArray=firstline.trim().split("  ");lineArray.forEach(line=>{if(line.toLowerCase().indexOf("total")!==-1){result2.swaptotal=parseFloat(line.split("=")[1].trim())*1024*1024}if(line.toLowerCase().indexOf("used")!==-1){result2.swapused=parseFloat(line.split("=")[1].trim())*1024*1024}if(line.toLowerCase().indexOf("free")!==-1){result2.swapfree=parseFloat(line.split("=")[1].trim())*1024*1024}})}}if(callback){callback(result2)}resolve(result2)})})}catch(e){if(callback){callback(result2)}resolve(result2)}}if(_windows){let swaptotal=0;let swapused=0;try{util4.powerShell("Get-CimInstance Win32_PageFileUsage | Select AllocatedBaseSize, CurrentUsage").then((stdout,error)=>{if(!error){let lines=stdout.split("\r\n").filter(line=>line.trim()!=="").filter((line,idx)=>idx>0);lines.forEach(function(line){if(line!==""){line=line.trim().split(/\s\s+/);swaptotal=swaptotal+(parseInt(line[0],10)||0);swapused=swapused+(parseInt(line[1],10)||0)}})}result2.swaptotal=swaptotal*1024*1024;result2.swapused=swapused*1024*1024;result2.swapfree=result2.swaptotal-result2.swapused;if(callback){callback(result2)}resolve(result2)})}catch(e){if(callback){callback(result2)}resolve(result2)}}})})}exports2.mem=mem;function memLayout(callback){function getManufacturerDarwin(manId){if({}.hasOwnProperty.call(OSX_RAM_manufacturers,manId)){return OSX_RAM_manufacturers[manId]}return manId}function getManufacturerLinux(manId){const manIdSearch=manId.replace("0x","").toUpperCase();if(manIdSearch.length===4&&{}.hasOwnProperty.call(LINUX_RAM_manufacturers,manIdSearch)){return LINUX_RAM_manufacturers[manIdSearch]}return manId}return new Promise(resolve=>{process.nextTick(()=>{let result2=[];if(_linux||_freebsd||_openbsd||_netbsd){exec3('export LC_ALL=C; dmidecode -t memory 2>/dev/null | grep -iE "Size:|Type|Speed|Manufacturer|Form Factor|Locator|Memory Device|Serial Number|Voltage|Part Number"; unset LC_ALL',function(error,stdout){if(!error){let devices=stdout.toString().split("Memory Device");devices.shift();devices.forEach(function(device){let lines=device.split("\n");const sizeString=util4.getValue(lines,"Size");const size2=sizeString.indexOf("GB")>=0?parseInt(sizeString,10)*1024*1024*1024:parseInt(sizeString,10)*1024*1024;let bank=util4.getValue(lines,"Bank Locator");if(bank.toLowerCase().indexOf("bad")>=0){bank=""}if(parseInt(util4.getValue(lines,"Size"),10)>0){const totalWidth=util4.toInt(util4.getValue(lines,"Total Width"));const dataWidth=util4.toInt(util4.getValue(lines,"Data Width"));result2.push({size:size2,bank,type:util4.getValue(lines,"Type:"),ecc:dataWidth&&totalWidth?totalWidth>dataWidth:false,clockSpeed:util4.getValue(lines,"Configured Clock Speed:")?parseInt(util4.getValue(lines,"Configured Clock Speed:"),10):util4.getValue(lines,"Speed:")?parseInt(util4.getValue(lines,"Speed:"),10):null,formFactor:util4.getValue(lines,"Form Factor:"),manufacturer:getManufacturerLinux(util4.getValue(lines,"Manufacturer:")),partNum:util4.getValue(lines,"Part Number:"),serialNum:util4.getValue(lines,"Serial Number:"),voltageConfigured:parseFloat(util4.getValue(lines,"Configured Voltage:"))||null,voltageMin:parseFloat(util4.getValue(lines,"Minimum Voltage:"))||null,voltageMax:parseFloat(util4.getValue(lines,"Maximum Voltage:"))||null})}else{result2.push({size:0,bank,type:"Empty",ecc:null,clockSpeed:0,formFactor:util4.getValue(lines,"Form Factor:"),partNum:"",serialNum:"",voltageConfigured:null,voltageMin:null,voltageMax:null})}})}if(!result2.length){result2.push({size:os7.totalmem(),bank:"",type:"",ecc:null,clockSpeed:0,formFactor:"",partNum:"",serialNum:"",voltageConfigured:null,voltageMin:null,voltageMax:null});try{let stdout2=execSync("cat /proc/cpuinfo 2>/dev/null",util4.execOptsLinux);let lines=stdout2.toString().split("\n");let model=util4.getValue(lines,"hardware",":",true).toUpperCase();let version=util4.getValue(lines,"revision",":",true).toLowerCase();if(model==="BCM2835"||model==="BCM2708"||model==="BCM2709"||model==="BCM2835"||model==="BCM2837"){const clockSpeed={"0":400,"1":450,"2":450,"3":3200};result2[0].type="LPDDR2";result2[0].type=version&&version[2]&&version[2]==="3"?"LPDDR4":result2[0].type;result2[0].ecc=false;result2[0].clockSpeed=version&&version[2]&&clockSpeed[version[2]]||400;result2[0].clockSpeed=version&&version[4]&&version[4]==="d"?500:result2[0].clockSpeed;result2[0].formFactor="SoC";stdout2=execSync("vcgencmd get_config sdram_freq 2>/dev/null",util4.execOptsLinux);lines=stdout2.toString().split("\n");let freq=parseInt(util4.getValue(lines,"sdram_freq","=",true),10)||0;if(freq){result2[0].clockSpeed=freq}stdout2=execSync("vcgencmd measure_volts sdram_p 2>/dev/null",util4.execOptsLinux);lines=stdout2.toString().split("\n");let voltage=parseFloat(util4.getValue(lines,"volt","=",true))||0;if(voltage){result2[0].voltageConfigured=voltage;result2[0].voltageMin=voltage;result2[0].voltageMax=voltage}}}catch(e){util4.noop()}}if(callback){callback(result2)}resolve(result2)})}if(_darwin){exec3("system_profiler SPMemoryDataType",function(error,stdout){if(!error){const allLines=stdout.toString().split("\n");const eccStatus=util4.getValue(allLines,"ecc",":",true).toLowerCase();let devices=stdout.toString().split("        BANK ");let hasBank=true;if(devices.length===1){devices=stdout.toString().split("        DIMM");hasBank=false}devices.shift();devices.forEach(function(device){let lines=device.split("\n");const bank=(hasBank?"BANK ":"DIMM")+lines[0].trim().split("/")[0];const size2=parseInt(util4.getValue(lines,"          Size"));if(size2){result2.push({size:size2*1024*1024*1024,bank,type:util4.getValue(lines,"          Type:"),ecc:eccStatus?eccStatus==="enabled":null,clockSpeed:parseInt(util4.getValue(lines,"          Speed:"),10),formFactor:"",manufacturer:getManufacturerDarwin(util4.getValue(lines,"          Manufacturer:")),partNum:util4.getValue(lines,"          Part Number:"),serialNum:util4.getValue(lines,"          Serial Number:"),voltageConfigured:null,voltageMin:null,voltageMax:null})}else{result2.push({size:0,bank,type:"Empty",ecc:null,clockSpeed:0,formFactor:"",manufacturer:"",partNum:"",serialNum:"",voltageConfigured:null,voltageMin:null,voltageMax:null})}})}if(!result2.length){const lines=stdout.toString().split("\n");const size2=parseInt(util4.getValue(lines,"      Memory:"));const type2=util4.getValue(lines,"      Type:");const manufacturerId=util4.getValue(lines,"      Manufacturer:");if(size2&&type2){result2.push({size:size2*1024*1024*1024,bank:"0",type:type2,ecc:false,clockSpeed:null,formFactor:"SOC",manufacturer:getManufacturerDarwin(manufacturerId),partNum:"",serialNum:"",voltageConfigured:null,voltageMin:null,voltageMax:null})}}if(callback){callback(result2)}resolve(result2)})}if(_sunos){if(callback){callback(result2)}resolve(result2)}if(_windows){const memoryTypes="Unknown|Other|DRAM|Synchronous DRAM|Cache DRAM|EDO|EDRAM|VRAM|SRAM|RAM|ROM|FLASH|EEPROM|FEPROM|EPROM|CDRAM|3DRAM|SDRAM|SGRAM|RDRAM|DDR|DDR2|DDR2 FB-DIMM|Reserved|DDR3|FBD2|DDR4|LPDDR|LPDDR2|LPDDR3|LPDDR4|Logical non-volatile device|HBM|HBM2|DDR5|LPDDR5".split("|");const FormFactors="Unknown|Other|SIP|DIP|ZIP|SOJ|Proprietary|SIMM|DIMM|TSOP|PGA|RIMM|SODIMM|SRIMM|SMD|SSMP|QFP|TQFP|SOIC|LCC|PLCC|BGA|FPBGA|LGA".split("|");try{util4.powerShell("Get-CimInstance Win32_PhysicalMemory | select DataWidth,TotalWidth,Capacity,BankLabel,MemoryType,SMBIOSMemoryType,ConfiguredClockSpeed,Speed,FormFactor,Manufacturer,PartNumber,SerialNumber,ConfiguredVoltage,MinVoltage,MaxVoltage,Tag | fl").then((stdout,error)=>{if(!error){let devices=stdout.toString().split(/\n\s*\n/);devices.shift();devices.forEach(function(device){let lines=device.split("\r\n");const dataWidth=util4.toInt(util4.getValue(lines,"DataWidth",":"));const totalWidth=util4.toInt(util4.getValue(lines,"TotalWidth",":"));const size2=parseInt(util4.getValue(lines,"Capacity",":"),10)||0;const tag=util4.getValue(lines,"Tag",":");const tagInt=util4.splitByNumber(tag);if(size2){result2.push({size:size2,bank:util4.getValue(lines,"BankLabel",":")+(tagInt[1]?"/"+tagInt[1]:""),type:memoryTypes[parseInt(util4.getValue(lines,"MemoryType",":"),10)||parseInt(util4.getValue(lines,"SMBIOSMemoryType",":"),10)],ecc:dataWidth&&totalWidth?totalWidth>dataWidth:false,clockSpeed:parseInt(util4.getValue(lines,"ConfiguredClockSpeed",":"),10)||parseInt(util4.getValue(lines,"Speed",":"),10)||0,formFactor:FormFactors[parseInt(util4.getValue(lines,"FormFactor",":"),10)||0],manufacturer:util4.getValue(lines,"Manufacturer",":"),partNum:util4.getValue(lines,"PartNumber",":"),serialNum:util4.getValue(lines,"SerialNumber",":"),voltageConfigured:(parseInt(util4.getValue(lines,"ConfiguredVoltage",":"),10)||0)/1e3,voltageMin:(parseInt(util4.getValue(lines,"MinVoltage",":"),10)||0)/1e3,voltageMax:(parseInt(util4.getValue(lines,"MaxVoltage",":"),10)||0)/1e3})}})}if(callback){callback(result2)}resolve(result2)})}catch(e){if(callback){callback(result2)}resolve(result2)}}})})}exports2.memLayout=memLayout}});var require_battery=__commonJS({"node_modules/systeminformation/lib/battery.js"(exports2,module2){"use strict";var exec3=require("child_process").exec;var fs14=require("fs");var util4=require_util2();var _platform=process.platform;var _linux=_platform==="linux"||_platform==="android";var _darwin=_platform==="darwin";var _windows=_platform==="win32";var _freebsd=_platform==="freebsd";var _openbsd=_platform==="openbsd";var _netbsd=_platform==="netbsd";var _sunos=_platform==="sunos";function parseWinBatteryPart(lines,designedCapacity,fullChargeCapacity){const result2={};let status=util4.getValue(lines,"BatteryStatus",":").trim();if(status>=0){const statusValue=status?parseInt(status):0;result2.status=statusValue;result2.hasBattery=true;result2.maxCapacity=fullChargeCapacity||parseInt(util4.getValue(lines,"DesignCapacity",":")||0);result2.designedCapacity=parseInt(util4.getValue(lines,"DesignCapacity",":")||designedCapacity);result2.voltage=parseInt(util4.getValue(lines,"DesignVoltage",":")||0)/1e3;result2.capacityUnit="mWh";result2.percent=parseInt(util4.getValue(lines,"EstimatedChargeRemaining",":")||0);result2.currentCapacity=parseInt(result2.maxCapacity*result2.percent/100);result2.isCharging=statusValue>=6&&statusValue<=9||statusValue===11||statusValue!==3&&statusValue!==1&&result2.percent<100;result2.acConnected=result2.isCharging||statusValue===2;result2.model=util4.getValue(lines,"DeviceID",":")}else{result2.status=-1}return result2}module2.exports=function(callback){return new Promise(resolve=>{process.nextTick(()=>{let result2={hasBattery:false,cycleCount:0,isCharging:false,designedCapacity:0,maxCapacity:0,currentCapacity:0,voltage:0,capacityUnit:"",percent:0,timeRemaining:null,acConnected:true,type:"",model:"",manufacturer:"",serial:""};if(_linux){let battery_path="";if(fs14.existsSync("/sys/class/power_supply/BAT1/uevent")){battery_path="/sys/class/power_supply/BAT1/"}else if(fs14.existsSync("/sys/class/power_supply/BAT0/uevent")){battery_path="/sys/class/power_supply/BAT0/"}let acConnected=false;let acPath="";if(fs14.existsSync("/sys/class/power_supply/AC/online")){acPath="/sys/class/power_supply/AC/online"}else if(fs14.existsSync("/sys/class/power_supply/AC0/online")){acPath="/sys/class/power_supply/AC0/online"}if(acPath){const file=fs14.readFileSync(acPath);acConnected=file.toString().trim()==="1"}if(battery_path){fs14.readFile(battery_path+"uevent",function(error,stdout){if(!error){let lines=stdout.toString().split("\n");result2.isCharging=util4.getValue(lines,"POWER_SUPPLY_STATUS","=").toLowerCase()==="charging";result2.acConnected=acConnected||result2.isCharging;result2.voltage=parseInt("0"+util4.getValue(lines,"POWER_SUPPLY_VOLTAGE_NOW","="),10)/1e6;result2.capacityUnit=result2.voltage?"mWh":"mAh";result2.cycleCount=parseInt("0"+util4.getValue(lines,"POWER_SUPPLY_CYCLE_COUNT","="),10);result2.maxCapacity=Math.round(parseInt("0"+util4.getValue(lines,"POWER_SUPPLY_CHARGE_FULL","=",true,true),10)/1e3*(result2.voltage||1));const desingedMinVoltage=parseInt("0"+util4.getValue(lines,"POWER_SUPPLY_VOLTAGE_MIN_DESIGN","="),10)/1e6;result2.designedCapacity=Math.round(parseInt("0"+util4.getValue(lines,"POWER_SUPPLY_CHARGE_FULL_DESIGN","=",true,true),10)/1e3*(desingedMinVoltage||result2.voltage||1));result2.currentCapacity=Math.round(parseInt("0"+util4.getValue(lines,"POWER_SUPPLY_CHARGE_NOW","="),10)/1e3*(result2.voltage||1));if(!result2.maxCapacity){result2.maxCapacity=parseInt("0"+util4.getValue(lines,"POWER_SUPPLY_ENERGY_FULL","=",true,true),10)/1e3;result2.designedCapacity=parseInt("0"+util4.getValue(lines,"POWER_SUPPLY_ENERGY_FULL_DESIGN","=",true,true),10)/1e3|result2.maxCapacity;result2.currentCapacity=parseInt("0"+util4.getValue(lines,"POWER_SUPPLY_ENERGY_NOW","="),10)/1e3}const percent=util4.getValue(lines,"POWER_SUPPLY_CAPACITY","=");const energy=parseInt("0"+util4.getValue(lines,"POWER_SUPPLY_ENERGY_NOW","="),10);const power=parseInt("0"+util4.getValue(lines,"POWER_SUPPLY_POWER_NOW","="),10);const current=parseInt("0"+util4.getValue(lines,"POWER_SUPPLY_CURRENT_NOW","="),10);const charge=parseInt("0"+util4.getValue(lines,"POWER_SUPPLY_CHARGE_NOW","="),10);result2.percent=parseInt("0"+percent,10);if(result2.maxCapacity&&result2.currentCapacity){result2.hasBattery=true;if(!percent){result2.percent=100*result2.currentCapacity/result2.maxCapacity}}if(result2.isCharging){result2.hasBattery=true}if(energy&&power){result2.timeRemaining=Math.floor(energy/power*60)}else if(current&&charge){result2.timeRemaining=Math.floor(charge/current*60)}else if(current&&result2.currentCapacity){result2.timeRemaining=Math.floor(result2.currentCapacity/current*60)}result2.type=util4.getValue(lines,"POWER_SUPPLY_TECHNOLOGY","=");result2.model=util4.getValue(lines,"POWER_SUPPLY_MODEL_NAME","=");result2.manufacturer=util4.getValue(lines,"POWER_SUPPLY_MANUFACTURER","=");result2.serial=util4.getValue(lines,"POWER_SUPPLY_SERIAL_NUMBER","=");if(callback){callback(result2)}resolve(result2)}else{if(callback){callback(result2)}resolve(result2)}})}else{if(callback){callback(result2)}resolve(result2)}}if(_freebsd||_openbsd||_netbsd){exec3("sysctl -i hw.acpi.battery hw.acpi.acline",function(error,stdout){let lines=stdout.toString().split("\n");const batteries=parseInt("0"+util4.getValue(lines,"hw.acpi.battery.units"),10);const percent=parseInt("0"+util4.getValue(lines,"hw.acpi.battery.life"),10);result2.hasBattery=batteries>0;result2.cycleCount=null;result2.isCharging=util4.getValue(lines,"hw.acpi.acline")!=="1";result2.acConnected=result2.isCharging;result2.maxCapacity=null;result2.currentCapacity=null;result2.capacityUnit="unknown";result2.percent=batteries?percent:null;if(callback){callback(result2)}resolve(result2)})}if(_darwin){exec3('ioreg -n AppleSmartBattery -r | egrep "CycleCount|IsCharging|DesignCapacity|MaxCapacity|CurrentCapacity|DeviceName|BatterySerialNumber|Serial|TimeRemaining|Voltage"; pmset -g batt | grep %',function(error,stdout){if(stdout){let lines=stdout.toString().replace(/ +/g,"").replace(/"+/g,"").replace(/-/g,"").split("\n");result2.cycleCount=parseInt("0"+util4.getValue(lines,"cyclecount","="),10);result2.voltage=parseInt("0"+util4.getValue(lines,"voltage","="),10)/1e3;result2.capacityUnit=result2.voltage?"mWh":"mAh";result2.maxCapacity=Math.round(parseInt("0"+util4.getValue(lines,"applerawmaxcapacity","="),10)*(result2.voltage||1));result2.currentCapacity=Math.round(parseInt("0"+util4.getValue(lines,"applerawcurrentcapacity","="),10)*(result2.voltage||1));result2.designedCapacity=Math.round(parseInt("0"+util4.getValue(lines,"DesignCapacity","="),10)*(result2.voltage||1));result2.manufacturer="Apple";result2.serial=util4.getValue(lines,"BatterySerialNumber","=")||util4.getValue(lines,"Serial","=");result2.model=util4.getValue(lines,"DeviceName","=");let percent=null;const line=util4.getValue(lines,"internal","Battery");let parts=line.split(";");if(parts&&parts[0]){let parts2=parts[0].split("	");if(parts2&&parts2[1]){percent=parseFloat(parts2[1].trim().replace(/%/g,""))}}if(parts&&parts[1]){result2.isCharging=parts[1].trim()==="charging";result2.acConnected=parts[1].trim()!=="discharging"}else{result2.isCharging=util4.getValue(lines,"ischarging","=").toLowerCase()==="yes";result2.acConnected=result2.isCharging}if(result2.maxCapacity&&result2.currentCapacity){result2.hasBattery=true;result2.type="Li-ion";result2.percent=percent!==null?percent:Math.round(100*result2.currentCapacity/result2.maxCapacity);if(!result2.isCharging){result2.timeRemaining=parseInt("0"+util4.getValue(lines,"TimeRemaining","="),10)}}}if(callback){callback(result2)}resolve(result2)})}if(_sunos){if(callback){callback(result2)}resolve(result2)}if(_windows){try{const workload=[];workload.push(util4.powerShell("Get-CimInstance Win32_Battery | select BatteryStatus, DesignCapacity, DesignVoltage, EstimatedChargeRemaining, DeviceID | fl"));workload.push(util4.powerShell("(Get-WmiObject -Class BatteryStaticData -Namespace ROOT/WMI).DesignedCapacity"));workload.push(util4.powerShell("(Get-CimInstance -Class BatteryFullChargedCapacity -Namespace ROOT/WMI).FullChargedCapacity"));util4.promiseAll(workload).then(data=>{if(data){let parts=data.results[0].split(/\n\s*\n/);let batteries=[];const hasValue=value=>/\S/.test(value);for(let i=0;i<parts.length;i++){if(hasValue(parts[i])&&(!batteries.length||!hasValue(parts[i-1]))){batteries.push([])}if(hasValue(parts[i])){batteries[batteries.length-1].push(parts[i])}}let designCapacities=data.results[1].split("\r\n").filter(e=>e);let fullChargeCapacities=data.results[2].split("\r\n").filter(e=>e);if(batteries.length){let first=false;let additionalBatteries=[];for(let i=0;i<batteries.length;i++){let lines=batteries[i][0].split("\r\n");const designedCapacity=designCapacities&&designCapacities.length>=i+1&&designCapacities[i]?util4.toInt(designCapacities[i]):0;const fullChargeCapacity=fullChargeCapacities&&fullChargeCapacities.length>=i+1&&fullChargeCapacities[i]?util4.toInt(fullChargeCapacities[i]):0;const parsed=parseWinBatteryPart(lines,designedCapacity,fullChargeCapacity);if(!first&&parsed.status>0&&parsed.status!==10){result2.hasBattery=parsed.hasBattery;result2.maxCapacity=parsed.maxCapacity;result2.designedCapacity=parsed.designedCapacity;result2.voltage=parsed.voltage;result2.capacityUnit=parsed.capacityUnit;result2.percent=parsed.percent;result2.currentCapacity=parsed.currentCapacity;result2.isCharging=parsed.isCharging;result2.acConnected=parsed.acConnected;result2.model=parsed.model;first=true}else if(parsed.status!==-1){additionalBatteries.push({hasBattery:parsed.hasBattery,maxCapacity:parsed.maxCapacity,designedCapacity:parsed.designedCapacity,voltage:parsed.voltage,capacityUnit:parsed.capacityUnit,percent:parsed.percent,currentCapacity:parsed.currentCapacity,isCharging:parsed.isCharging,timeRemaining:null,acConnected:parsed.acConnected,model:parsed.model,type:"",manufacturer:"",serial:""})}}if(!first&&additionalBatteries.length){result2=additionalBatteries[0];additionalBatteries.shift()}if(additionalBatteries.length){result2.additionalBatteries=additionalBatteries}}}if(callback){callback(result2)}resolve(result2)})}catch(e){if(callback){callback(result2)}resolve(result2)}}})})}}});var require_graphics=__commonJS({"node_modules/systeminformation/lib/graphics.js"(exports2){"use strict";var fs14=require("fs");var exec3=require("child_process").exec;var execSync=require("child_process").execSync;var util4=require_util2();var _platform=process.platform;var _nvidiaSmiPath="";var _linux=_platform==="linux"||_platform==="android";var _darwin=_platform==="darwin";var _windows=_platform==="win32";var _freebsd=_platform==="freebsd";var _openbsd=_platform==="openbsd";var _netbsd=_platform==="netbsd";var _sunos=_platform==="sunos";var _resolutionX=0;var _resolutionY=0;var _pixelDepth=0;var _refreshRate=0;var videoTypes={"-2":"UNINITIALIZED","-1":"OTHER","0":"HD15","1":"SVIDEO","2":"Composite video","3":"Component video","4":"DVI","5":"HDMI","6":"LVDS","8":"D_JPN","9":"SDI","10":"DP","11":"DP embedded","12":"UDI","13":"UDI embedded","14":"SDTVDONGLE","15":"MIRACAST","2147483648":"INTERNAL"};function getVendorFromModel(model){const manufacturers=[{pattern:"^LG.+",manufacturer:"LG"},{pattern:"^BENQ.+",manufacturer:"BenQ"},{pattern:"^ASUS.+",manufacturer:"Asus"},{pattern:"^DELL.+",manufacturer:"Dell"},{pattern:"^SAMSUNG.+",manufacturer:"Samsung"},{pattern:"^VIEWSON.+",manufacturer:"ViewSonic"},{pattern:"^SONY.+",manufacturer:"Sony"},{pattern:"^ACER.+",manufacturer:"Acer"},{pattern:"^AOC.+",manufacturer:"AOC Monitors"},{pattern:"^HP.+",manufacturer:"HP"},{pattern:"^EIZO.?",manufacturer:"Eizo"},{pattern:"^PHILIPS.?",manufacturer:"Philips"},{pattern:"^IIYAMA.?",manufacturer:"Iiyama"},{pattern:"^SHARP.?",manufacturer:"Sharp"},{pattern:"^NEC.?",manufacturer:"NEC"},{pattern:"^LENOVO.?",manufacturer:"Lenovo"},{pattern:"COMPAQ.?",manufacturer:"Compaq"},{pattern:"APPLE.?",manufacturer:"Apple"},{pattern:"INTEL.?",manufacturer:"Intel"},{pattern:"AMD.?",manufacturer:"AMD"},{pattern:"NVIDIA.?",manufacturer:"NVDIA"}];let result2="";if(model){model=model.toUpperCase();manufacturers.forEach(manufacturer=>{const re=RegExp(manufacturer.pattern);if(re.test(model)){result2=manufacturer.manufacturer}})}return result2}function getVendorFromId(id){const vendors={"610":"Apple","1e6d":"LG","10ac":"DELL","4dd9":"Sony","38a3":"NEC"};return vendors[id]||""}function vendorToId(str2){let result2="";str2=(str2||"").toLowerCase();if(str2.indexOf("apple")>=0){result2="0x05ac"}else if(str2.indexOf("nvidia")>=0){result2="0x10de"}else if(str2.indexOf("intel")>=0){result2="0x8086"}else if(str2.indexOf("ati")>=0||str2.indexOf("amd")>=0){result2="0x1002"}return result2}function getMetalVersion(id){const families={"spdisplays_mtlgpufamilymac1":"mac1","spdisplays_mtlgpufamilymac2":"mac2","spdisplays_mtlgpufamilyapple1":"apple1","spdisplays_mtlgpufamilyapple2":"apple2","spdisplays_mtlgpufamilyapple3":"apple3","spdisplays_mtlgpufamilyapple4":"apple4","spdisplays_mtlgpufamilyapple5":"apple5","spdisplays_mtlgpufamilyapple6":"apple6","spdisplays_mtlgpufamilyapple7":"apple7","spdisplays_metalfeaturesetfamily11":"family1_v1","spdisplays_metalfeaturesetfamily12":"family1_v2","spdisplays_metalfeaturesetfamily13":"family1_v3","spdisplays_metalfeaturesetfamily14":"family1_v4","spdisplays_metalfeaturesetfamily21":"family2_v1"};return families[id]||""}function graphics(callback){function parseLinesDarwin(graphicsArr){const res={controllers:[],displays:[]};try{graphicsArr.forEach(function(item){const bus=(item.sppci_bus||"").indexOf("builtin")>-1?"Built-In":(item.sppci_bus||"").indexOf("pcie")>-1?"PCIe":"";const vram=(parseInt(item.spdisplays_vram||"",10)||0)*((item.spdisplays_vram||"").indexOf("GB")>-1?1024:1);const vramDyn=(parseInt(item.spdisplays_vram_shared||"",10)||0)*((item.spdisplays_vram_shared||"").indexOf("GB")>-1?1024:1);let metalVersion=getMetalVersion(item.spdisplays_metal||item.spdisplays_metalfamily||"");res.controllers.push({vendor:getVendorFromModel(item.spdisplays_vendor||"")||item.spdisplays_vendor||"",model:item.sppci_model||"",bus,vramDynamic:bus==="Built-In",vram:vram||vramDyn||null,deviceId:item["spdisplays_device-id"]||"",vendorId:item["spdisplays_vendor-id"]||vendorToId((item["spdisplays_vendor"]||"")+(item.sppci_model||"")),external:item.sppci_device_type==="spdisplays_egpu",cores:item["sppci_cores"]||null,metalVersion});if(item.spdisplays_ndrvs&&item.spdisplays_ndrvs.length){item.spdisplays_ndrvs.forEach(function(displayItem){const connectionType=displayItem["spdisplays_connection_type"]||"";const currentResolutionParts=(displayItem["_spdisplays_resolution"]||"").split("@");const currentResolution=currentResolutionParts[0].split("x");const pixelParts=(displayItem["_spdisplays_pixels"]||"").split("x");const pixelDepthString=displayItem["spdisplays_depth"]||"";const serial=displayItem["_spdisplays_display-serial-number"]||displayItem["_spdisplays_display-serial-number2"]||null;res.displays.push({vendor:getVendorFromId(displayItem["_spdisplays_display-vendor-id"]||"")||getVendorFromModel(displayItem["_name"]||""),vendorId:displayItem["_spdisplays_display-vendor-id"]||"",model:displayItem["_name"]||"",productionYear:displayItem["_spdisplays_display-year"]||null,serial:serial!=="0"?serial:null,displayId:displayItem["_spdisplays_displayID"]||null,main:displayItem["spdisplays_main"]?displayItem["spdisplays_main"]==="spdisplays_yes":false,builtin:(displayItem["spdisplays_display_type"]||"").indexOf("built-in")>-1,connection:connectionType.indexOf("_internal")>-1?"Internal":connectionType.indexOf("_displayport")>-1?"Display Port":connectionType.indexOf("_hdmi")>-1?"HDMI":null,sizeX:null,sizeY:null,pixelDepth:pixelDepthString==="CGSThirtyBitColor"?30:pixelDepthString==="CGSThirtytwoBitColor"?32:pixelDepthString==="CGSTwentyfourBitColor"?24:null,resolutionX:pixelParts.length>1?parseInt(pixelParts[0],10):null,resolutionY:pixelParts.length>1?parseInt(pixelParts[1],10):null,currentResX:currentResolution.length>1?parseInt(currentResolution[0],10):null,currentResY:currentResolution.length>1?parseInt(currentResolution[1],10):null,positionX:0,positionY:0,currentRefreshRate:currentResolutionParts.length>1?parseInt(currentResolutionParts[1],10):null})})}});return res}catch(e){return res}}function parseLinesLinuxControllers(lines){let controllers=[];let currentController={vendor:"",subVendor:"",model:"",bus:"",busAddress:"",vram:null,vramDynamic:false,pciID:""};let isGraphicsController=false;let pciIDs=[];try{pciIDs=execSync('export LC_ALL=C; dmidecode -t 9 2>/dev/null; unset LC_ALL | grep "Bus Address: "',util4.execOptsLinux).toString().split("\n");for(let i2=0;i2<pciIDs.length;i2++){pciIDs[i2]=pciIDs[i2].replace("Bus Address:","").replace("0000:","").trim()}pciIDs=pciIDs.filter(function(el){return el!=null&&el})}catch(e){util4.noop()}let i=1;lines.forEach(line=>{let subsystem="";if(i<lines.length&&lines[i]){subsystem=lines[i];if(subsystem.indexOf(":")>0){subsystem=subsystem.split(":")[1]}}if(""!==line.trim()){if(" "!==line[0]&&"	"!==line[0]){let isExternal=pciIDs.indexOf(line.split(" ")[0])>=0;let vgapos=line.toLowerCase().indexOf(" vga ");let _3dcontrollerpos=line.toLowerCase().indexOf("3d controller");if(vgapos!==-1||_3dcontrollerpos!==-1){if(_3dcontrollerpos!==-1&&vgapos===-1){vgapos=_3dcontrollerpos}if(currentController.vendor||currentController.model||currentController.bus||currentController.vram!==null||currentController.vramDynamic){controllers.push(currentController);currentController={vendor:"",model:"",bus:"",busAddress:"",vram:null,vramDynamic:false}}const pciIDCandidate=line.split(" ")[0];if(/[\da-fA-F]{2}:[\da-fA-F]{2}\.[\da-fA-F]/.test(pciIDCandidate)){currentController.busAddress=pciIDCandidate}isGraphicsController=true;let endpos=line.search(/\[[0-9a-f]{4}:[0-9a-f]{4}]|$/);let parts=line.substr(vgapos,endpos-vgapos).split(":");currentController.busAddress=line.substr(0,vgapos).trim();if(parts.length>1){parts[1]=parts[1].trim();if(parts[1].toLowerCase().indexOf("corporation")>=0){currentController.vendor=parts[1].substr(0,parts[1].toLowerCase().indexOf("corporation")+11).trim();currentController.model=parts[1].substr(parts[1].toLowerCase().indexOf("corporation")+11,200).split("(")[0].trim();currentController.bus=pciIDs.length>0&&isExternal?"PCIe":"Onboard";currentController.vram=null;currentController.vramDynamic=false}else if(parts[1].toLowerCase().indexOf(" inc.")>=0){if((parts[1].match(/]/g)||[]).length>1){currentController.vendor=parts[1].substr(0,parts[1].toLowerCase().indexOf("]")+1).trim();currentController.model=parts[1].substr(parts[1].toLowerCase().indexOf("]")+1,200).trim().split("(")[0].trim()}else{currentController.vendor=parts[1].substr(0,parts[1].toLowerCase().indexOf(" inc.")+5).trim();currentController.model=parts[1].substr(parts[1].toLowerCase().indexOf(" inc.")+5,200).trim().split("(")[0].trim()}currentController.bus=pciIDs.length>0&&isExternal?"PCIe":"Onboard";currentController.vram=null;currentController.vramDynamic=false}else if(parts[1].toLowerCase().indexOf(" ltd.")>=0){if((parts[1].match(/]/g)||[]).length>1){currentController.vendor=parts[1].substr(0,parts[1].toLowerCase().indexOf("]")+1).trim();currentController.model=parts[1].substr(parts[1].toLowerCase().indexOf("]")+1,200).trim().split("(")[0].trim()}else{currentController.vendor=parts[1].substr(0,parts[1].toLowerCase().indexOf(" ltd.")+5).trim();currentController.model=parts[1].substr(parts[1].toLowerCase().indexOf(" ltd.")+5,200).trim().split("(")[0].trim()}}if(currentController.model&&subsystem.indexOf(currentController.model)!==-1){const subVendor=subsystem.split(currentController.model)[0].trim();if(subVendor){currentController.subVendor=subVendor}}}}else{isGraphicsController=false}}if(isGraphicsController){let parts=line.split(":");if(parts.length>1&&parts[0].replace(/ +/g,"").toLowerCase().indexOf("devicename")!==-1&&parts[1].toLowerCase().indexOf("onboard")!==-1){currentController.bus="Onboard"}if(parts.length>1&&parts[0].replace(/ +/g,"").toLowerCase().indexOf("region")!==-1&&parts[1].toLowerCase().indexOf("memory")!==-1){let memparts=parts[1].split("=");if(memparts.length>1){currentController.vram=parseInt(memparts[1])}}}}i++});if(currentController.vendor||currentController.model||currentController.bus||currentController.busAddress||currentController.vram!==null||currentController.vramDynamic){controllers.push(currentController)}return controllers}function parseLinesLinuxClinfo(controllers,lines){const fieldPattern=/\[([^\]]+)\]\s+(\w+)\s+(.*)/;const devices=lines.reduce((devices2,line)=>{const field=fieldPattern.exec(line.trim());if(field){if(!devices2[field[1]]){devices2[field[1]]={}}devices2[field[1]][field[2]]=field[3]}return devices2},{});for(let deviceId in devices){const device=devices[deviceId];if(device["CL_DEVICE_TYPE"]==="CL_DEVICE_TYPE_GPU"){let busAddress;if(device["CL_DEVICE_TOPOLOGY_AMD"]){const bdf=device["CL_DEVICE_TOPOLOGY_AMD"].match(/[a-zA-Z0-9]+:\d+\.\d+/);if(bdf){busAddress=bdf[0]}}else if(device["CL_DEVICE_PCI_BUS_ID_NV"]&&device["CL_DEVICE_PCI_SLOT_ID_NV"]){const bus=parseInt(device["CL_DEVICE_PCI_BUS_ID_NV"]);const slot=parseInt(device["CL_DEVICE_PCI_SLOT_ID_NV"]);if(!isNaN(bus)&&!isNaN(slot)){const b=bus&255;const d=slot>>3&255;const f=slot&7;busAddress=`${b.toString().padStart(2,"0")}:${d.toString().padStart(2,"0")}.${f}`}}if(busAddress){let controller=controllers.find(controller2=>controller2.busAddress===busAddress);if(!controller){controller={vendor:"",model:"",bus:"",busAddress,vram:null,vramDynamic:false};controllers.push(controller)}controller.vendor=device["CL_DEVICE_VENDOR"];if(device["CL_DEVICE_BOARD_NAME_AMD"]){controller.model=device["CL_DEVICE_BOARD_NAME_AMD"]}else{controller.model=device["CL_DEVICE_NAME"]}const memory=parseInt(device["CL_DEVICE_GLOBAL_MEM_SIZE"]);if(!isNaN(memory)){controller.vram=Math.round(memory/1024/1024)}}}}return controllers}function getNvidiaSmi(){if(_nvidiaSmiPath){return _nvidiaSmiPath}if(_windows){try{const basePath2=util4.WINDIR+"\\System32\\DriverStore\\FileRepository";const candidateDirs=fs14.readdirSync(basePath2).filter(dir=>{return fs14.readdirSync([basePath2,dir].join("/")).includes("nvidia-smi.exe")});const targetDir=candidateDirs.reduce((prevDir,currentDir)=>{const previousNvidiaSmi=fs14.statSync([basePath2,prevDir,"nvidia-smi.exe"].join("/"));const currentNvidiaSmi=fs14.statSync([basePath2,currentDir,"nvidia-smi.exe"].join("/"));return previousNvidiaSmi.ctimeMs>currentNvidiaSmi.ctimeMs?prevDir:currentDir});if(targetDir){_nvidiaSmiPath=[basePath2,targetDir,"nvidia-smi.exe"].join("/")}}catch(e){util4.noop()}}else if(_linux){_nvidiaSmiPath="nvidia-smi"}return _nvidiaSmiPath}function nvidiaSmi(options){const nvidiaSmiExe=getNvidiaSmi();options=options||util4.execOptsWin;if(nvidiaSmiExe){const nvidiaSmiOpts="--query-gpu=driver_version,pci.sub_device_id,name,pci.bus_id,fan.speed,memory.total,memory.used,memory.free,utilization.gpu,utilization.memory,temperature.gpu,temperature.memory,power.draw,power.limit,clocks.gr,clocks.mem --format=csv,noheader,nounits";const cmd=nvidiaSmiExe+" "+nvidiaSmiOpts+(_linux?"  2>/dev/null":"");if(_linux){options.stdio=["pipe","pipe","ignore"]}try{const res=execSync(cmd,options).toString();return res}catch(e){util4.noop()}}return""}function nvidiaDevices(){function safeParseNumber(value){if([null,void 0].includes(value)){return value}return parseFloat(value)}const stdout=nvidiaSmi();if(!stdout){return[]}const gpus=stdout.split("\n").filter(Boolean);let results=gpus.map(gpu=>{const splittedData=gpu.split(", ").map(value=>value.includes("N/A")?void 0:value);if(splittedData.length===16){return{driverVersion:splittedData[0],subDeviceId:splittedData[1],name:splittedData[2],pciBus:splittedData[3],fanSpeed:safeParseNumber(splittedData[4]),memoryTotal:safeParseNumber(splittedData[5]),memoryUsed:safeParseNumber(splittedData[6]),memoryFree:safeParseNumber(splittedData[7]),utilizationGpu:safeParseNumber(splittedData[8]),utilizationMemory:safeParseNumber(splittedData[9]),temperatureGpu:safeParseNumber(splittedData[10]),temperatureMemory:safeParseNumber(splittedData[11]),powerDraw:safeParseNumber(splittedData[12]),powerLimit:safeParseNumber(splittedData[13]),clockCore:safeParseNumber(splittedData[14]),clockMemory:safeParseNumber(splittedData[15])}}else{return{}}});results=results.filter(item=>{return"pciBus"in item});return results}function mergeControllerNvidia(controller,nvidia){if(nvidia.driverVersion){controller.driverVersion=nvidia.driverVersion}if(nvidia.subDeviceId){controller.subDeviceId=nvidia.subDeviceId}if(nvidia.name){controller.name=nvidia.name}if(nvidia.pciBus){controller.pciBus=nvidia.pciBus}if(nvidia.fanSpeed){controller.fanSpeed=nvidia.fanSpeed}if(nvidia.memoryTotal){controller.memoryTotal=nvidia.memoryTotal;controller.vram=nvidia.memoryTotal;controller.vramDynamic=false}if(nvidia.memoryUsed){controller.memoryUsed=nvidia.memoryUsed}if(nvidia.memoryFree){controller.memoryFree=nvidia.memoryFree}if(nvidia.utilizationGpu){controller.utilizationGpu=nvidia.utilizationGpu}if(nvidia.utilizationMemory){controller.utilizationMemory=nvidia.utilizationMemory}if(nvidia.temperatureGpu){controller.temperatureGpu=nvidia.temperatureGpu}if(nvidia.temperatureMemory){controller.temperatureMemory=nvidia.temperatureMemory}if(nvidia.powerDraw){controller.powerDraw=nvidia.powerDraw}if(nvidia.powerLimit){controller.powerLimit=nvidia.powerLimit}if(nvidia.clockCore){controller.clockCore=nvidia.clockCore}if(nvidia.clockMemory){controller.clockMemory=nvidia.clockMemory}return controller}function parseLinesLinuxEdid(edid){let result2={vendor:"",model:"",deviceName:"",main:false,builtin:false,connection:"",sizeX:null,sizeY:null,pixelDepth:null,resolutionX:null,resolutionY:null,currentResX:null,currentResY:null,positionX:0,positionY:0,currentRefreshRate:null};let start=108;if(edid.substr(start,6)==="000000"){start+=36}if(edid.substr(start,6)==="000000"){start+=36}if(edid.substr(start,6)==="000000"){start+=36}if(edid.substr(start,6)==="000000"){start+=36}result2.resolutionX=parseInt("0x0"+edid.substr(start+8,1)+edid.substr(start+4,2));result2.resolutionY=parseInt("0x0"+edid.substr(start+14,1)+edid.substr(start+10,2));result2.sizeX=parseInt("0x0"+edid.substr(start+28,1)+edid.substr(start+24,2));result2.sizeY=parseInt("0x0"+edid.substr(start+29,1)+edid.substr(start+26,2));start=edid.indexOf("000000fc00");if(start>=0){let model_raw=edid.substr(start+10,26);if(model_raw.indexOf("0a")!==-1){model_raw=model_raw.substr(0,model_raw.indexOf("0a"))}try{if(model_raw.length>2){result2.model=model_raw.match(/.{1,2}/g).map(function(v){return String.fromCharCode(parseInt(v,16))}).join("")}}catch(e){util4.noop()}}else{result2.model=""}return result2}function parseLinesLinuxDisplays(lines,depth){let displays=[];let currentDisplay={vendor:"",model:"",deviceName:"",main:false,builtin:false,connection:"",sizeX:null,sizeY:null,pixelDepth:null,resolutionX:null,resolutionY:null,currentResX:null,currentResY:null,positionX:0,positionY:0,currentRefreshRate:null};let is_edid=false;let is_current=false;let edid_raw="";let start=0;for(let i=1;i<lines.length;i++){if(""!==lines[i].trim()){if(" "!==lines[i][0]&&"	"!==lines[i][0]&&lines[i].toLowerCase().indexOf(" connected ")!==-1){if(currentDisplay.model||currentDisplay.main||currentDisplay.builtin||currentDisplay.connection||currentDisplay.sizeX!==null||currentDisplay.pixelDepth!==null||currentDisplay.resolutionX!==null){displays.push(currentDisplay);currentDisplay={vendor:"",model:"",main:false,builtin:false,connection:"",sizeX:null,sizeY:null,pixelDepth:null,resolutionX:null,resolutionY:null,currentResX:null,currentResY:null,positionX:0,positionY:0,currentRefreshRate:null}}let parts=lines[i].split(" ");currentDisplay.connection=parts[0];currentDisplay.main=lines[i].toLowerCase().indexOf(" primary ")>=0;currentDisplay.builtin=parts[0].toLowerCase().indexOf("edp")>=0}if(is_edid){if(lines[i].search(/\S|$/)>start){edid_raw+=lines[i].toLowerCase().trim()}else{let edid_decoded=parseLinesLinuxEdid(edid_raw);currentDisplay.vendor=edid_decoded.vendor;currentDisplay.model=edid_decoded.model;currentDisplay.resolutionX=edid_decoded.resolutionX;currentDisplay.resolutionY=edid_decoded.resolutionY;currentDisplay.sizeX=edid_decoded.sizeX;currentDisplay.sizeY=edid_decoded.sizeY;currentDisplay.pixelDepth=depth;is_edid=false}}if(lines[i].toLowerCase().indexOf("edid:")>=0){is_edid=true;start=lines[i].search(/\S|$/)}if(lines[i].toLowerCase().indexOf("*current")>=0){const parts1=lines[i].split("(");if(parts1&&parts1.length>1&&parts1[0].indexOf("x")>=0){const resParts=parts1[0].trim().split("x");currentDisplay.currentResX=util4.toInt(resParts[0]);currentDisplay.currentResY=util4.toInt(resParts[1])}is_current=true}if(is_current&&lines[i].toLowerCase().indexOf("clock")>=0&&lines[i].toLowerCase().indexOf("hz")>=0&&lines[i].toLowerCase().indexOf("v: height")>=0){const parts1=lines[i].split("clock");if(parts1&&parts1.length>1&&parts1[1].toLowerCase().indexOf("hz")>=0){currentDisplay.currentRefreshRate=util4.toInt(parts1[1])}is_current=false}}}if(currentDisplay.model||currentDisplay.main||currentDisplay.builtin||currentDisplay.connection||currentDisplay.sizeX!==null||currentDisplay.pixelDepth!==null||currentDisplay.resolutionX!==null){displays.push(currentDisplay)}return displays}return new Promise(resolve=>{process.nextTick(()=>{let result2={controllers:[],displays:[]};if(_darwin){let cmd="system_profiler -xml -detailLevel full SPDisplaysDataType";exec3(cmd,function(error,stdout){if(!error){try{const output=stdout.toString();result2=parseLinesDarwin(util4.plistParser(output)[0]._items)}catch(e){util4.noop()}try{stdout=execSync('defaults read /Library/Preferences/com.apple.windowserver.plist 2>/dev/null;defaults read /Library/Preferences/com.apple.windowserver.displays.plist 2>/dev/null; echo ""',{maxBuffer:1024*2e4});const output=(stdout||"").toString();const obj=util4.plistReader(output);if(obj["DisplayAnyUserSets"]&&obj["DisplayAnyUserSets"]["Configs"]&&obj["DisplayAnyUserSets"]["Configs"][0]&&obj["DisplayAnyUserSets"]["Configs"][0]["DisplayConfig"]){const current=obj["DisplayAnyUserSets"]["Configs"][0]["DisplayConfig"];let i=0;current.forEach(o=>{if(o["CurrentInfo"]&&o["CurrentInfo"]["OriginX"]!==void 0&&result2.displays&&result2.displays[i]){result2.displays[i].positionX=o["CurrentInfo"]["OriginX"]}if(o["CurrentInfo"]&&o["CurrentInfo"]["OriginY"]!==void 0&&result2.displays&&result2.displays[i]){result2.displays[i].positionY=o["CurrentInfo"]["OriginY"]}i++})}if(obj["DisplayAnyUserSets"]&&obj["DisplayAnyUserSets"].length>0&&obj["DisplayAnyUserSets"][0].length>0&&obj["DisplayAnyUserSets"][0][0]["DisplayID"]){const current=obj["DisplayAnyUserSets"][0];let i=0;current.forEach(o=>{if("OriginX"in o&&result2.displays&&result2.displays[i]){result2.displays[i].positionX=o["OriginX"]}if("OriginY"in o&&result2.displays&&result2.displays[i]){result2.displays[i].positionY=o["OriginY"]}if(o["Mode"]&&o["Mode"]["BitsPerPixel"]!==void 0&&result2.displays&&result2.displays[i]){result2.displays[i].pixelDepth=o["Mode"]["BitsPerPixel"]}i++})}}catch(e){util4.noop()}}if(callback){callback(result2)}resolve(result2)})}if(_linux){if(util4.isRaspberry()&&util4.isRaspbian()){let cmd=`fbset -s | grep 'mode "'; vcgencmd get_mem gpu; tvservice -s; tvservice -n;`;exec3(cmd,function(error,stdout){let lines=stdout.toString().split("\n");if(lines.length>3&&lines[0].indexOf('mode "')>=-1&&lines[2].indexOf("0x12000a")>-1){const parts=lines[0].replace("mode","").replace(/"/g,"").trim().split("x");if(parts.length===2){result2.displays.push({vendor:"",model:util4.getValue(lines,"device_name","="),main:true,builtin:false,connection:"HDMI",sizeX:null,sizeY:null,pixelDepth:null,resolutionX:parseInt(parts[0],10),resolutionY:parseInt(parts[1],10),currentResX:null,currentResY:null,positionX:0,positionY:0,currentRefreshRate:null})}}if(lines.length>1&&stdout.toString().indexOf("gpu=")>=-1){result2.controllers.push({vendor:"Broadcom",model:util4.getRpiGpu(),bus:"",vram:util4.getValue(lines,"gpu","=").replace("M",""),vramDynamic:true})}if(callback){callback(result2)}resolve(result2)})}else{let cmd="lspci -vvv  2>/dev/null";exec3(cmd,function(error,stdout){if(!error){let lines=stdout.toString().split("\n");result2.controllers=parseLinesLinuxControllers(lines);const nvidiaData=nvidiaDevices();result2.controllers=result2.controllers.map(controller=>{return mergeControllerNvidia(controller,nvidiaData.find(contr=>contr.pciBus.toLowerCase().endsWith(controller.busAddress.toLowerCase()))||{})})}let cmd2="clinfo --raw";exec3(cmd2,function(error2,stdout2){if(!error2){let lines=stdout2.toString().split("\n");result2.controllers=parseLinesLinuxClinfo(result2.controllers,lines)}let cmd3="xdpyinfo 2>/dev/null | grep 'depth of root window' | awk '{ print $5 }'";exec3(cmd3,function(error3,stdout3){let depth=0;if(!error3){let lines=stdout3.toString().split("\n");depth=parseInt(lines[0])||0}let cmd4="xrandr --verbose 2>/dev/null";exec3(cmd4,function(error4,stdout4){if(!error4){let lines=stdout4.toString().split("\n");result2.displays=parseLinesLinuxDisplays(lines,depth)}if(callback){callback(result2)}resolve(result2)})})})})}}if(_freebsd||_openbsd||_netbsd){if(callback){callback(null)}resolve(null)}if(_sunos){if(callback){callback(null)}resolve(null)}if(_windows){try{const workload=[];workload.push(util4.powerShell("Get-CimInstance win32_VideoController | fl *"));workload.push(util4.powerShell('gp "HKLM:\\SYSTEM\\ControlSet001\\Control\\Class\\{4d36e968-e325-11ce-bfc1-08002be10318}\\*" -ErrorAction SilentlyContinue | where MatchingDeviceId $null -NE | select MatchingDeviceId,HardwareInformation.qwMemorySize | fl'));workload.push(util4.powerShell("Get-CimInstance win32_desktopmonitor | fl *"));workload.push(util4.powerShell("Get-CimInstance -Namespace root\\wmi -ClassName WmiMonitorBasicDisplayParams | fl"));workload.push(util4.powerShell("Add-Type -AssemblyName System.Windows.Forms; [System.Windows.Forms.Screen]::AllScreens"));workload.push(util4.powerShell("Get-CimInstance -Namespace root\\wmi -ClassName WmiMonitorConnectionParams | fl"));workload.push(util4.powerShell('gwmi WmiMonitorID -Namespace root\\wmi | ForEach-Object {(($_.ManufacturerName -notmatch 0 | foreach {[char]$_}) -join "") + "|" + (($_.ProductCodeID -notmatch 0 | foreach {[char]$_}) -join "") + "|" + (($_.UserFriendlyName -notmatch 0 | foreach {[char]$_}) -join "") + "|" + (($_.SerialNumberID -notmatch 0 | foreach {[char]$_}) -join "") + "|" + $_.InstanceName}'));const nvidiaData=nvidiaDevices();Promise.all(workload).then(data=>{let csections=data[0].replace(/\r/g,"").split(/\n\s*\n/);let vsections=data[1].replace(/\r/g,"").split(/\n\s*\n/);result2.controllers=parseLinesWindowsControllers(csections,vsections);result2.controllers=result2.controllers.map(controller=>{if(controller.vendor.toLowerCase()==="nvidia"){return mergeControllerNvidia(controller,nvidiaData.find(device=>{let windowsSubDeviceId=(controller.subDeviceId||"").toLowerCase();const nvidiaSubDeviceIdParts=device.subDeviceId.split("x");let nvidiaSubDeviceId=nvidiaSubDeviceIdParts.length>1?nvidiaSubDeviceIdParts[1].toLowerCase():nvidiaSubDeviceIdParts[0].toLowerCase();const lengthDifference=Math.abs(windowsSubDeviceId.length-nvidiaSubDeviceId.length);if(windowsSubDeviceId.length>nvidiaSubDeviceId.length){for(let i=0;i<lengthDifference;i++){nvidiaSubDeviceId="0"+nvidiaSubDeviceId}}else if(windowsSubDeviceId.length<nvidiaSubDeviceId.length){for(let i=0;i<lengthDifference;i++){windowsSubDeviceId="0"+windowsSubDeviceId}}return windowsSubDeviceId===nvidiaSubDeviceId})||{})}else{return controller}});let dsections=data[2].replace(/\r/g,"").split(/\n\s*\n/);if(dsections[0].trim()===""){dsections.shift()}if(dsections.length&&dsections[dsections.length-1].trim()===""){dsections.pop()}let msections=data[3].replace(/\r/g,"").split("Active ");msections.shift();let ssections=data[4].replace(/\r/g,"").split("BitsPerPixel ");ssections.shift();let tsections=data[5].replace(/\r/g,"").split(/\n\s*\n/);tsections.shift();const res=data[6].replace(/\r/g,"").split(/\n/);let isections=[];res.forEach(element=>{const parts=element.split("|");if(parts.length===5){isections.push({vendor:parts[0],code:parts[1],model:parts[2],serial:parts[3],instanceId:parts[4]})}});result2.displays=parseLinesWindowsDisplaysPowershell(ssections,msections,dsections,tsections,isections);if(result2.displays.length===1){if(_resolutionX){result2.displays[0].resolutionX=_resolutionX;if(!result2.displays[0].currentResX){result2.displays[0].currentResX=_resolutionX}}if(_resolutionY){result2.displays[0].resolutionY=_resolutionY;if(result2.displays[0].currentResY===0){result2.displays[0].currentResY=_resolutionY}}if(_pixelDepth){result2.displays[0].pixelDepth=_pixelDepth}}result2.displays=result2.displays.map(element=>{if(_refreshRate&&!element.currentRefreshRate){element.currentRefreshRate=_refreshRate}return element});if(callback){callback(result2)}resolve(result2)}).catch(()=>{if(callback){callback(result2)}resolve(result2)})}catch(e){if(callback){callback(result2)}resolve(result2)}}})});function parseLinesWindowsControllers(sections,vections){const memorySizes={};for(const i in vections){if({}.hasOwnProperty.call(vections,i)){if(vections[i].trim()!==""){const lines=vections[i].trim().split("\n");const matchingDeviceId=util4.getValue(lines,"MatchingDeviceId").match(/PCI\\(VEN_[0-9A-F]{4})&(DEV_[0-9A-F]{4})(?:&(SUBSYS_[0-9A-F]{8}))?(?:&(REV_[0-9A-F]{2}))?/i);if(matchingDeviceId){const quadWordmemorySize=parseInt(util4.getValue(lines,"HardwareInformation.qwMemorySize"));if(!isNaN(quadWordmemorySize)){let deviceId=matchingDeviceId[1].toUpperCase()+"&"+matchingDeviceId[2].toUpperCase();if(matchingDeviceId[3]){deviceId+="&"+matchingDeviceId[3].toUpperCase()}if(matchingDeviceId[4]){deviceId+="&"+matchingDeviceId[4].toUpperCase()}memorySizes[deviceId]=quadWordmemorySize}}}}}let controllers=[];for(let i in sections){if({}.hasOwnProperty.call(sections,i)){if(sections[i].trim()!==""){let lines=sections[i].trim().split("\n");let pnpDeviceId=util4.getValue(lines,"PNPDeviceID",":").match(/PCI\\(VEN_[0-9A-F]{4})&(DEV_[0-9A-F]{4})(?:&(SUBSYS_[0-9A-F]{8}))?(?:&(REV_[0-9A-F]{2}))?/i);let subDeviceId=null;let memorySize=null;if(pnpDeviceId){subDeviceId=pnpDeviceId[3]||"";if(subDeviceId){subDeviceId=subDeviceId.split("_")[1]}if(memorySize==null&&pnpDeviceId[3]&&pnpDeviceId[4]){const deviceId=pnpDeviceId[1].toUpperCase()+"&"+pnpDeviceId[2].toUpperCase()+"&"+pnpDeviceId[3].toUpperCase()+"&"+pnpDeviceId[4].toUpperCase();if({}.hasOwnProperty.call(memorySizes,deviceId)){memorySize=memorySizes[deviceId]}}if(memorySize==null&&pnpDeviceId[3]){const deviceId=pnpDeviceId[1].toUpperCase()+"&"+pnpDeviceId[2].toUpperCase()+"&"+pnpDeviceId[3].toUpperCase();if({}.hasOwnProperty.call(memorySizes,deviceId)){memorySize=memorySizes[deviceId]}}if(memorySize==null&&pnpDeviceId[4]){const deviceId=pnpDeviceId[1].toUpperCase()+"&"+pnpDeviceId[2].toUpperCase()+"&"+pnpDeviceId[4].toUpperCase();if({}.hasOwnProperty.call(memorySizes,deviceId)){memorySize=memorySizes[deviceId]}}if(memorySize==null){const deviceId=pnpDeviceId[1].toUpperCase()+"&"+pnpDeviceId[2].toUpperCase();if({}.hasOwnProperty.call(memorySizes,deviceId)){memorySize=memorySizes[deviceId]}}}controllers.push({vendor:util4.getValue(lines,"AdapterCompatibility",":"),model:util4.getValue(lines,"name",":"),bus:util4.getValue(lines,"PNPDeviceID",":").startsWith("PCI")?"PCI":"",vram:(memorySize==null?util4.toInt(util4.getValue(lines,"AdapterRAM",":")):memorySize)/1024/1024,vramDynamic:util4.getValue(lines,"VideoMemoryType",":")==="2",subDeviceId});_resolutionX=util4.toInt(util4.getValue(lines,"CurrentHorizontalResolution",":"))||_resolutionX;_resolutionY=util4.toInt(util4.getValue(lines,"CurrentVerticalResolution",":"))||_resolutionY;_refreshRate=util4.toInt(util4.getValue(lines,"CurrentRefreshRate",":"))||_refreshRate;_pixelDepth=util4.toInt(util4.getValue(lines,"CurrentBitsPerPixel",":"))||_pixelDepth}}}return controllers}function parseLinesWindowsDisplaysPowershell(ssections,msections,dsections,tsections,isections){let displays=[];let vendor="";let model="";let deviceID="";let resolutionX=0;let resolutionY=0;if(dsections&&dsections.length){let linesDisplay=dsections[0].split("\n");vendor=util4.getValue(linesDisplay,"MonitorManufacturer",":");model=util4.getValue(linesDisplay,"Name",":");deviceID=util4.getValue(linesDisplay,"PNPDeviceID",":").replace(/&amp;/g,"&").toLowerCase();resolutionX=util4.toInt(util4.getValue(linesDisplay,"ScreenWidth",":"));resolutionY=util4.toInt(util4.getValue(linesDisplay,"ScreenHeight",":"))}for(let i=0;i<ssections.length;i++){if(ssections[i].trim()!==""){ssections[i]="BitsPerPixel "+ssections[i];msections[i]="Active "+msections[i];if(tsections.length===0||tsections[i]===void 0){tsections[i]="Unknown"}let linesScreen=ssections[i].split("\n");let linesMonitor=msections[i].split("\n");let linesConnection=tsections[i].split("\n");const bitsPerPixel=util4.getValue(linesScreen,"BitsPerPixel");const bounds=util4.getValue(linesScreen,"Bounds").replace("{","").replace("}","").replace(/=/g,":").split(",");const primary=util4.getValue(linesScreen,"Primary");const sizeX=util4.getValue(linesMonitor,"MaxHorizontalImageSize");const sizeY=util4.getValue(linesMonitor,"MaxVerticalImageSize");const instanceName=util4.getValue(linesMonitor,"InstanceName").toLowerCase();const videoOutputTechnology=util4.getValue(linesConnection,"VideoOutputTechnology");const deviceName=util4.getValue(linesScreen,"DeviceName");let displayVendor="";let displayModel="";isections.forEach(element=>{if(element.instanceId.toLowerCase().startsWith(instanceName)&&vendor.startsWith("(")&&model.startsWith("PnP")){displayVendor=element.vendor;displayModel=element.model}});displays.push({vendor:instanceName.startsWith(deviceID)&&displayVendor===""?vendor:displayVendor,model:instanceName.startsWith(deviceID)&&displayModel===""?model:displayModel,deviceName,main:primary.toLowerCase()==="true",builtin:videoOutputTechnology==="2147483648",connection:videoOutputTechnology&&videoTypes[videoOutputTechnology]?videoTypes[videoOutputTechnology]:"",resolutionX:util4.toInt(util4.getValue(bounds,"Width",":")),resolutionY:util4.toInt(util4.getValue(bounds,"Height",":")),sizeX:sizeX?parseInt(sizeX,10):null,sizeY:sizeY?parseInt(sizeY,10):null,pixelDepth:bitsPerPixel,currentResX:util4.toInt(util4.getValue(bounds,"Width",":")),currentResY:util4.toInt(util4.getValue(bounds,"Height",":")),positionX:util4.toInt(util4.getValue(bounds,"X",":")),positionY:util4.toInt(util4.getValue(bounds,"Y",":"))})}}if(ssections.length===0){displays.push({vendor,model,main:true,sizeX:null,sizeY:null,resolutionX,resolutionY,pixelDepth:null,currentResX:resolutionX,currentResY:resolutionY,positionX:0,positionY:0})}return displays}}exports2.graphics=graphics}});var require_filesystem=__commonJS({"node_modules/systeminformation/lib/filesystem.js"(exports2){"use strict";var util4=require_util2();var fs14=require("fs");var exec3=require("child_process").exec;var execSync=require("child_process").execSync;var execPromiseSave=util4.promisifySave(require("child_process").exec);var _platform=process.platform;var _linux=_platform==="linux"||_platform==="android";var _darwin=_platform==="darwin";var _windows=_platform==="win32";var _freebsd=_platform==="freebsd";var _openbsd=_platform==="openbsd";var _netbsd=_platform==="netbsd";var _sunos=_platform==="sunos";var _fs_speed={};var _disk_io={};function fsSize(drive,callback){if(util4.isFunction(drive)){callback=drive;drive=""}let macOsDisks=[];let osMounts=[];function getmacOsFsType(fs15){if(!fs15.startsWith("/")){return"NFS"}const parts=fs15.split("/");const fsShort=parts[parts.length-1];const macOsDisksSingle=macOsDisks.filter(item=>item.indexOf(fsShort)>=0);if(macOsDisksSingle.length===1&&macOsDisksSingle[0].indexOf("APFS")>=0){return"APFS"}return"HFS"}function isLinuxTmpFs(fs15){const linuxTmpFileSystems=["rootfs","unionfs","squashfs","cramfs","initrd","initramfs","devtmpfs","tmpfs","udev","devfs","specfs","type","appimaged"];let result2=false;linuxTmpFileSystems.forEach(linuxFs=>{if(fs15.toLowerCase().indexOf(linuxFs)>=0){result2=true}});return result2}function filterLines(stdout){let lines=stdout.toString().split("\n");lines.shift();if(stdout.toString().toLowerCase().indexOf("filesystem")){let removeLines=0;for(let i=0;i<lines.length;i++){if(lines[i]&&lines[i].toLowerCase().startsWith("filesystem")){removeLines=i}}for(let i=0;i<removeLines;i++){lines.shift()}}return lines}function parseDf(lines){let data=[];lines.forEach(function(line){if(line!==""){line=line.replace(/ +/g," ").split(" ");if(line&&(line[0].startsWith("/")||line[6]&&line[6]==="/"||line[0].indexOf("/")>0||line[0].indexOf(":")===1||!_darwin&&!isLinuxTmpFs(line[1]))){const fs15=line[0];const fsType=_linux||_freebsd||_openbsd||_netbsd?line[1]:getmacOsFsType(line[0]);const size2=parseInt(_linux||_freebsd||_openbsd||_netbsd?line[2]:line[1])*1024;const used=parseInt(_linux||_freebsd||_openbsd||_netbsd?line[3]:line[2])*1024;const available=parseInt(_linux||_freebsd||_openbsd||_netbsd?line[4]:line[3])*1024;const use=parseFloat((100*(used/(used+available))).toFixed(2));let rw=osMounts&&Object.keys(osMounts).length>0?osMounts[fs15]||false:null;line.splice(0,_linux||_freebsd||_openbsd||_netbsd?6:5);const mount=line.join(" ");if(!data.find(el=>el.fs===fs15&&el.type===fsType)){data.push({fs:fs15,type:fsType,size:size2,used,available,use,mount,rw})}}}});return data}return new Promise(resolve=>{process.nextTick(()=>{let data=[];if(_linux||_freebsd||_openbsd||_netbsd||_darwin){let cmd="";macOsDisks=[];osMounts={};if(_darwin){cmd="df -kP";try{macOsDisks=execSync("diskutil list").toString().split("\n").filter(line=>{return!line.startsWith("/")&&line.indexOf(":")>0});execSync("mount").toString().split("\n").filter(line=>{return line.startsWith("/")}).forEach(line=>{osMounts[line.split(" ")[0]]=line.toLowerCase().indexOf("read-only")===-1})}catch(e){util4.noop()}}if(_linux){try{cmd="export LC_ALL=C; df -lkPTx squashfs; unset LC_ALL";execSync("cat /proc/mounts 2>/dev/null",util4.execOptsLinux).toString().split("\n").filter(line=>{return line.startsWith("/")}).forEach(line=>{osMounts[line.split(" ")[0]]=osMounts[line.split(" ")[0]]||false;if(line.toLowerCase().indexOf("/snap/")===-1){osMounts[line.split(" ")[0]]=line.toLowerCase().indexOf("rw,")>=0||line.toLowerCase().indexOf(" rw ")>=0}})}catch(e){util4.noop()}}if(_freebsd||_openbsd||_netbsd){try{cmd="df -lkPT";execSync("mount").toString().split("\n").forEach(line=>{osMounts[line.split(" ")[0]]=line.toLowerCase().indexOf("read-only")===-1})}catch(e){util4.noop()}}exec3(cmd,{maxBuffer:1024*1024},function(error,stdout){let lines=filterLines(stdout);data=parseDf(lines);if(drive){data=data.filter(item=>{return item.fs.toLowerCase().indexOf(drive.toLowerCase())>=0||item.mount.toLowerCase().indexOf(drive.toLowerCase())>=0})}if((!error||data.length)&&stdout.toString().trim()!==""){if(callback){callback(data)}resolve(data)}else{exec3("df -kPT",{maxBuffer:1024*1024},function(error2,stdout2){if(!error2){let lines2=filterLines(stdout2);data=parseDf(lines2)}if(callback){callback(data)}resolve(data)})}})}if(_sunos){if(callback){callback(data)}resolve(data)}if(_windows){try{const cmd=`Get-WmiObject Win32_logicaldisk | select Access,Caption,FileSystem,FreeSpace,Size ${drive?"| where -property Caption -eq "+drive:""} | fl`;util4.powerShell(cmd).then((stdout,error)=>{if(!error){let devices=stdout.toString().split(/\n\s*\n/);devices.forEach(function(device){let lines=device.split("\r\n");const size2=util4.toInt(util4.getValue(lines,"size",":"));const free=util4.toInt(util4.getValue(lines,"freespace",":"));const caption=util4.getValue(lines,"caption",":");const rwValue=util4.getValue(lines,"access",":");const rw=rwValue?util4.toInt(rwValue)!==1:null;if(size2){data.push({fs:caption,type:util4.getValue(lines,"filesystem",":"),size:size2,used:size2-free,available:free,use:parseFloat((100*(size2-free)/size2).toFixed(2)),mount:caption,rw})}})}if(callback){callback(data)}resolve(data)})}catch(e){if(callback){callback(data)}resolve(data)}}})})}exports2.fsSize=fsSize;function fsOpenFiles(callback){return new Promise(resolve=>{process.nextTick(()=>{const result2={max:null,allocated:null,available:null};if(_freebsd||_openbsd||_netbsd||_darwin){let cmd="sysctl -i kern.maxfiles kern.num_files kern.open_files";exec3(cmd,{maxBuffer:1024*1024},function(error,stdout){if(!error){let lines=stdout.toString().split("\n");result2.max=parseInt(util4.getValue(lines,"kern.maxfiles",":"),10);result2.allocated=parseInt(util4.getValue(lines,"kern.num_files",":"),10)||parseInt(util4.getValue(lines,"kern.open_files",":"),10);result2.available=result2.max-result2.allocated}if(callback){callback(result2)}resolve(result2)})}if(_linux){fs14.readFile("/proc/sys/fs/file-nr",function(error,stdout){if(!error){let lines=stdout.toString().split("\n");if(lines[0]){const parts=lines[0].replace(/\s+/g," ").split(" ");if(parts.length===3){result2.allocated=parseInt(parts[0],10);result2.available=parseInt(parts[1],10);result2.max=parseInt(parts[2],10);if(!result2.available){result2.available=result2.max-result2.allocated}}}if(callback){callback(result2)}resolve(result2)}else{fs14.readFile("/proc/sys/fs/file-max",function(error2,stdout2){if(!error2){let lines=stdout2.toString().split("\n");if(lines[0]){result2.max=parseInt(lines[0],10)}}if(callback){callback(result2)}resolve(result2)})}})}if(_sunos){if(callback){callback(null)}resolve(null)}if(_windows){if(callback){callback(null)}resolve(null)}})})}exports2.fsOpenFiles=fsOpenFiles;function parseBytes(s){return parseInt(s.substr(s.indexOf(" (")+2,s.indexOf(" Bytes)")-10))}function parseDevices(lines){let devices=[];let i=0;lines.forEach(line=>{if(line.length>0){if(line[0]==="*"){i++}else{let parts=line.split(":");if(parts.length>1){if(!devices[i]){devices[i]={name:"",identifier:"",type:"disk",fsType:"",mount:"",size:0,physical:"HDD",uuid:"",label:"",model:"",serial:"",removable:false,protocol:"",group:"",device:""}}parts[0]=parts[0].trim().toUpperCase().replace(/ +/g,"");parts[1]=parts[1].trim();if("DEVICEIDENTIFIER"===parts[0]){devices[i].identifier=parts[1]}if("DEVICENODE"===parts[0]){devices[i].name=parts[1]}if("VOLUMENAME"===parts[0]){if(parts[1].indexOf("Not applicable")===-1){devices[i].label=parts[1]}}if("PROTOCOL"===parts[0]){devices[i].protocol=parts[1]}if("DISKSIZE"===parts[0]){devices[i].size=parseBytes(parts[1])}if("FILESYSTEMPERSONALITY"===parts[0]){devices[i].fsType=parts[1]}if("MOUNTPOINT"===parts[0]){devices[i].mount=parts[1]}if("VOLUMEUUID"===parts[0]){devices[i].uuid=parts[1]}if("READ-ONLYMEDIA"===parts[0]&&parts[1]==="Yes"){devices[i].physical="CD/DVD"}if("SOLIDSTATE"===parts[0]&&parts[1]==="Yes"){devices[i].physical="SSD"}if("VIRTUAL"===parts[0]){devices[i].type="virtual"}if("REMOVABLEMEDIA"===parts[0]){devices[i].removable=parts[1]==="Removable"}if("PARTITIONTYPE"===parts[0]){devices[i].type="part"}if("DEVICE/MEDIANAME"===parts[0]){devices[i].model=parts[1]}}}}});return devices}function parseBlk(lines){let data=[];lines.filter(line=>line!=="").forEach(line=>{try{line=decodeURIComponent(line.replace(/\\x/g,"%"));line=line.replace(/\\/g,"\\\\");let disk=JSON.parse(line);data.push({"name":disk.name,"type":disk.type,"fsType":disk.fsType,"mount":disk.mountpoint,"size":parseInt(disk.size),"physical":disk.type==="disk"?disk.rota==="0"?"SSD":"HDD":disk.type==="rom"?"CD/DVD":"","uuid":disk.uuid,"label":disk.label,"model":(disk.model||"").trim(),"serial":disk.serial,"removable":disk.rm==="1","protocol":disk.tran,"group":disk.group||""})}catch(e){util4.noop()}});data=util4.unique(data);data=util4.sortByKey(data,["type","name"]);return data}function decodeMdabmData(lines){const raid=util4.getValue(lines,"md_level","=");const label=util4.getValue(lines,"md_name","=");const uuid=util4.getValue(lines,"md_uuid","=");const members=[];lines.forEach(line=>{if(line.toLowerCase().startsWith("md_device_dev")&&line.toLowerCase().indexOf("/dev/")>0){members.push(line.split("/dev/")[1])}});return{raid,label,uuid,members}}function raidMatchLinux(data){let result2=data;try{data.forEach(element=>{if(element.type.startsWith("raid")){const lines=execSync(`mdadm --export --detail /dev/${element.name}`,util4.execOptsLinux).toString().split("\n");const mdData=decodeMdabmData(lines);element.label=mdData.label;element.uuid=mdData.uuid;if(mdData.members&&mdData.members.length&&mdData.raid===element.type){result2=result2.map(blockdevice=>{if(blockdevice.fsType==="linux_raid_member"&&mdData.members.indexOf(blockdevice.name)>=0){blockdevice.group=element.name}return blockdevice})}}})}catch(e){util4.noop()}return result2}function getDevicesLinux(data){const result2=[];data.forEach(element=>{if(element.type.startsWith("disk")){result2.push(element.name)}});return result2}function matchDevicesLinux(data){let result2=data;try{const devices=getDevicesLinux(data);result2=result2.map(blockdevice=>{if(blockdevice.type.startsWith("part")||blockdevice.type.startsWith("disk")){devices.forEach(element=>{if(blockdevice.name.startsWith(element)){blockdevice.device="/dev/"+element}})}return blockdevice})}catch(e){util4.noop()}return result2}function getDevicesMac(data){const result2=[];data.forEach(element=>{if(element.type.startsWith("disk")){result2.push({name:element.name,model:element.model,device:element.name})}if(element.type.startsWith("virtual")){let device="";result2.forEach(e=>{if(e.model===element.model){device=e.device}});if(device){result2.push({name:element.name,model:element.model,device})}}});return result2}function matchDevicesMac(data){let result2=data;try{const devices=getDevicesMac(data);result2=result2.map(blockdevice=>{if(blockdevice.type.startsWith("part")||blockdevice.type.startsWith("disk")||blockdevice.type.startsWith("virtual")){devices.forEach(element=>{if(blockdevice.name.startsWith(element.name)){blockdevice.device=element.device}})}return blockdevice})}catch(e){util4.noop()}return result2}function getDevicesWin(diskDrives){const result2=[];diskDrives.forEach(element=>{const lines=element.split("\r\n");const device=util4.getValue(lines,"DeviceID",":");let partitions=element.split("@{DeviceID=");if(partitions.length>1){partitions=partitions.slice(1);partitions.forEach(partition2=>{result2.push({name:partition2.split(";")[0].toUpperCase(),device})})}});return result2}function matchDevicesWin(data,diskDrives){const devices=getDevicesWin(diskDrives);data.map(element=>{const filteresDevices=devices.filter(e=>{return e.name===element.name.toUpperCase()});if(filteresDevices.length>0){element.device=filteresDevices[0].device}return element});return data}function blkStdoutToObject(stdout){return stdout.toString().replace(/NAME=/g,'{"name":').replace(/FSTYPE=/g,',"fsType":').replace(/TYPE=/g,',"type":').replace(/SIZE=/g,',"size":').replace(/MOUNTPOINT=/g,',"mountpoint":').replace(/UUID=/g,',"uuid":').replace(/ROTA=/g,',"rota":').replace(/RO=/g,',"ro":').replace(/RM=/g,',"rm":').replace(/TRAN=/g,',"tran":').replace(/SERIAL=/g,',"serial":').replace(/LABEL=/g,',"label":').replace(/MODEL=/g,',"model":').replace(/OWNER=/g,',"owner":').replace(/GROUP=/g,',"group":').replace(/\n/g,"}\n")}function blockDevices(callback){return new Promise(resolve=>{process.nextTick(()=>{let data=[];if(_linux){exec3("lsblk -bPo NAME,TYPE,SIZE,FSTYPE,MOUNTPOINT,UUID,ROTA,RO,RM,TRAN,SERIAL,LABEL,MODEL,OWNER 2>/dev/null",{maxBuffer:1024*1024},function(error,stdout){if(!error){let lines=blkStdoutToObject(stdout).split("\n");data=parseBlk(lines);data=raidMatchLinux(data);data=matchDevicesLinux(data);if(callback){callback(data)}resolve(data)}else{exec3("lsblk -bPo NAME,TYPE,SIZE,FSTYPE,MOUNTPOINT,UUID,ROTA,RO,RM,LABEL,MODEL,OWNER 2>/dev/null",{maxBuffer:1024*1024},function(error2,stdout2){if(!error2){let lines=blkStdoutToObject(stdout2).split("\n");data=parseBlk(lines);data=raidMatchLinux(data)}if(callback){callback(data)}resolve(data)})}})}if(_darwin){exec3("diskutil info -all",{maxBuffer:1024*1024},function(error,stdout){if(!error){let lines=stdout.toString().split("\n");data=parseDevices(lines);data=matchDevicesMac(data)}if(callback){callback(data)}resolve(data)})}if(_sunos){if(callback){callback(data)}resolve(data)}if(_windows){let drivetypes=["Unknown","NoRoot","Removable","Local","Network","CD/DVD","RAM"];try{const workload=[];workload.push(util4.powerShell("Get-CimInstance -ClassName Win32_LogicalDisk | select Caption,DriveType,Name,FileSystem,Size,VolumeSerialNumber,VolumeName | fl"));workload.push(util4.powerShell("Get-WmiObject -Class Win32_diskdrive | Select-Object -Property PNPDeviceId,DeviceID, Model, Size, @{L='Partitions'; E={$_.GetRelated('Win32_DiskPartition').GetRelated('Win32_LogicalDisk') | Select-Object -Property DeviceID, VolumeName, Size, FreeSpace}} | fl"));util4.promiseAll(workload).then(res=>{let logicalDisks=res.results[0].toString().split(/\n\s*\n/);let diskDrives=res.results[1].toString().split(/\n\s*\n/);logicalDisks.forEach(function(device){let lines=device.split("\r\n");let drivetype=util4.getValue(lines,"drivetype",":");if(drivetype){data.push({name:util4.getValue(lines,"name",":"),identifier:util4.getValue(lines,"caption",":"),type:"disk",fsType:util4.getValue(lines,"filesystem",":").toLowerCase(),mount:util4.getValue(lines,"caption",":"),size:util4.getValue(lines,"size",":"),physical:drivetype>=0&&drivetype<=6?drivetypes[drivetype]:drivetypes[0],uuid:util4.getValue(lines,"volumeserialnumber",":"),label:util4.getValue(lines,"volumename",":"),model:"",serial:util4.getValue(lines,"volumeserialnumber",":"),removable:drivetype==="2",protocol:"",group:"",device:""})}});data=matchDevicesWin(data,diskDrives);if(callback){callback(data)}resolve(data)})}catch(e){if(callback){callback(data)}resolve(data)}}if(_freebsd||_openbsd||_netbsd){if(callback){callback(null)}resolve(null)}})})}exports2.blockDevices=blockDevices;function calcFsSpeed(rx,wx){let result2={rx:0,wx:0,tx:0,rx_sec:null,wx_sec:null,tx_sec:null,ms:0};if(_fs_speed&&_fs_speed.ms){result2.rx=rx;result2.wx=wx;result2.tx=result2.rx+result2.wx;result2.ms=Date.now()-_fs_speed.ms;result2.rx_sec=(result2.rx-_fs_speed.bytes_read)/(result2.ms/1e3);result2.wx_sec=(result2.wx-_fs_speed.bytes_write)/(result2.ms/1e3);result2.tx_sec=result2.rx_sec+result2.wx_sec;_fs_speed.rx_sec=result2.rx_sec;_fs_speed.wx_sec=result2.wx_sec;_fs_speed.tx_sec=result2.tx_sec;_fs_speed.bytes_read=result2.rx;_fs_speed.bytes_write=result2.wx;_fs_speed.bytes_overall=result2.rx+result2.wx;_fs_speed.ms=Date.now();_fs_speed.last_ms=result2.ms}else{result2.rx=rx;result2.wx=wx;result2.tx=result2.rx+result2.wx;_fs_speed.rx_sec=null;_fs_speed.wx_sec=null;_fs_speed.tx_sec=null;_fs_speed.bytes_read=result2.rx;_fs_speed.bytes_write=result2.wx;_fs_speed.bytes_overall=result2.rx+result2.wx;_fs_speed.ms=Date.now();_fs_speed.last_ms=0}return result2}function fsStats(callback){return new Promise(resolve=>{process.nextTick(()=>{if(_windows||_freebsd||_openbsd||_netbsd||_sunos){return resolve(null)}let result2={rx:0,wx:0,tx:0,rx_sec:null,wx_sec:null,tx_sec:null,ms:0};let rx=0;let wx=0;if(_fs_speed&&!_fs_speed.ms||_fs_speed&&_fs_speed.ms&&Date.now()-_fs_speed.ms>=500){if(_linux){exec3("lsblk -r 2>/dev/null | grep /",{maxBuffer:1024*1024},function(error,stdout){if(!error){let lines=stdout.toString().split("\n");let fs_filter=[];lines.forEach(function(line){if(line!==""){line=line.trim().split(" ");if(fs_filter.indexOf(line[0])===-1){fs_filter.push(line[0])}}});let output=fs_filter.join("|");exec3('cat /proc/diskstats | egrep "'+output+'"',{maxBuffer:1024*1024},function(error2,stdout2){if(!error2){let lines2=stdout2.toString().split("\n");lines2.forEach(function(line){line=line.trim();if(line!==""){line=line.replace(/ +/g," ").split(" ");rx+=parseInt(line[5])*512;wx+=parseInt(line[9])*512}});result2=calcFsSpeed(rx,wx)}if(callback){callback(result2)}resolve(result2)})}else{if(callback){callback(result2)}resolve(result2)}})}if(_darwin){exec3('ioreg -c IOBlockStorageDriver -k Statistics -r -w0 | sed -n "/IOBlockStorageDriver/,/Statistics/p" | grep "Statistics" | tr -cd "01234567890,\n"',{maxBuffer:1024*1024},function(error,stdout){if(!error){let lines=stdout.toString().split("\n");lines.forEach(function(line){line=line.trim();if(line!==""){line=line.split(",");rx+=parseInt(line[2]);wx+=parseInt(line[9])}});result2=calcFsSpeed(rx,wx)}if(callback){callback(result2)}resolve(result2)})}}else{result2.ms=_fs_speed.last_ms;result2.rx=_fs_speed.bytes_read;result2.wx=_fs_speed.bytes_write;result2.tx=_fs_speed.bytes_read+_fs_speed.bytes_write;result2.rx_sec=_fs_speed.rx_sec;result2.wx_sec=_fs_speed.wx_sec;result2.tx_sec=_fs_speed.tx_sec;if(callback){callback(result2)}resolve(result2)}})})}exports2.fsStats=fsStats;function calcDiskIO(rIO,wIO,rWaitTime,wWaitTime,tWaitTime){let result2={rIO:0,wIO:0,tIO:0,rIO_sec:null,wIO_sec:null,tIO_sec:null,rWaitTime:0,wWaitTime:0,tWaitTime:0,rWaitPercent:null,wWaitPercent:null,tWaitPercent:null,ms:0};if(_disk_io&&_disk_io.ms){result2.rIO=rIO;result2.wIO=wIO;result2.tIO=rIO+wIO;result2.ms=Date.now()-_disk_io.ms;result2.rIO_sec=(result2.rIO-_disk_io.rIO)/(result2.ms/1e3);result2.wIO_sec=(result2.wIO-_disk_io.wIO)/(result2.ms/1e3);result2.tIO_sec=result2.rIO_sec+result2.wIO_sec;result2.rWaitTime=rWaitTime;result2.wWaitTime=wWaitTime;result2.tWaitTime=tWaitTime;result2.rWaitPercent=(result2.rWaitTime-_disk_io.rWaitTime)*100/result2.ms;result2.wWaitPercent=(result2.wWaitTime-_disk_io.wWaitTime)*100/result2.ms;result2.tWaitPercent=(result2.tWaitTime-_disk_io.tWaitTime)*100/result2.ms;_disk_io.rIO=rIO;_disk_io.wIO=wIO;_disk_io.rIO_sec=result2.rIO_sec;_disk_io.wIO_sec=result2.wIO_sec;_disk_io.tIO_sec=result2.tIO_sec;_disk_io.rWaitTime=rWaitTime;_disk_io.wWaitTime=wWaitTime;_disk_io.tWaitTime=tWaitTime;_disk_io.rWaitPercent=result2.rWaitPercent;_disk_io.wWaitPercent=result2.wWaitPercent;_disk_io.tWaitPercent=result2.tWaitPercent;_disk_io.last_ms=result2.ms;_disk_io.ms=Date.now()}else{result2.rIO=rIO;result2.wIO=wIO;result2.tIO=rIO+wIO;result2.rWaitTime=rWaitTime;result2.wWaitTime=wWaitTime;result2.tWaitTime=tWaitTime;_disk_io.rIO=rIO;_disk_io.wIO=wIO;_disk_io.rIO_sec=null;_disk_io.wIO_sec=null;_disk_io.tIO_sec=null;_disk_io.rWaitTime=rWaitTime;_disk_io.wWaitTime=wWaitTime;_disk_io.tWaitTime=tWaitTime;_disk_io.rWaitPercent=null;_disk_io.wWaitPercent=null;_disk_io.tWaitPercent=null;_disk_io.last_ms=0;_disk_io.ms=Date.now()}return result2}function disksIO(callback){return new Promise(resolve=>{process.nextTick(()=>{if(_windows){return resolve(null)}if(_sunos){return resolve(null)}let result2={rIO:0,wIO:0,tIO:0,rIO_sec:null,wIO_sec:null,tIO_sec:null,rWaitTime:0,wWaitTime:0,tWaitTime:0,rWaitPercent:null,wWaitPercent:null,tWaitPercent:null,ms:0};let rIO=0;let wIO=0;let rWaitTime=0;let wWaitTime=0;let tWaitTime=0;if(_disk_io&&!_disk_io.ms||_disk_io&&_disk_io.ms&&Date.now()-_disk_io.ms>=500){if(_linux||_freebsd||_openbsd||_netbsd){let cmd='for mount in `lsblk 2>/dev/null | grep " disk " | sed "s/[│└─├]//g" | awk \'{$1=$1};1\' | cut -d " " -f 1 | sort -u`; do cat /sys/block/$mount/stat | sed -r "s/ +/;/g" | sed -r "s/^;//"; done';exec3(cmd,{maxBuffer:1024*1024},function(error,stdout){if(!error){let lines=stdout.split("\n");lines.forEach(function(line){if(!line){return}let stats=line.split(";");rIO+=parseInt(stats[0]);wIO+=parseInt(stats[4]);rWaitTime+=parseInt(stats[3]);wWaitTime+=parseInt(stats[7]);tWaitTime+=parseInt(stats[10])});result2=calcDiskIO(rIO,wIO,rWaitTime,wWaitTime,tWaitTime);if(callback){callback(result2)}resolve(result2)}else{if(callback){callback(result2)}resolve(result2)}})}if(_darwin){exec3('ioreg -c IOBlockStorageDriver -k Statistics -r -w0 | sed -n "/IOBlockStorageDriver/,/Statistics/p" | grep "Statistics" | tr -cd "01234567890,\n"',{maxBuffer:1024*1024},function(error,stdout){if(!error){let lines=stdout.toString().split("\n");lines.forEach(function(line){line=line.trim();if(line!==""){line=line.split(",");rIO+=parseInt(line[10]);wIO+=parseInt(line[0])}});result2=calcDiskIO(rIO,wIO,rWaitTime,wWaitTime,tWaitTime)}if(callback){callback(result2)}resolve(result2)})}}else{result2.rIO=_disk_io.rIO;result2.wIO=_disk_io.wIO;result2.tIO=_disk_io.rIO+_disk_io.wIO;result2.ms=_disk_io.last_ms;result2.rIO_sec=_disk_io.rIO_sec;result2.wIO_sec=_disk_io.wIO_sec;result2.tIO_sec=_disk_io.tIO_sec;result2.rWaitTime=_disk_io.rWaitTime;result2.wWaitTime=_disk_io.wWaitTime;result2.tWaitTime=_disk_io.tWaitTime;result2.rWaitPercent=_disk_io.rWaitPercent;result2.wWaitPercent=_disk_io.wWaitPercent;result2.tWaitPercent=_disk_io.tWaitPercent;if(callback){callback(result2)}resolve(result2)}})})}exports2.disksIO=disksIO;function diskLayout(callback){function getVendorFromModel(model){const diskManufacturers=[{pattern:"WESTERN.*",manufacturer:"Western Digital"},{pattern:"^WDC.*",manufacturer:"Western Digital"},{pattern:"WD.*",manufacturer:"Western Digital"},{pattern:"TOSHIBA.*",manufacturer:"Toshiba"},{pattern:"HITACHI.*",manufacturer:"Hitachi"},{pattern:"^IC.*",manufacturer:"Hitachi"},{pattern:"^HTS.*",manufacturer:"Hitachi"},{pattern:"SANDISK.*",manufacturer:"SanDisk"},{pattern:"KINGSTON.*",manufacturer:"Kingston Technology"},{pattern:"^SONY.*",manufacturer:"Sony"},{pattern:"TRANSCEND.*",manufacturer:"Transcend"},{pattern:"SAMSUNG.*",manufacturer:"Samsung"},{pattern:"^ST(?!I\\ ).*",manufacturer:"Seagate"},{pattern:"^STI\\ .*",manufacturer:"SimpleTech"},{pattern:"^D...-.*",manufacturer:"IBM"},{pattern:"^IBM.*",manufacturer:"IBM"},{pattern:"^FUJITSU.*",manufacturer:"Fujitsu"},{pattern:"^MP.*",manufacturer:"Fujitsu"},{pattern:"^MK.*",manufacturer:"Toshiba"},{pattern:"MAXTO.*",manufacturer:"Maxtor"},{pattern:"PIONEER.*",manufacturer:"Pioneer"},{pattern:"PHILIPS.*",manufacturer:"Philips"},{pattern:"QUANTUM.*",manufacturer:"Quantum Technology"},{pattern:"FIREBALL.*",manufacturer:"Quantum Technology"},{pattern:"^VBOX.*",manufacturer:"VirtualBox"},{pattern:"CORSAIR.*",manufacturer:"Corsair Components"},{pattern:"CRUCIAL.*",manufacturer:"Crucial"},{pattern:"ECM.*",manufacturer:"ECM"},{pattern:"INTEL.*",manufacturer:"INTEL"},{pattern:"EVO.*",manufacturer:"Samsung"},{pattern:"APPLE.*",manufacturer:"Apple"}];let result2="";if(model){model=model.toUpperCase();diskManufacturers.forEach(manufacturer=>{const re=RegExp(manufacturer.pattern);if(re.test(model)){result2=manufacturer.manufacturer}})}return result2}return new Promise(resolve=>{process.nextTick(()=>{const commitResult=res=>{for(let i=0;i<res.length;i++){delete res[i].BSDName}if(callback){callback(res)}resolve(res)};let result2=[];let cmd="";if(_linux){let cmdFullSmart="";exec3("export LC_ALL=C; lsblk -ablJO 2>/dev/null; unset LC_ALL",{maxBuffer:1024*1024},function(error,stdout){if(!error){try{const out=stdout.toString().trim();let devices=[];try{const outJSON=JSON.parse(out);if(outJSON&&{}.hasOwnProperty.call(outJSON,"blockdevices")){devices=outJSON.blockdevices.filter(item=>{return item.type==="disk"&&item.size>0&&(item.model!==null||item.mountpoint===null&&item.label===null&&item.fstype===null&&item.parttype===null&&item.path&&item.path.indexOf("/ram")!==0&&item.path.indexOf("/loop")!==0&&item["disc-max"]&&item["disc-max"]!==0)})}}catch(e){try{const out2=execSync("export LC_ALL=C; lsblk -bPo NAME,TYPE,SIZE,FSTYPE,MOUNTPOINT,UUID,ROTA,RO,RM,LABEL,MODEL,OWNER,GROUP 2>/dev/null; unset LC_ALL",util4.execOptsLinux).toString();let lines=blkStdoutToObject(out2).split("\n");const data=parseBlk(lines);devices=data.filter(item=>{return item.type==="disk"&&item.size>0&&(item.model!==null&&item.model!==""||item.mount===""&&item.label===""&&item.fsType==="")})}catch(e2){util4.noop()}}devices.forEach(device=>{let mediumType="";const BSDName="/dev/"+device.name;const logical=device.name;try{mediumType=execSync("cat /sys/block/"+logical+"/queue/rotational 2>/dev/null",util4.execOptsLinux).toString().split("\n")[0]}catch(e){util4.noop()}let interfaceType=device.tran?device.tran.toUpperCase().trim():"";if(interfaceType==="NVME"){mediumType="2";interfaceType="PCIe"}result2.push({device:BSDName,type:mediumType==="0"?"SSD":mediumType==="1"?"HD":mediumType==="2"?"NVMe":device.model&&device.model.indexOf("SSD")>-1?"SSD":device.model&&device.model.indexOf("NVM")>-1?"NVMe":"HD",name:device.model||"",vendor:getVendorFromModel(device.model)||(device.vendor?device.vendor.trim():""),size:device.size||0,bytesPerSector:null,totalCylinders:null,totalHeads:null,totalSectors:null,totalTracks:null,tracksPerCylinder:null,sectorsPerTrack:null,firmwareRevision:device.rev?device.rev.trim():"",serialNum:device.serial?device.serial.trim():"",interfaceType,smartStatus:"unknown",temperature:null,BSDName});cmd+=`printf "
${BSDName}|"; smartctl -H ${BSDName} | grep overall;`;cmdFullSmart+=`${cmdFullSmart?'printf ",";':""}smartctl -a -j ${BSDName};`})}catch(e){util4.noop()}}if(cmdFullSmart){exec3(cmdFullSmart,{maxBuffer:1024*1024},function(error2,stdout2){try{const data=JSON.parse(`[${stdout2}]`);data.forEach(disk=>{const diskBSDName=disk.smartctl.argv[disk.smartctl.argv.length-1];for(let i=0;i<result2.length;i++){if(result2[i].BSDName===diskBSDName){result2[i].smartStatus=disk.smart_status.passed?"Ok":disk.smart_status.passed===false?"Predicted Failure":"unknown";if(disk.temperature&&disk.temperature.current){result2[i].temperature=disk.temperature.current}result2[i].smartData=disk}}});commitResult(result2)}catch(e){if(cmd){cmd=cmd+'printf "\n"';exec3(cmd,{maxBuffer:1024*1024},function(error3,stdout3){let lines=stdout3.toString().split("\n");lines.forEach(line=>{if(line){let parts=line.split("|");if(parts.length===2){let BSDName=parts[0];parts[1]=parts[1].trim();let parts2=parts[1].split(":");if(parts2.length===2){parts2[1]=parts2[1].trim();let status=parts2[1].toLowerCase();for(let i=0;i<result2.length;i++){if(result2[i].BSDName===BSDName){result2[i].smartStatus=status==="passed"?"Ok":status==="failed!"?"Predicted Failure":"unknown"}}}}}});commitResult(result2)})}else{commitResult(result2)}}})}else{commitResult(result2)}})}if(_freebsd||_openbsd||_netbsd){if(callback){callback(result2)}resolve(result2)}if(_sunos){if(callback){callback(result2)}resolve(result2)}if(_darwin){exec3("system_profiler SPSerialATADataType SPNVMeDataType SPUSBDataType",{maxBuffer:1024*1024},function(error,stdout){if(!error){let lines=stdout.toString().split("\n");let linesSATA=[];let linesNVMe=[];let linesUSB=[];let dataType="SATA";lines.forEach(line=>{if(line==="NVMExpress:"){dataType="NVMe"}else if(line==="USB:"){dataType="USB"}else if(line==="SATA/SATA Express:"){dataType="SATA"}else if(dataType==="SATA"){linesSATA.push(line)}else if(dataType==="NVMe"){linesNVMe.push(line)}else if(dataType==="USB"){linesUSB.push(line)}});try{let devices=linesSATA.join("\n").split(" Physical Interconnect: ");devices.shift();devices.forEach(function(device){device="InterfaceType: "+device;let lines2=device.split("\n");const mediumType=util4.getValue(lines2,"Medium Type",":",true).trim();const sizeStr=util4.getValue(lines2,"capacity",":",true).trim();const BSDName=util4.getValue(lines2,"BSD Name",":",true).trim();if(sizeStr){let sizeValue=0;if(sizeStr.indexOf("(")>=0){sizeValue=parseInt(sizeStr.match(/\(([^)]+)\)/)[1].replace(/\./g,"").replace(/,/g,"").replace(/\s/g,""))}if(!sizeValue){sizeValue=parseInt(sizeStr)}if(sizeValue){const smartStatusString=util4.getValue(lines2,"S.M.A.R.T. status",":",true).trim().toLowerCase();result2.push({device:BSDName,type:mediumType.startsWith("Solid")?"SSD":"HD",name:util4.getValue(lines2,"Model",":",true).trim(),vendor:getVendorFromModel(util4.getValue(lines2,"Model",":",true).trim())||util4.getValue(lines2,"Manufacturer",":",true),size:sizeValue,bytesPerSector:null,totalCylinders:null,totalHeads:null,totalSectors:null,totalTracks:null,tracksPerCylinder:null,sectorsPerTrack:null,firmwareRevision:util4.getValue(lines2,"Revision",":",true).trim(),serialNum:util4.getValue(lines2,"Serial Number",":",true).trim(),interfaceType:util4.getValue(lines2,"InterfaceType",":",true).trim(),smartStatus:smartStatusString==="verified"?"OK":smartStatusString||"unknown",temperature:null,BSDName});cmd=cmd+'printf "\n'+BSDName+'|"; diskutil info /dev/'+BSDName+" | grep SMART;"}}})}catch(e){util4.noop()}try{let devices=linesNVMe.join("\n").split("\n\n          Capacity:");devices.shift();devices.forEach(function(device){device="!Capacity: "+device;let lines2=device.split("\n");const linkWidth=util4.getValue(lines2,"link width",":",true).trim();const sizeStr=util4.getValue(lines2,"!capacity",":",true).trim();const BSDName=util4.getValue(lines2,"BSD Name",":",true).trim();if(sizeStr){let sizeValue=0;if(sizeStr.indexOf("(")>=0){sizeValue=parseInt(sizeStr.match(/\(([^)]+)\)/)[1].replace(/\./g,"").replace(/,/g,"").replace(/\s/g,""))}if(!sizeValue){sizeValue=parseInt(sizeStr)}if(sizeValue){const smartStatusString=util4.getValue(lines2,"S.M.A.R.T. status",":",true).trim().toLowerCase();result2.push({device:BSDName,type:"NVMe",name:util4.getValue(lines2,"Model",":",true).trim(),vendor:getVendorFromModel(util4.getValue(lines2,"Model",":",true).trim()),size:sizeValue,bytesPerSector:null,totalCylinders:null,totalHeads:null,totalSectors:null,totalTracks:null,tracksPerCylinder:null,sectorsPerTrack:null,firmwareRevision:util4.getValue(lines2,"Revision",":",true).trim(),serialNum:util4.getValue(lines2,"Serial Number",":",true).trim(),interfaceType:("PCIe "+linkWidth).trim(),smartStatus:smartStatusString==="verified"?"OK":smartStatusString||"unknown",temperature:null,BSDName});cmd=cmd+'printf "\n'+BSDName+'|"; diskutil info /dev/'+BSDName+" | grep SMART;"}}})}catch(e){util4.noop()}try{let devices=linesUSB.join("\n").replaceAll("Media:\n ","Model:").split("\n\n          Product ID:");devices.shift();devices.forEach(function(device){let lines2=device.split("\n");const sizeStr=util4.getValue(lines2,"Capacity",":",true).trim();const BSDName=util4.getValue(lines2,"BSD Name",":",true).trim();if(sizeStr){let sizeValue=0;if(sizeStr.indexOf("(")>=0){sizeValue=parseInt(sizeStr.match(/\(([^)]+)\)/)[1].replace(/\./g,"").replace(/,/g,"").replace(/\s/g,""))}if(!sizeValue){sizeValue=parseInt(sizeStr)}if(sizeValue){const smartStatusString=util4.getValue(lines2,"S.M.A.R.T. status",":",true).trim().toLowerCase();result2.push({device:BSDName,type:"USB",name:util4.getValue(lines2,"Model",":",true).trim().replaceAll(":",""),vendor:getVendorFromModel(util4.getValue(lines2,"Model",":",true).trim()),size:sizeValue,bytesPerSector:null,totalCylinders:null,totalHeads:null,totalSectors:null,totalTracks:null,tracksPerCylinder:null,sectorsPerTrack:null,firmwareRevision:util4.getValue(lines2,"Revision",":",true).trim(),serialNum:util4.getValue(lines2,"Serial Number",":",true).trim(),interfaceType:"USB",smartStatus:smartStatusString==="verified"?"OK":smartStatusString||"unknown",temperature:null,BSDName});cmd=cmd+'printf "\n'+BSDName+'|"; diskutil info /dev/'+BSDName+" | grep SMART;"}}})}catch(e){util4.noop()}if(cmd){cmd=cmd+'printf "\n"';exec3(cmd,{maxBuffer:1024*1024},function(error2,stdout2){let lines2=stdout2.toString().split("\n");lines2.forEach(line=>{if(line){let parts=line.split("|");if(parts.length===2){let BSDName=parts[0];parts[1]=parts[1].trim();let parts2=parts[1].split(":");if(parts2.length===2){parts2[1]=parts2[1].trim();let status=parts2[1].toLowerCase();for(let i=0;i<result2.length;i++){if(result2[i].BSDName===BSDName){result2[i].smartStatus=status==="not supported"?"not supported":status==="verified"?"Ok":status==="failing"?"Predicted Failure":"unknown"}}}}}});for(let i=0;i<result2.length;i++){delete result2[i].BSDName}if(callback){callback(result2)}resolve(result2)})}else{for(let i=0;i<result2.length;i++){delete result2[i].BSDName}if(callback){callback(result2)}resolve(result2)}}})}if(_windows){try{const workload=[];workload.push(util4.powerShell("Get-CimInstance Win32_DiskDrive | select Caption,Size,Status,PNPDeviceId,DeviceId,BytesPerSector,TotalCylinders,TotalHeads,TotalSectors,TotalTracks,TracksPerCylinder,SectorsPerTrack,FirmwareRevision,SerialNumber,InterfaceType | fl"));workload.push(util4.powerShell("Get-PhysicalDisk | select BusType,MediaType,FriendlyName,Model,SerialNumber,Size | fl"));if(util4.smartMonToolsInstalled()){try{const smartDev=JSON.parse(execSync("smartctl --scan -j").toString());if(smartDev&&smartDev.devices&&smartDev.devices.length>0){smartDev.devices.forEach(dev=>{workload.push(execPromiseSave(`smartctl -j -a ${dev.name}`,util4.execOptsWin))})}}catch(e){util4.noop()}}util4.promiseAll(workload).then(data=>{let devices=data.results[0].toString().split(/\n\s*\n/);devices.forEach(function(device){let lines=device.split("\r\n");const size2=util4.getValue(lines,"Size",":").trim();const status=util4.getValue(lines,"Status",":").trim().toLowerCase();if(size2){result2.push({device:util4.getValue(lines,"DeviceId",":"),type:device.indexOf("SSD")>-1?"SSD":"HD",name:util4.getValue(lines,"Caption",":"),vendor:getVendorFromModel(util4.getValue(lines,"Caption",":",true).trim()),size:parseInt(size2),bytesPerSector:parseInt(util4.getValue(lines,"BytesPerSector",":")),totalCylinders:parseInt(util4.getValue(lines,"TotalCylinders",":")),totalHeads:parseInt(util4.getValue(lines,"TotalHeads",":")),totalSectors:parseInt(util4.getValue(lines,"TotalSectors",":")),totalTracks:parseInt(util4.getValue(lines,"TotalTracks",":")),tracksPerCylinder:parseInt(util4.getValue(lines,"TracksPerCylinder",":")),sectorsPerTrack:parseInt(util4.getValue(lines,"SectorsPerTrack",":")),firmwareRevision:util4.getValue(lines,"FirmwareRevision",":").trim(),serialNum:util4.getValue(lines,"SerialNumber",":").trim(),interfaceType:util4.getValue(lines,"InterfaceType",":").trim(),smartStatus:status==="ok"?"Ok":status==="degraded"?"Degraded":status==="pred fail"?"Predicted Failure":"Unknown",temperature:null})}});devices=data.results[1].split(/\n\s*\n/);devices.forEach(function(device){let lines=device.split("\r\n");const serialNum=util4.getValue(lines,"SerialNumber",":").trim();const name=util4.getValue(lines,"FriendlyName",":").trim().replace("Msft ","Microsoft");const size2=util4.getValue(lines,"Size",":").trim();const model=util4.getValue(lines,"Model",":").trim();const interfaceType=util4.getValue(lines,"BusType",":").trim();let mediaType=util4.getValue(lines,"MediaType",":").trim();if(mediaType==="3"||mediaType==="HDD"){mediaType="HD"}if(mediaType==="4"){mediaType="SSD"}if(mediaType==="5"){mediaType="SCM"}if(mediaType==="Unspecified"&&(model.toLowerCase().indexOf("virtual")>-1||model.toLowerCase().indexOf("vbox")>-1)){mediaType="Virtual"}if(size2){let i=util4.findObjectByKey(result2,"serialNum",serialNum);if(i===-1||serialNum===""){i=util4.findObjectByKey(result2,"name",name)}if(i!=-1){result2[i].type=mediaType;result2[i].interfaceType=interfaceType}}});data.results.shift();data.results.shift();if(data.results.length){data.results.forEach(smartStr=>{try{const smartData=JSON.parse(smartStr);if(smartData.serial_number){const serialNum=smartData.serial_number;let i=util4.findObjectByKey(result2,"serialNum",serialNum);if(i!=-1){result2[i].smartStatus=smartData.smart_status&&smartData.smart_status.passed?"Ok":smartData.smart_status&&smartData.smart_status.passed===false?"Predicted Failure":"unknown";if(smartData.temperature&&smartData.temperature.current){result2[i].temperature=smartData.temperature.current}result2[i].smartData=smartData}}}catch(e){util4.noop()}})}if(callback){callback(result2)}resolve(result2)})}catch(e){if(callback){callback(result2)}resolve(result2)}}})})}exports2.diskLayout=diskLayout}});var require_network=__commonJS({"node_modules/systeminformation/lib/network.js"(exports2){"use strict";var os7=require("os");var exec3=require("child_process").exec;var execSync=require("child_process").execSync;var fs14=require("fs");var util4=require_util2();var _platform=process.platform;var _linux=_platform==="linux"||_platform==="android";var _darwin=_platform==="darwin";var _windows=_platform==="win32";var _freebsd=_platform==="freebsd";var _openbsd=_platform==="openbsd";var _netbsd=_platform==="netbsd";var _sunos=_platform==="sunos";var _network={};var _default_iface="";var _ifaces={};var _dhcpNics=[];var _networkInterfaces=[];var _mac={};var pathToIp;function getDefaultNetworkInterface(){let ifacename="";let ifacenameFirst="";try{let ifaces=os7.networkInterfaces();let scopeid=9999;for(let dev in ifaces){if({}.hasOwnProperty.call(ifaces,dev)){ifaces[dev].forEach(function(details){if(details&&details.internal===false){ifacenameFirst=ifacenameFirst||dev;if(details.scopeid&&details.scopeid<scopeid){ifacename=dev;scopeid=details.scopeid}}})}}ifacename=ifacename||ifacenameFirst||"";if(_windows){let defaultIp="";const cmd="netstat -r";const result2=execSync(cmd,util4.execOptsWin);const lines=result2.toString().split(os7.EOL);lines.forEach(line=>{line=line.replace(/\s+/g," ").trim();if(line.indexOf("0.0.0.0 0.0.0.0")>-1&&!/[a-zA-Z]/.test(line)){const parts=line.split(" ");if(parts.length>=5){defaultIp=parts[parts.length-2]}}});if(defaultIp){for(let dev in ifaces){if({}.hasOwnProperty.call(ifaces,dev)){ifaces[dev].forEach(function(details){if(details&&details.address&&details.address===defaultIp){ifacename=dev}})}}}}if(_linux){let cmd="ip route 2> /dev/null | grep default";let result2=execSync(cmd,util4.execOptsLinux);let parts=result2.toString().split("\n")[0].split(/\s+/);if(parts[0]==="none"&&parts[5]){ifacename=parts[5]}else if(parts[4]){ifacename=parts[4]}if(ifacename.indexOf(":")>-1){ifacename=ifacename.split(":")[1].trim()}}if(_darwin||_freebsd||_openbsd||_netbsd||_sunos){let cmd="";if(_linux){cmd="ip route 2> /dev/null | grep default | awk '{print $5}'"}if(_darwin){cmd="route -n get default 2>/dev/null | grep interface: | awk '{print $2}'"}if(_freebsd||_openbsd||_netbsd||_sunos){cmd="route get 0.0.0.0 | grep interface:"}let result2=execSync(cmd);ifacename=result2.toString().split("\n")[0];if(ifacename.indexOf(":")>-1){ifacename=ifacename.split(":")[1].trim()}}}catch(e){util4.noop()}if(ifacename){_default_iface=ifacename}return _default_iface}exports2.getDefaultNetworkInterface=getDefaultNetworkInterface;function getMacAddresses(){let iface="";let mac="";let result2={};if(_linux||_freebsd||_openbsd||_netbsd){if(typeof pathToIp==="undefined"){try{const lines=execSync("which ip",util4.execOptsLinux).toString().split("\n");if(lines.length&&lines[0].indexOf(":")===-1&&lines[0].indexOf("/")===0){pathToIp=lines[0]}else{pathToIp=""}}catch(e){pathToIp=""}}try{const cmd="export LC_ALL=C; "+(pathToIp?pathToIp+" link show up":"/sbin/ifconfig")+"; unset LC_ALL";let res=execSync(cmd,util4.execOptsLinux);const lines=res.toString().split("\n");for(let i=0;i<lines.length;i++){if(lines[i]&&lines[i][0]!==" "){if(pathToIp){let nextline=lines[i+1].trim().split(" ");if(nextline[0]==="link/ether"){iface=lines[i].split(" ")[1];iface=iface.slice(0,iface.length-1);mac=nextline[1]}}else{iface=lines[i].split(" ")[0];mac=lines[i].split("HWaddr ")[1]}if(iface&&mac){result2[iface]=mac.trim();iface="";mac=""}}}}catch(e){util4.noop()}}if(_darwin){try{const cmd="/sbin/ifconfig";let res=execSync(cmd);const lines=res.toString().split("\n");for(let i=0;i<lines.length;i++){if(lines[i]&&lines[i][0]!=="	"&&lines[i].indexOf(":")>0){iface=lines[i].split(":")[0]}else if(lines[i].indexOf("	ether ")===0){mac=lines[i].split("	ether ")[1];if(iface&&mac){result2[iface]=mac.trim();iface="";mac=""}}}}catch(e){util4.noop()}}return result2}function networkInterfaceDefault(callback){return new Promise(resolve=>{process.nextTick(()=>{let result2=getDefaultNetworkInterface();if(callback){callback(result2)}resolve(result2)})})}exports2.networkInterfaceDefault=networkInterfaceDefault;function parseLinesWindowsNics(sections,nconfigsections){let nics=[];for(let i in sections){try{if({}.hasOwnProperty.call(sections,i)){if(sections[i].trim()!==""){let lines=sections[i].trim().split("\r\n");let linesNicConfig=null;try{linesNicConfig=nconfigsections&&nconfigsections[i]?nconfigsections[i].trim().split("\r\n"):[]}catch(e){util4.noop()}let netEnabled=util4.getValue(lines,"NetEnabled",":");let adapterType=util4.getValue(lines,"AdapterTypeID",":")==="9"?"wireless":"wired";let ifacename=util4.getValue(lines,"Name",":").replace(/\]/g,")").replace(/\[/g,"(");let iface=util4.getValue(lines,"NetConnectionID",":").replace(/\]/g,")").replace(/\[/g,"(");if(ifacename.toLowerCase().indexOf("wi-fi")>=0||ifacename.toLowerCase().indexOf("wireless")>=0){adapterType="wireless"}if(netEnabled!==""){const speed=parseInt(util4.getValue(lines,"speed",":").trim(),10)/1e6;nics.push({mac:util4.getValue(lines,"MACAddress",":").toLowerCase(),dhcp:util4.getValue(linesNicConfig,"dhcpEnabled",":").toLowerCase()==="true",name:ifacename,iface,netEnabled:netEnabled==="TRUE",speed:isNaN(speed)?null:speed,operstate:util4.getValue(lines,"NetConnectionStatus",":")==="2"?"up":"down",type:adapterType})}}}}catch(e){util4.noop()}}return nics}function getWindowsNics(){return new Promise(resolve=>{process.nextTick(()=>{let cmd="Get-CimInstance Win32_NetworkAdapter | fl *; echo '#-#-#-#';";cmd+="Get-CimInstance Win32_NetworkAdapterConfiguration | fl DHCPEnabled";try{util4.powerShell(cmd).then(data=>{data=data.split("#-#-#-#");const nsections=(data[0]||"").split(/\n\s*\n/);const nconfigsections=(data[1]||"").split(/\n\s*\n/);resolve(parseLinesWindowsNics(nsections,nconfigsections))})}catch(e){resolve([])}})})}function getWindowsDNSsuffixes(){let iface={};let dnsSuffixes={primaryDNS:"",exitCode:0,ifaces:[]};try{const ipconfig=execSync("ipconfig /all",util4.execOptsWin);const ipconfigArray=ipconfig.split("\r\n\r\n");ipconfigArray.forEach((element,index)=>{if(index==1){const longPrimaryDNS=element.split("\r\n").filter(element2=>{return element2.toUpperCase().includes("DNS")});const primaryDNS=longPrimaryDNS[0].substring(longPrimaryDNS[0].lastIndexOf(":")+1);dnsSuffixes.primaryDNS=primaryDNS.trim();if(!dnsSuffixes.primaryDNS){dnsSuffixes.primaryDNS="Not defined"}}if(index>1){if(index%2==0){const name=element.substring(element.lastIndexOf(" ")+1).replace(":","");iface.name=name}else{const connectionSpecificDNS=element.split("\r\n").filter(element2=>{return element2.toUpperCase().includes("DNS")});const dnsSuffix=connectionSpecificDNS[0].substring(connectionSpecificDNS[0].lastIndexOf(":")+1);iface.dnsSuffix=dnsSuffix.trim();dnsSuffixes.ifaces.push(iface);iface={}}}});return dnsSuffixes}catch(error){return{primaryDNS:"",exitCode:0,ifaces:[]}}}function getWindowsIfaceDNSsuffix(ifaces,ifacename){let dnsSuffix="";const interfaceName=ifacename+".";try{const connectionDnsSuffix=ifaces.filter(iface=>{return interfaceName.includes(iface.name+".")}).map(iface=>iface.dnsSuffix);if(connectionDnsSuffix[0]){dnsSuffix=connectionDnsSuffix[0]}if(!dnsSuffix){dnsSuffix=""}return dnsSuffix}catch(error){return"Unknown"}}function getWindowsWiredProfilesInformation(){try{const result2=execSync("netsh lan show profiles",util4.execOptsWin);const profileList=result2.split("\r\nProfile on interface");return profileList}catch(error){if(error.status===1&&error.stdout.includes("AutoConfig")){return"Disabled"}return[]}}function getWindowsWirelessIfaceSSID(interfaceName){try{const result2=execSync(`netsh wlan show  interface name="${interfaceName}" | findstr "SSID"`,util4.execOptsWin);const SSID=result2.split("\r\n").shift();const parseSSID=SSID.split(":").pop().trim();return parseSSID}catch(error){return"Unknown"}}function getWindowsIEEE8021x(connectionType,iface,ifaces){let i8021x={state:"Unknown",protocol:"Unknown"};if(ifaces==="Disabled"){i8021x.state="Disabled";i8021x.protocol="Not defined";return i8021x}if(connectionType=="wired"&&ifaces.length>0){try{const iface8021xInfo=ifaces.find(element=>{return element.includes(iface+"\r\n")});const arrayIface8021xInfo=iface8021xInfo.split("\r\n");const state8021x=arrayIface8021xInfo.find(element=>{return element.includes("802.1x")});if(state8021x.includes("Disabled")){i8021x.state="Disabled";i8021x.protocol="Not defined"}else if(state8021x.includes("Enabled")){const protocol8021x=arrayIface8021xInfo.find(element=>{return element.includes("EAP")});i8021x.protocol=protocol8021x.split(":").pop();i8021x.state="Enabled"}}catch(error){return i8021x}}else if(connectionType=="wireless"){let i8021xState="";let i8021xProtocol="";try{const SSID=getWindowsWirelessIfaceSSID(iface);if(SSID!=="Unknown"){let ifaceSanitized="";const s=util4.isPrototypePolluted()?"---":util4.sanitizeShellString(SSID);const l=util4.mathMin(s.length,32);for(let i=0;i<=l;i++){if(s[i]!==void 0){ifaceSanitized=ifaceSanitized+s[i]}}i8021xState=execSync(`netsh wlan show profiles "${ifaceSanitized}" | findstr "802.1X"`,util4.execOptsWin);i8021xProtocol=execSync(`netsh wlan show profiles "${ifaceSanitized}" | findstr "EAP"`,util4.execOptsWin)}if(i8021xState.includes(":")&&i8021xProtocol.includes(":")){i8021x.state=i8021xState.split(":").pop();i8021x.protocol=i8021xProtocol.split(":").pop()}}catch(error){if(error.status===1&&error.stdout.includes("AutoConfig")){i8021x.state="Disabled";i8021x.protocol="Not defined"}return i8021x}}return i8021x}function splitSectionsNics(lines){const result2=[];let section=[];lines.forEach(function(line){if(!line.startsWith("	")&&!line.startsWith(" ")){if(section.length){result2.push(section);section=[]}}section.push(line)});if(section.length){result2.push(section)}return result2}function parseLinesDarwinNics(sections){let nics=[];sections.forEach(section=>{let nic={iface:"",mtu:null,mac:"",ip6:"",ip4:"",speed:null,type:"",operstate:"",duplex:"",internal:false};const first=section[0];nic.iface=first.split(":")[0].trim();let parts=first.split("> mtu");nic.mtu=parts.length>1?parseInt(parts[1],10):null;if(isNaN(nic.mtu)){nic.mtu=null}nic.internal=parts[0].toLowerCase().indexOf("loopback")>-1;section.forEach(line=>{if(line.trim().startsWith("ether ")){nic.mac=line.split("ether ")[1].toLowerCase().trim()}if(line.trim().startsWith("inet6 ")&&!nic.ip6){nic.ip6=line.split("inet6 ")[1].toLowerCase().split("%")[0].split(" ")[0]}if(line.trim().startsWith("inet ")&&!nic.ip4){nic.ip4=line.split("inet ")[1].toLowerCase().split(" ")[0]}});let speed=util4.getValue(section,"link rate");nic.speed=speed?parseFloat(speed):null;if(nic.speed===null){speed=util4.getValue(section,"uplink rate");nic.speed=speed?parseFloat(speed):null;if(nic.speed!==null&&speed.toLowerCase().indexOf("gbps")>=0){nic.speed=nic.speed*1e3}}else{if(speed.toLowerCase().indexOf("gbps")>=0){nic.speed=nic.speed*1e3}}nic.type=util4.getValue(section,"type").toLowerCase().indexOf("wi-fi")>-1?"wireless":"wired";const operstate=util4.getValue(section,"status").toLowerCase();nic.operstate=operstate==="active"?"up":operstate==="inactive"?"down":"unknown";nic.duplex=util4.getValue(section,"media").toLowerCase().indexOf("half-duplex")>-1?"half":"full";if(nic.ip6||nic.ip4||nic.mac){nics.push(nic)}});return nics}function getDarwinNics(){const cmd="/sbin/ifconfig -v";try{const lines=execSync(cmd,{maxBuffer:1024*2e4}).toString().split("\n");const nsections=splitSectionsNics(lines);return parseLinesDarwinNics(nsections)}catch(e){return[]}}function getLinuxIfaceConnectionName(interfaceName){const cmd=`nmcli device status 2>/dev/null | grep ${interfaceName}`;try{const result2=execSync(cmd,util4.execOptsLinux).toString();const resultFormat=result2.replace(/\s+/g," ").trim();const connectionNameLines=resultFormat.split(" ").slice(3);const connectionName=connectionNameLines.join(" ");return connectionName!="--"?connectionName:""}catch(e){return""}}function checkLinuxDCHPInterfaces(file){let result2=[];try{let cmd=`cat ${file} 2> /dev/null | grep 'iface\\|source'`;const lines=execSync(cmd,util4.execOptsLinux).toString().split("\n");lines.forEach(line=>{const parts=line.replace(/\s+/g," ").trim().split(" ");if(parts.length>=4){if(line.toLowerCase().indexOf(" inet ")>=0&&line.toLowerCase().indexOf("dhcp")>=0){result2.push(parts[1])}}if(line.toLowerCase().includes("source")){let file2=line.split(" ")[1];result2=result2.concat(checkLinuxDCHPInterfaces(file2))}})}catch(e){util4.noop()}return result2}function getLinuxDHCPNics(){let cmd="ip a 2> /dev/null";let result2=[];try{const lines=execSync(cmd,util4.execOptsLinux).toString().split("\n");const nsections=splitSectionsNics(lines);result2=parseLinuxDHCPNics(nsections)}catch(e){util4.noop()}try{result2=checkLinuxDCHPInterfaces("/etc/network/interfaces")}catch(e){util4.noop()}return result2}function parseLinuxDHCPNics(sections){const result2=[];if(sections&&sections.length){sections.forEach(lines=>{if(lines&&lines.length){const parts=lines[0].split(":");if(parts.length>2){for(let line of lines){if(line.indexOf(" inet ")>=0&&line.indexOf(" dynamic ")>=0){const parts2=line.split(" ");const nic=parts2[parts2.length-1].trim();result2.push(nic);break}}}}})}return result2}function getLinuxIfaceDHCPstatus(iface,connectionName,DHCPNics){let result2=false;if(connectionName){const cmd=`nmcli connection show "${connectionName}" 2>/dev/null | grep ipv4.method;`;try{const lines=execSync(cmd,util4.execOptsLinux).toString();const resultFormat=lines.replace(/\s+/g," ").trim();let dhcStatus=resultFormat.split(" ").slice(1).toString();switch(dhcStatus){case"auto":result2=true;break;default:result2=false;break}return result2}catch(e){return DHCPNics.indexOf(iface)>=0}}else{return DHCPNics.indexOf(iface)>=0}}function getDarwinIfaceDHCPstatus(iface){let result2=false;const cmd=`ipconfig getpacket "${iface}" 2>/dev/null | grep lease_time;`;try{const lines=execSync(cmd).toString().split("\n");if(lines.length&&lines[0].startsWith("lease_time")){result2=true}}catch(e){util4.noop()}return result2}function getLinuxIfaceDNSsuffix(connectionName){if(connectionName){const cmd=`nmcli connection show "${connectionName}" 2>/dev/null | grep ipv4.dns-search;`;try{const result2=execSync(cmd,util4.execOptsLinux).toString();const resultFormat=result2.replace(/\s+/g," ").trim();const dnsSuffix=resultFormat.split(" ").slice(1).toString();return dnsSuffix=="--"?"Not defined":dnsSuffix}catch(e){return"Unknown"}}else{return"Unknown"}}function getLinuxIfaceIEEE8021xAuth(connectionName){if(connectionName){const cmd=`nmcli connection show "${connectionName}" 2>/dev/null | grep 802-1x.eap;`;try{const result2=execSync(cmd,util4.execOptsLinux).toString();const resultFormat=result2.replace(/\s+/g," ").trim();const authenticationProtocol=resultFormat.split(" ").slice(1).toString();return authenticationProtocol=="--"?"":authenticationProtocol}catch(e){return"Not defined"}}else{return"Not defined"}}function getLinuxIfaceIEEE8021xState(authenticationProtocol){if(authenticationProtocol){if(authenticationProtocol=="Not defined"){return"Disabled"}return"Enabled"}else{return"Unknown"}}function testVirtualNic(iface,ifaceName,mac){const virtualMacs=["00:00:00:00:00:00","00:03:FF","00:05:69","00:0C:29","00:0F:4B","00:13:07","00:13:BE","00:15:5d","00:16:3E","00:1C:42","00:21:F6","00:24:0B","00:50:56","00:A0:B1","00:E0:C8","08:00:27","0A:00:27","18:92:2C","16:DF:49","3C:F3:92","54:52:00","FC:15:97"];if(mac){return virtualMacs.filter(item=>{return mac.toUpperCase().toUpperCase().startsWith(item.substring(0,mac.length))}).length>0||iface.toLowerCase().indexOf(" virtual ")>-1||ifaceName.toLowerCase().indexOf(" virtual ")>-1||iface.toLowerCase().indexOf("vethernet ")>-1||ifaceName.toLowerCase().indexOf("vethernet ")>-1||iface.toLowerCase().startsWith("veth")||ifaceName.toLowerCase().startsWith("veth")||iface.toLowerCase().startsWith("vboxnet")||ifaceName.toLowerCase().startsWith("vboxnet")}else{return false}}function networkInterfaces(callback,rescan,defaultString){if(typeof callback==="string"){defaultString=callback;rescan=true;callback=null}if(typeof callback==="boolean"){rescan=callback;callback=null;defaultString=""}if(typeof rescan==="undefined"){rescan=true}defaultString=defaultString||"";defaultString=""+defaultString;return new Promise(resolve=>{process.nextTick(()=>{let ifaces=os7.networkInterfaces();let result2=[];let nics=[];let dnsSuffixes=[];let nics8021xInfo=[];if(_darwin||_freebsd||_openbsd||_netbsd){if(JSON.stringify(ifaces)===JSON.stringify(_ifaces)&&!rescan){result2=_networkInterfaces;if(callback){callback(result2)}resolve(result2)}else{const defaultInterface=getDefaultNetworkInterface();_ifaces=JSON.parse(JSON.stringify(ifaces));nics=getDarwinNics();nics.forEach(nic=>{if({}.hasOwnProperty.call(ifaces,nic.iface)){ifaces[nic.iface].forEach(function(details){if(details.family==="IPv4"||details.family===4){nic.ip4subnet=details.netmask}if(details.family==="IPv6"||details.family===6){nic.ip6subnet=details.netmask}})}let ifaceSanitized="";const s=util4.isPrototypePolluted()?"---":util4.sanitizeShellString(nic.iface);const l=util4.mathMin(s.length,2e3);for(let i=0;i<=l;i++){if(s[i]!==void 0){ifaceSanitized=ifaceSanitized+s[i]}}result2.push({iface:nic.iface,ifaceName:nic.iface,default:nic.iface===defaultInterface,ip4:nic.ip4,ip4subnet:nic.ip4subnet||"",ip6:nic.ip6,ip6subnet:nic.ip6subnet||"",mac:nic.mac,internal:nic.internal,virtual:nic.internal?false:testVirtualNic(nic.iface,nic.iface,nic.mac),operstate:nic.operstate,type:nic.type,duplex:nic.duplex,mtu:nic.mtu,speed:nic.speed,dhcp:getDarwinIfaceDHCPstatus(ifaceSanitized),dnsSuffix:"",ieee8021xAuth:"",ieee8021xState:"",carrierChanges:0})});_networkInterfaces=result2;if(defaultString.toLowerCase().indexOf("default")>=0){result2=result2.filter(item=>item.default);if(result2.length>0){result2=result2[0]}else{result2=[]}}if(callback){callback(result2)}resolve(result2)}}if(_linux){if(JSON.stringify(ifaces)===JSON.stringify(_ifaces)&&!rescan){result2=_networkInterfaces;if(callback){callback(result2)}resolve(result2)}else{_ifaces=JSON.parse(JSON.stringify(ifaces));_dhcpNics=getLinuxDHCPNics();const defaultInterface=getDefaultNetworkInterface();for(let dev in ifaces){let ip4="";let ip4subnet="";let ip6="";let ip6subnet="";let mac="";let duplex="";let mtu="";let speed=null;let carrierChanges=0;let dhcp=false;let dnsSuffix="";let ieee8021xAuth="";let ieee8021xState="";let type2="";if({}.hasOwnProperty.call(ifaces,dev)){let ifaceName=dev;ifaces[dev].forEach(function(details){if(details.family==="IPv4"||details.family===4){ip4=details.address;ip4subnet=details.netmask}if(details.family==="IPv6"||details.family===6){if(!ip6||ip6.match(/^fe80::/i)){ip6=details.address;ip6subnet=details.netmask}}mac=details.mac;const nodeMainVersion=parseInt(process.versions.node.split("."),10);if(mac.indexOf("00:00:0")>-1&&(_linux||_darwin)&&!details.internal&&nodeMainVersion>=8&&nodeMainVersion<=11){if(Object.keys(_mac).length===0){_mac=getMacAddresses()}mac=_mac[dev]||""}});let iface=dev.split(":")[0].trim().toLowerCase();let ifaceSanitized="";const s=util4.isPrototypePolluted()?"---":util4.sanitizeShellString(iface);const l=util4.mathMin(s.length,2e3);for(let i=0;i<=l;i++){if(s[i]!==void 0){ifaceSanitized=ifaceSanitized+s[i]}}const cmd=`echo -n "addr_assign_type: "; cat /sys/class/net/${ifaceSanitized}/addr_assign_type 2>/dev/null; echo;
            echo -n "address: "; cat /sys/class/net/${ifaceSanitized}/address 2>/dev/null; echo;
            echo -n "addr_len: "; cat /sys/class/net/${ifaceSanitized}/addr_len 2>/dev/null; echo;
            echo -n "broadcast: "; cat /sys/class/net/${ifaceSanitized}/broadcast 2>/dev/null; echo;
            echo -n "carrier: "; cat /sys/class/net/${ifaceSanitized}/carrier 2>/dev/null; echo;
            echo -n "carrier_changes: "; cat /sys/class/net/${ifaceSanitized}/carrier_changes 2>/dev/null; echo;
            echo -n "dev_id: "; cat /sys/class/net/${ifaceSanitized}/dev_id 2>/dev/null; echo;
            echo -n "dev_port: "; cat /sys/class/net/${ifaceSanitized}/dev_port 2>/dev/null; echo;
            echo -n "dormant: "; cat /sys/class/net/${ifaceSanitized}/dormant 2>/dev/null; echo;
            echo -n "duplex: "; cat /sys/class/net/${ifaceSanitized}/duplex 2>/dev/null; echo;
            echo -n "flags: "; cat /sys/class/net/${ifaceSanitized}/flags 2>/dev/null; echo;
            echo -n "gro_flush_timeout: "; cat /sys/class/net/${ifaceSanitized}/gro_flush_timeout 2>/dev/null; echo;
            echo -n "ifalias: "; cat /sys/class/net/${ifaceSanitized}/ifalias 2>/dev/null; echo;
            echo -n "ifindex: "; cat /sys/class/net/${ifaceSanitized}/ifindex 2>/dev/null; echo;
            echo -n "iflink: "; cat /sys/class/net/${ifaceSanitized}/iflink 2>/dev/null; echo;
            echo -n "link_mode: "; cat /sys/class/net/${ifaceSanitized}/link_mode 2>/dev/null; echo;
            echo -n "mtu: "; cat /sys/class/net/${ifaceSanitized}/mtu 2>/dev/null; echo;
            echo -n "netdev_group: "; cat /sys/class/net/${ifaceSanitized}/netdev_group 2>/dev/null; echo;
            echo -n "operstate: "; cat /sys/class/net/${ifaceSanitized}/operstate 2>/dev/null; echo;
            echo -n "proto_down: "; cat /sys/class/net/${ifaceSanitized}/proto_down 2>/dev/null; echo;
            echo -n "speed: "; cat /sys/class/net/${ifaceSanitized}/speed 2>/dev/null; echo;
            echo -n "tx_queue_len: "; cat /sys/class/net/${ifaceSanitized}/tx_queue_len 2>/dev/null; echo;
            echo -n "type: "; cat /sys/class/net/${ifaceSanitized}/type 2>/dev/null; echo;
            echo -n "wireless: "; cat /proc/net/wireless 2>/dev/null | grep ${ifaceSanitized}; echo;
            echo -n "wirelessspeed: "; iw dev ${ifaceSanitized} link 2>&1 | grep bitrate; echo;`;let lines=[];try{lines=execSync(cmd,util4.execOptsLinux).toString().split("\n");const connectionName=getLinuxIfaceConnectionName(ifaceSanitized);dhcp=getLinuxIfaceDHCPstatus(ifaceSanitized,connectionName,_dhcpNics);dnsSuffix=getLinuxIfaceDNSsuffix(connectionName);ieee8021xAuth=getLinuxIfaceIEEE8021xAuth(connectionName);ieee8021xState=getLinuxIfaceIEEE8021xState(ieee8021xAuth)}catch(e){util4.noop()}duplex=util4.getValue(lines,"duplex");duplex=duplex.startsWith("cat")?"":duplex;mtu=parseInt(util4.getValue(lines,"mtu"),10);let myspeed=parseInt(util4.getValue(lines,"speed"),10);speed=isNaN(myspeed)?null:myspeed;let wirelessspeed=util4.getValue(lines,"wirelessspeed").split("tx bitrate: ");if(speed===null&&wirelessspeed.length===2){myspeed=parseFloat(wirelessspeed[1]);speed=isNaN(myspeed)?null:myspeed}carrierChanges=parseInt(util4.getValue(lines,"carrier_changes"),10);const operstate=util4.getValue(lines,"operstate");type2=operstate==="up"?util4.getValue(lines,"wireless").trim()?"wireless":"wired":"unknown";if(ifaceSanitized==="lo"||ifaceSanitized.startsWith("bond")){type2="virtual"}let internal=ifaces[dev]&&ifaces[dev][0]?ifaces[dev][0].internal:false;if(dev.toLowerCase().indexOf("loopback")>-1||ifaceName.toLowerCase().indexOf("loopback")>-1){internal=true}const virtual=internal?false:testVirtualNic(dev,ifaceName,mac);result2.push({iface:ifaceSanitized,ifaceName,default:iface===defaultInterface,ip4,ip4subnet,ip6,ip6subnet,mac,internal,virtual,operstate,type:type2,duplex,mtu,speed,dhcp,dnsSuffix,ieee8021xAuth,ieee8021xState,carrierChanges})}}_networkInterfaces=result2;if(defaultString.toLowerCase().indexOf("default")>=0){result2=result2.filter(item=>item.default);if(result2.length>0){result2=result2[0]}else{result2=[]}}if(callback){callback(result2)}resolve(result2)}}if(_windows){if(JSON.stringify(ifaces)===JSON.stringify(_ifaces)&&!rescan){result2=_networkInterfaces;if(callback){callback(result2)}resolve(result2)}else{_ifaces=JSON.parse(JSON.stringify(ifaces));const defaultInterface=getDefaultNetworkInterface();getWindowsNics().then(function(nics2){nics2.forEach(nic=>{let found=false;Object.keys(ifaces).forEach(key=>{if(!found){ifaces[key].forEach(value=>{if(Object.keys(value).indexOf("mac")>=0){found=value["mac"]===nic.mac}})}});if(!found){ifaces[nic.name]=[{mac:nic.mac}]}});nics8021xInfo=getWindowsWiredProfilesInformation();dnsSuffixes=getWindowsDNSsuffixes();for(let dev in ifaces){let ifaceSanitized="";const s=util4.isPrototypePolluted()?"---":util4.sanitizeShellString(dev);const l=util4.mathMin(s.length,2e3);for(let i=0;i<=l;i++){if(s[i]!==void 0){ifaceSanitized=ifaceSanitized+s[i]}}let iface=dev;let ip4="";let ip4subnet="";let ip6="";let ip6subnet="";let mac="";let duplex="";let mtu="";let speed=null;let carrierChanges=0;let operstate="down";let dhcp=false;let dnsSuffix="";let ieee8021xAuth="";let ieee8021xState="";let type2="";if({}.hasOwnProperty.call(ifaces,dev)){let ifaceName=dev;ifaces[dev].forEach(function(details){if(details.family==="IPv4"||details.family===4){ip4=details.address;ip4subnet=details.netmask}if(details.family==="IPv6"||details.family===6){if(!ip6||ip6.match(/^fe80::/i)){ip6=details.address;ip6subnet=details.netmask}}mac=details.mac;const nodeMainVersion=parseInt(process.versions.node.split("."),10);if(mac.indexOf("00:00:0")>-1&&(_linux||_darwin)&&!details.internal&&nodeMainVersion>=8&&nodeMainVersion<=11){if(Object.keys(_mac).length===0){_mac=getMacAddresses()}mac=_mac[dev]||""}});dnsSuffix=getWindowsIfaceDNSsuffix(dnsSuffixes.ifaces,ifaceSanitized);let foundFirst=false;nics2.forEach(detail=>{if(detail.mac===mac&&!foundFirst){iface=detail.iface||iface;ifaceName=detail.name;dhcp=detail.dhcp;operstate=detail.operstate;speed=operstate==="up"?detail.speed:0;type2=detail.type;foundFirst=true}});if(dev.toLowerCase().indexOf("wlan")>=0||ifaceName.toLowerCase().indexOf("wlan")>=0||ifaceName.toLowerCase().indexOf("802.11n")>=0||ifaceName.toLowerCase().indexOf("wireless")>=0||ifaceName.toLowerCase().indexOf("wi-fi")>=0||ifaceName.toLowerCase().indexOf("wifi")>=0){type2="wireless"}const IEEE8021x=getWindowsIEEE8021x(type2,ifaceSanitized,nics8021xInfo);ieee8021xAuth=IEEE8021x.protocol;ieee8021xState=IEEE8021x.state;let internal=ifaces[dev]&&ifaces[dev][0]?ifaces[dev][0].internal:false;if(dev.toLowerCase().indexOf("loopback")>-1||ifaceName.toLowerCase().indexOf("loopback")>-1){internal=true}const virtual=internal?false:testVirtualNic(dev,ifaceName,mac);result2.push({iface,ifaceName,default:iface===defaultInterface,ip4,ip4subnet,ip6,ip6subnet,mac,internal,virtual,operstate,type:type2,duplex,mtu,speed,dhcp,dnsSuffix,ieee8021xAuth,ieee8021xState,carrierChanges})}}_networkInterfaces=result2;if(defaultString.toLowerCase().indexOf("default")>=0){result2=result2.filter(item=>item.default);if(result2.length>0){result2=result2[0]}else{result2=[]}}if(callback){callback(result2)}resolve(result2)})}}})})}exports2.networkInterfaces=networkInterfaces;function calcNetworkSpeed(iface,rx_bytes,tx_bytes,operstate,rx_dropped,rx_errors,tx_dropped,tx_errors){let result2={iface,operstate,rx_bytes,rx_dropped,rx_errors,tx_bytes,tx_dropped,tx_errors,rx_sec:null,tx_sec:null,ms:0};if(_network[iface]&&_network[iface].ms){result2.ms=Date.now()-_network[iface].ms;result2.rx_sec=rx_bytes-_network[iface].rx_bytes>=0?(rx_bytes-_network[iface].rx_bytes)/(result2.ms/1e3):0;result2.tx_sec=tx_bytes-_network[iface].tx_bytes>=0?(tx_bytes-_network[iface].tx_bytes)/(result2.ms/1e3):0;_network[iface].rx_bytes=rx_bytes;_network[iface].tx_bytes=tx_bytes;_network[iface].rx_sec=result2.rx_sec;_network[iface].tx_sec=result2.tx_sec;_network[iface].ms=Date.now();_network[iface].last_ms=result2.ms;_network[iface].operstate=operstate}else{if(!_network[iface]){_network[iface]={}}_network[iface].rx_bytes=rx_bytes;_network[iface].tx_bytes=tx_bytes;_network[iface].rx_sec=null;_network[iface].tx_sec=null;_network[iface].ms=Date.now();_network[iface].last_ms=0;_network[iface].operstate=operstate}return result2}function networkStats(ifaces,callback){let ifacesArray=[];return new Promise(resolve=>{process.nextTick(()=>{if(util4.isFunction(ifaces)&&!callback){callback=ifaces;ifacesArray=[getDefaultNetworkInterface()]}else{if(typeof ifaces!=="string"&&ifaces!==void 0){if(callback){callback([])}return resolve([])}ifaces=ifaces||getDefaultNetworkInterface();try{ifaces.__proto__.toLowerCase=util4.stringToLower;ifaces.__proto__.replace=util4.stringReplace;ifaces.__proto__.toString=util4.stringToString;ifaces.__proto__.substr=util4.stringSubstr;ifaces.__proto__.substring=util4.stringSubstring;ifaces.__proto__.trim=util4.stringTrim;ifaces.__proto__.startsWith=util4.stringStartWith}catch(e){Object.setPrototypeOf(ifaces,util4.stringObj)}ifaces=ifaces.trim().toLowerCase().replace(/,+/g,"|");ifacesArray=ifaces.split("|")}const result2=[];const workload=[];if(ifacesArray.length&&ifacesArray[0].trim()==="*"){ifacesArray=[];networkInterfaces(false).then(allIFaces=>{for(let iface of allIFaces){ifacesArray.push(iface.iface)}networkStats(ifacesArray.join(",")).then(result3=>{if(callback){callback(result3)}resolve(result3)})})}else{for(let iface of ifacesArray){workload.push(networkStatsSingle(iface.trim()))}if(workload.length){Promise.all(workload).then(data=>{if(callback){callback(data)}resolve(data)})}else{if(callback){callback(result2)}resolve(result2)}}})})}function networkStatsSingle(iface){function parseLinesWindowsPerfData(sections){let perfData=[];for(let i in sections){if({}.hasOwnProperty.call(sections,i)){if(sections[i].trim()!==""){let lines=sections[i].trim().split("\r\n");perfData.push({name:util4.getValue(lines,"Name",":").replace(/[()[\] ]+/g,"").replace(/#|\//g,"_").toLowerCase(),rx_bytes:parseInt(util4.getValue(lines,"BytesReceivedPersec",":"),10),rx_errors:parseInt(util4.getValue(lines,"PacketsReceivedErrors",":"),10),rx_dropped:parseInt(util4.getValue(lines,"PacketsReceivedDiscarded",":"),10),tx_bytes:parseInt(util4.getValue(lines,"BytesSentPersec",":"),10),tx_errors:parseInt(util4.getValue(lines,"PacketsOutboundErrors",":"),10),tx_dropped:parseInt(util4.getValue(lines,"PacketsOutboundDiscarded",":"),10)})}}}return perfData}return new Promise(resolve=>{process.nextTick(()=>{let ifaceSanitized="";const s=util4.isPrototypePolluted()?"---":util4.sanitizeShellString(iface);const l=util4.mathMin(s.length,2e3);for(let i=0;i<=l;i++){if(s[i]!==void 0){ifaceSanitized=ifaceSanitized+s[i]}}let result2={iface:ifaceSanitized,operstate:"unknown",rx_bytes:0,rx_dropped:0,rx_errors:0,tx_bytes:0,tx_dropped:0,tx_errors:0,rx_sec:null,tx_sec:null,ms:0};let operstate="unknown";let rx_bytes=0;let tx_bytes=0;let rx_dropped=0;let rx_errors=0;let tx_dropped=0;let tx_errors=0;let cmd,lines,stats;if(!_network[ifaceSanitized]||_network[ifaceSanitized]&&!_network[ifaceSanitized].ms||_network[ifaceSanitized]&&_network[ifaceSanitized].ms&&Date.now()-_network[ifaceSanitized].ms>=500){if(_linux){if(fs14.existsSync("/sys/class/net/"+ifaceSanitized)){cmd="cat /sys/class/net/"+ifaceSanitized+"/operstate; cat /sys/class/net/"+ifaceSanitized+"/statistics/rx_bytes; cat /sys/class/net/"+ifaceSanitized+"/statistics/tx_bytes; cat /sys/class/net/"+ifaceSanitized+"/statistics/rx_dropped; cat /sys/class/net/"+ifaceSanitized+"/statistics/rx_errors; cat /sys/class/net/"+ifaceSanitized+"/statistics/tx_dropped; cat /sys/class/net/"+ifaceSanitized+"/statistics/tx_errors; ";exec3(cmd,function(error,stdout){if(!error){lines=stdout.toString().split("\n");operstate=lines[0].trim();rx_bytes=parseInt(lines[1],10);tx_bytes=parseInt(lines[2],10);rx_dropped=parseInt(lines[3],10);rx_errors=parseInt(lines[4],10);tx_dropped=parseInt(lines[5],10);tx_errors=parseInt(lines[6],10);result2=calcNetworkSpeed(ifaceSanitized,rx_bytes,tx_bytes,operstate,rx_dropped,rx_errors,tx_dropped,tx_errors)}resolve(result2)})}else{resolve(result2)}}if(_freebsd||_openbsd||_netbsd){cmd="netstat -ibndI "+ifaceSanitized;exec3(cmd,function(error,stdout){if(!error){lines=stdout.toString().split("\n");for(let i=1;i<lines.length;i++){const line=lines[i].replace(/ +/g," ").split(" ");if(line&&line[0]&&line[7]&&line[10]){rx_bytes=rx_bytes+parseInt(line[7]);if(line[6].trim()!=="-"){rx_dropped=rx_dropped+parseInt(line[6])}if(line[5].trim()!=="-"){rx_errors=rx_errors+parseInt(line[5])}tx_bytes=tx_bytes+parseInt(line[10]);if(line[12].trim()!=="-"){tx_dropped=tx_dropped+parseInt(line[12])}if(line[9].trim()!=="-"){tx_errors=tx_errors+parseInt(line[9])}operstate="up"}}result2=calcNetworkSpeed(ifaceSanitized,rx_bytes,tx_bytes,operstate,rx_dropped,rx_errors,tx_dropped,tx_errors)}resolve(result2)})}if(_darwin){cmd="ifconfig "+ifaceSanitized+' | grep "status"';exec3(cmd,function(error,stdout){result2.operstate=(stdout.toString().split(":")[1]||"").trim();result2.operstate=(result2.operstate||"").toLowerCase();result2.operstate=result2.operstate==="active"?"up":result2.operstate==="inactive"?"down":"unknown";cmd="netstat -bdI "+ifaceSanitized;exec3(cmd,function(error2,stdout2){if(!error2){lines=stdout2.toString().split("\n");if(lines.length>1&&lines[1].trim()!==""){stats=lines[1].replace(/ +/g," ").split(" ");const offset=stats.length>11?1:0;rx_bytes=parseInt(stats[offset+5]);rx_dropped=parseInt(stats[offset+10]);rx_errors=parseInt(stats[offset+4]);tx_bytes=parseInt(stats[offset+8]);tx_dropped=parseInt(stats[offset+10]);tx_errors=parseInt(stats[offset+7]);result2=calcNetworkSpeed(ifaceSanitized,rx_bytes,tx_bytes,result2.operstate,rx_dropped,rx_errors,tx_dropped,tx_errors)}}resolve(result2)})})}if(_windows){let perfData=[];let ifaceName=ifaceSanitized;util4.powerShell("Get-CimInstance Win32_PerfRawData_Tcpip_NetworkInterface | select Name,BytesReceivedPersec,PacketsReceivedErrors,PacketsReceivedDiscarded,BytesSentPersec,PacketsOutboundErrors,PacketsOutboundDiscarded | fl").then((stdout,error)=>{if(!error){const psections=stdout.toString().split(/\n\s*\n/);perfData=parseLinesWindowsPerfData(psections)}networkInterfaces(false).then(interfaces=>{rx_bytes=0;tx_bytes=0;perfData.forEach(detail=>{interfaces.forEach(det=>{if((det.iface.toLowerCase()===ifaceSanitized.toLowerCase()||det.mac.toLowerCase()===ifaceSanitized.toLowerCase()||det.ip4.toLowerCase()===ifaceSanitized.toLowerCase()||det.ip6.toLowerCase()===ifaceSanitized.toLowerCase()||det.ifaceName.replace(/[()[\] ]+/g,"").replace(/#|\//g,"_").toLowerCase()===ifaceSanitized.replace(/[()[\] ]+/g,"").replace("#","_").toLowerCase())&&det.ifaceName.replace(/[()[\] ]+/g,"").replace(/#|\//g,"_").toLowerCase()===detail.name){ifaceName=det.iface;rx_bytes=detail.rx_bytes;rx_dropped=detail.rx_dropped;rx_errors=detail.rx_errors;tx_bytes=detail.tx_bytes;tx_dropped=detail.tx_dropped;tx_errors=detail.tx_errors;operstate=det.operstate}})});if(rx_bytes&&tx_bytes){result2=calcNetworkSpeed(ifaceName,parseInt(rx_bytes),parseInt(tx_bytes),operstate,rx_dropped,rx_errors,tx_dropped,tx_errors)}resolve(result2)})})}}else{result2.rx_bytes=_network[ifaceSanitized].rx_bytes;result2.tx_bytes=_network[ifaceSanitized].tx_bytes;result2.rx_sec=_network[ifaceSanitized].rx_sec;result2.tx_sec=_network[ifaceSanitized].tx_sec;result2.ms=_network[ifaceSanitized].last_ms;result2.operstate=_network[ifaceSanitized].operstate;resolve(result2)}})})}exports2.networkStats=networkStats;function getProcessName(processes,pid){let cmd="";processes.forEach(line=>{const parts=line.split(" ");const id=parseInt(parts[0],10)||-1;if(id===pid){parts.shift();cmd=parts.join(" ").split(":")[0]}});cmd=cmd.split(" -")[0];cmd=cmd.split(" /")[0];return cmd}function networkConnections(callback){return new Promise(resolve=>{process.nextTick(()=>{let result2=[];if(_linux||_freebsd||_openbsd||_netbsd){let cmd='export LC_ALL=C; netstat -tunap | grep "ESTABLISHED\\|SYN_SENT\\|SYN_RECV\\|FIN_WAIT1\\|FIN_WAIT2\\|TIME_WAIT\\|CLOSE\\|CLOSE_WAIT\\|LAST_ACK\\|LISTEN\\|CLOSING\\|UNKNOWN"; unset LC_ALL';if(_freebsd||_openbsd||_netbsd){cmd='export LC_ALL=C; netstat -na | grep "ESTABLISHED\\|SYN_SENT\\|SYN_RECV\\|FIN_WAIT1\\|FIN_WAIT2\\|TIME_WAIT\\|CLOSE\\|CLOSE_WAIT\\|LAST_ACK\\|LISTEN\\|CLOSING\\|UNKNOWN"; unset LC_ALL'}exec3(cmd,{maxBuffer:1024*2e4},function(error,stdout){let lines=stdout.toString().split("\n");if(!error&&(lines.length>1||lines[0]!="")){lines.forEach(function(line){line=line.replace(/ +/g," ").split(" ");if(line.length>=7){let localip=line[3];let localport="";let localaddress=line[3].split(":");if(localaddress.length>1){localport=localaddress[localaddress.length-1];localaddress.pop();localip=localaddress.join(":")}let peerip=line[4];let peerport="";let peeraddress=line[4].split(":");if(peeraddress.length>1){peerport=peeraddress[peeraddress.length-1];peeraddress.pop();peerip=peeraddress.join(":")}let connstate=line[5];let proc=line[6].split("/");if(connstate){result2.push({protocol:line[0],localAddress:localip,localPort:localport,peerAddress:peerip,peerPort:peerport,state:connstate,pid:proc[0]&&proc[0]!=="-"?parseInt(proc[0],10):null,process:proc[1]?proc[1].split(" ")[0].split(":")[0]:""})}}});if(callback){callback(result2)}resolve(result2)}else{cmd='ss -tunap | grep "ESTAB\\|SYN-SENT\\|SYN-RECV\\|FIN-WAIT1\\|FIN-WAIT2\\|TIME-WAIT\\|CLOSE\\|CLOSE-WAIT\\|LAST-ACK\\|LISTEN\\|CLOSING"';exec3(cmd,{maxBuffer:1024*2e4},function(error2,stdout2){if(!error2){let lines2=stdout2.toString().split("\n");lines2.forEach(function(line){line=line.replace(/ +/g," ").split(" ");if(line.length>=6){let localip=line[4];let localport="";let localaddress=line[4].split(":");if(localaddress.length>1){localport=localaddress[localaddress.length-1];localaddress.pop();localip=localaddress.join(":")}let peerip=line[5];let peerport="";let peeraddress=line[5].split(":");if(peeraddress.length>1){peerport=peeraddress[peeraddress.length-1];peeraddress.pop();peerip=peeraddress.join(":")}let connstate=line[1];if(connstate==="ESTAB"){connstate="ESTABLISHED"}if(connstate==="TIME-WAIT"){connstate="TIME_WAIT"}let pid=null;let process6="";if(line.length>=7&&line[6].indexOf("users:")>-1){let proc=line[6].replace('users:(("',"").replace(/"/g,"").split(",");if(proc.length>2){process6=proc[0].split(" ")[0].split(":")[0];pid=parseInt(proc[1],10)}}if(connstate){result2.push({protocol:line[0],localAddress:localip,localPort:localport,peerAddress:peerip,peerPort:peerport,state:connstate,pid,process:process6})}}})}if(callback){callback(result2)}resolve(result2)})}})}if(_darwin){let cmd='netstat -natvln | head -n2; netstat -natvln | grep "tcp4\\|tcp6\\|udp4\\|udp6"';const states="ESTABLISHED|SYN_SENT|SYN_RECV|FIN_WAIT1|FIN_WAIT_1|FIN_WAIT2|FIN_WAIT_2|TIME_WAIT|CLOSE|CLOSE_WAIT|LAST_ACK|LISTEN|CLOSING|UNKNOWN".split("|");exec3(cmd,{maxBuffer:1024*2e4},function(error,stdout){if(!error){exec3("ps -axo pid,command",{maxBuffer:1024*2e4},function(err2,stdout2){let processes=stdout2.toString().split("\n");processes=processes.map(line=>{return line.trim().replace(/ +/g," ")});let lines=stdout.toString().split("\n");lines.shift();let pidPos=8;if(lines.length>1&&lines[0].indexOf("pid")>0){const header2=(lines.shift()||"").replace(/ Address/g,"_Address").replace(/ +/g," ").split(" ");pidPos=header2.indexOf("pid")}lines.forEach(function(line){line=line.replace(/ +/g," ").split(" ");if(line.length>=8){let localip=line[3];let localport="";let localaddress=line[3].split(".");if(localaddress.length>1){localport=localaddress[localaddress.length-1];localaddress.pop();localip=localaddress.join(".")}let peerip=line[4];let peerport="";let peeraddress=line[4].split(".");if(peeraddress.length>1){peerport=peeraddress[peeraddress.length-1];peeraddress.pop();peerip=peeraddress.join(".")}const hasState=states.indexOf(line[5])>=0;let connstate=hasState?line[5]:"UNKNOWN";let pid=parseInt(line[pidPos+(hasState?0:-1)],10);if(connstate){result2.push({protocol:line[0],localAddress:localip,localPort:localport,peerAddress:peerip,peerPort:peerport,state:connstate,pid,process:getProcessName(processes,pid)})}}});if(callback){callback(result2)}resolve(result2)})}})}if(_windows){let cmd="netstat -nao";try{exec3(cmd,util4.execOptsWin,function(error,stdout){if(!error){let lines=stdout.toString().split("\r\n");lines.forEach(function(line){line=line.trim().replace(/ +/g," ").split(" ");if(line.length>=4){let localip=line[1];let localport="";let localaddress=line[1].split(":");if(localaddress.length>1){localport=localaddress[localaddress.length-1];localaddress.pop();localip=localaddress.join(":")}localip=localip.replace(/\[/g,"").replace(/\]/g,"");let peerip=line[2];let peerport="";let peeraddress=line[2].split(":");if(peeraddress.length>1){peerport=peeraddress[peeraddress.length-1];peeraddress.pop();peerip=peeraddress.join(":")}peerip=peerip.replace(/\[/g,"").replace(/\]/g,"");let pid=util4.toInt(line[4]);let connstate=line[3];if(connstate==="HERGESTELLT"){connstate="ESTABLISHED"}if(connstate.startsWith("ABH")){connstate="LISTEN"}if(connstate==="SCHLIESSEN_WARTEN"){connstate="CLOSE_WAIT"}if(connstate==="WARTEND"){connstate="TIME_WAIT"}if(connstate==="SYN_GESENDET"){connstate="SYN_SENT"}if(connstate==="LISTENING"){connstate="LISTEN"}if(connstate==="SYN_RECEIVED"){connstate="SYN_RECV"}if(connstate==="FIN_WAIT_1"){connstate="FIN_WAIT1"}if(connstate==="FIN_WAIT_2"){connstate="FIN_WAIT2"}if(line[0].toLowerCase()!=="udp"&&connstate){result2.push({protocol:line[0].toLowerCase(),localAddress:localip,localPort:localport,peerAddress:peerip,peerPort:peerport,state:connstate,pid,process:""})}else if(line[0].toLowerCase()==="udp"){result2.push({protocol:line[0].toLowerCase(),localAddress:localip,localPort:localport,peerAddress:peerip,peerPort:peerport,state:"",pid:parseInt(line[3],10),process:""})}}});if(callback){callback(result2)}resolve(result2)}})}catch(e){if(callback){callback(result2)}resolve(result2)}}})})}exports2.networkConnections=networkConnections;function networkGatewayDefault(callback){return new Promise(resolve=>{process.nextTick(()=>{let result2="";if(_linux||_freebsd||_openbsd||_netbsd){let cmd="ip route get 1";try{exec3(cmd,{maxBuffer:1024*2e4},function(error,stdout){if(!error){let lines=stdout.toString().split("\n");const line=lines&&lines[0]?lines[0]:"";let parts=line.split(" via ");if(parts&&parts[1]){parts=parts[1].split(" ");result2=parts[0]}if(callback){callback(result2)}resolve(result2)}else{if(callback){callback(result2)}resolve(result2)}})}catch(e){if(callback){callback(result2)}resolve(result2)}}if(_darwin){let cmd="route -n get default";try{exec3(cmd,{maxBuffer:1024*2e4},function(error,stdout){if(!error){const lines=stdout.toString().split("\n").map(line=>line.trim());result2=util4.getValue(lines,"gateway")}if(!result2){cmd="netstat -rn | awk '/default/ {print $2}'";exec3(cmd,{maxBuffer:1024*2e4},function(error2,stdout2){const lines=stdout2.toString().split("\n").map(line=>line.trim());result2=lines.find(line=>/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(line));if(callback){callback(result2)}resolve(result2)})}else{if(callback){callback(result2)}resolve(result2)}})}catch(e){if(callback){callback(result2)}resolve(result2)}}if(_windows){try{exec3("netstat -r",util4.execOptsWin,function(error,stdout){const lines=stdout.toString().split(os7.EOL);lines.forEach(line=>{line=line.replace(/\s+/g," ").trim();if(line.indexOf("0.0.0.0 0.0.0.0")>-1&&!/[a-zA-Z]/.test(line)){const parts=line.split(" ");if(parts.length>=5&&parts[parts.length-3].indexOf(".")>-1){result2=parts[parts.length-3]}}});if(!result2){util4.powerShell("Get-CimInstance -ClassName Win32_IP4RouteTable | Where-Object { $_.Destination -eq '0.0.0.0' -and $_.Mask -eq '0.0.0.0' }").then(data=>{let lines2=data.toString().split("\r\n");if(lines2.length>1&&!result2){result2=util4.getValue(lines2,"NextHop");if(callback){callback(result2)}resolve(result2)}})}else{if(callback){callback(result2)}resolve(result2)}})}catch(e){if(callback){callback(result2)}resolve(result2)}}})})}exports2.networkGatewayDefault=networkGatewayDefault}});var require_wifi=__commonJS({"node_modules/systeminformation/lib/wifi.js"(exports2){"use strict";var os7=require("os");var exec3=require("child_process").exec;var execSync=require("child_process").execSync;var util4=require_util2();var _platform=process.platform;var _linux=_platform==="linux"||_platform==="android";var _darwin=_platform==="darwin";var _windows=_platform==="win32";function wifiDBFromQuality(quality){const qual=parseFloat(quality);if(qual<0){return 0}if(qual>=100){return-50}return qual/2-100}function wifiQualityFromDB(db){const result2=2*(parseFloat(db)+100);return result2<=100?result2:100}var _wifi_frequencies={1:2412,2:2417,3:2422,4:2427,5:2432,6:2437,7:2442,8:2447,9:2452,10:2457,11:2462,12:2467,13:2472,14:2484,32:5160,34:5170,36:5180,38:5190,40:5200,42:5210,44:5220,46:5230,48:5240,50:5250,52:5260,54:5270,56:5280,58:5290,60:5300,62:5310,64:5320,68:5340,96:5480,100:5500,102:5510,104:5520,106:5530,108:5540,110:5550,112:5560,114:5570,116:5580,118:5590,120:5600,122:5610,124:5620,126:5630,128:5640,132:5660,134:5670,136:5680,138:5690,140:5700,142:5710,144:5720,149:5745,151:5755,153:5765,155:5775,157:5785,159:5795,161:5805,165:5825,169:5845,173:5865,183:4915,184:4920,185:4925,187:4935,188:4940,189:4945,192:4960,196:4980};function wifiFrequencyFromChannel(channel){return{}.hasOwnProperty.call(_wifi_frequencies,channel)?_wifi_frequencies[channel]:null}function wifiChannelFromFrequencs(frequency){let channel=0;for(let key in _wifi_frequencies){if({}.hasOwnProperty.call(_wifi_frequencies,key)){if(_wifi_frequencies[key]===frequency){channel=util4.toInt(key)}}}return channel}function ifaceListLinux(){const result2=[];const cmd="iw dev 2>/dev/null";try{const all2=execSync(cmd,util4.execOptsLinux).toString().split("\n").map(line=>line.trim()).join("\n");const parts=all2.split("\nInterface ");parts.shift();parts.forEach(ifaceDetails=>{const lines=ifaceDetails.split("\n");const iface=lines[0];const id=util4.toInt(util4.getValue(lines,"ifindex"," "));const mac=util4.getValue(lines,"addr"," ");const channel=util4.toInt(util4.getValue(lines,"channel"," "));result2.push({id,iface,mac,channel})});return result2}catch(e){try{const all2=execSync("nmcli -t -f general,wifi-properties,wired-properties,interface-flags,capabilities,nsp device show 2>/dev/null",util4.execOptsLinux).toString();const parts=all2.split("\n\n");let i=1;parts.forEach(ifaceDetails=>{const lines=ifaceDetails.split("\n");const iface=util4.getValue(lines,"GENERAL.DEVICE");const type2=util4.getValue(lines,"GENERAL.TYPE");const id=i++;const mac=util4.getValue(lines,"GENERAL.HWADDR");const channel="";if(type2.toLowerCase()==="wifi"){result2.push({id,iface,mac,channel})}});return result2}catch(e2){return[]}}}function nmiDeviceLinux(iface){const cmd=`nmcli -t -f general,wifi-properties,capabilities,ip4,ip6 device show ${iface} 2> /dev/null`;try{const lines=execSync(cmd,util4.execOptsLinux).toString().split("\n");const ssid=util4.getValue(lines,"GENERAL.CONNECTION");return{iface,type:util4.getValue(lines,"GENERAL.TYPE"),vendor:util4.getValue(lines,"GENERAL.VENDOR"),product:util4.getValue(lines,"GENERAL.PRODUCT"),mac:util4.getValue(lines,"GENERAL.HWADDR").toLowerCase(),ssid:ssid!=="--"?ssid:null}}catch(e){return{}}}function nmiConnectionLinux(ssid){const cmd=`nmcli -t --show-secrets connection show ${ssid} 2>/dev/null`;try{const lines=execSync(cmd,util4.execOptsLinux).toString().split("\n");const bssid=util4.getValue(lines,"802-11-wireless.seen-bssids").toLowerCase();return{ssid:ssid!=="--"?ssid:null,uuid:util4.getValue(lines,"connection.uuid"),type:util4.getValue(lines,"connection.type"),autoconnect:util4.getValue(lines,"connection.autoconnect")==="yes",security:util4.getValue(lines,"802-11-wireless-security.key-mgmt"),bssid:bssid!=="--"?bssid:null}}catch(e){return{}}}function wpaConnectionLinux(iface){if(!iface){return{}}const cmd=`wpa_cli -i ${iface} status 2>&1`;try{const lines=execSync(cmd,util4.execOptsLinux).toString().split("\n");const freq=util4.toInt(util4.getValue(lines,"freq","="));return{ssid:util4.getValue(lines,"ssid","="),uuid:util4.getValue(lines,"uuid","="),security:util4.getValue(lines,"key_mgmt","="),freq,channel:wifiChannelFromFrequencs(freq),bssid:util4.getValue(lines,"bssid","=").toLowerCase()}}catch(e){return{}}}function getWifiNetworkListNmi(){const result2=[];const cmd="nmcli -t -m multiline --fields active,ssid,bssid,mode,chan,freq,signal,security,wpa-flags,rsn-flags device wifi list 2>/dev/null";try{const stdout=execSync(cmd,util4.execOptsLinux);const parts=stdout.toString().split("ACTIVE:");parts.shift();parts.forEach(part=>{part="ACTIVE:"+part;const lines=part.split(os7.EOL);const channel=util4.getValue(lines,"CHAN");const frequency=util4.getValue(lines,"FREQ").toLowerCase().replace("mhz","").trim();const security=util4.getValue(lines,"SECURITY").replace("(","").replace(")","");const wpaFlags=util4.getValue(lines,"WPA-FLAGS").replace("(","").replace(")","");const rsnFlags=util4.getValue(lines,"RSN-FLAGS").replace("(","").replace(")","");const quality=util4.getValue(lines,"SIGNAL");result2.push({ssid:util4.getValue(lines,"SSID"),bssid:util4.getValue(lines,"BSSID").toLowerCase(),mode:util4.getValue(lines,"MODE"),channel:channel?parseInt(channel,10):null,frequency:frequency?parseInt(frequency,10):null,signalLevel:wifiDBFromQuality(quality),quality:quality?parseInt(quality,10):null,security:security&&security!=="none"?security.split(" "):[],wpaFlags:wpaFlags&&wpaFlags!=="none"?wpaFlags.split(" "):[],rsnFlags:rsnFlags&&rsnFlags!=="none"?rsnFlags.split(" "):[]})});return result2}catch(e){return[]}}function getWifiNetworkListIw(iface){const result2=[];try{let iwlistParts=execSync(`export LC_ALL=C; iwlist ${iface} scan 2>&1; unset LC_ALL`,util4.execOptsLinux).toString().split("        Cell ");if(iwlistParts[0].indexOf("resource busy")>=0){return-1}if(iwlistParts.length>1){iwlistParts.shift();iwlistParts.forEach(element=>{const lines=element.split("\n");const channel=util4.getValue(lines,"channel",":",true);const address=lines&&lines.length&&lines[0].indexOf("Address:")>=0?lines[0].split("Address:")[1].trim().toLowerCase():"";const mode2=util4.getValue(lines,"mode",":",true);const frequency=util4.getValue(lines,"frequency",":",true);const qualityString=util4.getValue(lines,"Quality","=",true);const dbParts=qualityString.toLowerCase().split("signal level=");const db=dbParts.length>1?util4.toInt(dbParts[1]):0;const quality=db?wifiQualityFromDB(db):0;const ssid=util4.getValue(lines,"essid",":",true);const isWpa=element.indexOf(" WPA ")>=0;const isWpa2=element.indexOf("WPA2 ")>=0;const security=[];if(isWpa){security.push("WPA")}if(isWpa2){security.push("WPA2")}const wpaFlags=[];let wpaFlag="";lines.forEach(function(line){const l=line.trim().toLowerCase();if(l.indexOf("group cipher")>=0){if(wpaFlag){wpaFlags.push(wpaFlag)}const parts=l.split(":");if(parts.length>1){wpaFlag=parts[1].trim().toUpperCase()}}if(l.indexOf("pairwise cipher")>=0){const parts=l.split(":");if(parts.length>1){if(parts[1].indexOf("tkip")){wpaFlag=wpaFlag?"TKIP/"+wpaFlag:"TKIP"}else if(parts[1].indexOf("ccmp")){wpaFlag=wpaFlag?"CCMP/"+wpaFlag:"CCMP"}else if(parts[1].indexOf("proprietary")){wpaFlag=wpaFlag?"PROP/"+wpaFlag:"PROP"}}}if(l.indexOf("authentication suites")>=0){const parts=l.split(":");if(parts.length>1){if(parts[1].indexOf("802.1x")){wpaFlag=wpaFlag?"802.1x/"+wpaFlag:"802.1x"}else if(parts[1].indexOf("psk")){wpaFlag=wpaFlag?"PSK/"+wpaFlag:"PSK"}}}});if(wpaFlag){wpaFlags.push(wpaFlag)}result2.push({ssid,bssid:address,mode:mode2,channel:channel?util4.toInt(channel):null,frequency:frequency?util4.toInt(frequency.replace(".","")):null,signalLevel:db,quality,security,wpaFlags,rsnFlags:[]})})}return result2}catch(e){return-1}}function parseWifiDarwin(wifiStr){const result2=[];try{let wifiObj=JSON.parse(wifiStr);wifiObj=wifiObj.SPAirPortDataType[0].spairport_airport_interfaces[0].spairport_airport_other_local_wireless_networks;wifiObj.forEach(function(wifiItem){let security=[];const sm=wifiItem.spairport_security_mode;if(sm==="spairport_security_mode_wep"){security.push("WEP")}else if(sm==="spairport_security_mode_wpa2_personal"){security.push("WPA2")}else if(sm.startsWith("spairport_security_mode_wpa2_enterprise")){security.push("WPA2 EAP")}else if(sm.startsWith("pairport_security_mode_wpa3_transition")){security.push("WPA2/WPA3")}else if(sm.startsWith("pairport_security_mode_wpa3")){security.push("WPA3")}const channel=parseInt((""+wifiItem.spairport_network_channel).split(" ")[0])||0;const signalLevel=wifiItem.spairport_signal_noise||null;result2.push({ssid:wifiItem._name||"",bssid:wifiItem.spairport_network_bssid||null,mode:wifiItem.spairport_network_phymode,channel,frequency:wifiFrequencyFromChannel(channel),signalLevel:signalLevel?parseInt(signalLevel,10):null,quality:wifiQualityFromDB(signalLevel),security,wpaFlags:[],rsnFlags:[]})});return result2}catch(e){return result2}}function wifiNetworks(callback){return new Promise(resolve=>{process.nextTick(()=>{let result2=[];if(_linux){result2=getWifiNetworkListNmi();if(result2.length===0){try{const iwconfigParts=execSync("export LC_ALL=C; iwconfig 2>/dev/null; unset LC_ALL",util4.execOptsLinux).toString().split("\n\n");let iface="";iwconfigParts.forEach(element=>{if(element.indexOf("no wireless")===-1&&element.trim()!==""){iface=element.split(" ")[0]}});if(iface){let ifaceSanitized="";const s=util4.isPrototypePolluted()?"---":util4.sanitizeShellString(iface,true);const l=util4.mathMin(s.length,2e3);for(let i=0;i<=l;i++){if(s[i]!==void 0){ifaceSanitized=ifaceSanitized+s[i]}}const res=getWifiNetworkListIw(ifaceSanitized);if(res===-1){setTimeout(function(iface2){const res2=getWifiNetworkListIw(iface2);if(res2!=-1){result2=res2}if(callback){callback(result2)}resolve(result2)},4e3)}else{result2=res;if(callback){callback(result2)}resolve(result2)}}else{if(callback){callback(result2)}resolve(result2)}}catch(e){if(callback){callback(result2)}resolve(result2)}}else{if(callback){callback(result2)}resolve(result2)}}else if(_darwin){let cmd="system_profiler SPAirPortDataType -json 2>/dev/null";exec3(cmd,{maxBuffer:1024*4e4},function(error,stdout){result2=parseWifiDarwin(stdout.toString());if(callback){callback(result2)}resolve(result2)})}else if(_windows){let cmd="netsh wlan show networks mode=Bssid";util4.powerShell(cmd).then(stdout=>{const ssidParts=stdout.toString("utf8").split(os7.EOL+os7.EOL+"SSID ");ssidParts.shift();ssidParts.forEach(ssidPart=>{const ssidLines=ssidPart.split(os7.EOL);if(ssidLines&&ssidLines.length>=8&&ssidLines[0].indexOf(":")>=0){const bssidsParts=ssidPart.split(" BSSID");bssidsParts.shift();bssidsParts.forEach(bssidPart=>{const bssidLines=bssidPart.split(os7.EOL);const bssidLine=bssidLines[0].split(":");bssidLine.shift();const bssid=bssidLine.join(":").trim().toLowerCase();const channel=bssidLines[3].split(":").pop().trim();const quality=bssidLines[1].split(":").pop().trim();result2.push({ssid:ssidLines[0].split(":").pop().trim(),bssid,mode:"",channel:channel?parseInt(channel,10):null,frequency:wifiFrequencyFromChannel(channel),signalLevel:wifiDBFromQuality(quality),quality:quality?parseInt(quality,10):null,security:[ssidLines[2].split(":").pop().trim()],wpaFlags:[ssidLines[3].split(":").pop().trim()],rsnFlags:[]})})}});if(callback){callback(result2)}resolve(result2)})}else{if(callback){callback(result2)}resolve(result2)}})})}exports2.wifiNetworks=wifiNetworks;function getVendor(model){model=model.toLowerCase();let result2="";if(model.indexOf("intel")>=0){result2="Intel"}else if(model.indexOf("realtek")>=0){result2="Realtek"}else if(model.indexOf("qualcom")>=0){result2="Qualcom"}else if(model.indexOf("broadcom")>=0){result2="Broadcom"}else if(model.indexOf("cavium")>=0){result2="Cavium"}else if(model.indexOf("cisco")>=0){result2="Cisco"}else if(model.indexOf("marvel")>=0){result2="Marvel"}else if(model.indexOf("zyxel")>=0){result2="Zyxel"}else if(model.indexOf("melanox")>=0){result2="Melanox"}else if(model.indexOf("d-link")>=0){result2="D-Link"}else if(model.indexOf("tp-link")>=0){result2="TP-Link"}else if(model.indexOf("asus")>=0){result2="Asus"}else if(model.indexOf("linksys")>=0){result2="Linksys"}return result2}function wifiConnections(callback){return new Promise(resolve=>{process.nextTick(()=>{const result2=[];if(_linux){const ifaces=ifaceListLinux();const networkList=getWifiNetworkListNmi();ifaces.forEach(ifaceDetail=>{let ifaceSanitized="";const s=util4.isPrototypePolluted()?"---":util4.sanitizeShellString(ifaceDetail.iface,true);const ll=util4.mathMin(s.length,2e3);for(let i=0;i<=ll;i++){if(s[i]!==void 0){ifaceSanitized=ifaceSanitized+s[i]}}const nmiDetails=nmiDeviceLinux(ifaceSanitized);const wpaDetails=wpaConnectionLinux(ifaceSanitized);const ssid=nmiDetails.ssid||wpaDetails.ssid;const network=networkList.filter(nw=>nw.ssid===ssid);let ssidSanitized="";const t=util4.isPrototypePolluted()?"---":util4.sanitizeShellString(ssid,true);const l=util4.mathMin(t.length,32);for(let i=0;i<=l;i++){if(t[i]!==void 0){ssidSanitized=ssidSanitized+t[i]}}const nmiConnection=nmiConnectionLinux(ssidSanitized);const channel=network&&network.length&&network[0].channel?network[0].channel:wpaDetails.channel?wpaDetails.channel:null;const bssid=network&&network.length&&network[0].bssid?network[0].bssid:wpaDetails.bssid?wpaDetails.bssid:null;const signalLevel=network&&network.length&&network[0].signalLevel?network[0].signalLevel:null;if(ssid&&bssid){result2.push({id:ifaceDetail.id,iface:ifaceDetail.iface,model:nmiDetails.product,ssid,bssid:network&&network.length&&network[0].bssid?network[0].bssid:wpaDetails.bssid?wpaDetails.bssid:null,channel,frequency:channel?wifiFrequencyFromChannel(channel):null,type:nmiConnection.type?nmiConnection.type:"802.11",security:nmiConnection.security?nmiConnection.security:wpaDetails.security?wpaDetails.security:null,signalLevel,quality:wifiQualityFromDB(signalLevel),txRate:null})}});if(callback){callback(result2)}resolve(result2)}else if(_darwin){let cmd='system_profiler SPNetworkDataType SPAirPortDataType -xml 2>/dev/null; echo "######" ; ioreg -n AppleBCMWLANSkywalkInterface -r 2>/dev/null';exec3(cmd,function(error,stdout){try{const parts=stdout.toString().split("######");const profilerObj=util4.plistParser(parts[0]);const networkObj=profilerObj[0]._SPCommandLineArguments.indexOf("SPNetworkDataType")>=0?profilerObj[0]._items:profilerObj[1]._items;const airportObj=profilerObj[0]._SPCommandLineArguments.indexOf("SPAirPortDataType")>=0?profilerObj[0]._items[0].spairport_airport_interfaces:profilerObj[1]._items[0].spairport_airport_interfaces;let lines3=[];if(parts[1].indexOf("  | {")>0&&parts[1].indexOf("  | }")>parts[1].indexOf("  | {")){lines3=parts[1].split("  | {")[1].split("  | }")[0].replace(/ \| /g,"").replace(/"/g,"").split("\n")}const networkWifiObj=networkObj.find(item=>{return item._name==="Wi-Fi"});const airportWifiObj=airportObj[0].spairport_current_network_information;const channel=parseInt((""+airportWifiObj.spairport_network_channel).split(" ")[0])||0;const signalLevel=airportWifiObj.spairport_signal_noise||null;let security=[];const sm=airportWifiObj.spairport_security_mode;if(sm==="spairport_security_mode_wep"){security.push("WEP")}else if(sm==="spairport_security_mode_wpa2_personal"){security.push("WPA2")}else if(sm.startsWith("spairport_security_mode_wpa2_enterprise")){security.push("WPA2 EAP")}else if(sm.startsWith("pairport_security_mode_wpa3_transition")){security.push("WPA2/WPA3")}else if(sm.startsWith("pairport_security_mode_wpa3")){security.push("WPA3")}result2.push({id:networkWifiObj._name||"Wi-Fi",iface:networkWifiObj.interface||"",model:networkWifiObj.hardware||"",ssid:airportWifiObj._name||"",bssid:airportWifiObj.spairport_network_bssid||"",channel,frequency:channel?wifiFrequencyFromChannel(channel):null,type:airportWifiObj.spairport_network_phymode||"802.11",security,signalLevel:signalLevel?parseInt(signalLevel,10):null,quality:wifiQualityFromDB(signalLevel),txRate:airportWifiObj.spairport_network_rate||null})}catch(e){util4.noop()}if(callback){callback(result2)}resolve(result2)})}else if(_windows){let cmd="netsh wlan show interfaces";util4.powerShell(cmd).then(function(stdout){const allLines=stdout.toString().split("\r\n");for(let i=0;i<allLines.length;i++){allLines[i]=allLines[i].trim()}const parts=allLines.join("\r\n").split(":\r\n\r\n");parts.shift();parts.forEach(part=>{const lines=part.split("\r\n");if(lines.length>=5){const iface=lines[0].indexOf(":")>=0?lines[0].split(":")[1].trim():"";const model=lines[1].indexOf(":")>=0?lines[1].split(":")[1].trim():"";const id=lines[2].indexOf(":")>=0?lines[2].split(":")[1].trim():"";const ssid=util4.getValue(lines,"SSID",":",true);const bssid=util4.getValue(lines,"BSSID",":",true)||util4.getValue(lines,"AP BSSID",":",true);const quality=util4.getValue(lines,"Signal",":",true);const signalLevel=wifiDBFromQuality(quality);const type2=util4.getValue(lines,"Radio type",":",true)||util4.getValue(lines,"Type de radio",":",true)||util4.getValue(lines,"Funktyp",":",true)||null;const security=util4.getValue(lines,"authentication",":",true)||util4.getValue(lines,"Authentification",":",true)||util4.getValue(lines,"Authentifizierung",":",true)||null;const channel=util4.getValue(lines,"Channel",":",true)||util4.getValue(lines,"Canal",":",true)||util4.getValue(lines,"Kanal",":",true)||null;const txRate=util4.getValue(lines,"Transmit rate (mbps)",":",true)||util4.getValue(lines,"Transmission (mbit/s)",":",true)||util4.getValue(lines,"Empfangsrate (MBit/s)",":",true)||null;if(model&&id&&ssid&&bssid){result2.push({id,iface,model,ssid,bssid,channel:util4.toInt(channel),frequency:channel?wifiFrequencyFromChannel(channel):null,type:type2,security,signalLevel,quality:quality?parseInt(quality,10):null,txRate:util4.toInt(txRate)||null})}}});if(callback){callback(result2)}resolve(result2)})}else{if(callback){callback(result2)}resolve(result2)}})})}exports2.wifiConnections=wifiConnections;function wifiInterfaces(callback){return new Promise(resolve=>{process.nextTick(()=>{const result2=[];if(_linux){const ifaces=ifaceListLinux();ifaces.forEach(ifaceDetail=>{const nmiDetails=nmiDeviceLinux(ifaceDetail.iface);result2.push({id:ifaceDetail.id,iface:ifaceDetail.iface,model:nmiDetails.product?nmiDetails.product:null,vendor:nmiDetails.vendor?nmiDetails.vendor:null,mac:ifaceDetail.mac})});if(callback){callback(result2)}resolve(result2)}else if(_darwin){let cmd="system_profiler SPNetworkDataType";exec3(cmd,function(error,stdout){const parts1=stdout.toString().split("\n\n    Wi-Fi:\n\n");if(parts1.length>1){const lines=parts1[1].split("\n\n")[0].split("\n");const iface=util4.getValue(lines,"BSD Device Name",":",true);const mac=util4.getValue(lines,"MAC Address",":",true);const model=util4.getValue(lines,"hardware",":",true);result2.push({id:"Wi-Fi",iface,model,vendor:"",mac})}if(callback){callback(result2)}resolve(result2)})}else if(_windows){let cmd="netsh wlan show interfaces";util4.powerShell(cmd).then(function(stdout){const allLines=stdout.toString().split("\r\n");for(let i=0;i<allLines.length;i++){allLines[i]=allLines[i].trim()}const parts=allLines.join("\r\n").split(":\r\n\r\n");parts.shift();parts.forEach(part=>{const lines=part.split("\r\n");if(lines.length>=5){const iface=lines[0].indexOf(":")>=0?lines[0].split(":")[1].trim():"";const model=lines[1].indexOf(":")>=0?lines[1].split(":")[1].trim():"";const id=lines[2].indexOf(":")>=0?lines[2].split(":")[1].trim():"";const macParts=lines[3].indexOf(":")>=0?lines[3].split(":"):[];macParts.shift();const mac=macParts.join(":").trim();const vendor=getVendor(model);if(iface&&model&&id&&mac){result2.push({id,iface,model,vendor,mac})}}});if(callback){callback(result2)}resolve(result2)})}else{if(callback){callback(result2)}resolve(result2)}})})}exports2.wifiInterfaces=wifiInterfaces}});var require_processes=__commonJS({"node_modules/systeminformation/lib/processes.js"(exports2){"use strict";var os7=require("os");var fs14=require("fs");var path27=require("path");var exec3=require("child_process").exec;var execSync=require("child_process").execSync;var util4=require_util2();var _platform=process.platform;var _linux=_platform==="linux"||_platform==="android";var _darwin=_platform==="darwin";var _windows=_platform==="win32";var _freebsd=_platform==="freebsd";var _openbsd=_platform==="openbsd";var _netbsd=_platform==="netbsd";var _sunos=_platform==="sunos";var _processes_cpu={all:0,all_utime:0,all_stime:0,list:{},ms:0,result:{}};var _services_cpu={all:0,all_utime:0,all_stime:0,list:{},ms:0,result:{}};var _process_cpu={all:0,all_utime:0,all_stime:0,list:{},ms:0,result:{}};var _winStatusValues={"0":"unknown","1":"other","2":"ready","3":"running","4":"blocked","5":"suspended blocked","6":"suspended ready","7":"terminated","8":"stopped","9":"growing"};function parseTimeUnix(time){let result2=time;let parts=time.replace(/ +/g," ").split(" ");if(parts.length===5){result2=parts[4]+"-"+("0"+("JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC".indexOf(parts[1].toUpperCase())/3+1)).slice(-2)+"-"+("0"+parts[2]).slice(-2)+" "+parts[3]}return result2}function parseElapsedTime(etime){let current=new Date;current=new Date(current.getTime()-current.getTimezoneOffset()*6e4);const elapsed=etime.split("-");const timeIndex=elapsed.length-1;const days=timeIndex>0?parseInt(elapsed[timeIndex-1]):0;const timeStr=elapsed[timeIndex].split(":");const hours=timeStr.length===3?parseInt(timeStr[0]||0):0;const mins=parseInt(timeStr[timeStr.length===3?1:0]||0);const secs=parseInt(timeStr[timeStr.length===3?2:1]||0);const ms=(((days*24+hours)*60+mins)*60+secs)*1e3;let res=new Date(current.getTime());let result2=res.toISOString().substring(0,10)+" "+res.toISOString().substring(11,19);try{res=new Date(current.getTime()-ms);result2=res.toISOString().substring(0,10)+" "+res.toISOString().substring(11,19)}catch(e){util4.noop()}return result2}function services(srv,callback){if(util4.isFunction(srv)&&!callback){callback=srv;srv=""}return new Promise(resolve=>{process.nextTick(()=>{if(typeof srv!=="string"){if(callback){callback([])}return resolve([])}if(srv){let srvString="";try{srvString.__proto__.toLowerCase=util4.stringToLower;srvString.__proto__.replace=util4.stringReplace;srvString.__proto__.toString=util4.stringToString;srvString.__proto__.substr=util4.stringSubstr;srvString.__proto__.substring=util4.stringSubstring;srvString.__proto__.trim=util4.stringTrim;srvString.__proto__.startsWith=util4.stringStartWith}catch(e){Object.setPrototypeOf(srvString,util4.stringObj)}const s=util4.sanitizeShellString(srv);const l=util4.mathMin(s.length,2e3);for(let i=0;i<=l;i++){if(s[i]!==void 0){srvString=srvString+s[i]}}srvString=srvString.trim().toLowerCase().replace(/, /g,"|").replace(/,+/g,"|");if(srvString===""){srvString="*"}if(util4.isPrototypePolluted()&&srvString!=="*"){srvString="------"}let srvs=srvString.split("|");let result2=[];let dataSrv=[];if(_linux||_freebsd||_openbsd||_netbsd||_darwin){if((_linux||_freebsd||_openbsd||_netbsd)&&srvString==="*"){try{const tmpsrv=execSync("systemctl --all --type=service --no-legend 2> /dev/null",util4.execOptsLinux).toString().split("\n");srvs=[];for(const s2 of tmpsrv){const name=s2.split(".service")[0];if(name&&s2.indexOf(" not-found ")===-1){srvs.push(name.trim())}}srvString=srvs.join("|")}catch(d){try{srvString="";const tmpsrv=execSync("service --status-all 2> /dev/null",util4.execOptsLinux).toString().split("\n");for(const s2 of tmpsrv){const parts=s2.split("]");if(parts.length===2){srvString+=(srvString!==""?"|":"")+parts[1].trim()}}srvs=srvString.split("|")}catch(e){try{const srvStr=execSync("ls /etc/init.d/ -m 2> /dev/null",util4.execOptsLinux).toString().split("\n").join("");srvString="";if(srvStr){const tmpsrv=srvStr.split(",");for(const s2 of tmpsrv){const name=s2.trim();if(name){srvString+=(srvString!==""?"|":"")+name}}srvs=srvString.split("|")}}catch(f){srvString="";srvs=[]}}}}if(_darwin&&srvString==="*"){if(callback){callback(result2)}resolve(result2)}let args2=_darwin?["-caxo","pcpu,pmem,pid,command"]:["-axo","pcpu,pmem,pid,command"];if(srvString!==""&&srvs.length>0){util4.execSafe("ps",args2).then(stdout=>{if(stdout){let lines=stdout.replace(/ +/g," ").replace(/,+/g,".").split("\n");srvs.forEach(function(srv2){let ps;if(_darwin){ps=lines.filter(function(e){return e.toLowerCase().indexOf(srv2)!==-1})}else{ps=lines.filter(function(e){return e.toLowerCase().indexOf(" "+srv2.toLowerCase()+":")!==-1||e.toLowerCase().indexOf("/"+srv2.toLowerCase())!==-1})}const pids=[];for(const p of ps){const pid=p.trim().split(" ")[2];if(pid){pids.push(parseInt(pid,10))}}result2.push({name:srv2,running:ps.length>0,startmode:"",pids,cpu:parseFloat(ps.reduce(function(pv,cv){return pv+parseFloat(cv.trim().split(" ")[0])},0).toFixed(2)),mem:parseFloat(ps.reduce(function(pv,cv){return pv+parseFloat(cv.trim().split(" ")[1])},0).toFixed(2))})});if(_linux){let cmd='cat /proc/stat | grep "cpu "';for(let i in result2){for(let j in result2[i].pids){cmd+=";cat /proc/"+result2[i].pids[j]+"/stat"}}exec3(cmd,{maxBuffer:1024*2e4},function(error,stdout2){let curr_processes=stdout2.toString().split("\n");let all2=parseProcStat(curr_processes.shift());let list_new={};let resultProcess={};curr_processes.forEach(element=>{resultProcess=calcProcStatLinux(element,all2,_services_cpu);if(resultProcess.pid){let listPos=-1;for(let i in result2){for(let j in result2[i].pids){if(parseInt(result2[i].pids[j])===parseInt(resultProcess.pid)){listPos=i}}}if(listPos>=0){result2[listPos].cpu+=resultProcess.cpuu+resultProcess.cpus}list_new[resultProcess.pid]={cpuu:resultProcess.cpuu,cpus:resultProcess.cpus,utime:resultProcess.utime,stime:resultProcess.stime,cutime:resultProcess.cutime,cstime:resultProcess.cstime}}});_services_cpu.all=all2;_services_cpu.list=Object.assign({},list_new);_services_cpu.ms=Date.now()-_services_cpu.ms;_services_cpu.result=Object.assign({},result2);if(callback){callback(result2)}resolve(result2)})}else{if(callback){callback(result2)}resolve(result2)}}else{args2=["-o","comm"];util4.execSafe("ps",args2).then(stdout2=>{if(stdout2){let lines=stdout2.replace(/ +/g," ").replace(/,+/g,".").split("\n");srvs.forEach(function(srv2){let ps=lines.filter(function(e){return e.indexOf(srv2)!==-1});result2.push({name:srv2,running:ps.length>0,startmode:"",cpu:0,mem:0})});if(callback){callback(result2)}resolve(result2)}else{srvs.forEach(function(srv2){result2.push({name:srv2,running:false,startmode:"",cpu:0,mem:0})});if(callback){callback(result2)}resolve(result2)}})}})}else{if(callback){callback(result2)}resolve(result2)}}if(_windows){try{let wincommand="Get-CimInstance Win32_Service";if(srvs[0]!=="*"){wincommand+=' -Filter "';srvs.forEach(srv2=>{wincommand+=`Name='${srv2}' or `});wincommand=`${wincommand.slice(0,-4)}"`}wincommand+=" | select Name,Caption,Started,StartMode,ProcessId | fl";util4.powerShell(wincommand).then((stdout,error)=>{if(!error){let serviceSections=stdout.split(/\n\s*\n/);serviceSections.forEach(element=>{if(element.trim()!==""){let lines=element.trim().split("\r\n");let srvName=util4.getValue(lines,"Name",":",true).toLowerCase();let srvCaption=util4.getValue(lines,"Caption",":",true).toLowerCase();let started=util4.getValue(lines,"Started",":",true);let startMode=util4.getValue(lines,"StartMode",":",true);let pid=util4.getValue(lines,"ProcessId",":",true);if(srvString==="*"||srvs.indexOf(srvName)>=0||srvs.indexOf(srvCaption)>=0){result2.push({name:srvName,running:started.toLowerCase()==="true",startmode:startMode,pids:[pid],cpu:0,mem:0});dataSrv.push(srvName);dataSrv.push(srvCaption)}}});if(srvString!=="*"){let srvsMissing=srvs.filter(function(e){return dataSrv.indexOf(e)===-1});srvsMissing.forEach(function(srvName){result2.push({name:srvName,running:false,startmode:"",pids:[],cpu:0,mem:0})})}if(callback){callback(result2)}resolve(result2)}else{srvs.forEach(function(srvName){result2.push({name:srvName,running:false,startmode:"",cpu:0,mem:0})});if(callback){callback(result2)}resolve(result2)}})}catch(e){if(callback){callback(result2)}resolve(result2)}}}else{if(callback){callback([])}resolve([])}})})}exports2.services=services;function parseProcStat(line){let parts=line.replace(/ +/g," ").split(" ");let user=parts.length>=2?parseInt(parts[1]):0;let nice=parts.length>=3?parseInt(parts[2]):0;let system=parts.length>=4?parseInt(parts[3]):0;let idle=parts.length>=5?parseInt(parts[4]):0;let iowait=parts.length>=6?parseInt(parts[5]):0;let irq=parts.length>=7?parseInt(parts[6]):0;let softirq=parts.length>=8?parseInt(parts[7]):0;let steal=parts.length>=9?parseInt(parts[8]):0;let guest=parts.length>=10?parseInt(parts[9]):0;let guest_nice=parts.length>=11?parseInt(parts[10]):0;return user+nice+system+idle+iowait+irq+softirq+steal+guest+guest_nice}function calcProcStatLinux(line,all2,_cpu_old){let statparts=line.replace(/ +/g," ").split(")");if(statparts.length>=2){let parts=statparts[1].split(" ");if(parts.length>=16){let pid=parseInt(statparts[0].split(" ")[0]);let utime=parseInt(parts[12]);let stime=parseInt(parts[13]);let cutime=parseInt(parts[14]);let cstime=parseInt(parts[15]);let cpuu=0;let cpus2=0;if(_cpu_old.all>0&&_cpu_old.list[pid]){cpuu=(utime+cutime-_cpu_old.list[pid].utime-_cpu_old.list[pid].cutime)/(all2-_cpu_old.all)*100;cpus2=(stime+cstime-_cpu_old.list[pid].stime-_cpu_old.list[pid].cstime)/(all2-_cpu_old.all)*100}else{cpuu=(utime+cutime)/all2*100;cpus2=(stime+cstime)/all2*100}return{pid,utime,stime,cutime,cstime,cpuu,cpus:cpus2}}else{return{pid:0,utime:0,stime:0,cutime:0,cstime:0,cpuu:0,cpus:0}}}else{return{pid:0,utime:0,stime:0,cutime:0,cstime:0,cpuu:0,cpus:0}}}function calcProcStatWin(procStat,all2,_cpu_old){let cpuu=0;let cpus2=0;if(_cpu_old.all>0&&_cpu_old.list[procStat.pid]){cpuu=(procStat.utime-_cpu_old.list[procStat.pid].utime)/(all2-_cpu_old.all)*100;cpus2=(procStat.stime-_cpu_old.list[procStat.pid].stime)/(all2-_cpu_old.all)*100}else{cpuu=procStat.utime/all2*100;cpus2=procStat.stime/all2*100}return{pid:procStat.pid,utime:procStat.utime,stime:procStat.stime,cpuu:cpuu>0?cpuu:0,cpus:cpus2>0?cpus2:0}}function processes(callback){let parsedhead=[];function getName(command){command=command||"";let result2=command.split(" ")[0];if(result2.substr(-1)===":"){result2=result2.substr(0,result2.length-1)}if(result2.substr(0,1)!=="["){let parts=result2.split("/");if(isNaN(parseInt(parts[parts.length-1]))){result2=parts[parts.length-1]}else{result2=parts[0]}}return result2}function parseLine(line){let offset=0;let offset2=0;function checkColumn(i){offset=offset2;if(parsedhead[i]){offset2=line.substring(parsedhead[i].to+offset,1e4).indexOf(" ")}else{offset2=1e4}}checkColumn(0);const pid=parseInt(line.substring(parsedhead[0].from+offset,parsedhead[0].to+offset2));checkColumn(1);const ppid=parseInt(line.substring(parsedhead[1].from+offset,parsedhead[1].to+offset2));checkColumn(2);const cpu=parseFloat(line.substring(parsedhead[2].from+offset,parsedhead[2].to+offset2).replace(/,/g,"."));checkColumn(3);const mem=parseFloat(line.substring(parsedhead[3].from+offset,parsedhead[3].to+offset2).replace(/,/g,"."));checkColumn(4);const priority=parseInt(line.substring(parsedhead[4].from+offset,parsedhead[4].to+offset2));checkColumn(5);const vsz=parseInt(line.substring(parsedhead[5].from+offset,parsedhead[5].to+offset2));checkColumn(6);const rss=parseInt(line.substring(parsedhead[6].from+offset,parsedhead[6].to+offset2));checkColumn(7);const nice=parseInt(line.substring(parsedhead[7].from+offset,parsedhead[7].to+offset2))||0;checkColumn(8);const started=!_sunos?parseElapsedTime(line.substring(parsedhead[8].from+offset,parsedhead[8].to+offset2).trim()):parseTimeUnix(line.substring(parsedhead[8].from+offset,parsedhead[8].to+offset2).trim());checkColumn(9);let state=line.substring(parsedhead[9].from+offset,parsedhead[9].to+offset2).trim();state=state[0]==="R"?"running":state[0]==="S"?"sleeping":state[0]==="T"?"stopped":state[0]==="W"?"paging":state[0]==="X"?"dead":state[0]==="Z"?"zombie":state[0]==="D"||state[0]==="U"?"blocked":"unknown";checkColumn(10);let tty2=line.substring(parsedhead[10].from+offset,parsedhead[10].to+offset2).trim();if(tty2==="?"||tty2==="??"){tty2=""}checkColumn(11);const user=line.substring(parsedhead[11].from+offset,parsedhead[11].to+offset2).trim();checkColumn(12);let cmdPath="";let command="";let params="";let fullcommand=line.substring(parsedhead[12].from+offset,parsedhead[12].to+offset2).trim();if(fullcommand.substr(fullcommand.length-1)==="]"){fullcommand=fullcommand.slice(0,-1)}if(fullcommand.substr(0,1)==="["){command=fullcommand.substring(1)}else{const p1=fullcommand.indexOf("(");const p2=fullcommand.indexOf(")");const p3=fullcommand.indexOf("/");const p4=fullcommand.indexOf(":");if(p1<p2&&p1<p3&&p3<p2){command=fullcommand.split(" ")[0];command=command.replace(/:/g,"")}else{if(p4>0&&(p3===-1||p3>3)){command=fullcommand.split(" ")[0];command=command.replace(/:/g,"")}else{let firstParamPos=fullcommand.indexOf(" -");let firstParamPathPos=fullcommand.indexOf(" /");firstParamPos=firstParamPos>=0?firstParamPos:1e4;firstParamPathPos=firstParamPathPos>=0?firstParamPathPos:1e4;const firstPos=Math.min(firstParamPos,firstParamPathPos);let tmpCommand=fullcommand.substr(0,firstPos);const tmpParams=fullcommand.substr(firstPos);const lastSlashPos=tmpCommand.lastIndexOf("/");if(lastSlashPos>=0){cmdPath=tmpCommand.substr(0,lastSlashPos);tmpCommand=tmpCommand.substr(lastSlashPos+1)}if(firstPos===1e4&&tmpCommand.indexOf(" ")>-1){const parts=tmpCommand.split(" ");if(fs14.existsSync(path27.join(cmdPath,parts[0]))){command=parts.shift();params=(parts.join(" ")+" "+tmpParams).trim()}else{command=tmpCommand.trim();params=tmpParams.trim()}}else{command=tmpCommand.trim();params=tmpParams.trim()}}}}return{pid,parentPid:ppid,name:_linux?getName(command):command,cpu,cpuu:0,cpus:0,mem,priority,memVsz:vsz,memRss:rss,nice,started,state,tty:tty2,user,command,params,path:cmdPath}}function parseProcesses(lines){let result2=[];if(lines.length>1){let head2=lines[0];parsedhead=util4.parseHead(head2,8);lines.shift();lines.forEach(function(line){if(line.trim()!==""){result2.push(parseLine(line))}})}return result2}function parseProcesses2(lines){function formatDateTime(time){const month=("0"+(time.getMonth()+1).toString()).slice(-2);const year=time.getFullYear().toString();const day=("0"+time.getDate().toString()).slice(-2);const hours=("0"+time.getHours().toString()).slice(-2);const mins=("0"+time.getMinutes().toString()).slice(-2);const secs=("0"+time.getSeconds().toString()).slice(-2);return year+"-"+month+"-"+day+" "+hours+":"+mins+":"+secs}function parseElapsed(etime){let started="";if(etime.indexOf("d")>=0){const elapsed_parts=etime.split("d");started=formatDateTime(new Date(Date.now()-(elapsed_parts[0]*24+elapsed_parts[1]*1)*60*60*1e3))}else if(etime.indexOf("h")>=0){const elapsed_parts=etime.split("h");started=formatDateTime(new Date(Date.now()-(elapsed_parts[0]*60+elapsed_parts[1]*1)*60*1e3))}else if(etime.indexOf(":")>=0){const elapsed_parts=etime.split(":");started=formatDateTime(new Date(Date.now()-(elapsed_parts.length>1?(elapsed_parts[0]*60+elapsed_parts[1])*1e3:elapsed_parts[0]*1e3)))}return started}let result2=[];lines.forEach(function(line){if(line.trim()!==""){line=line.trim().replace(/ +/g," ").replace(/,+/g,".");const parts=line.split(" ");const command=parts.slice(9).join(" ");const pmem=parseFloat((1*parseInt(parts[3])*1024/os7.totalmem()).toFixed(1));const started=parseElapsed(parts[5]);result2.push({pid:parseInt(parts[0]),parentPid:parseInt(parts[1]),name:getName(command),cpu:0,cpuu:0,cpus:0,mem:pmem,priority:0,memVsz:parseInt(parts[2]),memRss:parseInt(parts[3]),nice:parseInt(parts[4]),started,state:parts[6]==="R"?"running":parts[6]==="S"?"sleeping":parts[6]==="T"?"stopped":parts[6]==="W"?"paging":parts[6]==="X"?"dead":parts[6]==="Z"?"zombie":parts[6]==="D"||parts[6]==="U"?"blocked":"unknown",tty:parts[7],user:parts[8],command})}});return result2}return new Promise(resolve=>{process.nextTick(()=>{let result2={all:0,running:0,blocked:0,sleeping:0,unknown:0,list:[]};let cmd="";if(_processes_cpu.ms&&Date.now()-_processes_cpu.ms>=500||_processes_cpu.ms===0){if(_linux||_freebsd||_openbsd||_netbsd||_darwin||_sunos){if(_linux){cmd="export LC_ALL=C; ps -axo pid:11,ppid:11,pcpu:6,pmem:6,pri:5,vsz:11,rss:11,ni:5,etime:30,state:5,tty:15,user:20,command; unset LC_ALL"}if(_freebsd||_openbsd||_netbsd){cmd="export LC_ALL=C; ps -axo pid,ppid,pcpu,pmem,pri,vsz,rss,ni,etime,state,tty,user,command; unset LC_ALL"}if(_darwin){cmd="ps -axo pid,ppid,pcpu,pmem,pri,vsz=temp_title_1,rss=temp_title_2,nice,etime=temp_title_3,state,tty,user,command -r"}if(_sunos){cmd="ps -Ao pid,ppid,pcpu,pmem,pri,vsz,rss,nice,stime,s,tty,user,comm"}exec3(cmd,{maxBuffer:1024*2e4},function(error,stdout){if(!error&&stdout.toString().trim()){result2.list=parseProcesses(stdout.toString().split("\n")).slice();result2.all=result2.list.length;result2.running=result2.list.filter(function(e){return e.state==="running"}).length;result2.blocked=result2.list.filter(function(e){return e.state==="blocked"}).length;result2.sleeping=result2.list.filter(function(e){return e.state==="sleeping"}).length;if(_linux){cmd='cat /proc/stat | grep "cpu "';result2.list.forEach(element=>{cmd+=";cat /proc/"+element.pid+"/stat"});exec3(cmd,{maxBuffer:1024*2e4},function(error2,stdout2){let curr_processes=stdout2.toString().split("\n");let all2=parseProcStat(curr_processes.shift());let list_new={};let resultProcess={};curr_processes.forEach(element=>{resultProcess=calcProcStatLinux(element,all2,_processes_cpu);if(resultProcess.pid){let listPos=result2.list.map(function(e){return e.pid}).indexOf(resultProcess.pid);if(listPos>=0){result2.list[listPos].cpu=resultProcess.cpuu+resultProcess.cpus;result2.list[listPos].cpuu=resultProcess.cpuu;result2.list[listPos].cpus=resultProcess.cpus}list_new[resultProcess.pid]={cpuu:resultProcess.cpuu,cpus:resultProcess.cpus,utime:resultProcess.utime,stime:resultProcess.stime,cutime:resultProcess.cutime,cstime:resultProcess.cstime}}});_processes_cpu.all=all2;_processes_cpu.list=Object.assign({},list_new);_processes_cpu.ms=Date.now()-_processes_cpu.ms;_processes_cpu.result=Object.assign({},result2);if(callback){callback(result2)}resolve(result2)})}else{if(callback){callback(result2)}resolve(result2)}}else{cmd="ps -o pid,ppid,vsz,rss,nice,etime,stat,tty,user,comm";if(_sunos){cmd="ps -o pid,ppid,vsz,rss,nice,etime,s,tty,user,comm"}exec3(cmd,{maxBuffer:1024*2e4},function(error2,stdout2){if(!error2){let lines=stdout2.toString().split("\n");lines.shift();result2.list=parseProcesses2(lines).slice();result2.all=result2.list.length;result2.running=result2.list.filter(function(e){return e.state==="running"}).length;result2.blocked=result2.list.filter(function(e){return e.state==="blocked"}).length;result2.sleeping=result2.list.filter(function(e){return e.state==="sleeping"}).length;if(callback){callback(result2)}resolve(result2)}else{if(callback){callback(result2)}resolve(result2)}})}})}else if(_windows){try{util4.powerShell('Get-CimInstance Win32_Process | select-Object ProcessId,ParentProcessId,ExecutionState,Caption,CommandLine,ExecutablePath,UserModeTime,KernelModeTime,WorkingSetSize,Priority,PageFileUsage, @{n="CreationDate";e={$_.CreationDate.ToString("yyyy-MM-dd HH:mm:ss")}} | fl').then((stdout,error)=>{if(!error){let processSections=stdout.split(/\n\s*\n/);let procs=[];let procStats=[];let list_new={};let allcpuu=0;let allcpus=0;processSections.forEach(element=>{if(element.trim()!==""){let lines=element.trim().split("\r\n");let pid=parseInt(util4.getValue(lines,"ProcessId",":",true),10);let parentPid=parseInt(util4.getValue(lines,"ParentProcessId",":",true),10);let statusValue=util4.getValue(lines,"ExecutionState",":");let name=util4.getValue(lines,"Caption",":",true);let commandLine=util4.getValue(lines,"CommandLine",":",true);let additionalCommand=false;lines.forEach(line=>{if(additionalCommand&&line.toLowerCase().startsWith(" ")){commandLine+=" "+line.trim()}else{additionalCommand=false}if(line.toLowerCase().startsWith("commandline")){additionalCommand=true}});let commandPath=util4.getValue(lines,"ExecutablePath",":",true);let utime=parseInt(util4.getValue(lines,"UserModeTime",":",true),10);let stime=parseInt(util4.getValue(lines,"KernelModeTime",":",true),10);let memw=parseInt(util4.getValue(lines,"WorkingSetSize",":",true),10);allcpuu=allcpuu+utime;allcpus=allcpus+stime;result2.all++;if(!statusValue){result2.unknown++}if(statusValue==="3"){result2.running++}if(statusValue==="4"||statusValue==="5"){result2.blocked++}procStats.push({pid,utime,stime,cpu:0,cpuu:0,cpus:0});procs.push({pid,parentPid,name,cpu:0,cpuu:0,cpus:0,mem:memw/os7.totalmem()*100,priority:parseInt(util4.getValue(lines,"Priority",":",true),10),memVsz:parseInt(util4.getValue(lines,"PageFileUsage",":",true),10),memRss:Math.floor(parseInt(util4.getValue(lines,"WorkingSetSize",":",true),10)/1024),nice:0,started:util4.getValue(lines,"CreationDate",":",true),state:!statusValue?_winStatusValues[0]:_winStatusValues[statusValue],tty:"",user:"",command:commandLine||name,path:commandPath,params:""})}});result2.sleeping=result2.all-result2.running-result2.blocked-result2.unknown;result2.list=procs;procStats.forEach(element=>{let resultProcess=calcProcStatWin(element,allcpuu+allcpus,_processes_cpu);let listPos=result2.list.map(function(e){return e.pid}).indexOf(resultProcess.pid);if(listPos>=0){result2.list[listPos].cpu=resultProcess.cpuu+resultProcess.cpus;result2.list[listPos].cpuu=resultProcess.cpuu;result2.list[listPos].cpus=resultProcess.cpus}list_new[resultProcess.pid]={cpuu:resultProcess.cpuu,cpus:resultProcess.cpus,utime:resultProcess.utime,stime:resultProcess.stime}});_processes_cpu.all=allcpuu+allcpus;_processes_cpu.all_utime=allcpuu;_processes_cpu.all_stime=allcpus;_processes_cpu.list=Object.assign({},list_new);_processes_cpu.ms=Date.now()-_processes_cpu.ms;_processes_cpu.result=Object.assign({},result2)}if(callback){callback(result2)}resolve(result2)})}catch(e){if(callback){callback(result2)}resolve(result2)}}else{if(callback){callback(result2)}resolve(result2)}}else{if(callback){callback(_processes_cpu.result)}resolve(_processes_cpu.result)}})})}exports2.processes=processes;function processLoad(proc,callback){if(util4.isFunction(proc)&&!callback){callback=proc;proc=""}return new Promise(resolve=>{process.nextTick(()=>{proc=proc||"";if(typeof proc!=="string"){if(callback){callback([])}return resolve([])}let processesString="";try{processesString.__proto__.toLowerCase=util4.stringToLower;processesString.__proto__.replace=util4.stringReplace;processesString.__proto__.toString=util4.stringToString;processesString.__proto__.substr=util4.stringSubstr;processesString.__proto__.substring=util4.stringSubstring;processesString.__proto__.trim=util4.stringTrim;processesString.__proto__.startsWith=util4.stringStartWith}catch(e){Object.setPrototypeOf(processesString,util4.stringObj)}const s=util4.sanitizeShellString(proc);const l=util4.mathMin(s.length,2e3);for(let i=0;i<=l;i++){if(s[i]!==void 0){processesString=processesString+s[i]}}processesString=processesString.trim().toLowerCase().replace(/, /g,"|").replace(/,+/g,"|");if(processesString===""){processesString="*"}if(util4.isPrototypePolluted()&&processesString!=="*"){processesString="------"}let processes2=processesString.split("|");let result2=[];const procSanitized=util4.isPrototypePolluted()?"":util4.sanitizeShellString(proc)||"*";if(procSanitized&&processes2.length&&processes2[0]!=="------"){if(_windows){try{util4.powerShell("Get-CimInstance Win32_Process | select ProcessId,Caption,UserModeTime,KernelModeTime,WorkingSetSize | fl").then((stdout,error)=>{if(!error){let processSections=stdout.split(/\n\s*\n/);let procStats=[];let list_new={};let allcpuu=0;let allcpus=0;processSections.forEach(element=>{if(element.trim()!==""){let lines=element.trim().split("\r\n");let pid=parseInt(util4.getValue(lines,"ProcessId",":",true),10);let name=util4.getValue(lines,"Caption",":",true);let utime=parseInt(util4.getValue(lines,"UserModeTime",":",true),10);let stime=parseInt(util4.getValue(lines,"KernelModeTime",":",true),10);let mem=parseInt(util4.getValue(lines,"WorkingSetSize",":",true),10);allcpuu=allcpuu+utime;allcpus=allcpus+stime;procStats.push({pid,name,utime,stime,cpu:0,cpuu:0,cpus:0,mem});let pname="";let inList=false;processes2.forEach(function(proc2){if(name.toLowerCase().indexOf(proc2.toLowerCase())>=0&&!inList){inList=true;pname=proc2}});if(processesString==="*"||inList){let processFound=false;result2.forEach(function(item){if(item.proc.toLowerCase()===pname.toLowerCase()){item.pids.push(pid);item.mem+=mem/os7.totalmem()*100;processFound=true}});if(!processFound){result2.push({proc:pname,pid,pids:[pid],cpu:0,mem:mem/os7.totalmem()*100})}}}});if(processesString!=="*"){let processesMissing=processes2.filter(function(name){return procStats.filter(function(item){return item.name.toLowerCase().indexOf(name)>=0}).length===0});processesMissing.forEach(function(procName){result2.push({proc:procName,pid:null,pids:[],cpu:0,mem:0})})}procStats.forEach(element=>{let resultProcess=calcProcStatWin(element,allcpuu+allcpus,_process_cpu);let listPos=-1;for(let j=0;j<result2.length;j++){if(result2[j].pid===resultProcess.pid||result2[j].pids.indexOf(resultProcess.pid)>=0){listPos=j}}if(listPos>=0){result2[listPos].cpu+=resultProcess.cpuu+resultProcess.cpus}list_new[resultProcess.pid]={cpuu:resultProcess.cpuu,cpus:resultProcess.cpus,utime:resultProcess.utime,stime:resultProcess.stime}});_process_cpu.all=allcpuu+allcpus;_process_cpu.all_utime=allcpuu;_process_cpu.all_stime=allcpus;_process_cpu.list=Object.assign({},list_new);_process_cpu.ms=Date.now()-_process_cpu.ms;_process_cpu.result=JSON.parse(JSON.stringify(result2));if(callback){callback(result2)}resolve(result2)}})}catch(e){if(callback){callback(result2)}resolve(result2)}}if(_darwin||_linux||_freebsd||_openbsd||_netbsd){const params=["-axo","pid,ppid,pcpu,pmem,comm"];util4.execSafe("ps",params).then(stdout=>{if(stdout){let procStats=[];let lines=stdout.toString().split("\n").filter(function(line){if(processesString==="*"){return true}if(line.toLowerCase().indexOf("grep")!==-1){return false}let found=false;processes2.forEach(function(item){found=found||line.toLowerCase().indexOf(item.toLowerCase())>=0});return found});lines.shift();lines.forEach(function(line){let data=line.trim().replace(/ +/g," ").split(" ");if(data.length>4){const linuxName=data[4].indexOf("/")>=0?data[4].substring(0,data[4].indexOf("/")):data[4];const name=_linux?linuxName:data[4].substring(data[4].lastIndexOf("/")+1);procStats.push({name,pid:parseInt(data[0])||0,ppid:parseInt(data[1])||0,cpu:parseFloat(data[2].replace(",",".")),mem:parseFloat(data[3].replace(",","."))})}});procStats.forEach(function(item){let listPos=-1;let inList=false;let name=item.name;for(let j=0;j<result2.length;j++){if(item.name.toLowerCase().indexOf(result2[j].proc.toLowerCase())>=0){listPos=j}}processes2.forEach(function(proc2){if(item.name.toLowerCase().indexOf(proc2.toLowerCase())>=0&&!inList){inList=true;name=proc2}});if(processesString==="*"||inList){if(listPos<0){if(name){result2.push({proc:name,pid:item.pid,pids:[item.pid],cpu:item.cpu,mem:item.mem})}}else{if(item.ppid<10){result2[listPos].pid=item.pid}result2[listPos].pids.push(item.pid);result2[listPos].cpu+=item.cpu;result2[listPos].mem+=item.mem}}});if(processesString!=="*"){let processesMissing=processes2.filter(function(name){return procStats.filter(function(item){return item.name.toLowerCase().indexOf(name)>=0}).length===0});processesMissing.forEach(function(procName){result2.push({proc:procName,pid:null,pids:[],cpu:0,mem:0})})}if(_linux){result2.forEach(function(item){item.cpu=0});let cmd='cat /proc/stat | grep "cpu "';for(let i in result2){for(let j in result2[i].pids){cmd+=";cat /proc/"+result2[i].pids[j]+"/stat"}}exec3(cmd,{maxBuffer:1024*2e4},function(error,stdout2){let curr_processes=stdout2.toString().split("\n");let all2=parseProcStat(curr_processes.shift());let list_new={};let resultProcess={};curr_processes.forEach(element=>{resultProcess=calcProcStatLinux(element,all2,_process_cpu);if(resultProcess.pid){let resultItemId=-1;for(let i in result2){if(result2[i].pids.indexOf(resultProcess.pid)>=0){resultItemId=i}}if(resultItemId>=0){result2[resultItemId].cpu+=resultProcess.cpuu+resultProcess.cpus}list_new[resultProcess.pid]={cpuu:resultProcess.cpuu,cpus:resultProcess.cpus,utime:resultProcess.utime,stime:resultProcess.stime,cutime:resultProcess.cutime,cstime:resultProcess.cstime}}});result2.forEach(function(item){item.cpu=Math.round(item.cpu*100)/100});_process_cpu.all=all2;_process_cpu.list=Object.assign({},list_new);_process_cpu.ms=Date.now()-_process_cpu.ms;_process_cpu.result=Object.assign({},result2);if(callback){callback(result2)}resolve(result2)})}else{if(callback){callback(result2)}resolve(result2)}}else{if(callback){callback(result2)}resolve(result2)}})}}})})}exports2.processLoad=processLoad}});var require_users=__commonJS({"node_modules/systeminformation/lib/users.js"(exports2){"use strict";var exec3=require("child_process").exec;var util4=require_util2();var _platform=process.platform;var _linux=_platform==="linux"||_platform==="android";var _darwin=_platform==="darwin";var _windows=_platform==="win32";var _freebsd=_platform==="freebsd";var _openbsd=_platform==="openbsd";var _netbsd=_platform==="netbsd";var _sunos=_platform==="sunos";function parseUsersLinux(lines,phase){let result2=[];let result_who=[];let result_w={};let w_first=true;let w_header=[];let w_pos=[];let who_line={};let is_whopart=true;lines.forEach(function(line){if(line==="---"){is_whopart=false}else{let l=line.replace(/ +/g," ").split(" ");if(is_whopart){result_who.push({user:l[0],tty:l[1],date:l[2],time:l[3],ip:l&&l.length>4?l[4].replace(/\(/g,"").replace(/\)/g,""):""})}else{if(w_first){w_header=l;w_header.forEach(function(item){w_pos.push(line.indexOf(item))});w_first=false}else{result_w.user=line.substring(w_pos[0],w_pos[1]-1).trim();result_w.tty=line.substring(w_pos[1],w_pos[2]-1).trim();result_w.ip=line.substring(w_pos[2],w_pos[3]-1).replace(/\(/g,"").replace(/\)/g,"").trim();result_w.command=line.substring(w_pos[7],1e3).trim();who_line=result_who.filter(function(obj){return obj.user.substring(0,8).trim()===result_w.user&&obj.tty===result_w.tty});if(who_line.length===1){result2.push({user:who_line[0].user,tty:who_line[0].tty,date:who_line[0].date,time:who_line[0].time,ip:who_line[0].ip,command:result_w.command})}}}}});if(result2.length===0&&phase===2){return result_who}else{return result2}}function parseUsersDarwin(lines){let result2=[];let result_who=[];let result_w={};let who_line={};let is_whopart=true;lines.forEach(function(line){if(line==="---"){is_whopart=false}else{let l=line.replace(/ +/g," ").split(" ");if(is_whopart){let dt=""+new Date().getFullYear()+"-"+("0"+("JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC".indexOf(l[2].toUpperCase())/3+1)).slice(-2)+"-"+("0"+l[3]).slice(-2);try{if(new Date(dt)>new Date){dt=""+(new Date().getFullYear()-1)+"-"+("0"+("JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC".indexOf(l[2].toUpperCase())/3+1)).slice(-2)+"-"+("0"+l[3]).slice(-2)}}catch{util4.noop()}result_who.push({user:l[0],tty:l[1],date:dt,time:l[4]})}else{result_w.user=l[0];result_w.tty=l[1];result_w.ip=l[2]!=="-"?l[2]:"";result_w.command=l.slice(5,1e3).join(" ");who_line=result_who.filter(function(obj){return obj.user.substring(0,10)===result_w.user.substring(0,10)&&(obj.tty.substring(3,1e3)===result_w.tty||obj.tty===result_w.tty)});if(who_line.length===1){result2.push({user:who_line[0].user,tty:who_line[0].tty,date:who_line[0].date,time:who_line[0].time,ip:result_w.ip,command:result_w.command})}}}});return result2}function users(callback){return new Promise(resolve=>{process.nextTick(()=>{let result2=[];if(_linux){exec3('export LC_ALL=C; who --ips; echo "---"; w; unset LC_ALL | tail -n +2',function(error,stdout){if(!error){let lines=stdout.toString().split("\n");result2=parseUsersLinux(lines,1);if(result2.length===0){exec3('who; echo "---"; w | tail -n +2',function(error2,stdout2){if(!error2){lines=stdout2.toString().split("\n");result2=parseUsersLinux(lines,2)}if(callback){callback(result2)}resolve(result2)})}else{if(callback){callback(result2)}resolve(result2)}}else{if(callback){callback(result2)}resolve(result2)}})}if(_freebsd||_openbsd||_netbsd){exec3('who; echo "---"; w -ih',function(error,stdout){if(!error){let lines=stdout.toString().split("\n");result2=parseUsersDarwin(lines)}if(callback){callback(result2)}resolve(result2)})}if(_sunos){exec3('who; echo "---"; w -h',function(error,stdout){if(!error){let lines=stdout.toString().split("\n");result2=parseUsersDarwin(lines)}if(callback){callback(result2)}resolve(result2)})}if(_darwin){exec3('export LC_ALL=C; who; echo "---"; w -ih; unset LC_ALL',function(error,stdout){if(!error){let lines=stdout.toString().split("\n");result2=parseUsersDarwin(lines)}if(callback){callback(result2)}resolve(result2)})}if(_windows){try{let cmd=`Get-CimInstance Win32_LogonSession | select LogonId,@{n="StartTime";e={$_.StartTime.ToString("yyyy-MM-dd HH:mm:ss")}} | fl; echo '#-#-#-#';`;cmd+="Get-CimInstance Win32_LoggedOnUser | select antecedent,dependent | fl ; echo '#-#-#-#';";cmd+=`$process = (Get-CimInstance Win32_Process -Filter "name = 'explorer.exe'"); Invoke-CimMethod -InputObject $process[0] -MethodName GetOwner | select user, domain | fl; get-process -name explorer | select-object sessionid | fl; echo '#-#-#-#';`;cmd+="query user";util4.powerShell(cmd).then(data=>{if(data){data=data.split("#-#-#-#");let sessions=parseWinSessions((data[0]||"").split(/\n\s*\n/));let loggedons=parseWinLoggedOn((data[1]||"").split(/\n\s*\n/));let queryUser=parseWinUsersQuery((data[3]||"").split("\r\n"));let users2=parseWinUsers((data[2]||"").split(/\n\s*\n/),queryUser);for(let id in loggedons){if({}.hasOwnProperty.call(loggedons,id)){loggedons[id].dateTime={}.hasOwnProperty.call(sessions,id)?sessions[id]:""}}users2.forEach(user=>{let dateTime="";for(let id in loggedons){if({}.hasOwnProperty.call(loggedons,id)){if(loggedons[id].user===user.user&&(!dateTime||dateTime<loggedons[id].dateTime)){dateTime=loggedons[id].dateTime}}}result2.push({user:user.user,tty:user.tty,date:`${dateTime.substring(0,10)}`,time:`${dateTime.substring(11,19)}`,ip:"",command:""})})}if(callback){callback(result2)}resolve(result2)})}catch(e){if(callback){callback(result2)}resolve(result2)}}})})}function parseWinSessions(sessionParts){const sessions={};sessionParts.forEach(session=>{const lines=session.split("\r\n");const id=util4.getValue(lines,"LogonId");const starttime=util4.getValue(lines,"starttime");if(id){sessions[id]=starttime}});return sessions}function fuzzyMatch(name1,name2){name1=name1.toLowerCase();name2=name2.toLowerCase();let eq2=0;let len=name1.length;if(name2.length>len){len=name2.length}for(let i=0;i<len;i++){const c1=name1[i]||"";const c2=name2[i]||"";if(c1===c2){eq2++}}return len>10?eq2/len>.9:len>0?eq2/len>.8:false}function parseWinUsers(userParts,userQuery){const users2=[];userParts.forEach(user=>{const lines=user.split("\r\n");const domain=util4.getValue(lines,"domain",":",true);const username=util4.getValue(lines,"user",":",true);const sessionid=util4.getValue(lines,"sessionid",":",true);if(username){const quser=userQuery.filter(item=>fuzzyMatch(item.user,username));users2.push({domain,user:username,tty:quser&&quser[0]&&quser[0].tty?quser[0].tty:sessionid})}});return users2}function parseWinLoggedOn(loggedonParts){const loggedons={};loggedonParts.forEach(loggedon=>{const lines=loggedon.split("\r\n");const antecendent=util4.getValue(lines,"antecedent",":",true);let parts=antecendent.split("=");const name=parts.length>2?parts[1].split(",")[0].replace(/"/g,"").trim():"";const domain=parts.length>2?parts[2].replace(/"/g,"").replace(/\)/g,"").trim():"";const dependent=util4.getValue(lines,"dependent",":",true);parts=dependent.split("=");const id=parts.length>1?parts[1].replace(/"/g,"").replace(/\)/g,"").trim():"";if(id){loggedons[id]={domain,user:name}}});return loggedons}function parseWinUsersQuery(lines){lines=lines.filter(item=>item);let result2=[];const header2=lines[0];const headerDelimiter=[];if(header2){const start=header2[0]===" "?1:0;headerDelimiter.push(start-1);let nextSpace=0;for(let i=start+1;i<header2.length;i++){if(header2[i]===" "&&(header2[i-1]===" "||header2[i-1]===".")){nextSpace=i}else{if(nextSpace){headerDelimiter.push(nextSpace);nextSpace=0}}}for(let i=1;i<lines.length;i++){if(lines[i].trim()){const user=lines[i].substring(headerDelimiter[0]+1,headerDelimiter[1]).trim()||"";const tty2=lines[i].substring(headerDelimiter[1]+1,headerDelimiter[2]-2).trim()||"";result2.push({user,tty:tty2})}}}return result2}exports2.users=users}});var require_internet=__commonJS({"node_modules/systeminformation/lib/internet.js"(exports2){"use strict";var util4=require_util2();var _platform=process.platform;var _linux=_platform==="linux"||_platform==="android";var _darwin=_platform==="darwin";var _windows=_platform==="win32";var _freebsd=_platform==="freebsd";var _openbsd=_platform==="openbsd";var _netbsd=_platform==="netbsd";var _sunos=_platform==="sunos";function inetChecksite(url,callback){return new Promise(resolve=>{process.nextTick(()=>{let result2={url,ok:false,status:404,ms:null};if(typeof url!=="string"){if(callback){callback(result2)}return resolve(result2)}let urlSanitized="";const s=util4.sanitizeShellString(url,true);const l=util4.mathMin(s.length,2e3);for(let i=0;i<=l;i++){if(s[i]!==void 0){try{s[i].__proto__.toLowerCase=util4.stringToLower}catch(e){Object.setPrototypeOf(s[i],util4.stringObj)}const sl=s[i].toLowerCase();if(sl&&sl[0]&&!sl[1]&&sl[0].length===1){urlSanitized=urlSanitized+sl[0]}}}result2.url=urlSanitized;try{if(urlSanitized&&!util4.isPrototypePolluted()){try{urlSanitized.__proto__.startsWith=util4.stringStartWith}catch(e){Object.setPrototypeOf(urlSanitized,util4.stringObj)}if(urlSanitized.startsWith("file:")||urlSanitized.startsWith("gopher:")||urlSanitized.startsWith("telnet:")||urlSanitized.startsWith("mailto:")||urlSanitized.startsWith("news:")||urlSanitized.startsWith("nntp:")){if(callback){callback(result2)}return resolve(result2)}util4.checkWebsite(urlSanitized).then(res=>{result2.status=res.statusCode;result2.ok=res.statusCode>=200&&res.statusCode<=399;;result2.ms=result2.ok?res.time:null;if(callback){callback(result2)}resolve(result2)})}else{if(callback){callback(result2)}resolve(result2)}}catch(err){if(callback){callback(result2)}resolve(result2)}})})}exports2.inetChecksite=inetChecksite;function inetLatency(host,callback){if(util4.isFunction(host)&&!callback){callback=host;host=""}host=host||"8.8.8.8";return new Promise(resolve=>{process.nextTick(()=>{if(typeof host!=="string"){if(callback){callback(null)}return resolve(null)}let hostSanitized="";const s=(util4.isPrototypePolluted()?"8.8.8.8":util4.sanitizeShellString(host,true)).trim();const l=util4.mathMin(s.length,2e3);for(let i=0;i<=l;i++){if(!(s[i]===void 0)){try{s[i].__proto__.toLowerCase=util4.stringToLower}catch(e){Object.setPrototypeOf(s[i],util4.stringObj)}const sl=s[i].toLowerCase();if(sl&&sl[0]&&!sl[1]){hostSanitized=hostSanitized+sl[0]}}}try{hostSanitized.__proto__.startsWith=util4.stringStartWith}catch(e){Object.setPrototypeOf(hostSanitized,util4.stringObj)}if(hostSanitized.startsWith("file:")||hostSanitized.startsWith("gopher:")||hostSanitized.startsWith("telnet:")||hostSanitized.startsWith("mailto:")||hostSanitized.startsWith("news:")||hostSanitized.startsWith("nntp:")){if(callback){callback(null)}return resolve(null)}let params;if(_linux||_freebsd||_openbsd||_netbsd||_darwin){if(_linux){params=["-c","2","-w","3",hostSanitized]}if(_freebsd||_openbsd||_netbsd){params=["-c","2","-t","3",hostSanitized]}if(_darwin){params=["-c2","-t3",hostSanitized]}util4.execSafe("ping",params).then(stdout=>{let result2=null;if(stdout){const lines=stdout.split("\n").filter(line2=>line2.indexOf("rtt")>=0||line2.indexOf("round-trip")>=0||line2.indexOf("avg")>=0).join("\n");const line=lines.split("=");if(line.length>1){const parts=line[1].split("/");if(parts.length>1){result2=parseFloat(parts[1])}}}if(callback){callback(result2)}resolve(result2)})}if(_sunos){const params2=["-s","-a",hostSanitized,"56","2"];const filt="avg";util4.execSafe("ping",params2,{timeout:3e3}).then(stdout=>{let result2=null;if(stdout){const lines=stdout.split("\n").filter(line2=>line2.indexOf(filt)>=0).join("\n");const line=lines.split("=");if(line.length>1){const parts=line[1].split("/");if(parts.length>1){result2=parseFloat(parts[1].replace(",","."))}}}if(callback){callback(result2)}resolve(result2)})}if(_windows){let result2=null;try{const params2=[hostSanitized,"-n","1"];util4.execSafe("ping",params2,util4.execOptsWin).then(stdout=>{if(stdout){let lines=stdout.split("\r\n");lines.shift();lines.forEach(function(line){if((line.toLowerCase().match(/ms/g)||[]).length===3){let l2=line.replace(/ +/g," ").split(" ");if(l2.length>6){result2=parseFloat(l2[l2.length-1])}}})}if(callback){callback(result2)}resolve(result2)})}catch(e){if(callback){callback(result2)}resolve(result2)}}})})}exports2.inetLatency=inetLatency}});var require_dockerSocket=__commonJS({"node_modules/systeminformation/lib/dockerSocket.js"(exports2,module2){"use strict";var net2=require("net");var isWin=require("os").type()==="Windows_NT";var socketPath=isWin?"//./pipe/docker_engine":"/var/run/docker.sock";var DockerSocket=class{getInfo(callback){try{let socket=net2.createConnection({path:socketPath});let alldata="";let data;socket.on("connect",()=>{socket.write("GET http:/info HTTP/1.0\r\n\r\n")});socket.on("data",data2=>{alldata=alldata+data2.toString()});socket.on("error",()=>{socket=false;callback({})});socket.on("end",()=>{let startbody=alldata.indexOf("\r\n\r\n");alldata=alldata.substring(startbody+4);socket=false;try{data=JSON.parse(alldata);callback(data)}catch(err){callback({})}})}catch(err){callback({})}}listImages(all2,callback){try{let socket=net2.createConnection({path:socketPath});let alldata="";let data;socket.on("connect",()=>{socket.write("GET http:/images/json"+(all2?"?all=1":"")+" HTTP/1.0\r\n\r\n")});socket.on("data",data2=>{alldata=alldata+data2.toString()});socket.on("error",()=>{socket=false;callback({})});socket.on("end",()=>{let startbody=alldata.indexOf("\r\n\r\n");alldata=alldata.substring(startbody+4);socket=false;try{data=JSON.parse(alldata);callback(data)}catch(err){callback({})}})}catch(err){callback({})}}inspectImage(id,callback){id=id||"";if(id){try{let socket=net2.createConnection({path:socketPath});let alldata="";let data;socket.on("connect",()=>{socket.write("GET http:/images/"+id+"/json?stream=0 HTTP/1.0\r\n\r\n")});socket.on("data",data2=>{alldata=alldata+data2.toString()});socket.on("error",()=>{socket=false;callback({})});socket.on("end",()=>{let startbody=alldata.indexOf("\r\n\r\n");alldata=alldata.substring(startbody+4);socket=false;try{data=JSON.parse(alldata);callback(data)}catch(err){callback({})}})}catch(err){callback({})}}else{callback({})}}listContainers(all2,callback){try{let socket=net2.createConnection({path:socketPath});let alldata="";let data;socket.on("connect",()=>{socket.write("GET http:/containers/json"+(all2?"?all=1":"")+" HTTP/1.0\r\n\r\n")});socket.on("data",data2=>{alldata=alldata+data2.toString()});socket.on("error",()=>{socket=false;callback({})});socket.on("end",()=>{let startbody=alldata.indexOf("\r\n\r\n");alldata=alldata.substring(startbody+4);socket=false;try{data=JSON.parse(alldata);callback(data)}catch(err){callback({})}})}catch(err){callback({})}}getStats(id,callback){id=id||"";if(id){try{let socket=net2.createConnection({path:socketPath});let alldata="";let data;socket.on("connect",()=>{socket.write("GET http:/containers/"+id+"/stats?stream=0 HTTP/1.0\r\n\r\n")});socket.on("data",data2=>{alldata=alldata+data2.toString()});socket.on("error",()=>{socket=false;callback({})});socket.on("end",()=>{let startbody=alldata.indexOf("\r\n\r\n");alldata=alldata.substring(startbody+4);socket=false;try{data=JSON.parse(alldata);callback(data)}catch(err){callback({})}})}catch(err){callback({})}}else{callback({})}}getInspect(id,callback){id=id||"";if(id){try{let socket=net2.createConnection({path:socketPath});let alldata="";let data;socket.on("connect",()=>{socket.write("GET http:/containers/"+id+"/json?stream=0 HTTP/1.0\r\n\r\n")});socket.on("data",data2=>{alldata=alldata+data2.toString()});socket.on("error",()=>{socket=false;callback({})});socket.on("end",()=>{let startbody=alldata.indexOf("\r\n\r\n");alldata=alldata.substring(startbody+4);socket=false;try{data=JSON.parse(alldata);callback(data)}catch(err){callback({})}})}catch(err){callback({})}}else{callback({})}}getProcesses(id,callback){id=id||"";if(id){try{let socket=net2.createConnection({path:socketPath});let alldata="";let data;socket.on("connect",()=>{socket.write("GET http:/containers/"+id+"/top?ps_args=-opid,ppid,pgid,vsz,time,etime,nice,ruser,user,rgroup,group,stat,rss,args HTTP/1.0\r\n\r\n")});socket.on("data",data2=>{alldata=alldata+data2.toString()});socket.on("error",()=>{socket=false;callback({})});socket.on("end",()=>{let startbody=alldata.indexOf("\r\n\r\n");alldata=alldata.substring(startbody+4);socket=false;try{data=JSON.parse(alldata);callback(data)}catch(err){callback({})}})}catch(err){callback({})}}else{callback({})}}listVolumes(callback){try{let socket=net2.createConnection({path:socketPath});let alldata="";let data;socket.on("connect",()=>{socket.write("GET http:/volumes HTTP/1.0\r\n\r\n")});socket.on("data",data2=>{alldata=alldata+data2.toString()});socket.on("error",()=>{socket=false;callback({})});socket.on("end",()=>{let startbody=alldata.indexOf("\r\n\r\n");alldata=alldata.substring(startbody+4);socket=false;try{data=JSON.parse(alldata);callback(data)}catch(err){callback({})}})}catch(err){callback({})}}};module2.exports=DockerSocket}});var require_docker=__commonJS({"node_modules/systeminformation/lib/docker.js"(exports2){"use strict";var util4=require_util2();var DockerSocket=require_dockerSocket();var _platform=process.platform;var _windows=_platform==="win32";var _docker_container_stats={};var _docker_socket;var _docker_last_read=0;function dockerInfo(callback){return new Promise(resolve=>{process.nextTick(()=>{if(!_docker_socket){_docker_socket=new DockerSocket}const result2={};_docker_socket.getInfo(data=>{result2.id=data.ID;result2.containers=data.Containers;result2.containersRunning=data.ContainersRunning;result2.containersPaused=data.ContainersPaused;result2.containersStopped=data.ContainersStopped;result2.images=data.Images;result2.driver=data.Driver;result2.memoryLimit=data.MemoryLimit;result2.swapLimit=data.SwapLimit;result2.kernelMemory=data.KernelMemory;result2.cpuCfsPeriod=data.CpuCfsPeriod;result2.cpuCfsQuota=data.CpuCfsQuota;result2.cpuShares=data.CPUShares;result2.cpuSet=data.CPUSet;result2.ipv4Forwarding=data.IPv4Forwarding;result2.bridgeNfIptables=data.BridgeNfIptables;result2.bridgeNfIp6tables=data.BridgeNfIp6tables;result2.debug=data.Debug;result2.nfd=data.NFd;result2.oomKillDisable=data.OomKillDisable;result2.ngoroutines=data.NGoroutines;result2.systemTime=data.SystemTime;result2.loggingDriver=data.LoggingDriver;result2.cgroupDriver=data.CgroupDriver;result2.nEventsListener=data.NEventsListener;result2.kernelVersion=data.KernelVersion;result2.operatingSystem=data.OperatingSystem;result2.osType=data.OSType;result2.architecture=data.Architecture;result2.ncpu=data.NCPU;result2.memTotal=data.MemTotal;result2.dockerRootDir=data.DockerRootDir;result2.httpProxy=data.HttpProxy;result2.httpsProxy=data.HttpsProxy;result2.noProxy=data.NoProxy;result2.name=data.Name;result2.labels=data.Labels;result2.experimentalBuild=data.ExperimentalBuild;result2.serverVersion=data.ServerVersion;result2.clusterStore=data.ClusterStore;result2.clusterAdvertise=data.ClusterAdvertise;result2.defaultRuntime=data.DefaultRuntime;result2.liveRestoreEnabled=data.LiveRestoreEnabled;result2.isolation=data.Isolation;result2.initBinary=data.InitBinary;result2.productLicense=data.ProductLicense;if(callback){callback(result2)}resolve(result2)})})})}exports2.dockerInfo=dockerInfo;function dockerImages(all2,callback){if(util4.isFunction(all2)&&!callback){callback=all2;all2=false}if(typeof all2==="string"&&all2==="true"){all2=true}if(typeof all2!=="boolean"&&all2!==void 0){all2=false}all2=all2||false;let result2=[];return new Promise(resolve=>{process.nextTick(()=>{if(!_docker_socket){_docker_socket=new DockerSocket}const workload=[];_docker_socket.listImages(all2,data=>{let dockerImages2={};try{dockerImages2=data;if(dockerImages2&&Object.prototype.toString.call(dockerImages2)==="[object Array]"&&dockerImages2.length>0){dockerImages2.forEach(function(element){if(element.Names&&Object.prototype.toString.call(element.Names)==="[object Array]"&&element.Names.length>0){element.Name=element.Names[0].replace(/^\/|\/$/g,"")}workload.push(dockerImagesInspect(element.Id.trim(),element))});if(workload.length){Promise.all(workload).then(data2=>{if(callback){callback(data2)}resolve(data2)})}else{if(callback){callback(result2)}resolve(result2)}}else{if(callback){callback(result2)}resolve(result2)}}catch(err){if(callback){callback(result2)}resolve(result2)}})})})}function dockerImagesInspect(imageID,payload){return new Promise(resolve=>{process.nextTick(()=>{imageID=imageID||"";if(typeof imageID!=="string"){return resolve()}const imageIDSanitized=(util4.isPrototypePolluted()?"":util4.sanitizeShellString(imageID,true)).trim();if(imageIDSanitized){if(!_docker_socket){_docker_socket=new DockerSocket}_docker_socket.inspectImage(imageIDSanitized.trim(),data=>{try{resolve({id:payload.Id,container:data.Container,comment:data.Comment,os:data.Os,architecture:data.Architecture,parent:data.Parent,dockerVersion:data.DockerVersion,size:data.Size,sharedSize:payload.SharedSize,virtualSize:data.VirtualSize,author:data.Author,created:data.Created?Math.round(new Date(data.Created).getTime()/1e3):0,containerConfig:data.ContainerConfig?data.ContainerConfig:{},graphDriver:data.GraphDriver?data.GraphDriver:{},repoDigests:data.RepoDigests?data.RepoDigests:{},repoTags:data.RepoTags?data.RepoTags:{},config:data.Config?data.Config:{},rootFS:data.RootFS?data.RootFS:{}})}catch(err){resolve()}})}else{resolve()}})})}exports2.dockerImages=dockerImages;function dockerContainers(all2,callback){function inContainers(containers,id){let filtered=containers.filter(obj=>{return obj.Id&&obj.Id===id});return filtered.length>0}if(util4.isFunction(all2)&&!callback){callback=all2;all2=false}if(typeof all2==="string"&&all2==="true"){all2=true}if(typeof all2!=="boolean"&&all2!==void 0){all2=false}all2=all2||false;let result2=[];return new Promise(resolve=>{process.nextTick(()=>{if(!_docker_socket){_docker_socket=new DockerSocket}const workload=[];_docker_socket.listContainers(all2,data=>{let docker_containers={};try{docker_containers=data;if(docker_containers&&Object.prototype.toString.call(docker_containers)==="[object Array]"&&docker_containers.length>0){for(let key in _docker_container_stats){if({}.hasOwnProperty.call(_docker_container_stats,key)){if(!inContainers(docker_containers,key)){delete _docker_container_stats[key]}}}docker_containers.forEach(function(element){if(element.Names&&Object.prototype.toString.call(element.Names)==="[object Array]"&&element.Names.length>0){element.Name=element.Names[0].replace(/^\/|\/$/g,"")}workload.push(dockerContainerInspect(element.Id.trim(),element))});if(workload.length){Promise.all(workload).then(data2=>{if(callback){callback(data2)}resolve(data2)})}else{if(callback){callback(result2)}resolve(result2)}}else{if(callback){callback(result2)}resolve(result2)}}catch(err){for(let key in _docker_container_stats){if({}.hasOwnProperty.call(_docker_container_stats,key)){if(!inContainers(docker_containers,key)){delete _docker_container_stats[key]}}}if(callback){callback(result2)}resolve(result2)}})})})}function dockerContainerInspect(containerID,payload){return new Promise(resolve=>{process.nextTick(()=>{containerID=containerID||"";if(typeof containerID!=="string"){return resolve()}const containerIdSanitized=(util4.isPrototypePolluted()?"":util4.sanitizeShellString(containerID,true)).trim();if(containerIdSanitized){if(!_docker_socket){_docker_socket=new DockerSocket}_docker_socket.getInspect(containerIdSanitized.trim(),data=>{try{resolve({id:payload.Id,name:payload.Name,image:payload.Image,imageID:payload.ImageID,command:payload.Command,created:payload.Created,started:data.State&&data.State.StartedAt?Math.round(new Date(data.State.StartedAt).getTime()/1e3):0,finished:data.State&&data.State.FinishedAt&&!data.State.FinishedAt.startsWith("0001-01-01")?Math.round(new Date(data.State.FinishedAt).getTime()/1e3):0,createdAt:data.Created?data.Created:"",startedAt:data.State&&data.State.StartedAt?data.State.StartedAt:"",finishedAt:data.State&&data.State.FinishedAt&&!data.State.FinishedAt.startsWith("0001-01-01")?data.State.FinishedAt:"",state:payload.State,restartCount:data.RestartCount||0,platform:data.Platform||"",driver:data.Driver||"",ports:payload.Ports,mounts:payload.Mounts})}catch(err){resolve()}})}else{resolve()}})})}exports2.dockerContainers=dockerContainers;function docker_calcCPUPercent(cpu_stats,precpu_stats){if(!_windows){let cpuPercent=0;let cpuDelta=cpu_stats.cpu_usage.total_usage-precpu_stats.cpu_usage.total_usage;let systemDelta=cpu_stats.system_cpu_usage-precpu_stats.system_cpu_usage;if(systemDelta>0&&cpuDelta>0){if(precpu_stats.online_cpus){cpuPercent=cpuDelta/systemDelta*precpu_stats.online_cpus*100}else{cpuPercent=cpuDelta/systemDelta*cpu_stats.cpu_usage.percpu_usage.length*100}}return cpuPercent}else{let nanoSecNow=util4.nanoSeconds();let cpuPercent=0;if(_docker_last_read>0){let possIntervals=nanoSecNow-_docker_last_read;let intervalsUsed=cpu_stats.cpu_usage.total_usage-precpu_stats.cpu_usage.total_usage;if(possIntervals>0){cpuPercent=100*intervalsUsed/possIntervals}}_docker_last_read=nanoSecNow;return cpuPercent}}function docker_calcNetworkIO(networks){let rx;let wx;for(let key in networks){if(!{}.hasOwnProperty.call(networks,key)){continue}let obj=networks[key];rx=+obj.rx_bytes;wx=+obj.tx_bytes}return{rx,wx}}function docker_calcBlockIO(blkio_stats){let result2={r:0,w:0};if(blkio_stats&&blkio_stats.io_service_bytes_recursive&&Object.prototype.toString.call(blkio_stats.io_service_bytes_recursive)==="[object Array]"&&blkio_stats.io_service_bytes_recursive.length>0){blkio_stats.io_service_bytes_recursive.forEach(function(element){if(element.op&&element.op.toLowerCase()==="read"&&element.value){result2.r+=element.value}if(element.op&&element.op.toLowerCase()==="write"&&element.value){result2.w+=element.value}})}return result2}function dockerContainerStats(containerIDs,callback){let containerArray=[];return new Promise(resolve=>{process.nextTick(()=>{if(util4.isFunction(containerIDs)&&!callback){callback=containerIDs;containerArray=["*"]}else{containerIDs=containerIDs||"*";if(typeof containerIDs!=="string"){if(callback){callback([])}return resolve([])}let containerIDsSanitized="";try{containerIDsSanitized.__proto__.toLowerCase=util4.stringToLower;containerIDsSanitized.__proto__.replace=util4.stringReplace;containerIDsSanitized.__proto__.toString=util4.stringToString;containerIDsSanitized.__proto__.substr=util4.stringSubstr;containerIDsSanitized.__proto__.substring=util4.stringSubstring;containerIDsSanitized.__proto__.trim=util4.stringTrim;containerIDsSanitized.__proto__.startsWith=util4.stringStartWith}catch(e){Object.setPrototypeOf(containerIDsSanitized,util4.stringObj)}containerIDsSanitized=containerIDs;containerIDsSanitized=containerIDsSanitized.trim();if(containerIDsSanitized!=="*"){containerIDsSanitized="";const s=(util4.isPrototypePolluted()?"":util4.sanitizeShellString(containerIDs,true)).trim();const l=util4.mathMin(s.length,2e3);for(let i=0;i<=l;i++){if(s[i]!==void 0){s[i].__proto__.toLowerCase=util4.stringToLower;const sl=s[i].toLowerCase();if(sl&&sl[0]&&!sl[1]){containerIDsSanitized=containerIDsSanitized+sl[0]}}}}containerIDsSanitized=containerIDsSanitized.trim().toLowerCase().replace(/,+/g,"|");containerArray=containerIDsSanitized.split("|")}const result2=[];const workload=[];if(containerArray.length&&containerArray[0].trim()==="*"){containerArray=[];dockerContainers().then(allContainers=>{for(let container of allContainers){containerArray.push(container.id.substring(0,12))}if(containerArray.length){dockerContainerStats(containerArray.join(",")).then(result3=>{if(callback){callback(result3)}resolve(result3)})}else{if(callback){callback(result2)}resolve(result2)}})}else{for(let containerID of containerArray){workload.push(dockerContainerStatsSingle(containerID.trim()))}if(workload.length){Promise.all(workload).then(data=>{if(callback){callback(data)}resolve(data)})}else{if(callback){callback(result2)}resolve(result2)}}})})}function dockerContainerStatsSingle(containerID){containerID=containerID||"";let result2={id:containerID,memUsage:0,memLimit:0,memPercent:0,cpuPercent:0,pids:0,netIO:{rx:0,wx:0},blockIO:{r:0,w:0},restartCount:0,cpuStats:{},precpuStats:{},memoryStats:{},networks:{}};return new Promise(resolve=>{process.nextTick(()=>{if(containerID){if(!_docker_socket){_docker_socket=new DockerSocket}_docker_socket.getInspect(containerID,dataInspect=>{try{_docker_socket.getStats(containerID,data=>{try{let stats=data;if(!stats.message){if(data.id){result2.id=data.id}result2.memUsage=stats.memory_stats&&stats.memory_stats.usage?stats.memory_stats.usage:0;result2.memLimit=stats.memory_stats&&stats.memory_stats.limit?stats.memory_stats.limit:0;result2.memPercent=stats.memory_stats&&stats.memory_stats.usage&&stats.memory_stats.limit?stats.memory_stats.usage/stats.memory_stats.limit*100:0;result2.cpuPercent=stats.cpu_stats&&stats.precpu_stats?docker_calcCPUPercent(stats.cpu_stats,stats.precpu_stats):0;result2.pids=stats.pids_stats&&stats.pids_stats.current?stats.pids_stats.current:0;result2.restartCount=dataInspect.RestartCount?dataInspect.RestartCount:0;if(stats.networks){result2.netIO=docker_calcNetworkIO(stats.networks)}if(stats.blkio_stats){result2.blockIO=docker_calcBlockIO(stats.blkio_stats)}result2.cpuStats=stats.cpu_stats?stats.cpu_stats:{};result2.precpuStats=stats.precpu_stats?stats.precpu_stats:{};result2.memoryStats=stats.memory_stats?stats.memory_stats:{};result2.networks=stats.networks?stats.networks:{}}}catch(err){util4.noop()}resolve(result2)})}catch(err){util4.noop()}})}else{resolve(result2)}})})}exports2.dockerContainerStats=dockerContainerStats;function dockerContainerProcesses(containerID,callback){let result2=[];return new Promise(resolve=>{process.nextTick(()=>{containerID=containerID||"";if(typeof containerID!=="string"){return resolve(result2)}const containerIdSanitized=(util4.isPrototypePolluted()?"":util4.sanitizeShellString(containerID,true)).trim();if(containerIdSanitized){if(!_docker_socket){_docker_socket=new DockerSocket}_docker_socket.getProcesses(containerIdSanitized,data=>{try{if(data&&data.Titles&&data.Processes){let titles=data.Titles.map(function(value){return value.toUpperCase()});let pos_pid=titles.indexOf("PID");let pos_ppid=titles.indexOf("PPID");let pos_pgid=titles.indexOf("PGID");let pos_vsz=titles.indexOf("VSZ");let pos_time=titles.indexOf("TIME");let pos_elapsed=titles.indexOf("ELAPSED");let pos_ni=titles.indexOf("NI");let pos_ruser=titles.indexOf("RUSER");let pos_user=titles.indexOf("USER");let pos_rgroup=titles.indexOf("RGROUP");let pos_group=titles.indexOf("GROUP");let pos_stat=titles.indexOf("STAT");let pos_rss=titles.indexOf("RSS");let pos_command=titles.indexOf("COMMAND");data.Processes.forEach(process6=>{result2.push({pidHost:pos_pid>=0?process6[pos_pid]:"",ppid:pos_ppid>=0?process6[pos_ppid]:"",pgid:pos_pgid>=0?process6[pos_pgid]:"",user:pos_user>=0?process6[pos_user]:"",ruser:pos_ruser>=0?process6[pos_ruser]:"",group:pos_group>=0?process6[pos_group]:"",rgroup:pos_rgroup>=0?process6[pos_rgroup]:"",stat:pos_stat>=0?process6[pos_stat]:"",time:pos_time>=0?process6[pos_time]:"",elapsed:pos_elapsed>=0?process6[pos_elapsed]:"",nice:pos_ni>=0?process6[pos_ni]:"",rss:pos_rss>=0?process6[pos_rss]:"",vsz:pos_vsz>=0?process6[pos_vsz]:"",command:pos_command>=0?process6[pos_command]:""})})}}catch(err){util4.noop()}if(callback){callback(result2)}resolve(result2)})}else{if(callback){callback(result2)}resolve(result2)}})})}exports2.dockerContainerProcesses=dockerContainerProcesses;function dockerVolumes(callback){let result2=[];return new Promise(resolve=>{process.nextTick(()=>{if(!_docker_socket){_docker_socket=new DockerSocket}_docker_socket.listVolumes(data=>{let dockerVolumes2={};try{dockerVolumes2=data;if(dockerVolumes2&&dockerVolumes2.Volumes&&Object.prototype.toString.call(dockerVolumes2.Volumes)==="[object Array]"&&dockerVolumes2.Volumes.length>0){dockerVolumes2.Volumes.forEach(function(element){result2.push({name:element.Name,driver:element.Driver,labels:element.Labels,mountpoint:element.Mountpoint,options:element.Options,scope:element.Scope,created:element.CreatedAt?Math.round(new Date(element.CreatedAt).getTime()/1e3):0})});if(callback){callback(result2)}resolve(result2)}else{if(callback){callback(result2)}resolve(result2)}}catch(err){if(callback){callback(result2)}resolve(result2)}})})})}exports2.dockerVolumes=dockerVolumes;function dockerAll(callback){return new Promise(resolve=>{process.nextTick(()=>{dockerContainers(true).then(result2=>{if(result2&&Object.prototype.toString.call(result2)==="[object Array]"&&result2.length>0){let l=result2.length;result2.forEach(function(element){dockerContainerStats(element.id).then(res=>{element.memUsage=res[0].memUsage;element.memLimit=res[0].memLimit;element.memPercent=res[0].memPercent;element.cpuPercent=res[0].cpuPercent;element.pids=res[0].pids;element.netIO=res[0].netIO;element.blockIO=res[0].blockIO;element.cpuStats=res[0].cpuStats;element.precpuStats=res[0].precpuStats;element.memoryStats=res[0].memoryStats;element.networks=res[0].networks;dockerContainerProcesses(element.id).then(processes=>{element.processes=processes;l-=1;if(l===0){if(callback){callback(result2)}resolve(result2)}})})})}else{if(callback){callback(result2)}resolve(result2)}})})})}exports2.dockerAll=dockerAll}});var require_virtualbox=__commonJS({"node_modules/systeminformation/lib/virtualbox.js"(exports2){"use strict";var os7=require("os");var exec3=require("child_process").exec;var util4=require_util2();function vboxInfo(callback){let result2=[];return new Promise(resolve=>{process.nextTick(()=>{try{exec3(util4.getVboxmanage()+" list vms --long",function(error,stdout){let parts=(os7.EOL+stdout.toString()).split(os7.EOL+"Name:");parts.shift();parts.forEach(part=>{const lines=("Name:"+part).split(os7.EOL);const state=util4.getValue(lines,"State");const running=state.startsWith("running");const runningSinceString=running?state.replace("running (since ","").replace(")","").trim():"";let runningSince=0;try{if(running){const sinceDateObj=new Date(runningSinceString);const offset=sinceDateObj.getTimezoneOffset();runningSince=Math.round((Date.now()-Date.parse(sinceDateObj))/1e3)+offset*60}}catch(e){util4.noop()}const stoppedSinceString=!running?state.replace("powered off (since","").replace(")","").trim():"";let stoppedSince=0;try{if(!running){const sinceDateObj=new Date(stoppedSinceString);const offset=sinceDateObj.getTimezoneOffset();stoppedSince=Math.round((Date.now()-Date.parse(sinceDateObj))/1e3)+offset*60}}catch(e){util4.noop()}result2.push({id:util4.getValue(lines,"UUID"),name:util4.getValue(lines,"Name"),running,started:runningSinceString,runningSince,stopped:stoppedSinceString,stoppedSince,guestOS:util4.getValue(lines,"Guest OS"),hardwareUUID:util4.getValue(lines,"Hardware UUID"),memory:parseInt(util4.getValue(lines,"Memory size","     "),10),vram:parseInt(util4.getValue(lines,"VRAM size"),10),cpus:parseInt(util4.getValue(lines,"Number of CPUs"),10),cpuExepCap:util4.getValue(lines,"CPU exec cap"),cpuProfile:util4.getValue(lines,"CPUProfile"),chipset:util4.getValue(lines,"Chipset"),firmware:util4.getValue(lines,"Firmware"),pageFusion:util4.getValue(lines,"Page Fusion")==="enabled",configFile:util4.getValue(lines,"Config file"),snapshotFolder:util4.getValue(lines,"Snapshot folder"),logFolder:util4.getValue(lines,"Log folder"),hpet:util4.getValue(lines,"HPET")==="enabled",pae:util4.getValue(lines,"PAE")==="enabled",longMode:util4.getValue(lines,"Long Mode")==="enabled",tripleFaultReset:util4.getValue(lines,"Triple Fault Reset")==="enabled",apic:util4.getValue(lines,"APIC")==="enabled",x2Apic:util4.getValue(lines,"X2APIC")==="enabled",acpi:util4.getValue(lines,"ACPI")==="enabled",ioApic:util4.getValue(lines,"IOAPIC")==="enabled",biosApicMode:util4.getValue(lines,"BIOS APIC mode"),bootMenuMode:util4.getValue(lines,"Boot menu mode"),bootDevice1:util4.getValue(lines,"Boot Device 1"),bootDevice2:util4.getValue(lines,"Boot Device 2"),bootDevice3:util4.getValue(lines,"Boot Device 3"),bootDevice4:util4.getValue(lines,"Boot Device 4"),timeOffset:util4.getValue(lines,"Time offset"),rtc:util4.getValue(lines,"RTC")})});if(callback){callback(result2)}resolve(result2)})}catch(e){if(callback){callback(result2)}resolve(result2)}})})}exports2.vboxInfo=vboxInfo}});var require_printer=__commonJS({"node_modules/systeminformation/lib/printer.js"(exports2){"use strict";var exec3=require("child_process").exec;var util4=require_util2();var _platform=process.platform;var _linux=_platform==="linux"||_platform==="android";var _darwin=_platform==="darwin";var _windows=_platform==="win32";var _freebsd=_platform==="freebsd";var _openbsd=_platform==="openbsd";var _netbsd=_platform==="netbsd";var _sunos=_platform==="sunos";var winPrinterStatus={1:"Other",2:"Unknown",3:"Idle",4:"Printing",5:"Warmup",6:"Stopped Printing",7:"Offline"};function parseLinuxCupsHeader(lines){const result2={};if(lines&&lines.length){if(lines[0].indexOf(" CUPS v")>0){const parts=lines[0].split(" CUPS v");result2.cupsVersion=parts[1]}}return result2}function parseLinuxCupsPrinter(lines){const result2={};const printerId=util4.getValue(lines,"PrinterId"," ");result2.id=printerId?parseInt(printerId,10):null;result2.name=util4.getValue(lines,"Info"," ");result2.model=lines.length>0&&lines[0]?lines[0].split(" ")[0]:"";result2.uri=util4.getValue(lines,"DeviceURI"," ");result2.uuid=util4.getValue(lines,"UUID"," ");result2.status=util4.getValue(lines,"State"," ");result2.local=util4.getValue(lines,"Location"," ").toLowerCase().startsWith("local");result2.default=null;result2.shared=util4.getValue(lines,"Shared"," ").toLowerCase().startsWith("yes");return result2}function parseLinuxLpstatPrinter(lines,id){const result2={};result2.id=id;result2.name=util4.getValue(lines,"Description",":",true);result2.model=lines.length>0&&lines[0]?lines[0].split(" ")[0]:"";result2.uri=null;result2.uuid=null;result2.status=lines.length>0&&lines[0]?lines[0].indexOf(" idle")>0?"idle":lines[0].indexOf(" printing")>0?"printing":"unknown":null;result2.local=util4.getValue(lines,"Location",":",true).toLowerCase().startsWith("local");result2.default=null;result2.shared=util4.getValue(lines,"Shared"," ").toLowerCase().startsWith("yes");return result2}function parseDarwinPrinters(printerObject,id){const result2={};const uriParts=printerObject.uri.split("/");result2.id=id;result2.name=printerObject._name;result2.model=uriParts.length?uriParts[uriParts.length-1]:"";result2.uri=printerObject.uri;result2.uuid=null;result2.status=printerObject.status;result2.local=printerObject.printserver==="local";result2.default=printerObject.default==="yes";result2.shared=printerObject.shared==="yes";return result2}function parseWindowsPrinters(lines,id){const result2={};const status=parseInt(util4.getValue(lines,"PrinterStatus",":"),10);result2.id=id;result2.name=util4.getValue(lines,"name",":");result2.model=util4.getValue(lines,"DriverName",":");result2.uri=null;result2.uuid=null;result2.status=winPrinterStatus[status]?winPrinterStatus[status]:null;result2.local=util4.getValue(lines,"Local",":").toUpperCase()==="TRUE";result2.default=util4.getValue(lines,"Default",":").toUpperCase()==="TRUE";result2.shared=util4.getValue(lines,"Shared",":").toUpperCase()==="TRUE";return result2}function printer(callback){return new Promise(resolve=>{process.nextTick(()=>{let result2=[];if(_linux||_freebsd||_openbsd||_netbsd){let cmd="cat /etc/cups/printers.conf 2>/dev/null";exec3(cmd,function(error,stdout){if(!error){const parts=stdout.toString().split("<Printer ");const printerHeader=parseLinuxCupsHeader(parts[0]);for(let i=1;i<parts.length;i++){const printers=parseLinuxCupsPrinter(parts[i].split("\n"));if(printers.name){printers.engine="CUPS";printers.engineVersion=printerHeader.cupsVersion;result2.push(printers)}}}if(result2.length===0){if(_linux){cmd="export LC_ALL=C; lpstat -lp 2>/dev/null; unset LC_ALL";exec3(cmd,function(error2,stdout2){const parts=("\n"+stdout2.toString()).split("\nprinter ");for(let i=1;i<parts.length;i++){const printers=parseLinuxLpstatPrinter(parts[i].split("\n"),i);result2.push(printers)}});if(callback){callback(result2)}resolve(result2)}else{if(callback){callback(result2)}resolve(result2)}}else{if(callback){callback(result2)}resolve(result2)}})}if(_darwin){let cmd="system_profiler SPPrintersDataType -json";exec3(cmd,function(error,stdout){if(!error){try{const outObj=JSON.parse(stdout.toString());if(outObj.SPPrintersDataType&&outObj.SPPrintersDataType.length){for(let i=0;i<outObj.SPPrintersDataType.length;i++){const printer2=parseDarwinPrinters(outObj.SPPrintersDataType[i],i);result2.push(printer2)}}}catch(e){util4.noop()}}if(callback){callback(result2)}resolve(result2)})}if(_windows){util4.powerShell("Get-CimInstance Win32_Printer | select PrinterStatus,Name,DriverName,Local,Default,Shared | fl").then((stdout,error)=>{if(!error){const parts=stdout.toString().split(/\n\s*\n/);for(let i=0;i<parts.length;i++){const printer2=parseWindowsPrinters(parts[i].split("\n"),i);if(printer2.name||printer2.model){result2.push(printer2)}}}if(callback){callback(result2)}resolve(result2)})}if(_sunos){resolve(null)}})})}exports2.printer=printer}});var require_usb=__commonJS({"node_modules/systeminformation/lib/usb.js"(exports2){"use strict";var exec3=require("child_process").exec;var util4=require_util2();var _platform=process.platform;var _linux=_platform==="linux"||_platform==="android";var _darwin=_platform==="darwin";var _windows=_platform==="win32";var _freebsd=_platform==="freebsd";var _openbsd=_platform==="openbsd";var _netbsd=_platform==="netbsd";var _sunos=_platform==="sunos";function getLinuxUsbType(type2,name){let result2=type2;const str2=(name+" "+type2).toLowerCase();if(str2.indexOf("camera")>=0){result2="Camera"}else if(str2.indexOf("hub")>=0){result2="Hub"}else if(str2.indexOf("keybrd")>=0){result2="Keyboard"}else if(str2.indexOf("keyboard")>=0){result2="Keyboard"}else if(str2.indexOf("mouse")>=0){result2="Mouse"}else if(str2.indexOf("stora")>=0){result2="Storage"}else if(str2.indexOf("microp")>=0){result2="Microphone"}else if(str2.indexOf("headset")>=0){result2="Audio"}else if(str2.indexOf("audio")>=0){result2="Audio"}return result2}function parseLinuxUsb(usb2){const result2={};const lines=usb2.split("\n");if(lines&&lines.length&&lines[0].indexOf("Device")>=0){const parts=lines[0].split(" ");result2.bus=parseInt(parts[0],10);if(parts[2]){result2.deviceId=parseInt(parts[2],10)}else{result2.deviceId=null}}else{result2.bus=null;result2.deviceId=null}const idVendor=util4.getValue(lines,"idVendor"," ",true).trim();let vendorParts=idVendor.split(" ");vendorParts.shift();const vendor=vendorParts.join(" ");const idProduct=util4.getValue(lines,"idProduct"," ",true).trim();let productParts=idProduct.split(" ");productParts.shift();const product=productParts.join(" ");const interfaceClass=util4.getValue(lines,"bInterfaceClass"," ",true).trim();let interfaceClassParts=interfaceClass.split(" ");interfaceClassParts.shift();const usbType=interfaceClassParts.join(" ");const iManufacturer=util4.getValue(lines,"iManufacturer"," ",true).trim();let iManufacturerParts=iManufacturer.split(" ");iManufacturerParts.shift();const manufacturer=iManufacturerParts.join(" ");const iSerial=util4.getValue(lines,"iSerial"," ",true).trim();let iSerialParts=iSerial.split(" ");iSerialParts.shift();const serial=iSerialParts.join(" ");result2.id=(idVendor.startsWith("0x")?idVendor.split(" ")[0].substr(2,10):"")+":"+(idProduct.startsWith("0x")?idProduct.split(" ")[0].substr(2,10):"");result2.name=product;result2.type=getLinuxUsbType(usbType,product);result2.removable=null;result2.vendor=vendor;result2.manufacturer=manufacturer;result2.maxPower=util4.getValue(lines,"MaxPower"," ",true);result2.serialNumber=serial;return result2}function getDarwinUsbType(name){let result2="";if(name.indexOf("camera")>=0){result2="Camera"}else if(name.indexOf("touch bar")>=0){result2="Touch Bar"}else if(name.indexOf("controller")>=0){result2="Controller"}else if(name.indexOf("headset")>=0){result2="Audio"}else if(name.indexOf("keyboard")>=0){result2="Keyboard"}else if(name.indexOf("trackpad")>=0){result2="Trackpad"}else if(name.indexOf("sensor")>=0){result2="Sensor"}else if(name.indexOf("bthusb")>=0){result2="Bluetooth"}else if(name.indexOf("bth")>=0){result2="Bluetooth"}else if(name.indexOf("rfcomm")>=0){result2="Bluetooth"}else if(name.indexOf("usbhub")>=0){result2="Hub"}else if(name.indexOf(" hub")>=0){result2="Hub"}else if(name.indexOf("mouse")>=0){result2="Mouse"}else if(name.indexOf("microp")>=0){result2="Microphone"}else if(name.indexOf("removable")>=0){result2="Storage"}return result2}function parseDarwinUsb(usb2,id){const result2={};result2.id=id;usb2=usb2.replace(/ \|/g,"");usb2=usb2.trim();let lines=usb2.split("\n");lines.shift();try{for(let i=0;i<lines.length;i++){lines[i]=lines[i].trim();lines[i]=lines[i].replace(/=/g,":");if(lines[i]!=="{"&&lines[i]!=="}"&&lines[i+1]&&lines[i+1].trim()!=="}"){lines[i]=lines[i]+","}lines[i]=lines[i].replace(":Yes,",':"Yes",');lines[i]=lines[i].replace(": Yes,",': "Yes",');lines[i]=lines[i].replace(": Yes",': "Yes"');lines[i]=lines[i].replace(":No,",':"No",');lines[i]=lines[i].replace(": No,",': "No",');lines[i]=lines[i].replace(": No",': "No"');lines[i]=lines[i].replace("((","").replace("))","");const match=/<(\w+)>/.exec(lines[i]);if(match){const number2=match[0];lines[i]=lines[i].replace(number2,`"${number2}"`)}}const usbObj=JSON.parse(lines.join("\n"));const removableDrive=(usbObj["Built-In"]?usbObj["Built-In"].toLowerCase()!=="yes":true)&&(usbObj["non-removable"]?usbObj["non-removable"].toLowerCase()==="no":true);result2.bus=null;result2.deviceId=null;result2.id=usbObj["USB Address"]||null;result2.name=usbObj["kUSBProductString"]||usbObj["USB Product Name"]||null;result2.type=getDarwinUsbType((usbObj["kUSBProductString"]||usbObj["USB Product Name"]||"").toLowerCase()+(removableDrive?" removable":""));result2.removable=usbObj["non-removable"]?usbObj["non-removable"].toLowerCase()||false:true;result2.vendor=usbObj["kUSBVendorString"]||usbObj["USB Vendor Name"]||null;result2.manufacturer=usbObj["kUSBVendorString"]||usbObj["USB Vendor Name"]||null;result2.maxPower=null;result2.serialNumber=usbObj["kUSBSerialNumberString"]||null;if(result2.name){return result2}else{return null}}catch(e){return null}}function getWindowsUsbTypeCreation(creationclass,name){let result2="";if(name.indexOf("storage")>=0){result2="Storage"}else if(name.indexOf("speicher")>=0){result2="Storage"}else if(creationclass.indexOf("usbhub")>=0){result2="Hub"}else if(creationclass.indexOf("storage")>=0){result2="Storage"}else if(creationclass.indexOf("usbcontroller")>=0){result2="Controller"}else if(creationclass.indexOf("keyboard")>=0){result2="Keyboard"}else if(creationclass.indexOf("pointing")>=0){result2="Mouse"}else if(creationclass.indexOf("microp")>=0){result2="Microphone"}else if(creationclass.indexOf("disk")>=0){result2="Storage"}return result2}function parseWindowsUsb(lines,id){const usbType=getWindowsUsbTypeCreation(util4.getValue(lines,"CreationClassName",":").toLowerCase(),util4.getValue(lines,"name",":").toLowerCase());if(usbType){const result2={};result2.bus=null;result2.deviceId=util4.getValue(lines,"deviceid",":");result2.id=id;result2.name=util4.getValue(lines,"name",":");result2.type=usbType;result2.removable=null;result2.vendor=null;result2.manufacturer=util4.getValue(lines,"Manufacturer",":");result2.maxPower=null;result2.serialNumber=null;return result2}else{return null}}function usb(callback){return new Promise(resolve=>{process.nextTick(()=>{let result2=[];if(_linux){const cmd="export LC_ALL=C; lsusb -v 2>/dev/null; unset LC_ALL";exec3(cmd,{maxBuffer:1024*1024*128},function(error,stdout){if(!error){const parts=("\n\n"+stdout.toString()).split("\n\nBus ");for(let i=1;i<parts.length;i++){const usb2=parseLinuxUsb(parts[i]);result2.push(usb2)}}if(callback){callback(result2)}resolve(result2)})}if(_darwin){let cmd="ioreg -p IOUSB -c AppleUSBRootHubDevice -w0 -l";exec3(cmd,{maxBuffer:1024*1024*128},function(error,stdout){if(!error){const parts=stdout.toString().split(" +-o ");for(let i=1;i<parts.length;i++){const usb2=parseDarwinUsb(parts[i]);if(usb2){result2.push(usb2)}}if(callback){callback(result2)}resolve(result2)}if(callback){callback(result2)}resolve(result2)})}if(_windows){util4.powerShell('Get-CimInstance CIM_LogicalDevice | where { $_.Description -match "USB"} | select Name,CreationClassName,DeviceId,Manufacturer | fl').then((stdout,error)=>{if(!error){const parts=stdout.toString().split(/\n\s*\n/);for(let i=0;i<parts.length;i++){const usb2=parseWindowsUsb(parts[i].split("\n"),i);if(usb2&&result2.filter(x=>x.deviceId===usb2.deviceId).length===0){result2.push(usb2)}}}if(callback){callback(result2)}resolve(result2)})}if(_sunos||_freebsd||_openbsd||_netbsd){resolve(null)}})})}exports2.usb=usb}});var require_audio=__commonJS({"node_modules/systeminformation/lib/audio.js"(exports2){"use strict";var exec3=require("child_process").exec;var execSync=require("child_process").execSync;var util4=require_util2();var _platform=process.platform;var _linux=_platform==="linux"||_platform==="android";var _darwin=_platform==="darwin";var _windows=_platform==="win32";var _freebsd=_platform==="freebsd";var _openbsd=_platform==="openbsd";var _netbsd=_platform==="netbsd";var _sunos=_platform==="sunos";function parseAudioType(str2,input,output){str2=str2.toLowerCase();let result2="";if(str2.indexOf("input")>=0){result2="Microphone"}if(str2.indexOf("display audio")>=0){result2="Speaker"}if(str2.indexOf("speak")>=0){result2="Speaker"}if(str2.indexOf("laut")>=0){result2="Speaker"}if(str2.indexOf("loud")>=0){result2="Speaker"}if(str2.indexOf("head")>=0){result2="Headset"}if(str2.indexOf("mic")>=0){result2="Microphone"}if(str2.indexOf("mikr")>=0){result2="Microphone"}if(str2.indexOf("phone")>=0){result2="Phone"}if(str2.indexOf("controll")>=0){result2="Controller"}if(str2.indexOf("line o")>=0){result2="Line Out"}if(str2.indexOf("digital o")>=0){result2="Digital Out"}if(str2.indexOf("smart sound technology")>=0){result2="Digital Signal Processor"}if(str2.indexOf("high definition audio")>=0){result2="Sound Driver"}if(!result2&&output){result2="Speaker"}else if(!result2&&input){result2="Microphone"}return result2}function getLinuxAudioPci(){let cmd="lspci -v 2>/dev/null";let result2=[];try{const parts=execSync(cmd,util4.execOptsLinux).toString().split("\n\n");parts.forEach(element=>{const lines=element.split("\n");if(lines&&lines.length&&lines[0].toLowerCase().indexOf("audio")>=0){const audio2={};audio2.slotId=lines[0].split(" ")[0];audio2.driver=util4.getValue(lines,"Kernel driver in use",":",true)||util4.getValue(lines,"Kernel modules",":",true);result2.push(audio2)}});return result2}catch(e){return result2}}function parseLinuxAudioPciMM(lines,audioPCI){const result2={};const slotId=util4.getValue(lines,"Slot");const pciMatch=audioPCI.filter(function(item){return item.slotId===slotId});result2.id=slotId;result2.name=util4.getValue(lines,"SDevice");result2.manufacturer=util4.getValue(lines,"SVendor");result2.revision=util4.getValue(lines,"Rev");result2.driver=pciMatch&&pciMatch.length===1&&pciMatch[0].driver?pciMatch[0].driver:"";result2.default=null;result2.channel="PCIe";result2.type=parseAudioType(result2.name,null,null);result2.in=null;result2.out=null;result2.status="online";return result2}function parseDarwinChannel(str2){let result2="";if(str2.indexOf("builtin")>=0){result2="Built-In"}if(str2.indexOf("extern")>=0){result2="Audio-Jack"}if(str2.indexOf("hdmi")>=0){result2="HDMI"}if(str2.indexOf("displayport")>=0){result2="Display-Port"}if(str2.indexOf("usb")>=0){result2="USB"}if(str2.indexOf("pci")>=0){result2="PCIe"}return result2}function parseDarwinAudio(audioObject,id){const result2={};const channelStr=((audioObject.coreaudio_device_transport||"")+" "+(audioObject._name||"")).toLowerCase();result2.id=id;result2.name=audioObject._name;result2.manufacturer=audioObject.coreaudio_device_manufacturer;result2.revision=null;result2.driver=null;result2.default=!!(audioObject.coreaudio_default_audio_input_device||"")||!!(audioObject.coreaudio_default_audio_output_device||"");result2.channel=parseDarwinChannel(channelStr);result2.type=parseAudioType(result2.name,!!(audioObject.coreaudio_device_input||""),!!(audioObject.coreaudio_device_output||""));result2.in=!!(audioObject.coreaudio_device_input||"");result2.out=!!(audioObject.coreaudio_device_output||"");result2.status="online";return result2}function parseWindowsAudio(lines){const result2={};const status=util4.getValue(lines,"StatusInfo",":");result2.id=util4.getValue(lines,"DeviceID",":");result2.name=util4.getValue(lines,"name",":");result2.manufacturer=util4.getValue(lines,"manufacturer",":");result2.revision=null;result2.driver=null;result2.default=null;result2.channel=null;result2.type=parseAudioType(result2.name,null,null);result2.in=null;result2.out=null;result2.status=status;return result2}function audio(callback){return new Promise(resolve=>{process.nextTick(()=>{let result2=[];if(_linux||_freebsd||_openbsd||_netbsd){let cmd="lspci -vmm 2>/dev/null";exec3(cmd,function(error,stdout){if(!error){const audioPCI=getLinuxAudioPci();const parts=stdout.toString().split("\n\n");parts.forEach(element=>{const lines=element.split("\n");if(util4.getValue(lines,"class",":",true).toLowerCase().indexOf("audio")>=0){const audio2=parseLinuxAudioPciMM(lines,audioPCI);result2.push(audio2)}})}if(callback){callback(result2)}resolve(result2)})}if(_darwin){let cmd="system_profiler SPAudioDataType -json";exec3(cmd,function(error,stdout){if(!error){try{const outObj=JSON.parse(stdout.toString());if(outObj.SPAudioDataType&&outObj.SPAudioDataType.length&&outObj.SPAudioDataType[0]&&outObj.SPAudioDataType[0]["_items"]&&outObj.SPAudioDataType[0]["_items"].length){for(let i=0;i<outObj.SPAudioDataType[0]["_items"].length;i++){const audio2=parseDarwinAudio(outObj.SPAudioDataType[0]["_items"][i],i);result2.push(audio2)}}}catch(e){util4.noop()}}if(callback){callback(result2)}resolve(result2)})}if(_windows){util4.powerShell("Get-CimInstance Win32_SoundDevice | select DeviceID,StatusInfo,Name,Manufacturer | fl").then((stdout,error)=>{if(!error){const parts=stdout.toString().split(/\n\s*\n/);parts.forEach(element=>{const lines=element.split("\n");if(util4.getValue(lines,"name",":")){result2.push(parseWindowsAudio(lines))}})}if(callback){callback(result2)}resolve(result2)})}if(_sunos){resolve(null)}})})}exports2.audio=audio}});var require_bluetoothVendors=__commonJS({"node_modules/systeminformation/lib/bluetoothVendors.js"(exports2,module2){"use strict";module2.exports={0:"Ericsson Technology Licensing",1:"Nokia Mobile Phones",2:"Intel Corp.",3:"IBM Corp.",4:"Toshiba Corp.",5:"3Com",6:"Microsoft",7:"Lucent",8:"Motorola",9:"Infineon Technologies AG",10:"Cambridge Silicon Radio",11:"Silicon Wave",12:"Digianswer A/S",13:"Texas Instruments Inc.",14:"Ceva, Inc. (formerly Parthus Technologies, Inc.)",15:"Broadcom Corporation",16:"Mitel Semiconductor",17:"Widcomm, Inc",18:"Zeevo, Inc.",19:"Atmel Corporation",20:"Mitsubishi Electric Corporation",21:"RTX Telecom A/S",22:"KC Technology Inc.",23:"NewLogic",24:"Transilica, Inc.",25:"Rohde & Schwarz GmbH & Co. KG",26:"TTPCom Limited",27:"Signia Technologies, Inc.",28:"Conexant Systems Inc.",29:"Qualcomm",30:"Inventel",31:"AVM Berlin",32:"BandSpeed, Inc.",33:"Mansella Ltd",34:"NEC Corporation",35:"WavePlus Technology Co., Ltd.",36:"Alcatel",37:"NXP Semiconductors (formerly Philips Semiconductors)",38:"C Technologies",39:"Open Interface",40:"R F Micro Devices",41:"Hitachi Ltd",42:"Symbol Technologies, Inc.",43:"Tenovis",44:"Macronix International Co. Ltd.",45:"GCT Semiconductor",46:"Norwood Systems",47:"MewTel Technology Inc.",48:"ST Microelectronics",49:"Synopsis",50:"Red-M (Communications) Ltd",51:"Commil Ltd",52:"Computer Access Technology Corporation (CATC)",53:"Eclipse (HQ Espana) S.L.",54:"Renesas Electronics Corporation",55:"Mobilian Corporation",56:"Terax",57:"Integrated System Solution Corp.",58:"Matsushita Electric Industrial Co., Ltd.",59:"Gennum Corporation",60:"BlackBerry Limited (formerly Research In Motion)",61:"IPextreme, Inc.",62:"Systems and Chips, Inc.",63:"Bluetooth SIG, Inc.",64:"Seiko Epson Corporation",65:"Integrated Silicon Solution Taiwan, Inc.",66:"CONWISE Technology Corporation Ltd",67:"PARROT SA",68:"Socket Mobile",69:"Atheros Communications, Inc.",70:"MediaTek, Inc.",71:"Bluegiga",72:"Marvell Technology Group Ltd.",73:"3DSP Corporation",74:"Accel Semiconductor Ltd.",75:"Continental Automotive Systems",76:"Apple, Inc.",77:"Staccato Communications, Inc.",78:"Avago Technologies",79:"APT Licensing Ltd.",80:"SiRF Technology",81:"Tzero Technologies, Inc.",82:"J&M Corporation",83:"Free2move AB",84:"3DiJoy Corporation",85:"Plantronics, Inc.",86:"Sony Ericsson Mobile Communications",87:"Harman International Industries, Inc.",88:"Vizio, Inc.",89:"Nordic Semiconductor ASA",90:"EM Microelectronic-Marin SA",91:"Ralink Technology Corporation",92:"Belkin International, Inc.",93:"Realtek Semiconductor Corporation",94:"Stonestreet One, LLC",95:"Wicentric, Inc.",96:"RivieraWaves S.A.S",97:"RDA Microelectronics",98:"Gibson Guitars",99:"MiCommand Inc.",100:"Band XI International, LLC",101:"Hewlett-Packard Company",102:"9Solutions Oy",103:"GN Netcom A/S",104:"General Motors",105:"A&D Engineering, Inc.",106:"MindTree Ltd.",107:"Polar Electro OY",108:"Beautiful Enterprise Co., Ltd.",109:"BriarTek, Inc.",110:"Summit Data Communications, Inc.",111:"Sound ID",112:"Monster, LLC",113:"connectBlue AB",114:"ShangHai Super Smart Electronics Co. Ltd.",115:"Group Sense Ltd.",116:"Zomm, LLC",117:"Samsung Electronics Co. Ltd.",118:"Creative Technology Ltd.",119:"Laird Technologies",120:"Nike, Inc.",121:"lesswire AG",122:"MStar Semiconductor, Inc.",123:"Hanlynn Technologies",124:"A & R Cambridge",125:"Seers Technology Co. Ltd",126:"Sports Tracking Technologies Ltd.",127:"Autonet Mobile",128:"DeLorme Publishing Company, Inc.",129:"WuXi Vimicro",130:"Sennheiser Communications A/S",131:"TimeKeeping Systems, Inc.",132:"Ludus Helsinki Ltd.",133:"BlueRadios, Inc.",134:"equinox AG",135:"Garmin International, Inc.",136:"Ecotest",137:"GN ReSound A/S",138:"Jawbone",139:"Topcorn Positioning Systems, LLC",140:"Gimbal Inc. (formerly Qualcomm Labs, Inc. and Qualcomm Retail Solutions, Inc.)",141:"Zscan Software",142:"Quintic Corp.",143:"Stollman E+V GmbH",144:"Funai Electric Co., Ltd.",145:"Advanced PANMOBIL Systems GmbH & Co. KG",146:"ThinkOptics, Inc.",147:"Universal Electronics, Inc.",148:"Airoha Technology Corp.",149:"NEC Lighting, Ltd.",150:"ODM Technology, Inc.",151:"ConnecteDevice Ltd.",152:"zer01.tv GmbH",153:"i.Tech Dynamic Global Distribution Ltd.",154:"Alpwise",155:"Jiangsu Toppower Automotive Electronics Co., Ltd.",156:"Colorfy, Inc.",157:"Geoforce Inc.",158:"Bose Corporation",159:"Suunto Oy",160:"Kensington Computer Products Group",161:"SR-Medizinelektronik",162:"Vertu Corporation Limited",163:"Meta Watch Ltd.",164:"LINAK A/S",165:"OTL Dynamics LLC",166:"Panda Ocean Inc.",167:"Visteon Corporation",168:"ARP Devices Limited",169:"Magneti Marelli S.p.A",170:"CAEN RFID srl",171:"Ingenieur-Systemgruppe Zahn GmbH",172:"Green Throttle Games",173:"Peter Systemtechnik GmbH",174:"Omegawave Oy",175:"Cinetix",176:"Passif Semiconductor Corp",177:"Saris Cycling Group, Inc",178:"Bekey A/S",179:"Clarinox Technologies Pty. Ltd.",180:"BDE Technology Co., Ltd.",181:"Swirl Networks",182:"Meso international",183:"TreLab Ltd",184:"Qualcomm Innovation Center, Inc. (QuIC)",185:"Johnson Controls, Inc.",186:"Starkey Laboratories Inc.",187:"S-Power Electronics Limited",188:"Ace Sensor Inc",189:"Aplix Corporation",190:"AAMP of America",191:"Stalmart Technology Limited",192:"AMICCOM Electronics Corporation",193:"Shenzhen Excelsecu Data Technology Co.,Ltd",194:"Geneq Inc.",195:"adidas AG",196:"LG Electronics",197:"Onset Computer Corporation",198:"Selfly BV",199:"Quuppa Oy.",200:"GeLo Inc",201:"Evluma",202:"MC10",203:"Binauric SE",204:"Beats Electronics",205:"Microchip Technology Inc.",206:"Elgato Systems GmbH",207:"ARCHOS SA",208:"Dexcom, Inc.",209:"Polar Electro Europe B.V.",210:"Dialog Semiconductor B.V.",211:"Taixingbang Technology (HK) Co,. LTD.",212:"Kawantech",213:"Austco Communication Systems",214:"Timex Group USA, Inc.",215:"Qualcomm Technologies, Inc.",216:"Qualcomm Connected Experiences, Inc.",217:"Voyetra Turtle Beach",218:"txtr GmbH",219:"Biosentronics",220:"Procter & Gamble",221:"Hosiden Corporation",222:"Muzik LLC",223:"Misfit Wearables Corp",224:"Google",225:"Danlers Ltd",226:"Semilink Inc",227:"inMusic Brands, Inc",228:"L.S. Research Inc.",229:"Eden Software Consultants Ltd.",230:"Freshtemp",231:"KS Technologies",232:"ACTS Technologies",233:"Vtrack Systems",234:"Nielsen-Kellerman Company",235:"Server Technology, Inc.",236:"BioResearch Associates",237:"Jolly Logic, LLC",238:"Above Average Outcomes, Inc.",239:"Bitsplitters GmbH",240:"PayPal, Inc.",241:"Witron Technology Limited",242:"Aether Things Inc. (formerly Morse Project Inc.)",243:"Kent Displays Inc.",244:"Nautilus Inc.",245:"Smartifier Oy",246:"Elcometer Limited",247:"VSN Technologies Inc.",248:"AceUni Corp., Ltd.",249:"StickNFind",250:"Crystal Code AB",251:"KOUKAAM a.s.",252:"Delphi Corporation",253:"ValenceTech Limited",254:"Reserved",255:"Typo Products, LLC",256:"TomTom International BV",257:"Fugoo, Inc",258:"Keiser Corporation",259:"Bang & Olufsen A/S",260:"PLUS Locations Systems Pty Ltd",261:"Ubiquitous Computing Technology Corporation",262:"Innovative Yachtter Solutions",263:"William Demant Holding A/S",264:"Chicony Electronics Co., Ltd.",265:"Atus BV",266:"Codegate Ltd.",267:"ERi, Inc.",268:"Transducers Direct, LLC",269:"Fujitsu Ten Limited",270:"Audi AG",271:"HiSilicon Technologies Co., Ltd.",272:"Nippon Seiki Co., Ltd.",273:"Steelseries ApS",274:"vyzybl Inc.",275:"Openbrain Technologies, Co., Ltd.",276:"Xensr",277:"e.solutions",278:"1OAK Technologies",279:"Wimoto Technologies Inc",280:"Radius Networks, Inc.",281:"Wize Technology Co., Ltd.",282:"Qualcomm Labs, Inc.",283:"Aruba Networks",284:"Baidu",285:"Arendi AG",286:"Skoda Auto a.s.",287:"Volkswagon AG",288:"Porsche AG",289:"Sino Wealth Electronic Ltd.",290:"AirTurn, Inc.",291:"Kinsa, Inc.",292:"HID Global",293:"SEAT es",294:"Promethean Ltd.",295:"Salutica Allied Solutions",296:"GPSI Group Pty Ltd",297:"Nimble Devices Oy",298:"Changzhou Yongse Infotech Co., Ltd",299:"SportIQ",300:"TEMEC Instruments B.V.",301:"Sony Corporation",302:"ASSA ABLOY",303:"Clarion Co., Ltd.",304:"Warehouse Innovations",305:"Cypress Semiconductor Corporation",306:"MADS Inc",307:"Blue Maestro Limited",308:"Resolution Products, Inc.",309:"Airewear LLC",310:"Seed Labs, Inc. (formerly ETC sp. z.o.o.)",311:"Prestigio Plaza Ltd.",312:"NTEO Inc.",313:"Focus Systems Corporation",314:"Tencent Holdings Limited",315:"Allegion",316:"Murata Manufacuring Co., Ltd.",318:"Nod, Inc.",319:"B&B Manufacturing Company",320:"Alpine Electronics (China) Co., Ltd",321:"FedEx Services",322:"Grape Systems Inc.",323:"Bkon Connect",324:"Lintech GmbH",325:"Novatel Wireless",326:"Ciright",327:"Mighty Cast, Inc.",328:"Ambimat Electronics",329:"Perytons Ltd.",330:"Tivoli Audio, LLC",331:"Master Lock",332:"Mesh-Net Ltd",333:"Huizhou Desay SV Automotive CO., LTD.",334:"Tangerine, Inc.",335:"B&W Group Ltd.",336:"Pioneer Corporation",337:"OnBeep",338:"Vernier Software & Technology",339:"ROL Ergo",340:"Pebble Technology",341:"NETATMO",342:"Accumulate AB",343:"Anhui Huami Information Technology Co., Ltd.",344:"Inmite s.r.o.",345:"ChefSteps, Inc.",346:"micas AG",347:"Biomedical Research Ltd.",348:"Pitius Tec S.L.",349:"Estimote, Inc.",350:"Unikey Technologies, Inc.",351:"Timer Cap Co.",352:"AwoX",353:"yikes",354:"MADSGlobal NZ Ltd.",355:"PCH International",356:"Qingdao Yeelink Information Technology Co., Ltd.",357:"Milwaukee Tool (formerly Milwaukee Electric Tools)",358:"MISHIK Pte Ltd",359:"Bayer HealthCare",360:"Spicebox LLC",361:"emberlight",362:"Cooper-Atkins Corporation",363:"Qblinks",364:"MYSPHERA",365:"LifeScan Inc",366:"Volantic AB",367:"Podo Labs, Inc",368:"Roche Diabetes Care AG",369:"Amazon Fulfillment Service",370:"Connovate Technology Private Limited",371:"Kocomojo, LLC",372:"Everykey LLC",373:"Dynamic Controls",374:"SentriLock",375:"I-SYST inc.",376:"CASIO COMPUTER CO., LTD.",377:"LAPIS Semiconductor Co., Ltd.",378:"Telemonitor, Inc.",379:"taskit GmbH",380:"Daimler AG",381:"BatAndCat",382:"BluDotz Ltd",383:"XTel ApS",384:"Gigaset Communications GmbH",385:"Gecko Health Innovations, Inc.",386:"HOP Ubiquitous",387:"To Be Assigned",388:"Nectar",389:"bel’apps LLC",390:"CORE Lighting Ltd",391:"Seraphim Sense Ltd",392:"Unico RBC",393:"Physical Enterprises Inc.",394:"Able Trend Technology Limited",395:"Konica Minolta, Inc.",396:"Wilo SE",397:"Extron Design Services",398:"Fitbit, Inc.",399:"Fireflies Systems",400:"Intelletto Technologies Inc.",401:"FDK CORPORATION",402:"Cloudleaf, Inc",403:"Maveric Automation LLC",404:"Acoustic Stream Corporation",405:"Zuli",406:"Paxton Access Ltd",407:"WiSilica Inc",408:"Vengit Limited",409:"SALTO SYSTEMS S.L.",410:"TRON Forum (formerly T-Engine Forum)",411:"CUBETECH s.r.o.",412:"Cokiya Incorporated",413:"CVS Health",414:"Ceruus",415:"Strainstall Ltd",416:"Channel Enterprises (HK) Ltd.",417:"FIAMM",418:"GIGALANE.CO.,LTD",419:"EROAD",420:"Mine Safety Appliances",421:"Icon Health and Fitness",422:"Asandoo GmbH",423:"ENERGOUS CORPORATION",424:"Taobao",425:"Canon Inc.",426:"Geophysical Technology Inc.",427:"Facebook, Inc.",428:"Nipro Diagnostics, Inc.",429:"FlightSafety International",430:"Earlens Corporation",431:"Sunrise Micro Devices, Inc.",432:"Star Micronics Co., Ltd.",433:"Netizens Sp. z o.o.",434:"Nymi Inc.",435:"Nytec, Inc.",436:"Trineo Sp. z o.o.",437:"Nest Labs Inc.",438:"LM Technologies Ltd",439:"General Electric Company",440:"i+D3 S.L.",441:"HANA Micron",442:"Stages Cycling LLC",443:"Cochlear Bone Anchored Solutions AB",444:"SenionLab AB",445:"Syszone Co., Ltd",446:"Pulsate Mobile Ltd.",447:"Hong Kong HunterSun Electronic Limited",448:"pironex GmbH",449:"BRADATECH Corp.",450:"Transenergooil AG",451:"Bunch",452:"DME Microelectronics",453:"Bitcraze AB",454:"HASWARE Inc.",455:"Abiogenix Inc.",456:"Poly-Control ApS",457:"Avi-on",458:"Laerdal Medical AS",459:"Fetch My Pet",460:"Sam Labs Ltd.",461:"Chengdu Synwing Technology Ltd",462:"HOUWA SYSTEM DESIGN, k.k.",463:"BSH",464:"Primus Inter Pares Ltd",465:"August",466:"Gill Electronics",467:"Sky Wave Design",468:"Newlab S.r.l.",469:"ELAD srl",470:"G-wearables inc.",471:"Squadrone Systems Inc.",472:"Code Corporation",473:"Savant Systems LLC",474:"Logitech International SA",475:"Innblue Consulting",476:"iParking Ltd.",477:"Koninklijke Philips Electronics N.V.",478:"Minelab Electronics Pty Limited",479:"Bison Group Ltd.",480:"Widex A/S",481:"Jolla Ltd",482:"Lectronix, Inc.",483:"Caterpillar Inc",484:"Freedom Innovations",485:"Dynamic Devices Ltd",486:"Technology Solutions (UK) Ltd",487:"IPS Group Inc.",488:"STIR",489:"Sano, Inc",490:"Advanced Application Design, Inc.",491:"AutoMap LLC",492:"Spreadtrum Communications Shanghai Ltd",493:"CuteCircuit LTD",494:"Valeo Service",495:"Fullpower Technologies, Inc.",496:"KloudNation",497:"Zebra Technologies Corporation",498:"Itron, Inc.",499:"The University of Tokyo",500:"UTC Fire and Security",501:"Cool Webthings Limited",502:"DJO Global",503:"Gelliner Limited",504:"Anyka (Guangzhou) Microelectronics Technology Co, LTD",505:"Medtronic, Inc.",506:"Gozio, Inc.",507:"Form Lifting, LLC",508:"Wahoo Fitness, LLC",509:"Kontakt Micro-Location Sp. z o.o.",510:"Radio System Corporation",511:"Freescale Semiconductor, Inc.",512:"Verifone Systems PTe Ltd. Taiwan Branch",513:"AR Timing",514:"Rigado LLC",515:"Kemppi Oy",516:"Tapcentive Inc.",517:"Smartbotics Inc.",518:"Otter Products, LLC",519:"STEMP Inc.",520:"LumiGeek LLC",521:"InvisionHeart Inc.",522:"Macnica Inc. ",523:"Jaguar Land Rover Limited",524:"CoroWare Technologies, Inc",525:"Simplo Technology Co., LTD",526:"Omron Healthcare Co., LTD",527:"Comodule GMBH",528:"ikeGPS",529:"Telink Semiconductor Co. Ltd",530:"Interplan Co., Ltd",531:"Wyler AG",532:"IK Multimedia Production srl",533:"Lukoton Experience Oy",534:"MTI Ltd",535:"Tech4home, Lda",536:"Hiotech AB",537:"DOTT Limited",538:"Blue Speck Labs, LLC",539:"Cisco Systems, Inc",540:"Mobicomm Inc",541:"Edamic",542:"Goodnet, Ltd",543:"Luster Leaf Products Inc",544:"Manus Machina BV",545:"Mobiquity Networks Inc",546:"Praxis Dynamics",547:"Philip Morris Products S.A.",548:"Comarch SA",549:"Nestl Nespresso S.A.",550:"Merlinia A/S",551:"LifeBEAM Technologies",552:"Twocanoes Labs, LLC",553:"Muoverti Limited",554:"Stamer Musikanlagen GMBH",555:"Tesla Motors",556:"Pharynks Corporation",557:"Lupine",558:"Siemens AG",559:"Huami (Shanghai) Culture Communication CO., LTD",560:"Foster Electric Company, Ltd",561:"ETA SA",562:"x-Senso Solutions Kft",563:"Shenzhen SuLong Communication Ltd",564:"FengFan (BeiJing) Technology Co, Ltd",565:"Qrio Inc",566:"Pitpatpet Ltd",567:"MSHeli s.r.l.",568:"Trakm8 Ltd",569:"JIN CO, Ltd",570:"Alatech Tehnology",571:"Beijing CarePulse Electronic Technology Co, Ltd",572:"Awarepoint",573:"ViCentra B.V.",574:"Raven Industries",575:"WaveWare Technologies Inc.",576:"Argenox Technologies",577:"Bragi GmbH",578:"16Lab Inc",579:"Masimo Corp",580:"Iotera Inc",581:"Endress+Hauser",582:"ACKme Networks, Inc.",583:"FiftyThree Inc.",584:"Parker Hannifin Corp",585:"Transcranial Ltd",586:"Uwatec AG",587:"Orlan LLC",588:"Blue Clover Devices",589:"M-Way Solutions GmbH",590:"Microtronics Engineering GmbH",591:"Schneider Schreibgerte GmbH",592:"Sapphire Circuits LLC",593:"Lumo Bodytech Inc.",594:"UKC Technosolution",595:"Xicato Inc.",596:"Playbrush",597:"Dai Nippon Printing Co., Ltd.",598:"G24 Power Limited",599:"AdBabble Local Commerce Inc.",600:"Devialet SA",601:"ALTYOR",602:"University of Applied Sciences Valais/Haute Ecole Valaisanne",603:"Five Interactive, LLC dba Zendo",604:"NetEaseHangzhouNetwork co.Ltd.",605:"Lexmark International Inc.",606:"Fluke Corporation",607:"Yardarm Technologies",608:"SensaRx",609:"SECVRE GmbH",610:"Glacial Ridge Technologies",611:"Identiv, Inc.",612:"DDS, Inc.",613:"SMK Corporation",614:"Schawbel Technologies LLC",615:"XMI Systems SA",616:"Cerevo",617:"Torrox GmbH & Co KG",618:"Gemalto",619:"DEKA Research & Development Corp.",620:"Domster Tadeusz Szydlowski",621:"Technogym SPA",622:"FLEURBAEY BVBA",623:"Aptcode Solutions",624:"LSI ADL Technology",625:"Animas Corp",626:"Alps Electric Co., Ltd.",627:"OCEASOFT",628:"Motsai Research",629:"Geotab",630:"E.G.O. Elektro-Gertebau GmbH",631:"bewhere inc",632:"Johnson Outdoors Inc",633:"steute Schaltgerate GmbH & Co. KG",634:"Ekomini inc.",635:"DEFA AS",636:"Aseptika Ltd",637:"HUAWEI Technologies Co., Ltd. ( )",638:"HabitAware, LLC",639:"ruwido austria gmbh",640:"ITEC corporation",641:"StoneL",642:"Sonova AG",643:"Maven Machines, Inc.",644:"Synapse Electronics",645:"Standard Innovation Inc.",646:"RF Code, Inc.",647:"Wally Ventures S.L.",648:"Willowbank Electronics Ltd",649:"SK Telecom",650:"Jetro AS",651:"Code Gears LTD",652:"NANOLINK APS",653:"IF, LLC",654:"RF Digital Corp",655:"Church & Dwight Co., Inc",656:"Multibit Oy",657:"CliniCloud Inc",658:"SwiftSensors",659:"Blue Bite",660:"ELIAS GmbH",661:"Sivantos GmbH",662:"Petzl",663:"storm power ltd",664:"EISST Ltd",665:"Inexess Technology Simma KG",666:"Currant, Inc.",667:"C2 Development, Inc.",668:"Blue Sky Scientific, LLC",669:"ALOTTAZS LABS, LLC",670:"Kupson spol. s r.o.",671:"Areus Engineering GmbH",672:"Impossible Camera GmbH",673:"InventureTrack Systems",674:"LockedUp",675:"Itude",676:"Pacific Lock Company",677:"Tendyron Corporation ( )",678:"Robert Bosch GmbH",679:"Illuxtron international B.V.",680:"miSport Ltd.",681:"Chargelib",682:"Doppler Lab",683:"BBPOS Limited",684:"RTB Elektronik GmbH & Co. KG",685:"Rx Networks, Inc.",686:"WeatherFlow, Inc.",687:"Technicolor USA Inc.",688:"Bestechnic(Shanghai),Ltd",689:"Raden Inc",690:"JouZen Oy",691:"CLABER S.P.A.",692:"Hyginex, Inc.",693:"HANSHIN ELECTRIC RAILWAY CO.,LTD.",694:"Schneider Electric",695:"Oort Technologies LLC",696:"Chrono Therapeutics",697:"Rinnai Corporation",698:"Swissprime Technologies AG",699:"Koha.,Co.Ltd",700:"Genevac Ltd",701:"Chemtronics",702:"Seguro Technology Sp. z o.o.",703:"Redbird Flight Simulations",704:"Dash Robotics",705:"LINE Corporation",706:"Guillemot Corporation",707:"Techtronic Power Tools Technology Limited",708:"Wilson Sporting Goods",709:"Lenovo (Singapore) Pte Ltd. ( )",710:"Ayatan Sensors",711:"Electronics Tomorrow Limited",712:"VASCO Data Security International, Inc.",713:"PayRange Inc.",714:"ABOV Semiconductor",715:"AINA-Wireless Inc.",716:"Eijkelkamp Soil & Water",717:"BMA ergonomics b.v.",718:"Teva Branded Pharmaceutical Products R&D, Inc.",719:"Anima",720:"3M",721:"Empatica Srl",722:"Afero, Inc.",723:"Powercast Corporation",724:"Secuyou ApS",725:"OMRON Corporation",726:"Send Solutions",727:"NIPPON SYSTEMWARE CO.,LTD.",728:"Neosfar",729:"Fliegl Agrartechnik GmbH",730:"Gilvader",731:"Digi International Inc (R)",732:"DeWalch Technologies, Inc.",733:"Flint Rehabilitation Devices, LLC",734:"Samsung SDS Co., Ltd.",735:"Blur Product Development",736:"University of Michigan",737:"Victron Energy BV",738:"NTT docomo",739:"Carmanah Technologies Corp.",740:"Bytestorm Ltd.",741:"Espressif Incorporated ( () )",742:"Unwire",743:"Connected Yard, Inc.",744:"American Music Environments",745:"Sensogram Technologies, Inc.",746:"Fujitsu Limited",747:"Ardic Technology",748:"Delta Systems, Inc",749:"HTC Corporation",750:"Citizen Holdings Co., Ltd.",751:"SMART-INNOVATION.inc",752:"Blackrat Software",753:"The Idea Cave, LLC",754:"GoPro, Inc.",755:"AuthAir, Inc",756:"Vensi, Inc.",757:"Indagem Tech LLC",758:"Intemo Technologies",759:"DreamVisions co., Ltd.",760:"Runteq Oy Ltd",761:"IMAGINATION TECHNOLOGIES LTD",762:"CoSTAR TEchnologies",763:"Clarius Mobile Health Corp.",764:"Shanghai Frequen Microelectronics Co., Ltd.",765:"Uwanna, Inc.",766:"Lierda Science & Technology Group Co., Ltd.",767:"Silicon Laboratories",768:"World Moto Inc.",769:"Giatec Scientific Inc.",770:"Loop Devices, Inc",771:"IACA electronique",772:"Martians Inc",773:"Swipp ApS",774:"Life Laboratory Inc.",775:"FUJI INDUSTRIAL CO.,LTD.",776:"Surefire, LLC",777:"Dolby Labs",778:"Ellisys",779:"Magnitude Lighting Converters",780:"Hilti AG",781:"Devdata S.r.l.",782:"Deviceworx",783:"Shortcut Labs",784:"SGL Italia S.r.l.",785:"PEEQ DATA",786:"Ducere Technologies Pvt Ltd",787:"DiveNav, Inc.",788:"RIIG AI Sp. z o.o.",789:"Thermo Fisher Scientific",790:"AG Measurematics Pvt. Ltd.",791:"CHUO Electronics CO., LTD.",792:"Aspenta International",793:"Eugster Frismag AG",794:"Amber wireless GmbH",795:"HQ Inc",796:"Lab Sensor Solutions",797:"Enterlab ApS",798:"Eyefi, Inc.",799:"MetaSystem S.p.A.",800:"SONO ELECTRONICS. CO., LTD",801:"Jewelbots",802:"Compumedics Limited",803:"Rotor Bike Components",804:"Astro, Inc.",805:"Amotus Solutions",806:"Healthwear Technologies (Changzhou)Ltd",807:"Essex Electronics",808:"Grundfos A/S",809:"Eargo, Inc.",810:"Electronic Design Lab",811:"ESYLUX",812:"NIPPON SMT.CO.,Ltd",813:"BM innovations GmbH",814:"indoormap",815:"OttoQ Inc",816:"North Pole Engineering",817:"3flares Technologies Inc.",818:"Electrocompaniet A.S.",819:"Mul-T-Lock",820:"Corentium AS",821:"Enlighted Inc",822:"GISTIC",823:"AJP2 Holdings, LLC",824:"COBI GmbH",825:"Blue Sky Scientific, LLC",826:"Appception, Inc.",827:"Courtney Thorne Limited",828:"Virtuosys",829:"TPV Technology Limited",830:"Monitra SA",831:"Automation Components, Inc.",832:"Letsense s.r.l.",833:"Etesian Technologies LLC",834:"GERTEC BRASIL LTDA.",835:"Drekker Development Pty. Ltd.",836:"Whirl Inc",837:"Locus Positioning",838:"Acuity Brands Lighting, Inc",839:"Prevent Biometrics",840:"Arioneo",841:"VersaMe",842:"Vaddio",843:"Libratone A/S",844:"HM Electronics, Inc.",845:"TASER International, Inc.",846:"SafeTrust Inc.",847:"Heartland Payment Systems",848:"Bitstrata Systems Inc.",849:"Pieps GmbH",850:"iRiding(Xiamen)Technology Co.,Ltd.",851:"Alpha Audiotronics, Inc.",852:"TOPPAN FORMS CO.,LTD.",853:"Sigma Designs, Inc.",854:"Spectrum Brands, Inc.",855:"Polymap Wireless",856:"MagniWare Ltd.",857:"Novotec Medical GmbH",858:"Medicom Innovation Partner a/s",859:"Matrix Inc.",860:"Eaton Corporation",861:"KYS",862:"Naya Health, Inc.",863:"Acromag",864:"Insulet Corporation",865:"Wellinks Inc.",866:"ON Semiconductor",867:"FREELAP SA",868:"Favero Electronics Srl",869:"BioMech Sensor LLC",870:"BOLTT Sports technologies Private limited",871:"Saphe International",872:"Metormote AB",873:"littleBits",874:"SetPoint Medical",875:"BRControls Products BV",876:"Zipcar",877:"AirBolt Pty Ltd",878:"KeepTruckin Inc",879:"Motiv, Inc.",880:"Wazombi Labs O",881:"ORBCOMM",882:"Nixie Labs, Inc.",883:"AppNearMe Ltd",884:"Holman Industries",885:"Expain AS",886:"Electronic Temperature Instruments Ltd",887:"Plejd AB",888:"Propeller Health",889:"Shenzhen iMCO Electronic Technology Co.,Ltd",890:"Algoria",891:"Apption Labs Inc.",892:"Cronologics Corporation",893:"MICRODIA Ltd.",894:"lulabytes S.L.",895:"Nestec S.A.",896:"LLC MEGA - F service",897:"Sharp Corporation",898:"Precision Outcomes Ltd",899:"Kronos Incorporated",900:"OCOSMOS Co., Ltd.",901:"Embedded Electronic Solutions Ltd. dba e2Solutions",902:"Aterica Inc.",903:"BluStor PMC, Inc.",904:"Kapsch TrafficCom AB",905:"ActiveBlu Corporation",906:"Kohler Mira Limited",907:"Noke",908:"Appion Inc.",909:"Resmed Ltd",910:"Crownstone B.V.",911:"Xiaomi Inc.",912:"INFOTECH s.r.o.",913:"Thingsquare AB",914:"T&D",915:"LAVAZZA S.p.A.",916:"Netclearance Systems, Inc.",917:"SDATAWAY",918:"BLOKS GmbH",919:"LEGO System A/S",920:"Thetatronics Ltd",921:"Nikon Corporation",922:"NeST",923:"South Silicon Valley Microelectronics",924:"ALE International",925:"CareView Communications, Inc.",926:"SchoolBoard Limited",927:"Molex Corporation",928:"IVT Wireless Limited",929:"Alpine Labs LLC",930:"Candura Instruments",931:"SmartMovt Technology Co., Ltd",932:"Token Zero Ltd",933:"ACE CAD Enterprise Co., Ltd. (ACECAD)",934:"Medela, Inc",935:"AeroScout",936:"Esrille Inc.",937:"THINKERLY SRL",938:"Exon Sp. z o.o.",939:"Meizu Technology Co., Ltd.",940:"Smablo LTD",941:"XiQ",942:"Allswell Inc.",943:"Comm-N-Sense Corp DBA Verigo",944:"VIBRADORM GmbH",945:"Otodata Wireless Network Inc.",946:"Propagation Systems Limited",947:"Midwest Instruments & Controls",948:"Alpha Nodus, inc.",949:"petPOMM, Inc",950:"Mattel",951:"Airbly Inc.",952:"A-Safe Limited",953:"FREDERIQUE CONSTANT SA",954:"Maxscend Microelectronics Company Limited",955:"Abbott Diabetes Care",956:"ASB Bank Ltd",957:"amadas",958:"Applied Science, Inc.",959:"iLumi Solutions Inc.",960:"Arch Systems Inc.",961:"Ember Technologies, Inc.",962:"Snapchat Inc",963:"Casambi Technologies Oy",964:"Pico Technology Inc.",965:"St. Jude Medical, Inc.",966:"Intricon",967:"Structural Health Systems, Inc.",968:"Avvel International",969:"Gallagher Group",970:"In2things Automation Pvt. Ltd.",971:"SYSDEV Srl",972:"Vonkil Technologies Ltd",973:"Wynd Technologies, Inc.",974:"CONTRINEX S.A.",975:"MIRA, Inc.",976:"Watteam Ltd",977:"Density Inc.",978:"IOT Pot India Private Limited",979:"Sigma Connectivity AB",980:"PEG PEREGO SPA",981:"Wyzelink Systems Inc.",982:"Yota Devices LTD",983:"FINSECUR",984:"Zen-Me Labs Ltd",985:"3IWare Co., Ltd.",986:"EnOcean GmbH",987:"Instabeat, Inc",988:"Nima Labs",989:"Andreas Stihl AG & Co. KG",990:"Nathan Rhoades LLC",991:"Grob Technologies, LLC",992:"Actions (Zhuhai) Technology Co., Limited",993:"SPD Development Company Ltd",994:"Sensoan Oy",995:"Qualcomm Life Inc",996:"Chip-ing AG",997:"ffly4u",998:"IoT Instruments Oy",999:"TRUE Fitness Technology",1e3:"Reiner Kartengeraete GmbH & Co. KG.",1001:"SHENZHEN LEMONJOY TECHNOLOGY CO., LTD.",1002:"Hello Inc.",1003:"Evollve Inc.",1004:"Jigowatts Inc.",1005:"BASIC MICRO.COM,INC.",1006:"CUBE TECHNOLOGIES",1007:"foolography GmbH",1008:"CLINK",1009:"Hestan Smart Cooking Inc.",1010:"WindowMaster A/S",1011:"Flowscape AB",1012:"PAL Technologies Ltd",1013:"WHERE, Inc.",1014:"Iton Technology Corp.",1015:"Owl Labs Inc.",1016:"Rockford Corp.",1017:"Becon Technologies Co.,Ltd.",1018:"Vyassoft Technologies Inc",1019:"Nox Medical",1020:"Kimberly-Clark",1021:"Trimble Navigation Ltd.",1022:"Littelfuse",1023:"Withings",1024:"i-developer IT Beratung UG",1026:"Sears Holdings Corporation",1027:"Gantner Electronic GmbH",1028:"Authomate Inc",1029:"Vertex International, Inc.",1030:"Airtago",1031:"Swiss Audio SA",1032:"ToGetHome Inc.",1033:"AXIS",1034:"Openmatics",1035:"Jana Care Inc.",1036:"Senix Corporation",1037:"NorthStar Battery Company, LLC",1038:"SKF (U.K.) Limited",1039:"CO-AX Technology, Inc.",1040:"Fender Musical Instruments",1041:"Luidia Inc",1042:"SEFAM",1043:"Wireless Cables Inc",1044:"Lightning Protection International Pty Ltd",1045:"Uber Technologies Inc",1046:"SODA GmbH",1047:"Fatigue Science",1048:"Alpine Electronics Inc.",1049:"Novalogy LTD",1050:"Friday Labs Limited",1051:"OrthoAccel Technologies",1052:"WaterGuru, Inc.",1053:"Benning Elektrotechnik und Elektronik GmbH & Co. KG",1054:"Dell Computer Corporation",1055:"Kopin Corporation",1056:"TecBakery GmbH",1057:"Backbone Labs, Inc.",1058:"DELSEY SA",1059:"Chargifi Limited",1060:"Trainesense Ltd.",1061:"Unify Software and Solutions GmbH & Co. KG",1062:"Husqvarna AB",1063:"Focus fleet and fuel management inc",1064:"SmallLoop, LLC",1065:"Prolon Inc.",1066:"BD Medical",1067:"iMicroMed Incorporated",1068:"Ticto N.V.",1069:"Meshtech AS",1070:"MemCachier Inc.",1071:"Danfoss A/S",1072:"SnapStyk Inc.",1073:"Amyway Corporation",1074:"Silk Labs, Inc.",1075:"Pillsy Inc.",1076:"Hatch Baby, Inc.",1077:"Blocks Wearables Ltd.",1078:"Drayson Technologies (Europe) Limited",1079:"eBest IOT Inc.",1080:"Helvar Ltd",1081:"Radiance Technologies",1082:"Nuheara Limited",1083:"Appside co., ltd.",1084:"DeLaval",1085:"Coiler Corporation",1086:"Thermomedics, Inc.",1087:"Tentacle Sync GmbH",1088:"Valencell, Inc.",1089:"iProtoXi Oy",1090:"SECOM CO., LTD.",1091:"Tucker International LLC",1092:"Metanate Limited",1093:"Kobian Canada Inc.",1094:"NETGEAR, Inc.",1095:"Fabtronics Australia Pty Ltd",1096:"Grand Centrix GmbH",1097:"1UP USA.com llc",1098:"SHIMANO INC.",1099:"Nain Inc.",1100:"LifeStyle Lock, LLC",1101:"VEGA Grieshaber KG",1102:"Xtrava Inc.",1103:"TTS Tooltechnic Systems AG & Co. KG",1104:"Teenage Engineering AB",1105:"Tunstall Nordic AB",1106:"Svep Design Center AB",1107:"GreenPeak Technologies BV",1108:"Sphinx Electronics GmbH & Co KG",1109:"Atomation",1110:"Nemik Consulting Inc",1111:"RF INNOVATION",1112:"Mini Solution Co., Ltd.",1113:"Lumenetix, Inc",1114:"2048450 Ontario Inc",1115:"SPACEEK LTD",1116:"Delta T Corporation",1117:"Boston Scientific Corporation",1118:"Nuviz, Inc.",1119:"Real Time Automation, Inc.",1120:"Kolibree",1121:"vhf elektronik GmbH",1122:"Bonsai Systems GmbH",1123:"Fathom Systems Inc.",1124:"Bellman & Symfon",1125:"International Forte Group LLC",1126:"CycleLabs Solutions inc.",1127:"Codenex Oy",1128:"Kynesim Ltd",1129:"Palago AB",1130:"INSIGMA INC.",1131:"PMD Solutions",1132:"Qingdao Realtime Technology Co., Ltd.",1133:"BEGA Gantenbrink-Leuchten KG",1134:"Pambor Ltd.",65535:"SPECIAL USE/DEFAULT"}}});var require_bluetooth=__commonJS({"node_modules/systeminformation/lib/bluetooth.js"(exports2){"use strict";var exec3=require("child_process").exec;var execSync=require("child_process").execSync;var path27=require("path");var util4=require_util2();var bluetoothVendors=require_bluetoothVendors();var fs14=require("fs");var _platform=process.platform;var _linux=_platform==="linux"||_platform==="android";var _darwin=_platform==="darwin";var _windows=_platform==="win32";var _freebsd=_platform==="freebsd";var _openbsd=_platform==="openbsd";var _netbsd=_platform==="netbsd";var _sunos=_platform==="sunos";function parseBluetoothType(str2){let result2="";if(str2.indexOf("keyboard")>=0){result2="Keyboard"}if(str2.indexOf("mouse")>=0){result2="Mouse"}if(str2.indexOf("trackpad")>=0){result2="Trackpad"}if(str2.indexOf("speaker")>=0){result2="Speaker"}if(str2.indexOf("headset")>=0){result2="Headset"}if(str2.indexOf("phone")>=0){result2="Phone"}if(str2.indexOf("macbook")>=0){result2="Computer"}if(str2.indexOf("imac")>=0){result2="Computer"}if(str2.indexOf("ipad")>=0){result2="Tablet"}if(str2.indexOf("watch")>=0){result2="Watch"}if(str2.indexOf("headphone")>=0){result2="Headset"}return result2}function parseBluetoothManufacturer(str2){let result2=str2.split(" ")[0];str2=str2.toLowerCase();if(str2.indexOf("apple")>=0){result2="Apple"}if(str2.indexOf("ipad")>=0){result2="Apple"}if(str2.indexOf("imac")>=0){result2="Apple"}if(str2.indexOf("iphone")>=0){result2="Apple"}if(str2.indexOf("magic mouse")>=0){result2="Apple"}if(str2.indexOf("magic track")>=0){result2="Apple"}if(str2.indexOf("macbook")>=0){result2="Apple"}return result2}function parseBluetoothVendor(str2){const id=parseInt(str2);if(!isNaN(id))return bluetoothVendors[id]}function parseLinuxBluetoothInfo(lines,macAddr1,macAddr2){const result2={};result2.device=null;result2.name=util4.getValue(lines,"name","=");result2.manufacturer=null;result2.macDevice=macAddr1;result2.macHost=macAddr2;result2.batteryPercent=null;result2.type=parseBluetoothType(result2.name.toLowerCase());result2.connected=false;return result2}function parseDarwinBluetoothDevices(bluetoothObject,macAddr2){const result2={};const typeStr=((bluetoothObject.device_minorClassOfDevice_string||bluetoothObject.device_majorClassOfDevice_string||bluetoothObject.device_minorType||"")+(bluetoothObject.device_name||"")).toLowerCase();result2.device=bluetoothObject.device_services||"";result2.name=bluetoothObject.device_name||"";result2.manufacturer=bluetoothObject.device_manufacturer||parseBluetoothVendor(bluetoothObject.device_vendorID)||parseBluetoothManufacturer(bluetoothObject.device_name||"")||"";result2.macDevice=(bluetoothObject.device_addr||bluetoothObject.device_address||"").toLowerCase().replace(/-/g,":");result2.macHost=macAddr2;result2.batteryPercent=bluetoothObject.device_batteryPercent||null;result2.type=parseBluetoothType(typeStr);result2.connected=bluetoothObject.device_isconnected==="attrib_Yes"||false;return result2}function parseWindowsBluetooth(lines){const result2={};result2.device=null;result2.name=util4.getValue(lines,"name",":");result2.manufacturer=util4.getValue(lines,"manufacturer",":");result2.macDevice=null;result2.macHost=null;result2.batteryPercent=null;result2.type=parseBluetoothType(result2.name.toLowerCase());result2.connected=null;return result2}function bluetoothDevices(callback){return new Promise(resolve=>{process.nextTick(()=>{let result2=[];if(_linux){const btFiles=util4.getFilesInPath("/var/lib/bluetooth/");btFiles.forEach(element=>{const filename=path27.basename(element);const pathParts=element.split("/");const macAddr1=pathParts.length>=6?pathParts[pathParts.length-2]:null;const macAddr2=pathParts.length>=7?pathParts[pathParts.length-3]:null;if(filename==="info"){const infoFile=fs14.readFileSync(element,{encoding:"utf8"}).split("\n");result2.push(parseLinuxBluetoothInfo(infoFile,macAddr1,macAddr2))}});try{const hdicon=execSync("hcitool con",util4.execOptsLinux).toString().toLowerCase();for(let i=0;i<result2.length;i++){if(result2[i].macDevice&&result2[i].macDevice.length>10&&hdicon.indexOf(result2[i].macDevice.toLowerCase())>=0){result2[i].connected=true}}}catch(e){util4.noop()}if(callback){callback(result2)}resolve(result2)}if(_darwin){let cmd="system_profiler SPBluetoothDataType -json";exec3(cmd,function(error,stdout){if(!error){try{const outObj=JSON.parse(stdout.toString());if(outObj.SPBluetoothDataType&&outObj.SPBluetoothDataType.length&&outObj.SPBluetoothDataType[0]&&outObj.SPBluetoothDataType[0]["device_title"]&&outObj.SPBluetoothDataType[0]["device_title"].length){let macAddr2=null;if(outObj.SPBluetoothDataType[0]["local_device_title"]&&outObj.SPBluetoothDataType[0].local_device_title.general_address){macAddr2=outObj.SPBluetoothDataType[0].local_device_title.general_address.toLowerCase().replace(/-/g,":")}outObj.SPBluetoothDataType[0]["device_title"].forEach(element=>{const obj=element;const objKey=Object.keys(obj);if(objKey&&objKey.length===1){const innerObject=obj[objKey[0]];innerObject.device_name=objKey[0];const bluetoothDevice=parseDarwinBluetoothDevices(innerObject,macAddr2);result2.push(bluetoothDevice)}})}if(outObj.SPBluetoothDataType&&outObj.SPBluetoothDataType.length&&outObj.SPBluetoothDataType[0]&&outObj.SPBluetoothDataType[0]["device_connected"]&&outObj.SPBluetoothDataType[0]["device_connected"].length){const macAddr2=outObj.SPBluetoothDataType[0].controller_properties&&outObj.SPBluetoothDataType[0].controller_properties.controller_address?outObj.SPBluetoothDataType[0].controller_properties.controller_address.toLowerCase().replace(/-/g,":"):null;outObj.SPBluetoothDataType[0]["device_connected"].forEach(element=>{const obj=element;const objKey=Object.keys(obj);if(objKey&&objKey.length===1){const innerObject=obj[objKey[0]];innerObject.device_name=objKey[0];innerObject.device_isconnected="attrib_Yes";const bluetoothDevice=parseDarwinBluetoothDevices(innerObject,macAddr2);result2.push(bluetoothDevice)}})}if(outObj.SPBluetoothDataType&&outObj.SPBluetoothDataType.length&&outObj.SPBluetoothDataType[0]&&outObj.SPBluetoothDataType[0]["device_not_connected"]&&outObj.SPBluetoothDataType[0]["device_not_connected"].length){const macAddr2=outObj.SPBluetoothDataType[0].controller_properties&&outObj.SPBluetoothDataType[0].controller_properties.controller_address?outObj.SPBluetoothDataType[0].controller_properties.controller_address.toLowerCase().replace(/-/g,":"):null;outObj.SPBluetoothDataType[0]["device_not_connected"].forEach(element=>{const obj=element;const objKey=Object.keys(obj);if(objKey&&objKey.length===1){const innerObject=obj[objKey[0]];innerObject.device_name=objKey[0];innerObject.device_isconnected="attrib_No";const bluetoothDevice=parseDarwinBluetoothDevices(innerObject,macAddr2);result2.push(bluetoothDevice)}})}}catch(e){util4.noop()}}if(callback){callback(result2)}resolve(result2)})}if(_windows){util4.powerShell("Get-CimInstance Win32_PNPEntity | select PNPClass, Name, Manufacturer | fl").then((stdout,error)=>{if(!error){const parts=stdout.toString().split(/\n\s*\n/);parts.forEach(part=>{if(util4.getValue(part.split("\n"),"PNPClass",":")==="Bluetooth"){result2.push(parseWindowsBluetooth(part.split("\n")))}})}if(callback){callback(result2)}resolve(result2)})}if(_freebsd||_netbsd||_openbsd||_sunos){resolve(null)}})})}exports2.bluetoothDevices=bluetoothDevices}});var require_lib=__commonJS({"node_modules/systeminformation/lib/index.js"(exports2){"use strict";var lib_version=require_package().version;var util4=require_util2();var system=require_system();var osInfo=require_osinfo();var cpu=require_cpu();var memory=require_memory();var battery=require_battery();var graphics=require_graphics();var filesystem=require_filesystem();var network=require_network();var wifi=require_wifi();var processes=require_processes();var users=require_users();var internet=require_internet();var docker=require_docker();var vbox=require_virtualbox();var printer=require_printer();var usb=require_usb();var audio=require_audio();var bluetooth=require_bluetooth();var _platform=process.platform;var _windows=_platform==="win32";var _freebsd=_platform==="freebsd";var _openbsd=_platform==="openbsd";var _netbsd=_platform==="netbsd";var _sunos=_platform==="sunos";if(_windows){util4.getCodepage();util4.getPowershell()}function version(){return lib_version}function getStaticData(callback){return new Promise(resolve=>{process.nextTick(()=>{let data={};data.version=version();Promise.all([system.system(),system.bios(),system.baseboard(),system.chassis(),osInfo.osInfo(),osInfo.uuid(),osInfo.versions(),cpu.cpu(),cpu.cpuFlags(),graphics.graphics(),network.networkInterfaces(),memory.memLayout(),filesystem.diskLayout()]).then(res=>{data.system=res[0];data.bios=res[1];data.baseboard=res[2];data.chassis=res[3];data.os=res[4];data.uuid=res[5];data.versions=res[6];data.cpu=res[7];data.cpu.flags=res[8];data.graphics=res[9];data.net=res[10];data.memLayout=res[11];data.diskLayout=res[12];if(callback){callback(data)}resolve(data)})})})}function getDynamicData(srv,iface,callback){if(util4.isFunction(iface)){callback=iface;iface=""}if(util4.isFunction(srv)){callback=srv;srv=""}return new Promise(resolve=>{process.nextTick(()=>{iface=iface||network.getDefaultNetworkInterface();srv=srv||"";let functionProcessed=function(){let totalFunctions=15;if(_windows){totalFunctions=13}if(_freebsd||_openbsd||_netbsd){totalFunctions=11}if(_sunos){totalFunctions=6}return function(){if(--totalFunctions===0){if(callback){callback(data)}resolve(data)}}}();let data={};data.time=osInfo.time();data.node=process.versions.node;data.v8=process.versions.v8;cpu.cpuCurrentSpeed().then(res=>{data.cpuCurrentSpeed=res;functionProcessed()});users.users().then(res=>{data.users=res;functionProcessed()});processes.processes().then(res=>{data.processes=res;functionProcessed()});cpu.currentLoad().then(res=>{data.currentLoad=res;functionProcessed()});if(!_sunos){cpu.cpuTemperature().then(res=>{data.temp=res;functionProcessed()})}if(!_openbsd&&!_freebsd&&!_netbsd&&!_sunos){network.networkStats(iface).then(res=>{data.networkStats=res;functionProcessed()})}if(!_sunos){network.networkConnections().then(res=>{data.networkConnections=res;functionProcessed()})}memory.mem().then(res=>{data.mem=res;functionProcessed()});if(!_sunos){battery().then(res=>{data.battery=res;functionProcessed()})}if(!_sunos){processes.services(srv).then(res=>{data.services=res;functionProcessed()})}if(!_sunos){filesystem.fsSize().then(res=>{data.fsSize=res;functionProcessed()})}if(!_windows&&!_openbsd&&!_freebsd&&!_netbsd&&!_sunos){filesystem.fsStats().then(res=>{data.fsStats=res;functionProcessed()})}if(!_windows&&!_openbsd&&!_freebsd&&!_netbsd&&!_sunos){filesystem.disksIO().then(res=>{data.disksIO=res;functionProcessed()})}if(!_openbsd&&!_freebsd&&!_netbsd&&!_sunos){wifi.wifiNetworks().then(res=>{data.wifiNetworks=res;functionProcessed()})}internet.inetLatency().then(res=>{data.inetLatency=res;functionProcessed()})})})}function getAllData(srv,iface,callback){return new Promise(resolve=>{process.nextTick(()=>{let data={};if(iface&&util4.isFunction(iface)&&!callback){callback=iface;iface=""}if(srv&&util4.isFunction(srv)&&!iface&&!callback){callback=srv;srv="";iface=""}getStaticData().then(res=>{data=res;getDynamicData(srv,iface).then(res2=>{for(let key in res2){if({}.hasOwnProperty.call(res2,key)){data[key]=res2[key]}}if(callback){callback(data)}resolve(data)})})})})}function get4(valueObject,callback){return new Promise(resolve=>{process.nextTick(()=>{const allPromises=Object.keys(valueObject).filter(func=>({}).hasOwnProperty.call(exports2,func)).map(func=>{const params=valueObject[func].substring(valueObject[func].lastIndexOf("(")+1,valueObject[func].lastIndexOf(")"));let funcWithoutParams=func.indexOf(")")>=0?func.split(")")[1].trim():func;funcWithoutParams=func.indexOf("|")>=0?func.split("|")[0].trim():funcWithoutParams;if(params){return exports2[funcWithoutParams](params)}else{return exports2[funcWithoutParams]("")}});Promise.all(allPromises).then(data=>{const result2={};let i=0;for(let key in valueObject){if({}.hasOwnProperty.call(valueObject,key)&&{}.hasOwnProperty.call(exports2,key)&&data.length>i){if(valueObject[key]==="*"||valueObject[key]==="all"){result2[key]=data[i]}else{let keys2=valueObject[key];let filter2="";let filterParts=[];if(keys2.indexOf(")")>=0){keys2=keys2.split(")")[1].trim()}if(keys2.indexOf("|")>=0){filter2=keys2.split("|")[1].trim();filterParts=filter2.split(":");keys2=keys2.split("|")[0].trim()}keys2=keys2.replace(/,/g," ").replace(/ +/g," ").split(" ");if(data[i]){if(Array.isArray(data[i])){const partialArray=[];data[i].forEach(element=>{let partialRes={};if(keys2.length===1&&(keys2[0]==="*"||keys2[0]==="all")){partialRes=element}else{keys2.forEach(k=>{if({}.hasOwnProperty.call(element,k)){partialRes[k]=element[k]}})}if(filter2&&filterParts.length===2){if({}.hasOwnProperty.call(partialRes,filterParts[0].trim())){const val=partialRes[filterParts[0].trim()];if(typeof val=="number"){if(val===parseFloat(filterParts[1].trim())){partialArray.push(partialRes)}}else if(typeof val=="string"){if(val.toLowerCase()===filterParts[1].trim().toLowerCase()){partialArray.push(partialRes)}}}}else{partialArray.push(partialRes)}});result2[key]=partialArray}else{const partialRes={};keys2.forEach(k=>{if({}.hasOwnProperty.call(data[i],k)){partialRes[k]=data[i][k]}});result2[key]=partialRes}}else{result2[key]={}}}i++}}if(callback){callback(result2)}resolve(result2)})})})}function observe(valueObject,interval,callback){let _data=null;const result2=setInterval(()=>{get4(valueObject).then(data=>{if(JSON.stringify(_data)!==JSON.stringify(data)){_data=Object.assign({},data);callback(data)}})},interval);return result2}exports2.version=version;exports2.system=system.system;exports2.bios=system.bios;exports2.baseboard=system.baseboard;exports2.chassis=system.chassis;exports2.time=osInfo.time;exports2.osInfo=osInfo.osInfo;exports2.versions=osInfo.versions;exports2.shell=osInfo.shell;exports2.uuid=osInfo.uuid;exports2.cpu=cpu.cpu;exports2.cpuFlags=cpu.cpuFlags;exports2.cpuCache=cpu.cpuCache;exports2.cpuCurrentSpeed=cpu.cpuCurrentSpeed;exports2.cpuTemperature=cpu.cpuTemperature;exports2.currentLoad=cpu.currentLoad;exports2.fullLoad=cpu.fullLoad;exports2.mem=memory.mem;exports2.memLayout=memory.memLayout;exports2.battery=battery;exports2.graphics=graphics.graphics;exports2.fsSize=filesystem.fsSize;exports2.fsOpenFiles=filesystem.fsOpenFiles;exports2.blockDevices=filesystem.blockDevices;exports2.fsStats=filesystem.fsStats;exports2.disksIO=filesystem.disksIO;exports2.diskLayout=filesystem.diskLayout;exports2.networkInterfaceDefault=network.networkInterfaceDefault;exports2.networkGatewayDefault=network.networkGatewayDefault;exports2.networkInterfaces=network.networkInterfaces;exports2.networkStats=network.networkStats;exports2.networkConnections=network.networkConnections;exports2.wifiNetworks=wifi.wifiNetworks;exports2.wifiInterfaces=wifi.wifiInterfaces;exports2.wifiConnections=wifi.wifiConnections;exports2.services=processes.services;exports2.processes=processes.processes;exports2.processLoad=processes.processLoad;exports2.users=users.users;exports2.inetChecksite=internet.inetChecksite;exports2.inetLatency=internet.inetLatency;exports2.dockerInfo=docker.dockerInfo;exports2.dockerImages=docker.dockerImages;exports2.dockerContainers=docker.dockerContainers;exports2.dockerContainerStats=docker.dockerContainerStats;exports2.dockerContainerProcesses=docker.dockerContainerProcesses;exports2.dockerVolumes=docker.dockerVolumes;exports2.dockerAll=docker.dockerAll;exports2.vboxInfo=vbox.vboxInfo;exports2.printer=printer.printer;exports2.usb=usb.usb;exports2.audio=audio.audio;exports2.bluetoothDevices=bluetooth.bluetoothDevices;exports2.getStaticData=getStaticData;exports2.getDynamicData=getDynamicData;exports2.getAllData=getAllData;exports2.get=get4;exports2.observe=observe;exports2.powerShellStart=util4.powerShellStart;exports2.powerShellRelease=util4.powerShellRelease}});var require_bin=__commonJS({"node_modules/pidtree/lib/bin.js"(exports2,module2){"use strict";var spawn2=require("child_process").spawn;function stripStderr(stderr){if(!stderr)return;stderr=stderr.trim();var regex3=/your \d+x\d+ screen size is bogus\. expect trouble/gi;stderr=stderr.replace(regex3,"");return stderr.trim()}function run(cmd,args2,options,done){if(typeof options==="function"){done=options;options=void 0}var executed=false;var ch=spawn2(cmd,args2,options);var stdout="";var stderr="";ch.stdout.on("data",function(d){stdout+=d.toString()});ch.stderr.on("data",function(d){stderr+=d.toString()});ch.on("error",function(err){if(executed)return;executed=true;done(new Error(err))});ch.on("close",function(code){if(executed)return;executed=true;stderr=stripStderr(stderr);if(stderr){return done(new Error(stderr))}done(null,stdout,code)})}module2.exports=run}});var require_ps=__commonJS({"node_modules/pidtree/lib/ps.js"(exports2,module2){"use strict";var os7=require("os");var bin=require_bin();function ps(callback){var args2=["-A","-o","ppid,pid"];bin("ps",args2,function(err,stdout,code){if(err)return callback(err);if(code!==0){return callback(new Error("pidtree ps command exited with code "+code))}try{stdout=stdout.split(os7.EOL);var list=[];for(var i=1;i<stdout.length;i++){stdout[i]=stdout[i].trim();if(!stdout[i])continue;stdout[i]=stdout[i].split(/\s+/);stdout[i][0]=parseInt(stdout[i][0],10);stdout[i][1]=parseInt(stdout[i][1],10);list.push(stdout[i])}callback(null,list)}catch(error){callback(error)}})}module2.exports=ps}});var require_wmic=__commonJS({"node_modules/pidtree/lib/wmic.js"(exports2,module2){"use strict";var os7=require("os");var bin=require_bin();function wmic(callback){var args2=["PROCESS","get","ParentProcessId,ProcessId"];var options={windowsHide:true,windowsVerbatimArguments:true};bin("wmic",args2,options,function(err,stdout,code){if(err){callback(err);return}if(code!==0){callback(new Error("pidtree wmic command exited with code "+code));return}try{stdout=stdout.split(os7.EOL);var list=[];for(var i=1;i<stdout.length;i++){stdout[i]=stdout[i].trim();if(!stdout[i])continue;stdout[i]=stdout[i].split(/\s+/);stdout[i][0]=parseInt(stdout[i][0],10);stdout[i][1]=parseInt(stdout[i][1],10);list.push(stdout[i])}callback(null,list)}catch(error){callback(error)}})}module2.exports=wmic}});var require_get=__commonJS({"node_modules/pidtree/lib/get.js"(exports2,module2){"use strict";var os7=require("os");var platformToMethod={darwin:"ps",sunos:"ps",freebsd:"ps",netbsd:"ps",win:"wmic",linux:"ps",aix:"ps"};var methodToRequireFn={ps:()=>require_ps(),wmic:()=>require_wmic()};var platform=os7.platform();if(platform.startsWith("win")){platform="win"}var method2=platformToMethod[platform];function get4(callback){if(method2===void 0){callback(new Error(os7.platform()+" is not supported yet, please open an issue (https://github.com/simonepri/pidtree)"))}var list=methodToRequireFn[method2]();list(callback)}module2.exports=get4}});var require_pidtree=__commonJS({"node_modules/pidtree/lib/pidtree.js"(exports2,module2){"use strict";var getAll=require_get();function list(PID,options,callback){if(typeof options==="function"){callback=options;options={}}if(typeof options!=="object"){options={}}PID=parseInt(PID,10);if(isNaN(PID)||PID<-1){callback(new TypeError("The pid provided is invalid"));return}getAll(function(err,list2){if(err){callback(err);return}if(PID===-1){for(var i=0;i<list2.length;i++){list2[i]=options.advanced?{ppid:list2[i][0],pid:list2[i][1]}:list2[i]=list2[i][1]}callback(null,list2);return}var root2;for(var l=0;l<list2.length;l++){if(list2[l][1]===PID){root2=options.advanced?{ppid:list2[l][0],pid:PID}:PID;break}if(list2[l][0]===PID){root2=options.advanced?{pid:PID}:PID}}if(!root2){callback(new Error("No matching pid found"));return}var tree={};while(list2.length>0){var element=list2.pop();if(tree[element[0]]){tree[element[0]].push(element[1])}else{tree[element[0]]=[element[1]]}}var idx=0;var pids=[root2];while(idx<pids.length){var curpid=options.advanced?pids[idx++].pid:pids[idx++];if(!tree[curpid])continue;var length=tree[curpid].length;for(var j=0;j<length;j++){pids.push(options.advanced?{ppid:curpid,pid:tree[curpid][j]}:tree[curpid][j])}delete tree[curpid]}if(!options.root){pids.shift()}callback(null,pids)})}module2.exports=list}});var require_pidtree2=__commonJS({"node_modules/pidtree/index.js"(exports2,module2){"use strict";function pify(fn2,arg1,arg2){return new Promise(function(resolve,reject2){fn2(arg1,arg2,function(err,data){if(err)return reject2(err);resolve(data)})})}if(!String.prototype.startsWith){String.prototype.startsWith=function(suffix){return this.substring(0,suffix.length)===suffix}}var pidtree2=require_pidtree();function list(pid,options,callback){if(typeof options==="function"){callback=options;options=void 0}if(typeof callback==="function"){pidtree2(pid,options,callback);return}return pify(pidtree2,pid,options)}module2.exports=list}});var require_bin2=__commonJS({"node_modules/pidusage/lib/bin.js"(exports2,module2){"use strict";var spawn2=require("child_process").spawn;function run(cmd,args2,options,done){if(typeof options==="function"){done=options;options=void 0}let executed=false;const ch=spawn2(cmd,args2,options);let stdout="";let stderr="";ch.stdout.on("data",function(d){stdout+=d.toString()});ch.stderr.on("data",function(d){stderr+=d.toString()});ch.on("error",function(err){if(executed)return;executed=true;done(new Error(err))});ch.on("close",function(code,signal){if(executed)return;executed=true;if(stderr){return done(new Error(stderr))}done(null,stdout,code)})}module2.exports=run}});var require_history=__commonJS({"node_modules/pidusage/lib/history.js"(exports2,module2){"use strict";var DEFAULT_MAXAGE=6e4;var expiration={};var history={};var expireListeners={};var size2=0;var interval=null;function get4(pid,maxage){if(maxage<=0){return}if(history[pid]!==void 0){expiration[pid]=Date.now()+(maxage||DEFAULT_MAXAGE)}return history[pid]}function set3(pid,object,maxage,onExpire){if(object===void 0||maxage<=0)return;expiration[pid]=Date.now()+(maxage||DEFAULT_MAXAGE);if(history[pid]===void 0){size2++;sheduleInvalidator(maxage)}history[pid]=object;if(onExpire){expireListeners[pid]=onExpire}}function sheduleInvalidator(maxage){if(size2>0){if(interval===null){interval=setInterval(runInvalidator,(maxage||DEFAULT_MAXAGE)/2);if(typeof interval.unref==="function"){interval.unref()}}return}if(interval!==null){clearInterval(interval);interval=null}}function runInvalidator(){const now3=Date.now();const pids=Object.keys(expiration);for(let i=0;i<pids.length;i++){const pid=pids[i];if(expiration[pid]<now3){size2--;if(expireListeners[pid]){expireListeners[pid](history[pid])}delete history[pid];delete expiration[pid];delete expireListeners[pid]}}sheduleInvalidator()}function deleteLoop(obj){for(const i in obj){delete obj[i]}}function clear(){if(interval!==null){clearInterval(interval);interval=null}deleteLoop(history);deleteLoop(expiration);deleteLoop(expireListeners)}module2.exports={get:get4,set:set3,clear}}});var require_ps2=__commonJS({"node_modules/pidusage/lib/ps.js"(exports2,module2){"use strict";var os7=require("os");var bin=require_bin2();var history=require_history();var PLATFORM=os7.platform();function parseTime(timestr,centisec){let time=0;const tpart=timestr.split(/-|:|\./);let i=tpart.length-1;if(i>=0&&centisec&&PLATFORM==="darwin"){time+=parseInt(tpart[i--],10)*10}if(i>=0){time+=parseInt(tpart[i--],10)*1e3}if(i>=0){time+=parseInt(tpart[i--],10)*6e4}if(i>=0){time+=parseInt(tpart[i--],10)*36e5}if(i>=0){time+=parseInt(tpart[i--],10)*864e5}return time}function ps(pids,options,done){const pArg=pids.join(",");let args2=["-o","etime,pid,ppid,pcpu,rss,time","-p",pArg];if(PLATFORM==="aix"||PLATFORM==="os400"){args2=["-o","etime,pid,ppid,pcpu,rssize,time","-p",pArg]}bin("ps",args2,function(err,stdout,code){if(err){if(PLATFORM==="os390"&&/no matching processes found/.test(err)){err=new Error("No matching pid found");err.code="ENOENT"}return done(err)}if(code===1){const error=new Error("No matching pid found");error.code="ENOENT";return done(error)}if(code!==0){return done(new Error("pidusage ps command exited with code "+code))}const date=Date.now();stdout=stdout.split(os7.EOL);const statistics={};for(let i=1;i<stdout.length;i++){const line=stdout[i].trim().split(/\s+/);if(!line||line.length!==6){continue}const pid=parseInt(line[1],10);let hst=history.get(pid,options.maxage);if(hst===void 0)hst={};const ppid=parseInt(line[2],10);const memory=parseInt(line[4],10)*1024;const etime=parseTime(line[0]);const ctime=parseTime(line[5],true);const total=ctime-(hst.ctime||0);const seconds=Math.abs(hst.elapsed!==void 0?etime-hst.elapsed:etime);const cpu=seconds>0?total/seconds*100:0;statistics[pid]={cpu,memory,ppid,pid,ctime,elapsed:etime,timestamp:date};history.set(pid,statistics[pid],options.maxage)}done(null,statistics)})}module2.exports=ps}});var require_parallel=__commonJS({"node_modules/pidusage/lib/helpers/parallel.js"(exports2,module2){function parallel(fns,options,done){if(typeof options==="function"){done=options;options={}}let keys2;if(!Array.isArray(fns)){keys2=Object.keys(fns)}const length=keys2?keys2.length:fns.length;let pending=length;const results=keys2?{}:[];function each(i,err,result2){results[i]=result2;if(--pending===0||err&&!options.graceful){if(options.graceful&&err&&length>1){err=null}done&&done(err,results);done=null}}if(keys2){keys2.forEach(function(key){fns[key](function(err,res){each(key,err,res)})})}else{fns.forEach(function(fn2,i){fn2(function(err,res){each(i,err,res)})})}}module2.exports=parallel}});var require_cpu2=__commonJS({"node_modules/pidusage/lib/helpers/cpu.js"(exports2,module2){var os7=require("os");var fs14=require("fs");var exec3=require("child_process").exec;var parallel=require_parallel();function updateCpu(cpu,next){if(cpu!==null){getRealUptime(function(err,uptime){if(err)return next(err);cpu.uptime=uptime;next(null,cpu)});return}parallel([getClockAndPageSize,getRealUptime],function(err,data){if(err)return next(err);cpu={clockTick:data[0].clockTick,pageSize:data[0].pageSize,uptime:data[1]};next(null,cpu)})}module2.exports=updateCpu;function getRealUptime(next){fs14.readFile("/proc/uptime","utf8",function(err,uptime){if(err||uptime===void 0){if(!process.env.PIDUSAGE_SILENT){console.warn("[pidusage] We couldn't find uptime from /proc/uptime, using os.uptime() value")}return next(null,os7.uptime()||new Date/1e3)}return next(null,parseFloat(uptime.split(" ")[0]))})}function getClockAndPageSize(next){parallel([function getClockTick(cb){getconf("CLK_TCK",{default:100},cb)},function getPageSize(cb){getconf("PAGESIZE",{default:4096},cb)}],function(err,data){if(err)return next(err);next(null,{clockTick:data[0],pageSize:data[1]})})}function getconf(keyword,options,next){if(typeof options==="function"){next=options;options={default:""}}exec3("getconf "+keyword,function(error,stdout,stderr){if(error!==null){if(!process.env.PIDUSAGE_SILENT){console.error('Error while calling "getconf '+keyword+'"',error)}return next(null,options.default)}stdout=parseInt(stdout);if(!isNaN(stdout)){return next(null,stdout)}return next(null,options.default)})}}});var require_safe_buffer=__commonJS({"node_modules/safe-buffer/index.js"(exports2,module2){var buffer=require("buffer");var Buffer12=buffer.Buffer;function copyProps(src,dst){for(var key in src){dst[key]=src[key]}}if(Buffer12.from&&Buffer12.alloc&&Buffer12.allocUnsafe&&Buffer12.allocUnsafeSlow){module2.exports=buffer}else{copyProps(buffer,exports2);exports2.Buffer=SafeBuffer}function SafeBuffer(arg,encodingOrOffset,length){return Buffer12(arg,encodingOrOffset,length)}SafeBuffer.prototype=Object.create(Buffer12.prototype);copyProps(Buffer12,SafeBuffer);SafeBuffer.from=function(arg,encodingOrOffset,length){if(typeof arg==="number"){throw new TypeError("Argument must not be a number")}return Buffer12(arg,encodingOrOffset,length)};SafeBuffer.alloc=function(size2,fill2,encoding){if(typeof size2!=="number"){throw new TypeError("Argument must be a number")}var buf=Buffer12(size2);if(fill2!==void 0){if(typeof encoding==="string"){buf.fill(fill2,encoding)}else{buf.fill(fill2)}}else{buf.fill(0)}return buf};SafeBuffer.allocUnsafe=function(size2){if(typeof size2!=="number"){throw new TypeError("Argument must be a number")}return Buffer12(size2)};SafeBuffer.allocUnsafeSlow=function(size2){if(typeof size2!=="number"){throw new TypeError("Argument must be a number")}return buffer.SlowBuffer(size2)}}});var require_procfile=__commonJS({"node_modules/pidusage/lib/procfile.js"(exports2,module2){var fs14=require("fs");var path27=require("path");var updateCpu=require_cpu2();var parallel=require_parallel();var history=require_history();var cpuInfo=null;var Buffer12=require_safe_buffer().Buffer;var SIZE=1024;function noop4(){}function open4(path28,history2,cb){if(history2.fd){return cb(null,history2.fd)}fs14.open(path28,"r",cb)}function close(history2){if(history2.fd){fs14.close(history2.fd,noop4)}}function readUntilEnd(fd,buf,cb){let firstRead=false;if(typeof buf==="function"){cb=buf;buf=Buffer12.alloc(SIZE);firstRead=true}fs14.read(fd,buf,0,SIZE,0,function(err,bytesRead,buffer){if(err){cb(err);return}const data=Buffer12.concat([buf,buffer],firstRead?bytesRead:buf.length+bytesRead);if(bytesRead===SIZE){readUntilEnd(fd,data,cb);return}cb(null,buf)})}function readProcFile(pid,options,done){let hst=history.get(pid,options.maxage);let again=false;if(hst===void 0){again=true;hst={}}open4(path27.join("/proc",""+pid,"stat"),hst,function(err,fd){if(err){if(err.code==="ENOENT"){err.message="No matching pid found"}return done(err,null)}if(err){return done(err)}readUntilEnd(fd,function(err2,buffer){if(err2){return done(err2)}let infos=buffer.toString("utf8");const date=Date.now();const index=infos.lastIndexOf(")");infos=infos.substr(index+2).split(" ");const stat3={ppid:parseInt(infos[1]),utime:parseFloat(infos[11])*1e3/cpuInfo.clockTick,stime:parseFloat(infos[12])*1e3/cpuInfo.clockTick,cutime:parseFloat(infos[13])*1e3/cpuInfo.clockTick,cstime:parseFloat(infos[14])*1e3/cpuInfo.clockTick,start:parseFloat(infos[19])*1e3/cpuInfo.clockTick,rss:parseFloat(infos[21]),uptime:cpuInfo.uptime*1e3,fd};const memory=stat3.rss*cpuInfo.pageSize;const childrens=options.childrens?stat3.cutime+stat3.cstime:0;const total=stat3.stime-(hst.stime||0)+stat3.utime-(hst.utime||0)+childrens;const seconds=Math.abs(hst.uptime!==void 0?stat3.uptime-hst.uptime:stat3.start-stat3.uptime);const cpu=seconds>0?total/seconds*100:0;history.set(pid,stat3,options.maxage,close);if(again){return readProcFile(pid,options,done)}return done(null,{cpu,memory,ctime:stat3.utime+stat3.stime,elapsed:stat3.uptime-stat3.start,timestamp:date,pid,ppid:stat3.ppid})})})}function procfile(pids,options,done){updateCpu(cpuInfo,function(err,result2){if(err)return done(err);cpuInfo=result2;const fns={};pids.forEach(function(pid,i){fns[pid]=function(cb){readProcFile(pid,options,cb)}});parallel(fns,{graceful:true},done)})}module2.exports=procfile}});var require_wmic2=__commonJS({"node_modules/pidusage/lib/wmic.js"(exports2,module2){"use strict";var os7=require("os");var bin=require_bin2();var history=require_history();function parseDate(datestr){const year=datestr.substring(0,4);const month=datestr.substring(4,6);const day=datestr.substring(6,8);const hour=datestr.substring(8,10);const minutes=datestr.substring(10,12);const seconds=datestr.substring(12,14);const useconds=datestr.substring(15,21);const sign=datestr.substring(21,22);const tmz=parseInt(datestr.substring(22,25),10);const tmzh=Math.floor(tmz/60);const tmzm=tmz%60;return new Date(year+"-"+month+"-"+day+"T"+hour+":"+minutes+":"+seconds+"."+useconds+sign+(tmzh>9?tmzh:"0"+tmzh)+(tmzm>9?tmzm:"0"+tmzm))}function wmic(pids,options,done){let whereClause="ProcessId="+pids[0];for(let i=1;i<pids.length;i++){whereClause+=" or ProcessId="+pids[i]}const args2=["PROCESS","where",'"'+whereClause+'"',"get","CreationDate,KernelModeTime,ParentProcessId,ProcessId,UserModeTime,WorkingSetSize"];bin("wmic",args2,{windowsHide:true,windowsVerbatimArguments:true},function(err,stdout,code){if(err){if(err.message.indexOf("No Instance(s) Available.")!==-1){const error=new Error("No matching pid found");error.code="ENOENT";return done(error)}return done(err)}if(code!==0){return done(new Error("pidusage wmic command exited with code "+code))}const date=Date.now();const uptime=Math.floor(os7.uptime()||date/1e3);stdout=stdout.split(os7.EOL);let again=false;const statistics={};for(let i=1;i<stdout.length;i++){const line=stdout[i].trim().split(/\s+/);if(!line||line.length!==6){continue}const creation=parseDate(line[0]);const ppid=parseInt(line[2],10);const pid=parseInt(line[3],10);const kerneltime=Math.round(parseInt(line[1],10)/1e4);const usertime=Math.round(parseInt(line[4],10)/1e4);const memory=parseInt(line[5],10);let hst=history.get(pid,options.maxage);if(hst===void 0){again=true;hst={ctime:kerneltime+usertime,uptime}}const total=(kerneltime+usertime-hst.ctime)/1e3;const seconds=uptime-hst.uptime;const cpu=seconds>0?total/seconds*100:0;history.set(pid,{ctime:usertime+kerneltime,uptime},options.maxage);statistics[pid]={cpu,memory,ppid,pid,ctime:usertime+kerneltime,elapsed:date-creation.getTime(),timestamp:date}}if(again){return wmic(pids,options,function(err2,stats){if(err2)return done(err2);done(null,Object.assign(statistics,stats))})}done(null,statistics)})}module2.exports=wmic}});var require_stats=__commonJS({"node_modules/pidusage/lib/stats.js"(exports2,module2){"use strict";var fs14=require("fs");var os7=require("os");var requireMap={ps:()=>require_ps2(),procfile:()=>require_procfile(),wmic:()=>require_wmic2()};var platformToMethod={aix:"ps",os400:"ps",android:"procfile",alpine:"procfile",darwin:"ps",freebsd:"ps",os390:"ps",linux:"procfile",netbsd:"procfile",openbsd:"ps",sunos:"ps",win:"wmic"};var platform=os7.platform();if(fs14.existsSync("/etc/alpine-release")){platform="alpine"}if(platform.match(/^win/)){platform="win"}var stat3;try{stat3=requireMap[platformToMethod[platform]]()}catch(err){}function get4(pids,options,callback){let fn2=stat3;if(platform!=="win"&&options.usePs===true){fn2=requireMap.ps()}if(fn2===void 0){return callback(new Error(os7.platform()+" is not supported yet, please open an issue (https://github.com/soyuka/pidusage)"))}let single=false;if(!Array.isArray(pids)){single=true;pids=[pids]}if(pids.length===0){return callback(new TypeError("You must provide at least one pid"))}for(let i=0;i<pids.length;i++){pids[i]=parseInt(pids[i],10);if(isNaN(pids[i])||pids[i]<0){return callback(new TypeError("One of the pids provided is invalid"))}}fn2(pids,options,function(err,stats){if(err){return callback(err)}if(single){callback(null,stats[pids[0]])}else{callback(null,stats)}})}module2.exports=get4}});var require_pidusage=__commonJS({"node_modules/pidusage/index.js"(exports2,module2){"use strict";var stats=require_stats();function pidusage3(pids,options,callback){if(typeof options==="function"){callback=options;options={}}if(options===void 0){options={}}options=Object.assign({usePs:/^true$/i.test(process.env.PIDUSAGE_USE_PS),maxage:process.env.PIDUSAGE_MAXAGE},options);if(typeof callback==="function"){stats(pids,options,callback);return}return new Promise(function(resolve,reject2){stats(pids,options,function(err,data){if(err)return reject2(err);resolve(data)})})}module2.exports=pidusage3;module2.exports.clear=require_history().clear}});var require_bytes=__commonJS({"node_modules/bytes/index.js"(exports2,module2){"use strict";module2.exports=bytes9;module2.exports.format=format2;module2.exports.parse=parse3;var formatThousandsRegExp=/\B(?=(\d{3})+(?!\d))/g;var formatDecimalsRegExp=/(?:\.0*|(\.[^0]+)0+)$/;var map3={b:1,kb:1<<10,mb:1<<20,gb:1<<30,tb:Math.pow(1024,4),pb:Math.pow(1024,5)};var parseRegExp=/^((-|\+)?(\d+(?:\.\d+)?)) *(kb|mb|gb|tb|pb)$/i;function bytes9(value,options){if(typeof value==="string"){return parse3(value)}if(typeof value==="number"){return format2(value,options)}return null}function format2(value,options){if(!Number.isFinite(value)){return null}var mag=Math.abs(value);var thousandsSeparator=options&&options.thousandsSeparator||"";var unitSeparator=options&&options.unitSeparator||"";var decimalPlaces=options&&options.decimalPlaces!==void 0?options.decimalPlaces:2;var fixedDecimals=Boolean(options&&options.fixedDecimals);var unit=options&&options.unit||"";if(!unit||!map3[unit.toLowerCase()]){if(mag>=map3.pb){unit="PB"}else if(mag>=map3.tb){unit="TB"}else if(mag>=map3.gb){unit="GB"}else if(mag>=map3.mb){unit="MB"}else if(mag>=map3.kb){unit="KB"}else{unit="B"}}var val=value/map3[unit.toLowerCase()];var str2=val.toFixed(decimalPlaces);if(!fixedDecimals){str2=str2.replace(formatDecimalsRegExp,"$1")}if(thousandsSeparator){str2=str2.split(".").map(function(s,i){return i===0?s.replace(formatThousandsRegExp,thousandsSeparator):s}).join(".")}return str2+unitSeparator+unit}function parse3(val){if(typeof val==="number"&&!isNaN(val)){return val}if(typeof val!=="string"){return null}var results=parseRegExp.exec(val);var floatValue;var unit="b";if(!results){floatValue=parseInt(val,10);unit="b"}else{floatValue=parseFloat(results[1]);unit=results[4].toLowerCase()}if(isNaN(floatValue)){return null}return Math.floor(map3[unit]*floatValue)}}});var require_eastasianwidth=__commonJS({"node_modules/eastasianwidth/eastasianwidth.js"(exports2,module2){var eaw={};if("undefined"==typeof module2){window.eastasianwidth=eaw}else{module2.exports=eaw}eaw.eastAsianWidth=function(character){var x=character.charCodeAt(0);var y=character.length==2?character.charCodeAt(1):0;var codePoint=x;if(55296<=x&&x<=56319&&(56320<=y&&y<=57343)){x&=1023;y&=1023;codePoint=x<<10|y;codePoint+=65536}if(12288==codePoint||65281<=codePoint&&codePoint<=65376||65504<=codePoint&&codePoint<=65510){return"F"}if(8361==codePoint||65377<=codePoint&&codePoint<=65470||65474<=codePoint&&codePoint<=65479||65482<=codePoint&&codePoint<=65487||65490<=codePoint&&codePoint<=65495||65498<=codePoint&&codePoint<=65500||65512<=codePoint&&codePoint<=65518){return"H"}if(4352<=codePoint&&codePoint<=4447||4515<=codePoint&&codePoint<=4519||4602<=codePoint&&codePoint<=4607||9001<=codePoint&&codePoint<=9002||11904<=codePoint&&codePoint<=11929||11931<=codePoint&&codePoint<=12019||12032<=codePoint&&codePoint<=12245||12272<=codePoint&&codePoint<=12283||12289<=codePoint&&codePoint<=12350||12353<=codePoint&&codePoint<=12438||12441<=codePoint&&codePoint<=12543||12549<=codePoint&&codePoint<=12589||12593<=codePoint&&codePoint<=12686||12688<=codePoint&&codePoint<=12730||12736<=codePoint&&codePoint<=12771||12784<=codePoint&&codePoint<=12830||12832<=codePoint&&codePoint<=12871||12880<=codePoint&&codePoint<=13054||13056<=codePoint&&codePoint<=19903||19968<=codePoint&&codePoint<=42124||42128<=codePoint&&codePoint<=42182||43360<=codePoint&&codePoint<=43388||44032<=codePoint&&codePoint<=55203||55216<=codePoint&&codePoint<=55238||55243<=codePoint&&codePoint<=55291||63744<=codePoint&&codePoint<=64255||65040<=codePoint&&codePoint<=65049||65072<=codePoint&&codePoint<=65106||65108<=codePoint&&codePoint<=65126||65128<=codePoint&&codePoint<=65131||110592<=codePoint&&codePoint<=110593||127488<=codePoint&&codePoint<=127490||127504<=codePoint&&codePoint<=127546||127552<=codePoint&&codePoint<=127560||127568<=codePoint&&codePoint<=127569||131072<=codePoint&&codePoint<=194367||177984<=codePoint&&codePoint<=196605||196608<=codePoint&&codePoint<=262141){return"W"}if(32<=codePoint&&codePoint<=126||162<=codePoint&&codePoint<=163||165<=codePoint&&codePoint<=166||172==codePoint||175==codePoint||10214<=codePoint&&codePoint<=10221||10629<=codePoint&&codePoint<=10630){return"Na"}if(161==codePoint||164==codePoint||167<=codePoint&&codePoint<=168||170==codePoint||173<=codePoint&&codePoint<=174||176<=codePoint&&codePoint<=180||182<=codePoint&&codePoint<=186||188<=codePoint&&codePoint<=191||198==codePoint||208==codePoint||215<=codePoint&&codePoint<=216||222<=codePoint&&codePoint<=225||230==codePoint||232<=codePoint&&codePoint<=234||236<=codePoint&&codePoint<=237||240==codePoint||242<=codePoint&&codePoint<=243||247<=codePoint&&codePoint<=250||252==codePoint||254==codePoint||257==codePoint||273==codePoint||275==codePoint||283==codePoint||294<=codePoint&&codePoint<=295||299==codePoint||305<=codePoint&&codePoint<=307||312==codePoint||319<=codePoint&&codePoint<=322||324==codePoint||328<=codePoint&&codePoint<=331||333==codePoint||338<=codePoint&&codePoint<=339||358<=codePoint&&codePoint<=359||363==codePoint||462==codePoint||464==codePoint||466==codePoint||468==codePoint||470==codePoint||472==codePoint||474==codePoint||476==codePoint||593==codePoint||609==codePoint||708==codePoint||711==codePoint||713<=codePoint&&codePoint<=715||717==codePoint||720==codePoint||728<=codePoint&&codePoint<=731||733==codePoint||735==codePoint||768<=codePoint&&codePoint<=879||913<=codePoint&&codePoint<=929||931<=codePoint&&codePoint<=937||945<=codePoint&&codePoint<=961||963<=codePoint&&codePoint<=969||1025==codePoint||1040<=codePoint&&codePoint<=1103||1105==codePoint||8208==codePoint||8211<=codePoint&&codePoint<=8214||8216<=codePoint&&codePoint<=8217||8220<=codePoint&&codePoint<=8221||8224<=codePoint&&codePoint<=8226||8228<=codePoint&&codePoint<=8231||8240==codePoint||8242<=codePoint&&codePoint<=8243||8245==codePoint||8251==codePoint||8254==codePoint||8308==codePoint||8319==codePoint||8321<=codePoint&&codePoint<=8324||8364==codePoint||8451==codePoint||8453==codePoint||8457==codePoint||8467==codePoint||8470==codePoint||8481<=codePoint&&codePoint<=8482||8486==codePoint||8491==codePoint||8531<=codePoint&&codePoint<=8532||8539<=codePoint&&codePoint<=8542||8544<=codePoint&&codePoint<=8555||8560<=codePoint&&codePoint<=8569||8585==codePoint||8592<=codePoint&&codePoint<=8601||8632<=codePoint&&codePoint<=8633||8658==codePoint||8660==codePoint||8679==codePoint||8704==codePoint||8706<=codePoint&&codePoint<=8707||8711<=codePoint&&codePoint<=8712||8715==codePoint||8719==codePoint||8721==codePoint||8725==codePoint||8730==codePoint||8733<=codePoint&&codePoint<=8736||8739==codePoint||8741==codePoint||8743<=codePoint&&codePoint<=8748||8750==codePoint||8756<=codePoint&&codePoint<=8759||8764<=codePoint&&codePoint<=8765||8776==codePoint||8780==codePoint||8786==codePoint||8800<=codePoint&&codePoint<=8801||8804<=codePoint&&codePoint<=8807||8810<=codePoint&&codePoint<=8811||8814<=codePoint&&codePoint<=8815||8834<=codePoint&&codePoint<=8835||8838<=codePoint&&codePoint<=8839||8853==codePoint||8857==codePoint||8869==codePoint||8895==codePoint||8978==codePoint||9312<=codePoint&&codePoint<=9449||9451<=codePoint&&codePoint<=9547||9552<=codePoint&&codePoint<=9587||9600<=codePoint&&codePoint<=9615||9618<=codePoint&&codePoint<=9621||9632<=codePoint&&codePoint<=9633||9635<=codePoint&&codePoint<=9641||9650<=codePoint&&codePoint<=9651||9654<=codePoint&&codePoint<=9655||9660<=codePoint&&codePoint<=9661||9664<=codePoint&&codePoint<=9665||9670<=codePoint&&codePoint<=9672||9675==codePoint||9678<=codePoint&&codePoint<=9681||9698<=codePoint&&codePoint<=9701||9711==codePoint||9733<=codePoint&&codePoint<=9734||9737==codePoint||9742<=codePoint&&codePoint<=9743||9748<=codePoint&&codePoint<=9749||9756==codePoint||9758==codePoint||9792==codePoint||9794==codePoint||9824<=codePoint&&codePoint<=9825||9827<=codePoint&&codePoint<=9829||9831<=codePoint&&codePoint<=9834||9836<=codePoint&&codePoint<=9837||9839==codePoint||9886<=codePoint&&codePoint<=9887||9918<=codePoint&&codePoint<=9919||9924<=codePoint&&codePoint<=9933||9935<=codePoint&&codePoint<=9953||9955==codePoint||9960<=codePoint&&codePoint<=9983||10045==codePoint||10071==codePoint||10102<=codePoint&&codePoint<=10111||11093<=codePoint&&codePoint<=11097||12872<=codePoint&&codePoint<=12879||57344<=codePoint&&codePoint<=63743||65024<=codePoint&&codePoint<=65039||65533==codePoint||127232<=codePoint&&codePoint<=127242||127248<=codePoint&&codePoint<=127277||127280<=codePoint&&codePoint<=127337||127344<=codePoint&&codePoint<=127386||917760<=codePoint&&codePoint<=917999||983040<=codePoint&&codePoint<=1048573||1048576<=codePoint&&codePoint<=1114109){return"A"}return"N"};eaw.characterLength=function(character){var code=this.eastAsianWidth(character);if(code=="F"||code=="W"||code=="A"){return 2}else{return 1}};function stringToArray2(string){return string.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}eaw.length=function(string){var characters=stringToArray2(string);var len=0;for(var i=0;i<characters.length;i++){len=len+this.characterLength(characters[i])}return len};eaw.slice=function(text,start,end){textLen=eaw.length(text);start=start?start:0;end=end?end:1;if(start<0){start=textLen+start}if(end<0){end=textLen+end}var result2="";var eawLen=0;var chars=stringToArray2(text);for(var i=0;i<chars.length;i++){var char=chars[i];var charLen=eaw.length(char);if(eawLen>=start-(charLen==2?1:0)){if(eawLen+charLen<=end){result2+=char}else{break}}eawLen+=charLen}return result2}}});var require_emoji_regex=__commonJS({"node_modules/emoji-regex/index.js"(exports2,module2){"use strict";module2.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}}});var require_boxes=__commonJS({"node_modules/cli-boxes/boxes.json"(exports2,module2){module2.exports={single:{topLeft:"┌",top:"─",topRight:"┐",right:"│",bottomRight:"┘",bottom:"─",bottomLeft:"└",left:"│"},double:{topLeft:"╔",top:"═",topRight:"╗",right:"║",bottomRight:"╝",bottom:"═",bottomLeft:"╚",left:"║"},round:{topLeft:"╭",top:"─",topRight:"╮",right:"│",bottomRight:"╯",bottom:"─",bottomLeft:"╰",left:"│"},bold:{topLeft:"┏",top:"━",topRight:"┓",right:"┃",bottomRight:"┛",bottom:"━",bottomLeft:"┗",left:"┃"},singleDouble:{topLeft:"╓",top:"─",topRight:"╖",right:"║",bottomRight:"╜",bottom:"─",bottomLeft:"╙",left:"║"},doubleSingle:{topLeft:"╒",top:"═",topRight:"╕",right:"│",bottomRight:"╛",bottom:"═",bottomLeft:"╘",left:"│"},classic:{topLeft:"+",top:"-",topRight:"+",right:"|",bottomRight:"+",bottom:"-",bottomLeft:"+",left:"|"},arrow:{topLeft:"↘",top:"↓",topRight:"↙",right:"←",bottomRight:"↖",bottom:"↑",bottomLeft:"↗",left:"→"}}}});var require_cli_boxes=__commonJS({"node_modules/cli-boxes/index.js"(exports2,module2){"use strict";var cliBoxes2=require_boxes();module2.exports=cliBoxes2;module2.exports.default=cliBoxes2}});var require_ansi_regex=__commonJS({"node_modules/ansi-regex/index.js"(exports2,module2){"use strict";module2.exports=({onlyFirst=false}={})=>{const pattern=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(pattern,onlyFirst?void 0:"g")}}});var require_strip_ansi=__commonJS({"node_modules/strip-ansi/index.js"(exports2,module2){"use strict";var ansiRegex3=require_ansi_regex();module2.exports=string=>typeof string==="string"?string.replace(ansiRegex3(),""):string}});var require_is_fullwidth_code_point=__commonJS({"node_modules/is-fullwidth-code-point/index.js"(exports2,module2){"use strict";var isFullwidthCodePoint=codePoint=>{if(Number.isNaN(codePoint)){return false}if(codePoint>=4352&&(codePoint<=4447||codePoint===9001||codePoint===9002||11904<=codePoint&&codePoint<=12871&&codePoint!==12351||12880<=codePoint&&codePoint<=19903||19968<=codePoint&&codePoint<=42182||43360<=codePoint&&codePoint<=43388||44032<=codePoint&&codePoint<=55203||63744<=codePoint&&codePoint<=64255||65040<=codePoint&&codePoint<=65049||65072<=codePoint&&codePoint<=65131||65281<=codePoint&&codePoint<=65376||65504<=codePoint&&codePoint<=65510||110592<=codePoint&&codePoint<=110593||127488<=codePoint&&codePoint<=127569||131072<=codePoint&&codePoint<=262141)){return true}return false};module2.exports=isFullwidthCodePoint;module2.exports.default=isFullwidthCodePoint}});var require_emoji_regex2=__commonJS({"node_modules/ansi-align/node_modules/emoji-regex/index.js"(exports2,module2){"use strict";module2.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}}});var require_string_width=__commonJS({"node_modules/ansi-align/node_modules/string-width/index.js"(exports2,module2){"use strict";var stripAnsi3=require_strip_ansi();var isFullwidthCodePoint=require_is_fullwidth_code_point();var emojiRegex3=require_emoji_regex2();var stringWidth2=string=>{if(typeof string!=="string"||string.length===0){return 0}string=stripAnsi3(string);if(string.length===0){return 0}string=string.replace(emojiRegex3(),"  ");let width=0;for(let i=0;i<string.length;i++){const code=string.codePointAt(i);if(code<=31||code>=127&&code<=159){continue}if(code>=768&&code<=879){continue}if(code>65535){i++}width+=isFullwidthCodePoint(code)?2:1}return width};module2.exports=stringWidth2;module2.exports.default=stringWidth2}});var require_ansi_align=__commonJS({"node_modules/ansi-align/index.js"(exports2,module2){"use strict";var stringWidth2=require_string_width();function ansiAlign2(text,opts){if(!text)return text;opts=opts||{};const align=opts.align||"center";if(align==="left")return text;const split2=opts.split||"\n";const pad4=opts.pad||" ";const widthDiffFn=align!=="right"?halfDiff:fullDiff;let returnString=false;if(!Array.isArray(text)){returnString=true;text=String(text).split(split2)}let width;let maxWidth=0;text=text.map(function(str2){str2=String(str2);width=stringWidth2(str2);maxWidth=Math.max(width,maxWidth);return{str:str2,width}}).map(function(obj){return new Array(widthDiffFn(maxWidth,obj.width)+1).join(pad4)+obj.str});return returnString?text.join(split2):text}ansiAlign2.left=function left(text){return ansiAlign2(text,{align:"left"})};ansiAlign2.center=function center(text){return ansiAlign2(text,{align:"center"})};ansiAlign2.right=function right(text){return ansiAlign2(text,{align:"right"})};module2.exports=ansiAlign2;function halfDiff(maxWidth,curWidth){return Math.floor((maxWidth-curWidth)/2)}function fullDiff(maxWidth,curWidth){return maxWidth-curWidth}}});var require_is_docker=__commonJS({"node_modules/is-docker/index.js"(exports2,module2){"use strict";var fs14=require("fs");var isDocker;function hasDockerEnv(){try{fs14.statSync("/.dockerenv");return true}catch(_){return false}}function hasDockerCGroup(){try{return fs14.readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch(_){return false}}module2.exports=()=>{if(isDocker===void 0){isDocker=hasDockerEnv()||hasDockerCGroup()}return isDocker}}});var require_is_wsl=__commonJS({"node_modules/is-wsl/index.js"(exports2,module2){"use strict";var os7=require("os");var fs14=require("fs");var isDocker=require_is_docker();var isWsl=()=>{if(process.platform!=="linux"){return false}if(os7.release().toLowerCase().includes("microsoft")){if(isDocker()){return false}return true}try{return fs14.readFileSync("/proc/version","utf8").toLowerCase().includes("microsoft")?!isDocker():false}catch(_){return false}};if(process.env.__IS_WSL_TEST__){module2.exports=isWsl}else{module2.exports=isWsl()}}});var require_open=__commonJS({"core/node_modules/open/index.js"(exports2,module2){"use strict";var{promisify:promisify9}=require("util");var path27=require("path");var childProcess=require("child_process");var fs14=require("fs");var url=require("url");var isWsl=require_is_wsl();var isDocker=require_is_docker();var pAccess=promisify9(fs14.access);var pExecFile=promisify9(childProcess.execFile);var localXdgOpenPath=path27.join(__dirname,"xdg-open");var wslToWindowsPath=async path28=>{const{stdout}=await pExecFile("wslpath",["-w",path28]);return stdout.trim()};module2.exports=async(target,options)=>{if(typeof target!=="string"){throw new TypeError("Expected a `target`")}options={wait:false,background:false,url:false,allowNonzeroExitCode:false,...options};let command;let appArguments=[];const cliArguments=[];const childProcessOptions={};if(Array.isArray(options.app)){appArguments=options.app.slice(1);options.app=options.app[0]}if(options.url){target=new url.URL(target).href;if(isWsl){target=target.replace(/&/g,"^&")}}if(process.platform==="darwin"){command="open";if(options.wait){cliArguments.push("--wait-apps")}if(options.background){cliArguments.push("--background")}if(options.app){cliArguments.push("-a",options.app)}}else if(process.platform==="win32"||isWsl&&!isDocker()){command="cmd"+(isWsl?".exe":"");cliArguments.push("/s","/c","start",'""',"/b");if(!isWsl){target=`"${target}"`;childProcessOptions.windowsVerbatimArguments=true;if(options.app){options.app=`"${options.app}"`}}if(options.wait){cliArguments.push("/wait")}if(options.app){if(isWsl&&options.app.startsWith("/mnt/")){const windowsPath=await wslToWindowsPath(options.app);options.app=windowsPath}cliArguments.push(options.app)}if(appArguments.length>0){cliArguments.push(...appArguments)}}else{if(options.app){command=options.app}else{const isBundled=!__dirname||__dirname==="/";let exeLocalXdgOpen=false;try{await pAccess(localXdgOpenPath,fs14.constants.X_OK);exeLocalXdgOpen=true}catch(_){}const useSystemXdgOpen=process.versions.electron||process.platform==="android"||isBundled||!exeLocalXdgOpen;command=useSystemXdgOpen?"xdg-open":localXdgOpenPath}if(appArguments.length>0){cliArguments.push(...appArguments)}if(!options.wait){childProcessOptions.stdio="ignore";childProcessOptions.detached=true}}cliArguments.push(target);if(process.platform==="darwin"&&appArguments.length>0){cliArguments.push("--args",...appArguments)}const subprocess=childProcess.spawn(command,cliArguments,childProcessOptions);if(options.wait){return new Promise((resolve,reject2)=>{subprocess.once("error",reject2);subprocess.once("close",exitCode=>{if(options.allowNonzeroExitCode&&exitCode>0){reject2(new Error(`Exited with code ${exitCode}`));return}resolve(subprocess)})})}subprocess.unref();return subprocess}}});var require_source=__commonJS({"node_modules/defer-to-connect/dist/source/index.js"(exports2,module2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});function isTLSSocket(socket){return socket.encrypted}var deferToConnect2=(socket,fn2)=>{let listeners;if(typeof fn2==="function"){const connect=fn2;listeners={connect}}else{listeners=fn2}const hasConnectListener=typeof listeners.connect==="function";const hasSecureConnectListener=typeof listeners.secureConnect==="function";const hasCloseListener=typeof listeners.close==="function";const onConnect=()=>{if(hasConnectListener){listeners.connect()}if(isTLSSocket(socket)&&hasSecureConnectListener){if(socket.authorized){listeners.secureConnect()}else if(!socket.authorizationError){socket.once("secureConnect",listeners.secureConnect)}}if(hasCloseListener){socket.once("close",listeners.close)}};if(socket.writable&&!socket.connecting){onConnect()}else if(socket.connecting){socket.once("connect",onConnect)}else if(socket.destroyed&&hasCloseListener){listeners.close(socket._hadError)}};exports2.default=deferToConnect2;module2.exports=deferToConnect2;module2.exports.default=deferToConnect2}});var require_http_cache_semantics=__commonJS({"node_modules/http-cache-semantics/index.js"(exports2,module2){"use strict";var statusCodeCacheableByDefault=new Set([200,203,204,206,300,301,308,404,405,410,414,501]);var understoodStatuses=new Set([200,203,204,300,301,302,303,307,308,404,405,410,414,501]);var errorStatusCodes=new Set([500,502,503,504]);var hopByHopHeaders={date:true,connection:true,"keep-alive":true,"proxy-authenticate":true,"proxy-authorization":true,te:true,trailer:true,"transfer-encoding":true,upgrade:true};var excludedFromRevalidationUpdate={"content-length":true,"content-encoding":true,"transfer-encoding":true,"content-range":true};function toNumberOrZero(s){const n=parseInt(s,10);return isFinite(n)?n:0}function isErrorResponse(response){if(!response){return true}return errorStatusCodes.has(response.status)}function parseCacheControl(header2){const cc={};if(!header2)return cc;const parts=header2.trim().split(/,/);for(const part of parts){const[k,v]=part.split(/=/,2);cc[k.trim()]=v===void 0?true:v.trim().replace(/^"|"$/g,"")}return cc}function formatCacheControl(cc){let parts=[];for(const k in cc){const v=cc[k];parts.push(v===true?k:k+"="+v)}if(!parts.length){return void 0}return parts.join(", ")}module2.exports=class CachePolicy{constructor(req,res,{shared,cacheHeuristic,immutableMinTimeToLive,ignoreCargoCult,_fromObject}={}){if(_fromObject){this._fromObject(_fromObject);return}if(!res||!res.headers){throw Error("Response headers missing")}this._assertRequestHasHeaders(req);this._responseTime=this.now();this._isShared=shared!==false;this._cacheHeuristic=void 0!==cacheHeuristic?cacheHeuristic:.1;this._immutableMinTtl=void 0!==immutableMinTimeToLive?immutableMinTimeToLive:24*3600*1e3;this._status="status"in res?res.status:200;this._resHeaders=res.headers;this._rescc=parseCacheControl(res.headers["cache-control"]);this._method="method"in req?req.method:"GET";this._url=req.url;this._host=req.headers.host;this._noAuthorization=!req.headers.authorization;this._reqHeaders=res.headers.vary?req.headers:null;this._reqcc=parseCacheControl(req.headers["cache-control"]);if(ignoreCargoCult&&"pre-check"in this._rescc&&"post-check"in this._rescc){delete this._rescc["pre-check"];delete this._rescc["post-check"];delete this._rescc["no-cache"];delete this._rescc["no-store"];delete this._rescc["must-revalidate"];this._resHeaders=Object.assign({},this._resHeaders,{"cache-control":formatCacheControl(this._rescc)});delete this._resHeaders.expires;delete this._resHeaders.pragma}if(res.headers["cache-control"]==null&&/no-cache/.test(res.headers.pragma)){this._rescc["no-cache"]=true}}now(){return Date.now()}storable(){return!!(!this._reqcc["no-store"]&&("GET"===this._method||"HEAD"===this._method||"POST"===this._method&&this._hasExplicitExpiration())&&understoodStatuses.has(this._status)&&!this._rescc["no-store"]&&(!this._isShared||!this._rescc.private)&&(!this._isShared||this._noAuthorization||this._allowsStoringAuthenticated())&&(this._resHeaders.expires||this._rescc["max-age"]||this._isShared&&this._rescc["s-maxage"]||this._rescc.public||statusCodeCacheableByDefault.has(this._status)))}_hasExplicitExpiration(){return this._isShared&&this._rescc["s-maxage"]||this._rescc["max-age"]||this._resHeaders.expires}_assertRequestHasHeaders(req){if(!req||!req.headers){throw Error("Request headers missing")}}satisfiesWithoutRevalidation(req){this._assertRequestHasHeaders(req);const requestCC=parseCacheControl(req.headers["cache-control"]);if(requestCC["no-cache"]||/no-cache/.test(req.headers.pragma)){return false}if(requestCC["max-age"]&&this.age()>requestCC["max-age"]){return false}if(requestCC["min-fresh"]&&this.timeToLive()<1e3*requestCC["min-fresh"]){return false}if(this.stale()){const allowsStale=requestCC["max-stale"]&&!this._rescc["must-revalidate"]&&(true===requestCC["max-stale"]||requestCC["max-stale"]>this.age()-this.maxAge());if(!allowsStale){return false}}return this._requestMatches(req,false)}_requestMatches(req,allowHeadMethod){return(!this._url||this._url===req.url)&&this._host===req.headers.host&&(!req.method||this._method===req.method||allowHeadMethod&&"HEAD"===req.method)&&this._varyMatches(req)}_allowsStoringAuthenticated(){return this._rescc["must-revalidate"]||this._rescc.public||this._rescc["s-maxage"]}_varyMatches(req){if(!this._resHeaders.vary){return true}if(this._resHeaders.vary==="*"){return false}const fields=this._resHeaders.vary.trim().toLowerCase().split(/\s*,\s*/);for(const name of fields){if(req.headers[name]!==this._reqHeaders[name])return false}return true}_copyWithoutHopByHopHeaders(inHeaders){const headers={};for(const name in inHeaders){if(hopByHopHeaders[name])continue;headers[name]=inHeaders[name]}if(inHeaders.connection){const tokens=inHeaders.connection.trim().split(/\s*,\s*/);for(const name of tokens){delete headers[name]}}if(headers.warning){const warnings=headers.warning.split(/,/).filter(warning=>{return!/^\s*1[0-9][0-9]/.test(warning)});if(!warnings.length){delete headers.warning}else{headers.warning=warnings.join(",").trim()}}return headers}responseHeaders(){const headers=this._copyWithoutHopByHopHeaders(this._resHeaders);const age=this.age();if(age>3600*24&&!this._hasExplicitExpiration()&&this.maxAge()>3600*24){headers.warning=(headers.warning?`${headers.warning}, `:"")+'113 - "rfc7234 5.5.4"'}headers.age=`${Math.round(age)}`;headers.date=new Date(this.now()).toUTCString();return headers}date(){const serverDate=Date.parse(this._resHeaders.date);if(isFinite(serverDate)){return serverDate}return this._responseTime}age(){let age=this._ageValue();const residentTime=(this.now()-this._responseTime)/1e3;return age+residentTime}_ageValue(){return toNumberOrZero(this._resHeaders.age)}maxAge(){if(!this.storable()||this._rescc["no-cache"]){return 0}if(this._isShared&&(this._resHeaders["set-cookie"]&&!this._rescc.public&&!this._rescc.immutable)){return 0}if(this._resHeaders.vary==="*"){return 0}if(this._isShared){if(this._rescc["proxy-revalidate"]){return 0}if(this._rescc["s-maxage"]){return toNumberOrZero(this._rescc["s-maxage"])}}if(this._rescc["max-age"]){return toNumberOrZero(this._rescc["max-age"])}const defaultMinTtl=this._rescc.immutable?this._immutableMinTtl:0;const serverDate=this.date();if(this._resHeaders.expires){const expires=Date.parse(this._resHeaders.expires);if(Number.isNaN(expires)||expires<serverDate){return 0}return Math.max(defaultMinTtl,(expires-serverDate)/1e3)}if(this._resHeaders["last-modified"]){const lastModified=Date.parse(this._resHeaders["last-modified"]);if(isFinite(lastModified)&&serverDate>lastModified){return Math.max(defaultMinTtl,(serverDate-lastModified)/1e3*this._cacheHeuristic)}}return defaultMinTtl}timeToLive(){const age=this.maxAge()-this.age();const staleIfErrorAge=age+toNumberOrZero(this._rescc["stale-if-error"]);const staleWhileRevalidateAge=age+toNumberOrZero(this._rescc["stale-while-revalidate"]);return Math.max(0,age,staleIfErrorAge,staleWhileRevalidateAge)*1e3}stale(){return this.maxAge()<=this.age()}_useStaleIfError(){return this.maxAge()+toNumberOrZero(this._rescc["stale-if-error"])>this.age()}useStaleWhileRevalidate(){return this.maxAge()+toNumberOrZero(this._rescc["stale-while-revalidate"])>this.age()}static fromObject(obj){return new this(void 0,void 0,{_fromObject:obj})}_fromObject(obj){if(this._responseTime)throw Error("Reinitialized");if(!obj||obj.v!==1)throw Error("Invalid serialization");this._responseTime=obj.t;this._isShared=obj.sh;this._cacheHeuristic=obj.ch;this._immutableMinTtl=obj.imm!==void 0?obj.imm:24*3600*1e3;this._status=obj.st;this._resHeaders=obj.resh;this._rescc=obj.rescc;this._method=obj.m;this._url=obj.u;this._host=obj.h;this._noAuthorization=obj.a;this._reqHeaders=obj.reqh;this._reqcc=obj.reqcc}toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._cacheHeuristic,imm:this._immutableMinTtl,st:this._status,resh:this._resHeaders,rescc:this._rescc,m:this._method,u:this._url,h:this._host,a:this._noAuthorization,reqh:this._reqHeaders,reqcc:this._reqcc}}revalidationHeaders(incomingReq){this._assertRequestHasHeaders(incomingReq);const headers=this._copyWithoutHopByHopHeaders(incomingReq.headers);delete headers["if-range"];if(!this._requestMatches(incomingReq,true)||!this.storable()){delete headers["if-none-match"];delete headers["if-modified-since"];return headers}if(this._resHeaders.etag){headers["if-none-match"]=headers["if-none-match"]?`${headers["if-none-match"]}, ${this._resHeaders.etag}`:this._resHeaders.etag}const forbidsWeakValidators=headers["accept-ranges"]||headers["if-match"]||headers["if-unmodified-since"]||this._method&&this._method!="GET";if(forbidsWeakValidators){delete headers["if-modified-since"];if(headers["if-none-match"]){const etags=headers["if-none-match"].split(/,/).filter(etag=>{return!/^\s*W\//.test(etag)});if(!etags.length){delete headers["if-none-match"]}else{headers["if-none-match"]=etags.join(",").trim()}}}else if(this._resHeaders["last-modified"]&&!headers["if-modified-since"]){headers["if-modified-since"]=this._resHeaders["last-modified"]}return headers}revalidatedPolicy(request,response){this._assertRequestHasHeaders(request);if(this._useStaleIfError()&&isErrorResponse(response)){return{modified:false,matches:false,policy:this}}if(!response||!response.headers){throw Error("Response headers missing")}let matches2=false;if(response.status!==void 0&&response.status!=304){matches2=false}else if(response.headers.etag&&!/^\s*W\//.test(response.headers.etag)){matches2=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\s*W\//,"")===response.headers.etag}else if(this._resHeaders.etag&&response.headers.etag){matches2=this._resHeaders.etag.replace(/^\s*W\//,"")===response.headers.etag.replace(/^\s*W\//,"")}else if(this._resHeaders["last-modified"]){matches2=this._resHeaders["last-modified"]===response.headers["last-modified"]}else{if(!this._resHeaders.etag&&!this._resHeaders["last-modified"]&&!response.headers.etag&&!response.headers["last-modified"]){matches2=true}}if(!matches2){return{policy:new this.constructor(request,response),modified:response.status!=304,matches:false}}const headers={};for(const k in this._resHeaders){headers[k]=k in response.headers&&!excludedFromRevalidationUpdate[k]?response.headers[k]:this._resHeaders[k]}const newResponse=Object.assign({},response,{status:this._status,method:this._method,headers});return{policy:new this.constructor(request,newResponse,{shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl}),modified:false,matches:true}}}}});var require_json_buffer=__commonJS({"node_modules/json-buffer/index.js"(exports2){exports2.stringify=function stringify(o){if("undefined"==typeof o)return o;if(o&&Buffer.isBuffer(o))return JSON.stringify(":base64:"+o.toString("base64"));if(o&&o.toJSON)o=o.toJSON();if(o&&"object"===typeof o){var s="";var array=Array.isArray(o);s=array?"[":"{";var first=true;for(var k in o){var ignore="function"==typeof o[k]||!array&&"undefined"===typeof o[k];if(Object.hasOwnProperty.call(o,k)&&!ignore){if(!first)s+=",";first=false;if(array){if(o[k]==void 0)s+="null";else s+=stringify(o[k])}else if(o[k]!==void 0){s+=stringify(k)+":"+stringify(o[k])}}}s+=array?"]":"}";return s}else if("string"===typeof o){return JSON.stringify(/^:/.test(o)?":"+o:o)}else if("undefined"===typeof o){return"null"}else return JSON.stringify(o)};exports2.parse=function(s){return JSON.parse(s,function(key,value){if("string"===typeof value){if(/^:base64:/.test(value))return Buffer.from(value.substring(8),"base64");else return/^:/.test(value)?value.substring(1):value}return value})}}});var require_src=__commonJS({"node_modules/keyv/src/index.js"(exports2,module2){"use strict";var EventEmitter3=require("events");var JSONB=require_json_buffer();var loadStore=options=>{const adapters={redis:"@keyv/redis",rediss:"@keyv/redis",mongodb:"@keyv/mongo",mongo:"@keyv/mongo",sqlite:"@keyv/sqlite",postgresql:"@keyv/postgres",postgres:"@keyv/postgres",mysql:"@keyv/mysql",etcd:"@keyv/etcd",offline:"@keyv/offline",tiered:"@keyv/tiered"};if(options.adapter||options.uri){const adapter=options.adapter||/^[^:+]*/.exec(options.uri)[0];return new(require(adapters[adapter]))(options)}return new Map};var iterableAdapters=["sqlite","postgres","mysql","mongo","redis","tiered"];var Keyv2=class extends EventEmitter3{constructor(uri,{emitErrors=true,...options}={}){super();this.opts={namespace:"keyv",serialize:JSONB.stringify,deserialize:JSONB.parse,...typeof uri==="string"?{uri}:uri,...options};if(!this.opts.store){const adapterOptions={...this.opts};this.opts.store=loadStore(adapterOptions)}if(this.opts.compression){const compression=this.opts.compression;this.opts.serialize=compression.serialize.bind(compression);this.opts.deserialize=compression.deserialize.bind(compression)}if(typeof this.opts.store.on==="function"&&emitErrors){this.opts.store.on("error",error=>this.emit("error",error))}this.opts.store.namespace=this.opts.namespace;const generateIterator=iterator=>async function*(){for await(const[key,raw]of typeof iterator==="function"?iterator(this.opts.store.namespace):iterator){const data=await this.opts.deserialize(raw);if(this.opts.store.namespace&&!key.includes(this.opts.store.namespace)){continue}if(typeof data.expires==="number"&&Date.now()>data.expires){this.delete(key);continue}yield[this._getKeyUnprefix(key),data.value]}};if(typeof this.opts.store[Symbol.iterator]==="function"&&this.opts.store instanceof Map){this.iterator=generateIterator(this.opts.store)}else if(typeof this.opts.store.iterator==="function"&&this.opts.store.opts&&this._checkIterableAdaptar()){this.iterator=generateIterator(this.opts.store.iterator.bind(this.opts.store))}}_checkIterableAdaptar(){return iterableAdapters.includes(this.opts.store.opts.dialect)||iterableAdapters.findIndex(element=>this.opts.store.opts.url.includes(element))>=0}_getKeyPrefix(key){return`${this.opts.namespace}:${key}`}_getKeyPrefixArray(keys2){return keys2.map(key=>`${this.opts.namespace}:${key}`)}_getKeyUnprefix(key){return key.split(":").splice(1).join(":")}get(key,options){const{store}=this.opts;const isArray3=Array.isArray(key);const keyPrefixed=isArray3?this._getKeyPrefixArray(key):this._getKeyPrefix(key);if(isArray3&&store.getMany===void 0){const promises=[];for(const key2 of keyPrefixed){promises.push(Promise.resolve().then(()=>store.get(key2)).then(data=>typeof data==="string"?this.opts.deserialize(data):this.opts.compression?this.opts.deserialize(data):data).then(data=>{if(data===void 0||data===null){return void 0}if(typeof data.expires==="number"&&Date.now()>data.expires){return this.delete(key2).then(()=>void 0)}return options&&options.raw?data:data.value}))}return Promise.allSettled(promises).then(values2=>{const data=[];for(const value of values2){data.push(value.value)}return data})}return Promise.resolve().then(()=>isArray3?store.getMany(keyPrefixed):store.get(keyPrefixed)).then(data=>typeof data==="string"?this.opts.deserialize(data):this.opts.compression?this.opts.deserialize(data):data).then(data=>{if(data===void 0||data===null){return void 0}if(isArray3){return data.map((row,index)=>{if(typeof row==="string"){row=this.opts.deserialize(row)}if(row===void 0||row===null){return void 0}if(typeof row.expires==="number"&&Date.now()>row.expires){this.delete(key[index]).then(()=>void 0);return void 0}return options&&options.raw?row:row.value})}if(typeof data.expires==="number"&&Date.now()>data.expires){return this.delete(key).then(()=>void 0)}return options&&options.raw?data:data.value})}set(key,value,ttl2){const keyPrefixed=this._getKeyPrefix(key);if(typeof ttl2==="undefined"){ttl2=this.opts.ttl}if(ttl2===0){ttl2=void 0}const{store}=this.opts;return Promise.resolve().then(()=>{const expires=typeof ttl2==="number"?Date.now()+ttl2:null;if(typeof value==="symbol"){this.emit("error","symbol cannot be serialized")}value={value,expires};return this.opts.serialize(value)}).then(value2=>store.set(keyPrefixed,value2,ttl2)).then(()=>true)}delete(key){const{store}=this.opts;if(Array.isArray(key)){const keyPrefixed2=this._getKeyPrefixArray(key);if(store.deleteMany===void 0){const promises=[];for(const key2 of keyPrefixed2){promises.push(store.delete(key2))}return Promise.allSettled(promises).then(values2=>values2.every(x=>x.value===true))}return Promise.resolve().then(()=>store.deleteMany(keyPrefixed2))}const keyPrefixed=this._getKeyPrefix(key);return Promise.resolve().then(()=>store.delete(keyPrefixed))}clear(){const{store}=this.opts;return Promise.resolve().then(()=>store.clear())}has(key){const keyPrefixed=this._getKeyPrefix(key);const{store}=this.opts;return Promise.resolve().then(async()=>{if(typeof store.has==="function"){return store.has(keyPrefixed)}const value=await store.get(keyPrefixed);return value!==void 0})}disconnect(){const{store}=this.opts;if(typeof store.disconnect==="function"){return store.disconnect()}}};module2.exports=Keyv2}});var require_mimic_response=__commonJS({"node_modules/decompress-response/node_modules/mimic-response/index.js"(exports2,module2){"use strict";var knownProperties2=["aborted","complete","headers","httpVersion","httpVersionMinor","httpVersionMajor","method","rawHeaders","rawTrailers","setTimeout","socket","statusCode","statusMessage","trailers","url"];module2.exports=(fromStream2,toStream)=>{if(toStream._readableState.autoDestroy){throw new Error("The second stream must have the `autoDestroy` option set to `false`")}const fromProperties=new Set(Object.keys(fromStream2).concat(knownProperties2));const properties={};for(const property2 of fromProperties){if(property2 in toStream){continue}properties[property2]={get(){const value=fromStream2[property2];const isFunction3=typeof value==="function";return isFunction3?value.bind(fromStream2):value},set(value){fromStream2[property2]=value},enumerable:true,configurable:false}}Object.defineProperties(toStream,properties);fromStream2.once("aborted",()=>{toStream.destroy();toStream.emit("aborted")});fromStream2.once("close",()=>{if(fromStream2.complete){if(toStream.readable){toStream.once("end",()=>{toStream.emit("close")})}else{toStream.emit("close")}}else{toStream.emit("close")}});return toStream}}});var require_decompress_response=__commonJS({"node_modules/decompress-response/index.js"(exports2,module2){"use strict";var{Transform,PassThrough}=require("stream");var zlib2=require("zlib");var mimicResponse2=require_mimic_response();module2.exports=response=>{const contentEncoding=(response.headers["content-encoding"]||"").toLowerCase();if(!["gzip","deflate","br"].includes(contentEncoding)){return response}const isBrotli=contentEncoding==="br";if(isBrotli&&typeof zlib2.createBrotliDecompress!=="function"){response.destroy(new Error("Brotli is not supported on Node.js < 12"));return response}let isEmpty2=true;const checker=new Transform({transform(data,_encoding,callback){isEmpty2=false;callback(null,data)},flush(callback){callback()}});const finalStream=new PassThrough({autoDestroy:false,destroy(error,callback){response.destroy();callback(error)}});const decompressStream=isBrotli?zlib2.createBrotliDecompress():zlib2.createUnzip();decompressStream.once("error",error=>{if(isEmpty2&&!response.readable){finalStream.end();return}finalStream.destroy(error)});mimicResponse2(response,finalStream);response.pipe(checker).pipe(decompressStream).pipe(finalStream);return finalStream}}});var require_quick_lru=__commonJS({"node_modules/quick-lru/index.js"(exports2,module2){"use strict";var QuickLRU=class{constructor(options={}){if(!(options.maxSize&&options.maxSize>0)){throw new TypeError("`maxSize` must be a number greater than 0")}this.maxSize=options.maxSize;this.onEviction=options.onEviction;this.cache=new Map;this.oldCache=new Map;this._size=0}_set(key,value){this.cache.set(key,value);this._size++;if(this._size>=this.maxSize){this._size=0;if(typeof this.onEviction==="function"){for(const[key2,value2]of this.oldCache.entries()){this.onEviction(key2,value2)}}this.oldCache=this.cache;this.cache=new Map}}get(key){if(this.cache.has(key)){return this.cache.get(key)}if(this.oldCache.has(key)){const value=this.oldCache.get(key);this.oldCache.delete(key);this._set(key,value);return value}}set(key,value){if(this.cache.has(key)){this.cache.set(key,value)}else{this._set(key,value)}return this}has(key){return this.cache.has(key)||this.oldCache.has(key)}peek(key){if(this.cache.has(key)){return this.cache.get(key)}if(this.oldCache.has(key)){return this.oldCache.get(key)}}delete(key){const deleted=this.cache.delete(key);if(deleted){this._size--}return this.oldCache.delete(key)||deleted}clear(){this.cache.clear();this.oldCache.clear();this._size=0}*keys(){for(const[key]of this){yield key}}*values(){for(const[,value]of this){yield value}}*[Symbol.iterator](){for(const item of this.cache){yield item}for(const item of this.oldCache){const[key]=item;if(!this.cache.has(key)){yield item}}}get size(){let oldCacheSize=0;for(const key of this.oldCache.keys()){if(!this.cache.has(key)){oldCacheSize++}}return Math.min(this._size+oldCacheSize,this.maxSize)}};module2.exports=QuickLRU}});var require_delay_async_destroy=__commonJS({"node_modules/http2-wrapper/source/utils/delay-async-destroy.js"(exports2,module2){"use strict";module2.exports=stream3=>{if(stream3.listenerCount("error")!==0){return stream3}stream3.__destroy=stream3._destroy;stream3._destroy=(...args2)=>{const callback=args2.pop();stream3.__destroy(...args2,async error=>{await Promise.resolve();callback(error)})};const onError=error=>{Promise.resolve().then(()=>{stream3.emit("error",error)})};stream3.once("error",onError);Promise.resolve().then(()=>{stream3.off("error",onError)});return stream3}}});var require_agent=__commonJS({"node_modules/http2-wrapper/source/agent.js"(exports2,module2){"use strict";var{URL:URL3}=require("url");var EventEmitter3=require("events");var tls=require("tls");var http22=require("http2");var QuickLRU=require_quick_lru();var delayAsyncDestroy=require_delay_async_destroy();var kCurrentStreamCount=Symbol("currentStreamCount");var kRequest=Symbol("request");var kOriginSet=Symbol("cachedOriginSet");var kGracefullyClosing=Symbol("gracefullyClosing");var kLength=Symbol("length");var nameKeys=["createConnection","maxDeflateDynamicTableSize","maxSettings","maxSessionMemory","maxHeaderListPairs","maxOutstandingPings","maxReservedRemoteStreams","maxSendHeaderBlockLength","paddingStrategy","peerMaxConcurrentStreams","settings","family","localAddress","rejectUnauthorized","pskCallback","minDHSize","path","socket","ca","cert","sigalgs","ciphers","clientCertEngine","crl","dhparam","ecdhCurve","honorCipherOrder","key","privateKeyEngine","privateKeyIdentifier","maxVersion","minVersion","pfx","secureOptions","secureProtocol","sessionIdContext","ticketKeys"];var getSortedIndex=(array,value,compare)=>{let low=0;let high=array.length;while(low<high){const mid=low+high>>>1;if(compare(array[mid],value)){low=mid+1}else{high=mid}}return low};var compareSessions=(a,b)=>a.remoteSettings.maxConcurrentStreams>b.remoteSettings.maxConcurrentStreams;var closeCoveredSessions=(where,session)=>{for(let index=0;index<where.length;index++){const coveredSession=where[index];if(coveredSession[kOriginSet].length>0&&coveredSession[kOriginSet].length<session[kOriginSet].length&&coveredSession[kOriginSet].every(origin=>session[kOriginSet].includes(origin))&&coveredSession[kCurrentStreamCount]+session[kCurrentStreamCount]<=session.remoteSettings.maxConcurrentStreams){gracefullyClose(coveredSession)}}};var closeSessionIfCovered=(where,coveredSession)=>{for(let index=0;index<where.length;index++){const session=where[index];if(coveredSession[kOriginSet].length>0&&coveredSession[kOriginSet].length<session[kOriginSet].length&&coveredSession[kOriginSet].every(origin=>session[kOriginSet].includes(origin))&&coveredSession[kCurrentStreamCount]+session[kCurrentStreamCount]<=session.remoteSettings.maxConcurrentStreams){gracefullyClose(coveredSession);return true}}return false};var gracefullyClose=session=>{session[kGracefullyClosing]=true;if(session[kCurrentStreamCount]===0){session.close()}};var Agent=class _Agent extends EventEmitter3{constructor({timeout=0,maxSessions=Number.POSITIVE_INFINITY,maxEmptySessions=10,maxCachedTlsSessions=100}={}){super();this.sessions={};this.queue={};this.timeout=timeout;this.maxSessions=maxSessions;this.maxEmptySessions=maxEmptySessions;this._emptySessionCount=0;this._sessionCount=0;this.settings={enablePush:false,initialWindowSize:1024*1024*32};this.tlsSessionCache=new QuickLRU({maxSize:maxCachedTlsSessions})}get protocol(){return"https:"}normalizeOptions(options){let normalized="";for(let index=0;index<nameKeys.length;index++){const key=nameKeys[index];normalized+=":";if(options&&options[key]!==void 0){normalized+=options[key]}}return normalized}_processQueue(){if(this._sessionCount>=this.maxSessions){this.closeEmptySessions(this.maxSessions-this._sessionCount+1);return}for(const normalizedOptions in this.queue){for(const normalizedOrigin in this.queue[normalizedOptions]){const item=this.queue[normalizedOptions][normalizedOrigin];if(!item.completed){item.completed=true;item()}}}}_isBetterSession(thisStreamCount,thatStreamCount){return thisStreamCount>thatStreamCount}_accept(session,listeners,normalizedOrigin,options){let index=0;while(index<listeners.length&&session[kCurrentStreamCount]<session.remoteSettings.maxConcurrentStreams){listeners[index].resolve(session);index++}listeners.splice(0,index);if(listeners.length>0){this.getSession(normalizedOrigin,options,listeners);listeners.length=0}}getSession(origin,options,listeners){return new Promise((resolve,reject2)=>{if(Array.isArray(listeners)&&listeners.length>0){listeners=[...listeners];resolve()}else{listeners=[{resolve,reject:reject2}]}try{if(typeof origin==="string"){origin=new URL3(origin)}else if(!(origin instanceof URL3)){throw new TypeError("The `origin` argument needs to be a string or an URL object")}if(options){const{servername}=options;const{hostname}=origin;if(servername&&hostname!==servername){throw new Error(`Origin ${hostname} differs from servername ${servername}`)}}}catch(error){for(let index=0;index<listeners.length;index++){listeners[index].reject(error)}return}const normalizedOptions=this.normalizeOptions(options);const normalizedOrigin=origin.origin;if(normalizedOptions in this.sessions){const sessions=this.sessions[normalizedOptions];let maxConcurrentStreams=-1;let currentStreamsCount=-1;let optimalSession;for(let index=0;index<sessions.length;index++){const session=sessions[index];const sessionMaxConcurrentStreams=session.remoteSettings.maxConcurrentStreams;if(sessionMaxConcurrentStreams<maxConcurrentStreams){break}if(!session[kOriginSet].includes(normalizedOrigin)){continue}const sessionCurrentStreamsCount=session[kCurrentStreamCount];if(sessionCurrentStreamsCount>=sessionMaxConcurrentStreams||session[kGracefullyClosing]||session.destroyed){continue}if(!optimalSession){maxConcurrentStreams=sessionMaxConcurrentStreams}if(this._isBetterSession(sessionCurrentStreamsCount,currentStreamsCount)){optimalSession=session;currentStreamsCount=sessionCurrentStreamsCount}}if(optimalSession){this._accept(optimalSession,listeners,normalizedOrigin,options);return}}if(normalizedOptions in this.queue){if(normalizedOrigin in this.queue[normalizedOptions]){this.queue[normalizedOptions][normalizedOrigin].listeners.push(...listeners);return}}else{this.queue[normalizedOptions]={[kLength]:0}}const removeFromQueue=()=>{if(normalizedOptions in this.queue&&this.queue[normalizedOptions][normalizedOrigin]===entry){delete this.queue[normalizedOptions][normalizedOrigin];if(--this.queue[normalizedOptions][kLength]===0){delete this.queue[normalizedOptions]}}};const entry=async()=>{this._sessionCount++;const name=`${normalizedOrigin}:${normalizedOptions}`;let receivedSettings=false;let socket;try{const computedOptions={...options};if(computedOptions.settings===void 0){computedOptions.settings=this.settings}if(computedOptions.session===void 0){computedOptions.session=this.tlsSessionCache.get(name)}const createConnection=computedOptions.createConnection||this.createConnection;socket=await createConnection.call(this,origin,computedOptions);computedOptions.createConnection=()=>socket;const session=http22.connect(origin,computedOptions);session[kCurrentStreamCount]=0;session[kGracefullyClosing]=false;const getOriginSet=()=>{const{socket:socket2}=session;let originSet;if(socket2.servername===false){socket2.servername=socket2.remoteAddress;originSet=session.originSet;socket2.servername=false}else{originSet=session.originSet}return originSet};const isFree=()=>session[kCurrentStreamCount]<session.remoteSettings.maxConcurrentStreams;session.socket.once("session",tlsSession=>{this.tlsSessionCache.set(name,tlsSession)});session.once("error",error=>{for(let index=0;index<listeners.length;index++){listeners[index].reject(error)}this.tlsSessionCache.delete(name)});session.setTimeout(this.timeout,()=>{session.destroy()});session.once("close",()=>{this._sessionCount--;if(receivedSettings){this._emptySessionCount--;const where=this.sessions[normalizedOptions];if(where.length===1){delete this.sessions[normalizedOptions]}else{where.splice(where.indexOf(session),1)}}else{removeFromQueue();const error=new Error("Session closed without receiving a SETTINGS frame");error.code="HTTP2WRAPPER_NOSETTINGS";for(let index=0;index<listeners.length;index++){listeners[index].reject(error)}}this._processQueue()});const processListeners=()=>{const queue=this.queue[normalizedOptions];if(!queue){return}const originSet=session[kOriginSet];for(let index=0;index<originSet.length;index++){const origin2=originSet[index];if(origin2 in queue){const{listeners:listeners2,completed}=queue[origin2];let index2=0;while(index2<listeners2.length&&isFree()){listeners2[index2].resolve(session);index2++}queue[origin2].listeners.splice(0,index2);if(queue[origin2].listeners.length===0&&!completed){delete queue[origin2];if(--queue[kLength]===0){delete this.queue[normalizedOptions];break}}if(!isFree()){break}}}};session.on("origin",()=>{session[kOriginSet]=getOriginSet()||[];session[kGracefullyClosing]=false;closeSessionIfCovered(this.sessions[normalizedOptions],session);if(session[kGracefullyClosing]||!isFree()){return}processListeners();if(!isFree()){return}closeCoveredSessions(this.sessions[normalizedOptions],session)});session.once("remoteSettings",()=>{if(entry.destroyed){const error=new Error("Agent has been destroyed");for(let index=0;index<listeners.length;index++){listeners[index].reject(error)}session.destroy();return}if(session.setLocalWindowSize){session.setLocalWindowSize(1024*1024*4)}session[kOriginSet]=getOriginSet()||[];if(session.socket.encrypted){const mainOrigin=session[kOriginSet][0];if(mainOrigin!==normalizedOrigin){const error=new Error(`Requested origin ${normalizedOrigin} does not match server ${mainOrigin}`);for(let index=0;index<listeners.length;index++){listeners[index].reject(error)}session.destroy();return}}removeFromQueue();{const where=this.sessions;if(normalizedOptions in where){const sessions=where[normalizedOptions];sessions.splice(getSortedIndex(sessions,session,compareSessions),0,session)}else{where[normalizedOptions]=[session]}}receivedSettings=true;this._emptySessionCount++;this.emit("session",session);this._accept(session,listeners,normalizedOrigin,options);if(session[kCurrentStreamCount]===0&&this._emptySessionCount>this.maxEmptySessions){this.closeEmptySessions(this._emptySessionCount-this.maxEmptySessions)}session.on("remoteSettings",()=>{if(!isFree()){return}processListeners();if(!isFree()){return}closeCoveredSessions(this.sessions[normalizedOptions],session)})});session[kRequest]=session.request;session.request=(headers,streamOptions)=>{if(session[kGracefullyClosing]){throw new Error("The session is gracefully closing. No new streams are allowed.")}const stream3=session[kRequest](headers,streamOptions);session.ref();if(session[kCurrentStreamCount]++===0){this._emptySessionCount--}stream3.once("close",()=>{if(--session[kCurrentStreamCount]===0){this._emptySessionCount++;session.unref();if(this._emptySessionCount>this.maxEmptySessions||session[kGracefullyClosing]){session.close();return}}if(session.destroyed||session.closed){return}if(isFree()&&!closeSessionIfCovered(this.sessions[normalizedOptions],session)){closeCoveredSessions(this.sessions[normalizedOptions],session);processListeners();if(session[kCurrentStreamCount]===0){this._processQueue()}}});return stream3}}catch(error){removeFromQueue();this._sessionCount--;for(let index=0;index<listeners.length;index++){listeners[index].reject(error)}}};entry.listeners=listeners;entry.completed=false;entry.destroyed=false;this.queue[normalizedOptions][normalizedOrigin]=entry;this.queue[normalizedOptions][kLength]++;this._processQueue()})}request(origin,options,headers,streamOptions){return new Promise((resolve,reject2)=>{this.getSession(origin,options,[{reject:reject2,resolve:session=>{try{const stream3=session.request(headers,streamOptions);delayAsyncDestroy(stream3);resolve(stream3)}catch(error){reject2(error)}}}])})}async createConnection(origin,options){return _Agent.connect(origin,options)}static connect(origin,options){options.ALPNProtocols=["h2"];const port=origin.port||443;const host=origin.hostname;if(typeof options.servername==="undefined"){options.servername=host}const socket=tls.connect(port,host,options);if(options.socket){socket._peername={family:void 0,address:void 0,port}}return socket}closeEmptySessions(maxCount=Number.POSITIVE_INFINITY){let closedCount=0;const{sessions}=this;for(const key in sessions){const thisSessions=sessions[key];for(let index=0;index<thisSessions.length;index++){const session=thisSessions[index];if(session[kCurrentStreamCount]===0){closedCount++;session.close();if(closedCount>=maxCount){return closedCount}}}}return closedCount}destroy(reason){const{sessions,queue}=this;for(const key in sessions){const thisSessions=sessions[key];for(let index=0;index<thisSessions.length;index++){thisSessions[index].destroy(reason)}}for(const normalizedOptions in queue){const entries2=queue[normalizedOptions];for(const normalizedOrigin in entries2){entries2[normalizedOrigin].destroyed=true}}this.queue={};this.tlsSessionCache.clear()}get emptySessionCount(){return this._emptySessionCount}get pendingSessionCount(){return this._sessionCount-this._emptySessionCount}get sessionCount(){return this._sessionCount}};Agent.kCurrentStreamCount=kCurrentStreamCount;Agent.kGracefullyClosing=kGracefullyClosing;module2.exports={Agent,globalAgent:new Agent}}});var require_incoming_message=__commonJS({"node_modules/http2-wrapper/source/incoming-message.js"(exports2,module2){"use strict";var{Readable:Readable2}=require("stream");var IncomingMessage=class extends Readable2{constructor(socket,highWaterMark){super({emitClose:false,autoDestroy:true,highWaterMark});this.statusCode=null;this.statusMessage="";this.httpVersion="2.0";this.httpVersionMajor=2;this.httpVersionMinor=0;this.headers={};this.trailers={};this.req=null;this.aborted=false;this.complete=false;this.upgrade=null;this.rawHeaders=[];this.rawTrailers=[];this.socket=socket;this._dumped=false}get connection(){return this.socket}set connection(value){this.socket=value}_destroy(error,callback){if(!this.readableEnded){this.aborted=true}callback();this.req._request.destroy(error)}setTimeout(ms,callback){this.req.setTimeout(ms,callback);return this}_dump(){if(!this._dumped){this._dumped=true;this.removeAllListeners("data");this.resume()}}_read(){if(this.req){this.req._request.resume()}}};module2.exports=IncomingMessage}});var require_proxy_events=__commonJS({"node_modules/http2-wrapper/source/utils/proxy-events.js"(exports2,module2){"use strict";module2.exports=(from,to,events)=>{for(const event of events){from.on(event,(...args2)=>to.emit(event,...args2))}}}});var require_errors=__commonJS({"node_modules/http2-wrapper/source/utils/errors.js"(exports2,module2){"use strict";var makeError=(Base,key,getMessage)=>{module2.exports[key]=class NodeError extends Base{constructor(...args2){super(typeof getMessage==="string"?getMessage:getMessage(args2));this.name=`${super.name} [${key}]`;this.code=key}}};makeError(TypeError,"ERR_INVALID_ARG_TYPE",args2=>{const type2=args2[0].includes(".")?"property":"argument";let valid=args2[1];const isManyTypes=Array.isArray(valid);if(isManyTypes){valid=`${valid.slice(0,-1).join(", ")} or ${valid.slice(-1)}`}return`The "${args2[0]}" ${type2} must be ${isManyTypes?"one of":"of"} type ${valid}. Received ${typeof args2[2]}`});makeError(TypeError,"ERR_INVALID_PROTOCOL",args2=>`Protocol "${args2[0]}" not supported. Expected "${args2[1]}"`);makeError(Error,"ERR_HTTP_HEADERS_SENT",args2=>`Cannot ${args2[0]} headers after they are sent to the client`);makeError(TypeError,"ERR_INVALID_HTTP_TOKEN",args2=>`${args2[0]} must be a valid HTTP token [${args2[1]}]`);makeError(TypeError,"ERR_HTTP_INVALID_HEADER_VALUE",args2=>`Invalid value "${args2[0]} for header "${args2[1]}"`);makeError(TypeError,"ERR_INVALID_CHAR",args2=>`Invalid character in ${args2[0]} [${args2[1]}]`);makeError(Error,"ERR_HTTP2_NO_SOCKET_MANIPULATION","HTTP/2 sockets should not be directly manipulated (e.g. read and written)")}});var require_is_request_pseudo_header=__commonJS({"node_modules/http2-wrapper/source/utils/is-request-pseudo-header.js"(exports2,module2){"use strict";module2.exports=header2=>{switch(header2){case":method":case":scheme":case":authority":case":path":return true;default:return false}}}});var require_validate_header_name=__commonJS({"node_modules/http2-wrapper/source/utils/validate-header-name.js"(exports2,module2){"use strict";var{ERR_INVALID_HTTP_TOKEN}=require_errors();var isRequestPseudoHeader=require_is_request_pseudo_header();var isValidHttpToken=/^[\^`\-\w!#$%&*+.|~]+$/;module2.exports=name=>{if(typeof name!=="string"||!isValidHttpToken.test(name)&&!isRequestPseudoHeader(name)){throw new ERR_INVALID_HTTP_TOKEN("Header name",name)}}}});var require_validate_header_value=__commonJS({"node_modules/http2-wrapper/source/utils/validate-header-value.js"(exports2,module2){"use strict";var{ERR_HTTP_INVALID_HEADER_VALUE,ERR_INVALID_CHAR}=require_errors();var isInvalidHeaderValue=/[^\t\u0020-\u007E\u0080-\u00FF]/;module2.exports=(name,value)=>{if(typeof value==="undefined"){throw new ERR_HTTP_INVALID_HEADER_VALUE(value,name)}if(isInvalidHeaderValue.test(value)){throw new ERR_INVALID_CHAR("header content",name)}}}});var require_proxy_socket_handler=__commonJS({"node_modules/http2-wrapper/source/utils/proxy-socket-handler.js"(exports2,module2){"use strict";var{ERR_HTTP2_NO_SOCKET_MANIPULATION}=require_errors();var proxySocketHandler={has(stream3,property2){const reference=stream3.session===void 0?stream3:stream3.session.socket;return property2 in stream3||property2 in reference},get(stream3,property2){switch(property2){case"on":case"once":case"end":case"emit":case"destroy":return stream3[property2].bind(stream3);case"writable":case"destroyed":return stream3[property2];case"readable":if(stream3.destroyed){return false}return stream3.readable;case"setTimeout":{const{session}=stream3;if(session!==void 0){return session.setTimeout.bind(session)}return stream3.setTimeout.bind(stream3)}case"write":case"read":case"pause":case"resume":throw new ERR_HTTP2_NO_SOCKET_MANIPULATION;default:{const reference=stream3.session===void 0?stream3:stream3.session.socket;const value=reference[property2];return typeof value==="function"?value.bind(reference):value}}},getPrototypeOf(stream3){if(stream3.session!==void 0){return Reflect.getPrototypeOf(stream3.session.socket)}return Reflect.getPrototypeOf(stream3)},set(stream3,property2,value){switch(property2){case"writable":case"readable":case"destroyed":case"on":case"once":case"end":case"emit":case"destroy":stream3[property2]=value;return true;case"setTimeout":{const{session}=stream3;if(session===void 0){stream3.setTimeout=value}else{session.setTimeout=value}return true}case"write":case"read":case"pause":case"resume":throw new ERR_HTTP2_NO_SOCKET_MANIPULATION;default:{const reference=stream3.session===void 0?stream3:stream3.session.socket;reference[property2]=value;return true}}}};module2.exports=proxySocketHandler}});var require_client_request=__commonJS({"node_modules/http2-wrapper/source/client-request.js"(exports2,module2){"use strict";var{URL:URL3,urlToHttpOptions}=require("url");var http22=require("http2");var{Writable:Writable4}=require("stream");var{Agent,globalAgent}=require_agent();var IncomingMessage=require_incoming_message();var proxyEvents2=require_proxy_events();var{ERR_INVALID_ARG_TYPE,ERR_INVALID_PROTOCOL,ERR_HTTP_HEADERS_SENT}=require_errors();var validateHeaderName=require_validate_header_name();var validateHeaderValue=require_validate_header_value();var proxySocketHandler=require_proxy_socket_handler();var{HTTP2_HEADER_STATUS,HTTP2_HEADER_METHOD,HTTP2_HEADER_PATH,HTTP2_HEADER_AUTHORITY,HTTP2_METHOD_CONNECT}=http22.constants;var kHeaders=Symbol("headers");var kOrigin=Symbol("origin");var kSession=Symbol("session");var kOptions=Symbol("options");var kFlushedHeaders=Symbol("flushedHeaders");var kJobs=Symbol("jobs");var kPendingAgentPromise=Symbol("pendingAgentPromise");var ClientRequest=class extends Writable4{constructor(input,options,callback){super({autoDestroy:false,emitClose:false});if(typeof input==="string"){input=urlToHttpOptions(new URL3(input))}else if(input instanceof URL3){input=urlToHttpOptions(input)}else{input={...input}}if(typeof options==="function"||options===void 0){callback=options;options=input}else{options=Object.assign(input,options)}if(options.h2session){this[kSession]=options.h2session;if(this[kSession].destroyed){throw new Error("The session has been closed already")}this.protocol=this[kSession].socket.encrypted?"https:":"http:"}else if(options.agent===false){this.agent=new Agent({maxEmptySessions:0})}else if(typeof options.agent==="undefined"||options.agent===null){this.agent=globalAgent}else if(typeof options.agent.request==="function"){this.agent=options.agent}else{throw new ERR_INVALID_ARG_TYPE("options.agent",["http2wrapper.Agent-like Object","undefined","false"],options.agent)}if(this.agent){this.protocol=this.agent.protocol}if(options.protocol&&options.protocol!==this.protocol){throw new ERR_INVALID_PROTOCOL(options.protocol,this.protocol)}if(!options.port){options.port=options.defaultPort||this.agent&&this.agent.defaultPort||443}options.host=options.hostname||options.host||"localhost";delete options.hostname;const{timeout}=options;options.timeout=void 0;this[kHeaders]=Object.create(null);this[kJobs]=[];this[kPendingAgentPromise]=void 0;this.socket=null;this.connection=null;this.method=options.method||"GET";if(!(this.method==="CONNECT"&&(options.path==="/"||options.path===void 0))){this.path=options.path}this.res=null;this.aborted=false;this.reusedSocket=false;const{headers}=options;if(headers){for(const header2 in headers){this.setHeader(header2,headers[header2])}}if(options.auth&&!("authorization"in this[kHeaders])){this[kHeaders].authorization="Basic "+Buffer.from(options.auth).toString("base64")}options.session=options.tlsSession;options.path=options.socketPath;this[kOptions]=options;this[kOrigin]=new URL3(`${this.protocol}//${options.servername||options.host}:${options.port}`);const reuseSocket=options._reuseSocket;if(reuseSocket){options.createConnection=(...args2)=>{if(reuseSocket.destroyed){return this.agent.createConnection(...args2)}return reuseSocket};this.agent.getSession(this[kOrigin],this[kOptions]).catch(()=>{})}if(timeout){this.setTimeout(timeout)}if(callback){this.once("response",callback)}this[kFlushedHeaders]=false}get method(){return this[kHeaders][HTTP2_HEADER_METHOD]}set method(value){if(value){this[kHeaders][HTTP2_HEADER_METHOD]=value.toUpperCase()}}get path(){const header2=this.method==="CONNECT"?HTTP2_HEADER_AUTHORITY:HTTP2_HEADER_PATH;return this[kHeaders][header2]}set path(value){if(value){const header2=this.method==="CONNECT"?HTTP2_HEADER_AUTHORITY:HTTP2_HEADER_PATH;this[kHeaders][header2]=value}}get host(){return this[kOrigin].hostname}set host(_value){}get _mustNotHaveABody(){return this.method==="GET"||this.method==="HEAD"||this.method==="DELETE"}_write(chunk2,encoding,callback){if(this._mustNotHaveABody){callback(new Error("The GET, HEAD and DELETE methods must NOT have a body"));return}this.flushHeaders();const callWrite=()=>this._request.write(chunk2,encoding,callback);if(this._request){callWrite()}else{this[kJobs].push(callWrite)}}_final(callback){this.flushHeaders();const callEnd=()=>{if(this._mustNotHaveABody||this.method==="CONNECT"){callback();return}this._request.end(callback)};if(this._request){callEnd()}else{this[kJobs].push(callEnd)}}abort(){if(this.res&&this.res.complete){return}if(!this.aborted){process.nextTick(()=>this.emit("abort"))}this.aborted=true;this.destroy()}async _destroy(error,callback){if(this.res){this.res._dump()}if(this._request){this._request.destroy()}else{process.nextTick(()=>{this.emit("close")})}try{await this[kPendingAgentPromise]}catch(internalError){if(this.aborted){error=internalError}}callback(error)}async flushHeaders(){if(this[kFlushedHeaders]||this.destroyed){return}this[kFlushedHeaders]=true;const isConnectMethod=this.method===HTTP2_METHOD_CONNECT;const onStream=stream3=>{this._request=stream3;if(this.destroyed){stream3.destroy();return}if(!isConnectMethod){proxyEvents2(stream3,this,["timeout","continue"])}stream3.once("error",error=>{this.destroy(error)});stream3.once("aborted",()=>{const{res}=this;if(res){res.aborted=true;res.emit("aborted");res.destroy()}else{this.destroy(new Error("The server aborted the HTTP/2 stream"))}});const onResponse=(headers,flags,rawHeaders)=>{const response=new IncomingMessage(this.socket,stream3.readableHighWaterMark);this.res=response;response.url=`${this[kOrigin].origin}${this.path}`;response.req=this;response.statusCode=headers[HTTP2_HEADER_STATUS];response.headers=headers;response.rawHeaders=rawHeaders;response.once("end",()=>{response.complete=true;response.socket=null;response.connection=null});if(isConnectMethod){response.upgrade=true;if(this.emit("connect",response,stream3,Buffer.alloc(0))){this.emit("close")}else{stream3.destroy()}}else{stream3.on("data",chunk2=>{if(!response._dumped&&!response.push(chunk2)){stream3.pause()}});stream3.once("end",()=>{if(!this.aborted){response.push(null)}});if(!this.emit("response",response)){response._dump()}}};stream3.once("response",onResponse);stream3.once("headers",headers=>this.emit("information",{statusCode:headers[HTTP2_HEADER_STATUS]}));stream3.once("trailers",(trailers,flags,rawTrailers)=>{const{res}=this;if(res===null){onResponse(trailers,flags,rawTrailers);return}res.trailers=trailers;res.rawTrailers=rawTrailers});stream3.once("close",()=>{const{aborted,res}=this;if(res){if(aborted){res.aborted=true;res.emit("aborted");res.destroy()}const finish=()=>{res.emit("close");this.destroy();this.emit("close")};if(res.readable){res.once("end",finish)}else{finish()}return}if(!this.destroyed){this.destroy(new Error("The HTTP/2 stream has been early terminated"));this.emit("close");return}this.destroy();this.emit("close")});this.socket=new Proxy(stream3,proxySocketHandler);for(const job of this[kJobs]){job()}this[kJobs].length=0;this.emit("socket",this.socket)};if(!(HTTP2_HEADER_AUTHORITY in this[kHeaders])&&!isConnectMethod){this[kHeaders][HTTP2_HEADER_AUTHORITY]=this[kOrigin].host}if(this[kSession]){try{onStream(this[kSession].request(this[kHeaders]))}catch(error){this.destroy(error)}}else{this.reusedSocket=true;try{const promise=this.agent.request(this[kOrigin],this[kOptions],this[kHeaders]);this[kPendingAgentPromise]=promise;onStream(await promise);this[kPendingAgentPromise]=false}catch(error){this[kPendingAgentPromise]=false;this.destroy(error)}}}get connection(){return this.socket}set connection(value){this.socket=value}getHeaderNames(){return Object.keys(this[kHeaders])}hasHeader(name){if(typeof name!=="string"){throw new ERR_INVALID_ARG_TYPE("name","string",name)}return Boolean(this[kHeaders][name.toLowerCase()])}getHeader(name){if(typeof name!=="string"){throw new ERR_INVALID_ARG_TYPE("name","string",name)}return this[kHeaders][name.toLowerCase()]}get headersSent(){return this[kFlushedHeaders]}removeHeader(name){if(typeof name!=="string"){throw new ERR_INVALID_ARG_TYPE("name","string",name)}if(this.headersSent){throw new ERR_HTTP_HEADERS_SENT("remove")}delete this[kHeaders][name.toLowerCase()]}setHeader(name,value){if(this.headersSent){throw new ERR_HTTP_HEADERS_SENT("set")}validateHeaderName(name);validateHeaderValue(name,value);const lowercased=name.toLowerCase();if(lowercased==="connection"){if(value.toLowerCase()==="keep-alive"){return}throw new Error(`Invalid 'connection' header: ${value}`)}if(lowercased==="host"&&this.method==="CONNECT"){this[kHeaders][HTTP2_HEADER_AUTHORITY]=value}else{this[kHeaders][lowercased]=value}}setNoDelay(){}setSocketKeepAlive(){}setTimeout(ms,callback){const applyTimeout=()=>this._request.setTimeout(ms,callback);if(this._request){applyTimeout()}else{this[kJobs].push(applyTimeout)}return this}get maxHeadersCount(){if(!this.destroyed&&this._request){return this._request.session.localSettings.maxHeaderListSize}return void 0}set maxHeadersCount(_value){}};module2.exports=ClientRequest}});var require_resolve_alpn=__commonJS({"node_modules/resolve-alpn/index.js"(exports2,module2){"use strict";var tls=require("tls");module2.exports=(options={},connect=tls.connect)=>new Promise((resolve,reject2)=>{let timeout=false;let socket;const callback=async()=>{await socketPromise;socket.off("timeout",onTimeout);socket.off("error",reject2);if(options.resolveSocket){resolve({alpnProtocol:socket.alpnProtocol,socket,timeout});if(timeout){await Promise.resolve();socket.emit("timeout")}}else{socket.destroy();resolve({alpnProtocol:socket.alpnProtocol,timeout})}};const onTimeout=async()=>{timeout=true;callback()};const socketPromise=(async()=>{try{socket=await connect(options,callback);socket.on("error",reject2);socket.once("timeout",onTimeout)}catch(error){reject2(error)}})()})}});var require_calculate_server_name=__commonJS({"node_modules/http2-wrapper/source/utils/calculate-server-name.js"(exports2,module2){"use strict";var{isIP}=require("net");var assert2=require("assert");var getHost=host=>{if(host[0]==="["){const idx2=host.indexOf("]");assert2(idx2!==-1);return host.slice(1,idx2)}const idx=host.indexOf(":");if(idx===-1){return host}return host.slice(0,idx)};module2.exports=host=>{const servername=getHost(host);if(isIP(servername)){return""}return servername}}});var require_auto=__commonJS({"node_modules/http2-wrapper/source/auto.js"(exports2,module2){"use strict";var{URL:URL3,urlToHttpOptions}=require("url");var http3=require("http");var https2=require("https");var resolveALPN=require_resolve_alpn();var QuickLRU=require_quick_lru();var{Agent,globalAgent}=require_agent();var Http2ClientRequest=require_client_request();var calculateServerName=require_calculate_server_name();var delayAsyncDestroy=require_delay_async_destroy();var cache2=new QuickLRU({maxSize:100});var queue=new Map;var installSocket=(agent,socket,options)=>{socket._httpMessage={shouldKeepAlive:true};const onFree=()=>{agent.emit("free",socket,options)};socket.on("free",onFree);const onClose=()=>{agent.removeSocket(socket,options)};socket.on("close",onClose);const onTimeout=()=>{const{freeSockets}=agent;for(const sockets of Object.values(freeSockets)){if(sockets.includes(socket)){socket.destroy();return}}};socket.on("timeout",onTimeout);const onRemove=()=>{agent.removeSocket(socket,options);socket.off("close",onClose);socket.off("free",onFree);socket.off("timeout",onTimeout);socket.off("agentRemove",onRemove)};socket.on("agentRemove",onRemove);agent.emit("free",socket,options)};var createResolveProtocol=(cache3,queue2=new Map,connect=void 0)=>{return async options=>{const name=`${options.host}:${options.port}:${options.ALPNProtocols.sort()}`;if(!cache3.has(name)){if(queue2.has(name)){const result2=await queue2.get(name);return{alpnProtocol:result2.alpnProtocol}}const{path:path27}=options;options.path=options.socketPath;const resultPromise=resolveALPN(options,connect);queue2.set(name,resultPromise);try{const result2=await resultPromise;cache3.set(name,result2.alpnProtocol);queue2.delete(name);options.path=path27;return result2}catch(error){queue2.delete(name);options.path=path27;throw error}}return{alpnProtocol:cache3.get(name)}}};var defaultResolveProtocol=createResolveProtocol(cache2,queue);module2.exports=async(input,options,callback)=>{if(typeof input==="string"){input=urlToHttpOptions(new URL3(input))}else if(input instanceof URL3){input=urlToHttpOptions(input)}else{input={...input}}if(typeof options==="function"||options===void 0){callback=options;options=input}else{options=Object.assign(input,options)}options.ALPNProtocols=options.ALPNProtocols||["h2","http/1.1"];if(!Array.isArray(options.ALPNProtocols)||options.ALPNProtocols.length===0){throw new Error("The `ALPNProtocols` option must be an Array with at least one entry")}options.protocol=options.protocol||"https:";const isHttps=options.protocol==="https:";options.host=options.hostname||options.host||"localhost";options.session=options.tlsSession;options.servername=options.servername||calculateServerName(options.headers&&options.headers.host||options.host);options.port=options.port||(isHttps?443:80);options._defaultAgent=isHttps?https2.globalAgent:http3.globalAgent;const resolveProtocol=options.resolveProtocol||defaultResolveProtocol;let{agent}=options;if(agent!==void 0&&agent!==false&&agent.constructor.name!=="Object"){throw new Error("The `options.agent` can be only an object `http`, `https` or `http2` properties")}if(isHttps){options.resolveSocket=true;let{socket,alpnProtocol,timeout}=await resolveProtocol(options);if(timeout){if(socket){socket.destroy()}const error=new Error(`Timed out resolving ALPN: ${options.timeout} ms`);error.code="ETIMEDOUT";error.ms=options.timeout;throw error}if(socket&&options.createConnection){socket.destroy();socket=void 0}delete options.resolveSocket;const isHttp2=alpnProtocol==="h2";if(agent){agent=isHttp2?agent.http2:agent.https;options.agent=agent}if(agent===void 0){agent=isHttp2?globalAgent:https2.globalAgent}if(socket){if(agent===false){socket.destroy()}else{const defaultCreateConnection=(isHttp2?Agent:https2.Agent).prototype.createConnection;if(agent.createConnection===defaultCreateConnection){if(isHttp2){options._reuseSocket=socket}else{installSocket(agent,socket,options)}}else{socket.destroy()}}}if(isHttp2){return delayAsyncDestroy(new Http2ClientRequest(options,callback))}}else if(agent){options.agent=agent.http}if(options.headers){options.headers={...options.headers};if(options.headers[":authority"]){if(!options.headers.host){options.headers.host=options.headers[":authority"]}delete options.headers[":authority"]}delete options.headers[":method"];delete options.headers[":scheme"];delete options.headers[":path"]}return delayAsyncDestroy(http3.request(options,callback))};module2.exports.protocolCache=cache2;module2.exports.resolveProtocol=defaultResolveProtocol;module2.exports.createResolveProtocol=createResolveProtocol}});var require_js_stream_socket=__commonJS({"node_modules/http2-wrapper/source/utils/js-stream-socket.js"(exports2,module2){"use strict";var stream3=require("stream");var tls=require("tls");var JSStreamSocket=new tls.TLSSocket(new stream3.PassThrough)._handle._parentWrap.constructor;module2.exports=JSStreamSocket}});var require_unexpected_status_code_error=__commonJS({"node_modules/http2-wrapper/source/proxies/unexpected-status-code-error.js"(exports2,module2){"use strict";var UnexpectedStatusCodeError=class extends Error{constructor(statusCode,statusMessage=""){super(`The proxy server rejected the request with status code ${statusCode} (${statusMessage||"empty status message"})`);this.statusCode=statusCode;this.statusMessage=statusMessage}};module2.exports=UnexpectedStatusCodeError}});var require_check_type=__commonJS({"node_modules/http2-wrapper/source/utils/check-type.js"(exports2,module2){"use strict";var checkType=(name,value,types6)=>{const valid=types6.some(type2=>{const typeofType=typeof type2;if(typeofType==="string"){return typeof value===type2}return value instanceof type2});if(!valid){const names2=types6.map(type2=>typeof type2==="string"?type2:type2.name);throw new TypeError(`Expected '${name}' to be a type of ${names2.join(" or ")}, got ${typeof value}`)}};module2.exports=checkType}});var require_initialize=__commonJS({"node_modules/http2-wrapper/source/proxies/initialize.js"(exports2,module2){"use strict";var{URL:URL3}=require("url");var checkType=require_check_type();module2.exports=(self2,proxyOptions)=>{checkType("proxyOptions",proxyOptions,["object"]);checkType("proxyOptions.headers",proxyOptions.headers,["object","undefined"]);checkType("proxyOptions.raw",proxyOptions.raw,["boolean","undefined"]);checkType("proxyOptions.url",proxyOptions.url,[URL3,"string"]);const url=new URL3(proxyOptions.url);self2.proxyOptions={raw:true,...proxyOptions,headers:{...proxyOptions.headers},url}}}});var require_get_auth_headers=__commonJS({"node_modules/http2-wrapper/source/proxies/get-auth-headers.js"(exports2,module2){"use strict";module2.exports=self2=>{const{username,password}=self2.proxyOptions.url;if(username||password){const data=`${username}:${password}`;const authorization=`Basic ${Buffer.from(data).toString("base64")}`;return{"proxy-authorization":authorization,authorization}}return{}}}});var require_h1_over_h2=__commonJS({"node_modules/http2-wrapper/source/proxies/h1-over-h2.js"(exports2,module2){"use strict";var tls=require("tls");var http3=require("http");var https2=require("https");var JSStreamSocket=require_js_stream_socket();var{globalAgent}=require_agent();var UnexpectedStatusCodeError=require_unexpected_status_code_error();var initialize=require_initialize();var getAuthorizationHeaders=require_get_auth_headers();var createConnection=(self2,options,callback)=>{(async()=>{try{const{proxyOptions}=self2;const{url,headers,raw}=proxyOptions;const stream3=await globalAgent.request(url,proxyOptions,{...getAuthorizationHeaders(self2),...headers,":method":"CONNECT",":authority":`${options.host}:${options.port}`});stream3.once("error",callback);stream3.once("response",headers2=>{const statusCode=headers2[":status"];if(statusCode!==200){callback(new UnexpectedStatusCodeError(statusCode,""));return}const encrypted=self2 instanceof https2.Agent;if(raw&&encrypted){options.socket=stream3;const secureStream=tls.connect(options);secureStream.once("close",()=>{stream3.destroy()});callback(null,secureStream);return}const socket=new JSStreamSocket(stream3);socket.encrypted=false;socket._handle.getpeername=out=>{out.family=void 0;out.address=void 0;out.port=void 0};callback(null,socket)})}catch(error){callback(error)}})()};var HttpOverHttp2=class extends http3.Agent{constructor(options){super(options);initialize(this,options.proxyOptions)}createConnection(options,callback){createConnection(this,options,callback)}};var HttpsOverHttp2=class extends https2.Agent{constructor(options){super(options);initialize(this,options.proxyOptions)}createConnection(options,callback){createConnection(this,options,callback)}};module2.exports={HttpOverHttp2,HttpsOverHttp2}}});var require_h2_over_hx=__commonJS({"node_modules/http2-wrapper/source/proxies/h2-over-hx.js"(exports2,module2){"use strict";var{Agent}=require_agent();var JSStreamSocket=require_js_stream_socket();var UnexpectedStatusCodeError=require_unexpected_status_code_error();var initialize=require_initialize();var Http2OverHttpX=class extends Agent{constructor(options){super(options);initialize(this,options.proxyOptions)}async createConnection(origin,options){const authority=`${origin.hostname}:${origin.port||443}`;const[stream3,statusCode,statusMessage]=await this._getProxyStream(authority);if(statusCode!==200){throw new UnexpectedStatusCodeError(statusCode,statusMessage)}if(this.proxyOptions.raw){options.socket=stream3}else{const socket=new JSStreamSocket(stream3);socket.encrypted=false;socket._handle.getpeername=out=>{out.family=void 0;out.address=void 0;out.port=void 0};return socket}return super.createConnection(origin,options)}};module2.exports=Http2OverHttpX}});var require_h2_over_h2=__commonJS({"node_modules/http2-wrapper/source/proxies/h2-over-h2.js"(exports2,module2){"use strict";var{globalAgent}=require_agent();var Http2OverHttpX=require_h2_over_hx();var getAuthorizationHeaders=require_get_auth_headers();var getStatusCode=stream3=>new Promise((resolve,reject2)=>{stream3.once("error",reject2);stream3.once("response",headers=>{stream3.off("error",reject2);resolve(headers[":status"])})});var Http2OverHttp2=class extends Http2OverHttpX{async _getProxyStream(authority){const{proxyOptions}=this;const headers={...getAuthorizationHeaders(this),...proxyOptions.headers,":method":"CONNECT",":authority":authority};const stream3=await globalAgent.request(proxyOptions.url,proxyOptions,headers);const statusCode=await getStatusCode(stream3);return[stream3,statusCode,""]}};module2.exports=Http2OverHttp2}});var require_h2_over_h1=__commonJS({"node_modules/http2-wrapper/source/proxies/h2-over-h1.js"(exports2,module2){"use strict";var http3=require("http");var https2=require("https");var Http2OverHttpX=require_h2_over_hx();var getAuthorizationHeaders=require_get_auth_headers();var getStream3=request=>new Promise((resolve,reject2)=>{const onConnect=(response,socket,head2)=>{socket.unshift(head2);request.off("error",reject2);resolve([socket,response.statusCode,response.statusMessage])};request.once("error",reject2);request.once("connect",onConnect)});var Http2OverHttp=class extends Http2OverHttpX{async _getProxyStream(authority){const{proxyOptions}=this;const{url,headers}=this.proxyOptions;const network=url.protocol==="https:"?https2:http3;const request=network.request({...proxyOptions,hostname:url.hostname,port:url.port,path:authority,headers:{...getAuthorizationHeaders(this),...headers,host:authority},method:"CONNECT"}).end();return getStream3(request)}};module2.exports={Http2OverHttp,Http2OverHttps:Http2OverHttp}}});var require_source2=__commonJS({"node_modules/http2-wrapper/source/index.js"(exports2,module2){"use strict";var http22=require("http2");var{Agent,globalAgent}=require_agent();var ClientRequest=require_client_request();var IncomingMessage=require_incoming_message();var auto=require_auto();var{HttpOverHttp2,HttpsOverHttp2}=require_h1_over_h2();var Http2OverHttp2=require_h2_over_h2();var{Http2OverHttp,Http2OverHttps}=require_h2_over_h1();var validateHeaderName=require_validate_header_name();var validateHeaderValue=require_validate_header_value();var request=(url,options,callback)=>new ClientRequest(url,options,callback);var get4=(url,options,callback)=>{const req=new ClientRequest(url,options,callback);req.end();return req};module2.exports={...http22,ClientRequest,IncomingMessage,Agent,globalAgent,request,get:get4,auto,proxies:{HttpOverHttp2,HttpsOverHttp2,Http2OverHttp2,Http2OverHttp,Http2OverHttps},validateHeaderName,validateHeaderValue}}});var require_universalify=__commonJS({"node_modules/universalify/index.js"(exports2){"use strict";exports2.fromCallback=function(fn2){return Object.defineProperty(function(...args2){if(typeof args2[args2.length-1]==="function")fn2.apply(this,args2);else{return new Promise((resolve,reject2)=>{args2.push((err,res)=>err!=null?reject2(err):resolve(res));fn2.apply(this,args2)})}},"name",{value:fn2.name})};exports2.fromPromise=function(fn2){return Object.defineProperty(function(...args2){const cb=args2[args2.length-1];if(typeof cb!=="function")return fn2.apply(this,args2);else{args2.pop();fn2.apply(this,args2).then(r=>cb(null,r),cb)}},"name",{value:fn2.name})}}});var require_polyfills=__commonJS({"node_modules/graceful-fs/polyfills.js"(exports2,module2){var constants3=require("constants");var origCwd=process.cwd;var cwd=null;var platform=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){if(!cwd)cwd=origCwd.call(process);return cwd};try{process.cwd()}catch(er){}if(typeof process.chdir==="function"){chdir=process.chdir;process.chdir=function(d){cwd=null;chdir.call(process,d)};if(Object.setPrototypeOf)Object.setPrototypeOf(process.chdir,chdir)}var chdir;module2.exports=patch;function patch(fs14){if(constants3.hasOwnProperty("O_SYMLINK")&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)){patchLchmod(fs14)}if(!fs14.lutimes){patchLutimes(fs14)}fs14.chown=chownFix(fs14.chown);fs14.fchown=chownFix(fs14.fchown);fs14.lchown=chownFix(fs14.lchown);fs14.chmod=chmodFix(fs14.chmod);fs14.fchmod=chmodFix(fs14.fchmod);fs14.lchmod=chmodFix(fs14.lchmod);fs14.chownSync=chownFixSync(fs14.chownSync);fs14.fchownSync=chownFixSync(fs14.fchownSync);fs14.lchownSync=chownFixSync(fs14.lchownSync);fs14.chmodSync=chmodFixSync(fs14.chmodSync);fs14.fchmodSync=chmodFixSync(fs14.fchmodSync);fs14.lchmodSync=chmodFixSync(fs14.lchmodSync);fs14.stat=statFix(fs14.stat);fs14.fstat=statFix(fs14.fstat);fs14.lstat=statFix(fs14.lstat);fs14.statSync=statFixSync(fs14.statSync);fs14.fstatSync=statFixSync(fs14.fstatSync);fs14.lstatSync=statFixSync(fs14.lstatSync);if(fs14.chmod&&!fs14.lchmod){fs14.lchmod=function(path27,mode2,cb){if(cb)process.nextTick(cb)};fs14.lchmodSync=function(){}}if(fs14.chown&&!fs14.lchown){fs14.lchown=function(path27,uid,gid,cb){if(cb)process.nextTick(cb)};fs14.lchownSync=function(){}}if(platform==="win32"){fs14.rename=typeof fs14.rename!=="function"?fs14.rename:function(fs$rename){function rename3(from,to,cb){var start=Date.now();var backoff=0;fs$rename(from,to,function CB(er){if(er&&(er.code==="EACCES"||er.code==="EPERM"||er.code==="EBUSY")&&Date.now()-start<6e4){setTimeout(function(){fs14.stat(to,function(stater,st){if(stater&&stater.code==="ENOENT")fs$rename(from,to,CB);else cb(er)})},backoff);if(backoff<100)backoff+=10;return}if(cb)cb(er)})}if(Object.setPrototypeOf)Object.setPrototypeOf(rename3,fs$rename);return rename3}(fs14.rename)}fs14.read=typeof fs14.read!=="function"?fs14.read:function(fs$read){function read2(fd,buffer,offset,length,position,callback_){var callback;if(callback_&&typeof callback_==="function"){var eagCounter=0;callback=function(er,_,__){if(er&&er.code==="EAGAIN"&&eagCounter<10){eagCounter++;return fs$read.call(fs14,fd,buffer,offset,length,position,callback)}callback_.apply(this,arguments)}}return fs$read.call(fs14,fd,buffer,offset,length,position,callback)}if(Object.setPrototypeOf)Object.setPrototypeOf(read2,fs$read);return read2}(fs14.read);fs14.readSync=typeof fs14.readSync!=="function"?fs14.readSync:function(fs$readSync){return function(fd,buffer,offset,length,position){var eagCounter=0;while(true){try{return fs$readSync.call(fs14,fd,buffer,offset,length,position)}catch(er){if(er.code==="EAGAIN"&&eagCounter<10){eagCounter++;continue}throw er}}}}(fs14.readSync);function patchLchmod(fs15){fs15.lchmod=function(path27,mode2,callback){fs15.open(path27,constants3.O_WRONLY|constants3.O_SYMLINK,mode2,function(err,fd){if(err){if(callback)callback(err);return}fs15.fchmod(fd,mode2,function(err2){fs15.close(fd,function(err22){if(callback)callback(err2||err22)})})})};fs15.lchmodSync=function(path27,mode2){var fd=fs15.openSync(path27,constants3.O_WRONLY|constants3.O_SYMLINK,mode2);var threw=true;var ret;try{ret=fs15.fchmodSync(fd,mode2);threw=false}finally{if(threw){try{fs15.closeSync(fd)}catch(er){}}else{fs15.closeSync(fd)}}return ret}}function patchLutimes(fs15){if(constants3.hasOwnProperty("O_SYMLINK")&&fs15.futimes){fs15.lutimes=function(path27,at2,mt,cb){fs15.open(path27,constants3.O_SYMLINK,function(er,fd){if(er){if(cb)cb(er);return}fs15.futimes(fd,at2,mt,function(er2){fs15.close(fd,function(er22){if(cb)cb(er2||er22)})})})};fs15.lutimesSync=function(path27,at2,mt){var fd=fs15.openSync(path27,constants3.O_SYMLINK);var ret;var threw=true;try{ret=fs15.futimesSync(fd,at2,mt);threw=false}finally{if(threw){try{fs15.closeSync(fd)}catch(er){}}else{fs15.closeSync(fd)}}return ret}}else if(fs15.futimes){fs15.lutimes=function(_a12,_b2,_c,cb){if(cb)process.nextTick(cb)};fs15.lutimesSync=function(){}}}function chmodFix(orig){if(!orig)return orig;return function(target,mode2,cb){return orig.call(fs14,target,mode2,function(er){if(chownErOk(er))er=null;if(cb)cb.apply(this,arguments)})}}function chmodFixSync(orig){if(!orig)return orig;return function(target,mode2){try{return orig.call(fs14,target,mode2)}catch(er){if(!chownErOk(er))throw er}}}function chownFix(orig){if(!orig)return orig;return function(target,uid,gid,cb){return orig.call(fs14,target,uid,gid,function(er){if(chownErOk(er))er=null;if(cb)cb.apply(this,arguments)})}}function chownFixSync(orig){if(!orig)return orig;return function(target,uid,gid){try{return orig.call(fs14,target,uid,gid)}catch(er){if(!chownErOk(er))throw er}}}function statFix(orig){if(!orig)return orig;return function(target,options,cb){if(typeof options==="function"){cb=options;options=null}function callback(er,stats){if(stats){if(stats.uid<0)stats.uid+=4294967296;if(stats.gid<0)stats.gid+=4294967296}if(cb)cb.apply(this,arguments)}return options?orig.call(fs14,target,options,callback):orig.call(fs14,target,callback)}}function statFixSync(orig){if(!orig)return orig;return function(target,options){var stats=options?orig.call(fs14,target,options):orig.call(fs14,target);if(stats){if(stats.uid<0)stats.uid+=4294967296;if(stats.gid<0)stats.gid+=4294967296}return stats}}function chownErOk(er){if(!er)return true;if(er.code==="ENOSYS")return true;var nonroot=!process.getuid||process.getuid()!==0;if(nonroot){if(er.code==="EINVAL"||er.code==="EPERM")return true}return false}}}});var require_legacy_streams=__commonJS({"node_modules/graceful-fs/legacy-streams.js"(exports2,module2){var Stream=require("stream").Stream;module2.exports=legacy;function legacy(fs14){return{ReadStream,WriteStream};function ReadStream(path27,options){if(!(this instanceof ReadStream))return new ReadStream(path27,options);Stream.call(this);var self2=this;this.path=path27;this.fd=null;this.readable=true;this.paused=false;this.flags="r";this.mode=438;this.bufferSize=64*1024;options=options||{};var keys2=Object.keys(options);for(var index=0,length=keys2.length;index<length;index++){var key=keys2[index];this[key]=options[key]}if(this.encoding)this.setEncoding(this.encoding);if(this.start!==void 0){if("number"!==typeof this.start){throw TypeError("start must be a Number")}if(this.end===void 0){this.end=Infinity}else if("number"!==typeof this.end){throw TypeError("end must be a Number")}if(this.start>this.end){throw new Error("start must be <= end")}this.pos=this.start}if(this.fd!==null){process.nextTick(function(){self2._read()});return}fs14.open(this.path,this.flags,this.mode,function(err,fd){if(err){self2.emit("error",err);self2.readable=false;return}self2.fd=fd;self2.emit("open",fd);self2._read()})}function WriteStream(path27,options){if(!(this instanceof WriteStream))return new WriteStream(path27,options);Stream.call(this);this.path=path27;this.fd=null;this.writable=true;this.flags="w";this.encoding="binary";this.mode=438;this.bytesWritten=0;options=options||{};var keys2=Object.keys(options);for(var index=0,length=keys2.length;index<length;index++){var key=keys2[index];this[key]=options[key]}if(this.start!==void 0){if("number"!==typeof this.start){throw TypeError("start must be a Number")}if(this.start<0){throw new Error("start must be >= zero")}this.pos=this.start}this.busy=false;this._queue=[];if(this.fd===null){this._open=fs14.open;this._queue.push([this._open,this.path,this.flags,this.mode,void 0]);this.flush()}}}}});var require_clone=__commonJS({"node_modules/graceful-fs/clone.js"(exports2,module2){"use strict";module2.exports=clone2;var getPrototypeOf=Object.getPrototypeOf||function(obj){return obj.__proto__};function clone2(obj){if(obj===null||typeof obj!=="object")return obj;if(obj instanceof Object)var copy={__proto__:getPrototypeOf(obj)};else var copy=Object.create(null);Object.getOwnPropertyNames(obj).forEach(function(key){Object.defineProperty(copy,key,Object.getOwnPropertyDescriptor(obj,key))});return copy}}});var require_graceful_fs=__commonJS({"node_modules/graceful-fs/graceful-fs.js"(exports2,module2){var fs14=require("fs");var polyfills=require_polyfills();var legacy=require_legacy_streams();var clone2=require_clone();var util4=require("util");var gracefulQueue;var previousSymbol;if(typeof Symbol==="function"&&typeof Symbol.for==="function"){gracefulQueue=Symbol.for("graceful-fs.queue");previousSymbol=Symbol.for("graceful-fs.previous")}else{gracefulQueue="___graceful-fs.queue";previousSymbol="___graceful-fs.previous"}function noop4(){}function publishQueue(context,queue2){Object.defineProperty(context,gracefulQueue,{get:function(){return queue2}})}var debug=noop4;if(util4.debuglog)debug=util4.debuglog("gfs4");else if(/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))debug=function(){var m=util4.format.apply(util4,arguments);m="GFS4: "+m.split(/\n/).join("\nGFS4: ");console.error(m)};if(!fs14[gracefulQueue]){queue=global[gracefulQueue]||[];publishQueue(fs14,queue);fs14.close=function(fs$close){function close(fd,cb){return fs$close.call(fs14,fd,function(err){if(!err){resetQueue()}if(typeof cb==="function")cb.apply(this,arguments)})}Object.defineProperty(close,previousSymbol,{value:fs$close});return close}(fs14.close);fs14.closeSync=function(fs$closeSync){function closeSync(fd){fs$closeSync.apply(fs14,arguments);resetQueue()}Object.defineProperty(closeSync,previousSymbol,{value:fs$closeSync});return closeSync}(fs14.closeSync);if(/\bgfs4\b/i.test(process.env.NODE_DEBUG||"")){process.on("exit",function(){debug(fs14[gracefulQueue]);require("assert").equal(fs14[gracefulQueue].length,0)})}}var queue;if(!global[gracefulQueue]){publishQueue(global,fs14[gracefulQueue])}module2.exports=patch(clone2(fs14));if(process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!fs14.__patched){module2.exports=patch(fs14);fs14.__patched=true}function patch(fs15){polyfills(fs15);fs15.gracefulify=patch;fs15.createReadStream=createReadStream2;fs15.createWriteStream=createWriteStream2;var fs$readFile=fs15.readFile;fs15.readFile=readFile4;function readFile4(path27,options,cb){if(typeof options==="function")cb=options,options=null;return go$readFile(path27,options,cb);function go$readFile(path28,options2,cb2,startTime){return fs$readFile(path28,options2,function(err){if(err&&(err.code==="EMFILE"||err.code==="ENFILE"))enqueue([go$readFile,[path28,options2,cb2],err,startTime||Date.now(),Date.now()]);else{if(typeof cb2==="function")cb2.apply(this,arguments)}})}}var fs$writeFile=fs15.writeFile;fs15.writeFile=writeFile3;function writeFile3(path27,data,options,cb){if(typeof options==="function")cb=options,options=null;return go$writeFile(path27,data,options,cb);function go$writeFile(path28,data2,options2,cb2,startTime){return fs$writeFile(path28,data2,options2,function(err){if(err&&(err.code==="EMFILE"||err.code==="ENFILE"))enqueue([go$writeFile,[path28,data2,options2,cb2],err,startTime||Date.now(),Date.now()]);else{if(typeof cb2==="function")cb2.apply(this,arguments)}})}}var fs$appendFile=fs15.appendFile;if(fs$appendFile)fs15.appendFile=appendFile;function appendFile(path27,data,options,cb){if(typeof options==="function")cb=options,options=null;return go$appendFile(path27,data,options,cb);function go$appendFile(path28,data2,options2,cb2,startTime){return fs$appendFile(path28,data2,options2,function(err){if(err&&(err.code==="EMFILE"||err.code==="ENFILE"))enqueue([go$appendFile,[path28,data2,options2,cb2],err,startTime||Date.now(),Date.now()]);else{if(typeof cb2==="function")cb2.apply(this,arguments)}})}}var fs$copyFile=fs15.copyFile;if(fs$copyFile)fs15.copyFile=copyFile;function copyFile(src,dest,flags,cb){if(typeof flags==="function"){cb=flags;flags=0}return go$copyFile(src,dest,flags,cb);function go$copyFile(src2,dest2,flags2,cb2,startTime){return fs$copyFile(src2,dest2,flags2,function(err){if(err&&(err.code==="EMFILE"||err.code==="ENFILE"))enqueue([go$copyFile,[src2,dest2,flags2,cb2],err,startTime||Date.now(),Date.now()]);else{if(typeof cb2==="function")cb2.apply(this,arguments)}})}}var fs$readdir=fs15.readdir;fs15.readdir=readdir2;var noReaddirOptionVersions=/^v[0-5]\./;function readdir2(path27,options,cb){if(typeof options==="function")cb=options,options=null;var go$readdir=noReaddirOptionVersions.test(process.version)?function go$readdir2(path28,options2,cb2,startTime){return fs$readdir(path28,fs$readdirCallback(path28,options2,cb2,startTime))}:function go$readdir2(path28,options2,cb2,startTime){return fs$readdir(path28,options2,fs$readdirCallback(path28,options2,cb2,startTime))};return go$readdir(path27,options,cb);function fs$readdirCallback(path28,options2,cb2,startTime){return function(err,files){if(err&&(err.code==="EMFILE"||err.code==="ENFILE"))enqueue([go$readdir,[path28,options2,cb2],err,startTime||Date.now(),Date.now()]);else{if(files&&files.sort)files.sort();if(typeof cb2==="function")cb2.call(this,err,files)}}}}if(process.version.substr(0,4)==="v0.8"){var legStreams=legacy(fs15);ReadStream=legStreams.ReadStream;WriteStream=legStreams.WriteStream}var fs$ReadStream=fs15.ReadStream;if(fs$ReadStream){ReadStream.prototype=Object.create(fs$ReadStream.prototype);ReadStream.prototype.open=ReadStream$open}var fs$WriteStream=fs15.WriteStream;if(fs$WriteStream){WriteStream.prototype=Object.create(fs$WriteStream.prototype);WriteStream.prototype.open=WriteStream$open}Object.defineProperty(fs15,"ReadStream",{get:function(){return ReadStream},set:function(val){ReadStream=val},enumerable:true,configurable:true});Object.defineProperty(fs15,"WriteStream",{get:function(){return WriteStream},set:function(val){WriteStream=val},enumerable:true,configurable:true});var FileReadStream=ReadStream;Object.defineProperty(fs15,"FileReadStream",{get:function(){return FileReadStream},set:function(val){FileReadStream=val},enumerable:true,configurable:true});var FileWriteStream=WriteStream;Object.defineProperty(fs15,"FileWriteStream",{get:function(){return FileWriteStream},set:function(val){FileWriteStream=val},enumerable:true,configurable:true});function ReadStream(path27,options){if(this instanceof ReadStream)return fs$ReadStream.apply(this,arguments),this;else return ReadStream.apply(Object.create(ReadStream.prototype),arguments)}function ReadStream$open(){var that=this;open4(that.path,that.flags,that.mode,function(err,fd){if(err){if(that.autoClose)that.destroy();that.emit("error",err)}else{that.fd=fd;that.emit("open",fd);that.read()}})}function WriteStream(path27,options){if(this instanceof WriteStream)return fs$WriteStream.apply(this,arguments),this;else return WriteStream.apply(Object.create(WriteStream.prototype),arguments)}function WriteStream$open(){var that=this;open4(that.path,that.flags,that.mode,function(err,fd){if(err){that.destroy();that.emit("error",err)}else{that.fd=fd;that.emit("open",fd)}})}function createReadStream2(path27,options){return new fs15.ReadStream(path27,options)}function createWriteStream2(path27,options){return new fs15.WriteStream(path27,options)}var fs$open=fs15.open;fs15.open=open4;function open4(path27,flags,mode2,cb){if(typeof mode2==="function")cb=mode2,mode2=null;return go$open(path27,flags,mode2,cb);function go$open(path28,flags2,mode3,cb2,startTime){return fs$open(path28,flags2,mode3,function(err,fd){if(err&&(err.code==="EMFILE"||err.code==="ENFILE"))enqueue([go$open,[path28,flags2,mode3,cb2],err,startTime||Date.now(),Date.now()]);else{if(typeof cb2==="function")cb2.apply(this,arguments)}})}}return fs15}function enqueue(elem){debug("ENQUEUE",elem[0].name,elem[1]);fs14[gracefulQueue].push(elem);retry()}var retryTimer;function resetQueue(){var now3=Date.now();for(var i=0;i<fs14[gracefulQueue].length;++i){if(fs14[gracefulQueue][i].length>2){fs14[gracefulQueue][i][3]=now3;fs14[gracefulQueue][i][4]=now3}}retry()}function retry(){clearTimeout(retryTimer);retryTimer=void 0;if(fs14[gracefulQueue].length===0)return;var elem=fs14[gracefulQueue].shift();var fn2=elem[0];var args2=elem[1];var err=elem[2];var startTime=elem[3];var lastTime=elem[4];if(startTime===void 0){debug("RETRY",fn2.name,args2);fn2.apply(null,args2)}else if(Date.now()-startTime>=6e4){debug("TIMEOUT",fn2.name,args2);var cb=args2.pop();if(typeof cb==="function")cb.call(null,err)}else{var sinceAttempt=Date.now()-lastTime;var sinceStart=Math.max(lastTime-startTime,1);var desiredDelay=Math.min(sinceStart*1.2,100);if(sinceAttempt>=desiredDelay){debug("RETRY",fn2.name,args2);fn2.apply(null,args2.concat([startTime]))}else{fs14[gracefulQueue].push(elem)}}if(retryTimer===void 0){retryTimer=setTimeout(retry,0)}}}});var require_fs=__commonJS({"node_modules/fs-extra/lib/fs/index.js"(exports2){"use strict";var u=require_universalify().fromCallback;var fs14=require_graceful_fs();var api=["access","appendFile","chmod","chown","close","copyFile","fchmod","fchown","fdatasync","fstat","fsync","ftruncate","futimes","lchmod","lchown","link","lstat","mkdir","mkdtemp","open","opendir","readdir","readFile","readlink","realpath","rename","rm","rmdir","stat","symlink","truncate","unlink","utimes","writeFile"].filter(key=>{return typeof fs14[key]==="function"});Object.keys(fs14).forEach(key=>{if(key==="promises"){return}exports2[key]=fs14[key]});api.forEach(method2=>{exports2[method2]=u(fs14[method2])});exports2.exists=function(filename,callback){if(typeof callback==="function"){return fs14.exists(filename,callback)}return new Promise(resolve=>{return fs14.exists(filename,resolve)})};exports2.read=function(fd,buffer,offset,length,position,callback){if(typeof callback==="function"){return fs14.read(fd,buffer,offset,length,position,callback)}return new Promise((resolve,reject2)=>{fs14.read(fd,buffer,offset,length,position,(err,bytesRead,buffer2)=>{if(err)return reject2(err);resolve({bytesRead,buffer:buffer2})})})};exports2.write=function(fd,buffer,...args2){if(typeof args2[args2.length-1]==="function"){return fs14.write(fd,buffer,...args2)}return new Promise((resolve,reject2)=>{fs14.write(fd,buffer,...args2,(err,bytesWritten,buffer2)=>{if(err)return reject2(err);resolve({bytesWritten,buffer:buffer2})})})};if(typeof fs14.writev==="function"){exports2.writev=function(fd,buffers,...args2){if(typeof args2[args2.length-1]==="function"){return fs14.writev(fd,buffers,...args2)}return new Promise((resolve,reject2)=>{fs14.writev(fd,buffers,...args2,(err,bytesWritten,buffers2)=>{if(err)return reject2(err);resolve({bytesWritten,buffers:buffers2})})})}}if(typeof fs14.realpath.native==="function"){exports2.realpath.native=u(fs14.realpath.native)}}});var require_at_least_node=__commonJS({"node_modules/at-least-node/index.js"(exports2,module2){module2.exports=r=>{const n=process.versions.node.split(".").map(x=>parseInt(x,10));r=r.split(".").map(x=>parseInt(x,10));return n[0]>r[0]||n[0]===r[0]&&(n[1]>r[1]||n[1]===r[1]&&n[2]>=r[2])}}});var require_make_dir=__commonJS({"node_modules/fs-extra/lib/mkdirs/make-dir.js"(exports2,module2){"use strict";var fs14=require_fs();var path27=require("path");var atLeastNode=require_at_least_node();var useNativeRecursiveOption=atLeastNode("10.12.0");var checkPath=pth=>{if(process.platform==="win32"){const pathHasInvalidWinCharacters=/[<>:"|?*]/.test(pth.replace(path27.parse(pth).root,""));if(pathHasInvalidWinCharacters){const error=new Error(`Path contains invalid characters: ${pth}`);error.code="EINVAL";throw error}}};var processOptions=options=>{const defaults3={mode:511};if(typeof options==="number")options={mode:options};return{...defaults3,...options}};var permissionError=pth=>{const error=new Error(`operation not permitted, mkdir '${pth}'`);error.code="EPERM";error.errno=-4048;error.path=pth;error.syscall="mkdir";return error};module2.exports.makeDir=async(input,options)=>{checkPath(input);options=processOptions(options);if(useNativeRecursiveOption){const pth=path27.resolve(input);return fs14.mkdir(pth,{mode:options.mode,recursive:true})}const make=async pth=>{try{await fs14.mkdir(pth,options.mode)}catch(error){if(error.code==="EPERM"){throw error}if(error.code==="ENOENT"){if(path27.dirname(pth)===pth){throw permissionError(pth)}if(error.message.includes("null bytes")){throw error}await make(path27.dirname(pth));return make(pth)}try{const stats=await fs14.stat(pth);if(!stats.isDirectory()){throw new Error("The path is not a directory")}}catch{throw error}}};return make(path27.resolve(input))};module2.exports.makeDirSync=(input,options)=>{checkPath(input);options=processOptions(options);if(useNativeRecursiveOption){const pth=path27.resolve(input);return fs14.mkdirSync(pth,{mode:options.mode,recursive:true})}const make=pth=>{try{fs14.mkdirSync(pth,options.mode)}catch(error){if(error.code==="EPERM"){throw error}if(error.code==="ENOENT"){if(path27.dirname(pth)===pth){throw permissionError(pth)}if(error.message.includes("null bytes")){throw error}make(path27.dirname(pth));return make(pth)}try{if(!fs14.statSync(pth).isDirectory()){throw new Error("The path is not a directory")}}catch{throw error}}};return make(path27.resolve(input))}}});var require_mkdirs=__commonJS({"node_modules/fs-extra/lib/mkdirs/index.js"(exports2,module2){"use strict";var u=require_universalify().fromPromise;var{makeDir:_makeDir,makeDirSync}=require_make_dir();var makeDir=u(_makeDir);module2.exports={mkdirs:makeDir,mkdirsSync:makeDirSync,mkdirp:makeDir,mkdirpSync:makeDirSync,ensureDir:makeDir,ensureDirSync:makeDirSync}}});var require_utimes=__commonJS({"node_modules/fs-extra/lib/util/utimes.js"(exports2,module2){"use strict";var fs14=require_graceful_fs();function utimesMillis(path27,atime,mtime,callback){fs14.open(path27,"r+",(err,fd)=>{if(err)return callback(err);fs14.futimes(fd,atime,mtime,futimesErr=>{fs14.close(fd,closeErr=>{if(callback)callback(futimesErr||closeErr)})})})}function utimesMillisSync(path27,atime,mtime){const fd=fs14.openSync(path27,"r+");fs14.futimesSync(fd,atime,mtime);return fs14.closeSync(fd)}module2.exports={utimesMillis,utimesMillisSync}}});var require_stat=__commonJS({"node_modules/fs-extra/lib/util/stat.js"(exports2,module2){"use strict";var fs14=require_fs();var path27=require("path");var util4=require("util");var atLeastNode=require_at_least_node();var nodeSupportsBigInt=atLeastNode("10.5.0");var stat3=file=>nodeSupportsBigInt?fs14.stat(file,{bigint:true}):fs14.stat(file);var statSync=file=>nodeSupportsBigInt?fs14.statSync(file,{bigint:true}):fs14.statSync(file);function getStats(src,dest){return Promise.all([stat3(src),stat3(dest).catch(err=>{if(err.code==="ENOENT")return null;throw err})]).then(([srcStat,destStat])=>({srcStat,destStat}))}function getStatsSync(src,dest){let destStat;const srcStat=statSync(src);try{destStat=statSync(dest)}catch(err){if(err.code==="ENOENT")return{srcStat,destStat:null};throw err}return{srcStat,destStat}}function checkPaths(src,dest,funcName,cb){util4.callbackify(getStats)(src,dest,(err,stats)=>{if(err)return cb(err);const{srcStat,destStat}=stats;if(destStat&&areIdentical(srcStat,destStat)){return cb(new Error("Source and destination must not be the same."))}if(srcStat.isDirectory()&&isSrcSubdir(src,dest)){return cb(new Error(errMsg(src,dest,funcName)))}return cb(null,{srcStat,destStat})})}function checkPathsSync(src,dest,funcName){const{srcStat,destStat}=getStatsSync(src,dest);if(destStat&&areIdentical(srcStat,destStat)){throw new Error("Source and destination must not be the same.")}if(srcStat.isDirectory()&&isSrcSubdir(src,dest)){throw new Error(errMsg(src,dest,funcName))}return{srcStat,destStat}}function checkParentPaths(src,srcStat,dest,funcName,cb){const srcParent=path27.resolve(path27.dirname(src));const destParent=path27.resolve(path27.dirname(dest));if(destParent===srcParent||destParent===path27.parse(destParent).root)return cb();const callback=(err,destStat)=>{if(err){if(err.code==="ENOENT")return cb();return cb(err)}if(areIdentical(srcStat,destStat)){return cb(new Error(errMsg(src,dest,funcName)))}return checkParentPaths(src,srcStat,destParent,funcName,cb)};if(nodeSupportsBigInt)fs14.stat(destParent,{bigint:true},callback);else fs14.stat(destParent,callback)}function checkParentPathsSync(src,srcStat,dest,funcName){const srcParent=path27.resolve(path27.dirname(src));const destParent=path27.resolve(path27.dirname(dest));if(destParent===srcParent||destParent===path27.parse(destParent).root)return;let destStat;try{destStat=statSync(destParent)}catch(err){if(err.code==="ENOENT")return;throw err}if(areIdentical(srcStat,destStat)){throw new Error(errMsg(src,dest,funcName))}return checkParentPathsSync(src,srcStat,destParent,funcName)}function areIdentical(srcStat,destStat){if(destStat.ino&&destStat.dev&&destStat.ino===srcStat.ino&&destStat.dev===srcStat.dev){if(nodeSupportsBigInt||destStat.ino<Number.MAX_SAFE_INTEGER){return true}if(destStat.size===srcStat.size&&destStat.mode===srcStat.mode&&destStat.nlink===srcStat.nlink&&destStat.atimeMs===srcStat.atimeMs&&destStat.mtimeMs===srcStat.mtimeMs&&destStat.ctimeMs===srcStat.ctimeMs&&destStat.birthtimeMs===srcStat.birthtimeMs){return true}}return false}function isSrcSubdir(src,dest){const srcArr=path27.resolve(src).split(path27.sep).filter(i=>i);const destArr=path27.resolve(dest).split(path27.sep).filter(i=>i);return srcArr.reduce((acc,cur,i)=>acc&&destArr[i]===cur,true)}function errMsg(src,dest,funcName){return`Cannot ${funcName} '${src}' to a subdirectory of itself, '${dest}'.`}module2.exports={checkPaths,checkPathsSync,checkParentPaths,checkParentPathsSync,isSrcSubdir}}});var require_copy_sync=__commonJS({"node_modules/fs-extra/lib/copy-sync/copy-sync.js"(exports2,module2){"use strict";var fs14=require_graceful_fs();var path27=require("path");var mkdirsSync=require_mkdirs().mkdirsSync;var utimesMillisSync=require_utimes().utimesMillisSync;var stat3=require_stat();function copySync(src,dest,opts){if(typeof opts==="function"){opts={filter:opts}}opts=opts||{};opts.clobber="clobber"in opts?!!opts.clobber:true;opts.overwrite="overwrite"in opts?!!opts.overwrite:opts.clobber;if(opts.preserveTimestamps&&process.arch==="ia32"){console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;

    see https://github.com/jprichardson/node-fs-extra/issues/269`)}const{srcStat,destStat}=stat3.checkPathsSync(src,dest,"copy");stat3.checkParentPathsSync(src,srcStat,dest,"copy");return handleFilterAndCopy(destStat,src,dest,opts)}function handleFilterAndCopy(destStat,src,dest,opts){if(opts.filter&&!opts.filter(src,dest))return;const destParent=path27.dirname(dest);if(!fs14.existsSync(destParent))mkdirsSync(destParent);return startCopy(destStat,src,dest,opts)}function startCopy(destStat,src,dest,opts){if(opts.filter&&!opts.filter(src,dest))return;return getStats(destStat,src,dest,opts)}function getStats(destStat,src,dest,opts){const statSync=opts.dereference?fs14.statSync:fs14.lstatSync;const srcStat=statSync(src);if(srcStat.isDirectory())return onDir(srcStat,destStat,src,dest,opts);else if(srcStat.isFile()||srcStat.isCharacterDevice()||srcStat.isBlockDevice())return onFile(srcStat,destStat,src,dest,opts);else if(srcStat.isSymbolicLink())return onLink(destStat,src,dest,opts)}function onFile(srcStat,destStat,src,dest,opts){if(!destStat)return copyFile(srcStat,src,dest,opts);return mayCopyFile(srcStat,src,dest,opts)}function mayCopyFile(srcStat,src,dest,opts){if(opts.overwrite){fs14.unlinkSync(dest);return copyFile(srcStat,src,dest,opts)}else if(opts.errorOnExist){throw new Error(`'${dest}' already exists`)}}function copyFile(srcStat,src,dest,opts){fs14.copyFileSync(src,dest);if(opts.preserveTimestamps)handleTimestamps(srcStat.mode,src,dest);return setDestMode(dest,srcStat.mode)}function handleTimestamps(srcMode,src,dest){if(fileIsNotWritable(srcMode))makeFileWritable(dest,srcMode);return setDestTimestamps(src,dest)}function fileIsNotWritable(srcMode){return(srcMode&128)===0}function makeFileWritable(dest,srcMode){return setDestMode(dest,srcMode|128)}function setDestMode(dest,srcMode){return fs14.chmodSync(dest,srcMode)}function setDestTimestamps(src,dest){const updatedSrcStat=fs14.statSync(src);return utimesMillisSync(dest,updatedSrcStat.atime,updatedSrcStat.mtime)}function onDir(srcStat,destStat,src,dest,opts){if(!destStat)return mkDirAndCopy(srcStat.mode,src,dest,opts);if(destStat&&!destStat.isDirectory()){throw new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`)}return copyDir(src,dest,opts)}function mkDirAndCopy(srcMode,src,dest,opts){fs14.mkdirSync(dest);copyDir(src,dest,opts);return setDestMode(dest,srcMode)}function copyDir(src,dest,opts){fs14.readdirSync(src).forEach(item=>copyDirItem(item,src,dest,opts))}function copyDirItem(item,src,dest,opts){const srcItem=path27.join(src,item);const destItem=path27.join(dest,item);const{destStat}=stat3.checkPathsSync(srcItem,destItem,"copy");return startCopy(destStat,srcItem,destItem,opts)}function onLink(destStat,src,dest,opts){let resolvedSrc=fs14.readlinkSync(src);if(opts.dereference){resolvedSrc=path27.resolve(process.cwd(),resolvedSrc)}if(!destStat){return fs14.symlinkSync(resolvedSrc,dest)}else{let resolvedDest;try{resolvedDest=fs14.readlinkSync(dest)}catch(err){if(err.code==="EINVAL"||err.code==="UNKNOWN")return fs14.symlinkSync(resolvedSrc,dest);throw err}if(opts.dereference){resolvedDest=path27.resolve(process.cwd(),resolvedDest)}if(stat3.isSrcSubdir(resolvedSrc,resolvedDest)){throw new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`)}if(fs14.statSync(dest).isDirectory()&&stat3.isSrcSubdir(resolvedDest,resolvedSrc)){throw new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`)}return copyLink(resolvedSrc,dest)}}function copyLink(resolvedSrc,dest){fs14.unlinkSync(dest);return fs14.symlinkSync(resolvedSrc,dest)}module2.exports=copySync}});var require_copy_sync2=__commonJS({"node_modules/fs-extra/lib/copy-sync/index.js"(exports2,module2){"use strict";module2.exports={copySync:require_copy_sync()}}});var require_path_exists=__commonJS({"node_modules/fs-extra/lib/path-exists/index.js"(exports2,module2){"use strict";var u=require_universalify().fromPromise;var fs14=require_fs();function pathExists(path27){return fs14.access(path27).then(()=>true).catch(()=>false)}module2.exports={pathExists:u(pathExists),pathExistsSync:fs14.existsSync}}});var require_copy=__commonJS({"node_modules/fs-extra/lib/copy/copy.js"(exports2,module2){"use strict";var fs14=require_graceful_fs();var path27=require("path");var mkdirs=require_mkdirs().mkdirs;var pathExists=require_path_exists().pathExists;var utimesMillis=require_utimes().utimesMillis;var stat3=require_stat();function copy(src,dest,opts,cb){if(typeof opts==="function"&&!cb){cb=opts;opts={}}else if(typeof opts==="function"){opts={filter:opts}}cb=cb||function(){};opts=opts||{};opts.clobber="clobber"in opts?!!opts.clobber:true;opts.overwrite="overwrite"in opts?!!opts.overwrite:opts.clobber;if(opts.preserveTimestamps&&process.arch==="ia32"){console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;

    see https://github.com/jprichardson/node-fs-extra/issues/269`)}stat3.checkPaths(src,dest,"copy",(err,stats)=>{if(err)return cb(err);const{srcStat,destStat}=stats;stat3.checkParentPaths(src,srcStat,dest,"copy",err2=>{if(err2)return cb(err2);if(opts.filter)return handleFilter(checkParentDir,destStat,src,dest,opts,cb);return checkParentDir(destStat,src,dest,opts,cb)})})}function checkParentDir(destStat,src,dest,opts,cb){const destParent=path27.dirname(dest);pathExists(destParent,(err,dirExists)=>{if(err)return cb(err);if(dirExists)return startCopy(destStat,src,dest,opts,cb);mkdirs(destParent,err2=>{if(err2)return cb(err2);return startCopy(destStat,src,dest,opts,cb)})})}function handleFilter(onInclude,destStat,src,dest,opts,cb){Promise.resolve(opts.filter(src,dest)).then(include=>{if(include)return onInclude(destStat,src,dest,opts,cb);return cb()},error=>cb(error))}function startCopy(destStat,src,dest,opts,cb){if(opts.filter)return handleFilter(getStats,destStat,src,dest,opts,cb);return getStats(destStat,src,dest,opts,cb)}function getStats(destStat,src,dest,opts,cb){const stat4=opts.dereference?fs14.stat:fs14.lstat;stat4(src,(err,srcStat)=>{if(err)return cb(err);if(srcStat.isDirectory())return onDir(srcStat,destStat,src,dest,opts,cb);else if(srcStat.isFile()||srcStat.isCharacterDevice()||srcStat.isBlockDevice())return onFile(srcStat,destStat,src,dest,opts,cb);else if(srcStat.isSymbolicLink())return onLink(destStat,src,dest,opts,cb)})}function onFile(srcStat,destStat,src,dest,opts,cb){if(!destStat)return copyFile(srcStat,src,dest,opts,cb);return mayCopyFile(srcStat,src,dest,opts,cb)}function mayCopyFile(srcStat,src,dest,opts,cb){if(opts.overwrite){fs14.unlink(dest,err=>{if(err)return cb(err);return copyFile(srcStat,src,dest,opts,cb)})}else if(opts.errorOnExist){return cb(new Error(`'${dest}' already exists`))}else return cb()}function copyFile(srcStat,src,dest,opts,cb){fs14.copyFile(src,dest,err=>{if(err)return cb(err);if(opts.preserveTimestamps)return handleTimestampsAndMode(srcStat.mode,src,dest,cb);return setDestMode(dest,srcStat.mode,cb)})}function handleTimestampsAndMode(srcMode,src,dest,cb){if(fileIsNotWritable(srcMode)){return makeFileWritable(dest,srcMode,err=>{if(err)return cb(err);return setDestTimestampsAndMode(srcMode,src,dest,cb)})}return setDestTimestampsAndMode(srcMode,src,dest,cb)}function fileIsNotWritable(srcMode){return(srcMode&128)===0}function makeFileWritable(dest,srcMode,cb){return setDestMode(dest,srcMode|128,cb)}function setDestTimestampsAndMode(srcMode,src,dest,cb){setDestTimestamps(src,dest,err=>{if(err)return cb(err);return setDestMode(dest,srcMode,cb)})}function setDestMode(dest,srcMode,cb){return fs14.chmod(dest,srcMode,cb)}function setDestTimestamps(src,dest,cb){fs14.stat(src,(err,updatedSrcStat)=>{if(err)return cb(err);return utimesMillis(dest,updatedSrcStat.atime,updatedSrcStat.mtime,cb)})}function onDir(srcStat,destStat,src,dest,opts,cb){if(!destStat)return mkDirAndCopy(srcStat.mode,src,dest,opts,cb);if(destStat&&!destStat.isDirectory()){return cb(new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`))}return copyDir(src,dest,opts,cb)}function mkDirAndCopy(srcMode,src,dest,opts,cb){fs14.mkdir(dest,err=>{if(err)return cb(err);copyDir(src,dest,opts,err2=>{if(err2)return cb(err2);return setDestMode(dest,srcMode,cb)})})}function copyDir(src,dest,opts,cb){fs14.readdir(src,(err,items)=>{if(err)return cb(err);return copyDirItems(items,src,dest,opts,cb)})}function copyDirItems(items,src,dest,opts,cb){const item=items.pop();if(!item)return cb();return copyDirItem(items,item,src,dest,opts,cb)}function copyDirItem(items,item,src,dest,opts,cb){const srcItem=path27.join(src,item);const destItem=path27.join(dest,item);stat3.checkPaths(srcItem,destItem,"copy",(err,stats)=>{if(err)return cb(err);const{destStat}=stats;startCopy(destStat,srcItem,destItem,opts,err2=>{if(err2)return cb(err2);return copyDirItems(items,src,dest,opts,cb)})})}function onLink(destStat,src,dest,opts,cb){fs14.readlink(src,(err,resolvedSrc)=>{if(err)return cb(err);if(opts.dereference){resolvedSrc=path27.resolve(process.cwd(),resolvedSrc)}if(!destStat){return fs14.symlink(resolvedSrc,dest,cb)}else{fs14.readlink(dest,(err2,resolvedDest)=>{if(err2){if(err2.code==="EINVAL"||err2.code==="UNKNOWN")return fs14.symlink(resolvedSrc,dest,cb);return cb(err2)}if(opts.dereference){resolvedDest=path27.resolve(process.cwd(),resolvedDest)}if(stat3.isSrcSubdir(resolvedSrc,resolvedDest)){return cb(new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`))}if(destStat.isDirectory()&&stat3.isSrcSubdir(resolvedDest,resolvedSrc)){return cb(new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`))}return copyLink(resolvedSrc,dest,cb)})}})}function copyLink(resolvedSrc,dest,cb){fs14.unlink(dest,err=>{if(err)return cb(err);return fs14.symlink(resolvedSrc,dest,cb)})}module2.exports=copy}});var require_copy2=__commonJS({"node_modules/fs-extra/lib/copy/index.js"(exports2,module2){"use strict";var u=require_universalify().fromCallback;module2.exports={copy:u(require_copy())}}});var require_rimraf=__commonJS({"node_modules/fs-extra/lib/remove/rimraf.js"(exports2,module2){"use strict";var fs14=require_graceful_fs();var path27=require("path");var assert2=require("assert");var isWindows2=process.platform==="win32";function defaults3(options){const methods=["unlink","chmod","stat","lstat","rmdir","readdir"];methods.forEach(m=>{options[m]=options[m]||fs14[m];m=m+"Sync";options[m]=options[m]||fs14[m]});options.maxBusyTries=options.maxBusyTries||3}function rimraf(p,options,cb){let busyTries=0;if(typeof options==="function"){cb=options;options={}}assert2(p,"rimraf: missing path");assert2.strictEqual(typeof p,"string","rimraf: path should be a string");assert2.strictEqual(typeof cb,"function","rimraf: callback function required");assert2(options,"rimraf: invalid options argument provided");assert2.strictEqual(typeof options,"object","rimraf: options should be object");defaults3(options);rimraf_(p,options,function CB(er){if(er){if((er.code==="EBUSY"||er.code==="ENOTEMPTY"||er.code==="EPERM")&&busyTries<options.maxBusyTries){busyTries++;const time=busyTries*100;return setTimeout(()=>rimraf_(p,options,CB),time)}if(er.code==="ENOENT")er=null}cb(er)})}function rimraf_(p,options,cb){assert2(p);assert2(options);assert2(typeof cb==="function");options.lstat(p,(er,st)=>{if(er&&er.code==="ENOENT"){return cb(null)}if(er&&er.code==="EPERM"&&isWindows2){return fixWinEPERM(p,options,er,cb)}if(st&&st.isDirectory()){return rmdir(p,options,er,cb)}options.unlink(p,er2=>{if(er2){if(er2.code==="ENOENT"){return cb(null)}if(er2.code==="EPERM"){return isWindows2?fixWinEPERM(p,options,er2,cb):rmdir(p,options,er2,cb)}if(er2.code==="EISDIR"){return rmdir(p,options,er2,cb)}}return cb(er2)})})}function fixWinEPERM(p,options,er,cb){assert2(p);assert2(options);assert2(typeof cb==="function");options.chmod(p,438,er2=>{if(er2){cb(er2.code==="ENOENT"?null:er)}else{options.stat(p,(er3,stats)=>{if(er3){cb(er3.code==="ENOENT"?null:er)}else if(stats.isDirectory()){rmdir(p,options,er,cb)}else{options.unlink(p,cb)}})}})}function fixWinEPERMSync(p,options,er){let stats;assert2(p);assert2(options);try{options.chmodSync(p,438)}catch(er2){if(er2.code==="ENOENT"){return}else{throw er}}try{stats=options.statSync(p)}catch(er3){if(er3.code==="ENOENT"){return}else{throw er}}if(stats.isDirectory()){rmdirSync(p,options,er)}else{options.unlinkSync(p)}}function rmdir(p,options,originalEr,cb){assert2(p);assert2(options);assert2(typeof cb==="function");options.rmdir(p,er=>{if(er&&(er.code==="ENOTEMPTY"||er.code==="EEXIST"||er.code==="EPERM")){rmkids(p,options,cb)}else if(er&&er.code==="ENOTDIR"){cb(originalEr)}else{cb(er)}})}function rmkids(p,options,cb){assert2(p);assert2(options);assert2(typeof cb==="function");options.readdir(p,(er,files)=>{if(er)return cb(er);let n=files.length;let errState;if(n===0)return options.rmdir(p,cb);files.forEach(f=>{rimraf(path27.join(p,f),options,er2=>{if(errState){return}if(er2)return cb(errState=er2);if(--n===0){options.rmdir(p,cb)}})})})}function rimrafSync(p,options){let st;options=options||{};defaults3(options);assert2(p,"rimraf: missing path");assert2.strictEqual(typeof p,"string","rimraf: path should be a string");assert2(options,"rimraf: missing options");assert2.strictEqual(typeof options,"object","rimraf: options should be object");try{st=options.lstatSync(p)}catch(er){if(er.code==="ENOENT"){return}if(er.code==="EPERM"&&isWindows2){fixWinEPERMSync(p,options,er)}}try{if(st&&st.isDirectory()){rmdirSync(p,options,null)}else{options.unlinkSync(p)}}catch(er){if(er.code==="ENOENT"){return}else if(er.code==="EPERM"){return isWindows2?fixWinEPERMSync(p,options,er):rmdirSync(p,options,er)}else if(er.code!=="EISDIR"){throw er}rmdirSync(p,options,er)}}function rmdirSync(p,options,originalEr){assert2(p);assert2(options);try{options.rmdirSync(p)}catch(er){if(er.code==="ENOTDIR"){throw originalEr}else if(er.code==="ENOTEMPTY"||er.code==="EEXIST"||er.code==="EPERM"){rmkidsSync(p,options)}else if(er.code!=="ENOENT"){throw er}}}function rmkidsSync(p,options){assert2(p);assert2(options);options.readdirSync(p).forEach(f=>rimrafSync(path27.join(p,f),options));if(isWindows2){const startTime=Date.now();do{try{const ret=options.rmdirSync(p,options);return ret}catch{}}while(Date.now()-startTime<500)}else{const ret=options.rmdirSync(p,options);return ret}}module2.exports=rimraf;rimraf.sync=rimrafSync}});var require_remove=__commonJS({"node_modules/fs-extra/lib/remove/index.js"(exports2,module2){"use strict";var u=require_universalify().fromCallback;var rimraf=require_rimraf();module2.exports={remove:u(rimraf),removeSync:rimraf.sync}}});var require_empty=__commonJS({"node_modules/fs-extra/lib/empty/index.js"(exports2,module2){"use strict";var u=require_universalify().fromCallback;var fs14=require_graceful_fs();var path27=require("path");var mkdir2=require_mkdirs();var remove2=require_remove();var emptyDir=u(function emptyDir2(dir,callback){callback=callback||function(){};fs14.readdir(dir,(err,items)=>{if(err)return mkdir2.mkdirs(dir,callback);items=items.map(item=>path27.join(dir,item));deleteItem();function deleteItem(){const item=items.pop();if(!item)return callback();remove2.remove(item,err2=>{if(err2)return callback(err2);deleteItem()})}})});function emptyDirSync(dir){let items;try{items=fs14.readdirSync(dir)}catch{return mkdir2.mkdirsSync(dir)}items.forEach(item=>{item=path27.join(dir,item);remove2.removeSync(item)})}module2.exports={emptyDirSync,emptydirSync:emptyDirSync,emptyDir,emptydir:emptyDir}}});var require_file=__commonJS({"node_modules/fs-extra/lib/ensure/file.js"(exports2,module2){"use strict";var u=require_universalify().fromCallback;var path27=require("path");var fs14=require_graceful_fs();var mkdir2=require_mkdirs();function createFile(file,callback){function makeFile(){fs14.writeFile(file,"",err=>{if(err)return callback(err);callback()})}fs14.stat(file,(err,stats)=>{if(!err&&stats.isFile())return callback();const dir=path27.dirname(file);fs14.stat(dir,(err2,stats2)=>{if(err2){if(err2.code==="ENOENT"){return mkdir2.mkdirs(dir,err3=>{if(err3)return callback(err3);makeFile()})}return callback(err2)}if(stats2.isDirectory())makeFile();else{fs14.readdir(dir,err3=>{if(err3)return callback(err3)})}})})}function createFileSync(file){let stats;try{stats=fs14.statSync(file)}catch{}if(stats&&stats.isFile())return;const dir=path27.dirname(file);try{if(!fs14.statSync(dir).isDirectory()){fs14.readdirSync(dir)}}catch(err){if(err&&err.code==="ENOENT")mkdir2.mkdirsSync(dir);else throw err}fs14.writeFileSync(file,"")}module2.exports={createFile:u(createFile),createFileSync}}});var require_link=__commonJS({"node_modules/fs-extra/lib/ensure/link.js"(exports2,module2){"use strict";var u=require_universalify().fromCallback;var path27=require("path");var fs14=require_graceful_fs();var mkdir2=require_mkdirs();var pathExists=require_path_exists().pathExists;function createLink(srcpath,dstpath,callback){function makeLink(srcpath2,dstpath2){fs14.link(srcpath2,dstpath2,err=>{if(err)return callback(err);callback(null)})}pathExists(dstpath,(err,destinationExists)=>{if(err)return callback(err);if(destinationExists)return callback(null);fs14.lstat(srcpath,err2=>{if(err2){err2.message=err2.message.replace("lstat","ensureLink");return callback(err2)}const dir=path27.dirname(dstpath);pathExists(dir,(err3,dirExists)=>{if(err3)return callback(err3);if(dirExists)return makeLink(srcpath,dstpath);mkdir2.mkdirs(dir,err4=>{if(err4)return callback(err4);makeLink(srcpath,dstpath)})})})})}function createLinkSync(srcpath,dstpath){const destinationExists=fs14.existsSync(dstpath);if(destinationExists)return void 0;try{fs14.lstatSync(srcpath)}catch(err){err.message=err.message.replace("lstat","ensureLink");throw err}const dir=path27.dirname(dstpath);const dirExists=fs14.existsSync(dir);if(dirExists)return fs14.linkSync(srcpath,dstpath);mkdir2.mkdirsSync(dir);return fs14.linkSync(srcpath,dstpath)}module2.exports={createLink:u(createLink),createLinkSync}}});var require_symlink_paths=__commonJS({"node_modules/fs-extra/lib/ensure/symlink-paths.js"(exports2,module2){"use strict";var path27=require("path");var fs14=require_graceful_fs();var pathExists=require_path_exists().pathExists;function symlinkPaths(srcpath,dstpath,callback){if(path27.isAbsolute(srcpath)){return fs14.lstat(srcpath,err=>{if(err){err.message=err.message.replace("lstat","ensureSymlink");return callback(err)}return callback(null,{toCwd:srcpath,toDst:srcpath})})}else{const dstdir=path27.dirname(dstpath);const relativeToDst=path27.join(dstdir,srcpath);return pathExists(relativeToDst,(err,exists2)=>{if(err)return callback(err);if(exists2){return callback(null,{toCwd:relativeToDst,toDst:srcpath})}else{return fs14.lstat(srcpath,err2=>{if(err2){err2.message=err2.message.replace("lstat","ensureSymlink");return callback(err2)}return callback(null,{toCwd:srcpath,toDst:path27.relative(dstdir,srcpath)})})}})}}function symlinkPathsSync(srcpath,dstpath){let exists2;if(path27.isAbsolute(srcpath)){exists2=fs14.existsSync(srcpath);if(!exists2)throw new Error("absolute srcpath does not exist");return{toCwd:srcpath,toDst:srcpath}}else{const dstdir=path27.dirname(dstpath);const relativeToDst=path27.join(dstdir,srcpath);exists2=fs14.existsSync(relativeToDst);if(exists2){return{toCwd:relativeToDst,toDst:srcpath}}else{exists2=fs14.existsSync(srcpath);if(!exists2)throw new Error("relative srcpath does not exist");return{toCwd:srcpath,toDst:path27.relative(dstdir,srcpath)}}}}module2.exports={symlinkPaths,symlinkPathsSync}}});var require_symlink_type=__commonJS({"node_modules/fs-extra/lib/ensure/symlink-type.js"(exports2,module2){"use strict";var fs14=require_graceful_fs();function symlinkType(srcpath,type2,callback){callback=typeof type2==="function"?type2:callback;type2=typeof type2==="function"?false:type2;if(type2)return callback(null,type2);fs14.lstat(srcpath,(err,stats)=>{if(err)return callback(null,"file");type2=stats&&stats.isDirectory()?"dir":"file";callback(null,type2)})}function symlinkTypeSync(srcpath,type2){let stats;if(type2)return type2;try{stats=fs14.lstatSync(srcpath)}catch{return"file"}return stats&&stats.isDirectory()?"dir":"file"}module2.exports={symlinkType,symlinkTypeSync}}});var require_symlink=__commonJS({"node_modules/fs-extra/lib/ensure/symlink.js"(exports2,module2){"use strict";var u=require_universalify().fromCallback;var path27=require("path");var fs14=require_graceful_fs();var _mkdirs=require_mkdirs();var mkdirs=_mkdirs.mkdirs;var mkdirsSync=_mkdirs.mkdirsSync;var _symlinkPaths=require_symlink_paths();var symlinkPaths=_symlinkPaths.symlinkPaths;var symlinkPathsSync=_symlinkPaths.symlinkPathsSync;var _symlinkType=require_symlink_type();var symlinkType=_symlinkType.symlinkType;var symlinkTypeSync=_symlinkType.symlinkTypeSync;var pathExists=require_path_exists().pathExists;function createSymlink(srcpath,dstpath,type2,callback){callback=typeof type2==="function"?type2:callback;type2=typeof type2==="function"?false:type2;pathExists(dstpath,(err,destinationExists)=>{if(err)return callback(err);if(destinationExists)return callback(null);symlinkPaths(srcpath,dstpath,(err2,relative3)=>{if(err2)return callback(err2);srcpath=relative3.toDst;symlinkType(relative3.toCwd,type2,(err3,type3)=>{if(err3)return callback(err3);const dir=path27.dirname(dstpath);pathExists(dir,(err4,dirExists)=>{if(err4)return callback(err4);if(dirExists)return fs14.symlink(srcpath,dstpath,type3,callback);mkdirs(dir,err5=>{if(err5)return callback(err5);fs14.symlink(srcpath,dstpath,type3,callback)})})})})})}function createSymlinkSync(srcpath,dstpath,type2){const destinationExists=fs14.existsSync(dstpath);if(destinationExists)return void 0;const relative3=symlinkPathsSync(srcpath,dstpath);srcpath=relative3.toDst;type2=symlinkTypeSync(relative3.toCwd,type2);const dir=path27.dirname(dstpath);const exists2=fs14.existsSync(dir);if(exists2)return fs14.symlinkSync(srcpath,dstpath,type2);mkdirsSync(dir);return fs14.symlinkSync(srcpath,dstpath,type2)}module2.exports={createSymlink:u(createSymlink),createSymlinkSync}}});var require_ensure=__commonJS({"node_modules/fs-extra/lib/ensure/index.js"(exports2,module2){"use strict";var file=require_file();var link=require_link();var symlink=require_symlink();module2.exports={createFile:file.createFile,createFileSync:file.createFileSync,ensureFile:file.createFile,ensureFileSync:file.createFileSync,createLink:link.createLink,createLinkSync:link.createLinkSync,ensureLink:link.createLink,ensureLinkSync:link.createLinkSync,createSymlink:symlink.createSymlink,createSymlinkSync:symlink.createSymlinkSync,ensureSymlink:symlink.createSymlink,ensureSymlinkSync:symlink.createSymlinkSync}}});var require_utils=__commonJS({"node_modules/jsonfile/utils.js"(exports2,module2){function stringify(obj,{EOL="\n",finalEOL=true,replacer=null,spaces}={}){const EOF=finalEOL?EOL:"";const str2=JSON.stringify(obj,replacer,spaces);return str2.replace(/\n/g,EOL)+EOF}function stripBom(content){if(Buffer.isBuffer(content))content=content.toString("utf8");return content.replace(/^\uFEFF/,"")}module2.exports={stringify,stripBom}}});var require_jsonfile=__commonJS({"node_modules/jsonfile/index.js"(exports2,module2){var _fs;try{_fs=require_graceful_fs()}catch(_){_fs=require("fs")}var universalify=require_universalify();var{stringify,stripBom}=require_utils();async function _readFile(file,options={}){if(typeof options==="string"){options={encoding:options}}const fs14=options.fs||_fs;const shouldThrow="throws"in options?options.throws:true;let data=await universalify.fromCallback(fs14.readFile)(file,options);data=stripBom(data);let obj;try{obj=JSON.parse(data,options?options.reviver:null)}catch(err){if(shouldThrow){err.message=`${file}: ${err.message}`;throw err}else{return null}}return obj}var readFile4=universalify.fromPromise(_readFile);function readFileSync(file,options={}){if(typeof options==="string"){options={encoding:options}}const fs14=options.fs||_fs;const shouldThrow="throws"in options?options.throws:true;try{let content=fs14.readFileSync(file,options);content=stripBom(content);return JSON.parse(content,options.reviver)}catch(err){if(shouldThrow){err.message=`${file}: ${err.message}`;throw err}else{return null}}}async function _writeFile(file,obj,options={}){const fs14=options.fs||_fs;const str2=stringify(obj,options);await universalify.fromCallback(fs14.writeFile)(file,str2,options)}var writeFile3=universalify.fromPromise(_writeFile);function writeFileSync(file,obj,options={}){const fs14=options.fs||_fs;const str2=stringify(obj,options);return fs14.writeFileSync(file,str2,options)}var jsonfile={readFile:readFile4,readFileSync,writeFile:writeFile3,writeFileSync};module2.exports=jsonfile}});var require_jsonfile2=__commonJS({"node_modules/fs-extra/lib/json/jsonfile.js"(exports2,module2){"use strict";var jsonFile=require_jsonfile();module2.exports={readJson:jsonFile.readFile,readJsonSync:jsonFile.readFileSync,writeJson:jsonFile.writeFile,writeJsonSync:jsonFile.writeFileSync}}});var require_output=__commonJS({"node_modules/fs-extra/lib/output/index.js"(exports2,module2){"use strict";var u=require_universalify().fromCallback;var fs14=require_graceful_fs();var path27=require("path");var mkdir2=require_mkdirs();var pathExists=require_path_exists().pathExists;function outputFile(file,data,encoding,callback){if(typeof encoding==="function"){callback=encoding;encoding="utf8"}const dir=path27.dirname(file);pathExists(dir,(err,itDoes)=>{if(err)return callback(err);if(itDoes)return fs14.writeFile(file,data,encoding,callback);mkdir2.mkdirs(dir,err2=>{if(err2)return callback(err2);fs14.writeFile(file,data,encoding,callback)})})}function outputFileSync(file,...args2){const dir=path27.dirname(file);if(fs14.existsSync(dir)){return fs14.writeFileSync(file,...args2)}mkdir2.mkdirsSync(dir);fs14.writeFileSync(file,...args2)}module2.exports={outputFile:u(outputFile),outputFileSync}}});var require_output_json=__commonJS({"node_modules/fs-extra/lib/json/output-json.js"(exports2,module2){"use strict";var{stringify}=require_utils();var{outputFile}=require_output();async function outputJson(file,data,options={}){const str2=stringify(data,options);await outputFile(file,str2,options)}module2.exports=outputJson}});var require_output_json_sync=__commonJS({"node_modules/fs-extra/lib/json/output-json-sync.js"(exports2,module2){"use strict";var{stringify}=require_utils();var{outputFileSync}=require_output();function outputJsonSync(file,data,options){const str2=stringify(data,options);outputFileSync(file,str2,options)}module2.exports=outputJsonSync}});var require_json=__commonJS({"node_modules/fs-extra/lib/json/index.js"(exports2,module2){"use strict";var u=require_universalify().fromPromise;var jsonFile=require_jsonfile2();jsonFile.outputJson=u(require_output_json());jsonFile.outputJsonSync=require_output_json_sync();jsonFile.outputJSON=jsonFile.outputJson;jsonFile.outputJSONSync=jsonFile.outputJsonSync;jsonFile.writeJSON=jsonFile.writeJson;jsonFile.writeJSONSync=jsonFile.writeJsonSync;jsonFile.readJSON=jsonFile.readJson;jsonFile.readJSONSync=jsonFile.readJsonSync;module2.exports=jsonFile}});var require_move_sync=__commonJS({"node_modules/fs-extra/lib/move-sync/move-sync.js"(exports2,module2){"use strict";var fs14=require_graceful_fs();var path27=require("path");var copySync=require_copy_sync2().copySync;var removeSync=require_remove().removeSync;var mkdirpSync=require_mkdirs().mkdirpSync;var stat3=require_stat();function moveSync(src,dest,opts){opts=opts||{};const overwrite=opts.overwrite||opts.clobber||false;const{srcStat}=stat3.checkPathsSync(src,dest,"move");stat3.checkParentPathsSync(src,srcStat,dest,"move");mkdirpSync(path27.dirname(dest));return doRename(src,dest,overwrite)}function doRename(src,dest,overwrite){if(overwrite){removeSync(dest);return rename3(src,dest,overwrite)}if(fs14.existsSync(dest))throw new Error("dest already exists.");return rename3(src,dest,overwrite)}function rename3(src,dest,overwrite){try{fs14.renameSync(src,dest)}catch(err){if(err.code!=="EXDEV")throw err;return moveAcrossDevice(src,dest,overwrite)}}function moveAcrossDevice(src,dest,overwrite){const opts={overwrite,errorOnExist:true};copySync(src,dest,opts);return removeSync(src)}module2.exports=moveSync}});var require_move_sync2=__commonJS({"node_modules/fs-extra/lib/move-sync/index.js"(exports2,module2){"use strict";module2.exports={moveSync:require_move_sync()}}});var require_move=__commonJS({"node_modules/fs-extra/lib/move/move.js"(exports2,module2){"use strict";var fs14=require_graceful_fs();var path27=require("path");var copy=require_copy2().copy;var remove2=require_remove().remove;var mkdirp=require_mkdirs().mkdirp;var pathExists=require_path_exists().pathExists;var stat3=require_stat();function move(src,dest,opts,cb){if(typeof opts==="function"){cb=opts;opts={}}const overwrite=opts.overwrite||opts.clobber||false;stat3.checkPaths(src,dest,"move",(err,stats)=>{if(err)return cb(err);const{srcStat}=stats;stat3.checkParentPaths(src,srcStat,dest,"move",err2=>{if(err2)return cb(err2);mkdirp(path27.dirname(dest),err3=>{if(err3)return cb(err3);return doRename(src,dest,overwrite,cb)})})})}function doRename(src,dest,overwrite,cb){if(overwrite){return remove2(dest,err=>{if(err)return cb(err);return rename3(src,dest,overwrite,cb)})}pathExists(dest,(err,destExists)=>{if(err)return cb(err);if(destExists)return cb(new Error("dest already exists."));return rename3(src,dest,overwrite,cb)})}function rename3(src,dest,overwrite,cb){fs14.rename(src,dest,err=>{if(!err)return cb();if(err.code!=="EXDEV")return cb(err);return moveAcrossDevice(src,dest,overwrite,cb)})}function moveAcrossDevice(src,dest,overwrite,cb){const opts={overwrite,errorOnExist:true};copy(src,dest,opts,err=>{if(err)return cb(err);return remove2(src,cb)})}module2.exports=move}});var require_move2=__commonJS({"node_modules/fs-extra/lib/move/index.js"(exports2,module2){"use strict";var u=require_universalify().fromCallback;module2.exports={move:u(require_move())}}});var require_lib2=__commonJS({"node_modules/fs-extra/lib/index.js"(exports2,module2){"use strict";module2.exports={...require_fs(),...require_copy_sync2(),...require_copy2(),...require_empty(),...require_ensure(),...require_json(),...require_mkdirs(),...require_move_sync2(),...require_move2(),...require_output(),...require_path_exists(),...require_remove()};var fs14=require("fs");if(Object.getOwnPropertyDescriptor(fs14,"promises")){Object.defineProperty(module2.exports,"promises",{get(){return fs14.promises}})}}});var require_node_stream_zip=__commonJS({"node_modules/node-stream-zip/node_stream_zip.js"(exports2,module2){var fs14=require("fs");var util4=require("util");var path27=require("path");var events=require("events");var zlib2=require("zlib");var stream3=require("stream");var consts={LOCHDR:30,LOCSIG:67324752,LOCVER:4,LOCFLG:6,LOCHOW:8,LOCTIM:10,LOCCRC:14,LOCSIZ:18,LOCLEN:22,LOCNAM:26,LOCEXT:28,EXTSIG:134695760,EXTHDR:16,EXTCRC:4,EXTSIZ:8,EXTLEN:12,CENHDR:46,CENSIG:33639248,CENVEM:4,CENVER:6,CENFLG:8,CENHOW:10,CENTIM:12,CENCRC:16,CENSIZ:20,CENLEN:24,CENNAM:28,CENEXT:30,CENCOM:32,CENDSK:34,CENATT:36,CENATX:38,CENOFF:42,ENDHDR:22,ENDSIG:101010256,ENDSIGFIRST:80,ENDSUB:8,ENDTOT:10,ENDSIZ:12,ENDOFF:16,ENDCOM:20,MAXFILECOMMENT:65535,ENDL64HDR:20,ENDL64SIG:117853008,ENDL64SIGFIRST:80,ENDL64OFS:8,END64HDR:56,END64SIG:101075792,END64SIGFIRST:80,END64SUB:24,END64TOT:32,END64SIZ:40,END64OFF:48,STORED:0,SHRUNK:1,REDUCED1:2,REDUCED2:3,REDUCED3:4,REDUCED4:5,IMPLODED:6,DEFLATED:8,ENHANCED_DEFLATED:9,PKWARE:10,BZIP2:12,LZMA:14,IBM_TERSE:18,IBM_LZ77:19,FLG_ENC:0,FLG_COMP1:1,FLG_COMP2:2,FLG_DESC:4,FLG_ENH:8,FLG_STR:16,FLG_LNG:1024,FLG_MSK:4096,FLG_ENTRY_ENC:1,EF_ID:0,EF_SIZE:2,ID_ZIP64:1,ID_AVINFO:7,ID_PFS:8,ID_OS2:9,ID_NTFS:10,ID_OPENVMS:12,ID_UNIX:13,ID_FORK:14,ID_PATCH:15,ID_X509_PKCS7:20,ID_X509_CERTID_F:21,ID_X509_CERTID_C:22,ID_STRONGENC:23,ID_RECORD_MGT:24,ID_X509_PKCS7_RL:25,ID_IBM1:101,ID_IBM2:102,ID_POSZIP:18064,EF_ZIP64_OR_32:4294967295,EF_ZIP64_OR_16:65535};var StreamZip2=function(config){let fd,fileSize,chunkSize,op,centralDirectory,closed;const ready=false,that=this,entries2=config.storeEntries!==false?{}:null,fileName=config.file,textDecoder=config.nameEncoding?new TextDecoder(config.nameEncoding):null;open4();function open4(){if(config.fd){fd=config.fd;readFile4()}else{fs14.open(fileName,"r",(err,f)=>{if(err){return that.emit("error",err)}fd=f;readFile4()})}}function readFile4(){fs14.fstat(fd,(err,stat3)=>{if(err){return that.emit("error",err)}fileSize=stat3.size;chunkSize=config.chunkSize||Math.round(fileSize/1e3);chunkSize=Math.max(Math.min(chunkSize,Math.min(128*1024,fileSize)),Math.min(1024,fileSize));readCentralDirectory()})}function readUntilFoundCallback(err,bytesRead){if(err||!bytesRead){return that.emit("error",err||new Error("Archive read error"))}let pos=op.lastPos;let bufferPosition=pos-op.win.position;const buffer=op.win.buffer;const minPos=op.minPos;while(--pos>=minPos&&--bufferPosition>=0){if(buffer.length-bufferPosition>=4&&buffer[bufferPosition]===op.firstByte){if(buffer.readUInt32LE(bufferPosition)===op.sig){op.lastBufferPosition=bufferPosition;op.lastBytesRead=bytesRead;op.complete();return}}}if(pos===minPos){return that.emit("error",new Error("Bad archive"))}op.lastPos=pos+1;op.chunkSize*=2;if(pos<=minPos){return that.emit("error",new Error("Bad archive"))}const expandLength=Math.min(op.chunkSize,pos-minPos);op.win.expandLeft(expandLength,readUntilFoundCallback)}function readCentralDirectory(){const totalReadLength=Math.min(consts.ENDHDR+consts.MAXFILECOMMENT,fileSize);op={win:new FileWindowBuffer(fd),totalReadLength,minPos:fileSize-totalReadLength,lastPos:fileSize,chunkSize:Math.min(1024,chunkSize),firstByte:consts.ENDSIGFIRST,sig:consts.ENDSIG,complete:readCentralDirectoryComplete};op.win.read(fileSize-op.chunkSize,op.chunkSize,readUntilFoundCallback)}function readCentralDirectoryComplete(){const buffer=op.win.buffer;const pos=op.lastBufferPosition;try{centralDirectory=new CentralDirectoryHeader;centralDirectory.read(buffer.slice(pos,pos+consts.ENDHDR));centralDirectory.headerOffset=op.win.position+pos;if(centralDirectory.commentLength){that.comment=buffer.slice(pos+consts.ENDHDR,pos+consts.ENDHDR+centralDirectory.commentLength).toString()}else{that.comment=null}that.entriesCount=centralDirectory.volumeEntries;that.centralDirectory=centralDirectory;if(centralDirectory.volumeEntries===consts.EF_ZIP64_OR_16&&centralDirectory.totalEntries===consts.EF_ZIP64_OR_16||centralDirectory.size===consts.EF_ZIP64_OR_32||centralDirectory.offset===consts.EF_ZIP64_OR_32){readZip64CentralDirectoryLocator()}else{op={};readEntries()}}catch(err){that.emit("error",err)}}function readZip64CentralDirectoryLocator(){const length=consts.ENDL64HDR;if(op.lastBufferPosition>length){op.lastBufferPosition-=length;readZip64CentralDirectoryLocatorComplete()}else{op={win:op.win,totalReadLength:length,minPos:op.win.position-length,lastPos:op.win.position,chunkSize:op.chunkSize,firstByte:consts.ENDL64SIGFIRST,sig:consts.ENDL64SIG,complete:readZip64CentralDirectoryLocatorComplete};op.win.read(op.lastPos-op.chunkSize,op.chunkSize,readUntilFoundCallback)}}function readZip64CentralDirectoryLocatorComplete(){const buffer=op.win.buffer;const locHeader=new CentralDirectoryLoc64Header;locHeader.read(buffer.slice(op.lastBufferPosition,op.lastBufferPosition+consts.ENDL64HDR));const readLength=fileSize-locHeader.headerOffset;op={win:op.win,totalReadLength:readLength,minPos:locHeader.headerOffset,lastPos:op.lastPos,chunkSize:op.chunkSize,firstByte:consts.END64SIGFIRST,sig:consts.END64SIG,complete:readZip64CentralDirectoryComplete};op.win.read(fileSize-op.chunkSize,op.chunkSize,readUntilFoundCallback)}function readZip64CentralDirectoryComplete(){const buffer=op.win.buffer;const zip64cd=new CentralDirectoryZip64Header;zip64cd.read(buffer.slice(op.lastBufferPosition,op.lastBufferPosition+consts.END64HDR));that.centralDirectory.volumeEntries=zip64cd.volumeEntries;that.centralDirectory.totalEntries=zip64cd.totalEntries;that.centralDirectory.size=zip64cd.size;that.centralDirectory.offset=zip64cd.offset;that.entriesCount=zip64cd.volumeEntries;op={};readEntries()}function readEntries(){op={win:new FileWindowBuffer(fd),pos:centralDirectory.offset,chunkSize,entriesLeft:centralDirectory.volumeEntries};op.win.read(op.pos,Math.min(chunkSize,fileSize-op.pos),readEntriesCallback)}function readEntriesCallback(err,bytesRead){if(err||!bytesRead){return that.emit("error",err||new Error("Entries read error"))}let bufferPos=op.pos-op.win.position;let entry=op.entry;const buffer=op.win.buffer;const bufferLength=buffer.length;try{while(op.entriesLeft>0){if(!entry){entry=new ZipEntry;entry.readHeader(buffer,bufferPos);entry.headerOffset=op.win.position+bufferPos;op.entry=entry;op.pos+=consts.CENHDR;bufferPos+=consts.CENHDR}const entryHeaderSize=entry.fnameLen+entry.extraLen+entry.comLen;const advanceBytes=entryHeaderSize+(op.entriesLeft>1?consts.CENHDR:0);if(bufferLength-bufferPos<advanceBytes){op.win.moveRight(chunkSize,readEntriesCallback,bufferPos);op.move=true;return}entry.read(buffer,bufferPos,textDecoder);if(!config.skipEntryNameValidation){entry.validateName()}if(entries2){entries2[entry.name]=entry}that.emit("entry",entry);op.entry=entry=null;op.entriesLeft--;op.pos+=entryHeaderSize;bufferPos+=entryHeaderSize}that.emit("ready")}catch(err2){that.emit("error",err2)}}function checkEntriesExist(){if(!entries2){throw new Error("storeEntries disabled")}}Object.defineProperty(this,"ready",{get(){return ready}});this.entry=function(name){checkEntriesExist();return entries2[name]};this.entries=function(){checkEntriesExist();return entries2};this.stream=function(entry,callback){return this.openEntry(entry,(err,entry2)=>{if(err){return callback(err)}const offset=dataOffset(entry2);let entryStream=new EntryDataReaderStream(fd,offset,entry2.compressedSize);if(entry2.method===consts.STORED){}else if(entry2.method===consts.DEFLATED){entryStream=entryStream.pipe(zlib2.createInflateRaw())}else{return callback(new Error("Unknown compression method: "+entry2.method))}if(canVerifyCrc(entry2)){entryStream=entryStream.pipe(new EntryVerifyStream(entryStream,entry2.crc,entry2.size))}callback(null,entryStream)},false)};this.entryDataSync=function(entry){let err=null;this.openEntry(entry,(e,en)=>{err=e;entry=en},true);if(err){throw err}let data=Buffer.alloc(entry.compressedSize);new FsRead(fd,data,0,entry.compressedSize,dataOffset(entry),e=>{err=e}).read(true);if(err){throw err}if(entry.method===consts.STORED){}else if(entry.method===consts.DEFLATED||entry.method===consts.ENHANCED_DEFLATED){data=zlib2.inflateRawSync(data)}else{throw new Error("Unknown compression method: "+entry.method)}if(data.length!==entry.size){throw new Error("Invalid size")}if(canVerifyCrc(entry)){const verify=new CrcVerify(entry.crc,entry.size);verify.data(data)}return data};this.openEntry=function(entry,callback,sync){if(typeof entry==="string"){checkEntriesExist();entry=entries2[entry];if(!entry){return callback(new Error("Entry not found"))}}if(!entry.isFile){return callback(new Error("Entry is not file"))}if(!fd){return callback(new Error("Archive closed"))}const buffer=Buffer.alloc(consts.LOCHDR);new FsRead(fd,buffer,0,buffer.length,entry.offset,err=>{if(err){return callback(err)}let readEx;try{entry.readDataHeader(buffer);if(entry.encrypted){readEx=new Error("Entry encrypted")}}catch(ex){readEx=ex}callback(readEx,entry)}).read(sync)};function dataOffset(entry){return entry.offset+consts.LOCHDR+entry.fnameLen+entry.extraLen}function canVerifyCrc(entry){return(entry.flags&8)!==8}function extract(entry,outPath,callback){that.stream(entry,(err,stm)=>{if(err){callback(err)}else{let fsStm,errThrown;stm.on("error",err2=>{errThrown=err2;if(fsStm){stm.unpipe(fsStm);fsStm.close(()=>{callback(err2)})}});fs14.open(outPath,"w",(err2,fdFile)=>{if(err2){return callback(err2)}if(errThrown){fs14.close(fd,()=>{callback(errThrown)});return}fsStm=fs14.createWriteStream(outPath,{fd:fdFile});fsStm.on("finish",()=>{that.emit("extract",entry,outPath);if(!errThrown){callback()}});stm.pipe(fsStm)})}})}function createDirectories(baseDir,dirs,callback){if(!dirs.length){return callback()}let dir=dirs.shift();dir=path27.join(baseDir,path27.join(...dir));fs14.mkdir(dir,{recursive:true},err=>{if(err&&err.code!=="EEXIST"){return callback(err)}createDirectories(baseDir,dirs,callback)})}function extractFiles(baseDir,baseRelPath,files,callback,extractedCount){if(!files.length){return callback(null,extractedCount)}const file=files.shift();const targetPath=path27.join(baseDir,file.name.replace(baseRelPath,""));extract(file,targetPath,err=>{if(err){return callback(err,extractedCount)}extractFiles(baseDir,baseRelPath,files,callback,extractedCount+1)})}this.extract=function(entry,outPath,callback){let entryName=entry||"";if(typeof entry==="string"){entry=this.entry(entry);if(entry){entryName=entry.name}else{if(entryName.length&&entryName[entryName.length-1]!=="/"){entryName+="/"}}}if(!entry||entry.isDirectory){const files=[],dirs=[],allDirs={};for(const e in entries2){if(Object.prototype.hasOwnProperty.call(entries2,e)&&e.lastIndexOf(entryName,0)===0){let relPath=e.replace(entryName,"");const childEntry=entries2[e];if(childEntry.isFile){files.push(childEntry);relPath=path27.dirname(relPath)}if(relPath&&!allDirs[relPath]&&relPath!=="."){allDirs[relPath]=true;let parts=relPath.split("/").filter(f=>{return f});if(parts.length){dirs.push(parts)}while(parts.length>1){parts=parts.slice(0,parts.length-1);const partsPath=parts.join("/");if(allDirs[partsPath]||partsPath==="."){break}allDirs[partsPath]=true;dirs.push(parts)}}}}dirs.sort((x,y)=>{return x.length-y.length});if(dirs.length){createDirectories(outPath,dirs,err=>{if(err){callback(err)}else{extractFiles(outPath,entryName,files,callback,0)}})}else{extractFiles(outPath,entryName,files,callback,0)}}else{fs14.stat(outPath,(err,stat3)=>{if(stat3&&stat3.isDirectory()){extract(entry,path27.join(outPath,path27.basename(entry.name)),callback)}else{extract(entry,outPath,callback)}})}};this.close=function(callback){if(closed||!fd){closed=true;if(callback){callback()}}else{closed=true;fs14.close(fd,err=>{fd=null;if(callback){callback(err)}})}};const originalEmit=events.EventEmitter.prototype.emit;this.emit=function(...args2){if(!closed){return originalEmit.call(this,...args2)}}};StreamZip2.setFs=function(customFs){fs14=customFs};StreamZip2.debugLog=(...args2)=>{if(StreamZip2.debug){console.log(...args2)}};util4.inherits(StreamZip2,events.EventEmitter);var propZip=Symbol("zip");StreamZip2.async=class StreamZipAsync extends events.EventEmitter{constructor(config){super();const zip2=new StreamZip2(config);zip2.on("entry",entry=>this.emit("entry",entry));zip2.on("extract",(entry,outPath)=>this.emit("extract",entry,outPath));this[propZip]=new Promise((resolve,reject2)=>{zip2.on("ready",()=>{zip2.removeListener("error",reject2);resolve(zip2)});zip2.on("error",reject2)})}get entriesCount(){return this[propZip].then(zip2=>zip2.entriesCount)}get comment(){return this[propZip].then(zip2=>zip2.comment)}async entry(name){const zip2=await this[propZip];return zip2.entry(name)}async entries(){const zip2=await this[propZip];return zip2.entries()}async stream(entry){const zip2=await this[propZip];return new Promise((resolve,reject2)=>{zip2.stream(entry,(err,stm)=>{if(err){reject2(err)}else{resolve(stm)}})})}async entryData(entry){const stm=await this.stream(entry);return new Promise((resolve,reject2)=>{const data=[];stm.on("data",chunk2=>data.push(chunk2));stm.on("end",()=>{resolve(Buffer.concat(data))});stm.on("error",err=>{stm.removeAllListeners("end");reject2(err)})})}async extract(entry,outPath){const zip2=await this[propZip];return new Promise((resolve,reject2)=>{zip2.extract(entry,outPath,(err,res)=>{if(err){reject2(err)}else{resolve(res)}})})}async close(){const zip2=await this[propZip];return new Promise((resolve,reject2)=>{zip2.close(err=>{if(err){reject2(err)}else{resolve()}})})}};var CentralDirectoryHeader=class{read(data){if(data.length!==consts.ENDHDR||data.readUInt32LE(0)!==consts.ENDSIG){throw new Error("Invalid central directory")}this.volumeEntries=data.readUInt16LE(consts.ENDSUB);this.totalEntries=data.readUInt16LE(consts.ENDTOT);this.size=data.readUInt32LE(consts.ENDSIZ);this.offset=data.readUInt32LE(consts.ENDOFF);this.commentLength=data.readUInt16LE(consts.ENDCOM)}};var CentralDirectoryLoc64Header=class{read(data){if(data.length!==consts.ENDL64HDR||data.readUInt32LE(0)!==consts.ENDL64SIG){throw new Error("Invalid zip64 central directory locator")}this.headerOffset=readUInt64LE(data,consts.ENDSUB)}};var CentralDirectoryZip64Header=class{read(data){if(data.length!==consts.END64HDR||data.readUInt32LE(0)!==consts.END64SIG){throw new Error("Invalid central directory")}this.volumeEntries=readUInt64LE(data,consts.END64SUB);this.totalEntries=readUInt64LE(data,consts.END64TOT);this.size=readUInt64LE(data,consts.END64SIZ);this.offset=readUInt64LE(data,consts.END64OFF)}};var ZipEntry=class{readHeader(data,offset){if(data.length<offset+consts.CENHDR||data.readUInt32LE(offset)!==consts.CENSIG){throw new Error("Invalid entry header")}this.verMade=data.readUInt16LE(offset+consts.CENVEM);this.version=data.readUInt16LE(offset+consts.CENVER);this.flags=data.readUInt16LE(offset+consts.CENFLG);this.method=data.readUInt16LE(offset+consts.CENHOW);const timebytes=data.readUInt16LE(offset+consts.CENTIM);const datebytes=data.readUInt16LE(offset+consts.CENTIM+2);this.time=parseZipTime(timebytes,datebytes);this.crc=data.readUInt32LE(offset+consts.CENCRC);this.compressedSize=data.readUInt32LE(offset+consts.CENSIZ);this.size=data.readUInt32LE(offset+consts.CENLEN);this.fnameLen=data.readUInt16LE(offset+consts.CENNAM);this.extraLen=data.readUInt16LE(offset+consts.CENEXT);this.comLen=data.readUInt16LE(offset+consts.CENCOM);this.diskStart=data.readUInt16LE(offset+consts.CENDSK);this.inattr=data.readUInt16LE(offset+consts.CENATT);this.attr=data.readUInt32LE(offset+consts.CENATX);this.offset=data.readUInt32LE(offset+consts.CENOFF)}readDataHeader(data){if(data.readUInt32LE(0)!==consts.LOCSIG){throw new Error("Invalid local header")}this.version=data.readUInt16LE(consts.LOCVER);this.flags=data.readUInt16LE(consts.LOCFLG);this.method=data.readUInt16LE(consts.LOCHOW);const timebytes=data.readUInt16LE(consts.LOCTIM);const datebytes=data.readUInt16LE(consts.LOCTIM+2);this.time=parseZipTime(timebytes,datebytes);this.crc=data.readUInt32LE(consts.LOCCRC)||this.crc;const compressedSize=data.readUInt32LE(consts.LOCSIZ);if(compressedSize&&compressedSize!==consts.EF_ZIP64_OR_32){this.compressedSize=compressedSize}const size2=data.readUInt32LE(consts.LOCLEN);if(size2&&size2!==consts.EF_ZIP64_OR_32){this.size=size2}this.fnameLen=data.readUInt16LE(consts.LOCNAM);this.extraLen=data.readUInt16LE(consts.LOCEXT)}read(data,offset,textDecoder){const nameData=data.slice(offset,offset+=this.fnameLen);this.name=textDecoder?textDecoder.decode(new Uint8Array(nameData)):nameData.toString("utf8");const lastChar=data[offset-1];this.isDirectory=lastChar===47||lastChar===92;if(this.extraLen){this.readExtra(data,offset);offset+=this.extraLen}this.comment=this.comLen?data.slice(offset,offset+this.comLen).toString():null}validateName(){if(/\\|^\w+:|^\/|(^|\/)\.\.(\/|$)/.test(this.name)){throw new Error("Malicious entry: "+this.name)}}readExtra(data,offset){let signature,size2;const maxPos=offset+this.extraLen;while(offset<maxPos){signature=data.readUInt16LE(offset);offset+=2;size2=data.readUInt16LE(offset);offset+=2;if(consts.ID_ZIP64===signature){this.parseZip64Extra(data,offset,size2)}offset+=size2}}parseZip64Extra(data,offset,length){if(length>=8&&this.size===consts.EF_ZIP64_OR_32){this.size=readUInt64LE(data,offset);offset+=8;length-=8}if(length>=8&&this.compressedSize===consts.EF_ZIP64_OR_32){this.compressedSize=readUInt64LE(data,offset);offset+=8;length-=8}if(length>=8&&this.offset===consts.EF_ZIP64_OR_32){this.offset=readUInt64LE(data,offset);offset+=8;length-=8}if(length>=4&&this.diskStart===consts.EF_ZIP64_OR_16){this.diskStart=data.readUInt32LE(offset)}}get encrypted(){return(this.flags&consts.FLG_ENTRY_ENC)===consts.FLG_ENTRY_ENC}get isFile(){return!this.isDirectory}};var FsRead=class{constructor(fd,buffer,offset,length,position,callback){this.fd=fd;this.buffer=buffer;this.offset=offset;this.length=length;this.position=position;this.callback=callback;this.bytesRead=0;this.waiting=false}read(sync){StreamZip2.debugLog("read",this.position,this.bytesRead,this.length,this.offset);this.waiting=true;let err;if(sync){let bytesRead=0;try{bytesRead=fs14.readSync(this.fd,this.buffer,this.offset+this.bytesRead,this.length-this.bytesRead,this.position+this.bytesRead)}catch(e){err=e}this.readCallback(sync,err,err?bytesRead:null)}else{fs14.read(this.fd,this.buffer,this.offset+this.bytesRead,this.length-this.bytesRead,this.position+this.bytesRead,this.readCallback.bind(this,sync))}}readCallback(sync,err,bytesRead){if(typeof bytesRead==="number"){this.bytesRead+=bytesRead}if(err||!bytesRead||this.bytesRead===this.length){this.waiting=false;return this.callback(err,this.bytesRead)}else{this.read(sync)}}};var FileWindowBuffer=class{constructor(fd){this.position=0;this.buffer=Buffer.alloc(0);this.fd=fd;this.fsOp=null}checkOp(){if(this.fsOp&&this.fsOp.waiting){throw new Error("Operation in progress")}}read(pos,length,callback){this.checkOp();if(this.buffer.length<length){this.buffer=Buffer.alloc(length)}this.position=pos;this.fsOp=new FsRead(this.fd,this.buffer,0,length,this.position,callback).read()}expandLeft(length,callback){this.checkOp();this.buffer=Buffer.concat([Buffer.alloc(length),this.buffer]);this.position-=length;if(this.position<0){this.position=0}this.fsOp=new FsRead(this.fd,this.buffer,0,length,this.position,callback).read()}expandRight(length,callback){this.checkOp();const offset=this.buffer.length;this.buffer=Buffer.concat([this.buffer,Buffer.alloc(length)]);this.fsOp=new FsRead(this.fd,this.buffer,offset,length,this.position+offset,callback).read()}moveRight(length,callback,shift){this.checkOp();if(shift){this.buffer.copy(this.buffer,0,shift)}else{shift=0}this.position+=shift;this.fsOp=new FsRead(this.fd,this.buffer,this.buffer.length-shift,shift,this.position+this.buffer.length-shift,callback).read()}};var EntryDataReaderStream=class extends stream3.Readable{constructor(fd,offset,length){super();this.fd=fd;this.offset=offset;this.length=length;this.pos=0;this.readCallback=this.readCallback.bind(this)}_read(n){const buffer=Buffer.alloc(Math.min(n,this.length-this.pos));if(buffer.length){fs14.read(this.fd,buffer,0,buffer.length,this.offset+this.pos,this.readCallback)}else{this.push(null)}}readCallback(err,bytesRead,buffer){this.pos+=bytesRead;if(err){this.emit("error",err);this.push(null)}else if(!bytesRead){this.push(null)}else{if(bytesRead!==buffer.length){buffer=buffer.slice(0,bytesRead)}this.push(buffer)}}};var EntryVerifyStream=class extends stream3.Transform{constructor(baseStm,crc,size2){super();this.verify=new CrcVerify(crc,size2);baseStm.on("error",e=>{this.emit("error",e)})}_transform(data,encoding,callback){let err;try{this.verify.data(data)}catch(e){err=e}callback(err,data)}};var CrcVerify=class _CrcVerify{constructor(crc,size2){this.crc=crc;this.size=size2;this.state={crc:~0,size:0}}data(data){const crcTable=_CrcVerify.getCrcTable();let crc=this.state.crc;let off=0;let len=data.length;while(--len>=0){crc=crcTable[(crc^data[off++])&255]^crc>>>8}this.state.crc=crc;this.state.size+=data.length;if(this.state.size>=this.size){const buf=Buffer.alloc(4);buf.writeInt32LE(~this.state.crc&4294967295,0);crc=buf.readUInt32LE(0);if(crc!==this.crc){throw new Error("Invalid CRC")}if(this.state.size!==this.size){throw new Error("Invalid size")}}}static getCrcTable(){let crcTable=_CrcVerify.crcTable;if(!crcTable){_CrcVerify.crcTable=crcTable=[];const b=Buffer.alloc(4);for(let n=0;n<256;n++){let c=n;for(let k=8;--k>=0;){if((c&1)!==0){c=3988292384^c>>>1}else{c=c>>>1}}if(c<0){b.writeInt32LE(c,0);c=b.readUInt32LE(0)}crcTable[n]=c}}return crcTable}};function parseZipTime(timebytes,datebytes){const timebits=toBits(timebytes,16);const datebits=toBits(datebytes,16);const mt={h:parseInt(timebits.slice(0,5).join(""),2),m:parseInt(timebits.slice(5,11).join(""),2),s:parseInt(timebits.slice(11,16).join(""),2)*2,Y:parseInt(datebits.slice(0,7).join(""),2)+1980,M:parseInt(datebits.slice(7,11).join(""),2),D:parseInt(datebits.slice(11,16).join(""),2)};const dt_str=[mt.Y,mt.M,mt.D].join("-")+" "+[mt.h,mt.m,mt.s].join(":")+" GMT+0";return new Date(dt_str).getTime()}function toBits(dec,size2){let b=(dec>>>0).toString(2);while(b.length<size2){b="0"+b}return b.split("")}function readUInt64LE(buffer,offset){return buffer.readUInt32LE(offset+4)*4294967296+buffer.readUInt32LE(offset)}module2.exports=StreamZip2}});var require_SqlString=__commonJS({"node_modules/sqlstring/lib/SqlString.js"(exports2){var SqlString=exports2;var ID_GLOBAL_REGEXP=/`/g;var QUAL_GLOBAL_REGEXP=/\./g;var CHARS_GLOBAL_REGEXP=/[\0\b\t\n\r\x1a\"\'\\]/g;var CHARS_ESCAPE_MAP={"\0":"\\0","\b":"\\b","	":"\\t","\n":"\\n","\r":"\\r","":"\\Z",'"':'\\"',"'":"\\'","\\":"\\\\"};SqlString.escapeId=function escapeId(val,forbidQualified){if(Array.isArray(val)){var sql="";for(var i=0;i<val.length;i++){sql+=(i===0?"":", ")+SqlString.escapeId(val[i],forbidQualified)}return sql}else if(forbidQualified){return"`"+String(val).replace(ID_GLOBAL_REGEXP,"``")+"`"}else{return"`"+String(val).replace(ID_GLOBAL_REGEXP,"``").replace(QUAL_GLOBAL_REGEXP,"`.`")+"`"}};SqlString.escape=function escape3(val,stringifyObjects,timeZone){if(val===void 0||val===null){return"NULL"}switch(typeof val){case"boolean":return val?"true":"false";case"number":return val+"";case"object":if(Object.prototype.toString.call(val)==="[object Date]"){return SqlString.dateToString(val,timeZone||"local")}else if(Array.isArray(val)){return SqlString.arrayToList(val,timeZone)}else if(Buffer.isBuffer(val)){return SqlString.bufferToString(val)}else if(typeof val.toSqlString==="function"){return String(val.toSqlString())}else if(stringifyObjects){return escapeString2(val.toString())}else{return SqlString.objectToValues(val,timeZone)}default:return escapeString2(val)}};SqlString.arrayToList=function arrayToList(array,timeZone){var sql="";for(var i=0;i<array.length;i++){var val=array[i];if(Array.isArray(val)){sql+=(i===0?"":", ")+"("+SqlString.arrayToList(val,timeZone)+")"}else{sql+=(i===0?"":", ")+SqlString.escape(val,true,timeZone)}}return sql};SqlString.format=function format2(sql,values2,stringifyObjects,timeZone){if(values2==null){return sql}if(!Array.isArray(values2)){values2=[values2]}var chunkIndex=0;var placeholdersRegex=/\?+/g;var result2="";var valuesIndex=0;var match;while(valuesIndex<values2.length&&(match=placeholdersRegex.exec(sql))){var len=match[0].length;if(len>2){continue}var value=len===2?SqlString.escapeId(values2[valuesIndex]):SqlString.escape(values2[valuesIndex],stringifyObjects,timeZone);result2+=sql.slice(chunkIndex,match.index)+value;chunkIndex=placeholdersRegex.lastIndex;valuesIndex++}if(chunkIndex===0){return sql}if(chunkIndex<sql.length){return result2+sql.slice(chunkIndex)}return result2};SqlString.dateToString=function dateToString(date,timeZone){var dt=new Date(date);if(isNaN(dt.getTime())){return"NULL"}var year;var month;var day;var hour;var minute;var second;var millisecond;if(timeZone==="local"){year=dt.getFullYear();month=dt.getMonth()+1;day=dt.getDate();hour=dt.getHours();minute=dt.getMinutes();second=dt.getSeconds();millisecond=dt.getMilliseconds()}else{var tz=convertTimezone(timeZone);if(tz!==false&&tz!==0){dt.setTime(dt.getTime()+tz*6e4)}year=dt.getUTCFullYear();month=dt.getUTCMonth()+1;day=dt.getUTCDate();hour=dt.getUTCHours();minute=dt.getUTCMinutes();second=dt.getUTCSeconds();millisecond=dt.getUTCMilliseconds()}var str2=zeroPad(year,4)+"-"+zeroPad(month,2)+"-"+zeroPad(day,2)+" "+zeroPad(hour,2)+":"+zeroPad(minute,2)+":"+zeroPad(second,2)+"."+zeroPad(millisecond,3);return escapeString2(str2)};SqlString.bufferToString=function bufferToString(buffer){return"X"+escapeString2(buffer.toString("hex"))};SqlString.objectToValues=function objectToValues(object,timeZone){var sql="";for(var key in object){var val=object[key];if(typeof val==="function"){continue}sql+=(sql.length===0?"":", ")+SqlString.escapeId(key)+" = "+SqlString.escape(val,true,timeZone)}return sql};SqlString.raw=function raw(sql){if(typeof sql!=="string"){throw new TypeError("argument sql must be a string")}return{toSqlString:function toSqlString(){return sql}}};function escapeString2(val){var chunkIndex=CHARS_GLOBAL_REGEXP.lastIndex=0;var escapedVal="";var match;while(match=CHARS_GLOBAL_REGEXP.exec(val)){escapedVal+=val.slice(chunkIndex,match.index)+CHARS_ESCAPE_MAP[match[0]];chunkIndex=CHARS_GLOBAL_REGEXP.lastIndex}if(chunkIndex===0){return"'"+val+"'"}if(chunkIndex<val.length){return"'"+escapedVal+val.slice(chunkIndex)+"'"}return"'"+escapedVal+"'"}function zeroPad(number2,length){number2=number2.toString();while(number2.length<length){number2="0"+number2}return number2}function convertTimezone(tz){if(tz==="Z"){return 0}var m=tz.match(/([\+\-\s])(\d\d):?(\d\d)?/);if(m){return(m[1]==="-"?-1:1)*(parseInt(m[2],10)+(m[3]?parseInt(m[3],10):0)/60)*60}return false}}});var require_sqlstring=__commonJS({"node_modules/sqlstring/index.js"(exports2,module2){module2.exports=require_SqlString()}});var require_lib3=__commonJS({"node_modules/lru.min/lib/index.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.createLRU=void 0;var createLRU=options=>{let{max:max3,onEviction}=options;if(!(Number.isInteger(max3)&&max3>0))throw new TypeError("`max` must be a positive integer");let size2=0;let head2=0;let tail2=0;let free=[];const keyMap=new Map;const keyList=new Array(max3).fill(void 0);const valList=new Array(max3).fill(void 0);const next=new Array(max3).fill(0);const prev=new Array(max3).fill(0);const setTail=(index,type2)=>{if(index===tail2)return;const nextIndex=next[index];const prevIndex=prev[index];if(index===head2)head2=nextIndex;else if(type2==="get"||prevIndex!==0)next[prevIndex]=nextIndex;if(nextIndex!==0)prev[nextIndex]=prevIndex;next[tail2]=index;prev[index]=tail2;next[index]=0;tail2=index};const _evict=()=>{const evictHead=head2;const key=keyList[evictHead];onEviction===null||onEviction===void 0?void 0:onEviction(key,valList[evictHead]);keyMap.delete(key);keyList[evictHead]=void 0;valList[evictHead]=void 0;head2=next[evictHead];if(head2!==0)prev[head2]=0;size2--;if(size2===0)head2=tail2=0;free.push(evictHead);return evictHead};return{set(key,value){if(key===void 0)return;let index=keyMap.get(key);if(index===void 0){index=size2===max3?_evict():free.length>0?free.pop():size2;keyMap.set(key,index);keyList[index]=key;size2++}else onEviction===null||onEviction===void 0?void 0:onEviction(key,valList[index]);valList[index]=value;if(size2===1)head2=tail2=index;else setTail(index,"set")},get(key){const index=keyMap.get(key);if(index===void 0)return;if(index!==tail2)setTail(index,"get");return valList[index]},peek:key=>{const index=keyMap.get(key);return index!==void 0?valList[index]:void 0},has:key=>keyMap.has(key),*keys(){let current=tail2;for(let i=0;i<size2;i++){yield keyList[current];current=prev[current]}},*values(){let current=tail2;for(let i=0;i<size2;i++){yield valList[current];current=prev[current]}},*entries(){let current=tail2;for(let i=0;i<size2;i++){yield[keyList[current],valList[current]];current=prev[current]}},forEach:callback=>{let current=tail2;for(let i=0;i<size2;i++){const key=keyList[current];const value=valList[current];callback(value,key);current=prev[current]}},delete(key){const index=keyMap.get(key);if(index===void 0)return false;onEviction===null||onEviction===void 0?void 0:onEviction(key,valList[index]);keyMap.delete(key);free.push(index);keyList[index]=void 0;valList[index]=void 0;const prevIndex=prev[index];const nextIndex=next[index];if(prevIndex!==0)next[prevIndex]=nextIndex;if(nextIndex!==0)prev[nextIndex]=prevIndex;if(index===head2)head2=nextIndex;if(index===tail2)tail2=prevIndex;size2--;return true},evict:number2=>{let toPrune=Math.min(number2,size2);while(toPrune>0){_evict();toPrune--}},clear(){if(typeof onEviction==="function"){const iterator=keyMap.values();for(let result2=iterator.next();!result2.done;result2=iterator.next())onEviction(keyList[result2.value],valList[result2.value])}keyMap.clear();keyList.fill(void 0);valList.fill(void 0);free=[];size2=0;head2=tail2=0},resize:newMax=>{if(!(Number.isInteger(newMax)&&newMax>0))throw new TypeError("`max` must be a positive integer");if(newMax===max3)return;if(newMax<max3){let current=tail2;const preserve=Math.min(size2,newMax);const remove2=size2-preserve;const newKeyList=new Array(newMax);const newValList=new Array(newMax);const newNext=new Array(newMax);const newPrev=new Array(newMax);for(let i=1;i<=remove2;i++)onEviction===null||onEviction===void 0?void 0:onEviction(keyList[i],valList[i]);for(let i=preserve-1;i>=0;i--){newKeyList[i]=keyList[current];newValList[i]=valList[current];newNext[i]=i+1;newPrev[i]=i-1;keyMap.set(newKeyList[i],i);current=prev[current]}head2=0;tail2=preserve-1;size2=preserve;keyList.length=newMax;valList.length=newMax;next.length=newMax;prev.length=newMax;for(let i=0;i<preserve;i++){keyList[i]=newKeyList[i];valList[i]=newValList[i];next[i]=newNext[i];prev[i]=newPrev[i]}free=[];for(let i=preserve;i<newMax;i++)free.push(i)}else{const fill2=newMax-max3;keyList.push(...new Array(fill2).fill(void 0));valList.push(...new Array(fill2).fill(void 0));next.push(...new Array(fill2).fill(0));prev.push(...new Array(fill2).fill(0))}max3=newMax},get max(){return max3},get size(){return size2},get available(){return max3-size2}}};exports2.createLRU=createLRU}});var require_parser_cache=__commonJS({"node_modules/mysql2/lib/parsers/parser_cache.js"(exports2,module2){"use strict";var{createLRU}=require_lib3();var parserCache=createLRU({max:15e3});function keyFromFields(type2,fields,options,config){const res=[type2,typeof options.nestTables,options.nestTables,Boolean(options.rowsAsArray),Boolean(options.supportBigNumbers||config.supportBigNumbers),Boolean(options.bigNumberStrings||config.bigNumberStrings),typeof options.typeCast,options.timezone||config.timezone,Boolean(options.decimalNumbers),options.dateStrings];for(let i=0;i<fields.length;++i){const field=fields[i];res.push([field.name,field.columnType,field.length,field.schema,field.table,field.flags,field.characterSet])}return JSON.stringify(res,null,0)}function getParser(type2,fields,options,config,compiler){const key=keyFromFields(type2,fields,options,config);let parser=parserCache.get(key);if(parser){return parser}parser=compiler(fields,options,config);parserCache.set(key,parser);return parser}function setMaxCache(max3){parserCache.resize(max3)}function clearCache(){parserCache.clear()}module2.exports={getParser,setMaxCache,clearCache,_keyFromFields:keyFromFields}}});var require_denque=__commonJS({"node_modules/denque/index.js"(exports2,module2){"use strict";function Denque(array,options){var options=options||{};this._capacity=options.capacity;this._head=0;this._tail=0;if(Array.isArray(array)){this._fromArray(array)}else{this._capacityMask=3;this._list=new Array(4)}}Denque.prototype.peekAt=function peekAt(index){var i=index;if(i!==(i|0)){return void 0}var len=this.size();if(i>=len||i<-len)return void 0;if(i<0)i+=len;i=this._head+i&this._capacityMask;return this._list[i]};Denque.prototype.get=function get4(i){return this.peekAt(i)};Denque.prototype.peek=function peek(){if(this._head===this._tail)return void 0;return this._list[this._head]};Denque.prototype.peekFront=function peekFront(){return this.peek()};Denque.prototype.peekBack=function peekBack(){return this.peekAt(-1)};Object.defineProperty(Denque.prototype,"length",{get:function length(){return this.size()}});Denque.prototype.size=function size2(){if(this._head===this._tail)return 0;if(this._head<this._tail)return this._tail-this._head;else return this._capacityMask+1-(this._head-this._tail)};Denque.prototype.unshift=function unshift(item){if(arguments.length===0)return this.size();var len=this._list.length;this._head=this._head-1+len&this._capacityMask;this._list[this._head]=item;if(this._tail===this._head)this._growArray();if(this._capacity&&this.size()>this._capacity)this.pop();if(this._head<this._tail)return this._tail-this._head;else return this._capacityMask+1-(this._head-this._tail)};Denque.prototype.shift=function shift(){var head2=this._head;if(head2===this._tail)return void 0;var item=this._list[head2];this._list[head2]=void 0;this._head=head2+1&this._capacityMask;if(head2<2&&this._tail>1e4&&this._tail<=this._list.length>>>2)this._shrinkArray();return item};Denque.prototype.push=function push(item){if(arguments.length===0)return this.size();var tail2=this._tail;this._list[tail2]=item;this._tail=tail2+1&this._capacityMask;if(this._tail===this._head){this._growArray()}if(this._capacity&&this.size()>this._capacity){this.shift()}if(this._head<this._tail)return this._tail-this._head;else return this._capacityMask+1-(this._head-this._tail)};Denque.prototype.pop=function pop(){var tail2=this._tail;if(tail2===this._head)return void 0;var len=this._list.length;this._tail=tail2-1+len&this._capacityMask;var item=this._list[this._tail];this._list[this._tail]=void 0;if(this._head<2&&tail2>1e4&&tail2<=len>>>2)this._shrinkArray();return item};Denque.prototype.removeOne=function removeOne(index){var i=index;if(i!==(i|0)){return void 0}if(this._head===this._tail)return void 0;var size2=this.size();var len=this._list.length;if(i>=size2||i<-size2)return void 0;if(i<0)i+=size2;i=this._head+i&this._capacityMask;var item=this._list[i];var k;if(index<size2/2){for(k=index;k>0;k--){this._list[i]=this._list[i=i-1+len&this._capacityMask]}this._list[i]=void 0;this._head=this._head+1+len&this._capacityMask}else{for(k=size2-1-index;k>0;k--){this._list[i]=this._list[i=i+1+len&this._capacityMask]}this._list[i]=void 0;this._tail=this._tail-1+len&this._capacityMask}return item};Denque.prototype.remove=function remove2(index,count){var i=index;var removed;var del_count=count;if(i!==(i|0)){return void 0}if(this._head===this._tail)return void 0;var size2=this.size();var len=this._list.length;if(i>=size2||i<-size2||count<1)return void 0;if(i<0)i+=size2;if(count===1||!count){removed=new Array(1);removed[0]=this.removeOne(i);return removed}if(i===0&&i+count>=size2){removed=this.toArray();this.clear();return removed}if(i+count>size2)count=size2-i;var k;removed=new Array(count);for(k=0;k<count;k++){removed[k]=this._list[this._head+i+k&this._capacityMask]}i=this._head+i&this._capacityMask;if(index+count===size2){this._tail=this._tail-count+len&this._capacityMask;for(k=count;k>0;k--){this._list[i=i+1+len&this._capacityMask]=void 0}return removed}if(index===0){this._head=this._head+count+len&this._capacityMask;for(k=count-1;k>0;k--){this._list[i=i+1+len&this._capacityMask]=void 0}return removed}if(i<size2/2){this._head=this._head+index+count+len&this._capacityMask;for(k=index;k>0;k--){this.unshift(this._list[i=i-1+len&this._capacityMask])}i=this._head-1+len&this._capacityMask;while(del_count>0){this._list[i=i-1+len&this._capacityMask]=void 0;del_count--}if(index<0)this._tail=i}else{this._tail=i;i=i+count+len&this._capacityMask;for(k=size2-(count+index);k>0;k--){this.push(this._list[i++])}i=this._tail;while(del_count>0){this._list[i=i+1+len&this._capacityMask]=void 0;del_count--}}if(this._head<2&&this._tail>1e4&&this._tail<=len>>>2)this._shrinkArray();return removed};Denque.prototype.splice=function splice4(index,count){var i=index;if(i!==(i|0)){return void 0}var size2=this.size();if(i<0)i+=size2;if(i>size2)return void 0;if(arguments.length>2){var k;var temp;var removed;var arg_len=arguments.length;var len=this._list.length;var arguments_index=2;if(!size2||i<size2/2){temp=new Array(i);for(k=0;k<i;k++){temp[k]=this._list[this._head+k&this._capacityMask]}if(count===0){removed=[];if(i>0){this._head=this._head+i+len&this._capacityMask}}else{removed=this.remove(i,count);this._head=this._head+i+len&this._capacityMask}while(arg_len>arguments_index){this.unshift(arguments[--arg_len])}for(k=i;k>0;k--){this.unshift(temp[k-1])}}else{temp=new Array(size2-(i+count));var leng=temp.length;for(k=0;k<leng;k++){temp[k]=this._list[this._head+i+count+k&this._capacityMask]}if(count===0){removed=[];if(i!=size2){this._tail=this._head+i+len&this._capacityMask}}else{removed=this.remove(i,count);this._tail=this._tail-leng+len&this._capacityMask}while(arguments_index<arg_len){this.push(arguments[arguments_index++])}for(k=0;k<leng;k++){this.push(temp[k])}}return removed}else{return this.remove(i,count)}};Denque.prototype.clear=function clear(){this._list=new Array(this._list.length);this._head=0;this._tail=0};Denque.prototype.isEmpty=function isEmpty2(){return this._head===this._tail};Denque.prototype.toArray=function toArray3(){return this._copyArray(false)};Denque.prototype._fromArray=function _fromArray(array){var length=array.length;var capacity=this._nextPowerOf2(length);this._list=new Array(capacity);this._capacityMask=capacity-1;this._tail=length;for(var i=0;i<length;i++)this._list[i]=array[i]};Denque.prototype._copyArray=function _copyArray(fullCopy,size2){var src=this._list;var capacity=src.length;var length=this.length;size2=size2|length;if(size2==length&&this._head<this._tail){return this._list.slice(this._head,this._tail)}var dest=new Array(size2);var k=0;var i;if(fullCopy||this._head>this._tail){for(i=this._head;i<capacity;i++)dest[k++]=src[i];for(i=0;i<this._tail;i++)dest[k++]=src[i]}else{for(i=this._head;i<this._tail;i++)dest[k++]=src[i]}return dest};Denque.prototype._growArray=function _growArray(){if(this._head!=0){var newList=this._copyArray(true,this._list.length<<1);this._tail=this._list.length;this._head=0;this._list=newList}else{this._tail=this._list.length;this._list.length<<=1}this._capacityMask=this._capacityMask<<1|1};Denque.prototype._shrinkArray=function _shrinkArray(){this._list.length>>>=1;this._capacityMask>>>=1};Denque.prototype._nextPowerOf2=function _nextPowerOf2(num){var log2=Math.log(num)/Math.log(2);var nextPow2=1<<log2+1;return Math.max(nextPow2,4)};module2.exports=Denque}});var require_errors2=__commonJS({"node_modules/mysql2/lib/constants/errors.js"(exports2){"use strict";exports2.EE_CANTCREATEFILE=1;exports2.EE_READ=2;exports2.EE_WRITE=3;exports2.EE_BADCLOSE=4;exports2.EE_OUTOFMEMORY=5;exports2.EE_DELETE=6;exports2.EE_LINK=7;exports2.EE_EOFERR=9;exports2.EE_CANTLOCK=10;exports2.EE_CANTUNLOCK=11;exports2.EE_DIR=12;exports2.EE_STAT=13;exports2.EE_CANT_CHSIZE=14;exports2.EE_CANT_OPEN_STREAM=15;exports2.EE_GETWD=16;exports2.EE_SETWD=17;exports2.EE_LINK_WARNING=18;exports2.EE_OPEN_WARNING=19;exports2.EE_DISK_FULL=20;exports2.EE_CANT_MKDIR=21;exports2.EE_UNKNOWN_CHARSET=22;exports2.EE_OUT_OF_FILERESOURCES=23;exports2.EE_CANT_READLINK=24;exports2.EE_CANT_SYMLINK=25;exports2.EE_REALPATH=26;exports2.EE_SYNC=27;exports2.EE_UNKNOWN_COLLATION=28;exports2.EE_FILENOTFOUND=29;exports2.EE_FILE_NOT_CLOSED=30;exports2.EE_CHANGE_OWNERSHIP=31;exports2.EE_CHANGE_PERMISSIONS=32;exports2.EE_CANT_SEEK=33;exports2.EE_CAPACITY_EXCEEDED=34;exports2.EE_DISK_FULL_WITH_RETRY_MSG=35;exports2.EE_FAILED_TO_CREATE_TIMER=36;exports2.EE_FAILED_TO_DELETE_TIMER=37;exports2.EE_FAILED_TO_CREATE_TIMER_QUEUE=38;exports2.EE_FAILED_TO_START_TIMER_NOTIFY_THREAD=39;exports2.EE_FAILED_TO_CREATE_TIMER_NOTIFY_THREAD_INTERRUPT_EVENT=40;exports2.EE_EXITING_TIMER_NOTIFY_THREAD=41;exports2.EE_WIN_LIBRARY_LOAD_FAILED=42;exports2.EE_WIN_RUN_TIME_ERROR_CHECK=43;exports2.EE_FAILED_TO_DETERMINE_LARGE_PAGE_SIZE=44;exports2.EE_FAILED_TO_KILL_ALL_THREADS=45;exports2.EE_FAILED_TO_CREATE_IO_COMPLETION_PORT=46;exports2.EE_FAILED_TO_OPEN_DEFAULTS_FILE=47;exports2.EE_FAILED_TO_HANDLE_DEFAULTS_FILE=48;exports2.EE_WRONG_DIRECTIVE_IN_CONFIG_FILE=49;exports2.EE_SKIPPING_DIRECTIVE_DUE_TO_MAX_INCLUDE_RECURSION=50;exports2.EE_INCORRECT_GRP_DEFINITION_IN_CONFIG_FILE=51;exports2.EE_OPTION_WITHOUT_GRP_IN_CONFIG_FILE=52;exports2.EE_CONFIG_FILE_PERMISSION_ERROR=53;exports2.EE_IGNORE_WORLD_WRITABLE_CONFIG_FILE=54;exports2.EE_USING_DISABLED_OPTION=55;exports2.EE_USING_DISABLED_SHORT_OPTION=56;exports2.EE_USING_PASSWORD_ON_CLI_IS_INSECURE=57;exports2.EE_UNKNOWN_SUFFIX_FOR_VARIABLE=58;exports2.EE_SSL_ERROR_FROM_FILE=59;exports2.EE_SSL_ERROR=60;exports2.EE_NET_SEND_ERROR_IN_BOOTSTRAP=61;exports2.EE_PACKETS_OUT_OF_ORDER=62;exports2.EE_UNKNOWN_PROTOCOL_OPTION=63;exports2.EE_FAILED_TO_LOCATE_SERVER_PUBLIC_KEY=64;exports2.EE_PUBLIC_KEY_NOT_IN_PEM_FORMAT=65;exports2.EE_DEBUG_INFO=66;exports2.EE_UNKNOWN_VARIABLE=67;exports2.EE_UNKNOWN_OPTION=68;exports2.EE_UNKNOWN_SHORT_OPTION=69;exports2.EE_OPTION_WITHOUT_ARGUMENT=70;exports2.EE_OPTION_REQUIRES_ARGUMENT=71;exports2.EE_SHORT_OPTION_REQUIRES_ARGUMENT=72;exports2.EE_OPTION_IGNORED_DUE_TO_INVALID_VALUE=73;exports2.EE_OPTION_WITH_EMPTY_VALUE=74;exports2.EE_FAILED_TO_ASSIGN_MAX_VALUE_TO_OPTION=75;exports2.EE_INCORRECT_BOOLEAN_VALUE_FOR_OPTION=76;exports2.EE_FAILED_TO_SET_OPTION_VALUE=77;exports2.EE_INCORRECT_INT_VALUE_FOR_OPTION=78;exports2.EE_INCORRECT_UINT_VALUE_FOR_OPTION=79;exports2.EE_ADJUSTED_SIGNED_VALUE_FOR_OPTION=80;exports2.EE_ADJUSTED_UNSIGNED_VALUE_FOR_OPTION=81;exports2.EE_ADJUSTED_ULONGLONG_VALUE_FOR_OPTION=82;exports2.EE_ADJUSTED_DOUBLE_VALUE_FOR_OPTION=83;exports2.EE_INVALID_DECIMAL_VALUE_FOR_OPTION=84;exports2.EE_COLLATION_PARSER_ERROR=85;exports2.EE_FAILED_TO_RESET_BEFORE_PRIMARY_IGNORABLE_CHAR=86;exports2.EE_FAILED_TO_RESET_BEFORE_TERTIARY_IGNORABLE_CHAR=87;exports2.EE_SHIFT_CHAR_OUT_OF_RANGE=88;exports2.EE_RESET_CHAR_OUT_OF_RANGE=89;exports2.EE_UNKNOWN_LDML_TAG=90;exports2.EE_FAILED_TO_RESET_BEFORE_SECONDARY_IGNORABLE_CHAR=91;exports2.EE_FAILED_PROCESSING_DIRECTIVE=92;exports2.EE_PTHREAD_KILL_FAILED=93;exports2.HA_ERR_KEY_NOT_FOUND=120;exports2.HA_ERR_FOUND_DUPP_KEY=121;exports2.HA_ERR_INTERNAL_ERROR=122;exports2.HA_ERR_RECORD_CHANGED=123;exports2.HA_ERR_WRONG_INDEX=124;exports2.HA_ERR_ROLLED_BACK=125;exports2.HA_ERR_CRASHED=126;exports2.HA_ERR_WRONG_IN_RECORD=127;exports2.HA_ERR_OUT_OF_MEM=128;exports2.HA_ERR_NOT_A_TABLE=130;exports2.HA_ERR_WRONG_COMMAND=131;exports2.HA_ERR_OLD_FILE=132;exports2.HA_ERR_NO_ACTIVE_RECORD=133;exports2.HA_ERR_RECORD_DELETED=134;exports2.HA_ERR_RECORD_FILE_FULL=135;exports2.HA_ERR_INDEX_FILE_FULL=136;exports2.HA_ERR_END_OF_FILE=137;exports2.HA_ERR_UNSUPPORTED=138;exports2.HA_ERR_TOO_BIG_ROW=139;exports2.HA_WRONG_CREATE_OPTION=140;exports2.HA_ERR_FOUND_DUPP_UNIQUE=141;exports2.HA_ERR_UNKNOWN_CHARSET=142;exports2.HA_ERR_WRONG_MRG_TABLE_DEF=143;exports2.HA_ERR_CRASHED_ON_REPAIR=144;exports2.HA_ERR_CRASHED_ON_USAGE=145;exports2.HA_ERR_LOCK_WAIT_TIMEOUT=146;exports2.HA_ERR_LOCK_TABLE_FULL=147;exports2.HA_ERR_READ_ONLY_TRANSACTION=148;exports2.HA_ERR_LOCK_DEADLOCK=149;exports2.HA_ERR_CANNOT_ADD_FOREIGN=150;exports2.HA_ERR_NO_REFERENCED_ROW=151;exports2.HA_ERR_ROW_IS_REFERENCED=152;exports2.HA_ERR_NO_SAVEPOINT=153;exports2.HA_ERR_NON_UNIQUE_BLOCK_SIZE=154;exports2.HA_ERR_NO_SUCH_TABLE=155;exports2.HA_ERR_TABLE_EXIST=156;exports2.HA_ERR_NO_CONNECTION=157;exports2.HA_ERR_NULL_IN_SPATIAL=158;exports2.HA_ERR_TABLE_DEF_CHANGED=159;exports2.HA_ERR_NO_PARTITION_FOUND=160;exports2.HA_ERR_RBR_LOGGING_FAILED=161;exports2.HA_ERR_DROP_INDEX_FK=162;exports2.HA_ERR_FOREIGN_DUPLICATE_KEY=163;exports2.HA_ERR_TABLE_NEEDS_UPGRADE=164;exports2.HA_ERR_TABLE_READONLY=165;exports2.HA_ERR_AUTOINC_READ_FAILED=166;exports2.HA_ERR_AUTOINC_ERANGE=167;exports2.HA_ERR_GENERIC=168;exports2.HA_ERR_RECORD_IS_THE_SAME=169;exports2.HA_ERR_LOGGING_IMPOSSIBLE=170;exports2.HA_ERR_CORRUPT_EVENT=171;exports2.HA_ERR_NEW_FILE=172;exports2.HA_ERR_ROWS_EVENT_APPLY=173;exports2.HA_ERR_INITIALIZATION=174;exports2.HA_ERR_FILE_TOO_SHORT=175;exports2.HA_ERR_WRONG_CRC=176;exports2.HA_ERR_TOO_MANY_CONCURRENT_TRXS=177;exports2.HA_ERR_NOT_IN_LOCK_PARTITIONS=178;exports2.HA_ERR_INDEX_COL_TOO_LONG=179;exports2.HA_ERR_INDEX_CORRUPT=180;exports2.HA_ERR_UNDO_REC_TOO_BIG=181;exports2.HA_FTS_INVALID_DOCID=182;exports2.HA_ERR_TABLE_IN_FK_CHECK=183;exports2.HA_ERR_TABLESPACE_EXISTS=184;exports2.HA_ERR_TOO_MANY_FIELDS=185;exports2.HA_ERR_ROW_IN_WRONG_PARTITION=186;exports2.HA_ERR_INNODB_READ_ONLY=187;exports2.HA_ERR_FTS_EXCEED_RESULT_CACHE_LIMIT=188;exports2.HA_ERR_TEMP_FILE_WRITE_FAILURE=189;exports2.HA_ERR_INNODB_FORCED_RECOVERY=190;exports2.HA_ERR_FTS_TOO_MANY_WORDS_IN_PHRASE=191;exports2.HA_ERR_FK_DEPTH_EXCEEDED=192;exports2.HA_MISSING_CREATE_OPTION=193;exports2.HA_ERR_SE_OUT_OF_MEMORY=194;exports2.HA_ERR_TABLE_CORRUPT=195;exports2.HA_ERR_QUERY_INTERRUPTED=196;exports2.HA_ERR_TABLESPACE_MISSING=197;exports2.HA_ERR_TABLESPACE_IS_NOT_EMPTY=198;exports2.HA_ERR_WRONG_FILE_NAME=199;exports2.HA_ERR_NOT_ALLOWED_COMMAND=200;exports2.HA_ERR_COMPUTE_FAILED=201;exports2.HA_ERR_ROW_FORMAT_CHANGED=202;exports2.HA_ERR_NO_WAIT_LOCK=203;exports2.HA_ERR_DISK_FULL_NOWAIT=204;exports2.HA_ERR_NO_SESSION_TEMP=205;exports2.HA_ERR_WRONG_TABLE_NAME=206;exports2.HA_ERR_TOO_LONG_PATH=207;exports2.HA_ERR_SAMPLING_INIT_FAILED=208;exports2.HA_ERR_FTS_TOO_MANY_NESTED_EXP=209;exports2.ER_HASHCHK=1e3;exports2.ER_NISAMCHK=1001;exports2.ER_NO=1002;exports2.ER_YES=1003;exports2.ER_CANT_CREATE_FILE=1004;exports2.ER_CANT_CREATE_TABLE=1005;exports2.ER_CANT_CREATE_DB=1006;exports2.ER_DB_CREATE_EXISTS=1007;exports2.ER_DB_DROP_EXISTS=1008;exports2.ER_DB_DROP_DELETE=1009;exports2.ER_DB_DROP_RMDIR=1010;exports2.ER_CANT_DELETE_FILE=1011;exports2.ER_CANT_FIND_SYSTEM_REC=1012;exports2.ER_CANT_GET_STAT=1013;exports2.ER_CANT_GET_WD=1014;exports2.ER_CANT_LOCK=1015;exports2.ER_CANT_OPEN_FILE=1016;exports2.ER_FILE_NOT_FOUND=1017;exports2.ER_CANT_READ_DIR=1018;exports2.ER_CANT_SET_WD=1019;exports2.ER_CHECKREAD=1020;exports2.ER_DISK_FULL=1021;exports2.ER_DUP_KEY=1022;exports2.ER_ERROR_ON_CLOSE=1023;exports2.ER_ERROR_ON_READ=1024;exports2.ER_ERROR_ON_RENAME=1025;exports2.ER_ERROR_ON_WRITE=1026;exports2.ER_FILE_USED=1027;exports2.ER_FILSORT_ABORT=1028;exports2.ER_FORM_NOT_FOUND=1029;exports2.ER_GET_ERRNO=1030;exports2.ER_ILLEGAL_HA=1031;exports2.ER_KEY_NOT_FOUND=1032;exports2.ER_NOT_FORM_FILE=1033;exports2.ER_NOT_KEYFILE=1034;exports2.ER_OLD_KEYFILE=1035;exports2.ER_OPEN_AS_READONLY=1036;exports2.ER_OUTOFMEMORY=1037;exports2.ER_OUT_OF_SORTMEMORY=1038;exports2.ER_UNEXPECTED_EOF=1039;exports2.ER_CON_COUNT_ERROR=1040;exports2.ER_OUT_OF_RESOURCES=1041;exports2.ER_BAD_HOST_ERROR=1042;exports2.ER_HANDSHAKE_ERROR=1043;exports2.ER_DBACCESS_DENIED_ERROR=1044;exports2.ER_ACCESS_DENIED_ERROR=1045;exports2.ER_NO_DB_ERROR=1046;exports2.ER_UNKNOWN_COM_ERROR=1047;exports2.ER_BAD_NULL_ERROR=1048;exports2.ER_BAD_DB_ERROR=1049;exports2.ER_TABLE_EXISTS_ERROR=1050;exports2.ER_BAD_TABLE_ERROR=1051;exports2.ER_NON_UNIQ_ERROR=1052;exports2.ER_SERVER_SHUTDOWN=1053;exports2.ER_BAD_FIELD_ERROR=1054;exports2.ER_WRONG_FIELD_WITH_GROUP=1055;exports2.ER_WRONG_GROUP_FIELD=1056;exports2.ER_WRONG_SUM_SELECT=1057;exports2.ER_WRONG_VALUE_COUNT=1058;exports2.ER_TOO_LONG_IDENT=1059;exports2.ER_DUP_FIELDNAME=1060;exports2.ER_DUP_KEYNAME=1061;exports2.ER_DUP_ENTRY=1062;exports2.ER_WRONG_FIELD_SPEC=1063;exports2.ER_PARSE_ERROR=1064;exports2.ER_EMPTY_QUERY=1065;exports2.ER_NONUNIQ_TABLE=1066;exports2.ER_INVALID_DEFAULT=1067;exports2.ER_MULTIPLE_PRI_KEY=1068;exports2.ER_TOO_MANY_KEYS=1069;exports2.ER_TOO_MANY_KEY_PARTS=1070;exports2.ER_TOO_LONG_KEY=1071;exports2.ER_KEY_COLUMN_DOES_NOT_EXITS=1072;exports2.ER_BLOB_USED_AS_KEY=1073;exports2.ER_TOO_BIG_FIELDLENGTH=1074;exports2.ER_WRONG_AUTO_KEY=1075;exports2.ER_READY=1076;exports2.ER_NORMAL_SHUTDOWN=1077;exports2.ER_GOT_SIGNAL=1078;exports2.ER_SHUTDOWN_COMPLETE=1079;exports2.ER_FORCING_CLOSE=1080;exports2.ER_IPSOCK_ERROR=1081;exports2.ER_NO_SUCH_INDEX=1082;exports2.ER_WRONG_FIELD_TERMINATORS=1083;exports2.ER_BLOBS_AND_NO_TERMINATED=1084;exports2.ER_TEXTFILE_NOT_READABLE=1085;exports2.ER_FILE_EXISTS_ERROR=1086;exports2.ER_LOAD_INFO=1087;exports2.ER_ALTER_INFO=1088;exports2.ER_WRONG_SUB_KEY=1089;exports2.ER_CANT_REMOVE_ALL_FIELDS=1090;exports2.ER_CANT_DROP_FIELD_OR_KEY=1091;exports2.ER_INSERT_INFO=1092;exports2.ER_UPDATE_TABLE_USED=1093;exports2.ER_NO_SUCH_THREAD=1094;exports2.ER_KILL_DENIED_ERROR=1095;exports2.ER_NO_TABLES_USED=1096;exports2.ER_TOO_BIG_SET=1097;exports2.ER_NO_UNIQUE_LOGFILE=1098;exports2.ER_TABLE_NOT_LOCKED_FOR_WRITE=1099;exports2.ER_TABLE_NOT_LOCKED=1100;exports2.ER_BLOB_CANT_HAVE_DEFAULT=1101;exports2.ER_WRONG_DB_NAME=1102;exports2.ER_WRONG_TABLE_NAME=1103;exports2.ER_TOO_BIG_SELECT=1104;exports2.ER_UNKNOWN_ERROR=1105;exports2.ER_UNKNOWN_PROCEDURE=1106;exports2.ER_WRONG_PARAMCOUNT_TO_PROCEDURE=1107;exports2.ER_WRONG_PARAMETERS_TO_PROCEDURE=1108;exports2.ER_UNKNOWN_TABLE=1109;exports2.ER_FIELD_SPECIFIED_TWICE=1110;exports2.ER_INVALID_GROUP_FUNC_USE=1111;exports2.ER_UNSUPPORTED_EXTENSION=1112;exports2.ER_TABLE_MUST_HAVE_COLUMNS=1113;exports2.ER_RECORD_FILE_FULL=1114;exports2.ER_UNKNOWN_CHARACTER_SET=1115;exports2.ER_TOO_MANY_TABLES=1116;exports2.ER_TOO_MANY_FIELDS=1117;exports2.ER_TOO_BIG_ROWSIZE=1118;exports2.ER_STACK_OVERRUN=1119;exports2.ER_WRONG_OUTER_JOIN=1120;exports2.ER_NULL_COLUMN_IN_INDEX=1121;exports2.ER_CANT_FIND_UDF=1122;exports2.ER_CANT_INITIALIZE_UDF=1123;exports2.ER_UDF_NO_PATHS=1124;exports2.ER_UDF_EXISTS=1125;exports2.ER_CANT_OPEN_LIBRARY=1126;exports2.ER_CANT_FIND_DL_ENTRY=1127;exports2.ER_FUNCTION_NOT_DEFINED=1128;exports2.ER_HOST_IS_BLOCKED=1129;exports2.ER_HOST_NOT_PRIVILEGED=1130;exports2.ER_PASSWORD_ANONYMOUS_USER=1131;exports2.ER_PASSWORD_NOT_ALLOWED=1132;exports2.ER_PASSWORD_NO_MATCH=1133;exports2.ER_UPDATE_INFO=1134;exports2.ER_CANT_CREATE_THREAD=1135;exports2.ER_WRONG_VALUE_COUNT_ON_ROW=1136;exports2.ER_CANT_REOPEN_TABLE=1137;exports2.ER_INVALID_USE_OF_NULL=1138;exports2.ER_REGEXP_ERROR=1139;exports2.ER_MIX_OF_GROUP_FUNC_AND_FIELDS=1140;exports2.ER_NONEXISTING_GRANT=1141;exports2.ER_TABLEACCESS_DENIED_ERROR=1142;exports2.ER_COLUMNACCESS_DENIED_ERROR=1143;exports2.ER_ILLEGAL_GRANT_FOR_TABLE=1144;exports2.ER_GRANT_WRONG_HOST_OR_USER=1145;exports2.ER_NO_SUCH_TABLE=1146;exports2.ER_NONEXISTING_TABLE_GRANT=1147;exports2.ER_NOT_ALLOWED_COMMAND=1148;exports2.ER_SYNTAX_ERROR=1149;exports2.ER_UNUSED1=1150;exports2.ER_UNUSED2=1151;exports2.ER_ABORTING_CONNECTION=1152;exports2.ER_NET_PACKET_TOO_LARGE=1153;exports2.ER_NET_READ_ERROR_FROM_PIPE=1154;exports2.ER_NET_FCNTL_ERROR=1155;exports2.ER_NET_PACKETS_OUT_OF_ORDER=1156;exports2.ER_NET_UNCOMPRESS_ERROR=1157;exports2.ER_NET_READ_ERROR=1158;exports2.ER_NET_READ_INTERRUPTED=1159;exports2.ER_NET_ERROR_ON_WRITE=1160;exports2.ER_NET_WRITE_INTERRUPTED=1161;exports2.ER_TOO_LONG_STRING=1162;exports2.ER_TABLE_CANT_HANDLE_BLOB=1163;exports2.ER_TABLE_CANT_HANDLE_AUTO_INCREMENT=1164;exports2.ER_UNUSED3=1165;exports2.ER_WRONG_COLUMN_NAME=1166;exports2.ER_WRONG_KEY_COLUMN=1167;exports2.ER_WRONG_MRG_TABLE=1168;exports2.ER_DUP_UNIQUE=1169;exports2.ER_BLOB_KEY_WITHOUT_LENGTH=1170;exports2.ER_PRIMARY_CANT_HAVE_NULL=1171;exports2.ER_TOO_MANY_ROWS=1172;exports2.ER_REQUIRES_PRIMARY_KEY=1173;exports2.ER_NO_RAID_COMPILED=1174;exports2.ER_UPDATE_WITHOUT_KEY_IN_SAFE_MODE=1175;exports2.ER_KEY_DOES_NOT_EXITS=1176;exports2.ER_CHECK_NO_SUCH_TABLE=1177;exports2.ER_CHECK_NOT_IMPLEMENTED=1178;exports2.ER_CANT_DO_THIS_DURING_AN_TRANSACTION=1179;exports2.ER_ERROR_DURING_COMMIT=1180;exports2.ER_ERROR_DURING_ROLLBACK=1181;exports2.ER_ERROR_DURING_FLUSH_LOGS=1182;exports2.ER_ERROR_DURING_CHECKPOINT=1183;exports2.ER_NEW_ABORTING_CONNECTION=1184;exports2.ER_DUMP_NOT_IMPLEMENTED=1185;exports2.ER_FLUSH_MASTER_BINLOG_CLOSED=1186;exports2.ER_INDEX_REBUILD=1187;exports2.ER_SOURCE=1188;exports2.ER_SOURCE_NET_READ=1189;exports2.ER_SOURCE_NET_WRITE=1190;exports2.ER_FT_MATCHING_KEY_NOT_FOUND=1191;exports2.ER_LOCK_OR_ACTIVE_TRANSACTION=1192;exports2.ER_UNKNOWN_SYSTEM_VARIABLE=1193;exports2.ER_CRASHED_ON_USAGE=1194;exports2.ER_CRASHED_ON_REPAIR=1195;exports2.ER_WARNING_NOT_COMPLETE_ROLLBACK=1196;exports2.ER_TRANS_CACHE_FULL=1197;exports2.ER_SLAVE_MUST_STOP=1198;exports2.ER_REPLICA_NOT_RUNNING=1199;exports2.ER_BAD_REPLICA=1200;exports2.ER_CONNECTION_METADATA=1201;exports2.ER_REPLICA_THREAD=1202;exports2.ER_TOO_MANY_USER_CONNECTIONS=1203;exports2.ER_SET_CONSTANTS_ONLY=1204;exports2.ER_LOCK_WAIT_TIMEOUT=1205;exports2.ER_LOCK_TABLE_FULL=1206;exports2.ER_READ_ONLY_TRANSACTION=1207;exports2.ER_DROP_DB_WITH_READ_LOCK=1208;exports2.ER_CREATE_DB_WITH_READ_LOCK=1209;exports2.ER_WRONG_ARGUMENTS=1210;exports2.ER_NO_PERMISSION_TO_CREATE_USER=1211;exports2.ER_UNION_TABLES_IN_DIFFERENT_DIR=1212;exports2.ER_LOCK_DEADLOCK=1213;exports2.ER_TABLE_CANT_HANDLE_FT=1214;exports2.ER_CANNOT_ADD_FOREIGN=1215;exports2.ER_NO_REFERENCED_ROW=1216;exports2.ER_ROW_IS_REFERENCED=1217;exports2.ER_CONNECT_TO_SOURCE=1218;exports2.ER_QUERY_ON_MASTER=1219;exports2.ER_ERROR_WHEN_EXECUTING_COMMAND=1220;exports2.ER_WRONG_USAGE=1221;exports2.ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT=1222;exports2.ER_CANT_UPDATE_WITH_READLOCK=1223;exports2.ER_MIXING_NOT_ALLOWED=1224;exports2.ER_DUP_ARGUMENT=1225;exports2.ER_USER_LIMIT_REACHED=1226;exports2.ER_SPECIFIC_ACCESS_DENIED_ERROR=1227;exports2.ER_LOCAL_VARIABLE=1228;exports2.ER_GLOBAL_VARIABLE=1229;exports2.ER_NO_DEFAULT=1230;exports2.ER_WRONG_VALUE_FOR_VAR=1231;exports2.ER_WRONG_TYPE_FOR_VAR=1232;exports2.ER_VAR_CANT_BE_READ=1233;exports2.ER_CANT_USE_OPTION_HERE=1234;exports2.ER_NOT_SUPPORTED_YET=1235;exports2.ER_SOURCE_FATAL_ERROR_READING_BINLOG=1236;exports2.ER_REPLICA_IGNORED_TABLE=1237;exports2.ER_INCORRECT_GLOBAL_LOCAL_VAR=1238;exports2.ER_WRONG_FK_DEF=1239;exports2.ER_KEY_REF_DO_NOT_MATCH_TABLE_REF=1240;exports2.ER_OPERAND_COLUMNS=1241;exports2.ER_SUBQUERY_NO_1_ROW=1242;exports2.ER_UNKNOWN_STMT_HANDLER=1243;exports2.ER_CORRUPT_HELP_DB=1244;exports2.ER_CYCLIC_REFERENCE=1245;exports2.ER_AUTO_CONVERT=1246;exports2.ER_ILLEGAL_REFERENCE=1247;exports2.ER_DERIVED_MUST_HAVE_ALIAS=1248;exports2.ER_SELECT_REDUCED=1249;exports2.ER_TABLENAME_NOT_ALLOWED_HERE=1250;exports2.ER_NOT_SUPPORTED_AUTH_MODE=1251;exports2.ER_SPATIAL_CANT_HAVE_NULL=1252;exports2.ER_COLLATION_CHARSET_MISMATCH=1253;exports2.ER_SLAVE_WAS_RUNNING=1254;exports2.ER_SLAVE_WAS_NOT_RUNNING=1255;exports2.ER_TOO_BIG_FOR_UNCOMPRESS=1256;exports2.ER_ZLIB_Z_MEM_ERROR=1257;exports2.ER_ZLIB_Z_BUF_ERROR=1258;exports2.ER_ZLIB_Z_DATA_ERROR=1259;exports2.ER_CUT_VALUE_GROUP_CONCAT=1260;exports2.ER_WARN_TOO_FEW_RECORDS=1261;exports2.ER_WARN_TOO_MANY_RECORDS=1262;exports2.ER_WARN_NULL_TO_NOTNULL=1263;exports2.ER_WARN_DATA_OUT_OF_RANGE=1264;exports2.WARN_DATA_TRUNCATED=1265;exports2.ER_WARN_USING_OTHER_HANDLER=1266;exports2.ER_CANT_AGGREGATE_2COLLATIONS=1267;exports2.ER_DROP_USER=1268;exports2.ER_REVOKE_GRANTS=1269;exports2.ER_CANT_AGGREGATE_3COLLATIONS=1270;exports2.ER_CANT_AGGREGATE_NCOLLATIONS=1271;exports2.ER_VARIABLE_IS_NOT_STRUCT=1272;exports2.ER_UNKNOWN_COLLATION=1273;exports2.ER_REPLICA_IGNORED_SSL_PARAMS=1274;exports2.ER_SERVER_IS_IN_SECURE_AUTH_MODE=1275;exports2.ER_WARN_FIELD_RESOLVED=1276;exports2.ER_BAD_REPLICA_UNTIL_COND=1277;exports2.ER_MISSING_SKIP_REPLICA=1278;exports2.ER_UNTIL_COND_IGNORED=1279;exports2.ER_WRONG_NAME_FOR_INDEX=1280;exports2.ER_WRONG_NAME_FOR_CATALOG=1281;exports2.ER_WARN_QC_RESIZE=1282;exports2.ER_BAD_FT_COLUMN=1283;exports2.ER_UNKNOWN_KEY_CACHE=1284;exports2.ER_WARN_HOSTNAME_WONT_WORK=1285;exports2.ER_UNKNOWN_STORAGE_ENGINE=1286;exports2.ER_WARN_DEPRECATED_SYNTAX=1287;exports2.ER_NON_UPDATABLE_TABLE=1288;exports2.ER_FEATURE_DISABLED=1289;exports2.ER_OPTION_PREVENTS_STATEMENT=1290;exports2.ER_DUPLICATED_VALUE_IN_TYPE=1291;exports2.ER_TRUNCATED_WRONG_VALUE=1292;exports2.ER_TOO_MUCH_AUTO_TIMESTAMP_COLS=1293;exports2.ER_INVALID_ON_UPDATE=1294;exports2.ER_UNSUPPORTED_PS=1295;exports2.ER_GET_ERRMSG=1296;exports2.ER_GET_TEMPORARY_ERRMSG=1297;exports2.ER_UNKNOWN_TIME_ZONE=1298;exports2.ER_WARN_INVALID_TIMESTAMP=1299;exports2.ER_INVALID_CHARACTER_STRING=1300;exports2.ER_WARN_ALLOWED_PACKET_OVERFLOWED=1301;exports2.ER_CONFLICTING_DECLARATIONS=1302;exports2.ER_SP_NO_RECURSIVE_CREATE=1303;exports2.ER_SP_ALREADY_EXISTS=1304;exports2.ER_SP_DOES_NOT_EXIST=1305;exports2.ER_SP_DROP_FAILED=1306;exports2.ER_SP_STORE_FAILED=1307;exports2.ER_SP_LILABEL_MISMATCH=1308;exports2.ER_SP_LABEL_REDEFINE=1309;exports2.ER_SP_LABEL_MISMATCH=1310;exports2.ER_SP_UNINIT_VAR=1311;exports2.ER_SP_BADSELECT=1312;exports2.ER_SP_BADRETURN=1313;exports2.ER_SP_BADSTATEMENT=1314;exports2.ER_UPDATE_LOG_DEPRECATED_IGNORED=1315;exports2.ER_UPDATE_LOG_DEPRECATED_TRANSLATED=1316;exports2.ER_QUERY_INTERRUPTED=1317;exports2.ER_SP_WRONG_NO_OF_ARGS=1318;exports2.ER_SP_COND_MISMATCH=1319;exports2.ER_SP_NORETURN=1320;exports2.ER_SP_NORETURNEND=1321;exports2.ER_SP_BAD_CURSOR_QUERY=1322;exports2.ER_SP_BAD_CURSOR_SELECT=1323;exports2.ER_SP_CURSOR_MISMATCH=1324;exports2.ER_SP_CURSOR_ALREADY_OPEN=1325;exports2.ER_SP_CURSOR_NOT_OPEN=1326;exports2.ER_SP_UNDECLARED_VAR=1327;exports2.ER_SP_WRONG_NO_OF_FETCH_ARGS=1328;exports2.ER_SP_FETCH_NO_DATA=1329;exports2.ER_SP_DUP_PARAM=1330;exports2.ER_SP_DUP_VAR=1331;exports2.ER_SP_DUP_COND=1332;exports2.ER_SP_DUP_CURS=1333;exports2.ER_SP_CANT_ALTER=1334;exports2.ER_SP_SUBSELECT_NYI=1335;exports2.ER_STMT_NOT_ALLOWED_IN_SF_OR_TRG=1336;exports2.ER_SP_VARCOND_AFTER_CURSHNDLR=1337;exports2.ER_SP_CURSOR_AFTER_HANDLER=1338;exports2.ER_SP_CASE_NOT_FOUND=1339;exports2.ER_FPARSER_TOO_BIG_FILE=1340;exports2.ER_FPARSER_BAD_HEADER=1341;exports2.ER_FPARSER_EOF_IN_COMMENT=1342;exports2.ER_FPARSER_ERROR_IN_PARAMETER=1343;exports2.ER_FPARSER_EOF_IN_UNKNOWN_PARAMETER=1344;exports2.ER_VIEW_NO_EXPLAIN=1345;exports2.ER_FRM_UNKNOWN_TYPE=1346;exports2.ER_WRONG_OBJECT=1347;exports2.ER_NONUPDATEABLE_COLUMN=1348;exports2.ER_VIEW_SELECT_DERIVED=1349;exports2.ER_VIEW_SELECT_CLAUSE=1350;exports2.ER_VIEW_SELECT_VARIABLE=1351;exports2.ER_VIEW_SELECT_TMPTABLE=1352;exports2.ER_VIEW_WRONG_LIST=1353;exports2.ER_WARN_VIEW_MERGE=1354;exports2.ER_WARN_VIEW_WITHOUT_KEY=1355;exports2.ER_VIEW_INVALID=1356;exports2.ER_SP_NO_DROP_SP=1357;exports2.ER_SP_GOTO_IN_HNDLR=1358;exports2.ER_TRG_ALREADY_EXISTS=1359;exports2.ER_TRG_DOES_NOT_EXIST=1360;exports2.ER_TRG_ON_VIEW_OR_TEMP_TABLE=1361;exports2.ER_TRG_CANT_CHANGE_ROW=1362;exports2.ER_TRG_NO_SUCH_ROW_IN_TRG=1363;exports2.ER_NO_DEFAULT_FOR_FIELD=1364;exports2.ER_DIVISION_BY_ZERO=1365;exports2.ER_TRUNCATED_WRONG_VALUE_FOR_FIELD=1366;exports2.ER_ILLEGAL_VALUE_FOR_TYPE=1367;exports2.ER_VIEW_NONUPD_CHECK=1368;exports2.ER_VIEW_CHECK_FAILED=1369;exports2.ER_PROCACCESS_DENIED_ERROR=1370;exports2.ER_RELAY_LOG_FAIL=1371;exports2.ER_PASSWD_LENGTH=1372;exports2.ER_UNKNOWN_TARGET_BINLOG=1373;exports2.ER_IO_ERR_LOG_INDEX_READ=1374;exports2.ER_BINLOG_PURGE_PROHIBITED=1375;exports2.ER_FSEEK_FAIL=1376;exports2.ER_BINLOG_PURGE_FATAL_ERR=1377;exports2.ER_LOG_IN_USE=1378;exports2.ER_LOG_PURGE_UNKNOWN_ERR=1379;exports2.ER_RELAY_LOG_INIT=1380;exports2.ER_NO_BINARY_LOGGING=1381;exports2.ER_RESERVED_SYNTAX=1382;exports2.ER_WSAS_FAILED=1383;exports2.ER_DIFF_GROUPS_PROC=1384;exports2.ER_NO_GROUP_FOR_PROC=1385;exports2.ER_ORDER_WITH_PROC=1386;exports2.ER_LOGGING_PROHIBIT_CHANGING_OF=1387;exports2.ER_NO_FILE_MAPPING=1388;exports2.ER_WRONG_MAGIC=1389;exports2.ER_PS_MANY_PARAM=1390;exports2.ER_KEY_PART_0=1391;exports2.ER_VIEW_CHECKSUM=1392;exports2.ER_VIEW_MULTIUPDATE=1393;exports2.ER_VIEW_NO_INSERT_FIELD_LIST=1394;exports2.ER_VIEW_DELETE_MERGE_VIEW=1395;exports2.ER_CANNOT_USER=1396;exports2.ER_XAER_NOTA=1397;exports2.ER_XAER_INVAL=1398;exports2.ER_XAER_RMFAIL=1399;exports2.ER_XAER_OUTSIDE=1400;exports2.ER_XAER_RMERR=1401;exports2.ER_XA_RBROLLBACK=1402;exports2.ER_NONEXISTING_PROC_GRANT=1403;exports2.ER_PROC_AUTO_GRANT_FAIL=1404;exports2.ER_PROC_AUTO_REVOKE_FAIL=1405;exports2.ER_DATA_TOO_LONG=1406;exports2.ER_SP_BAD_SQLSTATE=1407;exports2.ER_STARTUP=1408;exports2.ER_LOAD_FROM_FIXED_SIZE_ROWS_TO_VAR=1409;exports2.ER_CANT_CREATE_USER_WITH_GRANT=1410;exports2.ER_WRONG_VALUE_FOR_TYPE=1411;exports2.ER_TABLE_DEF_CHANGED=1412;exports2.ER_SP_DUP_HANDLER=1413;exports2.ER_SP_NOT_VAR_ARG=1414;exports2.ER_SP_NO_RETSET=1415;exports2.ER_CANT_CREATE_GEOMETRY_OBJECT=1416;exports2.ER_FAILED_ROUTINE_BREAK_BINLOG=1417;exports2.ER_BINLOG_UNSAFE_ROUTINE=1418;exports2.ER_BINLOG_CREATE_ROUTINE_NEED_SUPER=1419;exports2.ER_EXEC_STMT_WITH_OPEN_CURSOR=1420;exports2.ER_STMT_HAS_NO_OPEN_CURSOR=1421;exports2.ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG=1422;exports2.ER_NO_DEFAULT_FOR_VIEW_FIELD=1423;exports2.ER_SP_NO_RECURSION=1424;exports2.ER_TOO_BIG_SCALE=1425;exports2.ER_TOO_BIG_PRECISION=1426;exports2.ER_M_BIGGER_THAN_D=1427;exports2.ER_WRONG_LOCK_OF_SYSTEM_TABLE=1428;exports2.ER_CONNECT_TO_FOREIGN_DATA_SOURCE=1429;exports2.ER_QUERY_ON_FOREIGN_DATA_SOURCE=1430;exports2.ER_FOREIGN_DATA_SOURCE_DOESNT_EXIST=1431;exports2.ER_FOREIGN_DATA_STRING_INVALID_CANT_CREATE=1432;exports2.ER_FOREIGN_DATA_STRING_INVALID=1433;exports2.ER_CANT_CREATE_FEDERATED_TABLE=1434;exports2.ER_TRG_IN_WRONG_SCHEMA=1435;exports2.ER_STACK_OVERRUN_NEED_MORE=1436;exports2.ER_TOO_LONG_BODY=1437;exports2.ER_WARN_CANT_DROP_DEFAULT_KEYCACHE=1438;exports2.ER_TOO_BIG_DISPLAYWIDTH=1439;exports2.ER_XAER_DUPID=1440;exports2.ER_DATETIME_FUNCTION_OVERFLOW=1441;exports2.ER_CANT_UPDATE_USED_TABLE_IN_SF_OR_TRG=1442;exports2.ER_VIEW_PREVENT_UPDATE=1443;exports2.ER_PS_NO_RECURSION=1444;exports2.ER_SP_CANT_SET_AUTOCOMMIT=1445;exports2.ER_MALFORMED_DEFINER=1446;exports2.ER_VIEW_FRM_NO_USER=1447;exports2.ER_VIEW_OTHER_USER=1448;exports2.ER_NO_SUCH_USER=1449;exports2.ER_FORBID_SCHEMA_CHANGE=1450;exports2.ER_ROW_IS_REFERENCED_2=1451;exports2.ER_NO_REFERENCED_ROW_2=1452;exports2.ER_SP_BAD_VAR_SHADOW=1453;exports2.ER_TRG_NO_DEFINER=1454;exports2.ER_OLD_FILE_FORMAT=1455;exports2.ER_SP_RECURSION_LIMIT=1456;exports2.ER_SP_PROC_TABLE_CORRUPT=1457;exports2.ER_SP_WRONG_NAME=1458;exports2.ER_TABLE_NEEDS_UPGRADE=1459;exports2.ER_SP_NO_AGGREGATE=1460;exports2.ER_MAX_PREPARED_STMT_COUNT_REACHED=1461;exports2.ER_VIEW_RECURSIVE=1462;exports2.ER_NON_GROUPING_FIELD_USED=1463;exports2.ER_TABLE_CANT_HANDLE_SPKEYS=1464;exports2.ER_NO_TRIGGERS_ON_SYSTEM_SCHEMA=1465;exports2.ER_REMOVED_SPACES=1466;exports2.ER_AUTOINC_READ_FAILED=1467;exports2.ER_USERNAME=1468;exports2.ER_HOSTNAME=1469;exports2.ER_WRONG_STRING_LENGTH=1470;exports2.ER_NON_INSERTABLE_TABLE=1471;exports2.ER_ADMIN_WRONG_MRG_TABLE=1472;exports2.ER_TOO_HIGH_LEVEL_OF_NESTING_FOR_SELECT=1473;exports2.ER_NAME_BECOMES_EMPTY=1474;exports2.ER_AMBIGUOUS_FIELD_TERM=1475;exports2.ER_FOREIGN_SERVER_EXISTS=1476;exports2.ER_FOREIGN_SERVER_DOESNT_EXIST=1477;exports2.ER_ILLEGAL_HA_CREATE_OPTION=1478;exports2.ER_PARTITION_REQUIRES_VALUES_ERROR=1479;exports2.ER_PARTITION_WRONG_VALUES_ERROR=1480;exports2.ER_PARTITION_MAXVALUE_ERROR=1481;exports2.ER_PARTITION_SUBPARTITION_ERROR=1482;exports2.ER_PARTITION_SUBPART_MIX_ERROR=1483;exports2.ER_PARTITION_WRONG_NO_PART_ERROR=1484;exports2.ER_PARTITION_WRONG_NO_SUBPART_ERROR=1485;exports2.ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR=1486;exports2.ER_NO_CONST_EXPR_IN_RANGE_OR_LIST_ERROR=1487;exports2.ER_FIELD_NOT_FOUND_PART_ERROR=1488;exports2.ER_LIST_OF_FIELDS_ONLY_IN_HASH_ERROR=1489;exports2.ER_INCONSISTENT_PARTITION_INFO_ERROR=1490;exports2.ER_PARTITION_FUNC_NOT_ALLOWED_ERROR=1491;exports2.ER_PARTITIONS_MUST_BE_DEFINED_ERROR=1492;exports2.ER_RANGE_NOT_INCREASING_ERROR=1493;exports2.ER_INCONSISTENT_TYPE_OF_FUNCTIONS_ERROR=1494;exports2.ER_MULTIPLE_DEF_CONST_IN_LIST_PART_ERROR=1495;exports2.ER_PARTITION_ENTRY_ERROR=1496;exports2.ER_MIX_HANDLER_ERROR=1497;exports2.ER_PARTITION_NOT_DEFINED_ERROR=1498;exports2.ER_TOO_MANY_PARTITIONS_ERROR=1499;exports2.ER_SUBPARTITION_ERROR=1500;exports2.ER_CANT_CREATE_HANDLER_FILE=1501;exports2.ER_BLOB_FIELD_IN_PART_FUNC_ERROR=1502;exports2.ER_UNIQUE_KEY_NEED_ALL_FIELDS_IN_PF=1503;exports2.ER_NO_PARTS_ERROR=1504;exports2.ER_PARTITION_MGMT_ON_NONPARTITIONED=1505;exports2.ER_FOREIGN_KEY_ON_PARTITIONED=1506;exports2.ER_DROP_PARTITION_NON_EXISTENT=1507;exports2.ER_DROP_LAST_PARTITION=1508;exports2.ER_COALESCE_ONLY_ON_HASH_PARTITION=1509;exports2.ER_REORG_HASH_ONLY_ON_SAME_NO=1510;exports2.ER_REORG_NO_PARAM_ERROR=1511;exports2.ER_ONLY_ON_RANGE_LIST_PARTITION=1512;exports2.ER_ADD_PARTITION_SUBPART_ERROR=1513;exports2.ER_ADD_PARTITION_NO_NEW_PARTITION=1514;exports2.ER_COALESCE_PARTITION_NO_PARTITION=1515;exports2.ER_REORG_PARTITION_NOT_EXIST=1516;exports2.ER_SAME_NAME_PARTITION=1517;exports2.ER_NO_BINLOG_ERROR=1518;exports2.ER_CONSECUTIVE_REORG_PARTITIONS=1519;exports2.ER_REORG_OUTSIDE_RANGE=1520;exports2.ER_PARTITION_FUNCTION_FAILURE=1521;exports2.ER_PART_STATE_ERROR=1522;exports2.ER_LIMITED_PART_RANGE=1523;exports2.ER_PLUGIN_IS_NOT_LOADED=1524;exports2.ER_WRONG_VALUE=1525;exports2.ER_NO_PARTITION_FOR_GIVEN_VALUE=1526;exports2.ER_FILEGROUP_OPTION_ONLY_ONCE=1527;exports2.ER_CREATE_FILEGROUP_FAILED=1528;exports2.ER_DROP_FILEGROUP_FAILED=1529;exports2.ER_TABLESPACE_AUTO_EXTEND_ERROR=1530;exports2.ER_WRONG_SIZE_NUMBER=1531;exports2.ER_SIZE_OVERFLOW_ERROR=1532;exports2.ER_ALTER_FILEGROUP_FAILED=1533;exports2.ER_BINLOG_ROW_LOGGING_FAILED=1534;exports2.ER_BINLOG_ROW_WRONG_TABLE_DEF=1535;exports2.ER_BINLOG_ROW_RBR_TO_SBR=1536;exports2.ER_EVENT_ALREADY_EXISTS=1537;exports2.ER_EVENT_STORE_FAILED=1538;exports2.ER_EVENT_DOES_NOT_EXIST=1539;exports2.ER_EVENT_CANT_ALTER=1540;exports2.ER_EVENT_DROP_FAILED=1541;exports2.ER_EVENT_INTERVAL_NOT_POSITIVE_OR_TOO_BIG=1542;exports2.ER_EVENT_ENDS_BEFORE_STARTS=1543;exports2.ER_EVENT_EXEC_TIME_IN_THE_PAST=1544;exports2.ER_EVENT_OPEN_TABLE_FAILED=1545;exports2.ER_EVENT_NEITHER_M_EXPR_NOR_M_AT=1546;exports2.ER_COL_COUNT_DOESNT_MATCH_CORRUPTED=1547;exports2.ER_CANNOT_LOAD_FROM_TABLE=1548;exports2.ER_EVENT_CANNOT_DELETE=1549;exports2.ER_EVENT_COMPILE_ERROR=1550;exports2.ER_EVENT_SAME_NAME=1551;exports2.ER_EVENT_DATA_TOO_LONG=1552;exports2.ER_DROP_INDEX_FK=1553;exports2.ER_WARN_DEPRECATED_SYNTAX_WITH_VER=1554;exports2.ER_CANT_WRITE_LOCK_LOG_TABLE=1555;exports2.ER_CANT_LOCK_LOG_TABLE=1556;exports2.ER_FOREIGN_DUPLICATE_KEY=1557;exports2.ER_COL_COUNT_DOESNT_MATCH_PLEASE_UPDATE=1558;exports2.ER_TEMP_TABLE_PREVENTS_SWITCH_OUT_OF_RBR=1559;exports2.ER_STORED_FUNCTION_PREVENTS_SWITCH_BINLOG_FORMAT=1560;exports2.ER_NDB_CANT_SWITCH_BINLOG_FORMAT=1561;exports2.ER_PARTITION_NO_TEMPORARY=1562;exports2.ER_PARTITION_CONST_DOMAIN_ERROR=1563;exports2.ER_PARTITION_FUNCTION_IS_NOT_ALLOWED=1564;exports2.ER_DDL_LOG_ERROR=1565;exports2.ER_NULL_IN_VALUES_LESS_THAN=1566;exports2.ER_WRONG_PARTITION_NAME=1567;exports2.ER_CANT_CHANGE_TX_CHARACTERISTICS=1568;exports2.ER_DUP_ENTRY_AUTOINCREMENT_CASE=1569;exports2.ER_EVENT_MODIFY_QUEUE_ERROR=1570;exports2.ER_EVENT_SET_VAR_ERROR=1571;exports2.ER_PARTITION_MERGE_ERROR=1572;exports2.ER_CANT_ACTIVATE_LOG=1573;exports2.ER_RBR_NOT_AVAILABLE=1574;exports2.ER_BASE64_DECODE_ERROR=1575;exports2.ER_EVENT_RECURSION_FORBIDDEN=1576;exports2.ER_EVENTS_DB_ERROR=1577;exports2.ER_ONLY_INTEGERS_ALLOWED=1578;exports2.ER_UNSUPORTED_LOG_ENGINE=1579;exports2.ER_BAD_LOG_STATEMENT=1580;exports2.ER_CANT_RENAME_LOG_TABLE=1581;exports2.ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT=1582;exports2.ER_WRONG_PARAMETERS_TO_NATIVE_FCT=1583;exports2.ER_WRONG_PARAMETERS_TO_STORED_FCT=1584;exports2.ER_NATIVE_FCT_NAME_COLLISION=1585;exports2.ER_DUP_ENTRY_WITH_KEY_NAME=1586;exports2.ER_BINLOG_PURGE_EMFILE=1587;exports2.ER_EVENT_CANNOT_CREATE_IN_THE_PAST=1588;exports2.ER_EVENT_CANNOT_ALTER_IN_THE_PAST=1589;exports2.ER_SLAVE_INCIDENT=1590;exports2.ER_NO_PARTITION_FOR_GIVEN_VALUE_SILENT=1591;exports2.ER_BINLOG_UNSAFE_STATEMENT=1592;exports2.ER_BINLOG_FATAL_ERROR=1593;exports2.ER_SLAVE_RELAY_LOG_READ_FAILURE=1594;exports2.ER_SLAVE_RELAY_LOG_WRITE_FAILURE=1595;exports2.ER_SLAVE_CREATE_EVENT_FAILURE=1596;exports2.ER_SLAVE_MASTER_COM_FAILURE=1597;exports2.ER_BINLOG_LOGGING_IMPOSSIBLE=1598;exports2.ER_VIEW_NO_CREATION_CTX=1599;exports2.ER_VIEW_INVALID_CREATION_CTX=1600;exports2.ER_SR_INVALID_CREATION_CTX=1601;exports2.ER_TRG_CORRUPTED_FILE=1602;exports2.ER_TRG_NO_CREATION_CTX=1603;exports2.ER_TRG_INVALID_CREATION_CTX=1604;exports2.ER_EVENT_INVALID_CREATION_CTX=1605;exports2.ER_TRG_CANT_OPEN_TABLE=1606;exports2.ER_CANT_CREATE_SROUTINE=1607;exports2.ER_NEVER_USED=1608;exports2.ER_NO_FORMAT_DESCRIPTION_EVENT_BEFORE_BINLOG_STATEMENT=1609;exports2.ER_REPLICA_CORRUPT_EVENT=1610;exports2.ER_LOAD_DATA_INVALID_COLUMN=1611;exports2.ER_LOG_PURGE_NO_FILE=1612;exports2.ER_XA_RBTIMEOUT=1613;exports2.ER_XA_RBDEADLOCK=1614;exports2.ER_NEED_REPREPARE=1615;exports2.ER_DELAYED_NOT_SUPPORTED=1616;exports2.WARN_NO_CONNECTION_METADATA=1617;exports2.WARN_OPTION_IGNORED=1618;exports2.ER_PLUGIN_DELETE_BUILTIN=1619;exports2.WARN_PLUGIN_BUSY=1620;exports2.ER_VARIABLE_IS_READONLY=1621;exports2.ER_WARN_ENGINE_TRANSACTION_ROLLBACK=1622;exports2.ER_SLAVE_HEARTBEAT_FAILURE=1623;exports2.ER_REPLICA_HEARTBEAT_VALUE_OUT_OF_RANGE=1624;exports2.ER_NDB_REPLICATION_SCHEMA_ERROR=1625;exports2.ER_CONFLICT_FN_PARSE_ERROR=1626;exports2.ER_EXCEPTIONS_WRITE_ERROR=1627;exports2.ER_TOO_LONG_TABLE_COMMENT=1628;exports2.ER_TOO_LONG_FIELD_COMMENT=1629;exports2.ER_FUNC_INEXISTENT_NAME_COLLISION=1630;exports2.ER_DATABASE_NAME=1631;exports2.ER_TABLE_NAME=1632;exports2.ER_PARTITION_NAME=1633;exports2.ER_SUBPARTITION_NAME=1634;exports2.ER_TEMPORARY_NAME=1635;exports2.ER_RENAMED_NAME=1636;exports2.ER_TOO_MANY_CONCURRENT_TRXS=1637;exports2.WARN_NON_ASCII_SEPARATOR_NOT_IMPLEMENTED=1638;exports2.ER_DEBUG_SYNC_TIMEOUT=1639;exports2.ER_DEBUG_SYNC_HIT_LIMIT=1640;exports2.ER_DUP_SIGNAL_SET=1641;exports2.ER_SIGNAL_WARN=1642;exports2.ER_SIGNAL_NOT_FOUND=1643;exports2.ER_SIGNAL_EXCEPTION=1644;exports2.ER_RESIGNAL_WITHOUT_ACTIVE_HANDLER=1645;exports2.ER_SIGNAL_BAD_CONDITION_TYPE=1646;exports2.WARN_COND_ITEM_TRUNCATED=1647;exports2.ER_COND_ITEM_TOO_LONG=1648;exports2.ER_UNKNOWN_LOCALE=1649;exports2.ER_REPLICA_IGNORE_SERVER_IDS=1650;exports2.ER_QUERY_CACHE_DISABLED=1651;exports2.ER_SAME_NAME_PARTITION_FIELD=1652;exports2.ER_PARTITION_COLUMN_LIST_ERROR=1653;exports2.ER_WRONG_TYPE_COLUMN_VALUE_ERROR=1654;exports2.ER_TOO_MANY_PARTITION_FUNC_FIELDS_ERROR=1655;exports2.ER_MAXVALUE_IN_VALUES_IN=1656;exports2.ER_TOO_MANY_VALUES_ERROR=1657;exports2.ER_ROW_SINGLE_PARTITION_FIELD_ERROR=1658;exports2.ER_FIELD_TYPE_NOT_ALLOWED_AS_PARTITION_FIELD=1659;exports2.ER_PARTITION_FIELDS_TOO_LONG=1660;exports2.ER_BINLOG_ROW_ENGINE_AND_STMT_ENGINE=1661;exports2.ER_BINLOG_ROW_MODE_AND_STMT_ENGINE=1662;exports2.ER_BINLOG_UNSAFE_AND_STMT_ENGINE=1663;exports2.ER_BINLOG_ROW_INJECTION_AND_STMT_ENGINE=1664;exports2.ER_BINLOG_STMT_MODE_AND_ROW_ENGINE=1665;exports2.ER_BINLOG_ROW_INJECTION_AND_STMT_MODE=1666;exports2.ER_BINLOG_MULTIPLE_ENGINES_AND_SELF_LOGGING_ENGINE=1667;exports2.ER_BINLOG_UNSAFE_LIMIT=1668;exports2.ER_UNUSED4=1669;exports2.ER_BINLOG_UNSAFE_SYSTEM_TABLE=1670;exports2.ER_BINLOG_UNSAFE_AUTOINC_COLUMNS=1671;exports2.ER_BINLOG_UNSAFE_UDF=1672;exports2.ER_BINLOG_UNSAFE_SYSTEM_VARIABLE=1673;exports2.ER_BINLOG_UNSAFE_SYSTEM_FUNCTION=1674;exports2.ER_BINLOG_UNSAFE_NONTRANS_AFTER_TRANS=1675;exports2.ER_MESSAGE_AND_STATEMENT=1676;exports2.ER_SLAVE_CONVERSION_FAILED=1677;exports2.ER_REPLICA_CANT_CREATE_CONVERSION=1678;exports2.ER_INSIDE_TRANSACTION_PREVENTS_SWITCH_BINLOG_FORMAT=1679;exports2.ER_PATH_LENGTH=1680;exports2.ER_WARN_DEPRECATED_SYNTAX_NO_REPLACEMENT=1681;exports2.ER_WRONG_NATIVE_TABLE_STRUCTURE=1682;exports2.ER_WRONG_PERFSCHEMA_USAGE=1683;exports2.ER_WARN_I_S_SKIPPED_TABLE=1684;exports2.ER_INSIDE_TRANSACTION_PREVENTS_SWITCH_BINLOG_DIRECT=1685;exports2.ER_STORED_FUNCTION_PREVENTS_SWITCH_BINLOG_DIRECT=1686;exports2.ER_SPATIAL_MUST_HAVE_GEOM_COL=1687;exports2.ER_TOO_LONG_INDEX_COMMENT=1688;exports2.ER_LOCK_ABORTED=1689;exports2.ER_DATA_OUT_OF_RANGE=1690;exports2.ER_WRONG_SPVAR_TYPE_IN_LIMIT=1691;exports2.ER_BINLOG_UNSAFE_MULTIPLE_ENGINES_AND_SELF_LOGGING_ENGINE=1692;exports2.ER_BINLOG_UNSAFE_MIXED_STATEMENT=1693;exports2.ER_INSIDE_TRANSACTION_PREVENTS_SWITCH_SQL_LOG_BIN=1694;exports2.ER_STORED_FUNCTION_PREVENTS_SWITCH_SQL_LOG_BIN=1695;exports2.ER_FAILED_READ_FROM_PAR_FILE=1696;exports2.ER_VALUES_IS_NOT_INT_TYPE_ERROR=1697;exports2.ER_ACCESS_DENIED_NO_PASSWORD_ERROR=1698;exports2.ER_SET_PASSWORD_AUTH_PLUGIN=1699;exports2.ER_GRANT_PLUGIN_USER_EXISTS=1700;exports2.ER_TRUNCATE_ILLEGAL_FK=1701;exports2.ER_PLUGIN_IS_PERMANENT=1702;exports2.ER_REPLICA_HEARTBEAT_VALUE_OUT_OF_RANGE_MIN=1703;exports2.ER_REPLICA_HEARTBEAT_VALUE_OUT_OF_RANGE_MAX=1704;exports2.ER_STMT_CACHE_FULL=1705;exports2.ER_MULTI_UPDATE_KEY_CONFLICT=1706;exports2.ER_TABLE_NEEDS_REBUILD=1707;exports2.WARN_OPTION_BELOW_LIMIT=1708;exports2.ER_INDEX_COLUMN_TOO_LONG=1709;exports2.ER_ERROR_IN_TRIGGER_BODY=1710;exports2.ER_ERROR_IN_UNKNOWN_TRIGGER_BODY=1711;exports2.ER_INDEX_CORRUPT=1712;exports2.ER_UNDO_RECORD_TOO_BIG=1713;exports2.ER_BINLOG_UNSAFE_INSERT_IGNORE_SELECT=1714;exports2.ER_BINLOG_UNSAFE_INSERT_SELECT_UPDATE=1715;exports2.ER_BINLOG_UNSAFE_REPLACE_SELECT=1716;exports2.ER_BINLOG_UNSAFE_CREATE_IGNORE_SELECT=1717;exports2.ER_BINLOG_UNSAFE_CREATE_REPLACE_SELECT=1718;exports2.ER_BINLOG_UNSAFE_UPDATE_IGNORE=1719;exports2.ER_PLUGIN_NO_UNINSTALL=1720;exports2.ER_PLUGIN_NO_INSTALL=1721;exports2.ER_BINLOG_UNSAFE_WRITE_AUTOINC_SELECT=1722;exports2.ER_BINLOG_UNSAFE_CREATE_SELECT_AUTOINC=1723;exports2.ER_BINLOG_UNSAFE_INSERT_TWO_KEYS=1724;exports2.ER_TABLE_IN_FK_CHECK=1725;exports2.ER_UNSUPPORTED_ENGINE=1726;exports2.ER_BINLOG_UNSAFE_AUTOINC_NOT_FIRST=1727;exports2.ER_CANNOT_LOAD_FROM_TABLE_V2=1728;exports2.ER_SOURCE_DELAY_VALUE_OUT_OF_RANGE=1729;exports2.ER_ONLY_FD_AND_RBR_EVENTS_ALLOWED_IN_BINLOG_STATEMENT=1730;exports2.ER_PARTITION_EXCHANGE_DIFFERENT_OPTION=1731;exports2.ER_PARTITION_EXCHANGE_PART_TABLE=1732;exports2.ER_PARTITION_EXCHANGE_TEMP_TABLE=1733;exports2.ER_PARTITION_INSTEAD_OF_SUBPARTITION=1734;exports2.ER_UNKNOWN_PARTITION=1735;exports2.ER_TABLES_DIFFERENT_METADATA=1736;exports2.ER_ROW_DOES_NOT_MATCH_PARTITION=1737;exports2.ER_BINLOG_CACHE_SIZE_GREATER_THAN_MAX=1738;exports2.ER_WARN_INDEX_NOT_APPLICABLE=1739;exports2.ER_PARTITION_EXCHANGE_FOREIGN_KEY=1740;exports2.ER_NO_SUCH_KEY_VALUE=1741;exports2.ER_RPL_INFO_DATA_TOO_LONG=1742;exports2.ER_NETWORK_READ_EVENT_CHECKSUM_FAILURE=1743;exports2.ER_BINLOG_READ_EVENT_CHECKSUM_FAILURE=1744;exports2.ER_BINLOG_STMT_CACHE_SIZE_GREATER_THAN_MAX=1745;exports2.ER_CANT_UPDATE_TABLE_IN_CREATE_TABLE_SELECT=1746;exports2.ER_PARTITION_CLAUSE_ON_NONPARTITIONED=1747;exports2.ER_ROW_DOES_NOT_MATCH_GIVEN_PARTITION_SET=1748;exports2.ER_NO_SUCH_PARTITION=1749;exports2.ER_CHANGE_RPL_INFO_REPOSITORY_FAILURE=1750;exports2.ER_WARNING_NOT_COMPLETE_ROLLBACK_WITH_CREATED_TEMP_TABLE=1751;exports2.ER_WARNING_NOT_COMPLETE_ROLLBACK_WITH_DROPPED_TEMP_TABLE=1752;exports2.ER_MTA_FEATURE_IS_NOT_SUPPORTED=1753;exports2.ER_MTA_UPDATED_DBS_GREATER_MAX=1754;exports2.ER_MTA_CANT_PARALLEL=1755;exports2.ER_MTA_INCONSISTENT_DATA=1756;exports2.ER_FULLTEXT_NOT_SUPPORTED_WITH_PARTITIONING=1757;exports2.ER_DA_INVALID_CONDITION_NUMBER=1758;exports2.ER_INSECURE_PLAIN_TEXT=1759;exports2.ER_INSECURE_CHANGE_SOURCE=1760;exports2.ER_FOREIGN_DUPLICATE_KEY_WITH_CHILD_INFO=1761;exports2.ER_FOREIGN_DUPLICATE_KEY_WITHOUT_CHILD_INFO=1762;exports2.ER_SQLTHREAD_WITH_SECURE_REPLICA=1763;exports2.ER_TABLE_HAS_NO_FT=1764;exports2.ER_VARIABLE_NOT_SETTABLE_IN_SF_OR_TRIGGER=1765;exports2.ER_VARIABLE_NOT_SETTABLE_IN_TRANSACTION=1766;exports2.ER_GTID_NEXT_IS_NOT_IN_GTID_NEXT_LIST=1767;exports2.ER_CANT_CHANGE_GTID_NEXT_IN_TRANSACTION=1768;exports2.ER_SET_STATEMENT_CANNOT_INVOKE_FUNCTION=1769;exports2.ER_GTID_NEXT_CANT_BE_AUTOMATIC_IF_GTID_NEXT_LIST_IS_NON_NULL=1770;exports2.ER_SKIPPING_LOGGED_TRANSACTION=1771;exports2.ER_MALFORMED_GTID_SET_SPECIFICATION=1772;exports2.ER_MALFORMED_GTID_SET_ENCODING=1773;exports2.ER_MALFORMED_GTID_SPECIFICATION=1774;exports2.ER_GNO_EXHAUSTED=1775;exports2.ER_BAD_REPLICA_AUTO_POSITION=1776;exports2.ER_AUTO_POSITION_REQUIRES_GTID_MODE_NOT_OFF=1777;exports2.ER_CANT_DO_IMPLICIT_COMMIT_IN_TRX_WHEN_GTID_NEXT_IS_SET=1778;exports2.ER_GTID_MODE_ON_REQUIRES_ENFORCE_GTID_CONSISTENCY_ON=1779;exports2.ER_GTID_MODE_REQUIRES_BINLOG=1780;exports2.ER_CANT_SET_GTID_NEXT_TO_GTID_WHEN_GTID_MODE_IS_OFF=1781;exports2.ER_CANT_SET_GTID_NEXT_TO_ANONYMOUS_WHEN_GTID_MODE_IS_ON=1782;exports2.ER_CANT_SET_GTID_NEXT_LIST_TO_NON_NULL_WHEN_GTID_MODE_IS_OFF=1783;exports2.ER_FOUND_GTID_EVENT_WHEN_GTID_MODE_IS_OFF=1784;exports2.ER_GTID_UNSAFE_NON_TRANSACTIONAL_TABLE=1785;exports2.ER_GTID_UNSAFE_CREATE_SELECT=1786;exports2.ER_GTID_UNSAFE_CREATE_DROP_TEMP_TABLE_IN_TRANSACTION=1787;exports2.ER_GTID_MODE_CAN_ONLY_CHANGE_ONE_STEP_AT_A_TIME=1788;exports2.ER_SOURCE_HAS_PURGED_REQUIRED_GTIDS=1789;exports2.ER_CANT_SET_GTID_NEXT_WHEN_OWNING_GTID=1790;exports2.ER_UNKNOWN_EXPLAIN_FORMAT=1791;exports2.ER_CANT_EXECUTE_IN_READ_ONLY_TRANSACTION=1792;exports2.ER_TOO_LONG_TABLE_PARTITION_COMMENT=1793;exports2.ER_REPLICA_CONFIGURATION=1794;exports2.ER_INNODB_FT_LIMIT=1795;exports2.ER_INNODB_NO_FT_TEMP_TABLE=1796;exports2.ER_INNODB_FT_WRONG_DOCID_COLUMN=1797;exports2.ER_INNODB_FT_WRONG_DOCID_INDEX=1798;exports2.ER_INNODB_ONLINE_LOG_TOO_BIG=1799;exports2.ER_UNKNOWN_ALTER_ALGORITHM=1800;exports2.ER_UNKNOWN_ALTER_LOCK=1801;exports2.ER_MTA_CHANGE_SOURCE_CANT_RUN_WITH_GAPS=1802;exports2.ER_MTA_RECOVERY_FAILURE=1803;exports2.ER_MTA_RESET_WORKERS=1804;exports2.ER_COL_COUNT_DOESNT_MATCH_CORRUPTED_V2=1805;exports2.ER_REPLICA_SILENT_RETRY_TRANSACTION=1806;exports2.ER_DISCARD_FK_CHECKS_RUNNING=1807;exports2.ER_TABLE_SCHEMA_MISMATCH=1808;exports2.ER_TABLE_IN_SYSTEM_TABLESPACE=1809;exports2.ER_IO_READ_ERROR=1810;exports2.ER_IO_WRITE_ERROR=1811;exports2.ER_TABLESPACE_MISSING=1812;exports2.ER_TABLESPACE_EXISTS=1813;exports2.ER_TABLESPACE_DISCARDED=1814;exports2.ER_INTERNAL_ERROR=1815;exports2.ER_INNODB_IMPORT_ERROR=1816;exports2.ER_INNODB_INDEX_CORRUPT=1817;exports2.ER_INVALID_YEAR_COLUMN_LENGTH=1818;exports2.ER_NOT_VALID_PASSWORD=1819;exports2.ER_MUST_CHANGE_PASSWORD=1820;exports2.ER_FK_NO_INDEX_CHILD=1821;exports2.ER_FK_NO_INDEX_PARENT=1822;exports2.ER_FK_FAIL_ADD_SYSTEM=1823;exports2.ER_FK_CANNOT_OPEN_PARENT=1824;exports2.ER_FK_INCORRECT_OPTION=1825;exports2.ER_FK_DUP_NAME=1826;exports2.ER_PASSWORD_FORMAT=1827;exports2.ER_FK_COLUMN_CANNOT_DROP=1828;exports2.ER_FK_COLUMN_CANNOT_DROP_CHILD=1829;exports2.ER_FK_COLUMN_NOT_NULL=1830;exports2.ER_DUP_INDEX=1831;exports2.ER_FK_COLUMN_CANNOT_CHANGE=1832;exports2.ER_FK_COLUMN_CANNOT_CHANGE_CHILD=1833;exports2.ER_UNUSED5=1834;exports2.ER_MALFORMED_PACKET=1835;exports2.ER_READ_ONLY_MODE=1836;exports2.ER_GTID_NEXT_TYPE_UNDEFINED_GTID=1837;exports2.ER_VARIABLE_NOT_SETTABLE_IN_SP=1838;exports2.ER_CANT_SET_GTID_PURGED_WHEN_GTID_MODE_IS_OFF=1839;exports2.ER_CANT_SET_GTID_PURGED_WHEN_GTID_EXECUTED_IS_NOT_EMPTY=1840;exports2.ER_CANT_SET_GTID_PURGED_WHEN_OWNED_GTIDS_IS_NOT_EMPTY=1841;exports2.ER_GTID_PURGED_WAS_CHANGED=1842;exports2.ER_GTID_EXECUTED_WAS_CHANGED=1843;exports2.ER_BINLOG_STMT_MODE_AND_NO_REPL_TABLES=1844;exports2.ER_ALTER_OPERATION_NOT_SUPPORTED=1845;exports2.ER_ALTER_OPERATION_NOT_SUPPORTED_REASON=1846;exports2.ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_COPY=1847;exports2.ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_PARTITION=1848;exports2.ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_FK_RENAME=1849;exports2.ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_COLUMN_TYPE=1850;exports2.ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_FK_CHECK=1851;exports2.ER_UNUSED6=1852;exports2.ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_NOPK=1853;exports2.ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_AUTOINC=1854;exports2.ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_HIDDEN_FTS=1855;exports2.ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_CHANGE_FTS=1856;exports2.ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_FTS=1857;exports2.ER_SQL_REPLICA_SKIP_COUNTER_NOT_SETTABLE_IN_GTID_MODE=1858;exports2.ER_DUP_UNKNOWN_IN_INDEX=1859;exports2.ER_IDENT_CAUSES_TOO_LONG_PATH=1860;exports2.ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_NOT_NULL=1861;exports2.ER_MUST_CHANGE_PASSWORD_LOGIN=1862;exports2.ER_ROW_IN_WRONG_PARTITION=1863;exports2.ER_MTA_EVENT_BIGGER_PENDING_JOBS_SIZE_MAX=1864;exports2.ER_INNODB_NO_FT_USES_PARSER=1865;exports2.ER_BINLOG_LOGICAL_CORRUPTION=1866;exports2.ER_WARN_PURGE_LOG_IN_USE=1867;exports2.ER_WARN_PURGE_LOG_IS_ACTIVE=1868;exports2.ER_AUTO_INCREMENT_CONFLICT=1869;exports2.WARN_ON_BLOCKHOLE_IN_RBR=1870;exports2.ER_REPLICA_CM_INIT_REPOSITORY=1871;exports2.ER_REPLICA_AM_INIT_REPOSITORY=1872;exports2.ER_ACCESS_DENIED_CHANGE_USER_ERROR=1873;exports2.ER_INNODB_READ_ONLY=1874;exports2.ER_STOP_REPLICA_SQL_THREAD_TIMEOUT=1875;exports2.ER_STOP_REPLICA_IO_THREAD_TIMEOUT=1876;exports2.ER_TABLE_CORRUPT=1877;exports2.ER_TEMP_FILE_WRITE_FAILURE=1878;exports2.ER_INNODB_FT_AUX_NOT_HEX_ID=1879;exports2.ER_OLD_TEMPORALS_UPGRADED=1880;exports2.ER_INNODB_FORCED_RECOVERY=1881;exports2.ER_AES_INVALID_IV=1882;exports2.ER_PLUGIN_CANNOT_BE_UNINSTALLED=1883;exports2.ER_GTID_UNSAFE_BINLOG_SPLITTABLE_STATEMENT_AND_ASSIGNED_GTID=1884;exports2.ER_REPLICA_HAS_MORE_GTIDS_THAN_SOURCE=1885;exports2.ER_MISSING_KEY=1886;exports2.WARN_NAMED_PIPE_ACCESS_EVERYONE=1887;exports2.ER_FILE_CORRUPT=3e3;exports2.ER_ERROR_ON_SOURCE=3001;exports2.ER_INCONSISTENT_ERROR=3002;exports2.ER_STORAGE_ENGINE_NOT_LOADED=3003;exports2.ER_GET_STACKED_DA_WITHOUT_ACTIVE_HANDLER=3004;exports2.ER_WARN_LEGACY_SYNTAX_CONVERTED=3005;exports2.ER_BINLOG_UNSAFE_FULLTEXT_PLUGIN=3006;exports2.ER_CANNOT_DISCARD_TEMPORARY_TABLE=3007;exports2.ER_FK_DEPTH_EXCEEDED=3008;exports2.ER_COL_COUNT_DOESNT_MATCH_PLEASE_UPDATE_V2=3009;exports2.ER_WARN_TRIGGER_DOESNT_HAVE_CREATED=3010;exports2.ER_REFERENCED_TRG_DOES_NOT_EXIST=3011;exports2.ER_EXPLAIN_NOT_SUPPORTED=3012;exports2.ER_INVALID_FIELD_SIZE=3013;exports2.ER_MISSING_HA_CREATE_OPTION=3014;exports2.ER_ENGINE_OUT_OF_MEMORY=3015;exports2.ER_PASSWORD_EXPIRE_ANONYMOUS_USER=3016;exports2.ER_REPLICA_SQL_THREAD_MUST_STOP=3017;exports2.ER_NO_FT_MATERIALIZED_SUBQUERY=3018;exports2.ER_INNODB_UNDO_LOG_FULL=3019;exports2.ER_INVALID_ARGUMENT_FOR_LOGARITHM=3020;exports2.ER_REPLICA_CHANNEL_IO_THREAD_MUST_STOP=3021;exports2.ER_WARN_OPEN_TEMP_TABLES_MUST_BE_ZERO=3022;exports2.ER_WARN_ONLY_SOURCE_LOG_FILE_NO_POS=3023;exports2.ER_QUERY_TIMEOUT=3024;exports2.ER_NON_RO_SELECT_DISABLE_TIMER=3025;exports2.ER_DUP_LIST_ENTRY=3026;exports2.ER_SQL_MODE_NO_EFFECT=3027;exports2.ER_AGGREGATE_ORDER_FOR_UNION=3028;exports2.ER_AGGREGATE_ORDER_NON_AGG_QUERY=3029;exports2.ER_REPLICA_WORKER_STOPPED_PREVIOUS_THD_ERROR=3030;exports2.ER_DONT_SUPPORT_REPLICA_PRESERVE_COMMIT_ORDER=3031;exports2.ER_SERVER_OFFLINE_MODE=3032;exports2.ER_GIS_DIFFERENT_SRIDS=3033;exports2.ER_GIS_UNSUPPORTED_ARGUMENT=3034;exports2.ER_GIS_UNKNOWN_ERROR=3035;exports2.ER_GIS_UNKNOWN_EXCEPTION=3036;exports2.ER_GIS_INVALID_DATA=3037;exports2.ER_BOOST_GEOMETRY_EMPTY_INPUT_EXCEPTION=3038;exports2.ER_BOOST_GEOMETRY_CENTROID_EXCEPTION=3039;exports2.ER_BOOST_GEOMETRY_OVERLAY_INVALID_INPUT_EXCEPTION=3040;exports2.ER_BOOST_GEOMETRY_TURN_INFO_EXCEPTION=3041;exports2.ER_BOOST_GEOMETRY_SELF_INTERSECTION_POINT_EXCEPTION=3042;exports2.ER_BOOST_GEOMETRY_UNKNOWN_EXCEPTION=3043;exports2.ER_STD_BAD_ALLOC_ERROR=3044;exports2.ER_STD_DOMAIN_ERROR=3045;exports2.ER_STD_LENGTH_ERROR=3046;exports2.ER_STD_INVALID_ARGUMENT=3047;exports2.ER_STD_OUT_OF_RANGE_ERROR=3048;exports2.ER_STD_OVERFLOW_ERROR=3049;exports2.ER_STD_RANGE_ERROR=3050;exports2.ER_STD_UNDERFLOW_ERROR=3051;exports2.ER_STD_LOGIC_ERROR=3052;exports2.ER_STD_RUNTIME_ERROR=3053;exports2.ER_STD_UNKNOWN_EXCEPTION=3054;exports2.ER_GIS_DATA_WRONG_ENDIANESS=3055;exports2.ER_CHANGE_SOURCE_PASSWORD_LENGTH=3056;exports2.ER_USER_LOCK_WRONG_NAME=3057;exports2.ER_USER_LOCK_DEADLOCK=3058;exports2.ER_REPLACE_INACCESSIBLE_ROWS=3059;exports2.ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_GIS=3060;exports2.ER_ILLEGAL_USER_VAR=3061;exports2.ER_GTID_MODE_OFF=3062;exports2.ER_UNSUPPORTED_BY_REPLICATION_THREAD=3063;exports2.ER_INCORRECT_TYPE=3064;exports2.ER_FIELD_IN_ORDER_NOT_SELECT=3065;exports2.ER_AGGREGATE_IN_ORDER_NOT_SELECT=3066;exports2.ER_INVALID_RPL_WILD_TABLE_FILTER_PATTERN=3067;exports2.ER_NET_OK_PACKET_TOO_LARGE=3068;exports2.ER_INVALID_JSON_DATA=3069;exports2.ER_INVALID_GEOJSON_MISSING_MEMBER=3070;exports2.ER_INVALID_GEOJSON_WRONG_TYPE=3071;exports2.ER_INVALID_GEOJSON_UNSPECIFIED=3072;exports2.ER_DIMENSION_UNSUPPORTED=3073;exports2.ER_REPLICA_CHANNEL_DOES_NOT_EXIST=3074;exports2.ER_SLAVE_MULTIPLE_CHANNELS_HOST_PORT=3075;exports2.ER_REPLICA_CHANNEL_NAME_INVALID_OR_TOO_LONG=3076;exports2.ER_REPLICA_NEW_CHANNEL_WRONG_REPOSITORY=3077;exports2.ER_SLAVE_CHANNEL_DELETE=3078;exports2.ER_REPLICA_MULTIPLE_CHANNELS_CMD=3079;exports2.ER_REPLICA_MAX_CHANNELS_EXCEEDED=3080;exports2.ER_REPLICA_CHANNEL_MUST_STOP=3081;exports2.ER_REPLICA_CHANNEL_NOT_RUNNING=3082;exports2.ER_REPLICA_CHANNEL_WAS_RUNNING=3083;exports2.ER_REPLICA_CHANNEL_WAS_NOT_RUNNING=3084;exports2.ER_REPLICA_CHANNEL_SQL_THREAD_MUST_STOP=3085;exports2.ER_REPLICA_CHANNEL_SQL_SKIP_COUNTER=3086;exports2.ER_WRONG_FIELD_WITH_GROUP_V2=3087;exports2.ER_MIX_OF_GROUP_FUNC_AND_FIELDS_V2=3088;exports2.ER_WARN_DEPRECATED_SYSVAR_UPDATE=3089;exports2.ER_WARN_DEPRECATED_SQLMODE=3090;exports2.ER_CANNOT_LOG_PARTIAL_DROP_DATABASE_WITH_GTID=3091;exports2.ER_GROUP_REPLICATION_CONFIGURATION=3092;exports2.ER_GROUP_REPLICATION_RUNNING=3093;exports2.ER_GROUP_REPLICATION_APPLIER_INIT_ERROR=3094;exports2.ER_GROUP_REPLICATION_STOP_APPLIER_THREAD_TIMEOUT=3095;exports2.ER_GROUP_REPLICATION_COMMUNICATION_LAYER_SESSION_ERROR=3096;exports2.ER_GROUP_REPLICATION_COMMUNICATION_LAYER_JOIN_ERROR=3097;exports2.ER_BEFORE_DML_VALIDATION_ERROR=3098;exports2.ER_PREVENTS_VARIABLE_WITHOUT_RBR=3099;exports2.ER_RUN_HOOK_ERROR=3100;exports2.ER_TRANSACTION_ROLLBACK_DURING_COMMIT=3101;exports2.ER_GENERATED_COLUMN_FUNCTION_IS_NOT_ALLOWED=3102;exports2.ER_UNSUPPORTED_ALTER_INPLACE_ON_VIRTUAL_COLUMN=3103;exports2.ER_WRONG_FK_OPTION_FOR_GENERATED_COLUMN=3104;exports2.ER_NON_DEFAULT_VALUE_FOR_GENERATED_COLUMN=3105;exports2.ER_UNSUPPORTED_ACTION_ON_GENERATED_COLUMN=3106;exports2.ER_GENERATED_COLUMN_NON_PRIOR=3107;exports2.ER_DEPENDENT_BY_GENERATED_COLUMN=3108;exports2.ER_GENERATED_COLUMN_REF_AUTO_INC=3109;exports2.ER_FEATURE_NOT_AVAILABLE=3110;exports2.ER_CANT_SET_GTID_MODE=3111;exports2.ER_CANT_USE_AUTO_POSITION_WITH_GTID_MODE_OFF=3112;exports2.ER_CANT_REPLICATE_ANONYMOUS_WITH_AUTO_POSITION=3113;exports2.ER_CANT_REPLICATE_ANONYMOUS_WITH_GTID_MODE_ON=3114;exports2.ER_CANT_REPLICATE_GTID_WITH_GTID_MODE_OFF=3115;exports2.ER_CANT_ENFORCE_GTID_CONSISTENCY_WITH_ONGOING_GTID_VIOLATING_TX=3116;exports2.ER_ENFORCE_GTID_CONSISTENCY_WARN_WITH_ONGOING_GTID_VIOLATING_TX=3117;exports2.ER_ACCOUNT_HAS_BEEN_LOCKED=3118;exports2.ER_WRONG_TABLESPACE_NAME=3119;exports2.ER_TABLESPACE_IS_NOT_EMPTY=3120;exports2.ER_WRONG_FILE_NAME=3121;exports2.ER_BOOST_GEOMETRY_INCONSISTENT_TURNS_EXCEPTION=3122;exports2.ER_WARN_OPTIMIZER_HINT_SYNTAX_ERROR=3123;exports2.ER_WARN_BAD_MAX_EXECUTION_TIME=3124;exports2.ER_WARN_UNSUPPORTED_MAX_EXECUTION_TIME=3125;exports2.ER_WARN_CONFLICTING_HINT=3126;exports2.ER_WARN_UNKNOWN_QB_NAME=3127;exports2.ER_UNRESOLVED_HINT_NAME=3128;exports2.ER_WARN_ON_MODIFYING_GTID_EXECUTED_TABLE=3129;exports2.ER_PLUGGABLE_PROTOCOL_COMMAND_NOT_SUPPORTED=3130;exports2.ER_LOCKING_SERVICE_WRONG_NAME=3131;exports2.ER_LOCKING_SERVICE_DEADLOCK=3132;exports2.ER_LOCKING_SERVICE_TIMEOUT=3133;exports2.ER_GIS_MAX_POINTS_IN_GEOMETRY_OVERFLOWED=3134;exports2.ER_SQL_MODE_MERGED=3135;exports2.ER_VTOKEN_PLUGIN_TOKEN_MISMATCH=3136;exports2.ER_VTOKEN_PLUGIN_TOKEN_NOT_FOUND=3137;exports2.ER_CANT_SET_VARIABLE_WHEN_OWNING_GTID=3138;exports2.ER_REPLICA_CHANNEL_OPERATION_NOT_ALLOWED=3139;exports2.ER_INVALID_JSON_TEXT=3140;exports2.ER_INVALID_JSON_TEXT_IN_PARAM=3141;exports2.ER_INVALID_JSON_BINARY_DATA=3142;exports2.ER_INVALID_JSON_PATH=3143;exports2.ER_INVALID_JSON_CHARSET=3144;exports2.ER_INVALID_JSON_CHARSET_IN_FUNCTION=3145;exports2.ER_INVALID_TYPE_FOR_JSON=3146;exports2.ER_INVALID_CAST_TO_JSON=3147;exports2.ER_INVALID_JSON_PATH_CHARSET=3148;exports2.ER_INVALID_JSON_PATH_WILDCARD=3149;exports2.ER_JSON_VALUE_TOO_BIG=3150;exports2.ER_JSON_KEY_TOO_BIG=3151;exports2.ER_JSON_USED_AS_KEY=3152;exports2.ER_JSON_VACUOUS_PATH=3153;exports2.ER_JSON_BAD_ONE_OR_ALL_ARG=3154;exports2.ER_NUMERIC_JSON_VALUE_OUT_OF_RANGE=3155;exports2.ER_INVALID_JSON_VALUE_FOR_CAST=3156;exports2.ER_JSON_DOCUMENT_TOO_DEEP=3157;exports2.ER_JSON_DOCUMENT_NULL_KEY=3158;exports2.ER_SECURE_TRANSPORT_REQUIRED=3159;exports2.ER_NO_SECURE_TRANSPORTS_CONFIGURED=3160;exports2.ER_DISABLED_STORAGE_ENGINE=3161;exports2.ER_USER_DOES_NOT_EXIST=3162;exports2.ER_USER_ALREADY_EXISTS=3163;exports2.ER_AUDIT_API_ABORT=3164;exports2.ER_INVALID_JSON_PATH_ARRAY_CELL=3165;exports2.ER_BUFPOOL_RESIZE_INPROGRESS=3166;exports2.ER_FEATURE_DISABLED_SEE_DOC=3167;exports2.ER_SERVER_ISNT_AVAILABLE=3168;exports2.ER_SESSION_WAS_KILLED=3169;exports2.ER_CAPACITY_EXCEEDED=3170;exports2.ER_CAPACITY_EXCEEDED_IN_RANGE_OPTIMIZER=3171;exports2.ER_TABLE_NEEDS_UPG_PART=3172;exports2.ER_CANT_WAIT_FOR_EXECUTED_GTID_SET_WHILE_OWNING_A_GTID=3173;exports2.ER_CANNOT_ADD_FOREIGN_BASE_COL_VIRTUAL=3174;exports2.ER_CANNOT_CREATE_VIRTUAL_INDEX_CONSTRAINT=3175;exports2.ER_ERROR_ON_MODIFYING_GTID_EXECUTED_TABLE=3176;exports2.ER_LOCK_REFUSED_BY_ENGINE=3177;exports2.ER_UNSUPPORTED_ALTER_ONLINE_ON_VIRTUAL_COLUMN=3178;exports2.ER_MASTER_KEY_ROTATION_NOT_SUPPORTED_BY_SE=3179;exports2.ER_MASTER_KEY_ROTATION_ERROR_BY_SE=3180;exports2.ER_MASTER_KEY_ROTATION_BINLOG_FAILED=3181;exports2.ER_MASTER_KEY_ROTATION_SE_UNAVAILABLE=3182;exports2.ER_TABLESPACE_CANNOT_ENCRYPT=3183;exports2.ER_INVALID_ENCRYPTION_OPTION=3184;exports2.ER_CANNOT_FIND_KEY_IN_KEYRING=3185;exports2.ER_CAPACITY_EXCEEDED_IN_PARSER=3186;exports2.ER_UNSUPPORTED_ALTER_ENCRYPTION_INPLACE=3187;exports2.ER_KEYRING_UDF_KEYRING_SERVICE_ERROR=3188;exports2.ER_USER_COLUMN_OLD_LENGTH=3189;exports2.ER_CANT_RESET_SOURCE=3190;exports2.ER_GROUP_REPLICATION_MAX_GROUP_SIZE=3191;exports2.ER_CANNOT_ADD_FOREIGN_BASE_COL_STORED=3192;exports2.ER_TABLE_REFERENCED=3193;exports2.ER_PARTITION_ENGINE_DEPRECATED_FOR_TABLE=3194;exports2.ER_WARN_USING_GEOMFROMWKB_TO_SET_SRID_ZERO=3195;exports2.ER_WARN_USING_GEOMFROMWKB_TO_SET_SRID=3196;exports2.ER_XA_RETRY=3197;exports2.ER_KEYRING_AWS_UDF_AWS_KMS_ERROR=3198;exports2.ER_BINLOG_UNSAFE_XA=3199;exports2.ER_UDF_ERROR=3200;exports2.ER_KEYRING_MIGRATION_FAILURE=3201;exports2.ER_KEYRING_ACCESS_DENIED_ERROR=3202;exports2.ER_KEYRING_MIGRATION_STATUS=3203;exports2.ER_PLUGIN_FAILED_TO_OPEN_TABLES=3204;exports2.ER_PLUGIN_FAILED_TO_OPEN_TABLE=3205;exports2.ER_AUDIT_LOG_NO_KEYRING_PLUGIN_INSTALLED=3206;exports2.ER_AUDIT_LOG_ENCRYPTION_PASSWORD_HAS_NOT_BEEN_SET=3207;exports2.ER_AUDIT_LOG_COULD_NOT_CREATE_AES_KEY=3208;exports2.ER_AUDIT_LOG_ENCRYPTION_PASSWORD_CANNOT_BE_FETCHED=3209;exports2.ER_AUDIT_LOG_JSON_FILTERING_NOT_ENABLED=3210;exports2.ER_AUDIT_LOG_UDF_INSUFFICIENT_PRIVILEGE=3211;exports2.ER_AUDIT_LOG_SUPER_PRIVILEGE_REQUIRED=3212;exports2.ER_COULD_NOT_REINITIALIZE_AUDIT_LOG_FILTERS=3213;exports2.ER_AUDIT_LOG_UDF_INVALID_ARGUMENT_TYPE=3214;exports2.ER_AUDIT_LOG_UDF_INVALID_ARGUMENT_COUNT=3215;exports2.ER_AUDIT_LOG_HAS_NOT_BEEN_INSTALLED=3216;exports2.ER_AUDIT_LOG_UDF_READ_INVALID_MAX_ARRAY_LENGTH_ARG_TYPE=3217;exports2.ER_AUDIT_LOG_UDF_READ_INVALID_MAX_ARRAY_LENGTH_ARG_VALUE=3218;exports2.ER_AUDIT_LOG_JSON_FILTER_PARSING_ERROR=3219;exports2.ER_AUDIT_LOG_JSON_FILTER_NAME_CANNOT_BE_EMPTY=3220;exports2.ER_AUDIT_LOG_JSON_USER_NAME_CANNOT_BE_EMPTY=3221;exports2.ER_AUDIT_LOG_JSON_FILTER_DOES_NOT_EXISTS=3222;exports2.ER_AUDIT_LOG_USER_FIRST_CHARACTER_MUST_BE_ALPHANUMERIC=3223;exports2.ER_AUDIT_LOG_USER_NAME_INVALID_CHARACTER=3224;exports2.ER_AUDIT_LOG_HOST_NAME_INVALID_CHARACTER=3225;exports2.WARN_DEPRECATED_MAXDB_SQL_MODE_FOR_TIMESTAMP=3226;exports2.ER_XA_REPLICATION_FILTERS=3227;exports2.ER_CANT_OPEN_ERROR_LOG=3228;exports2.ER_GROUPING_ON_TIMESTAMP_IN_DST=3229;exports2.ER_CANT_START_SERVER_NAMED_PIPE=3230;exports2.ER_WRITE_SET_EXCEEDS_LIMIT=3231;exports2.ER_DEPRECATED_TLS_VERSION_SESSION_57=3232;exports2.ER_WARN_DEPRECATED_TLS_VERSION_57=3233;exports2.ER_WARN_WRONG_NATIVE_TABLE_STRUCTURE=3234;exports2.ER_AES_INVALID_KDF_NAME=3235;exports2.ER_AES_INVALID_KDF_ITERATIONS=3236;exports2.WARN_AES_KEY_SIZE=3237;exports2.ER_AES_INVALID_KDF_OPTION_SIZE=3238;exports2.ER_UNSUPPORT_COMPRESSED_TEMPORARY_TABLE=3500;exports2.ER_ACL_OPERATION_FAILED=3501;exports2.ER_UNSUPPORTED_INDEX_ALGORITHM=3502;exports2.ER_NO_SUCH_DB=3503;exports2.ER_TOO_BIG_ENUM=3504;exports2.ER_TOO_LONG_SET_ENUM_VALUE=3505;exports2.ER_INVALID_DD_OBJECT=3506;exports2.ER_UPDATING_DD_TABLE=3507;exports2.ER_INVALID_DD_OBJECT_ID=3508;exports2.ER_INVALID_DD_OBJECT_NAME=3509;exports2.ER_TABLESPACE_MISSING_WITH_NAME=3510;exports2.ER_TOO_LONG_ROUTINE_COMMENT=3511;exports2.ER_SP_LOAD_FAILED=3512;exports2.ER_INVALID_BITWISE_OPERANDS_SIZE=3513;exports2.ER_INVALID_BITWISE_AGGREGATE_OPERANDS_SIZE=3514;exports2.ER_WARN_UNSUPPORTED_HINT=3515;exports2.ER_UNEXPECTED_GEOMETRY_TYPE=3516;exports2.ER_SRS_PARSE_ERROR=3517;exports2.ER_SRS_PROJ_PARAMETER_MISSING=3518;exports2.ER_WARN_SRS_NOT_FOUND=3519;exports2.ER_SRS_NOT_CARTESIAN=3520;exports2.ER_SRS_NOT_CARTESIAN_UNDEFINED=3521;exports2.ER_PK_INDEX_CANT_BE_INVISIBLE=3522;exports2.ER_UNKNOWN_AUTHID=3523;exports2.ER_FAILED_ROLE_GRANT=3524;exports2.ER_OPEN_ROLE_TABLES=3525;exports2.ER_FAILED_DEFAULT_ROLES=3526;exports2.ER_COMPONENTS_NO_SCHEME=3527;exports2.ER_COMPONENTS_NO_SCHEME_SERVICE=3528;exports2.ER_COMPONENTS_CANT_LOAD=3529;exports2.ER_ROLE_NOT_GRANTED=3530;exports2.ER_FAILED_REVOKE_ROLE=3531;exports2.ER_RENAME_ROLE=3532;exports2.ER_COMPONENTS_CANT_ACQUIRE_SERVICE_IMPLEMENTATION=3533;exports2.ER_COMPONENTS_CANT_SATISFY_DEPENDENCY=3534;exports2.ER_COMPONENTS_LOAD_CANT_REGISTER_SERVICE_IMPLEMENTATION=3535;exports2.ER_COMPONENTS_LOAD_CANT_INITIALIZE=3536;exports2.ER_COMPONENTS_UNLOAD_NOT_LOADED=3537;exports2.ER_COMPONENTS_UNLOAD_CANT_DEINITIALIZE=3538;exports2.ER_COMPONENTS_CANT_RELEASE_SERVICE=3539;exports2.ER_COMPONENTS_UNLOAD_CANT_UNREGISTER_SERVICE=3540;exports2.ER_COMPONENTS_CANT_UNLOAD=3541;exports2.ER_WARN_UNLOAD_THE_NOT_PERSISTED=3542;exports2.ER_COMPONENT_TABLE_INCORRECT=3543;exports2.ER_COMPONENT_MANIPULATE_ROW_FAILED=3544;exports2.ER_COMPONENTS_UNLOAD_DUPLICATE_IN_GROUP=3545;exports2.ER_CANT_SET_GTID_PURGED_DUE_SETS_CONSTRAINTS=3546;exports2.ER_CANNOT_LOCK_USER_MANAGEMENT_CACHES=3547;exports2.ER_SRS_NOT_FOUND=3548;exports2.ER_VARIABLE_NOT_PERSISTED=3549;exports2.ER_IS_QUERY_INVALID_CLAUSE=3550;exports2.ER_UNABLE_TO_STORE_STATISTICS=3551;exports2.ER_NO_SYSTEM_SCHEMA_ACCESS=3552;exports2.ER_NO_SYSTEM_TABLESPACE_ACCESS=3553;exports2.ER_NO_SYSTEM_TABLE_ACCESS=3554;exports2.ER_NO_SYSTEM_TABLE_ACCESS_FOR_DICTIONARY_TABLE=3555;exports2.ER_NO_SYSTEM_TABLE_ACCESS_FOR_SYSTEM_TABLE=3556;exports2.ER_NO_SYSTEM_TABLE_ACCESS_FOR_TABLE=3557;exports2.ER_INVALID_OPTION_KEY=3558;exports2.ER_INVALID_OPTION_VALUE=3559;exports2.ER_INVALID_OPTION_KEY_VALUE_PAIR=3560;exports2.ER_INVALID_OPTION_START_CHARACTER=3561;exports2.ER_INVALID_OPTION_END_CHARACTER=3562;exports2.ER_INVALID_OPTION_CHARACTERS=3563;exports2.ER_DUPLICATE_OPTION_KEY=3564;exports2.ER_WARN_SRS_NOT_FOUND_AXIS_ORDER=3565;exports2.ER_NO_ACCESS_TO_NATIVE_FCT=3566;exports2.ER_RESET_SOURCE_TO_VALUE_OUT_OF_RANGE=3567;exports2.ER_UNRESOLVED_TABLE_LOCK=3568;exports2.ER_DUPLICATE_TABLE_LOCK=3569;exports2.ER_BINLOG_UNSAFE_SKIP_LOCKED=3570;exports2.ER_BINLOG_UNSAFE_NOWAIT=3571;exports2.ER_LOCK_NOWAIT=3572;exports2.ER_CTE_RECURSIVE_REQUIRES_UNION=3573;exports2.ER_CTE_RECURSIVE_REQUIRES_NONRECURSIVE_FIRST=3574;exports2.ER_CTE_RECURSIVE_FORBIDS_AGGREGATION=3575;exports2.ER_CTE_RECURSIVE_FORBIDDEN_JOIN_ORDER=3576;exports2.ER_CTE_RECURSIVE_REQUIRES_SINGLE_REFERENCE=3577;exports2.ER_SWITCH_TMP_ENGINE=3578;exports2.ER_WINDOW_NO_SUCH_WINDOW=3579;exports2.ER_WINDOW_CIRCULARITY_IN_WINDOW_GRAPH=3580;exports2.ER_WINDOW_NO_CHILD_PARTITIONING=3581;exports2.ER_WINDOW_NO_INHERIT_FRAME=3582;exports2.ER_WINDOW_NO_REDEFINE_ORDER_BY=3583;exports2.ER_WINDOW_FRAME_START_ILLEGAL=3584;exports2.ER_WINDOW_FRAME_END_ILLEGAL=3585;exports2.ER_WINDOW_FRAME_ILLEGAL=3586;exports2.ER_WINDOW_RANGE_FRAME_ORDER_TYPE=3587;exports2.ER_WINDOW_RANGE_FRAME_TEMPORAL_TYPE=3588;exports2.ER_WINDOW_RANGE_FRAME_NUMERIC_TYPE=3589;exports2.ER_WINDOW_RANGE_BOUND_NOT_CONSTANT=3590;exports2.ER_WINDOW_DUPLICATE_NAME=3591;exports2.ER_WINDOW_ILLEGAL_ORDER_BY=3592;exports2.ER_WINDOW_INVALID_WINDOW_FUNC_USE=3593;exports2.ER_WINDOW_INVALID_WINDOW_FUNC_ALIAS_USE=3594;exports2.ER_WINDOW_NESTED_WINDOW_FUNC_USE_IN_WINDOW_SPEC=3595;exports2.ER_WINDOW_ROWS_INTERVAL_USE=3596;exports2.ER_WINDOW_NO_GROUP_ORDER=3597;exports2.ER_WINDOW_EXPLAIN_JSON=3598;exports2.ER_WINDOW_FUNCTION_IGNORES_FRAME=3599;exports2.ER_WL9236_NOW=3600;exports2.ER_INVALID_NO_OF_ARGS=3601;exports2.ER_FIELD_IN_GROUPING_NOT_GROUP_BY=3602;exports2.ER_TOO_LONG_TABLESPACE_COMMENT=3603;exports2.ER_ENGINE_CANT_DROP_TABLE=3604;exports2.ER_ENGINE_CANT_DROP_MISSING_TABLE=3605;exports2.ER_TABLESPACE_DUP_FILENAME=3606;exports2.ER_DB_DROP_RMDIR2=3607;exports2.ER_IMP_NO_FILES_MATCHED=3608;exports2.ER_IMP_SCHEMA_DOES_NOT_EXIST=3609;exports2.ER_IMP_TABLE_ALREADY_EXISTS=3610;exports2.ER_IMP_INCOMPATIBLE_MYSQLD_VERSION=3611;exports2.ER_IMP_INCOMPATIBLE_DD_VERSION=3612;exports2.ER_IMP_INCOMPATIBLE_SDI_VERSION=3613;exports2.ER_WARN_INVALID_HINT=3614;exports2.ER_VAR_DOES_NOT_EXIST=3615;exports2.ER_LONGITUDE_OUT_OF_RANGE=3616;exports2.ER_LATITUDE_OUT_OF_RANGE=3617;exports2.ER_NOT_IMPLEMENTED_FOR_GEOGRAPHIC_SRS=3618;exports2.ER_ILLEGAL_PRIVILEGE_LEVEL=3619;exports2.ER_NO_SYSTEM_VIEW_ACCESS=3620;exports2.ER_COMPONENT_FILTER_FLABBERGASTED=3621;exports2.ER_PART_EXPR_TOO_LONG=3622;exports2.ER_UDF_DROP_DYNAMICALLY_REGISTERED=3623;exports2.ER_UNABLE_TO_STORE_COLUMN_STATISTICS=3624;exports2.ER_UNABLE_TO_UPDATE_COLUMN_STATISTICS=3625;exports2.ER_UNABLE_TO_DROP_COLUMN_STATISTICS=3626;exports2.ER_UNABLE_TO_BUILD_HISTOGRAM=3627;exports2.ER_MANDATORY_ROLE=3628;exports2.ER_MISSING_TABLESPACE_FILE=3629;exports2.ER_PERSIST_ONLY_ACCESS_DENIED_ERROR=3630;exports2.ER_CMD_NEED_SUPER=3631;exports2.ER_PATH_IN_DATADIR=3632;exports2.ER_CLONE_DDL_IN_PROGRESS=3633;exports2.ER_CLONE_TOO_MANY_CONCURRENT_CLONES=3634;exports2.ER_APPLIER_LOG_EVENT_VALIDATION_ERROR=3635;exports2.ER_CTE_MAX_RECURSION_DEPTH=3636;exports2.ER_NOT_HINT_UPDATABLE_VARIABLE=3637;exports2.ER_CREDENTIALS_CONTRADICT_TO_HISTORY=3638;exports2.ER_WARNING_PASSWORD_HISTORY_CLAUSES_VOID=3639;exports2.ER_CLIENT_DOES_NOT_SUPPORT=3640;exports2.ER_I_S_SKIPPED_TABLESPACE=3641;exports2.ER_TABLESPACE_ENGINE_MISMATCH=3642;exports2.ER_WRONG_SRID_FOR_COLUMN=3643;exports2.ER_CANNOT_ALTER_SRID_DUE_TO_INDEX=3644;exports2.ER_WARN_BINLOG_PARTIAL_UPDATES_DISABLED=3645;exports2.ER_WARN_BINLOG_V1_ROW_EVENTS_DISABLED=3646;exports2.ER_WARN_BINLOG_PARTIAL_UPDATES_SUGGESTS_PARTIAL_IMAGES=3647;exports2.ER_COULD_NOT_APPLY_JSON_DIFF=3648;exports2.ER_CORRUPTED_JSON_DIFF=3649;exports2.ER_RESOURCE_GROUP_EXISTS=3650;exports2.ER_RESOURCE_GROUP_NOT_EXISTS=3651;exports2.ER_INVALID_VCPU_ID=3652;exports2.ER_INVALID_VCPU_RANGE=3653;exports2.ER_INVALID_THREAD_PRIORITY=3654;exports2.ER_DISALLOWED_OPERATION=3655;exports2.ER_RESOURCE_GROUP_BUSY=3656;exports2.ER_RESOURCE_GROUP_DISABLED=3657;exports2.ER_FEATURE_UNSUPPORTED=3658;exports2.ER_ATTRIBUTE_IGNORED=3659;exports2.ER_INVALID_THREAD_ID=3660;exports2.ER_RESOURCE_GROUP_BIND_FAILED=3661;exports2.ER_INVALID_USE_OF_FORCE_OPTION=3662;exports2.ER_GROUP_REPLICATION_COMMAND_FAILURE=3663;exports2.ER_SDI_OPERATION_FAILED=3664;exports2.ER_MISSING_JSON_TABLE_VALUE=3665;exports2.ER_WRONG_JSON_TABLE_VALUE=3666;exports2.ER_TF_MUST_HAVE_ALIAS=3667;exports2.ER_TF_FORBIDDEN_JOIN_TYPE=3668;exports2.ER_JT_VALUE_OUT_OF_RANGE=3669;exports2.ER_JT_MAX_NESTED_PATH=3670;exports2.ER_PASSWORD_EXPIRATION_NOT_SUPPORTED_BY_AUTH_METHOD=3671;exports2.ER_INVALID_GEOJSON_CRS_NOT_TOP_LEVEL=3672;exports2.ER_BAD_NULL_ERROR_NOT_IGNORED=3673;exports2.WARN_USELESS_SPATIAL_INDEX=3674;exports2.ER_DISK_FULL_NOWAIT=3675;exports2.ER_PARSE_ERROR_IN_DIGEST_FN=3676;exports2.ER_UNDISCLOSED_PARSE_ERROR_IN_DIGEST_FN=3677;exports2.ER_SCHEMA_DIR_EXISTS=3678;exports2.ER_SCHEMA_DIR_MISSING=3679;exports2.ER_SCHEMA_DIR_CREATE_FAILED=3680;exports2.ER_SCHEMA_DIR_UNKNOWN=3681;exports2.ER_ONLY_IMPLEMENTED_FOR_SRID_0_AND_4326=3682;exports2.ER_BINLOG_EXPIRE_LOG_DAYS_AND_SECS_USED_TOGETHER=3683;exports2.ER_REGEXP_BUFFER_OVERFLOW=3684;exports2.ER_REGEXP_ILLEGAL_ARGUMENT=3685;exports2.ER_REGEXP_INDEX_OUTOFBOUNDS_ERROR=3686;exports2.ER_REGEXP_INTERNAL_ERROR=3687;exports2.ER_REGEXP_RULE_SYNTAX=3688;exports2.ER_REGEXP_BAD_ESCAPE_SEQUENCE=3689;exports2.ER_REGEXP_UNIMPLEMENTED=3690;exports2.ER_REGEXP_MISMATCHED_PAREN=3691;exports2.ER_REGEXP_BAD_INTERVAL=3692;exports2.ER_REGEXP_MAX_LT_MIN=3693;exports2.ER_REGEXP_INVALID_BACK_REF=3694;exports2.ER_REGEXP_LOOK_BEHIND_LIMIT=3695;exports2.ER_REGEXP_MISSING_CLOSE_BRACKET=3696;exports2.ER_REGEXP_INVALID_RANGE=3697;exports2.ER_REGEXP_STACK_OVERFLOW=3698;exports2.ER_REGEXP_TIME_OUT=3699;exports2.ER_REGEXP_PATTERN_TOO_BIG=3700;exports2.ER_CANT_SET_ERROR_LOG_SERVICE=3701;exports2.ER_EMPTY_PIPELINE_FOR_ERROR_LOG_SERVICE=3702;exports2.ER_COMPONENT_FILTER_DIAGNOSTICS=3703;exports2.ER_NOT_IMPLEMENTED_FOR_CARTESIAN_SRS=3704;exports2.ER_NOT_IMPLEMENTED_FOR_PROJECTED_SRS=3705;exports2.ER_NONPOSITIVE_RADIUS=3706;exports2.ER_RESTART_SERVER_FAILED=3707;exports2.ER_SRS_MISSING_MANDATORY_ATTRIBUTE=3708;exports2.ER_SRS_MULTIPLE_ATTRIBUTE_DEFINITIONS=3709;exports2.ER_SRS_NAME_CANT_BE_EMPTY_OR_WHITESPACE=3710;exports2.ER_SRS_ORGANIZATION_CANT_BE_EMPTY_OR_WHITESPACE=3711;exports2.ER_SRS_ID_ALREADY_EXISTS=3712;exports2.ER_WARN_SRS_ID_ALREADY_EXISTS=3713;exports2.ER_CANT_MODIFY_SRID_0=3714;exports2.ER_WARN_RESERVED_SRID_RANGE=3715;exports2.ER_CANT_MODIFY_SRS_USED_BY_COLUMN=3716;exports2.ER_SRS_INVALID_CHARACTER_IN_ATTRIBUTE=3717;exports2.ER_SRS_ATTRIBUTE_STRING_TOO_LONG=3718;exports2.ER_DEPRECATED_UTF8_ALIAS=3719;exports2.ER_DEPRECATED_NATIONAL=3720;exports2.ER_INVALID_DEFAULT_UTF8MB4_COLLATION=3721;exports2.ER_UNABLE_TO_COLLECT_LOG_STATUS=3722;exports2.ER_RESERVED_TABLESPACE_NAME=3723;exports2.ER_UNABLE_TO_SET_OPTION=3724;exports2.ER_REPLICA_POSSIBLY_DIVERGED_AFTER_DDL=3725;exports2.ER_SRS_NOT_GEOGRAPHIC=3726;exports2.ER_POLYGON_TOO_LARGE=3727;exports2.ER_SPATIAL_UNIQUE_INDEX=3728;exports2.ER_INDEX_TYPE_NOT_SUPPORTED_FOR_SPATIAL_INDEX=3729;exports2.ER_FK_CANNOT_DROP_PARENT=3730;exports2.ER_GEOMETRY_PARAM_LONGITUDE_OUT_OF_RANGE=3731;exports2.ER_GEOMETRY_PARAM_LATITUDE_OUT_OF_RANGE=3732;exports2.ER_FK_CANNOT_USE_VIRTUAL_COLUMN=3733;exports2.ER_FK_NO_COLUMN_PARENT=3734;exports2.ER_CANT_SET_ERROR_SUPPRESSION_LIST=3735;exports2.ER_SRS_GEOGCS_INVALID_AXES=3736;exports2.ER_SRS_INVALID_SEMI_MAJOR_AXIS=3737;exports2.ER_SRS_INVALID_INVERSE_FLATTENING=3738;exports2.ER_SRS_INVALID_ANGULAR_UNIT=3739;exports2.ER_SRS_INVALID_PRIME_MERIDIAN=3740;exports2.ER_TRANSFORM_SOURCE_SRS_NOT_SUPPORTED=3741;exports2.ER_TRANSFORM_TARGET_SRS_NOT_SUPPORTED=3742;exports2.ER_TRANSFORM_SOURCE_SRS_MISSING_TOWGS84=3743;exports2.ER_TRANSFORM_TARGET_SRS_MISSING_TOWGS84=3744;exports2.ER_TEMP_TABLE_PREVENTS_SWITCH_SESSION_BINLOG_FORMAT=3745;exports2.ER_TEMP_TABLE_PREVENTS_SWITCH_GLOBAL_BINLOG_FORMAT=3746;exports2.ER_RUNNING_APPLIER_PREVENTS_SWITCH_GLOBAL_BINLOG_FORMAT=3747;exports2.ER_CLIENT_GTID_UNSAFE_CREATE_DROP_TEMP_TABLE_IN_TRX_IN_SBR=3748;exports2.ER_XA_CANT_CREATE_MDL_BACKUP=3749;exports2.ER_TABLE_WITHOUT_PK=3750;exports2.ER_WARN_DATA_TRUNCATED_FUNCTIONAL_INDEX=3751;exports2.ER_WARN_DATA_OUT_OF_RANGE_FUNCTIONAL_INDEX=3752;exports2.ER_FUNCTIONAL_INDEX_ON_JSON_OR_GEOMETRY_FUNCTION=3753;exports2.ER_FUNCTIONAL_INDEX_REF_AUTO_INCREMENT=3754;exports2.ER_CANNOT_DROP_COLUMN_FUNCTIONAL_INDEX=3755;exports2.ER_FUNCTIONAL_INDEX_PRIMARY_KEY=3756;exports2.ER_FUNCTIONAL_INDEX_ON_LOB=3757;exports2.ER_FUNCTIONAL_INDEX_FUNCTION_IS_NOT_ALLOWED=3758;exports2.ER_FULLTEXT_FUNCTIONAL_INDEX=3759;exports2.ER_SPATIAL_FUNCTIONAL_INDEX=3760;exports2.ER_WRONG_KEY_COLUMN_FUNCTIONAL_INDEX=3761;exports2.ER_FUNCTIONAL_INDEX_ON_FIELD=3762;exports2.ER_GENERATED_COLUMN_NAMED_FUNCTION_IS_NOT_ALLOWED=3763;exports2.ER_GENERATED_COLUMN_ROW_VALUE=3764;exports2.ER_GENERATED_COLUMN_VARIABLES=3765;exports2.ER_DEPENDENT_BY_DEFAULT_GENERATED_VALUE=3766;exports2.ER_DEFAULT_VAL_GENERATED_NON_PRIOR=3767;exports2.ER_DEFAULT_VAL_GENERATED_REF_AUTO_INC=3768;exports2.ER_DEFAULT_VAL_GENERATED_FUNCTION_IS_NOT_ALLOWED=3769;exports2.ER_DEFAULT_VAL_GENERATED_NAMED_FUNCTION_IS_NOT_ALLOWED=3770;exports2.ER_DEFAULT_VAL_GENERATED_ROW_VALUE=3771;exports2.ER_DEFAULT_VAL_GENERATED_VARIABLES=3772;exports2.ER_DEFAULT_AS_VAL_GENERATED=3773;exports2.ER_UNSUPPORTED_ACTION_ON_DEFAULT_VAL_GENERATED=3774;exports2.ER_GTID_UNSAFE_ALTER_ADD_COL_WITH_DEFAULT_EXPRESSION=3775;exports2.ER_FK_CANNOT_CHANGE_ENGINE=3776;exports2.ER_WARN_DEPRECATED_USER_SET_EXPR=3777;exports2.ER_WARN_DEPRECATED_UTF8MB3_COLLATION=3778;exports2.ER_WARN_DEPRECATED_NESTED_COMMENT_SYNTAX=3779;exports2.ER_FK_INCOMPATIBLE_COLUMNS=3780;exports2.ER_GR_HOLD_WAIT_TIMEOUT=3781;exports2.ER_GR_HOLD_KILLED=3782;exports2.ER_GR_HOLD_MEMBER_STATUS_ERROR=3783;exports2.ER_RPL_ENCRYPTION_FAILED_TO_FETCH_KEY=3784;exports2.ER_RPL_ENCRYPTION_KEY_NOT_FOUND=3785;exports2.ER_RPL_ENCRYPTION_KEYRING_INVALID_KEY=3786;exports2.ER_RPL_ENCRYPTION_HEADER_ERROR=3787;exports2.ER_RPL_ENCRYPTION_FAILED_TO_ROTATE_LOGS=3788;exports2.ER_RPL_ENCRYPTION_KEY_EXISTS_UNEXPECTED=3789;exports2.ER_RPL_ENCRYPTION_FAILED_TO_GENERATE_KEY=3790;exports2.ER_RPL_ENCRYPTION_FAILED_TO_STORE_KEY=3791;exports2.ER_RPL_ENCRYPTION_FAILED_TO_REMOVE_KEY=3792;exports2.ER_RPL_ENCRYPTION_UNABLE_TO_CHANGE_OPTION=3793;exports2.ER_RPL_ENCRYPTION_MASTER_KEY_RECOVERY_FAILED=3794;exports2.ER_SLOW_LOG_MODE_IGNORED_WHEN_NOT_LOGGING_TO_FILE=3795;exports2.ER_GRP_TRX_CONSISTENCY_NOT_ALLOWED=3796;exports2.ER_GRP_TRX_CONSISTENCY_BEFORE=3797;exports2.ER_GRP_TRX_CONSISTENCY_AFTER_ON_TRX_BEGIN=3798;exports2.ER_GRP_TRX_CONSISTENCY_BEGIN_NOT_ALLOWED=3799;exports2.ER_FUNCTIONAL_INDEX_ROW_VALUE_IS_NOT_ALLOWED=3800;exports2.ER_RPL_ENCRYPTION_FAILED_TO_ENCRYPT=3801;exports2.ER_PAGE_TRACKING_NOT_STARTED=3802;exports2.ER_PAGE_TRACKING_RANGE_NOT_TRACKED=3803;exports2.ER_PAGE_TRACKING_CANNOT_PURGE=3804;exports2.ER_RPL_ENCRYPTION_CANNOT_ROTATE_BINLOG_MASTER_KEY=3805;exports2.ER_BINLOG_MASTER_KEY_RECOVERY_OUT_OF_COMBINATION=3806;exports2.ER_BINLOG_MASTER_KEY_ROTATION_FAIL_TO_OPERATE_KEY=3807;exports2.ER_BINLOG_MASTER_KEY_ROTATION_FAIL_TO_ROTATE_LOGS=3808;exports2.ER_BINLOG_MASTER_KEY_ROTATION_FAIL_TO_REENCRYPT_LOG=3809;exports2.ER_BINLOG_MASTER_KEY_ROTATION_FAIL_TO_CLEANUP_UNUSED_KEYS=3810;exports2.ER_BINLOG_MASTER_KEY_ROTATION_FAIL_TO_CLEANUP_AUX_KEY=3811;exports2.ER_NON_BOOLEAN_EXPR_FOR_CHECK_CONSTRAINT=3812;exports2.ER_COLUMN_CHECK_CONSTRAINT_REFERENCES_OTHER_COLUMN=3813;exports2.ER_CHECK_CONSTRAINT_NAMED_FUNCTION_IS_NOT_ALLOWED=3814;exports2.ER_CHECK_CONSTRAINT_FUNCTION_IS_NOT_ALLOWED=3815;exports2.ER_CHECK_CONSTRAINT_VARIABLES=3816;exports2.ER_CHECK_CONSTRAINT_ROW_VALUE=3817;exports2.ER_CHECK_CONSTRAINT_REFERS_AUTO_INCREMENT_COLUMN=3818;exports2.ER_CHECK_CONSTRAINT_VIOLATED=3819;exports2.ER_CHECK_CONSTRAINT_REFERS_UNKNOWN_COLUMN=3820;exports2.ER_CHECK_CONSTRAINT_NOT_FOUND=3821;exports2.ER_CHECK_CONSTRAINT_DUP_NAME=3822;exports2.ER_CHECK_CONSTRAINT_CLAUSE_USING_FK_REFER_ACTION_COLUMN=3823;exports2.WARN_UNENCRYPTED_TABLE_IN_ENCRYPTED_DB=3824;exports2.ER_INVALID_ENCRYPTION_REQUEST=3825;exports2.ER_CANNOT_SET_TABLE_ENCRYPTION=3826;exports2.ER_CANNOT_SET_DATABASE_ENCRYPTION=3827;exports2.ER_CANNOT_SET_TABLESPACE_ENCRYPTION=3828;exports2.ER_TABLESPACE_CANNOT_BE_ENCRYPTED=3829;exports2.ER_TABLESPACE_CANNOT_BE_DECRYPTED=3830;exports2.ER_TABLESPACE_TYPE_UNKNOWN=3831;exports2.ER_TARGET_TABLESPACE_UNENCRYPTED=3832;exports2.ER_CANNOT_USE_ENCRYPTION_CLAUSE=3833;exports2.ER_INVALID_MULTIPLE_CLAUSES=3834;exports2.ER_UNSUPPORTED_USE_OF_GRANT_AS=3835;exports2.ER_UKNOWN_AUTH_ID_OR_ACCESS_DENIED_FOR_GRANT_AS=3836;exports2.ER_DEPENDENT_BY_FUNCTIONAL_INDEX=3837;exports2.ER_PLUGIN_NOT_EARLY=3838;exports2.ER_INNODB_REDO_LOG_ARCHIVE_START_SUBDIR_PATH=3839;exports2.ER_INNODB_REDO_LOG_ARCHIVE_START_TIMEOUT=3840;exports2.ER_INNODB_REDO_LOG_ARCHIVE_DIRS_INVALID=3841;exports2.ER_INNODB_REDO_LOG_ARCHIVE_LABEL_NOT_FOUND=3842;exports2.ER_INNODB_REDO_LOG_ARCHIVE_DIR_EMPTY=3843;exports2.ER_INNODB_REDO_LOG_ARCHIVE_NO_SUCH_DIR=3844;exports2.ER_INNODB_REDO_LOG_ARCHIVE_DIR_CLASH=3845;exports2.ER_INNODB_REDO_LOG_ARCHIVE_DIR_PERMISSIONS=3846;exports2.ER_INNODB_REDO_LOG_ARCHIVE_FILE_CREATE=3847;exports2.ER_INNODB_REDO_LOG_ARCHIVE_ACTIVE=3848;exports2.ER_INNODB_REDO_LOG_ARCHIVE_INACTIVE=3849;exports2.ER_INNODB_REDO_LOG_ARCHIVE_FAILED=3850;exports2.ER_INNODB_REDO_LOG_ARCHIVE_SESSION=3851;exports2.ER_STD_REGEX_ERROR=3852;exports2.ER_INVALID_JSON_TYPE=3853;exports2.ER_CANNOT_CONVERT_STRING=3854;exports2.ER_DEPENDENT_BY_PARTITION_FUNC=3855;exports2.ER_WARN_DEPRECATED_FLOAT_AUTO_INCREMENT=3856;exports2.ER_RPL_CANT_STOP_REPLICA_WHILE_LOCKED_BACKUP=3857;exports2.ER_WARN_DEPRECATED_FLOAT_DIGITS=3858;exports2.ER_WARN_DEPRECATED_FLOAT_UNSIGNED=3859;exports2.ER_WARN_DEPRECATED_INTEGER_DISPLAY_WIDTH=3860;exports2.ER_WARN_DEPRECATED_ZEROFILL=3861;exports2.ER_CLONE_DONOR=3862;exports2.ER_CLONE_PROTOCOL=3863;exports2.ER_CLONE_DONOR_VERSION=3864;exports2.ER_CLONE_OS=3865;exports2.ER_CLONE_PLATFORM=3866;exports2.ER_CLONE_CHARSET=3867;exports2.ER_CLONE_CONFIG=3868;exports2.ER_CLONE_SYS_CONFIG=3869;exports2.ER_CLONE_PLUGIN_MATCH=3870;exports2.ER_CLONE_LOOPBACK=3871;exports2.ER_CLONE_ENCRYPTION=3872;exports2.ER_CLONE_DISK_SPACE=3873;exports2.ER_CLONE_IN_PROGRESS=3874;exports2.ER_CLONE_DISALLOWED=3875;exports2.ER_CANNOT_GRANT_ROLES_TO_ANONYMOUS_USER=3876;exports2.ER_SECONDARY_ENGINE_PLUGIN=3877;exports2.ER_SECOND_PASSWORD_CANNOT_BE_EMPTY=3878;exports2.ER_DB_ACCESS_DENIED=3879;exports2.ER_DA_AUTH_ID_WITH_SYSTEM_USER_PRIV_IN_MANDATORY_ROLES=3880;exports2.ER_DA_RPL_GTID_TABLE_CANNOT_OPEN=3881;exports2.ER_GEOMETRY_IN_UNKNOWN_LENGTH_UNIT=3882;exports2.ER_DA_PLUGIN_INSTALL_ERROR=3883;exports2.ER_NO_SESSION_TEMP=3884;exports2.ER_DA_UNKNOWN_ERROR_NUMBER=3885;exports2.ER_COLUMN_CHANGE_SIZE=3886;exports2.ER_REGEXP_INVALID_CAPTURE_GROUP_NAME=3887;exports2.ER_DA_SSL_LIBRARY_ERROR=3888;exports2.ER_SECONDARY_ENGINE=3889;exports2.ER_SECONDARY_ENGINE_DDL=3890;exports2.ER_INCORRECT_CURRENT_PASSWORD=3891;exports2.ER_MISSING_CURRENT_PASSWORD=3892;exports2.ER_CURRENT_PASSWORD_NOT_REQUIRED=3893;exports2.ER_PASSWORD_CANNOT_BE_RETAINED_ON_PLUGIN_CHANGE=3894;exports2.ER_CURRENT_PASSWORD_CANNOT_BE_RETAINED=3895;exports2.ER_PARTIAL_REVOKES_EXIST=3896;exports2.ER_CANNOT_GRANT_SYSTEM_PRIV_TO_MANDATORY_ROLE=3897;exports2.ER_XA_REPLICATION_FILTERS=3898;exports2.ER_UNSUPPORTED_SQL_MODE=3899;exports2.ER_REGEXP_INVALID_FLAG=3900;exports2.ER_PARTIAL_REVOKE_AND_DB_GRANT_BOTH_EXISTS=3901;exports2.ER_UNIT_NOT_FOUND=3902;exports2.ER_INVALID_JSON_VALUE_FOR_FUNC_INDEX=3903;exports2.ER_JSON_VALUE_OUT_OF_RANGE_FOR_FUNC_INDEX=3904;exports2.ER_EXCEEDED_MV_KEYS_NUM=3905;exports2.ER_EXCEEDED_MV_KEYS_SPACE=3906;exports2.ER_FUNCTIONAL_INDEX_DATA_IS_TOO_LONG=3907;exports2.ER_WRONG_MVI_VALUE=3908;exports2.ER_WARN_FUNC_INDEX_NOT_APPLICABLE=3909;exports2.ER_GRP_RPL_UDF_ERROR=3910;exports2.ER_UPDATE_GTID_PURGED_WITH_GR=3911;exports2.ER_GROUPING_ON_TIMESTAMP_IN_DST=3912;exports2.ER_TABLE_NAME_CAUSES_TOO_LONG_PATH=3913;exports2.ER_AUDIT_LOG_INSUFFICIENT_PRIVILEGE=3914;exports2.ER_AUDIT_LOG_PASSWORD_HAS_BEEN_COPIED=3915;exports2.ER_DA_GRP_RPL_STARTED_AUTO_REJOIN=3916;exports2.ER_SYSVAR_CHANGE_DURING_QUERY=3917;exports2.ER_GLOBSTAT_CHANGE_DURING_QUERY=3918;exports2.ER_GRP_RPL_MESSAGE_SERVICE_INIT_FAILURE=3919;exports2.ER_CHANGE_SOURCE_WRONG_COMPRESSION_ALGORITHM_CLIENT=3920;exports2.ER_CHANGE_SOURCE_WRONG_COMPRESSION_LEVEL_CLIENT=3921;exports2.ER_WRONG_COMPRESSION_ALGORITHM_CLIENT=3922;exports2.ER_WRONG_COMPRESSION_LEVEL_CLIENT=3923;exports2.ER_CHANGE_SOURCE_WRONG_COMPRESSION_ALGORITHM_LIST_CLIENT=3924;exports2.ER_CLIENT_PRIVILEGE_CHECKS_USER_CANNOT_BE_ANONYMOUS=3925;exports2.ER_CLIENT_PRIVILEGE_CHECKS_USER_DOES_NOT_EXIST=3926;exports2.ER_CLIENT_PRIVILEGE_CHECKS_USER_CORRUPT=3927;exports2.ER_CLIENT_PRIVILEGE_CHECKS_USER_NEEDS_RPL_APPLIER_PRIV=3928;exports2.ER_WARN_DA_PRIVILEGE_NOT_REGISTERED=3929;exports2.ER_CLIENT_KEYRING_UDF_KEY_INVALID=3930;exports2.ER_CLIENT_KEYRING_UDF_KEY_TYPE_INVALID=3931;exports2.ER_CLIENT_KEYRING_UDF_KEY_TOO_LONG=3932;exports2.ER_CLIENT_KEYRING_UDF_KEY_TYPE_TOO_LONG=3933;exports2.ER_JSON_SCHEMA_VALIDATION_ERROR_WITH_DETAILED_REPORT=3934;exports2.ER_DA_UDF_INVALID_CHARSET_SPECIFIED=3935;exports2.ER_DA_UDF_INVALID_CHARSET=3936;exports2.ER_DA_UDF_INVALID_COLLATION=3937;exports2.ER_DA_UDF_INVALID_EXTENSION_ARGUMENT_TYPE=3938;exports2.ER_MULTIPLE_CONSTRAINTS_WITH_SAME_NAME=3939;exports2.ER_CONSTRAINT_NOT_FOUND=3940;exports2.ER_ALTER_CONSTRAINT_ENFORCEMENT_NOT_SUPPORTED=3941;exports2.ER_TABLE_VALUE_CONSTRUCTOR_MUST_HAVE_COLUMNS=3942;exports2.ER_TABLE_VALUE_CONSTRUCTOR_CANNOT_HAVE_DEFAULT=3943;exports2.ER_CLIENT_QUERY_FAILURE_INVALID_NON_ROW_FORMAT=3944;exports2.ER_REQUIRE_ROW_FORMAT_INVALID_VALUE=3945;exports2.ER_FAILED_TO_DETERMINE_IF_ROLE_IS_MANDATORY=3946;exports2.ER_FAILED_TO_FETCH_MANDATORY_ROLE_LIST=3947;exports2.ER_CLIENT_LOCAL_FILES_DISABLED=3948;exports2.ER_IMP_INCOMPATIBLE_CFG_VERSION=3949;exports2.ER_DA_OOM=3950;exports2.ER_DA_UDF_INVALID_ARGUMENT_TO_SET_CHARSET=3951;exports2.ER_DA_UDF_INVALID_RETURN_TYPE_TO_SET_CHARSET=3952;exports2.ER_MULTIPLE_INTO_CLAUSES=3953;exports2.ER_MISPLACED_INTO=3954;exports2.ER_USER_ACCESS_DENIED_FOR_USER_ACCOUNT_BLOCKED_BY_PASSWORD_LOCK=3955;exports2.ER_WARN_DEPRECATED_YEAR_UNSIGNED=3956;exports2.ER_CLONE_NETWORK_PACKET=3957;exports2.ER_SDI_OPERATION_FAILED_MISSING_RECORD=3958;exports2.ER_DEPENDENT_BY_CHECK_CONSTRAINT=3959;exports2.ER_GRP_OPERATION_NOT_ALLOWED_GR_MUST_STOP=3960;exports2.ER_WARN_DEPRECATED_JSON_TABLE_ON_ERROR_ON_EMPTY=3961;exports2.ER_WARN_DEPRECATED_INNER_INTO=3962;exports2.ER_WARN_DEPRECATED_VALUES_FUNCTION_ALWAYS_NULL=3963;exports2.ER_WARN_DEPRECATED_SQL_CALC_FOUND_ROWS=3964;exports2.ER_WARN_DEPRECATED_FOUND_ROWS=3965;exports2.ER_MISSING_JSON_VALUE=3966;exports2.ER_MULTIPLE_JSON_VALUES=3967;exports2.ER_HOSTNAME_TOO_LONG=3968;exports2.ER_WARN_CLIENT_DEPRECATED_PARTITION_PREFIX_KEY=3969;exports2.ER_GROUP_REPLICATION_USER_EMPTY_MSG=3970;exports2.ER_GROUP_REPLICATION_USER_MANDATORY_MSG=3971;exports2.ER_GROUP_REPLICATION_PASSWORD_LENGTH=3972;exports2.ER_SUBQUERY_TRANSFORM_REJECTED=3973;exports2.ER_DA_GRP_RPL_RECOVERY_ENDPOINT_FORMAT=3974;exports2.ER_DA_GRP_RPL_RECOVERY_ENDPOINT_INVALID=3975;exports2.ER_WRONG_VALUE_FOR_VAR_PLUS_ACTIONABLE_PART=3976;exports2.ER_STATEMENT_NOT_ALLOWED_AFTER_START_TRANSACTION=3977;exports2.ER_FOREIGN_KEY_WITH_ATOMIC_CREATE_SELECT=3978;exports2.ER_NOT_ALLOWED_WITH_START_TRANSACTION=3979;exports2.ER_INVALID_JSON_ATTRIBUTE=3980;exports2.ER_ENGINE_ATTRIBUTE_NOT_SUPPORTED=3981;exports2.ER_INVALID_USER_ATTRIBUTE_JSON=3982;exports2.ER_INNODB_REDO_DISABLED=3983;exports2.ER_INNODB_REDO_ARCHIVING_ENABLED=3984;exports2.ER_MDL_OUT_OF_RESOURCES=3985;exports2.ER_IMPLICIT_COMPARISON_FOR_JSON=3986;exports2.ER_FUNCTION_DOES_NOT_SUPPORT_CHARACTER_SET=3987;exports2.ER_IMPOSSIBLE_STRING_CONVERSION=3988;exports2.ER_SCHEMA_READ_ONLY=3989;exports2.ER_RPL_ASYNC_RECONNECT_GTID_MODE_OFF=3990;exports2.ER_RPL_ASYNC_RECONNECT_AUTO_POSITION_OFF=3991;exports2.ER_DISABLE_GTID_MODE_REQUIRES_ASYNC_RECONNECT_OFF=3992;exports2.ER_DISABLE_AUTO_POSITION_REQUIRES_ASYNC_RECONNECT_OFF=3993;exports2.ER_INVALID_PARAMETER_USE=3994;exports2.ER_CHARACTER_SET_MISMATCH=3995;exports2.ER_WARN_VAR_VALUE_CHANGE_NOT_SUPPORTED=3996;exports2.ER_INVALID_TIME_ZONE_INTERVAL=3997;exports2.ER_INVALID_CAST=3998;exports2.ER_HYPERGRAPH_NOT_SUPPORTED_YET=3999;exports2.ER_WARN_HYPERGRAPH_EXPERIMENTAL=4e3;exports2.ER_DA_NO_ERROR_LOG_PARSER_CONFIGURED=4001;exports2.ER_DA_ERROR_LOG_TABLE_DISABLED=4002;exports2.ER_DA_ERROR_LOG_MULTIPLE_FILTERS=4003;exports2.ER_DA_CANT_OPEN_ERROR_LOG=4004;exports2.ER_USER_REFERENCED_AS_DEFINER=4005;exports2.ER_CANNOT_USER_REFERENCED_AS_DEFINER=4006;exports2.ER_REGEX_NUMBER_TOO_BIG=4007;exports2.ER_SPVAR_NONINTEGER_TYPE=4008;exports2.WARN_UNSUPPORTED_ACL_TABLES_READ=4009;exports2.ER_BINLOG_UNSAFE_ACL_TABLE_READ_IN_DML_DDL=4010;exports2.ER_STOP_REPLICA_MONITOR_IO_THREAD_TIMEOUT=4011;exports2.ER_STARTING_REPLICA_MONITOR_IO_THREAD=4012;exports2.ER_CANT_USE_ANONYMOUS_TO_GTID_WITH_GTID_MODE_NOT_ON=4013;exports2.ER_CANT_COMBINE_ANONYMOUS_TO_GTID_AND_AUTOPOSITION=4014;exports2.ER_ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS_REQUIRES_GTID_MODE_ON=4015;exports2.ER_SQL_REPLICA_SKIP_COUNTER_USED_WITH_GTID_MODE_ON=4016;exports2.ER_USING_ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS_AS_LOCAL_OR_UUID=4017;exports2.ER_CANT_SET_ANONYMOUS_TO_GTID_AND_WAIT_UNTIL_SQL_THD_AFTER_GTIDS=4018;exports2.ER_CANT_SET_SQL_AFTER_OR_BEFORE_GTIDS_WITH_ANONYMOUS_TO_GTID=4019;exports2.ER_ANONYMOUS_TO_GTID_UUID_SAME_AS_GROUP_NAME=4020;exports2.ER_CANT_USE_SAME_UUID_AS_GROUP_NAME=4021;exports2.ER_GRP_RPL_RECOVERY_CHANNEL_STILL_RUNNING=4022;exports2.ER_INNODB_INVALID_AUTOEXTEND_SIZE_VALUE=4023;exports2.ER_INNODB_INCOMPATIBLE_WITH_TABLESPACE=4024;exports2.ER_INNODB_AUTOEXTEND_SIZE_OUT_OF_RANGE=4025;exports2.ER_CANNOT_USE_AUTOEXTEND_SIZE_CLAUSE=4026;exports2.ER_ROLE_GRANTED_TO_ITSELF=4027;exports2.ER_TABLE_MUST_HAVE_A_VISIBLE_COLUMN=4028;exports2.ER_INNODB_COMPRESSION_FAILURE=4029;exports2.ER_WARN_ASYNC_CONN_FAILOVER_NETWORK_NAMESPACE=4030;exports2.ER_CLIENT_INTERACTION_TIMEOUT=4031;exports2.ER_INVALID_CAST_TO_GEOMETRY=4032;exports2.ER_INVALID_CAST_POLYGON_RING_DIRECTION=4033;exports2.ER_GIS_DIFFERENT_SRIDS_AGGREGATION=4034;exports2.ER_RELOAD_KEYRING_FAILURE=4035;exports2.ER_SDI_GET_KEYS_INVALID_TABLESPACE=4036;exports2.ER_CHANGE_RPL_SRC_WRONG_COMPRESSION_ALGORITHM_SIZE=4037;exports2.ER_WARN_DEPRECATED_TLS_VERSION_FOR_CHANNEL_CLI=4038;exports2.ER_CANT_USE_SAME_UUID_AS_VIEW_CHANGE_UUID=4039;exports2.ER_ANONYMOUS_TO_GTID_UUID_SAME_AS_VIEW_CHANGE_UUID=4040;exports2.ER_GRP_RPL_VIEW_CHANGE_UUID_FAIL_GET_VARIABLE=4041;exports2.ER_WARN_ADUIT_LOG_MAX_SIZE_AND_PRUNE_SECONDS=4042;exports2.ER_WARN_ADUIT_LOG_MAX_SIZE_CLOSE_TO_ROTATE_ON_SIZE=4043;exports2.ER_KERBEROS_CREATE_USER=4044;exports2.ER_INSTALL_PLUGIN_CONFLICT_CLIENT=4045;exports2.ER_DA_ERROR_LOG_COMPONENT_FLUSH_FAILED=4046;exports2.ER_WARN_SQL_AFTER_MTS_GAPS_GAP_NOT_CALCULATED=4047;exports2.ER_INVALID_ASSIGNMENT_TARGET=4048;exports2.ER_OPERATION_NOT_ALLOWED_ON_GR_SECONDARY=4049;exports2.ER_GRP_RPL_FAILOVER_CHANNEL_STATUS_PROPAGATION=4050;exports2.ER_WARN_AUDIT_LOG_FORMAT_UNIX_TIMESTAMP_ONLY_WHEN_JSON=4051;exports2.ER_INVALID_MFA_PLUGIN_SPECIFIED=4052;exports2.ER_IDENTIFIED_BY_UNSUPPORTED=4053;exports2.ER_INVALID_PLUGIN_FOR_REGISTRATION=4054;exports2.ER_PLUGIN_REQUIRES_REGISTRATION=4055;exports2.ER_MFA_METHOD_EXISTS=4056;exports2.ER_MFA_METHOD_NOT_EXISTS=4057;exports2.ER_AUTHENTICATION_POLICY_MISMATCH=4058;exports2.ER_PLUGIN_REGISTRATION_DONE=4059;exports2.ER_INVALID_USER_FOR_REGISTRATION=4060;exports2.ER_USER_REGISTRATION_FAILED=4061;exports2.ER_MFA_METHODS_INVALID_ORDER=4062;exports2.ER_MFA_METHODS_IDENTICAL=4063;exports2.ER_INVALID_MFA_OPERATIONS_FOR_PASSWORDLESS_USER=4064;exports2.ER_CHANGE_REPLICATION_SOURCE_NO_OPTIONS_FOR_GTID_ONLY=4065;exports2.ER_CHANGE_REP_SOURCE_CANT_DISABLE_REQ_ROW_FORMAT_WITH_GTID_ONLY=4066;exports2.ER_CHANGE_REP_SOURCE_CANT_DISABLE_AUTO_POSITION_WITH_GTID_ONLY=4067;exports2.ER_CHANGE_REP_SOURCE_CANT_DISABLE_GTID_ONLY_WITHOUT_POSITIONS=4068;exports2.ER_CHANGE_REP_SOURCE_CANT_DISABLE_AUTO_POS_WITHOUT_POSITIONS=4069;exports2.ER_CHANGE_REP_SOURCE_GR_CHANNEL_WITH_GTID_MODE_NOT_ON=4070;exports2.ER_CANT_USE_GTID_ONLY_WITH_GTID_MODE_NOT_ON=4071;exports2.ER_WARN_C_DISABLE_GTID_ONLY_WITH_SOURCE_AUTO_POS_INVALID_POS=4072;exports2.ER_DA_SSL_FIPS_MODE_ERROR=4073;exports2.ER_VALUE_OUT_OF_RANGE=4074;exports2.ER_FULLTEXT_WITH_ROLLUP=4075;exports2.ER_REGEXP_MISSING_RESOURCE=4076;exports2.ER_WARN_REGEXP_USING_DEFAULT=4077;exports2.ER_REGEXP_MISSING_FILE=4078;exports2.ER_WARN_DEPRECATED_COLLATION=4079;exports2.ER_CONCURRENT_PROCEDURE_USAGE=4080;exports2.ER_DA_GLOBAL_CONN_LIMIT=4081;exports2.ER_DA_CONN_LIMIT=4082;exports2.ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_COLUMN_TYPE_INSTANT=4083;exports2.ER_WARN_SF_UDF_NAME_COLLISION=4084;exports2.ER_CANNOT_PURGE_BINLOG_WITH_BACKUP_LOCK=4085;exports2.ER_TOO_MANY_WINDOWS=4086;exports2.ER_MYSQLBACKUP_CLIENT_MSG=4087;exports2.ER_COMMENT_CONTAINS_INVALID_STRING=4088;exports2.ER_DEFINITION_CONTAINS_INVALID_STRING=4089;exports2.ER_CANT_EXECUTE_COMMAND_WITH_ASSIGNED_GTID_NEXT=4090;exports2.ER_XA_TEMP_TABLE=4091;exports2.ER_INNODB_MAX_ROW_VERSION=4092;exports2.ER_INNODB_INSTANT_ADD_NOT_SUPPORTED_MAX_SIZE=4093;exports2.ER_OPERATION_NOT_ALLOWED_WHILE_PRIMARY_CHANGE_IS_RUNNING=4094;exports2.ER_WARN_DEPRECATED_DATETIME_DELIMITER=4095;exports2.ER_WARN_DEPRECATED_SUPERFLUOUS_DELIMITER=4096;exports2.ER_CANNOT_PERSIST_SENSITIVE_VARIABLES=4097;exports2.ER_WARN_CANNOT_SECURELY_PERSIST_SENSITIVE_VARIABLES=4098;exports2.ER_WARN_TRG_ALREADY_EXISTS=4099;exports2.ER_IF_NOT_EXISTS_UNSUPPORTED_TRG_EXISTS_ON_DIFFERENT_TABLE=4100;exports2.ER_IF_NOT_EXISTS_UNSUPPORTED_UDF_NATIVE_FCT_NAME_COLLISION=4101;exports2.ER_SET_PASSWORD_AUTH_PLUGIN_ERROR=4102;exports2.ER_REDUCED_DBLWR_FILE_CORRUPTED=4103;exports2.ER_REDUCED_DBLWR_PAGE_FOUND=4104;exports2.ER_SRS_INVALID_LATITUDE_OF_ORIGIN=4105;exports2.ER_SRS_INVALID_LONGITUDE_OF_ORIGIN=4106;exports2.ER_SRS_UNUSED_PROJ_PARAMETER_PRESENT=4107;exports2.ER_GIPK_COLUMN_EXISTS=4108;exports2.ER_GIPK_FAILED_AUTOINC_COLUMN_EXISTS=4109;exports2.ER_GIPK_COLUMN_ALTER_NOT_ALLOWED=4110;exports2.ER_DROP_PK_COLUMN_TO_DROP_GIPK=4111;exports2.ER_CREATE_SELECT_WITH_GIPK_DISALLOWED_IN_SBR=4112;exports2.ER_DA_EXPIRE_LOGS_DAYS_IGNORED=4113;exports2.ER_CTE_RECURSIVE_NOT_UNION=4114;exports2.ER_COMMAND_BACKEND_FAILED_TO_FETCH_SECURITY_CTX=4115;exports2.ER_COMMAND_SERVICE_BACKEND_FAILED=4116;exports2.ER_CLIENT_FILE_PRIVILEGE_FOR_REPLICATION_CHECKS=4117;exports2.ER_GROUP_REPLICATION_FORCE_MEMBERS_COMMAND_FAILURE=4118;exports2.ER_WARN_DEPRECATED_IDENT=4119;exports2.ER_INTERSECT_ALL_MAX_DUPLICATES_EXCEEDED=4120;exports2.ER_TP_QUERY_THRS_PER_GRP_EXCEEDS_TXN_THR_LIMIT=4121;exports2.ER_BAD_TIMESTAMP_FORMAT=4122;exports2.ER_SHAPE_PRIDICTION_UDF=4123;exports2.ER_SRS_INVALID_HEIGHT=4124;exports2.ER_SRS_INVALID_SCALING=4125;exports2.ER_SRS_INVALID_ZONE_WIDTH=4126;exports2.ER_SRS_INVALID_LATITUDE_POLAR_STERE_VAR_A=4127;exports2.ER_WARN_DEPRECATED_CLIENT_NO_SCHEMA_OPTION=4128;exports2.ER_TABLE_NOT_EMPTY=4129;exports2.ER_TABLE_NO_PRIMARY_KEY=4130;exports2.ER_TABLE_IN_SHARED_TABLESPACE=4131;exports2.ER_INDEX_OTHER_THAN_PK=4132;exports2.ER_LOAD_BULK_DATA_UNSORTED=4133;exports2.ER_BULK_EXECUTOR_ERROR=4134;exports2.ER_BULK_READER_LIBCURL_INIT_FAILED=4135;exports2.ER_BULK_READER_LIBCURL_ERROR=4136;exports2.ER_BULK_READER_SERVER_ERROR=4137;exports2.ER_BULK_READER_COMMUNICATION_ERROR=4138;exports2.ER_BULK_LOAD_DATA_FAILED=4139;exports2.ER_BULK_LOADER_COLUMN_TOO_BIG_FOR_LEFTOVER_BUFFER=4140;exports2.ER_BULK_LOADER_COMPONENT_ERROR=4141;exports2.ER_BULK_LOADER_FILE_CONTAINS_LESS_LINES_THAN_IGNORE_CLAUSE=4142;exports2.ER_BULK_PARSER_MISSING_ENCLOSED_BY=4143;exports2.ER_BULK_PARSER_ROW_BUFFER_MAX_TOTAL_COLS_EXCEEDED=4144;exports2.ER_BULK_PARSER_COPY_BUFFER_SIZE_EXCEEDED=4145;exports2.ER_BULK_PARSER_UNEXPECTED_END_OF_INPUT=4146;exports2.ER_BULK_PARSER_UNEXPECTED_ROW_TERMINATOR=4147;exports2.ER_BULK_PARSER_UNEXPECTED_CHAR_AFTER_ENDING_ENCLOSED_BY=4148;exports2.ER_BULK_PARSER_UNEXPECTED_CHAR_AFTER_NULL_ESCAPE=4149;exports2.ER_BULK_PARSER_UNEXPECTED_CHAR_AFTER_COLUMN_TERMINATOR=4150;exports2.ER_BULK_PARSER_INCOMPLETE_ESCAPE_SEQUENCE=4151;exports2.ER_LOAD_BULK_DATA_FAILED=4152;exports2.ER_LOAD_BULK_DATA_WRONG_VALUE_FOR_FIELD=4153;exports2.ER_LOAD_BULK_DATA_WARN_NULL_TO_NOTNULL=4154;exports2.ER_REQUIRE_TABLE_PRIMARY_KEY_CHECK_GENERATE_WITH_GR=4155;exports2.ER_CANT_CHANGE_SYS_VAR_IN_READ_ONLY_MODE=4156;exports2.ER_INNODB_INSTANT_ADD_DROP_NOT_SUPPORTED_MAX_SIZE=4157;exports2.ER_INNODB_INSTANT_ADD_NOT_SUPPORTED_MAX_FIELDS=4158;exports2.ER_CANT_SET_PERSISTED=4159;exports2.ER_INSTALL_COMPONENT_SET_NULL_VALUE=4160;exports2.ER_INSTALL_COMPONENT_SET_UNUSED_VALUE=4161;exports2.ER_WARN_DEPRECATED_USER_DEFINED_COLLATIONS=4162;exports2[1]="EE_CANTCREATEFILE";exports2[2]="EE_READ";exports2[3]="EE_WRITE";exports2[4]="EE_BADCLOSE";exports2[5]="EE_OUTOFMEMORY";exports2[6]="EE_DELETE";exports2[7]="EE_LINK";exports2[9]="EE_EOFERR";exports2[10]="EE_CANTLOCK";exports2[11]="EE_CANTUNLOCK";exports2[12]="EE_DIR";exports2[13]="EE_STAT";exports2[14]="EE_CANT_CHSIZE";exports2[15]="EE_CANT_OPEN_STREAM";exports2[16]="EE_GETWD";exports2[17]="EE_SETWD";exports2[18]="EE_LINK_WARNING";exports2[19]="EE_OPEN_WARNING";exports2[20]="EE_DISK_FULL";exports2[21]="EE_CANT_MKDIR";exports2[22]="EE_UNKNOWN_CHARSET";exports2[23]="EE_OUT_OF_FILERESOURCES";exports2[24]="EE_CANT_READLINK";exports2[25]="EE_CANT_SYMLINK";exports2[26]="EE_REALPATH";exports2[27]="EE_SYNC";exports2[28]="EE_UNKNOWN_COLLATION";exports2[29]="EE_FILENOTFOUND";exports2[30]="EE_FILE_NOT_CLOSED";exports2[31]="EE_CHANGE_OWNERSHIP";exports2[32]="EE_CHANGE_PERMISSIONS";exports2[33]="EE_CANT_SEEK";exports2[34]="EE_CAPACITY_EXCEEDED";exports2[35]="EE_DISK_FULL_WITH_RETRY_MSG";exports2[36]="EE_FAILED_TO_CREATE_TIMER";exports2[37]="EE_FAILED_TO_DELETE_TIMER";exports2[38]="EE_FAILED_TO_CREATE_TIMER_QUEUE";exports2[39]="EE_FAILED_TO_START_TIMER_NOTIFY_THREAD";exports2[40]="EE_FAILED_TO_CREATE_TIMER_NOTIFY_THREAD_INTERRUPT_EVENT";exports2[41]="EE_EXITING_TIMER_NOTIFY_THREAD";exports2[42]="EE_WIN_LIBRARY_LOAD_FAILED";exports2[43]="EE_WIN_RUN_TIME_ERROR_CHECK";exports2[44]="EE_FAILED_TO_DETERMINE_LARGE_PAGE_SIZE";exports2[45]="EE_FAILED_TO_KILL_ALL_THREADS";exports2[46]="EE_FAILED_TO_CREATE_IO_COMPLETION_PORT";exports2[47]="EE_FAILED_TO_OPEN_DEFAULTS_FILE";exports2[48]="EE_FAILED_TO_HANDLE_DEFAULTS_FILE";exports2[49]="EE_WRONG_DIRECTIVE_IN_CONFIG_FILE";exports2[50]="EE_SKIPPING_DIRECTIVE_DUE_TO_MAX_INCLUDE_RECURSION";exports2[51]="EE_INCORRECT_GRP_DEFINITION_IN_CONFIG_FILE";exports2[52]="EE_OPTION_WITHOUT_GRP_IN_CONFIG_FILE";exports2[53]="EE_CONFIG_FILE_PERMISSION_ERROR";exports2[54]="EE_IGNORE_WORLD_WRITABLE_CONFIG_FILE";exports2[55]="EE_USING_DISABLED_OPTION";exports2[56]="EE_USING_DISABLED_SHORT_OPTION";exports2[57]="EE_USING_PASSWORD_ON_CLI_IS_INSECURE";exports2[58]="EE_UNKNOWN_SUFFIX_FOR_VARIABLE";exports2[59]="EE_SSL_ERROR_FROM_FILE";exports2[60]="EE_SSL_ERROR";exports2[61]="EE_NET_SEND_ERROR_IN_BOOTSTRAP";exports2[62]="EE_PACKETS_OUT_OF_ORDER";exports2[63]="EE_UNKNOWN_PROTOCOL_OPTION";exports2[64]="EE_FAILED_TO_LOCATE_SERVER_PUBLIC_KEY";exports2[65]="EE_PUBLIC_KEY_NOT_IN_PEM_FORMAT";exports2[66]="EE_DEBUG_INFO";exports2[67]="EE_UNKNOWN_VARIABLE";exports2[68]="EE_UNKNOWN_OPTION";exports2[69]="EE_UNKNOWN_SHORT_OPTION";exports2[70]="EE_OPTION_WITHOUT_ARGUMENT";exports2[71]="EE_OPTION_REQUIRES_ARGUMENT";exports2[72]="EE_SHORT_OPTION_REQUIRES_ARGUMENT";exports2[73]="EE_OPTION_IGNORED_DUE_TO_INVALID_VALUE";exports2[74]="EE_OPTION_WITH_EMPTY_VALUE";exports2[75]="EE_FAILED_TO_ASSIGN_MAX_VALUE_TO_OPTION";exports2[76]="EE_INCORRECT_BOOLEAN_VALUE_FOR_OPTION";exports2[77]="EE_FAILED_TO_SET_OPTION_VALUE";exports2[78]="EE_INCORRECT_INT_VALUE_FOR_OPTION";exports2[79]="EE_INCORRECT_UINT_VALUE_FOR_OPTION";exports2[80]="EE_ADJUSTED_SIGNED_VALUE_FOR_OPTION";exports2[81]="EE_ADJUSTED_UNSIGNED_VALUE_FOR_OPTION";exports2[82]="EE_ADJUSTED_ULONGLONG_VALUE_FOR_OPTION";exports2[83]="EE_ADJUSTED_DOUBLE_VALUE_FOR_OPTION";exports2[84]="EE_INVALID_DECIMAL_VALUE_FOR_OPTION";exports2[85]="EE_COLLATION_PARSER_ERROR";exports2[86]="EE_FAILED_TO_RESET_BEFORE_PRIMARY_IGNORABLE_CHAR";exports2[87]="EE_FAILED_TO_RESET_BEFORE_TERTIARY_IGNORABLE_CHAR";exports2[88]="EE_SHIFT_CHAR_OUT_OF_RANGE";exports2[89]="EE_RESET_CHAR_OUT_OF_RANGE";exports2[90]="EE_UNKNOWN_LDML_TAG";exports2[91]="EE_FAILED_TO_RESET_BEFORE_SECONDARY_IGNORABLE_CHAR";exports2[92]="EE_FAILED_PROCESSING_DIRECTIVE";exports2[93]="EE_PTHREAD_KILL_FAILED";exports2[120]="HA_ERR_KEY_NOT_FOUND";exports2[121]="HA_ERR_FOUND_DUPP_KEY";exports2[122]="HA_ERR_INTERNAL_ERROR";exports2[123]="HA_ERR_RECORD_CHANGED";exports2[124]="HA_ERR_WRONG_INDEX";exports2[125]="HA_ERR_ROLLED_BACK";exports2[126]="HA_ERR_CRASHED";exports2[127]="HA_ERR_WRONG_IN_RECORD";exports2[128]="HA_ERR_OUT_OF_MEM";exports2[130]="HA_ERR_NOT_A_TABLE";exports2[131]="HA_ERR_WRONG_COMMAND";exports2[132]="HA_ERR_OLD_FILE";exports2[133]="HA_ERR_NO_ACTIVE_RECORD";exports2[134]="HA_ERR_RECORD_DELETED";exports2[135]="HA_ERR_RECORD_FILE_FULL";exports2[136]="HA_ERR_INDEX_FILE_FULL";exports2[137]="HA_ERR_END_OF_FILE";exports2[138]="HA_ERR_UNSUPPORTED";exports2[139]="HA_ERR_TOO_BIG_ROW";exports2[140]="HA_WRONG_CREATE_OPTION";exports2[141]="HA_ERR_FOUND_DUPP_UNIQUE";exports2[142]="HA_ERR_UNKNOWN_CHARSET";exports2[143]="HA_ERR_WRONG_MRG_TABLE_DEF";exports2[144]="HA_ERR_CRASHED_ON_REPAIR";exports2[145]="HA_ERR_CRASHED_ON_USAGE";exports2[146]="HA_ERR_LOCK_WAIT_TIMEOUT";exports2[147]="HA_ERR_LOCK_TABLE_FULL";exports2[148]="HA_ERR_READ_ONLY_TRANSACTION";exports2[149]="HA_ERR_LOCK_DEADLOCK";exports2[150]="HA_ERR_CANNOT_ADD_FOREIGN";exports2[151]="HA_ERR_NO_REFERENCED_ROW";exports2[152]="HA_ERR_ROW_IS_REFERENCED";exports2[153]="HA_ERR_NO_SAVEPOINT";exports2[154]="HA_ERR_NON_UNIQUE_BLOCK_SIZE";exports2[155]="HA_ERR_NO_SUCH_TABLE";exports2[156]="HA_ERR_TABLE_EXIST";exports2[157]="HA_ERR_NO_CONNECTION";exports2[158]="HA_ERR_NULL_IN_SPATIAL";exports2[159]="HA_ERR_TABLE_DEF_CHANGED";exports2[160]="HA_ERR_NO_PARTITION_FOUND";exports2[161]="HA_ERR_RBR_LOGGING_FAILED";exports2[162]="HA_ERR_DROP_INDEX_FK";exports2[163]="HA_ERR_FOREIGN_DUPLICATE_KEY";exports2[164]="HA_ERR_TABLE_NEEDS_UPGRADE";exports2[165]="HA_ERR_TABLE_READONLY";exports2[166]="HA_ERR_AUTOINC_READ_FAILED";exports2[167]="HA_ERR_AUTOINC_ERANGE";exports2[168]="HA_ERR_GENERIC";exports2[169]="HA_ERR_RECORD_IS_THE_SAME";exports2[170]="HA_ERR_LOGGING_IMPOSSIBLE";exports2[171]="HA_ERR_CORRUPT_EVENT";exports2[172]="HA_ERR_NEW_FILE";exports2[173]="HA_ERR_ROWS_EVENT_APPLY";exports2[174]="HA_ERR_INITIALIZATION";exports2[175]="HA_ERR_FILE_TOO_SHORT";exports2[176]="HA_ERR_WRONG_CRC";exports2[177]="HA_ERR_TOO_MANY_CONCURRENT_TRXS";exports2[178]="HA_ERR_NOT_IN_LOCK_PARTITIONS";exports2[179]="HA_ERR_INDEX_COL_TOO_LONG";exports2[180]="HA_ERR_INDEX_CORRUPT";exports2[181]="HA_ERR_UNDO_REC_TOO_BIG";exports2[182]="HA_FTS_INVALID_DOCID";exports2[183]="HA_ERR_TABLE_IN_FK_CHECK";exports2[184]="HA_ERR_TABLESPACE_EXISTS";exports2[185]="HA_ERR_TOO_MANY_FIELDS";exports2[186]="HA_ERR_ROW_IN_WRONG_PARTITION";exports2[187]="HA_ERR_INNODB_READ_ONLY";exports2[188]="HA_ERR_FTS_EXCEED_RESULT_CACHE_LIMIT";exports2[189]="HA_ERR_TEMP_FILE_WRITE_FAILURE";exports2[190]="HA_ERR_INNODB_FORCED_RECOVERY";exports2[191]="HA_ERR_FTS_TOO_MANY_WORDS_IN_PHRASE";exports2[192]="HA_ERR_FK_DEPTH_EXCEEDED";exports2[193]="HA_MISSING_CREATE_OPTION";exports2[194]="HA_ERR_SE_OUT_OF_MEMORY";exports2[195]="HA_ERR_TABLE_CORRUPT";exports2[196]="HA_ERR_QUERY_INTERRUPTED";exports2[197]="HA_ERR_TABLESPACE_MISSING";exports2[198]="HA_ERR_TABLESPACE_IS_NOT_EMPTY";exports2[199]="HA_ERR_WRONG_FILE_NAME";exports2[200]="HA_ERR_NOT_ALLOWED_COMMAND";exports2[201]="HA_ERR_COMPUTE_FAILED";exports2[202]="HA_ERR_ROW_FORMAT_CHANGED";exports2[203]="HA_ERR_NO_WAIT_LOCK";exports2[204]="HA_ERR_DISK_FULL_NOWAIT";exports2[205]="HA_ERR_NO_SESSION_TEMP";exports2[206]="HA_ERR_WRONG_TABLE_NAME";exports2[207]="HA_ERR_TOO_LONG_PATH";exports2[208]="HA_ERR_SAMPLING_INIT_FAILED";exports2[209]="HA_ERR_FTS_TOO_MANY_NESTED_EXP";exports2[1e3]="ER_HASHCHK";exports2[1001]="ER_NISAMCHK";exports2[1002]="ER_NO";exports2[1003]="ER_YES";exports2[1004]="ER_CANT_CREATE_FILE";exports2[1005]="ER_CANT_CREATE_TABLE";exports2[1006]="ER_CANT_CREATE_DB";exports2[1007]="ER_DB_CREATE_EXISTS";exports2[1008]="ER_DB_DROP_EXISTS";exports2[1009]="ER_DB_DROP_DELETE";exports2[1010]="ER_DB_DROP_RMDIR";exports2[1011]="ER_CANT_DELETE_FILE";exports2[1012]="ER_CANT_FIND_SYSTEM_REC";exports2[1013]="ER_CANT_GET_STAT";exports2[1014]="ER_CANT_GET_WD";exports2[1015]="ER_CANT_LOCK";exports2[1016]="ER_CANT_OPEN_FILE";exports2[1017]="ER_FILE_NOT_FOUND";exports2[1018]="ER_CANT_READ_DIR";exports2[1019]="ER_CANT_SET_WD";exports2[1020]="ER_CHECKREAD";exports2[1021]="ER_DISK_FULL";exports2[1022]="ER_DUP_KEY";exports2[1023]="ER_ERROR_ON_CLOSE";exports2[1024]="ER_ERROR_ON_READ";exports2[1025]="ER_ERROR_ON_RENAME";exports2[1026]="ER_ERROR_ON_WRITE";exports2[1027]="ER_FILE_USED";exports2[1028]="ER_FILSORT_ABORT";exports2[1029]="ER_FORM_NOT_FOUND";exports2[1030]="ER_GET_ERRNO";exports2[1031]="ER_ILLEGAL_HA";exports2[1032]="ER_KEY_NOT_FOUND";exports2[1033]="ER_NOT_FORM_FILE";exports2[1034]="ER_NOT_KEYFILE";exports2[1035]="ER_OLD_KEYFILE";exports2[1036]="ER_OPEN_AS_READONLY";exports2[1037]="ER_OUTOFMEMORY";exports2[1038]="ER_OUT_OF_SORTMEMORY";exports2[1039]="ER_UNEXPECTED_EOF";exports2[1040]="ER_CON_COUNT_ERROR";exports2[1041]="ER_OUT_OF_RESOURCES";exports2[1042]="ER_BAD_HOST_ERROR";exports2[1043]="ER_HANDSHAKE_ERROR";exports2[1044]="ER_DBACCESS_DENIED_ERROR";exports2[1045]="ER_ACCESS_DENIED_ERROR";exports2[1046]="ER_NO_DB_ERROR";exports2[1047]="ER_UNKNOWN_COM_ERROR";exports2[1048]="ER_BAD_NULL_ERROR";exports2[1049]="ER_BAD_DB_ERROR";exports2[1050]="ER_TABLE_EXISTS_ERROR";exports2[1051]="ER_BAD_TABLE_ERROR";exports2[1052]="ER_NON_UNIQ_ERROR";exports2[1053]="ER_SERVER_SHUTDOWN";exports2[1054]="ER_BAD_FIELD_ERROR";exports2[1055]="ER_WRONG_FIELD_WITH_GROUP";exports2[1056]="ER_WRONG_GROUP_FIELD";exports2[1057]="ER_WRONG_SUM_SELECT";exports2[1058]="ER_WRONG_VALUE_COUNT";exports2[1059]="ER_TOO_LONG_IDENT";exports2[1060]="ER_DUP_FIELDNAME";exports2[1061]="ER_DUP_KEYNAME";exports2[1062]="ER_DUP_ENTRY";exports2[1063]="ER_WRONG_FIELD_SPEC";exports2[1064]="ER_PARSE_ERROR";exports2[1065]="ER_EMPTY_QUERY";exports2[1066]="ER_NONUNIQ_TABLE";exports2[1067]="ER_INVALID_DEFAULT";exports2[1068]="ER_MULTIPLE_PRI_KEY";exports2[1069]="ER_TOO_MANY_KEYS";exports2[1070]="ER_TOO_MANY_KEY_PARTS";exports2[1071]="ER_TOO_LONG_KEY";exports2[1072]="ER_KEY_COLUMN_DOES_NOT_EXITS";exports2[1073]="ER_BLOB_USED_AS_KEY";exports2[1074]="ER_TOO_BIG_FIELDLENGTH";exports2[1075]="ER_WRONG_AUTO_KEY";exports2[1076]="ER_READY";exports2[1077]="ER_NORMAL_SHUTDOWN";exports2[1078]="ER_GOT_SIGNAL";exports2[1079]="ER_SHUTDOWN_COMPLETE";exports2[1080]="ER_FORCING_CLOSE";exports2[1081]="ER_IPSOCK_ERROR";exports2[1082]="ER_NO_SUCH_INDEX";exports2[1083]="ER_WRONG_FIELD_TERMINATORS";exports2[1084]="ER_BLOBS_AND_NO_TERMINATED";exports2[1085]="ER_TEXTFILE_NOT_READABLE";exports2[1086]="ER_FILE_EXISTS_ERROR";exports2[1087]="ER_LOAD_INFO";exports2[1088]="ER_ALTER_INFO";exports2[1089]="ER_WRONG_SUB_KEY";exports2[1090]="ER_CANT_REMOVE_ALL_FIELDS";exports2[1091]="ER_CANT_DROP_FIELD_OR_KEY";exports2[1092]="ER_INSERT_INFO";exports2[1093]="ER_UPDATE_TABLE_USED";exports2[1094]="ER_NO_SUCH_THREAD";exports2[1095]="ER_KILL_DENIED_ERROR";exports2[1096]="ER_NO_TABLES_USED";exports2[1097]="ER_TOO_BIG_SET";exports2[1098]="ER_NO_UNIQUE_LOGFILE";exports2[1099]="ER_TABLE_NOT_LOCKED_FOR_WRITE";exports2[1100]="ER_TABLE_NOT_LOCKED";exports2[1101]="ER_BLOB_CANT_HAVE_DEFAULT";exports2[1102]="ER_WRONG_DB_NAME";exports2[1103]="ER_WRONG_TABLE_NAME";exports2[1104]="ER_TOO_BIG_SELECT";exports2[1105]="ER_UNKNOWN_ERROR";exports2[1106]="ER_UNKNOWN_PROCEDURE";exports2[1107]="ER_WRONG_PARAMCOUNT_TO_PROCEDURE";exports2[1108]="ER_WRONG_PARAMETERS_TO_PROCEDURE";exports2[1109]="ER_UNKNOWN_TABLE";exports2[1110]="ER_FIELD_SPECIFIED_TWICE";exports2[1111]="ER_INVALID_GROUP_FUNC_USE";exports2[1112]="ER_UNSUPPORTED_EXTENSION";exports2[1113]="ER_TABLE_MUST_HAVE_COLUMNS";exports2[1114]="ER_RECORD_FILE_FULL";exports2[1115]="ER_UNKNOWN_CHARACTER_SET";exports2[1116]="ER_TOO_MANY_TABLES";exports2[1117]="ER_TOO_MANY_FIELDS";exports2[1118]="ER_TOO_BIG_ROWSIZE";exports2[1119]="ER_STACK_OVERRUN";exports2[1120]="ER_WRONG_OUTER_JOIN";exports2[1121]="ER_NULL_COLUMN_IN_INDEX";exports2[1122]="ER_CANT_FIND_UDF";exports2[1123]="ER_CANT_INITIALIZE_UDF";exports2[1124]="ER_UDF_NO_PATHS";exports2[1125]="ER_UDF_EXISTS";exports2[1126]="ER_CANT_OPEN_LIBRARY";exports2[1127]="ER_CANT_FIND_DL_ENTRY";exports2[1128]="ER_FUNCTION_NOT_DEFINED";exports2[1129]="ER_HOST_IS_BLOCKED";exports2[1130]="ER_HOST_NOT_PRIVILEGED";exports2[1131]="ER_PASSWORD_ANONYMOUS_USER";exports2[1132]="ER_PASSWORD_NOT_ALLOWED";exports2[1133]="ER_PASSWORD_NO_MATCH";exports2[1134]="ER_UPDATE_INFO";exports2[1135]="ER_CANT_CREATE_THREAD";exports2[1136]="ER_WRONG_VALUE_COUNT_ON_ROW";exports2[1137]="ER_CANT_REOPEN_TABLE";exports2[1138]="ER_INVALID_USE_OF_NULL";exports2[1139]="ER_REGEXP_ERROR";exports2[1140]="ER_MIX_OF_GROUP_FUNC_AND_FIELDS";exports2[1141]="ER_NONEXISTING_GRANT";exports2[1142]="ER_TABLEACCESS_DENIED_ERROR";exports2[1143]="ER_COLUMNACCESS_DENIED_ERROR";exports2[1144]="ER_ILLEGAL_GRANT_FOR_TABLE";exports2[1145]="ER_GRANT_WRONG_HOST_OR_USER";exports2[1146]="ER_NO_SUCH_TABLE";exports2[1147]="ER_NONEXISTING_TABLE_GRANT";exports2[1148]="ER_NOT_ALLOWED_COMMAND";exports2[1149]="ER_SYNTAX_ERROR";exports2[1150]="ER_UNUSED1";exports2[1151]="ER_UNUSED2";exports2[1152]="ER_ABORTING_CONNECTION";exports2[1153]="ER_NET_PACKET_TOO_LARGE";exports2[1154]="ER_NET_READ_ERROR_FROM_PIPE";exports2[1155]="ER_NET_FCNTL_ERROR";exports2[1156]="ER_NET_PACKETS_OUT_OF_ORDER";exports2[1157]="ER_NET_UNCOMPRESS_ERROR";exports2[1158]="ER_NET_READ_ERROR";exports2[1159]="ER_NET_READ_INTERRUPTED";exports2[1160]="ER_NET_ERROR_ON_WRITE";exports2[1161]="ER_NET_WRITE_INTERRUPTED";exports2[1162]="ER_TOO_LONG_STRING";exports2[1163]="ER_TABLE_CANT_HANDLE_BLOB";exports2[1164]="ER_TABLE_CANT_HANDLE_AUTO_INCREMENT";exports2[1165]="ER_UNUSED3";exports2[1166]="ER_WRONG_COLUMN_NAME";exports2[1167]="ER_WRONG_KEY_COLUMN";exports2[1168]="ER_WRONG_MRG_TABLE";exports2[1169]="ER_DUP_UNIQUE";exports2[1170]="ER_BLOB_KEY_WITHOUT_LENGTH";exports2[1171]="ER_PRIMARY_CANT_HAVE_NULL";exports2[1172]="ER_TOO_MANY_ROWS";exports2[1173]="ER_REQUIRES_PRIMARY_KEY";exports2[1174]="ER_NO_RAID_COMPILED";exports2[1175]="ER_UPDATE_WITHOUT_KEY_IN_SAFE_MODE";exports2[1176]="ER_KEY_DOES_NOT_EXITS";exports2[1177]="ER_CHECK_NO_SUCH_TABLE";exports2[1178]="ER_CHECK_NOT_IMPLEMENTED";exports2[1179]="ER_CANT_DO_THIS_DURING_AN_TRANSACTION";exports2[1180]="ER_ERROR_DURING_COMMIT";exports2[1181]="ER_ERROR_DURING_ROLLBACK";exports2[1182]="ER_ERROR_DURING_FLUSH_LOGS";exports2[1183]="ER_ERROR_DURING_CHECKPOINT";exports2[1184]="ER_NEW_ABORTING_CONNECTION";exports2[1185]="ER_DUMP_NOT_IMPLEMENTED";exports2[1186]="ER_FLUSH_MASTER_BINLOG_CLOSED";exports2[1187]="ER_INDEX_REBUILD";exports2[1188]="ER_SOURCE";exports2[1189]="ER_SOURCE_NET_READ";exports2[1190]="ER_SOURCE_NET_WRITE";exports2[1191]="ER_FT_MATCHING_KEY_NOT_FOUND";exports2[1192]="ER_LOCK_OR_ACTIVE_TRANSACTION";exports2[1193]="ER_UNKNOWN_SYSTEM_VARIABLE";exports2[1194]="ER_CRASHED_ON_USAGE";exports2[1195]="ER_CRASHED_ON_REPAIR";exports2[1196]="ER_WARNING_NOT_COMPLETE_ROLLBACK";exports2[1197]="ER_TRANS_CACHE_FULL";exports2[1198]="ER_SLAVE_MUST_STOP";exports2[1199]="ER_REPLICA_NOT_RUNNING";exports2[1200]="ER_BAD_REPLICA";exports2[1201]="ER_CONNECTION_METADATA";exports2[1202]="ER_REPLICA_THREAD";exports2[1203]="ER_TOO_MANY_USER_CONNECTIONS";exports2[1204]="ER_SET_CONSTANTS_ONLY";exports2[1205]="ER_LOCK_WAIT_TIMEOUT";exports2[1206]="ER_LOCK_TABLE_FULL";exports2[1207]="ER_READ_ONLY_TRANSACTION";exports2[1208]="ER_DROP_DB_WITH_READ_LOCK";exports2[1209]="ER_CREATE_DB_WITH_READ_LOCK";exports2[1210]="ER_WRONG_ARGUMENTS";exports2[1211]="ER_NO_PERMISSION_TO_CREATE_USER";exports2[1212]="ER_UNION_TABLES_IN_DIFFERENT_DIR";exports2[1213]="ER_LOCK_DEADLOCK";exports2[1214]="ER_TABLE_CANT_HANDLE_FT";exports2[1215]="ER_CANNOT_ADD_FOREIGN";exports2[1216]="ER_NO_REFERENCED_ROW";exports2[1217]="ER_ROW_IS_REFERENCED";exports2[1218]="ER_CONNECT_TO_SOURCE";exports2[1219]="ER_QUERY_ON_MASTER";exports2[1220]="ER_ERROR_WHEN_EXECUTING_COMMAND";exports2[1221]="ER_WRONG_USAGE";exports2[1222]="ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT";exports2[1223]="ER_CANT_UPDATE_WITH_READLOCK";exports2[1224]="ER_MIXING_NOT_ALLOWED";exports2[1225]="ER_DUP_ARGUMENT";exports2[1226]="ER_USER_LIMIT_REACHED";exports2[1227]="ER_SPECIFIC_ACCESS_DENIED_ERROR";exports2[1228]="ER_LOCAL_VARIABLE";exports2[1229]="ER_GLOBAL_VARIABLE";exports2[1230]="ER_NO_DEFAULT";exports2[1231]="ER_WRONG_VALUE_FOR_VAR";exports2[1232]="ER_WRONG_TYPE_FOR_VAR";exports2[1233]="ER_VAR_CANT_BE_READ";exports2[1234]="ER_CANT_USE_OPTION_HERE";exports2[1235]="ER_NOT_SUPPORTED_YET";exports2[1236]="ER_SOURCE_FATAL_ERROR_READING_BINLOG";exports2[1237]="ER_REPLICA_IGNORED_TABLE";exports2[1238]="ER_INCORRECT_GLOBAL_LOCAL_VAR";exports2[1239]="ER_WRONG_FK_DEF";exports2[1240]="ER_KEY_REF_DO_NOT_MATCH_TABLE_REF";exports2[1241]="ER_OPERAND_COLUMNS";exports2[1242]="ER_SUBQUERY_NO_1_ROW";exports2[1243]="ER_UNKNOWN_STMT_HANDLER";exports2[1244]="ER_CORRUPT_HELP_DB";exports2[1245]="ER_CYCLIC_REFERENCE";exports2[1246]="ER_AUTO_CONVERT";exports2[1247]="ER_ILLEGAL_REFERENCE";exports2[1248]="ER_DERIVED_MUST_HAVE_ALIAS";exports2[1249]="ER_SELECT_REDUCED";exports2[1250]="ER_TABLENAME_NOT_ALLOWED_HERE";exports2[1251]="ER_NOT_SUPPORTED_AUTH_MODE";exports2[1252]="ER_SPATIAL_CANT_HAVE_NULL";exports2[1253]="ER_COLLATION_CHARSET_MISMATCH";exports2[1254]="ER_SLAVE_WAS_RUNNING";exports2[1255]="ER_SLAVE_WAS_NOT_RUNNING";exports2[1256]="ER_TOO_BIG_FOR_UNCOMPRESS";exports2[1257]="ER_ZLIB_Z_MEM_ERROR";exports2[1258]="ER_ZLIB_Z_BUF_ERROR";exports2[1259]="ER_ZLIB_Z_DATA_ERROR";exports2[1260]="ER_CUT_VALUE_GROUP_CONCAT";exports2[1261]="ER_WARN_TOO_FEW_RECORDS";exports2[1262]="ER_WARN_TOO_MANY_RECORDS";exports2[1263]="ER_WARN_NULL_TO_NOTNULL";exports2[1264]="ER_WARN_DATA_OUT_OF_RANGE";exports2[1265]="WARN_DATA_TRUNCATED";exports2[1266]="ER_WARN_USING_OTHER_HANDLER";exports2[1267]="ER_CANT_AGGREGATE_2COLLATIONS";exports2[1268]="ER_DROP_USER";exports2[1269]="ER_REVOKE_GRANTS";exports2[1270]="ER_CANT_AGGREGATE_3COLLATIONS";exports2[1271]="ER_CANT_AGGREGATE_NCOLLATIONS";exports2[1272]="ER_VARIABLE_IS_NOT_STRUCT";exports2[1273]="ER_UNKNOWN_COLLATION";exports2[1274]="ER_REPLICA_IGNORED_SSL_PARAMS";exports2[1275]="ER_SERVER_IS_IN_SECURE_AUTH_MODE";exports2[1276]="ER_WARN_FIELD_RESOLVED";exports2[1277]="ER_BAD_REPLICA_UNTIL_COND";exports2[1278]="ER_MISSING_SKIP_REPLICA";exports2[1279]="ER_UNTIL_COND_IGNORED";exports2[1280]="ER_WRONG_NAME_FOR_INDEX";exports2[1281]="ER_WRONG_NAME_FOR_CATALOG";exports2[1282]="ER_WARN_QC_RESIZE";exports2[1283]="ER_BAD_FT_COLUMN";exports2[1284]="ER_UNKNOWN_KEY_CACHE";exports2[1285]="ER_WARN_HOSTNAME_WONT_WORK";exports2[1286]="ER_UNKNOWN_STORAGE_ENGINE";exports2[1287]="ER_WARN_DEPRECATED_SYNTAX";exports2[1288]="ER_NON_UPDATABLE_TABLE";exports2[1289]="ER_FEATURE_DISABLED";exports2[1290]="ER_OPTION_PREVENTS_STATEMENT";exports2[1291]="ER_DUPLICATED_VALUE_IN_TYPE";exports2[1292]="ER_TRUNCATED_WRONG_VALUE";exports2[1293]="ER_TOO_MUCH_AUTO_TIMESTAMP_COLS";exports2[1294]="ER_INVALID_ON_UPDATE";exports2[1295]="ER_UNSUPPORTED_PS";exports2[1296]="ER_GET_ERRMSG";exports2[1297]="ER_GET_TEMPORARY_ERRMSG";exports2[1298]="ER_UNKNOWN_TIME_ZONE";exports2[1299]="ER_WARN_INVALID_TIMESTAMP";exports2[1300]="ER_INVALID_CHARACTER_STRING";exports2[1301]="ER_WARN_ALLOWED_PACKET_OVERFLOWED";exports2[1302]="ER_CONFLICTING_DECLARATIONS";exports2[1303]="ER_SP_NO_RECURSIVE_CREATE";exports2[1304]="ER_SP_ALREADY_EXISTS";exports2[1305]="ER_SP_DOES_NOT_EXIST";exports2[1306]="ER_SP_DROP_FAILED";exports2[1307]="ER_SP_STORE_FAILED";exports2[1308]="ER_SP_LILABEL_MISMATCH";exports2[1309]="ER_SP_LABEL_REDEFINE";exports2[1310]="ER_SP_LABEL_MISMATCH";exports2[1311]="ER_SP_UNINIT_VAR";exports2[1312]="ER_SP_BADSELECT";exports2[1313]="ER_SP_BADRETURN";exports2[1314]="ER_SP_BADSTATEMENT";exports2[1315]="ER_UPDATE_LOG_DEPRECATED_IGNORED";exports2[1316]="ER_UPDATE_LOG_DEPRECATED_TRANSLATED";exports2[1317]="ER_QUERY_INTERRUPTED";exports2[1318]="ER_SP_WRONG_NO_OF_ARGS";exports2[1319]="ER_SP_COND_MISMATCH";exports2[1320]="ER_SP_NORETURN";exports2[1321]="ER_SP_NORETURNEND";exports2[1322]="ER_SP_BAD_CURSOR_QUERY";exports2[1323]="ER_SP_BAD_CURSOR_SELECT";exports2[1324]="ER_SP_CURSOR_MISMATCH";exports2[1325]="ER_SP_CURSOR_ALREADY_OPEN";exports2[1326]="ER_SP_CURSOR_NOT_OPEN";exports2[1327]="ER_SP_UNDECLARED_VAR";exports2[1328]="ER_SP_WRONG_NO_OF_FETCH_ARGS";exports2[1329]="ER_SP_FETCH_NO_DATA";exports2[1330]="ER_SP_DUP_PARAM";exports2[1331]="ER_SP_DUP_VAR";exports2[1332]="ER_SP_DUP_COND";exports2[1333]="ER_SP_DUP_CURS";exports2[1334]="ER_SP_CANT_ALTER";exports2[1335]="ER_SP_SUBSELECT_NYI";exports2[1336]="ER_STMT_NOT_ALLOWED_IN_SF_OR_TRG";exports2[1337]="ER_SP_VARCOND_AFTER_CURSHNDLR";exports2[1338]="ER_SP_CURSOR_AFTER_HANDLER";exports2[1339]="ER_SP_CASE_NOT_FOUND";exports2[1340]="ER_FPARSER_TOO_BIG_FILE";exports2[1341]="ER_FPARSER_BAD_HEADER";exports2[1342]="ER_FPARSER_EOF_IN_COMMENT";exports2[1343]="ER_FPARSER_ERROR_IN_PARAMETER";exports2[1344]="ER_FPARSER_EOF_IN_UNKNOWN_PARAMETER";exports2[1345]="ER_VIEW_NO_EXPLAIN";exports2[1346]="ER_FRM_UNKNOWN_TYPE";exports2[1347]="ER_WRONG_OBJECT";exports2[1348]="ER_NONUPDATEABLE_COLUMN";exports2[1349]="ER_VIEW_SELECT_DERIVED";exports2[1350]="ER_VIEW_SELECT_CLAUSE";exports2[1351]="ER_VIEW_SELECT_VARIABLE";exports2[1352]="ER_VIEW_SELECT_TMPTABLE";exports2[1353]="ER_VIEW_WRONG_LIST";exports2[1354]="ER_WARN_VIEW_MERGE";exports2[1355]="ER_WARN_VIEW_WITHOUT_KEY";exports2[1356]="ER_VIEW_INVALID";exports2[1357]="ER_SP_NO_DROP_SP";exports2[1358]="ER_SP_GOTO_IN_HNDLR";exports2[1359]="ER_TRG_ALREADY_EXISTS";exports2[1360]="ER_TRG_DOES_NOT_EXIST";exports2[1361]="ER_TRG_ON_VIEW_OR_TEMP_TABLE";exports2[1362]="ER_TRG_CANT_CHANGE_ROW";exports2[1363]="ER_TRG_NO_SUCH_ROW_IN_TRG";exports2[1364]="ER_NO_DEFAULT_FOR_FIELD";exports2[1365]="ER_DIVISION_BY_ZERO";exports2[1366]="ER_TRUNCATED_WRONG_VALUE_FOR_FIELD";exports2[1367]="ER_ILLEGAL_VALUE_FOR_TYPE";exports2[1368]="ER_VIEW_NONUPD_CHECK";exports2[1369]="ER_VIEW_CHECK_FAILED";exports2[1370]="ER_PROCACCESS_DENIED_ERROR";exports2[1371]="ER_RELAY_LOG_FAIL";exports2[1372]="ER_PASSWD_LENGTH";exports2[1373]="ER_UNKNOWN_TARGET_BINLOG";exports2[1374]="ER_IO_ERR_LOG_INDEX_READ";exports2[1375]="ER_BINLOG_PURGE_PROHIBITED";exports2[1376]="ER_FSEEK_FAIL";exports2[1377]="ER_BINLOG_PURGE_FATAL_ERR";exports2[1378]="ER_LOG_IN_USE";exports2[1379]="ER_LOG_PURGE_UNKNOWN_ERR";exports2[1380]="ER_RELAY_LOG_INIT";exports2[1381]="ER_NO_BINARY_LOGGING";exports2[1382]="ER_RESERVED_SYNTAX";exports2[1383]="ER_WSAS_FAILED";exports2[1384]="ER_DIFF_GROUPS_PROC";exports2[1385]="ER_NO_GROUP_FOR_PROC";exports2[1386]="ER_ORDER_WITH_PROC";exports2[1387]="ER_LOGGING_PROHIBIT_CHANGING_OF";exports2[1388]="ER_NO_FILE_MAPPING";exports2[1389]="ER_WRONG_MAGIC";exports2[1390]="ER_PS_MANY_PARAM";exports2[1391]="ER_KEY_PART_0";exports2[1392]="ER_VIEW_CHECKSUM";exports2[1393]="ER_VIEW_MULTIUPDATE";exports2[1394]="ER_VIEW_NO_INSERT_FIELD_LIST";exports2[1395]="ER_VIEW_DELETE_MERGE_VIEW";exports2[1396]="ER_CANNOT_USER";exports2[1397]="ER_XAER_NOTA";exports2[1398]="ER_XAER_INVAL";exports2[1399]="ER_XAER_RMFAIL";exports2[1400]="ER_XAER_OUTSIDE";exports2[1401]="ER_XAER_RMERR";exports2[1402]="ER_XA_RBROLLBACK";exports2[1403]="ER_NONEXISTING_PROC_GRANT";exports2[1404]="ER_PROC_AUTO_GRANT_FAIL";exports2[1405]="ER_PROC_AUTO_REVOKE_FAIL";exports2[1406]="ER_DATA_TOO_LONG";exports2[1407]="ER_SP_BAD_SQLSTATE";exports2[1408]="ER_STARTUP";exports2[1409]="ER_LOAD_FROM_FIXED_SIZE_ROWS_TO_VAR";exports2[1410]="ER_CANT_CREATE_USER_WITH_GRANT";exports2[1411]="ER_WRONG_VALUE_FOR_TYPE";exports2[1412]="ER_TABLE_DEF_CHANGED";exports2[1413]="ER_SP_DUP_HANDLER";exports2[1414]="ER_SP_NOT_VAR_ARG";exports2[1415]="ER_SP_NO_RETSET";exports2[1416]="ER_CANT_CREATE_GEOMETRY_OBJECT";exports2[1417]="ER_FAILED_ROUTINE_BREAK_BINLOG";exports2[1418]="ER_BINLOG_UNSAFE_ROUTINE";exports2[1419]="ER_BINLOG_CREATE_ROUTINE_NEED_SUPER";exports2[1420]="ER_EXEC_STMT_WITH_OPEN_CURSOR";exports2[1421]="ER_STMT_HAS_NO_OPEN_CURSOR";exports2[1422]="ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG";exports2[1423]="ER_NO_DEFAULT_FOR_VIEW_FIELD";exports2[1424]="ER_SP_NO_RECURSION";exports2[1425]="ER_TOO_BIG_SCALE";exports2[1426]="ER_TOO_BIG_PRECISION";exports2[1427]="ER_M_BIGGER_THAN_D";exports2[1428]="ER_WRONG_LOCK_OF_SYSTEM_TABLE";exports2[1429]="ER_CONNECT_TO_FOREIGN_DATA_SOURCE";exports2[1430]="ER_QUERY_ON_FOREIGN_DATA_SOURCE";exports2[1431]="ER_FOREIGN_DATA_SOURCE_DOESNT_EXIST";exports2[1432]="ER_FOREIGN_DATA_STRING_INVALID_CANT_CREATE";exports2[1433]="ER_FOREIGN_DATA_STRING_INVALID";exports2[1434]="ER_CANT_CREATE_FEDERATED_TABLE";exports2[1435]="ER_TRG_IN_WRONG_SCHEMA";exports2[1436]="ER_STACK_OVERRUN_NEED_MORE";exports2[1437]="ER_TOO_LONG_BODY";exports2[1438]="ER_WARN_CANT_DROP_DEFAULT_KEYCACHE";exports2[1439]="ER_TOO_BIG_DISPLAYWIDTH";exports2[1440]="ER_XAER_DUPID";exports2[1441]="ER_DATETIME_FUNCTION_OVERFLOW";exports2[1442]="ER_CANT_UPDATE_USED_TABLE_IN_SF_OR_TRG";exports2[1443]="ER_VIEW_PREVENT_UPDATE";exports2[1444]="ER_PS_NO_RECURSION";exports2[1445]="ER_SP_CANT_SET_AUTOCOMMIT";exports2[1446]="ER_MALFORMED_DEFINER";exports2[1447]="ER_VIEW_FRM_NO_USER";exports2[1448]="ER_VIEW_OTHER_USER";exports2[1449]="ER_NO_SUCH_USER";exports2[1450]="ER_FORBID_SCHEMA_CHANGE";exports2[1451]="ER_ROW_IS_REFERENCED_2";exports2[1452]="ER_NO_REFERENCED_ROW_2";exports2[1453]="ER_SP_BAD_VAR_SHADOW";exports2[1454]="ER_TRG_NO_DEFINER";exports2[1455]="ER_OLD_FILE_FORMAT";exports2[1456]="ER_SP_RECURSION_LIMIT";exports2[1457]="ER_SP_PROC_TABLE_CORRUPT";exports2[1458]="ER_SP_WRONG_NAME";exports2[1459]="ER_TABLE_NEEDS_UPGRADE";exports2[1460]="ER_SP_NO_AGGREGATE";exports2[1461]="ER_MAX_PREPARED_STMT_COUNT_REACHED";exports2[1462]="ER_VIEW_RECURSIVE";exports2[1463]="ER_NON_GROUPING_FIELD_USED";exports2[1464]="ER_TABLE_CANT_HANDLE_SPKEYS";exports2[1465]="ER_NO_TRIGGERS_ON_SYSTEM_SCHEMA";exports2[1466]="ER_REMOVED_SPACES";exports2[1467]="ER_AUTOINC_READ_FAILED";exports2[1468]="ER_USERNAME";exports2[1469]="ER_HOSTNAME";exports2[1470]="ER_WRONG_STRING_LENGTH";exports2[1471]="ER_NON_INSERTABLE_TABLE";exports2[1472]="ER_ADMIN_WRONG_MRG_TABLE";exports2[1473]="ER_TOO_HIGH_LEVEL_OF_NESTING_FOR_SELECT";exports2[1474]="ER_NAME_BECOMES_EMPTY";exports2[1475]="ER_AMBIGUOUS_FIELD_TERM";exports2[1476]="ER_FOREIGN_SERVER_EXISTS";exports2[1477]="ER_FOREIGN_SERVER_DOESNT_EXIST";exports2[1478]="ER_ILLEGAL_HA_CREATE_OPTION";exports2[1479]="ER_PARTITION_REQUIRES_VALUES_ERROR";exports2[1480]="ER_PARTITION_WRONG_VALUES_ERROR";exports2[1481]="ER_PARTITION_MAXVALUE_ERROR";exports2[1482]="ER_PARTITION_SUBPARTITION_ERROR";exports2[1483]="ER_PARTITION_SUBPART_MIX_ERROR";exports2[1484]="ER_PARTITION_WRONG_NO_PART_ERROR";exports2[1485]="ER_PARTITION_WRONG_NO_SUBPART_ERROR";exports2[1486]="ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR";exports2[1487]="ER_NO_CONST_EXPR_IN_RANGE_OR_LIST_ERROR";exports2[1488]="ER_FIELD_NOT_FOUND_PART_ERROR";exports2[1489]="ER_LIST_OF_FIELDS_ONLY_IN_HASH_ERROR";exports2[1490]="ER_INCONSISTENT_PARTITION_INFO_ERROR";exports2[1491]="ER_PARTITION_FUNC_NOT_ALLOWED_ERROR";exports2[1492]="ER_PARTITIONS_MUST_BE_DEFINED_ERROR";exports2[1493]="ER_RANGE_NOT_INCREASING_ERROR";exports2[1494]="ER_INCONSISTENT_TYPE_OF_FUNCTIONS_ERROR";exports2[1495]="ER_MULTIPLE_DEF_CONST_IN_LIST_PART_ERROR";exports2[1496]="ER_PARTITION_ENTRY_ERROR";exports2[1497]="ER_MIX_HANDLER_ERROR";exports2[1498]="ER_PARTITION_NOT_DEFINED_ERROR";exports2[1499]="ER_TOO_MANY_PARTITIONS_ERROR";exports2[1500]="ER_SUBPARTITION_ERROR";exports2[1501]="ER_CANT_CREATE_HANDLER_FILE";exports2[1502]="ER_BLOB_FIELD_IN_PART_FUNC_ERROR";exports2[1503]="ER_UNIQUE_KEY_NEED_ALL_FIELDS_IN_PF";exports2[1504]="ER_NO_PARTS_ERROR";exports2[1505]="ER_PARTITION_MGMT_ON_NONPARTITIONED";exports2[1506]="ER_FOREIGN_KEY_ON_PARTITIONED";exports2[1507]="ER_DROP_PARTITION_NON_EXISTENT";exports2[1508]="ER_DROP_LAST_PARTITION";exports2[1509]="ER_COALESCE_ONLY_ON_HASH_PARTITION";exports2[1510]="ER_REORG_HASH_ONLY_ON_SAME_NO";exports2[1511]="ER_REORG_NO_PARAM_ERROR";exports2[1512]="ER_ONLY_ON_RANGE_LIST_PARTITION";exports2[1513]="ER_ADD_PARTITION_SUBPART_ERROR";exports2[1514]="ER_ADD_PARTITION_NO_NEW_PARTITION";exports2[1515]="ER_COALESCE_PARTITION_NO_PARTITION";exports2[1516]="ER_REORG_PARTITION_NOT_EXIST";exports2[1517]="ER_SAME_NAME_PARTITION";exports2[1518]="ER_NO_BINLOG_ERROR";exports2[1519]="ER_CONSECUTIVE_REORG_PARTITIONS";exports2[1520]="ER_REORG_OUTSIDE_RANGE";exports2[1521]="ER_PARTITION_FUNCTION_FAILURE";exports2[1522]="ER_PART_STATE_ERROR";exports2[1523]="ER_LIMITED_PART_RANGE";exports2[1524]="ER_PLUGIN_IS_NOT_LOADED";exports2[1525]="ER_WRONG_VALUE";exports2[1526]="ER_NO_PARTITION_FOR_GIVEN_VALUE";exports2[1527]="ER_FILEGROUP_OPTION_ONLY_ONCE";exports2[1528]="ER_CREATE_FILEGROUP_FAILED";exports2[1529]="ER_DROP_FILEGROUP_FAILED";exports2[1530]="ER_TABLESPACE_AUTO_EXTEND_ERROR";exports2[1531]="ER_WRONG_SIZE_NUMBER";exports2[1532]="ER_SIZE_OVERFLOW_ERROR";exports2[1533]="ER_ALTER_FILEGROUP_FAILED";exports2[1534]="ER_BINLOG_ROW_LOGGING_FAILED";exports2[1535]="ER_BINLOG_ROW_WRONG_TABLE_DEF";exports2[1536]="ER_BINLOG_ROW_RBR_TO_SBR";exports2[1537]="ER_EVENT_ALREADY_EXISTS";exports2[1538]="ER_EVENT_STORE_FAILED";exports2[1539]="ER_EVENT_DOES_NOT_EXIST";exports2[1540]="ER_EVENT_CANT_ALTER";exports2[1541]="ER_EVENT_DROP_FAILED";exports2[1542]="ER_EVENT_INTERVAL_NOT_POSITIVE_OR_TOO_BIG";exports2[1543]="ER_EVENT_ENDS_BEFORE_STARTS";exports2[1544]="ER_EVENT_EXEC_TIME_IN_THE_PAST";exports2[1545]="ER_EVENT_OPEN_TABLE_FAILED";exports2[1546]="ER_EVENT_NEITHER_M_EXPR_NOR_M_AT";exports2[1547]="ER_COL_COUNT_DOESNT_MATCH_CORRUPTED";exports2[1548]="ER_CANNOT_LOAD_FROM_TABLE";exports2[1549]="ER_EVENT_CANNOT_DELETE";exports2[1550]="ER_EVENT_COMPILE_ERROR";exports2[1551]="ER_EVENT_SAME_NAME";exports2[1552]="ER_EVENT_DATA_TOO_LONG";exports2[1553]="ER_DROP_INDEX_FK";exports2[1554]="ER_WARN_DEPRECATED_SYNTAX_WITH_VER";exports2[1555]="ER_CANT_WRITE_LOCK_LOG_TABLE";exports2[1556]="ER_CANT_LOCK_LOG_TABLE";exports2[1557]="ER_FOREIGN_DUPLICATE_KEY";exports2[1558]="ER_COL_COUNT_DOESNT_MATCH_PLEASE_UPDATE";exports2[1559]="ER_TEMP_TABLE_PREVENTS_SWITCH_OUT_OF_RBR";exports2[1560]="ER_STORED_FUNCTION_PREVENTS_SWITCH_BINLOG_FORMAT";exports2[1561]="ER_NDB_CANT_SWITCH_BINLOG_FORMAT";exports2[1562]="ER_PARTITION_NO_TEMPORARY";exports2[1563]="ER_PARTITION_CONST_DOMAIN_ERROR";exports2[1564]="ER_PARTITION_FUNCTION_IS_NOT_ALLOWED";exports2[1565]="ER_DDL_LOG_ERROR";exports2[1566]="ER_NULL_IN_VALUES_LESS_THAN";exports2[1567]="ER_WRONG_PARTITION_NAME";exports2[1568]="ER_CANT_CHANGE_TX_CHARACTERISTICS";exports2[1569]="ER_DUP_ENTRY_AUTOINCREMENT_CASE";exports2[1570]="ER_EVENT_MODIFY_QUEUE_ERROR";exports2[1571]="ER_EVENT_SET_VAR_ERROR";exports2[1572]="ER_PARTITION_MERGE_ERROR";exports2[1573]="ER_CANT_ACTIVATE_LOG";exports2[1574]="ER_RBR_NOT_AVAILABLE";exports2[1575]="ER_BASE64_DECODE_ERROR";exports2[1576]="ER_EVENT_RECURSION_FORBIDDEN";exports2[1577]="ER_EVENTS_DB_ERROR";exports2[1578]="ER_ONLY_INTEGERS_ALLOWED";exports2[1579]="ER_UNSUPORTED_LOG_ENGINE";exports2[1580]="ER_BAD_LOG_STATEMENT";exports2[1581]="ER_CANT_RENAME_LOG_TABLE";exports2[1582]="ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT";exports2[1583]="ER_WRONG_PARAMETERS_TO_NATIVE_FCT";exports2[1584]="ER_WRONG_PARAMETERS_TO_STORED_FCT";exports2[1585]="ER_NATIVE_FCT_NAME_COLLISION";exports2[1586]="ER_DUP_ENTRY_WITH_KEY_NAME";exports2[1587]="ER_BINLOG_PURGE_EMFILE";exports2[1588]="ER_EVENT_CANNOT_CREATE_IN_THE_PAST";exports2[1589]="ER_EVENT_CANNOT_ALTER_IN_THE_PAST";exports2[1590]="ER_SLAVE_INCIDENT";exports2[1591]="ER_NO_PARTITION_FOR_GIVEN_VALUE_SILENT";exports2[1592]="ER_BINLOG_UNSAFE_STATEMENT";exports2[1593]="ER_BINLOG_FATAL_ERROR";exports2[1594]="ER_SLAVE_RELAY_LOG_READ_FAILURE";exports2[1595]="ER_SLAVE_RELAY_LOG_WRITE_FAILURE";exports2[1596]="ER_SLAVE_CREATE_EVENT_FAILURE";exports2[1597]="ER_SLAVE_MASTER_COM_FAILURE";exports2[1598]="ER_BINLOG_LOGGING_IMPOSSIBLE";exports2[1599]="ER_VIEW_NO_CREATION_CTX";exports2[1600]="ER_VIEW_INVALID_CREATION_CTX";exports2[1601]="ER_SR_INVALID_CREATION_CTX";exports2[1602]="ER_TRG_CORRUPTED_FILE";exports2[1603]="ER_TRG_NO_CREATION_CTX";exports2[1604]="ER_TRG_INVALID_CREATION_CTX";exports2[1605]="ER_EVENT_INVALID_CREATION_CTX";exports2[1606]="ER_TRG_CANT_OPEN_TABLE";exports2[1607]="ER_CANT_CREATE_SROUTINE";exports2[1608]="ER_NEVER_USED";exports2[1609]="ER_NO_FORMAT_DESCRIPTION_EVENT_BEFORE_BINLOG_STATEMENT";exports2[1610]="ER_REPLICA_CORRUPT_EVENT";exports2[1611]="ER_LOAD_DATA_INVALID_COLUMN";exports2[1612]="ER_LOG_PURGE_NO_FILE";exports2[1613]="ER_XA_RBTIMEOUT";exports2[1614]="ER_XA_RBDEADLOCK";exports2[1615]="ER_NEED_REPREPARE";exports2[1616]="ER_DELAYED_NOT_SUPPORTED";exports2[1617]="WARN_NO_CONNECTION_METADATA";exports2[1618]="WARN_OPTION_IGNORED";exports2[1619]="ER_PLUGIN_DELETE_BUILTIN";exports2[1620]="WARN_PLUGIN_BUSY";exports2[1621]="ER_VARIABLE_IS_READONLY";exports2[1622]="ER_WARN_ENGINE_TRANSACTION_ROLLBACK";exports2[1623]="ER_SLAVE_HEARTBEAT_FAILURE";exports2[1624]="ER_REPLICA_HEARTBEAT_VALUE_OUT_OF_RANGE";exports2[1625]="ER_NDB_REPLICATION_SCHEMA_ERROR";exports2[1626]="ER_CONFLICT_FN_PARSE_ERROR";exports2[1627]="ER_EXCEPTIONS_WRITE_ERROR";exports2[1628]="ER_TOO_LONG_TABLE_COMMENT";exports2[1629]="ER_TOO_LONG_FIELD_COMMENT";exports2[1630]="ER_FUNC_INEXISTENT_NAME_COLLISION";exports2[1631]="ER_DATABASE_NAME";exports2[1632]="ER_TABLE_NAME";exports2[1633]="ER_PARTITION_NAME";exports2[1634]="ER_SUBPARTITION_NAME";exports2[1635]="ER_TEMPORARY_NAME";exports2[1636]="ER_RENAMED_NAME";exports2[1637]="ER_TOO_MANY_CONCURRENT_TRXS";exports2[1638]="WARN_NON_ASCII_SEPARATOR_NOT_IMPLEMENTED";exports2[1639]="ER_DEBUG_SYNC_TIMEOUT";exports2[1640]="ER_DEBUG_SYNC_HIT_LIMIT";exports2[1641]="ER_DUP_SIGNAL_SET";exports2[1642]="ER_SIGNAL_WARN";exports2[1643]="ER_SIGNAL_NOT_FOUND";exports2[1644]="ER_SIGNAL_EXCEPTION";exports2[1645]="ER_RESIGNAL_WITHOUT_ACTIVE_HANDLER";exports2[1646]="ER_SIGNAL_BAD_CONDITION_TYPE";exports2[1647]="WARN_COND_ITEM_TRUNCATED";exports2[1648]="ER_COND_ITEM_TOO_LONG";exports2[1649]="ER_UNKNOWN_LOCALE";exports2[1650]="ER_REPLICA_IGNORE_SERVER_IDS";exports2[1651]="ER_QUERY_CACHE_DISABLED";exports2[1652]="ER_SAME_NAME_PARTITION_FIELD";exports2[1653]="ER_PARTITION_COLUMN_LIST_ERROR";exports2[1654]="ER_WRONG_TYPE_COLUMN_VALUE_ERROR";exports2[1655]="ER_TOO_MANY_PARTITION_FUNC_FIELDS_ERROR";exports2[1656]="ER_MAXVALUE_IN_VALUES_IN";exports2[1657]="ER_TOO_MANY_VALUES_ERROR";exports2[1658]="ER_ROW_SINGLE_PARTITION_FIELD_ERROR";exports2[1659]="ER_FIELD_TYPE_NOT_ALLOWED_AS_PARTITION_FIELD";exports2[1660]="ER_PARTITION_FIELDS_TOO_LONG";exports2[1661]="ER_BINLOG_ROW_ENGINE_AND_STMT_ENGINE";exports2[1662]="ER_BINLOG_ROW_MODE_AND_STMT_ENGINE";exports2[1663]="ER_BINLOG_UNSAFE_AND_STMT_ENGINE";exports2[1664]="ER_BINLOG_ROW_INJECTION_AND_STMT_ENGINE";exports2[1665]="ER_BINLOG_STMT_MODE_AND_ROW_ENGINE";exports2[1666]="ER_BINLOG_ROW_INJECTION_AND_STMT_MODE";exports2[1667]="ER_BINLOG_MULTIPLE_ENGINES_AND_SELF_LOGGING_ENGINE";exports2[1668]="ER_BINLOG_UNSAFE_LIMIT";exports2[1669]="ER_UNUSED4";exports2[1670]="ER_BINLOG_UNSAFE_SYSTEM_TABLE";exports2[1671]="ER_BINLOG_UNSAFE_AUTOINC_COLUMNS";exports2[1672]="ER_BINLOG_UNSAFE_UDF";exports2[1673]="ER_BINLOG_UNSAFE_SYSTEM_VARIABLE";exports2[1674]="ER_BINLOG_UNSAFE_SYSTEM_FUNCTION";exports2[1675]="ER_BINLOG_UNSAFE_NONTRANS_AFTER_TRANS";exports2[1676]="ER_MESSAGE_AND_STATEMENT";exports2[1677]="ER_SLAVE_CONVERSION_FAILED";exports2[1678]="ER_REPLICA_CANT_CREATE_CONVERSION";exports2[1679]="ER_INSIDE_TRANSACTION_PREVENTS_SWITCH_BINLOG_FORMAT";exports2[1680]="ER_PATH_LENGTH";exports2[1681]="ER_WARN_DEPRECATED_SYNTAX_NO_REPLACEMENT";exports2[1682]="ER_WRONG_NATIVE_TABLE_STRUCTURE";exports2[1683]="ER_WRONG_PERFSCHEMA_USAGE";exports2[1684]="ER_WARN_I_S_SKIPPED_TABLE";exports2[1685]="ER_INSIDE_TRANSACTION_PREVENTS_SWITCH_BINLOG_DIRECT";exports2[1686]="ER_STORED_FUNCTION_PREVENTS_SWITCH_BINLOG_DIRECT";exports2[1687]="ER_SPATIAL_MUST_HAVE_GEOM_COL";exports2[1688]="ER_TOO_LONG_INDEX_COMMENT";exports2[1689]="ER_LOCK_ABORTED";exports2[1690]="ER_DATA_OUT_OF_RANGE";exports2[1691]="ER_WRONG_SPVAR_TYPE_IN_LIMIT";exports2[1692]="ER_BINLOG_UNSAFE_MULTIPLE_ENGINES_AND_SELF_LOGGING_ENGINE";exports2[1693]="ER_BINLOG_UNSAFE_MIXED_STATEMENT";exports2[1694]="ER_INSIDE_TRANSACTION_PREVENTS_SWITCH_SQL_LOG_BIN";exports2[1695]="ER_STORED_FUNCTION_PREVENTS_SWITCH_SQL_LOG_BIN";exports2[1696]="ER_FAILED_READ_FROM_PAR_FILE";exports2[1697]="ER_VALUES_IS_NOT_INT_TYPE_ERROR";exports2[1698]="ER_ACCESS_DENIED_NO_PASSWORD_ERROR";exports2[1699]="ER_SET_PASSWORD_AUTH_PLUGIN";exports2[1700]="ER_GRANT_PLUGIN_USER_EXISTS";exports2[1701]="ER_TRUNCATE_ILLEGAL_FK";exports2[1702]="ER_PLUGIN_IS_PERMANENT";exports2[1703]="ER_REPLICA_HEARTBEAT_VALUE_OUT_OF_RANGE_MIN";exports2[1704]="ER_REPLICA_HEARTBEAT_VALUE_OUT_OF_RANGE_MAX";exports2[1705]="ER_STMT_CACHE_FULL";exports2[1706]="ER_MULTI_UPDATE_KEY_CONFLICT";exports2[1707]="ER_TABLE_NEEDS_REBUILD";exports2[1708]="WARN_OPTION_BELOW_LIMIT";exports2[1709]="ER_INDEX_COLUMN_TOO_LONG";exports2[1710]="ER_ERROR_IN_TRIGGER_BODY";exports2[1711]="ER_ERROR_IN_UNKNOWN_TRIGGER_BODY";exports2[1712]="ER_INDEX_CORRUPT";exports2[1713]="ER_UNDO_RECORD_TOO_BIG";exports2[1714]="ER_BINLOG_UNSAFE_INSERT_IGNORE_SELECT";exports2[1715]="ER_BINLOG_UNSAFE_INSERT_SELECT_UPDATE";exports2[1716]="ER_BINLOG_UNSAFE_REPLACE_SELECT";exports2[1717]="ER_BINLOG_UNSAFE_CREATE_IGNORE_SELECT";exports2[1718]="ER_BINLOG_UNSAFE_CREATE_REPLACE_SELECT";exports2[1719]="ER_BINLOG_UNSAFE_UPDATE_IGNORE";exports2[1720]="ER_PLUGIN_NO_UNINSTALL";exports2[1721]="ER_PLUGIN_NO_INSTALL";exports2[1722]="ER_BINLOG_UNSAFE_WRITE_AUTOINC_SELECT";exports2[1723]="ER_BINLOG_UNSAFE_CREATE_SELECT_AUTOINC";exports2[1724]="ER_BINLOG_UNSAFE_INSERT_TWO_KEYS";exports2[1725]="ER_TABLE_IN_FK_CHECK";exports2[1726]="ER_UNSUPPORTED_ENGINE";exports2[1727]="ER_BINLOG_UNSAFE_AUTOINC_NOT_FIRST";exports2[1728]="ER_CANNOT_LOAD_FROM_TABLE_V2";exports2[1729]="ER_SOURCE_DELAY_VALUE_OUT_OF_RANGE";exports2[1730]="ER_ONLY_FD_AND_RBR_EVENTS_ALLOWED_IN_BINLOG_STATEMENT";exports2[1731]="ER_PARTITION_EXCHANGE_DIFFERENT_OPTION";exports2[1732]="ER_PARTITION_EXCHANGE_PART_TABLE";exports2[1733]="ER_PARTITION_EXCHANGE_TEMP_TABLE";exports2[1734]="ER_PARTITION_INSTEAD_OF_SUBPARTITION";exports2[1735]="ER_UNKNOWN_PARTITION";exports2[1736]="ER_TABLES_DIFFERENT_METADATA";exports2[1737]="ER_ROW_DOES_NOT_MATCH_PARTITION";exports2[1738]="ER_BINLOG_CACHE_SIZE_GREATER_THAN_MAX";exports2[1739]="ER_WARN_INDEX_NOT_APPLICABLE";exports2[1740]="ER_PARTITION_EXCHANGE_FOREIGN_KEY";exports2[1741]="ER_NO_SUCH_KEY_VALUE";exports2[1742]="ER_RPL_INFO_DATA_TOO_LONG";exports2[1743]="ER_NETWORK_READ_EVENT_CHECKSUM_FAILURE";exports2[1744]="ER_BINLOG_READ_EVENT_CHECKSUM_FAILURE";exports2[1745]="ER_BINLOG_STMT_CACHE_SIZE_GREATER_THAN_MAX";exports2[1746]="ER_CANT_UPDATE_TABLE_IN_CREATE_TABLE_SELECT";exports2[1747]="ER_PARTITION_CLAUSE_ON_NONPARTITIONED";exports2[1748]="ER_ROW_DOES_NOT_MATCH_GIVEN_PARTITION_SET";exports2[1749]="ER_NO_SUCH_PARTITION";exports2[1750]="ER_CHANGE_RPL_INFO_REPOSITORY_FAILURE";exports2[1751]="ER_WARNING_NOT_COMPLETE_ROLLBACK_WITH_CREATED_TEMP_TABLE";exports2[1752]="ER_WARNING_NOT_COMPLETE_ROLLBACK_WITH_DROPPED_TEMP_TABLE";exports2[1753]="ER_MTA_FEATURE_IS_NOT_SUPPORTED";exports2[1754]="ER_MTA_UPDATED_DBS_GREATER_MAX";exports2[1755]="ER_MTA_CANT_PARALLEL";exports2[1756]="ER_MTA_INCONSISTENT_DATA";exports2[1757]="ER_FULLTEXT_NOT_SUPPORTED_WITH_PARTITIONING";exports2[1758]="ER_DA_INVALID_CONDITION_NUMBER";exports2[1759]="ER_INSECURE_PLAIN_TEXT";exports2[1760]="ER_INSECURE_CHANGE_SOURCE";exports2[1761]="ER_FOREIGN_DUPLICATE_KEY_WITH_CHILD_INFO";exports2[1762]="ER_FOREIGN_DUPLICATE_KEY_WITHOUT_CHILD_INFO";exports2[1763]="ER_SQLTHREAD_WITH_SECURE_REPLICA";exports2[1764]="ER_TABLE_HAS_NO_FT";exports2[1765]="ER_VARIABLE_NOT_SETTABLE_IN_SF_OR_TRIGGER";exports2[1766]="ER_VARIABLE_NOT_SETTABLE_IN_TRANSACTION";exports2[1767]="ER_GTID_NEXT_IS_NOT_IN_GTID_NEXT_LIST";exports2[1768]="ER_CANT_CHANGE_GTID_NEXT_IN_TRANSACTION";exports2[1769]="ER_SET_STATEMENT_CANNOT_INVOKE_FUNCTION";exports2[1770]="ER_GTID_NEXT_CANT_BE_AUTOMATIC_IF_GTID_NEXT_LIST_IS_NON_NULL";exports2[1771]="ER_SKIPPING_LOGGED_TRANSACTION";exports2[1772]="ER_MALFORMED_GTID_SET_SPECIFICATION";exports2[1773]="ER_MALFORMED_GTID_SET_ENCODING";exports2[1774]="ER_MALFORMED_GTID_SPECIFICATION";exports2[1775]="ER_GNO_EXHAUSTED";exports2[1776]="ER_BAD_REPLICA_AUTO_POSITION";exports2[1777]="ER_AUTO_POSITION_REQUIRES_GTID_MODE_NOT_OFF";exports2[1778]="ER_CANT_DO_IMPLICIT_COMMIT_IN_TRX_WHEN_GTID_NEXT_IS_SET";exports2[1779]="ER_GTID_MODE_ON_REQUIRES_ENFORCE_GTID_CONSISTENCY_ON";exports2[1780]="ER_GTID_MODE_REQUIRES_BINLOG";exports2[1781]="ER_CANT_SET_GTID_NEXT_TO_GTID_WHEN_GTID_MODE_IS_OFF";exports2[1782]="ER_CANT_SET_GTID_NEXT_TO_ANONYMOUS_WHEN_GTID_MODE_IS_ON";exports2[1783]="ER_CANT_SET_GTID_NEXT_LIST_TO_NON_NULL_WHEN_GTID_MODE_IS_OFF";exports2[1784]="ER_FOUND_GTID_EVENT_WHEN_GTID_MODE_IS_OFF";exports2[1785]="ER_GTID_UNSAFE_NON_TRANSACTIONAL_TABLE";exports2[1786]="ER_GTID_UNSAFE_CREATE_SELECT";exports2[1787]="ER_GTID_UNSAFE_CREATE_DROP_TEMP_TABLE_IN_TRANSACTION";exports2[1788]="ER_GTID_MODE_CAN_ONLY_CHANGE_ONE_STEP_AT_A_TIME";exports2[1789]="ER_SOURCE_HAS_PURGED_REQUIRED_GTIDS";exports2[1790]="ER_CANT_SET_GTID_NEXT_WHEN_OWNING_GTID";exports2[1791]="ER_UNKNOWN_EXPLAIN_FORMAT";exports2[1792]="ER_CANT_EXECUTE_IN_READ_ONLY_TRANSACTION";exports2[1793]="ER_TOO_LONG_TABLE_PARTITION_COMMENT";exports2[1794]="ER_REPLICA_CONFIGURATION";exports2[1795]="ER_INNODB_FT_LIMIT";exports2[1796]="ER_INNODB_NO_FT_TEMP_TABLE";exports2[1797]="ER_INNODB_FT_WRONG_DOCID_COLUMN";exports2[1798]="ER_INNODB_FT_WRONG_DOCID_INDEX";exports2[1799]="ER_INNODB_ONLINE_LOG_TOO_BIG";exports2[1800]="ER_UNKNOWN_ALTER_ALGORITHM";exports2[1801]="ER_UNKNOWN_ALTER_LOCK";exports2[1802]="ER_MTA_CHANGE_SOURCE_CANT_RUN_WITH_GAPS";exports2[1803]="ER_MTA_RECOVERY_FAILURE";exports2[1804]="ER_MTA_RESET_WORKERS";exports2[1805]="ER_COL_COUNT_DOESNT_MATCH_CORRUPTED_V2";exports2[1806]="ER_REPLICA_SILENT_RETRY_TRANSACTION";exports2[1807]="ER_DISCARD_FK_CHECKS_RUNNING";exports2[1808]="ER_TABLE_SCHEMA_MISMATCH";exports2[1809]="ER_TABLE_IN_SYSTEM_TABLESPACE";exports2[1810]="ER_IO_READ_ERROR";exports2[1811]="ER_IO_WRITE_ERROR";exports2[1812]="ER_TABLESPACE_MISSING";exports2[1813]="ER_TABLESPACE_EXISTS";exports2[1814]="ER_TABLESPACE_DISCARDED";exports2[1815]="ER_INTERNAL_ERROR";exports2[1816]="ER_INNODB_IMPORT_ERROR";exports2[1817]="ER_INNODB_INDEX_CORRUPT";exports2[1818]="ER_INVALID_YEAR_COLUMN_LENGTH";exports2[1819]="ER_NOT_VALID_PASSWORD";exports2[1820]="ER_MUST_CHANGE_PASSWORD";exports2[1821]="ER_FK_NO_INDEX_CHILD";exports2[1822]="ER_FK_NO_INDEX_PARENT";exports2[1823]="ER_FK_FAIL_ADD_SYSTEM";exports2[1824]="ER_FK_CANNOT_OPEN_PARENT";exports2[1825]="ER_FK_INCORRECT_OPTION";exports2[1826]="ER_FK_DUP_NAME";exports2[1827]="ER_PASSWORD_FORMAT";exports2[1828]="ER_FK_COLUMN_CANNOT_DROP";exports2[1829]="ER_FK_COLUMN_CANNOT_DROP_CHILD";exports2[1830]="ER_FK_COLUMN_NOT_NULL";exports2[1831]="ER_DUP_INDEX";exports2[1832]="ER_FK_COLUMN_CANNOT_CHANGE";exports2[1833]="ER_FK_COLUMN_CANNOT_CHANGE_CHILD";exports2[1834]="ER_UNUSED5";exports2[1835]="ER_MALFORMED_PACKET";exports2[1836]="ER_READ_ONLY_MODE";exports2[1837]="ER_GTID_NEXT_TYPE_UNDEFINED_GTID";exports2[1838]="ER_VARIABLE_NOT_SETTABLE_IN_SP";exports2[1839]="ER_CANT_SET_GTID_PURGED_WHEN_GTID_MODE_IS_OFF";exports2[1840]="ER_CANT_SET_GTID_PURGED_WHEN_GTID_EXECUTED_IS_NOT_EMPTY";exports2[1841]="ER_CANT_SET_GTID_PURGED_WHEN_OWNED_GTIDS_IS_NOT_EMPTY";exports2[1842]="ER_GTID_PURGED_WAS_CHANGED";exports2[1843]="ER_GTID_EXECUTED_WAS_CHANGED";exports2[1844]="ER_BINLOG_STMT_MODE_AND_NO_REPL_TABLES";exports2[1845]="ER_ALTER_OPERATION_NOT_SUPPORTED";exports2[1846]="ER_ALTER_OPERATION_NOT_SUPPORTED_REASON";exports2[1847]="ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_COPY";exports2[1848]="ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_PARTITION";exports2[1849]="ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_FK_RENAME";exports2[1850]="ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_COLUMN_TYPE";exports2[1851]="ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_FK_CHECK";exports2[1852]="ER_UNUSED6";exports2[1853]="ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_NOPK";exports2[1854]="ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_AUTOINC";exports2[1855]="ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_HIDDEN_FTS";exports2[1856]="ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_CHANGE_FTS";exports2[1857]="ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_FTS";exports2[1858]="ER_SQL_REPLICA_SKIP_COUNTER_NOT_SETTABLE_IN_GTID_MODE";exports2[1859]="ER_DUP_UNKNOWN_IN_INDEX";exports2[1860]="ER_IDENT_CAUSES_TOO_LONG_PATH";exports2[1861]="ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_NOT_NULL";exports2[1862]="ER_MUST_CHANGE_PASSWORD_LOGIN";exports2[1863]="ER_ROW_IN_WRONG_PARTITION";exports2[1864]="ER_MTA_EVENT_BIGGER_PENDING_JOBS_SIZE_MAX";exports2[1865]="ER_INNODB_NO_FT_USES_PARSER";exports2[1866]="ER_BINLOG_LOGICAL_CORRUPTION";exports2[1867]="ER_WARN_PURGE_LOG_IN_USE";exports2[1868]="ER_WARN_PURGE_LOG_IS_ACTIVE";exports2[1869]="ER_AUTO_INCREMENT_CONFLICT";exports2[1870]="WARN_ON_BLOCKHOLE_IN_RBR";exports2[1871]="ER_REPLICA_CM_INIT_REPOSITORY";exports2[1872]="ER_REPLICA_AM_INIT_REPOSITORY";exports2[1873]="ER_ACCESS_DENIED_CHANGE_USER_ERROR";exports2[1874]="ER_INNODB_READ_ONLY";exports2[1875]="ER_STOP_REPLICA_SQL_THREAD_TIMEOUT";exports2[1876]="ER_STOP_REPLICA_IO_THREAD_TIMEOUT";exports2[1877]="ER_TABLE_CORRUPT";exports2[1878]="ER_TEMP_FILE_WRITE_FAILURE";exports2[1879]="ER_INNODB_FT_AUX_NOT_HEX_ID";exports2[1880]="ER_OLD_TEMPORALS_UPGRADED";exports2[1881]="ER_INNODB_FORCED_RECOVERY";exports2[1882]="ER_AES_INVALID_IV";exports2[1883]="ER_PLUGIN_CANNOT_BE_UNINSTALLED";exports2[1884]="ER_GTID_UNSAFE_BINLOG_SPLITTABLE_STATEMENT_AND_ASSIGNED_GTID";exports2[1885]="ER_REPLICA_HAS_MORE_GTIDS_THAN_SOURCE";exports2[1886]="ER_MISSING_KEY";exports2[1887]="WARN_NAMED_PIPE_ACCESS_EVERYONE";exports2[3e3]="ER_FILE_CORRUPT";exports2[3001]="ER_ERROR_ON_SOURCE";exports2[3002]="ER_INCONSISTENT_ERROR";exports2[3003]="ER_STORAGE_ENGINE_NOT_LOADED";exports2[3004]="ER_GET_STACKED_DA_WITHOUT_ACTIVE_HANDLER";exports2[3005]="ER_WARN_LEGACY_SYNTAX_CONVERTED";exports2[3006]="ER_BINLOG_UNSAFE_FULLTEXT_PLUGIN";exports2[3007]="ER_CANNOT_DISCARD_TEMPORARY_TABLE";exports2[3008]="ER_FK_DEPTH_EXCEEDED";exports2[3009]="ER_COL_COUNT_DOESNT_MATCH_PLEASE_UPDATE_V2";exports2[3010]="ER_WARN_TRIGGER_DOESNT_HAVE_CREATED";exports2[3011]="ER_REFERENCED_TRG_DOES_NOT_EXIST";exports2[3012]="ER_EXPLAIN_NOT_SUPPORTED";exports2[3013]="ER_INVALID_FIELD_SIZE";exports2[3014]="ER_MISSING_HA_CREATE_OPTION";exports2[3015]="ER_ENGINE_OUT_OF_MEMORY";exports2[3016]="ER_PASSWORD_EXPIRE_ANONYMOUS_USER";exports2[3017]="ER_REPLICA_SQL_THREAD_MUST_STOP";exports2[3018]="ER_NO_FT_MATERIALIZED_SUBQUERY";exports2[3019]="ER_INNODB_UNDO_LOG_FULL";exports2[3020]="ER_INVALID_ARGUMENT_FOR_LOGARITHM";exports2[3021]="ER_REPLICA_CHANNEL_IO_THREAD_MUST_STOP";exports2[3022]="ER_WARN_OPEN_TEMP_TABLES_MUST_BE_ZERO";exports2[3023]="ER_WARN_ONLY_SOURCE_LOG_FILE_NO_POS";exports2[3024]="ER_QUERY_TIMEOUT";exports2[3025]="ER_NON_RO_SELECT_DISABLE_TIMER";exports2[3026]="ER_DUP_LIST_ENTRY";exports2[3027]="ER_SQL_MODE_NO_EFFECT";exports2[3028]="ER_AGGREGATE_ORDER_FOR_UNION";exports2[3029]="ER_AGGREGATE_ORDER_NON_AGG_QUERY";exports2[3030]="ER_REPLICA_WORKER_STOPPED_PREVIOUS_THD_ERROR";exports2[3031]="ER_DONT_SUPPORT_REPLICA_PRESERVE_COMMIT_ORDER";exports2[3032]="ER_SERVER_OFFLINE_MODE";exports2[3033]="ER_GIS_DIFFERENT_SRIDS";exports2[3034]="ER_GIS_UNSUPPORTED_ARGUMENT";exports2[3035]="ER_GIS_UNKNOWN_ERROR";exports2[3036]="ER_GIS_UNKNOWN_EXCEPTION";exports2[3037]="ER_GIS_INVALID_DATA";exports2[3038]="ER_BOOST_GEOMETRY_EMPTY_INPUT_EXCEPTION";exports2[3039]="ER_BOOST_GEOMETRY_CENTROID_EXCEPTION";exports2[3040]="ER_BOOST_GEOMETRY_OVERLAY_INVALID_INPUT_EXCEPTION";exports2[3041]="ER_BOOST_GEOMETRY_TURN_INFO_EXCEPTION";exports2[3042]="ER_BOOST_GEOMETRY_SELF_INTERSECTION_POINT_EXCEPTION";exports2[3043]="ER_BOOST_GEOMETRY_UNKNOWN_EXCEPTION";exports2[3044]="ER_STD_BAD_ALLOC_ERROR";exports2[3045]="ER_STD_DOMAIN_ERROR";exports2[3046]="ER_STD_LENGTH_ERROR";exports2[3047]="ER_STD_INVALID_ARGUMENT";exports2[3048]="ER_STD_OUT_OF_RANGE_ERROR";exports2[3049]="ER_STD_OVERFLOW_ERROR";exports2[3050]="ER_STD_RANGE_ERROR";exports2[3051]="ER_STD_UNDERFLOW_ERROR";exports2[3052]="ER_STD_LOGIC_ERROR";exports2[3053]="ER_STD_RUNTIME_ERROR";exports2[3054]="ER_STD_UNKNOWN_EXCEPTION";exports2[3055]="ER_GIS_DATA_WRONG_ENDIANESS";exports2[3056]="ER_CHANGE_SOURCE_PASSWORD_LENGTH";exports2[3057]="ER_USER_LOCK_WRONG_NAME";exports2[3058]="ER_USER_LOCK_DEADLOCK";exports2[3059]="ER_REPLACE_INACCESSIBLE_ROWS";exports2[3060]="ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_GIS";exports2[3061]="ER_ILLEGAL_USER_VAR";exports2[3062]="ER_GTID_MODE_OFF";exports2[3063]="ER_UNSUPPORTED_BY_REPLICATION_THREAD";exports2[3064]="ER_INCORRECT_TYPE";exports2[3065]="ER_FIELD_IN_ORDER_NOT_SELECT";exports2[3066]="ER_AGGREGATE_IN_ORDER_NOT_SELECT";exports2[3067]="ER_INVALID_RPL_WILD_TABLE_FILTER_PATTERN";exports2[3068]="ER_NET_OK_PACKET_TOO_LARGE";exports2[3069]="ER_INVALID_JSON_DATA";exports2[3070]="ER_INVALID_GEOJSON_MISSING_MEMBER";exports2[3071]="ER_INVALID_GEOJSON_WRONG_TYPE";exports2[3072]="ER_INVALID_GEOJSON_UNSPECIFIED";exports2[3073]="ER_DIMENSION_UNSUPPORTED";exports2[3074]="ER_REPLICA_CHANNEL_DOES_NOT_EXIST";exports2[3075]="ER_SLAVE_MULTIPLE_CHANNELS_HOST_PORT";exports2[3076]="ER_REPLICA_CHANNEL_NAME_INVALID_OR_TOO_LONG";exports2[3077]="ER_REPLICA_NEW_CHANNEL_WRONG_REPOSITORY";exports2[3078]="ER_SLAVE_CHANNEL_DELETE";exports2[3079]="ER_REPLICA_MULTIPLE_CHANNELS_CMD";exports2[3080]="ER_REPLICA_MAX_CHANNELS_EXCEEDED";exports2[3081]="ER_REPLICA_CHANNEL_MUST_STOP";exports2[3082]="ER_REPLICA_CHANNEL_NOT_RUNNING";exports2[3083]="ER_REPLICA_CHANNEL_WAS_RUNNING";exports2[3084]="ER_REPLICA_CHANNEL_WAS_NOT_RUNNING";exports2[3085]="ER_REPLICA_CHANNEL_SQL_THREAD_MUST_STOP";exports2[3086]="ER_REPLICA_CHANNEL_SQL_SKIP_COUNTER";exports2[3087]="ER_WRONG_FIELD_WITH_GROUP_V2";exports2[3088]="ER_MIX_OF_GROUP_FUNC_AND_FIELDS_V2";exports2[3089]="ER_WARN_DEPRECATED_SYSVAR_UPDATE";exports2[3090]="ER_WARN_DEPRECATED_SQLMODE";exports2[3091]="ER_CANNOT_LOG_PARTIAL_DROP_DATABASE_WITH_GTID";exports2[3092]="ER_GROUP_REPLICATION_CONFIGURATION";exports2[3093]="ER_GROUP_REPLICATION_RUNNING";exports2[3094]="ER_GROUP_REPLICATION_APPLIER_INIT_ERROR";exports2[3095]="ER_GROUP_REPLICATION_STOP_APPLIER_THREAD_TIMEOUT";exports2[3096]="ER_GROUP_REPLICATION_COMMUNICATION_LAYER_SESSION_ERROR";exports2[3097]="ER_GROUP_REPLICATION_COMMUNICATION_LAYER_JOIN_ERROR";exports2[3098]="ER_BEFORE_DML_VALIDATION_ERROR";exports2[3099]="ER_PREVENTS_VARIABLE_WITHOUT_RBR";exports2[3100]="ER_RUN_HOOK_ERROR";exports2[3101]="ER_TRANSACTION_ROLLBACK_DURING_COMMIT";exports2[3102]="ER_GENERATED_COLUMN_FUNCTION_IS_NOT_ALLOWED";exports2[3103]="ER_UNSUPPORTED_ALTER_INPLACE_ON_VIRTUAL_COLUMN";exports2[3104]="ER_WRONG_FK_OPTION_FOR_GENERATED_COLUMN";exports2[3105]="ER_NON_DEFAULT_VALUE_FOR_GENERATED_COLUMN";exports2[3106]="ER_UNSUPPORTED_ACTION_ON_GENERATED_COLUMN";exports2[3107]="ER_GENERATED_COLUMN_NON_PRIOR";exports2[3108]="ER_DEPENDENT_BY_GENERATED_COLUMN";exports2[3109]="ER_GENERATED_COLUMN_REF_AUTO_INC";exports2[3110]="ER_FEATURE_NOT_AVAILABLE";exports2[3111]="ER_CANT_SET_GTID_MODE";exports2[3112]="ER_CANT_USE_AUTO_POSITION_WITH_GTID_MODE_OFF";exports2[3113]="ER_CANT_REPLICATE_ANONYMOUS_WITH_AUTO_POSITION";exports2[3114]="ER_CANT_REPLICATE_ANONYMOUS_WITH_GTID_MODE_ON";exports2[3115]="ER_CANT_REPLICATE_GTID_WITH_GTID_MODE_OFF";exports2[3116]="ER_CANT_ENFORCE_GTID_CONSISTENCY_WITH_ONGOING_GTID_VIOLATING_TX";exports2[3117]="ER_ENFORCE_GTID_CONSISTENCY_WARN_WITH_ONGOING_GTID_VIOLATING_TX";exports2[3118]="ER_ACCOUNT_HAS_BEEN_LOCKED";exports2[3119]="ER_WRONG_TABLESPACE_NAME";exports2[3120]="ER_TABLESPACE_IS_NOT_EMPTY";exports2[3121]="ER_WRONG_FILE_NAME";exports2[3122]="ER_BOOST_GEOMETRY_INCONSISTENT_TURNS_EXCEPTION";exports2[3123]="ER_WARN_OPTIMIZER_HINT_SYNTAX_ERROR";exports2[3124]="ER_WARN_BAD_MAX_EXECUTION_TIME";exports2[3125]="ER_WARN_UNSUPPORTED_MAX_EXECUTION_TIME";exports2[3126]="ER_WARN_CONFLICTING_HINT";exports2[3127]="ER_WARN_UNKNOWN_QB_NAME";exports2[3128]="ER_UNRESOLVED_HINT_NAME";exports2[3129]="ER_WARN_ON_MODIFYING_GTID_EXECUTED_TABLE";exports2[3130]="ER_PLUGGABLE_PROTOCOL_COMMAND_NOT_SUPPORTED";exports2[3131]="ER_LOCKING_SERVICE_WRONG_NAME";exports2[3132]="ER_LOCKING_SERVICE_DEADLOCK";exports2[3133]="ER_LOCKING_SERVICE_TIMEOUT";exports2[3134]="ER_GIS_MAX_POINTS_IN_GEOMETRY_OVERFLOWED";exports2[3135]="ER_SQL_MODE_MERGED";exports2[3136]="ER_VTOKEN_PLUGIN_TOKEN_MISMATCH";exports2[3137]="ER_VTOKEN_PLUGIN_TOKEN_NOT_FOUND";exports2[3138]="ER_CANT_SET_VARIABLE_WHEN_OWNING_GTID";exports2[3139]="ER_REPLICA_CHANNEL_OPERATION_NOT_ALLOWED";exports2[3140]="ER_INVALID_JSON_TEXT";exports2[3141]="ER_INVALID_JSON_TEXT_IN_PARAM";exports2[3142]="ER_INVALID_JSON_BINARY_DATA";exports2[3143]="ER_INVALID_JSON_PATH";exports2[3144]="ER_INVALID_JSON_CHARSET";exports2[3145]="ER_INVALID_JSON_CHARSET_IN_FUNCTION";exports2[3146]="ER_INVALID_TYPE_FOR_JSON";exports2[3147]="ER_INVALID_CAST_TO_JSON";exports2[3148]="ER_INVALID_JSON_PATH_CHARSET";exports2[3149]="ER_INVALID_JSON_PATH_WILDCARD";exports2[3150]="ER_JSON_VALUE_TOO_BIG";exports2[3151]="ER_JSON_KEY_TOO_BIG";exports2[3152]="ER_JSON_USED_AS_KEY";exports2[3153]="ER_JSON_VACUOUS_PATH";exports2[3154]="ER_JSON_BAD_ONE_OR_ALL_ARG";exports2[3155]="ER_NUMERIC_JSON_VALUE_OUT_OF_RANGE";exports2[3156]="ER_INVALID_JSON_VALUE_FOR_CAST";exports2[3157]="ER_JSON_DOCUMENT_TOO_DEEP";exports2[3158]="ER_JSON_DOCUMENT_NULL_KEY";exports2[3159]="ER_SECURE_TRANSPORT_REQUIRED";exports2[3160]="ER_NO_SECURE_TRANSPORTS_CONFIGURED";exports2[3161]="ER_DISABLED_STORAGE_ENGINE";exports2[3162]="ER_USER_DOES_NOT_EXIST";exports2[3163]="ER_USER_ALREADY_EXISTS";exports2[3164]="ER_AUDIT_API_ABORT";exports2[3165]="ER_INVALID_JSON_PATH_ARRAY_CELL";exports2[3166]="ER_BUFPOOL_RESIZE_INPROGRESS";exports2[3167]="ER_FEATURE_DISABLED_SEE_DOC";exports2[3168]="ER_SERVER_ISNT_AVAILABLE";exports2[3169]="ER_SESSION_WAS_KILLED";exports2[3170]="ER_CAPACITY_EXCEEDED";exports2[3171]="ER_CAPACITY_EXCEEDED_IN_RANGE_OPTIMIZER";exports2[3172]="ER_TABLE_NEEDS_UPG_PART";exports2[3173]="ER_CANT_WAIT_FOR_EXECUTED_GTID_SET_WHILE_OWNING_A_GTID";exports2[3174]="ER_CANNOT_ADD_FOREIGN_BASE_COL_VIRTUAL";exports2[3175]="ER_CANNOT_CREATE_VIRTUAL_INDEX_CONSTRAINT";exports2[3176]="ER_ERROR_ON_MODIFYING_GTID_EXECUTED_TABLE";exports2[3177]="ER_LOCK_REFUSED_BY_ENGINE";exports2[3178]="ER_UNSUPPORTED_ALTER_ONLINE_ON_VIRTUAL_COLUMN";exports2[3179]="ER_MASTER_KEY_ROTATION_NOT_SUPPORTED_BY_SE";exports2[3180]="ER_MASTER_KEY_ROTATION_ERROR_BY_SE";exports2[3181]="ER_MASTER_KEY_ROTATION_BINLOG_FAILED";exports2[3182]="ER_MASTER_KEY_ROTATION_SE_UNAVAILABLE";exports2[3183]="ER_TABLESPACE_CANNOT_ENCRYPT";exports2[3184]="ER_INVALID_ENCRYPTION_OPTION";exports2[3185]="ER_CANNOT_FIND_KEY_IN_KEYRING";exports2[3186]="ER_CAPACITY_EXCEEDED_IN_PARSER";exports2[3187]="ER_UNSUPPORTED_ALTER_ENCRYPTION_INPLACE";exports2[3188]="ER_KEYRING_UDF_KEYRING_SERVICE_ERROR";exports2[3189]="ER_USER_COLUMN_OLD_LENGTH";exports2[3190]="ER_CANT_RESET_SOURCE";exports2[3191]="ER_GROUP_REPLICATION_MAX_GROUP_SIZE";exports2[3192]="ER_CANNOT_ADD_FOREIGN_BASE_COL_STORED";exports2[3193]="ER_TABLE_REFERENCED";exports2[3194]="ER_PARTITION_ENGINE_DEPRECATED_FOR_TABLE";exports2[3195]="ER_WARN_USING_GEOMFROMWKB_TO_SET_SRID_ZERO";exports2[3196]="ER_WARN_USING_GEOMFROMWKB_TO_SET_SRID";exports2[3197]="ER_XA_RETRY";exports2[3198]="ER_KEYRING_AWS_UDF_AWS_KMS_ERROR";exports2[3199]="ER_BINLOG_UNSAFE_XA";exports2[3200]="ER_UDF_ERROR";exports2[3201]="ER_KEYRING_MIGRATION_FAILURE";exports2[3202]="ER_KEYRING_ACCESS_DENIED_ERROR";exports2[3203]="ER_KEYRING_MIGRATION_STATUS";exports2[3204]="ER_PLUGIN_FAILED_TO_OPEN_TABLES";exports2[3205]="ER_PLUGIN_FAILED_TO_OPEN_TABLE";exports2[3206]="ER_AUDIT_LOG_NO_KEYRING_PLUGIN_INSTALLED";exports2[3207]="ER_AUDIT_LOG_ENCRYPTION_PASSWORD_HAS_NOT_BEEN_SET";exports2[3208]="ER_AUDIT_LOG_COULD_NOT_CREATE_AES_KEY";exports2[3209]="ER_AUDIT_LOG_ENCRYPTION_PASSWORD_CANNOT_BE_FETCHED";exports2[3210]="ER_AUDIT_LOG_JSON_FILTERING_NOT_ENABLED";exports2[3211]="ER_AUDIT_LOG_UDF_INSUFFICIENT_PRIVILEGE";exports2[3212]="ER_AUDIT_LOG_SUPER_PRIVILEGE_REQUIRED";exports2[3213]="ER_COULD_NOT_REINITIALIZE_AUDIT_LOG_FILTERS";exports2[3214]="ER_AUDIT_LOG_UDF_INVALID_ARGUMENT_TYPE";exports2[3215]="ER_AUDIT_LOG_UDF_INVALID_ARGUMENT_COUNT";exports2[3216]="ER_AUDIT_LOG_HAS_NOT_BEEN_INSTALLED";exports2[3217]="ER_AUDIT_LOG_UDF_READ_INVALID_MAX_ARRAY_LENGTH_ARG_TYPE";exports2[3218]="ER_AUDIT_LOG_UDF_READ_INVALID_MAX_ARRAY_LENGTH_ARG_VALUE";exports2[3219]="ER_AUDIT_LOG_JSON_FILTER_PARSING_ERROR";exports2[3220]="ER_AUDIT_LOG_JSON_FILTER_NAME_CANNOT_BE_EMPTY";exports2[3221]="ER_AUDIT_LOG_JSON_USER_NAME_CANNOT_BE_EMPTY";exports2[3222]="ER_AUDIT_LOG_JSON_FILTER_DOES_NOT_EXISTS";exports2[3223]="ER_AUDIT_LOG_USER_FIRST_CHARACTER_MUST_BE_ALPHANUMERIC";exports2[3224]="ER_AUDIT_LOG_USER_NAME_INVALID_CHARACTER";exports2[3225]="ER_AUDIT_LOG_HOST_NAME_INVALID_CHARACTER";exports2[3226]="WARN_DEPRECATED_MAXDB_SQL_MODE_FOR_TIMESTAMP";exports2[3227]="ER_XA_REPLICATION_FILTERS";exports2[3228]="ER_CANT_OPEN_ERROR_LOG";exports2[3229]="ER_GROUPING_ON_TIMESTAMP_IN_DST";exports2[3230]="ER_CANT_START_SERVER_NAMED_PIPE";exports2[3231]="ER_WRITE_SET_EXCEEDS_LIMIT";exports2[3232]="ER_DEPRECATED_TLS_VERSION_SESSION_57";exports2[3233]="ER_WARN_DEPRECATED_TLS_VERSION_57";exports2[3234]="ER_WARN_WRONG_NATIVE_TABLE_STRUCTURE";exports2[3235]="ER_AES_INVALID_KDF_NAME";exports2[3236]="ER_AES_INVALID_KDF_ITERATIONS";exports2[3237]="WARN_AES_KEY_SIZE";exports2[3238]="ER_AES_INVALID_KDF_OPTION_SIZE";exports2[3500]="ER_UNSUPPORT_COMPRESSED_TEMPORARY_TABLE";exports2[3501]="ER_ACL_OPERATION_FAILED";exports2[3502]="ER_UNSUPPORTED_INDEX_ALGORITHM";exports2[3503]="ER_NO_SUCH_DB";exports2[3504]="ER_TOO_BIG_ENUM";exports2[3505]="ER_TOO_LONG_SET_ENUM_VALUE";exports2[3506]="ER_INVALID_DD_OBJECT";exports2[3507]="ER_UPDATING_DD_TABLE";exports2[3508]="ER_INVALID_DD_OBJECT_ID";exports2[3509]="ER_INVALID_DD_OBJECT_NAME";exports2[3510]="ER_TABLESPACE_MISSING_WITH_NAME";exports2[3511]="ER_TOO_LONG_ROUTINE_COMMENT";exports2[3512]="ER_SP_LOAD_FAILED";exports2[3513]="ER_INVALID_BITWISE_OPERANDS_SIZE";exports2[3514]="ER_INVALID_BITWISE_AGGREGATE_OPERANDS_SIZE";exports2[3515]="ER_WARN_UNSUPPORTED_HINT";exports2[3516]="ER_UNEXPECTED_GEOMETRY_TYPE";exports2[3517]="ER_SRS_PARSE_ERROR";exports2[3518]="ER_SRS_PROJ_PARAMETER_MISSING";exports2[3519]="ER_WARN_SRS_NOT_FOUND";exports2[3520]="ER_SRS_NOT_CARTESIAN";exports2[3521]="ER_SRS_NOT_CARTESIAN_UNDEFINED";exports2[3522]="ER_PK_INDEX_CANT_BE_INVISIBLE";exports2[3523]="ER_UNKNOWN_AUTHID";exports2[3524]="ER_FAILED_ROLE_GRANT";exports2[3525]="ER_OPEN_ROLE_TABLES";exports2[3526]="ER_FAILED_DEFAULT_ROLES";exports2[3527]="ER_COMPONENTS_NO_SCHEME";exports2[3528]="ER_COMPONENTS_NO_SCHEME_SERVICE";exports2[3529]="ER_COMPONENTS_CANT_LOAD";exports2[3530]="ER_ROLE_NOT_GRANTED";exports2[3531]="ER_FAILED_REVOKE_ROLE";exports2[3532]="ER_RENAME_ROLE";exports2[3533]="ER_COMPONENTS_CANT_ACQUIRE_SERVICE_IMPLEMENTATION";exports2[3534]="ER_COMPONENTS_CANT_SATISFY_DEPENDENCY";exports2[3535]="ER_COMPONENTS_LOAD_CANT_REGISTER_SERVICE_IMPLEMENTATION";exports2[3536]="ER_COMPONENTS_LOAD_CANT_INITIALIZE";exports2[3537]="ER_COMPONENTS_UNLOAD_NOT_LOADED";exports2[3538]="ER_COMPONENTS_UNLOAD_CANT_DEINITIALIZE";exports2[3539]="ER_COMPONENTS_CANT_RELEASE_SERVICE";exports2[3540]="ER_COMPONENTS_UNLOAD_CANT_UNREGISTER_SERVICE";exports2[3541]="ER_COMPONENTS_CANT_UNLOAD";exports2[3542]="ER_WARN_UNLOAD_THE_NOT_PERSISTED";exports2[3543]="ER_COMPONENT_TABLE_INCORRECT";exports2[3544]="ER_COMPONENT_MANIPULATE_ROW_FAILED";exports2[3545]="ER_COMPONENTS_UNLOAD_DUPLICATE_IN_GROUP";exports2[3546]="ER_CANT_SET_GTID_PURGED_DUE_SETS_CONSTRAINTS";exports2[3547]="ER_CANNOT_LOCK_USER_MANAGEMENT_CACHES";exports2[3548]="ER_SRS_NOT_FOUND";exports2[3549]="ER_VARIABLE_NOT_PERSISTED";exports2[3550]="ER_IS_QUERY_INVALID_CLAUSE";exports2[3551]="ER_UNABLE_TO_STORE_STATISTICS";exports2[3552]="ER_NO_SYSTEM_SCHEMA_ACCESS";exports2[3553]="ER_NO_SYSTEM_TABLESPACE_ACCESS";exports2[3554]="ER_NO_SYSTEM_TABLE_ACCESS";exports2[3555]="ER_NO_SYSTEM_TABLE_ACCESS_FOR_DICTIONARY_TABLE";exports2[3556]="ER_NO_SYSTEM_TABLE_ACCESS_FOR_SYSTEM_TABLE";exports2[3557]="ER_NO_SYSTEM_TABLE_ACCESS_FOR_TABLE";exports2[3558]="ER_INVALID_OPTION_KEY";exports2[3559]="ER_INVALID_OPTION_VALUE";exports2[3560]="ER_INVALID_OPTION_KEY_VALUE_PAIR";exports2[3561]="ER_INVALID_OPTION_START_CHARACTER";exports2[3562]="ER_INVALID_OPTION_END_CHARACTER";exports2[3563]="ER_INVALID_OPTION_CHARACTERS";exports2[3564]="ER_DUPLICATE_OPTION_KEY";exports2[3565]="ER_WARN_SRS_NOT_FOUND_AXIS_ORDER";exports2[3566]="ER_NO_ACCESS_TO_NATIVE_FCT";exports2[3567]="ER_RESET_SOURCE_TO_VALUE_OUT_OF_RANGE";exports2[3568]="ER_UNRESOLVED_TABLE_LOCK";exports2[3569]="ER_DUPLICATE_TABLE_LOCK";exports2[3570]="ER_BINLOG_UNSAFE_SKIP_LOCKED";exports2[3571]="ER_BINLOG_UNSAFE_NOWAIT";exports2[3572]="ER_LOCK_NOWAIT";exports2[3573]="ER_CTE_RECURSIVE_REQUIRES_UNION";exports2[3574]="ER_CTE_RECURSIVE_REQUIRES_NONRECURSIVE_FIRST";exports2[3575]="ER_CTE_RECURSIVE_FORBIDS_AGGREGATION";exports2[3576]="ER_CTE_RECURSIVE_FORBIDDEN_JOIN_ORDER";exports2[3577]="ER_CTE_RECURSIVE_REQUIRES_SINGLE_REFERENCE";exports2[3578]="ER_SWITCH_TMP_ENGINE";exports2[3579]="ER_WINDOW_NO_SUCH_WINDOW";exports2[3580]="ER_WINDOW_CIRCULARITY_IN_WINDOW_GRAPH";exports2[3581]="ER_WINDOW_NO_CHILD_PARTITIONING";exports2[3582]="ER_WINDOW_NO_INHERIT_FRAME";exports2[3583]="ER_WINDOW_NO_REDEFINE_ORDER_BY";exports2[3584]="ER_WINDOW_FRAME_START_ILLEGAL";exports2[3585]="ER_WINDOW_FRAME_END_ILLEGAL";exports2[3586]="ER_WINDOW_FRAME_ILLEGAL";exports2[3587]="ER_WINDOW_RANGE_FRAME_ORDER_TYPE";exports2[3588]="ER_WINDOW_RANGE_FRAME_TEMPORAL_TYPE";exports2[3589]="ER_WINDOW_RANGE_FRAME_NUMERIC_TYPE";exports2[3590]="ER_WINDOW_RANGE_BOUND_NOT_CONSTANT";exports2[3591]="ER_WINDOW_DUPLICATE_NAME";exports2[3592]="ER_WINDOW_ILLEGAL_ORDER_BY";exports2[3593]="ER_WINDOW_INVALID_WINDOW_FUNC_USE";exports2[3594]="ER_WINDOW_INVALID_WINDOW_FUNC_ALIAS_USE";exports2[3595]="ER_WINDOW_NESTED_WINDOW_FUNC_USE_IN_WINDOW_SPEC";exports2[3596]="ER_WINDOW_ROWS_INTERVAL_USE";exports2[3597]="ER_WINDOW_NO_GROUP_ORDER";exports2[3598]="ER_WINDOW_EXPLAIN_JSON";exports2[3599]="ER_WINDOW_FUNCTION_IGNORES_FRAME";exports2[3600]="ER_WL9236_NOW";exports2[3601]="ER_INVALID_NO_OF_ARGS";exports2[3602]="ER_FIELD_IN_GROUPING_NOT_GROUP_BY";exports2[3603]="ER_TOO_LONG_TABLESPACE_COMMENT";exports2[3604]="ER_ENGINE_CANT_DROP_TABLE";exports2[3605]="ER_ENGINE_CANT_DROP_MISSING_TABLE";exports2[3606]="ER_TABLESPACE_DUP_FILENAME";exports2[3607]="ER_DB_DROP_RMDIR2";exports2[3608]="ER_IMP_NO_FILES_MATCHED";exports2[3609]="ER_IMP_SCHEMA_DOES_NOT_EXIST";exports2[3610]="ER_IMP_TABLE_ALREADY_EXISTS";exports2[3611]="ER_IMP_INCOMPATIBLE_MYSQLD_VERSION";exports2[3612]="ER_IMP_INCOMPATIBLE_DD_VERSION";exports2[3613]="ER_IMP_INCOMPATIBLE_SDI_VERSION";exports2[3614]="ER_WARN_INVALID_HINT";exports2[3615]="ER_VAR_DOES_NOT_EXIST";exports2[3616]="ER_LONGITUDE_OUT_OF_RANGE";exports2[3617]="ER_LATITUDE_OUT_OF_RANGE";exports2[3618]="ER_NOT_IMPLEMENTED_FOR_GEOGRAPHIC_SRS";exports2[3619]="ER_ILLEGAL_PRIVILEGE_LEVEL";exports2[3620]="ER_NO_SYSTEM_VIEW_ACCESS";exports2[3621]="ER_COMPONENT_FILTER_FLABBERGASTED";exports2[3622]="ER_PART_EXPR_TOO_LONG";exports2[3623]="ER_UDF_DROP_DYNAMICALLY_REGISTERED";exports2[3624]="ER_UNABLE_TO_STORE_COLUMN_STATISTICS";exports2[3625]="ER_UNABLE_TO_UPDATE_COLUMN_STATISTICS";exports2[3626]="ER_UNABLE_TO_DROP_COLUMN_STATISTICS";exports2[3627]="ER_UNABLE_TO_BUILD_HISTOGRAM";exports2[3628]="ER_MANDATORY_ROLE";exports2[3629]="ER_MISSING_TABLESPACE_FILE";exports2[3630]="ER_PERSIST_ONLY_ACCESS_DENIED_ERROR";exports2[3631]="ER_CMD_NEED_SUPER";exports2[3632]="ER_PATH_IN_DATADIR";exports2[3633]="ER_CLONE_DDL_IN_PROGRESS";exports2[3634]="ER_CLONE_TOO_MANY_CONCURRENT_CLONES";exports2[3635]="ER_APPLIER_LOG_EVENT_VALIDATION_ERROR";exports2[3636]="ER_CTE_MAX_RECURSION_DEPTH";exports2[3637]="ER_NOT_HINT_UPDATABLE_VARIABLE";exports2[3638]="ER_CREDENTIALS_CONTRADICT_TO_HISTORY";exports2[3639]="ER_WARNING_PASSWORD_HISTORY_CLAUSES_VOID";exports2[3640]="ER_CLIENT_DOES_NOT_SUPPORT";exports2[3641]="ER_I_S_SKIPPED_TABLESPACE";exports2[3642]="ER_TABLESPACE_ENGINE_MISMATCH";exports2[3643]="ER_WRONG_SRID_FOR_COLUMN";exports2[3644]="ER_CANNOT_ALTER_SRID_DUE_TO_INDEX";exports2[3645]="ER_WARN_BINLOG_PARTIAL_UPDATES_DISABLED";exports2[3646]="ER_WARN_BINLOG_V1_ROW_EVENTS_DISABLED";exports2[3647]="ER_WARN_BINLOG_PARTIAL_UPDATES_SUGGESTS_PARTIAL_IMAGES";exports2[3648]="ER_COULD_NOT_APPLY_JSON_DIFF";exports2[3649]="ER_CORRUPTED_JSON_DIFF";exports2[3650]="ER_RESOURCE_GROUP_EXISTS";exports2[3651]="ER_RESOURCE_GROUP_NOT_EXISTS";exports2[3652]="ER_INVALID_VCPU_ID";exports2[3653]="ER_INVALID_VCPU_RANGE";exports2[3654]="ER_INVALID_THREAD_PRIORITY";exports2[3655]="ER_DISALLOWED_OPERATION";exports2[3656]="ER_RESOURCE_GROUP_BUSY";exports2[3657]="ER_RESOURCE_GROUP_DISABLED";exports2[3658]="ER_FEATURE_UNSUPPORTED";exports2[3659]="ER_ATTRIBUTE_IGNORED";exports2[3660]="ER_INVALID_THREAD_ID";exports2[3661]="ER_RESOURCE_GROUP_BIND_FAILED";exports2[3662]="ER_INVALID_USE_OF_FORCE_OPTION";exports2[3663]="ER_GROUP_REPLICATION_COMMAND_FAILURE";exports2[3664]="ER_SDI_OPERATION_FAILED";exports2[3665]="ER_MISSING_JSON_TABLE_VALUE";exports2[3666]="ER_WRONG_JSON_TABLE_VALUE";exports2[3667]="ER_TF_MUST_HAVE_ALIAS";exports2[3668]="ER_TF_FORBIDDEN_JOIN_TYPE";exports2[3669]="ER_JT_VALUE_OUT_OF_RANGE";exports2[3670]="ER_JT_MAX_NESTED_PATH";exports2[3671]="ER_PASSWORD_EXPIRATION_NOT_SUPPORTED_BY_AUTH_METHOD";exports2[3672]="ER_INVALID_GEOJSON_CRS_NOT_TOP_LEVEL";exports2[3673]="ER_BAD_NULL_ERROR_NOT_IGNORED";exports2[3674]="WARN_USELESS_SPATIAL_INDEX";exports2[3675]="ER_DISK_FULL_NOWAIT";exports2[3676]="ER_PARSE_ERROR_IN_DIGEST_FN";exports2[3677]="ER_UNDISCLOSED_PARSE_ERROR_IN_DIGEST_FN";exports2[3678]="ER_SCHEMA_DIR_EXISTS";exports2[3679]="ER_SCHEMA_DIR_MISSING";exports2[3680]="ER_SCHEMA_DIR_CREATE_FAILED";exports2[3681]="ER_SCHEMA_DIR_UNKNOWN";exports2[3682]="ER_ONLY_IMPLEMENTED_FOR_SRID_0_AND_4326";exports2[3683]="ER_BINLOG_EXPIRE_LOG_DAYS_AND_SECS_USED_TOGETHER";exports2[3684]="ER_REGEXP_BUFFER_OVERFLOW";exports2[3685]="ER_REGEXP_ILLEGAL_ARGUMENT";exports2[3686]="ER_REGEXP_INDEX_OUTOFBOUNDS_ERROR";exports2[3687]="ER_REGEXP_INTERNAL_ERROR";exports2[3688]="ER_REGEXP_RULE_SYNTAX";exports2[3689]="ER_REGEXP_BAD_ESCAPE_SEQUENCE";exports2[3690]="ER_REGEXP_UNIMPLEMENTED";exports2[3691]="ER_REGEXP_MISMATCHED_PAREN";exports2[3692]="ER_REGEXP_BAD_INTERVAL";exports2[3693]="ER_REGEXP_MAX_LT_MIN";exports2[3694]="ER_REGEXP_INVALID_BACK_REF";exports2[3695]="ER_REGEXP_LOOK_BEHIND_LIMIT";exports2[3696]="ER_REGEXP_MISSING_CLOSE_BRACKET";exports2[3697]="ER_REGEXP_INVALID_RANGE";exports2[3698]="ER_REGEXP_STACK_OVERFLOW";exports2[3699]="ER_REGEXP_TIME_OUT";exports2[3700]="ER_REGEXP_PATTERN_TOO_BIG";exports2[3701]="ER_CANT_SET_ERROR_LOG_SERVICE";exports2[3702]="ER_EMPTY_PIPELINE_FOR_ERROR_LOG_SERVICE";exports2[3703]="ER_COMPONENT_FILTER_DIAGNOSTICS";exports2[3704]="ER_NOT_IMPLEMENTED_FOR_CARTESIAN_SRS";exports2[3705]="ER_NOT_IMPLEMENTED_FOR_PROJECTED_SRS";exports2[3706]="ER_NONPOSITIVE_RADIUS";exports2[3707]="ER_RESTART_SERVER_FAILED";exports2[3708]="ER_SRS_MISSING_MANDATORY_ATTRIBUTE";exports2[3709]="ER_SRS_MULTIPLE_ATTRIBUTE_DEFINITIONS";exports2[3710]="ER_SRS_NAME_CANT_BE_EMPTY_OR_WHITESPACE";exports2[3711]="ER_SRS_ORGANIZATION_CANT_BE_EMPTY_OR_WHITESPACE";exports2[3712]="ER_SRS_ID_ALREADY_EXISTS";exports2[3713]="ER_WARN_SRS_ID_ALREADY_EXISTS";exports2[3714]="ER_CANT_MODIFY_SRID_0";exports2[3715]="ER_WARN_RESERVED_SRID_RANGE";exports2[3716]="ER_CANT_MODIFY_SRS_USED_BY_COLUMN";exports2[3717]="ER_SRS_INVALID_CHARACTER_IN_ATTRIBUTE";exports2[3718]="ER_SRS_ATTRIBUTE_STRING_TOO_LONG";exports2[3719]="ER_DEPRECATED_UTF8_ALIAS";exports2[3720]="ER_DEPRECATED_NATIONAL";exports2[3721]="ER_INVALID_DEFAULT_UTF8MB4_COLLATION";exports2[3722]="ER_UNABLE_TO_COLLECT_LOG_STATUS";exports2[3723]="ER_RESERVED_TABLESPACE_NAME";exports2[3724]="ER_UNABLE_TO_SET_OPTION";exports2[3725]="ER_REPLICA_POSSIBLY_DIVERGED_AFTER_DDL";exports2[3726]="ER_SRS_NOT_GEOGRAPHIC";exports2[3727]="ER_POLYGON_TOO_LARGE";exports2[3728]="ER_SPATIAL_UNIQUE_INDEX";exports2[3729]="ER_INDEX_TYPE_NOT_SUPPORTED_FOR_SPATIAL_INDEX";exports2[3730]="ER_FK_CANNOT_DROP_PARENT";exports2[3731]="ER_GEOMETRY_PARAM_LONGITUDE_OUT_OF_RANGE";exports2[3732]="ER_GEOMETRY_PARAM_LATITUDE_OUT_OF_RANGE";exports2[3733]="ER_FK_CANNOT_USE_VIRTUAL_COLUMN";exports2[3734]="ER_FK_NO_COLUMN_PARENT";exports2[3735]="ER_CANT_SET_ERROR_SUPPRESSION_LIST";exports2[3736]="ER_SRS_GEOGCS_INVALID_AXES";exports2[3737]="ER_SRS_INVALID_SEMI_MAJOR_AXIS";exports2[3738]="ER_SRS_INVALID_INVERSE_FLATTENING";exports2[3739]="ER_SRS_INVALID_ANGULAR_UNIT";exports2[3740]="ER_SRS_INVALID_PRIME_MERIDIAN";exports2[3741]="ER_TRANSFORM_SOURCE_SRS_NOT_SUPPORTED";exports2[3742]="ER_TRANSFORM_TARGET_SRS_NOT_SUPPORTED";exports2[3743]="ER_TRANSFORM_SOURCE_SRS_MISSING_TOWGS84";exports2[3744]="ER_TRANSFORM_TARGET_SRS_MISSING_TOWGS84";exports2[3745]="ER_TEMP_TABLE_PREVENTS_SWITCH_SESSION_BINLOG_FORMAT";exports2[3746]="ER_TEMP_TABLE_PREVENTS_SWITCH_GLOBAL_BINLOG_FORMAT";exports2[3747]="ER_RUNNING_APPLIER_PREVENTS_SWITCH_GLOBAL_BINLOG_FORMAT";exports2[3748]="ER_CLIENT_GTID_UNSAFE_CREATE_DROP_TEMP_TABLE_IN_TRX_IN_SBR";exports2[3749]="ER_XA_CANT_CREATE_MDL_BACKUP";exports2[3750]="ER_TABLE_WITHOUT_PK";exports2[3751]="ER_WARN_DATA_TRUNCATED_FUNCTIONAL_INDEX";exports2[3752]="ER_WARN_DATA_OUT_OF_RANGE_FUNCTIONAL_INDEX";exports2[3753]="ER_FUNCTIONAL_INDEX_ON_JSON_OR_GEOMETRY_FUNCTION";exports2[3754]="ER_FUNCTIONAL_INDEX_REF_AUTO_INCREMENT";exports2[3755]="ER_CANNOT_DROP_COLUMN_FUNCTIONAL_INDEX";exports2[3756]="ER_FUNCTIONAL_INDEX_PRIMARY_KEY";exports2[3757]="ER_FUNCTIONAL_INDEX_ON_LOB";exports2[3758]="ER_FUNCTIONAL_INDEX_FUNCTION_IS_NOT_ALLOWED";exports2[3759]="ER_FULLTEXT_FUNCTIONAL_INDEX";exports2[3760]="ER_SPATIAL_FUNCTIONAL_INDEX";exports2[3761]="ER_WRONG_KEY_COLUMN_FUNCTIONAL_INDEX";exports2[3762]="ER_FUNCTIONAL_INDEX_ON_FIELD";exports2[3763]="ER_GENERATED_COLUMN_NAMED_FUNCTION_IS_NOT_ALLOWED";exports2[3764]="ER_GENERATED_COLUMN_ROW_VALUE";exports2[3765]="ER_GENERATED_COLUMN_VARIABLES";exports2[3766]="ER_DEPENDENT_BY_DEFAULT_GENERATED_VALUE";exports2[3767]="ER_DEFAULT_VAL_GENERATED_NON_PRIOR";exports2[3768]="ER_DEFAULT_VAL_GENERATED_REF_AUTO_INC";exports2[3769]="ER_DEFAULT_VAL_GENERATED_FUNCTION_IS_NOT_ALLOWED";exports2[3770]="ER_DEFAULT_VAL_GENERATED_NAMED_FUNCTION_IS_NOT_ALLOWED";exports2[3771]="ER_DEFAULT_VAL_GENERATED_ROW_VALUE";exports2[3772]="ER_DEFAULT_VAL_GENERATED_VARIABLES";exports2[3773]="ER_DEFAULT_AS_VAL_GENERATED";exports2[3774]="ER_UNSUPPORTED_ACTION_ON_DEFAULT_VAL_GENERATED";exports2[3775]="ER_GTID_UNSAFE_ALTER_ADD_COL_WITH_DEFAULT_EXPRESSION";exports2[3776]="ER_FK_CANNOT_CHANGE_ENGINE";exports2[3777]="ER_WARN_DEPRECATED_USER_SET_EXPR";exports2[3778]="ER_WARN_DEPRECATED_UTF8MB3_COLLATION";exports2[3779]="ER_WARN_DEPRECATED_NESTED_COMMENT_SYNTAX";exports2[3780]="ER_FK_INCOMPATIBLE_COLUMNS";exports2[3781]="ER_GR_HOLD_WAIT_TIMEOUT";exports2[3782]="ER_GR_HOLD_KILLED";exports2[3783]="ER_GR_HOLD_MEMBER_STATUS_ERROR";exports2[3784]="ER_RPL_ENCRYPTION_FAILED_TO_FETCH_KEY";exports2[3785]="ER_RPL_ENCRYPTION_KEY_NOT_FOUND";exports2[3786]="ER_RPL_ENCRYPTION_KEYRING_INVALID_KEY";exports2[3787]="ER_RPL_ENCRYPTION_HEADER_ERROR";exports2[3788]="ER_RPL_ENCRYPTION_FAILED_TO_ROTATE_LOGS";exports2[3789]="ER_RPL_ENCRYPTION_KEY_EXISTS_UNEXPECTED";exports2[3790]="ER_RPL_ENCRYPTION_FAILED_TO_GENERATE_KEY";exports2[3791]="ER_RPL_ENCRYPTION_FAILED_TO_STORE_KEY";exports2[3792]="ER_RPL_ENCRYPTION_FAILED_TO_REMOVE_KEY";exports2[3793]="ER_RPL_ENCRYPTION_UNABLE_TO_CHANGE_OPTION";exports2[3794]="ER_RPL_ENCRYPTION_MASTER_KEY_RECOVERY_FAILED";exports2[3795]="ER_SLOW_LOG_MODE_IGNORED_WHEN_NOT_LOGGING_TO_FILE";exports2[3796]="ER_GRP_TRX_CONSISTENCY_NOT_ALLOWED";exports2[3797]="ER_GRP_TRX_CONSISTENCY_BEFORE";exports2[3798]="ER_GRP_TRX_CONSISTENCY_AFTER_ON_TRX_BEGIN";exports2[3799]="ER_GRP_TRX_CONSISTENCY_BEGIN_NOT_ALLOWED";exports2[3800]="ER_FUNCTIONAL_INDEX_ROW_VALUE_IS_NOT_ALLOWED";exports2[3801]="ER_RPL_ENCRYPTION_FAILED_TO_ENCRYPT";exports2[3802]="ER_PAGE_TRACKING_NOT_STARTED";exports2[3803]="ER_PAGE_TRACKING_RANGE_NOT_TRACKED";exports2[3804]="ER_PAGE_TRACKING_CANNOT_PURGE";exports2[3805]="ER_RPL_ENCRYPTION_CANNOT_ROTATE_BINLOG_MASTER_KEY";exports2[3806]="ER_BINLOG_MASTER_KEY_RECOVERY_OUT_OF_COMBINATION";exports2[3807]="ER_BINLOG_MASTER_KEY_ROTATION_FAIL_TO_OPERATE_KEY";exports2[3808]="ER_BINLOG_MASTER_KEY_ROTATION_FAIL_TO_ROTATE_LOGS";exports2[3809]="ER_BINLOG_MASTER_KEY_ROTATION_FAIL_TO_REENCRYPT_LOG";exports2[3810]="ER_BINLOG_MASTER_KEY_ROTATION_FAIL_TO_CLEANUP_UNUSED_KEYS";exports2[3811]="ER_BINLOG_MASTER_KEY_ROTATION_FAIL_TO_CLEANUP_AUX_KEY";exports2[3812]="ER_NON_BOOLEAN_EXPR_FOR_CHECK_CONSTRAINT";exports2[3813]="ER_COLUMN_CHECK_CONSTRAINT_REFERENCES_OTHER_COLUMN";exports2[3814]="ER_CHECK_CONSTRAINT_NAMED_FUNCTION_IS_NOT_ALLOWED";exports2[3815]="ER_CHECK_CONSTRAINT_FUNCTION_IS_NOT_ALLOWED";exports2[3816]="ER_CHECK_CONSTRAINT_VARIABLES";exports2[3817]="ER_CHECK_CONSTRAINT_ROW_VALUE";exports2[3818]="ER_CHECK_CONSTRAINT_REFERS_AUTO_INCREMENT_COLUMN";exports2[3819]="ER_CHECK_CONSTRAINT_VIOLATED";exports2[3820]="ER_CHECK_CONSTRAINT_REFERS_UNKNOWN_COLUMN";exports2[3821]="ER_CHECK_CONSTRAINT_NOT_FOUND";exports2[3822]="ER_CHECK_CONSTRAINT_DUP_NAME";exports2[3823]="ER_CHECK_CONSTRAINT_CLAUSE_USING_FK_REFER_ACTION_COLUMN";exports2[3824]="WARN_UNENCRYPTED_TABLE_IN_ENCRYPTED_DB";exports2[3825]="ER_INVALID_ENCRYPTION_REQUEST";exports2[3826]="ER_CANNOT_SET_TABLE_ENCRYPTION";exports2[3827]="ER_CANNOT_SET_DATABASE_ENCRYPTION";exports2[3828]="ER_CANNOT_SET_TABLESPACE_ENCRYPTION";exports2[3829]="ER_TABLESPACE_CANNOT_BE_ENCRYPTED";exports2[3830]="ER_TABLESPACE_CANNOT_BE_DECRYPTED";exports2[3831]="ER_TABLESPACE_TYPE_UNKNOWN";exports2[3832]="ER_TARGET_TABLESPACE_UNENCRYPTED";exports2[3833]="ER_CANNOT_USE_ENCRYPTION_CLAUSE";exports2[3834]="ER_INVALID_MULTIPLE_CLAUSES";exports2[3835]="ER_UNSUPPORTED_USE_OF_GRANT_AS";exports2[3836]="ER_UKNOWN_AUTH_ID_OR_ACCESS_DENIED_FOR_GRANT_AS";exports2[3837]="ER_DEPENDENT_BY_FUNCTIONAL_INDEX";exports2[3838]="ER_PLUGIN_NOT_EARLY";exports2[3839]="ER_INNODB_REDO_LOG_ARCHIVE_START_SUBDIR_PATH";exports2[3840]="ER_INNODB_REDO_LOG_ARCHIVE_START_TIMEOUT";exports2[3841]="ER_INNODB_REDO_LOG_ARCHIVE_DIRS_INVALID";exports2[3842]="ER_INNODB_REDO_LOG_ARCHIVE_LABEL_NOT_FOUND";exports2[3843]="ER_INNODB_REDO_LOG_ARCHIVE_DIR_EMPTY";exports2[3844]="ER_INNODB_REDO_LOG_ARCHIVE_NO_SUCH_DIR";exports2[3845]="ER_INNODB_REDO_LOG_ARCHIVE_DIR_CLASH";exports2[3846]="ER_INNODB_REDO_LOG_ARCHIVE_DIR_PERMISSIONS";exports2[3847]="ER_INNODB_REDO_LOG_ARCHIVE_FILE_CREATE";exports2[3848]="ER_INNODB_REDO_LOG_ARCHIVE_ACTIVE";exports2[3849]="ER_INNODB_REDO_LOG_ARCHIVE_INACTIVE";exports2[3850]="ER_INNODB_REDO_LOG_ARCHIVE_FAILED";exports2[3851]="ER_INNODB_REDO_LOG_ARCHIVE_SESSION";exports2[3852]="ER_STD_REGEX_ERROR";exports2[3853]="ER_INVALID_JSON_TYPE";exports2[3854]="ER_CANNOT_CONVERT_STRING";exports2[3855]="ER_DEPENDENT_BY_PARTITION_FUNC";exports2[3856]="ER_WARN_DEPRECATED_FLOAT_AUTO_INCREMENT";exports2[3857]="ER_RPL_CANT_STOP_REPLICA_WHILE_LOCKED_BACKUP";exports2[3858]="ER_WARN_DEPRECATED_FLOAT_DIGITS";exports2[3859]="ER_WARN_DEPRECATED_FLOAT_UNSIGNED";exports2[3860]="ER_WARN_DEPRECATED_INTEGER_DISPLAY_WIDTH";exports2[3861]="ER_WARN_DEPRECATED_ZEROFILL";exports2[3862]="ER_CLONE_DONOR";exports2[3863]="ER_CLONE_PROTOCOL";exports2[3864]="ER_CLONE_DONOR_VERSION";exports2[3865]="ER_CLONE_OS";exports2[3866]="ER_CLONE_PLATFORM";exports2[3867]="ER_CLONE_CHARSET";exports2[3868]="ER_CLONE_CONFIG";exports2[3869]="ER_CLONE_SYS_CONFIG";exports2[3870]="ER_CLONE_PLUGIN_MATCH";exports2[3871]="ER_CLONE_LOOPBACK";exports2[3872]="ER_CLONE_ENCRYPTION";exports2[3873]="ER_CLONE_DISK_SPACE";exports2[3874]="ER_CLONE_IN_PROGRESS";exports2[3875]="ER_CLONE_DISALLOWED";exports2[3876]="ER_CANNOT_GRANT_ROLES_TO_ANONYMOUS_USER";exports2[3877]="ER_SECONDARY_ENGINE_PLUGIN";exports2[3878]="ER_SECOND_PASSWORD_CANNOT_BE_EMPTY";exports2[3879]="ER_DB_ACCESS_DENIED";exports2[3880]="ER_DA_AUTH_ID_WITH_SYSTEM_USER_PRIV_IN_MANDATORY_ROLES";exports2[3881]="ER_DA_RPL_GTID_TABLE_CANNOT_OPEN";exports2[3882]="ER_GEOMETRY_IN_UNKNOWN_LENGTH_UNIT";exports2[3883]="ER_DA_PLUGIN_INSTALL_ERROR";exports2[3884]="ER_NO_SESSION_TEMP";exports2[3885]="ER_DA_UNKNOWN_ERROR_NUMBER";exports2[3886]="ER_COLUMN_CHANGE_SIZE";exports2[3887]="ER_REGEXP_INVALID_CAPTURE_GROUP_NAME";exports2[3888]="ER_DA_SSL_LIBRARY_ERROR";exports2[3889]="ER_SECONDARY_ENGINE";exports2[3890]="ER_SECONDARY_ENGINE_DDL";exports2[3891]="ER_INCORRECT_CURRENT_PASSWORD";exports2[3892]="ER_MISSING_CURRENT_PASSWORD";exports2[3893]="ER_CURRENT_PASSWORD_NOT_REQUIRED";exports2[3894]="ER_PASSWORD_CANNOT_BE_RETAINED_ON_PLUGIN_CHANGE";exports2[3895]="ER_CURRENT_PASSWORD_CANNOT_BE_RETAINED";exports2[3896]="ER_PARTIAL_REVOKES_EXIST";exports2[3897]="ER_CANNOT_GRANT_SYSTEM_PRIV_TO_MANDATORY_ROLE";exports2[3898]="ER_XA_REPLICATION_FILTERS";exports2[3899]="ER_UNSUPPORTED_SQL_MODE";exports2[3900]="ER_REGEXP_INVALID_FLAG";exports2[3901]="ER_PARTIAL_REVOKE_AND_DB_GRANT_BOTH_EXISTS";exports2[3902]="ER_UNIT_NOT_FOUND";exports2[3903]="ER_INVALID_JSON_VALUE_FOR_FUNC_INDEX";exports2[3904]="ER_JSON_VALUE_OUT_OF_RANGE_FOR_FUNC_INDEX";exports2[3905]="ER_EXCEEDED_MV_KEYS_NUM";exports2[3906]="ER_EXCEEDED_MV_KEYS_SPACE";exports2[3907]="ER_FUNCTIONAL_INDEX_DATA_IS_TOO_LONG";exports2[3908]="ER_WRONG_MVI_VALUE";exports2[3909]="ER_WARN_FUNC_INDEX_NOT_APPLICABLE";exports2[3910]="ER_GRP_RPL_UDF_ERROR";exports2[3911]="ER_UPDATE_GTID_PURGED_WITH_GR";exports2[3912]="ER_GROUPING_ON_TIMESTAMP_IN_DST";exports2[3913]="ER_TABLE_NAME_CAUSES_TOO_LONG_PATH";exports2[3914]="ER_AUDIT_LOG_INSUFFICIENT_PRIVILEGE";exports2[3915]="ER_AUDIT_LOG_PASSWORD_HAS_BEEN_COPIED";exports2[3916]="ER_DA_GRP_RPL_STARTED_AUTO_REJOIN";exports2[3917]="ER_SYSVAR_CHANGE_DURING_QUERY";exports2[3918]="ER_GLOBSTAT_CHANGE_DURING_QUERY";exports2[3919]="ER_GRP_RPL_MESSAGE_SERVICE_INIT_FAILURE";exports2[3920]="ER_CHANGE_SOURCE_WRONG_COMPRESSION_ALGORITHM_CLIENT";exports2[3921]="ER_CHANGE_SOURCE_WRONG_COMPRESSION_LEVEL_CLIENT";exports2[3922]="ER_WRONG_COMPRESSION_ALGORITHM_CLIENT";exports2[3923]="ER_WRONG_COMPRESSION_LEVEL_CLIENT";exports2[3924]="ER_CHANGE_SOURCE_WRONG_COMPRESSION_ALGORITHM_LIST_CLIENT";exports2[3925]="ER_CLIENT_PRIVILEGE_CHECKS_USER_CANNOT_BE_ANONYMOUS";exports2[3926]="ER_CLIENT_PRIVILEGE_CHECKS_USER_DOES_NOT_EXIST";exports2[3927]="ER_CLIENT_PRIVILEGE_CHECKS_USER_CORRUPT";exports2[3928]="ER_CLIENT_PRIVILEGE_CHECKS_USER_NEEDS_RPL_APPLIER_PRIV";exports2[3929]="ER_WARN_DA_PRIVILEGE_NOT_REGISTERED";exports2[3930]="ER_CLIENT_KEYRING_UDF_KEY_INVALID";exports2[3931]="ER_CLIENT_KEYRING_UDF_KEY_TYPE_INVALID";exports2[3932]="ER_CLIENT_KEYRING_UDF_KEY_TOO_LONG";exports2[3933]="ER_CLIENT_KEYRING_UDF_KEY_TYPE_TOO_LONG";exports2[3934]="ER_JSON_SCHEMA_VALIDATION_ERROR_WITH_DETAILED_REPORT";exports2[3935]="ER_DA_UDF_INVALID_CHARSET_SPECIFIED";exports2[3936]="ER_DA_UDF_INVALID_CHARSET";exports2[3937]="ER_DA_UDF_INVALID_COLLATION";exports2[3938]="ER_DA_UDF_INVALID_EXTENSION_ARGUMENT_TYPE";exports2[3939]="ER_MULTIPLE_CONSTRAINTS_WITH_SAME_NAME";exports2[3940]="ER_CONSTRAINT_NOT_FOUND";exports2[3941]="ER_ALTER_CONSTRAINT_ENFORCEMENT_NOT_SUPPORTED";exports2[3942]="ER_TABLE_VALUE_CONSTRUCTOR_MUST_HAVE_COLUMNS";exports2[3943]="ER_TABLE_VALUE_CONSTRUCTOR_CANNOT_HAVE_DEFAULT";exports2[3944]="ER_CLIENT_QUERY_FAILURE_INVALID_NON_ROW_FORMAT";exports2[3945]="ER_REQUIRE_ROW_FORMAT_INVALID_VALUE";exports2[3946]="ER_FAILED_TO_DETERMINE_IF_ROLE_IS_MANDATORY";exports2[3947]="ER_FAILED_TO_FETCH_MANDATORY_ROLE_LIST";exports2[3948]="ER_CLIENT_LOCAL_FILES_DISABLED";exports2[3949]="ER_IMP_INCOMPATIBLE_CFG_VERSION";exports2[3950]="ER_DA_OOM";exports2[3951]="ER_DA_UDF_INVALID_ARGUMENT_TO_SET_CHARSET";exports2[3952]="ER_DA_UDF_INVALID_RETURN_TYPE_TO_SET_CHARSET";exports2[3953]="ER_MULTIPLE_INTO_CLAUSES";exports2[3954]="ER_MISPLACED_INTO";exports2[3955]="ER_USER_ACCESS_DENIED_FOR_USER_ACCOUNT_BLOCKED_BY_PASSWORD_LOCK";exports2[3956]="ER_WARN_DEPRECATED_YEAR_UNSIGNED";exports2[3957]="ER_CLONE_NETWORK_PACKET";exports2[3958]="ER_SDI_OPERATION_FAILED_MISSING_RECORD";exports2[3959]="ER_DEPENDENT_BY_CHECK_CONSTRAINT";exports2[3960]="ER_GRP_OPERATION_NOT_ALLOWED_GR_MUST_STOP";exports2[3961]="ER_WARN_DEPRECATED_JSON_TABLE_ON_ERROR_ON_EMPTY";exports2[3962]="ER_WARN_DEPRECATED_INNER_INTO";exports2[3963]="ER_WARN_DEPRECATED_VALUES_FUNCTION_ALWAYS_NULL";exports2[3964]="ER_WARN_DEPRECATED_SQL_CALC_FOUND_ROWS";exports2[3965]="ER_WARN_DEPRECATED_FOUND_ROWS";exports2[3966]="ER_MISSING_JSON_VALUE";exports2[3967]="ER_MULTIPLE_JSON_VALUES";exports2[3968]="ER_HOSTNAME_TOO_LONG";exports2[3969]="ER_WARN_CLIENT_DEPRECATED_PARTITION_PREFIX_KEY";exports2[3970]="ER_GROUP_REPLICATION_USER_EMPTY_MSG";exports2[3971]="ER_GROUP_REPLICATION_USER_MANDATORY_MSG";exports2[3972]="ER_GROUP_REPLICATION_PASSWORD_LENGTH";exports2[3973]="ER_SUBQUERY_TRANSFORM_REJECTED";exports2[3974]="ER_DA_GRP_RPL_RECOVERY_ENDPOINT_FORMAT";exports2[3975]="ER_DA_GRP_RPL_RECOVERY_ENDPOINT_INVALID";exports2[3976]="ER_WRONG_VALUE_FOR_VAR_PLUS_ACTIONABLE_PART";exports2[3977]="ER_STATEMENT_NOT_ALLOWED_AFTER_START_TRANSACTION";exports2[3978]="ER_FOREIGN_KEY_WITH_ATOMIC_CREATE_SELECT";exports2[3979]="ER_NOT_ALLOWED_WITH_START_TRANSACTION";exports2[3980]="ER_INVALID_JSON_ATTRIBUTE";exports2[3981]="ER_ENGINE_ATTRIBUTE_NOT_SUPPORTED";exports2[3982]="ER_INVALID_USER_ATTRIBUTE_JSON";exports2[3983]="ER_INNODB_REDO_DISABLED";exports2[3984]="ER_INNODB_REDO_ARCHIVING_ENABLED";exports2[3985]="ER_MDL_OUT_OF_RESOURCES";exports2[3986]="ER_IMPLICIT_COMPARISON_FOR_JSON";exports2[3987]="ER_FUNCTION_DOES_NOT_SUPPORT_CHARACTER_SET";exports2[3988]="ER_IMPOSSIBLE_STRING_CONVERSION";exports2[3989]="ER_SCHEMA_READ_ONLY";exports2[3990]="ER_RPL_ASYNC_RECONNECT_GTID_MODE_OFF";exports2[3991]="ER_RPL_ASYNC_RECONNECT_AUTO_POSITION_OFF";exports2[3992]="ER_DISABLE_GTID_MODE_REQUIRES_ASYNC_RECONNECT_OFF";exports2[3993]="ER_DISABLE_AUTO_POSITION_REQUIRES_ASYNC_RECONNECT_OFF";exports2[3994]="ER_INVALID_PARAMETER_USE";exports2[3995]="ER_CHARACTER_SET_MISMATCH";exports2[3996]="ER_WARN_VAR_VALUE_CHANGE_NOT_SUPPORTED";exports2[3997]="ER_INVALID_TIME_ZONE_INTERVAL";exports2[3998]="ER_INVALID_CAST";exports2[3999]="ER_HYPERGRAPH_NOT_SUPPORTED_YET";exports2[4e3]="ER_WARN_HYPERGRAPH_EXPERIMENTAL";exports2[4001]="ER_DA_NO_ERROR_LOG_PARSER_CONFIGURED";exports2[4002]="ER_DA_ERROR_LOG_TABLE_DISABLED";exports2[4003]="ER_DA_ERROR_LOG_MULTIPLE_FILTERS";exports2[4004]="ER_DA_CANT_OPEN_ERROR_LOG";exports2[4005]="ER_USER_REFERENCED_AS_DEFINER";exports2[4006]="ER_CANNOT_USER_REFERENCED_AS_DEFINER";exports2[4007]="ER_REGEX_NUMBER_TOO_BIG";exports2[4008]="ER_SPVAR_NONINTEGER_TYPE";exports2[4009]="WARN_UNSUPPORTED_ACL_TABLES_READ";exports2[4010]="ER_BINLOG_UNSAFE_ACL_TABLE_READ_IN_DML_DDL";exports2[4011]="ER_STOP_REPLICA_MONITOR_IO_THREAD_TIMEOUT";exports2[4012]="ER_STARTING_REPLICA_MONITOR_IO_THREAD";exports2[4013]="ER_CANT_USE_ANONYMOUS_TO_GTID_WITH_GTID_MODE_NOT_ON";exports2[4014]="ER_CANT_COMBINE_ANONYMOUS_TO_GTID_AND_AUTOPOSITION";exports2[4015]="ER_ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS_REQUIRES_GTID_MODE_ON";exports2[4016]="ER_SQL_REPLICA_SKIP_COUNTER_USED_WITH_GTID_MODE_ON";exports2[4017]="ER_USING_ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS_AS_LOCAL_OR_UUID";exports2[4018]="ER_CANT_SET_ANONYMOUS_TO_GTID_AND_WAIT_UNTIL_SQL_THD_AFTER_GTIDS";exports2[4019]="ER_CANT_SET_SQL_AFTER_OR_BEFORE_GTIDS_WITH_ANONYMOUS_TO_GTID";exports2[4020]="ER_ANONYMOUS_TO_GTID_UUID_SAME_AS_GROUP_NAME";exports2[4021]="ER_CANT_USE_SAME_UUID_AS_GROUP_NAME";exports2[4022]="ER_GRP_RPL_RECOVERY_CHANNEL_STILL_RUNNING";exports2[4023]="ER_INNODB_INVALID_AUTOEXTEND_SIZE_VALUE";exports2[4024]="ER_INNODB_INCOMPATIBLE_WITH_TABLESPACE";exports2[4025]="ER_INNODB_AUTOEXTEND_SIZE_OUT_OF_RANGE";exports2[4026]="ER_CANNOT_USE_AUTOEXTEND_SIZE_CLAUSE";exports2[4027]="ER_ROLE_GRANTED_TO_ITSELF";exports2[4028]="ER_TABLE_MUST_HAVE_A_VISIBLE_COLUMN";exports2[4029]="ER_INNODB_COMPRESSION_FAILURE";exports2[4030]="ER_WARN_ASYNC_CONN_FAILOVER_NETWORK_NAMESPACE";exports2[4031]="ER_CLIENT_INTERACTION_TIMEOUT";exports2[4032]="ER_INVALID_CAST_TO_GEOMETRY";exports2[4033]="ER_INVALID_CAST_POLYGON_RING_DIRECTION";exports2[4034]="ER_GIS_DIFFERENT_SRIDS_AGGREGATION";exports2[4035]="ER_RELOAD_KEYRING_FAILURE";exports2[4036]="ER_SDI_GET_KEYS_INVALID_TABLESPACE";exports2[4037]="ER_CHANGE_RPL_SRC_WRONG_COMPRESSION_ALGORITHM_SIZE";exports2[4038]="ER_WARN_DEPRECATED_TLS_VERSION_FOR_CHANNEL_CLI";exports2[4039]="ER_CANT_USE_SAME_UUID_AS_VIEW_CHANGE_UUID";exports2[4040]="ER_ANONYMOUS_TO_GTID_UUID_SAME_AS_VIEW_CHANGE_UUID";exports2[4041]="ER_GRP_RPL_VIEW_CHANGE_UUID_FAIL_GET_VARIABLE";exports2[4042]="ER_WARN_ADUIT_LOG_MAX_SIZE_AND_PRUNE_SECONDS";exports2[4043]="ER_WARN_ADUIT_LOG_MAX_SIZE_CLOSE_TO_ROTATE_ON_SIZE";exports2[4044]="ER_KERBEROS_CREATE_USER";exports2[4045]="ER_INSTALL_PLUGIN_CONFLICT_CLIENT";exports2[4046]="ER_DA_ERROR_LOG_COMPONENT_FLUSH_FAILED";exports2[4047]="ER_WARN_SQL_AFTER_MTS_GAPS_GAP_NOT_CALCULATED";exports2[4048]="ER_INVALID_ASSIGNMENT_TARGET";exports2[4049]="ER_OPERATION_NOT_ALLOWED_ON_GR_SECONDARY";exports2[4050]="ER_GRP_RPL_FAILOVER_CHANNEL_STATUS_PROPAGATION";exports2[4051]="ER_WARN_AUDIT_LOG_FORMAT_UNIX_TIMESTAMP_ONLY_WHEN_JSON";exports2[4052]="ER_INVALID_MFA_PLUGIN_SPECIFIED";exports2[4053]="ER_IDENTIFIED_BY_UNSUPPORTED";exports2[4054]="ER_INVALID_PLUGIN_FOR_REGISTRATION";exports2[4055]="ER_PLUGIN_REQUIRES_REGISTRATION";exports2[4056]="ER_MFA_METHOD_EXISTS";exports2[4057]="ER_MFA_METHOD_NOT_EXISTS";exports2[4058]="ER_AUTHENTICATION_POLICY_MISMATCH";exports2[4059]="ER_PLUGIN_REGISTRATION_DONE";exports2[4060]="ER_INVALID_USER_FOR_REGISTRATION";exports2[4061]="ER_USER_REGISTRATION_FAILED";exports2[4062]="ER_MFA_METHODS_INVALID_ORDER";exports2[4063]="ER_MFA_METHODS_IDENTICAL";exports2[4064]="ER_INVALID_MFA_OPERATIONS_FOR_PASSWORDLESS_USER";exports2[4065]="ER_CHANGE_REPLICATION_SOURCE_NO_OPTIONS_FOR_GTID_ONLY";exports2[4066]="ER_CHANGE_REP_SOURCE_CANT_DISABLE_REQ_ROW_FORMAT_WITH_GTID_ONLY";exports2[4067]="ER_CHANGE_REP_SOURCE_CANT_DISABLE_AUTO_POSITION_WITH_GTID_ONLY";exports2[4068]="ER_CHANGE_REP_SOURCE_CANT_DISABLE_GTID_ONLY_WITHOUT_POSITIONS";exports2[4069]="ER_CHANGE_REP_SOURCE_CANT_DISABLE_AUTO_POS_WITHOUT_POSITIONS";exports2[4070]="ER_CHANGE_REP_SOURCE_GR_CHANNEL_WITH_GTID_MODE_NOT_ON";exports2[4071]="ER_CANT_USE_GTID_ONLY_WITH_GTID_MODE_NOT_ON";exports2[4072]="ER_WARN_C_DISABLE_GTID_ONLY_WITH_SOURCE_AUTO_POS_INVALID_POS";exports2[4073]="ER_DA_SSL_FIPS_MODE_ERROR";exports2[4074]="ER_VALUE_OUT_OF_RANGE";exports2[4075]="ER_FULLTEXT_WITH_ROLLUP";exports2[4076]="ER_REGEXP_MISSING_RESOURCE";exports2[4077]="ER_WARN_REGEXP_USING_DEFAULT";exports2[4078]="ER_REGEXP_MISSING_FILE";exports2[4079]="ER_WARN_DEPRECATED_COLLATION";exports2[4080]="ER_CONCURRENT_PROCEDURE_USAGE";exports2[4081]="ER_DA_GLOBAL_CONN_LIMIT";exports2[4082]="ER_DA_CONN_LIMIT";exports2[4083]="ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_COLUMN_TYPE_INSTANT";exports2[4084]="ER_WARN_SF_UDF_NAME_COLLISION";exports2[4085]="ER_CANNOT_PURGE_BINLOG_WITH_BACKUP_LOCK";exports2[4086]="ER_TOO_MANY_WINDOWS";exports2[4087]="ER_MYSQLBACKUP_CLIENT_MSG";exports2[4088]="ER_COMMENT_CONTAINS_INVALID_STRING";exports2[4089]="ER_DEFINITION_CONTAINS_INVALID_STRING";exports2[4090]="ER_CANT_EXECUTE_COMMAND_WITH_ASSIGNED_GTID_NEXT";exports2[4091]="ER_XA_TEMP_TABLE";exports2[4092]="ER_INNODB_MAX_ROW_VERSION";exports2[4093]="ER_INNODB_INSTANT_ADD_NOT_SUPPORTED_MAX_SIZE";exports2[4094]="ER_OPERATION_NOT_ALLOWED_WHILE_PRIMARY_CHANGE_IS_RUNNING";exports2[4095]="ER_WARN_DEPRECATED_DATETIME_DELIMITER";exports2[4096]="ER_WARN_DEPRECATED_SUPERFLUOUS_DELIMITER";exports2[4097]="ER_CANNOT_PERSIST_SENSITIVE_VARIABLES";exports2[4098]="ER_WARN_CANNOT_SECURELY_PERSIST_SENSITIVE_VARIABLES";exports2[4099]="ER_WARN_TRG_ALREADY_EXISTS";exports2[4100]="ER_IF_NOT_EXISTS_UNSUPPORTED_TRG_EXISTS_ON_DIFFERENT_TABLE";exports2[4101]="ER_IF_NOT_EXISTS_UNSUPPORTED_UDF_NATIVE_FCT_NAME_COLLISION";exports2[4102]="ER_SET_PASSWORD_AUTH_PLUGIN_ERROR";exports2[4103]="ER_REDUCED_DBLWR_FILE_CORRUPTED";exports2[4104]="ER_REDUCED_DBLWR_PAGE_FOUND";exports2[4105]="ER_SRS_INVALID_LATITUDE_OF_ORIGIN";exports2[4106]="ER_SRS_INVALID_LONGITUDE_OF_ORIGIN";exports2[4107]="ER_SRS_UNUSED_PROJ_PARAMETER_PRESENT";exports2[4108]="ER_GIPK_COLUMN_EXISTS";exports2[4109]="ER_GIPK_FAILED_AUTOINC_COLUMN_EXISTS";exports2[4110]="ER_GIPK_COLUMN_ALTER_NOT_ALLOWED";exports2[4111]="ER_DROP_PK_COLUMN_TO_DROP_GIPK";exports2[4112]="ER_CREATE_SELECT_WITH_GIPK_DISALLOWED_IN_SBR";exports2[4113]="ER_DA_EXPIRE_LOGS_DAYS_IGNORED";exports2[4114]="ER_CTE_RECURSIVE_NOT_UNION";exports2[4115]="ER_COMMAND_BACKEND_FAILED_TO_FETCH_SECURITY_CTX";exports2[4116]="ER_COMMAND_SERVICE_BACKEND_FAILED";exports2[4117]="ER_CLIENT_FILE_PRIVILEGE_FOR_REPLICATION_CHECKS";exports2[4118]="ER_GROUP_REPLICATION_FORCE_MEMBERS_COMMAND_FAILURE";exports2[4119]="ER_WARN_DEPRECATED_IDENT";exports2[4120]="ER_INTERSECT_ALL_MAX_DUPLICATES_EXCEEDED";exports2[4121]="ER_TP_QUERY_THRS_PER_GRP_EXCEEDS_TXN_THR_LIMIT";exports2[4122]="ER_BAD_TIMESTAMP_FORMAT";exports2[4123]="ER_SHAPE_PRIDICTION_UDF";exports2[4124]="ER_SRS_INVALID_HEIGHT";exports2[4125]="ER_SRS_INVALID_SCALING";exports2[4126]="ER_SRS_INVALID_ZONE_WIDTH";exports2[4127]="ER_SRS_INVALID_LATITUDE_POLAR_STERE_VAR_A";exports2[4128]="ER_WARN_DEPRECATED_CLIENT_NO_SCHEMA_OPTION";exports2[4129]="ER_TABLE_NOT_EMPTY";exports2[4130]="ER_TABLE_NO_PRIMARY_KEY";exports2[4131]="ER_TABLE_IN_SHARED_TABLESPACE";exports2[4132]="ER_INDEX_OTHER_THAN_PK";exports2[4133]="ER_LOAD_BULK_DATA_UNSORTED";exports2[4134]="ER_BULK_EXECUTOR_ERROR";exports2[4135]="ER_BULK_READER_LIBCURL_INIT_FAILED";exports2[4136]="ER_BULK_READER_LIBCURL_ERROR";exports2[4137]="ER_BULK_READER_SERVER_ERROR";exports2[4138]="ER_BULK_READER_COMMUNICATION_ERROR";exports2[4139]="ER_BULK_LOAD_DATA_FAILED";exports2[4140]="ER_BULK_LOADER_COLUMN_TOO_BIG_FOR_LEFTOVER_BUFFER";exports2[4141]="ER_BULK_LOADER_COMPONENT_ERROR";exports2[4142]="ER_BULK_LOADER_FILE_CONTAINS_LESS_LINES_THAN_IGNORE_CLAUSE";exports2[4143]="ER_BULK_PARSER_MISSING_ENCLOSED_BY";exports2[4144]="ER_BULK_PARSER_ROW_BUFFER_MAX_TOTAL_COLS_EXCEEDED";exports2[4145]="ER_BULK_PARSER_COPY_BUFFER_SIZE_EXCEEDED";exports2[4146]="ER_BULK_PARSER_UNEXPECTED_END_OF_INPUT";exports2[4147]="ER_BULK_PARSER_UNEXPECTED_ROW_TERMINATOR";exports2[4148]="ER_BULK_PARSER_UNEXPECTED_CHAR_AFTER_ENDING_ENCLOSED_BY";exports2[4149]="ER_BULK_PARSER_UNEXPECTED_CHAR_AFTER_NULL_ESCAPE";exports2[4150]="ER_BULK_PARSER_UNEXPECTED_CHAR_AFTER_COLUMN_TERMINATOR";exports2[4151]="ER_BULK_PARSER_INCOMPLETE_ESCAPE_SEQUENCE";exports2[4152]="ER_LOAD_BULK_DATA_FAILED";exports2[4153]="ER_LOAD_BULK_DATA_WRONG_VALUE_FOR_FIELD";exports2[4154]="ER_LOAD_BULK_DATA_WARN_NULL_TO_NOTNULL";exports2[4155]="ER_REQUIRE_TABLE_PRIMARY_KEY_CHECK_GENERATE_WITH_GR";exports2[4156]="ER_CANT_CHANGE_SYS_VAR_IN_READ_ONLY_MODE";exports2[4157]="ER_INNODB_INSTANT_ADD_DROP_NOT_SUPPORTED_MAX_SIZE";exports2[4158]="ER_INNODB_INSTANT_ADD_NOT_SUPPORTED_MAX_FIELDS";exports2[4159]="ER_CANT_SET_PERSISTED";exports2[4160]="ER_INSTALL_COMPONENT_SET_NULL_VALUE";exports2[4161]="ER_INSTALL_COMPONENT_SET_UNUSED_VALUE";exports2[4162]="ER_WARN_DEPRECATED_USER_DEFINED_COLLATIONS"}});var require_umd=__commonJS({"node_modules/long/umd/index.js"(exports2,module2){var Long=function(exports3){"use strict";Object.defineProperty(exports3,"__esModule",{value:true});exports3.default=void 0;var wasm=null;try{wasm=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch(e){}function Long2(low,high,unsigned){this.low=low|0;this.high=high|0;this.unsigned=!!unsigned}Long2.prototype.__isLong__;Object.defineProperty(Long2.prototype,"__isLong__",{value:true});function isLong(obj){return(obj&&obj["__isLong__"])===true}function ctz32(value){var c=Math.clz32(value&-value);return value?31-c:c}Long2.isLong=isLong;var INT_CACHE={};var UINT_CACHE={};function fromInt(value,unsigned){var obj,cachedObj,cache2;if(unsigned){value>>>=0;if(cache2=0<=value&&value<256){cachedObj=UINT_CACHE[value];if(cachedObj)return cachedObj}obj=fromBits(value,0,true);if(cache2)UINT_CACHE[value]=obj;return obj}else{value|=0;if(cache2=-128<=value&&value<128){cachedObj=INT_CACHE[value];if(cachedObj)return cachedObj}obj=fromBits(value,value<0?-1:0,false);if(cache2)INT_CACHE[value]=obj;return obj}}Long2.fromInt=fromInt;function fromNumber(value,unsigned){if(isNaN(value))return unsigned?UZERO:ZERO;if(unsigned){if(value<0)return UZERO;if(value>=TWO_PWR_64_DBL)return MAX_UNSIGNED_VALUE}else{if(value<=-TWO_PWR_63_DBL)return MIN_VALUE;if(value+1>=TWO_PWR_63_DBL)return MAX_VALUE}if(value<0)return fromNumber(-value,unsigned).neg();return fromBits(value%TWO_PWR_32_DBL|0,value/TWO_PWR_32_DBL|0,unsigned)}Long2.fromNumber=fromNumber;function fromBits(lowBits,highBits,unsigned){return new Long2(lowBits,highBits,unsigned)}Long2.fromBits=fromBits;var pow_dbl=Math.pow;function fromString(str2,unsigned,radix){if(str2.length===0)throw Error("empty string");if(typeof unsigned==="number"){radix=unsigned;unsigned=false}else{unsigned=!!unsigned}if(str2==="NaN"||str2==="Infinity"||str2==="+Infinity"||str2==="-Infinity")return unsigned?UZERO:ZERO;radix=radix||10;if(radix<2||36<radix)throw RangeError("radix");var p;if((p=str2.indexOf("-"))>0)throw Error("interior hyphen");else if(p===0){return fromString(str2.substring(1),unsigned,radix).neg()}var radixToPower=fromNumber(pow_dbl(radix,8));var result2=ZERO;for(var i=0;i<str2.length;i+=8){var size2=Math.min(8,str2.length-i),value=parseInt(str2.substring(i,i+size2),radix);if(size2<8){var power=fromNumber(pow_dbl(radix,size2));result2=result2.mul(power).add(fromNumber(value))}else{result2=result2.mul(radixToPower);result2=result2.add(fromNumber(value))}}result2.unsigned=unsigned;return result2}Long2.fromString=fromString;function fromValue(val,unsigned){if(typeof val==="number")return fromNumber(val,unsigned);if(typeof val==="string")return fromString(val,unsigned);return fromBits(val.low,val.high,typeof unsigned==="boolean"?unsigned:val.unsigned)}Long2.fromValue=fromValue;var TWO_PWR_16_DBL=1<<16;var TWO_PWR_24_DBL=1<<24;var TWO_PWR_32_DBL=TWO_PWR_16_DBL*TWO_PWR_16_DBL;var TWO_PWR_64_DBL=TWO_PWR_32_DBL*TWO_PWR_32_DBL;var TWO_PWR_63_DBL=TWO_PWR_64_DBL/2;var TWO_PWR_24=fromInt(TWO_PWR_24_DBL);var ZERO=fromInt(0);Long2.ZERO=ZERO;var UZERO=fromInt(0,true);Long2.UZERO=UZERO;var ONE=fromInt(1);Long2.ONE=ONE;var UONE=fromInt(1,true);Long2.UONE=UONE;var NEG_ONE=fromInt(-1);Long2.NEG_ONE=NEG_ONE;var MAX_VALUE=fromBits(4294967295|0,2147483647|0,false);Long2.MAX_VALUE=MAX_VALUE;var MAX_UNSIGNED_VALUE=fromBits(4294967295|0,4294967295|0,true);Long2.MAX_UNSIGNED_VALUE=MAX_UNSIGNED_VALUE;var MIN_VALUE=fromBits(0,2147483648|0,false);Long2.MIN_VALUE=MIN_VALUE;var LongPrototype=Long2.prototype;LongPrototype.toInt=function toInt(){return this.unsigned?this.low>>>0:this.low};LongPrototype.toNumber=function toNumber2(){if(this.unsigned)return(this.high>>>0)*TWO_PWR_32_DBL+(this.low>>>0);return this.high*TWO_PWR_32_DBL+(this.low>>>0)};LongPrototype.toString=function toString5(radix){radix=radix||10;if(radix<2||36<radix)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative()){if(this.eq(MIN_VALUE)){var radixLong=fromNumber(radix),div=this.div(radixLong),rem1=div.mul(radixLong).sub(this);return div.toString(radix)+rem1.toInt().toString(radix)}else return"-"+this.neg().toString(radix)}var radixToPower=fromNumber(pow_dbl(radix,6),this.unsigned),rem=this;var result2="";while(true){var remDiv=rem.div(radixToPower),intval=rem.sub(remDiv.mul(radixToPower)).toInt()>>>0,digits=intval.toString(radix);rem=remDiv;if(rem.isZero())return digits+result2;else{while(digits.length<6)digits="0"+digits;result2=""+digits+result2}}};LongPrototype.getHighBits=function getHighBits(){return this.high};LongPrototype.getHighBitsUnsigned=function getHighBitsUnsigned(){return this.high>>>0};LongPrototype.getLowBits=function getLowBits(){return this.low};LongPrototype.getLowBitsUnsigned=function getLowBitsUnsigned(){return this.low>>>0};LongPrototype.getNumBitsAbs=function getNumBitsAbs(){if(this.isNegative())return this.eq(MIN_VALUE)?64:this.neg().getNumBitsAbs();var val=this.high!=0?this.high:this.low;for(var bit=31;bit>0;bit--)if((val&1<<bit)!=0)break;return this.high!=0?bit+33:bit+1};LongPrototype.isZero=function isZero(){return this.high===0&&this.low===0};LongPrototype.eqz=LongPrototype.isZero;LongPrototype.isNegative=function isNegative(){return!this.unsigned&&this.high<0};LongPrototype.isPositive=function isPositive(){return this.unsigned||this.high>=0};LongPrototype.isOdd=function isOdd(){return(this.low&1)===1};LongPrototype.isEven=function isEven(){return(this.low&1)===0};LongPrototype.equals=function equals(other){if(!isLong(other))other=fromValue(other);if(this.unsigned!==other.unsigned&&this.high>>>31===1&&other.high>>>31===1)return false;return this.high===other.high&&this.low===other.low};LongPrototype.eq=LongPrototype.equals;LongPrototype.notEquals=function notEquals(other){return!this.eq(other)};LongPrototype.neq=LongPrototype.notEquals;LongPrototype.ne=LongPrototype.notEquals;LongPrototype.lessThan=function lessThan(other){return this.comp(other)<0};LongPrototype.lt=LongPrototype.lessThan;LongPrototype.lessThanOrEqual=function lessThanOrEqual(other){return this.comp(other)<=0};LongPrototype.lte=LongPrototype.lessThanOrEqual;LongPrototype.le=LongPrototype.lessThanOrEqual;LongPrototype.greaterThan=function greaterThan(other){return this.comp(other)>0};LongPrototype.gt=LongPrototype.greaterThan;LongPrototype.greaterThanOrEqual=function greaterThanOrEqual(other){return this.comp(other)>=0};LongPrototype.gte=LongPrototype.greaterThanOrEqual;LongPrototype.ge=LongPrototype.greaterThanOrEqual;LongPrototype.compare=function compare(other){if(!isLong(other))other=fromValue(other);if(this.eq(other))return 0;var thisNeg=this.isNegative(),otherNeg=other.isNegative();if(thisNeg&&!otherNeg)return-1;if(!thisNeg&&otherNeg)return 1;if(!this.unsigned)return this.sub(other).isNegative()?-1:1;return other.high>>>0>this.high>>>0||other.high===this.high&&other.low>>>0>this.low>>>0?-1:1};LongPrototype.comp=LongPrototype.compare;LongPrototype.negate=function negate2(){if(!this.unsigned&&this.eq(MIN_VALUE))return MIN_VALUE;return this.not().add(ONE)};LongPrototype.neg=LongPrototype.negate;LongPrototype.add=function add2(addend){if(!isLong(addend))addend=fromValue(addend);var a48=this.high>>>16;var a32=this.high&65535;var a16=this.low>>>16;var a00=this.low&65535;var b48=addend.high>>>16;var b32=addend.high&65535;var b16=addend.low>>>16;var b00=addend.low&65535;var c48=0,c32=0,c16=0,c00=0;c00+=a00+b00;c16+=c00>>>16;c00&=65535;c16+=a16+b16;c32+=c16>>>16;c16&=65535;c32+=a32+b32;c48+=c32>>>16;c32&=65535;c48+=a48+b48;c48&=65535;return fromBits(c16<<16|c00,c48<<16|c32,this.unsigned)};LongPrototype.subtract=function subtract2(subtrahend){if(!isLong(subtrahend))subtrahend=fromValue(subtrahend);return this.add(subtrahend.neg())};LongPrototype.sub=LongPrototype.subtract;LongPrototype.multiply=function multiply2(multiplier){if(this.isZero())return this;if(!isLong(multiplier))multiplier=fromValue(multiplier);if(wasm){var low=wasm["mul"](this.low,this.high,multiplier.low,multiplier.high);return fromBits(low,wasm["get_high"](),this.unsigned)}if(multiplier.isZero())return this.unsigned?UZERO:ZERO;if(this.eq(MIN_VALUE))return multiplier.isOdd()?MIN_VALUE:ZERO;if(multiplier.eq(MIN_VALUE))return this.isOdd()?MIN_VALUE:ZERO;if(this.isNegative()){if(multiplier.isNegative())return this.neg().mul(multiplier.neg());else return this.neg().mul(multiplier).neg()}else if(multiplier.isNegative())return this.mul(multiplier.neg()).neg();if(this.lt(TWO_PWR_24)&&multiplier.lt(TWO_PWR_24))return fromNumber(this.toNumber()*multiplier.toNumber(),this.unsigned);var a48=this.high>>>16;var a32=this.high&65535;var a16=this.low>>>16;var a00=this.low&65535;var b48=multiplier.high>>>16;var b32=multiplier.high&65535;var b16=multiplier.low>>>16;var b00=multiplier.low&65535;var c48=0,c32=0,c16=0,c00=0;c00+=a00*b00;c16+=c00>>>16;c00&=65535;c16+=a16*b00;c32+=c16>>>16;c16&=65535;c16+=a00*b16;c32+=c16>>>16;c16&=65535;c32+=a32*b00;c48+=c32>>>16;c32&=65535;c32+=a16*b16;c48+=c32>>>16;c32&=65535;c32+=a00*b32;c48+=c32>>>16;c32&=65535;c48+=a48*b00+a32*b16+a16*b32+a00*b48;c48&=65535;return fromBits(c16<<16|c00,c48<<16|c32,this.unsigned)};LongPrototype.mul=LongPrototype.multiply;LongPrototype.divide=function divide2(divisor){if(!isLong(divisor))divisor=fromValue(divisor);if(divisor.isZero())throw Error("division by zero");if(wasm){if(!this.unsigned&&this.high===-2147483648&&divisor.low===-1&&divisor.high===-1){return this}var low=(this.unsigned?wasm["div_u"]:wasm["div_s"])(this.low,this.high,divisor.low,divisor.high);return fromBits(low,wasm["get_high"](),this.unsigned)}if(this.isZero())return this.unsigned?UZERO:ZERO;var approx,rem,res;if(!this.unsigned){if(this.eq(MIN_VALUE)){if(divisor.eq(ONE)||divisor.eq(NEG_ONE))return MIN_VALUE;else if(divisor.eq(MIN_VALUE))return ONE;else{var halfThis=this.shr(1);approx=halfThis.div(divisor).shl(1);if(approx.eq(ZERO)){return divisor.isNegative()?ONE:NEG_ONE}else{rem=this.sub(divisor.mul(approx));res=approx.add(rem.div(divisor));return res}}}else if(divisor.eq(MIN_VALUE))return this.unsigned?UZERO:ZERO;if(this.isNegative()){if(divisor.isNegative())return this.neg().div(divisor.neg());return this.neg().div(divisor).neg()}else if(divisor.isNegative())return this.div(divisor.neg()).neg();res=ZERO}else{if(!divisor.unsigned)divisor=divisor.toUnsigned();if(divisor.gt(this))return UZERO;if(divisor.gt(this.shru(1)))return UONE;res=UZERO}rem=this;while(rem.gte(divisor)){approx=Math.max(1,Math.floor(rem.toNumber()/divisor.toNumber()));var log2=Math.ceil(Math.log(approx)/Math.LN2),delta=log2<=48?1:pow_dbl(2,log2-48),approxRes=fromNumber(approx),approxRem=approxRes.mul(divisor);while(approxRem.isNegative()||approxRem.gt(rem)){approx-=delta;approxRes=fromNumber(approx,this.unsigned);approxRem=approxRes.mul(divisor)}if(approxRes.isZero())approxRes=ONE;res=res.add(approxRes);rem=rem.sub(approxRem)}return res};LongPrototype.div=LongPrototype.divide;LongPrototype.modulo=function modulo(divisor){if(!isLong(divisor))divisor=fromValue(divisor);if(wasm){var low=(this.unsigned?wasm["rem_u"]:wasm["rem_s"])(this.low,this.high,divisor.low,divisor.high);return fromBits(low,wasm["get_high"](),this.unsigned)}return this.sub(this.div(divisor).mul(divisor))};LongPrototype.mod=LongPrototype.modulo;LongPrototype.rem=LongPrototype.modulo;LongPrototype.not=function not(){return fromBits(~this.low,~this.high,this.unsigned)};LongPrototype.countLeadingZeros=function countLeadingZeros(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32};LongPrototype.clz=LongPrototype.countLeadingZeros;LongPrototype.countTrailingZeros=function countTrailingZeros(){return this.low?ctz32(this.low):ctz32(this.high)+32};LongPrototype.ctz=LongPrototype.countTrailingZeros;LongPrototype.and=function and(other){if(!isLong(other))other=fromValue(other);return fromBits(this.low&other.low,this.high&other.high,this.unsigned)};LongPrototype.or=function or(other){if(!isLong(other))other=fromValue(other);return fromBits(this.low|other.low,this.high|other.high,this.unsigned)};LongPrototype.xor=function xor2(other){if(!isLong(other))other=fromValue(other);return fromBits(this.low^other.low,this.high^other.high,this.unsigned)};LongPrototype.shiftLeft=function shiftLeft(numBits){if(isLong(numBits))numBits=numBits.toInt();if((numBits&=63)===0)return this;else if(numBits<32)return fromBits(this.low<<numBits,this.high<<numBits|this.low>>>32-numBits,this.unsigned);else return fromBits(0,this.low<<numBits-32,this.unsigned)};LongPrototype.shl=LongPrototype.shiftLeft;LongPrototype.shiftRight=function shiftRight(numBits){if(isLong(numBits))numBits=numBits.toInt();if((numBits&=63)===0)return this;else if(numBits<32)return fromBits(this.low>>>numBits|this.high<<32-numBits,this.high>>numBits,this.unsigned);else return fromBits(this.high>>numBits-32,this.high>=0?0:-1,this.unsigned)};LongPrototype.shr=LongPrototype.shiftRight;LongPrototype.shiftRightUnsigned=function shiftRightUnsigned(numBits){if(isLong(numBits))numBits=numBits.toInt();if((numBits&=63)===0)return this;if(numBits<32)return fromBits(this.low>>>numBits|this.high<<32-numBits,this.high>>>numBits,this.unsigned);if(numBits===32)return fromBits(this.high,0,this.unsigned);return fromBits(this.high>>>numBits-32,0,this.unsigned)};LongPrototype.shru=LongPrototype.shiftRightUnsigned;LongPrototype.shr_u=LongPrototype.shiftRightUnsigned;LongPrototype.rotateLeft=function rotateLeft(numBits){var b;if(isLong(numBits))numBits=numBits.toInt();if((numBits&=63)===0)return this;if(numBits===32)return fromBits(this.high,this.low,this.unsigned);if(numBits<32){b=32-numBits;return fromBits(this.low<<numBits|this.high>>>b,this.high<<numBits|this.low>>>b,this.unsigned)}numBits-=32;b=32-numBits;return fromBits(this.high<<numBits|this.low>>>b,this.low<<numBits|this.high>>>b,this.unsigned)};LongPrototype.rotl=LongPrototype.rotateLeft;LongPrototype.rotateRight=function rotateRight(numBits){var b;if(isLong(numBits))numBits=numBits.toInt();if((numBits&=63)===0)return this;if(numBits===32)return fromBits(this.high,this.low,this.unsigned);if(numBits<32){b=32-numBits;return fromBits(this.high<<b|this.low>>>numBits,this.low<<b|this.high>>>numBits,this.unsigned)}numBits-=32;b=32-numBits;return fromBits(this.low<<b|this.high>>>numBits,this.high<<b|this.low>>>numBits,this.unsigned)};LongPrototype.rotr=LongPrototype.rotateRight;LongPrototype.toSigned=function toSigned(){if(!this.unsigned)return this;return fromBits(this.low,this.high,false)};LongPrototype.toUnsigned=function toUnsigned(){if(this.unsigned)return this;return fromBits(this.low,this.high,true)};LongPrototype.toBytes=function toBytes(le){return le?this.toBytesLE():this.toBytesBE()};LongPrototype.toBytesLE=function toBytesLE(){var hi=this.high,lo=this.low;return[lo&255,lo>>>8&255,lo>>>16&255,lo>>>24,hi&255,hi>>>8&255,hi>>>16&255,hi>>>24]};LongPrototype.toBytesBE=function toBytesBE(){var hi=this.high,lo=this.low;return[hi>>>24,hi>>>16&255,hi>>>8&255,hi&255,lo>>>24,lo>>>16&255,lo>>>8&255,lo&255]};Long2.fromBytes=function fromBytes(bytes9,unsigned,le){return le?Long2.fromBytesLE(bytes9,unsigned):Long2.fromBytesBE(bytes9,unsigned)};Long2.fromBytesLE=function fromBytesLE(bytes9,unsigned){return new Long2(bytes9[0]|bytes9[1]<<8|bytes9[2]<<16|bytes9[3]<<24,bytes9[4]|bytes9[5]<<8|bytes9[6]<<16|bytes9[7]<<24,unsigned)};Long2.fromBytesBE=function fromBytesBE(bytes9,unsigned){return new Long2(bytes9[4]<<24|bytes9[5]<<16|bytes9[6]<<8|bytes9[7],bytes9[0]<<24|bytes9[1]<<16|bytes9[2]<<8|bytes9[3],unsigned)};var _default2=Long2;exports3.default=_default2;return"default"in exports3?exports3.default:exports3}({});if(typeof define==="function"&&define.amd)define([],function(){return Long});else if(typeof module2==="object"&&typeof exports2==="object")module2.exports=Long}});var require_safer=__commonJS({"node_modules/safer-buffer/safer.js"(exports2,module2){"use strict";var buffer=require("buffer");var Buffer12=buffer.Buffer;var safer={};var key;for(key in buffer){if(!buffer.hasOwnProperty(key))continue;if(key==="SlowBuffer"||key==="Buffer")continue;safer[key]=buffer[key]}var Safer=safer.Buffer={};for(key in Buffer12){if(!Buffer12.hasOwnProperty(key))continue;if(key==="allocUnsafe"||key==="allocUnsafeSlow")continue;Safer[key]=Buffer12[key]}safer.Buffer.prototype=Buffer12.prototype;if(!Safer.from||Safer.from===Uint8Array.from){Safer.from=function(value,encodingOrOffset,length){if(typeof value==="number"){throw new TypeError('The "value" argument must not be of type number. Received type '+typeof value)}if(value&&typeof value.length==="undefined"){throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof value)}return Buffer12(value,encodingOrOffset,length)}}if(!Safer.alloc){Safer.alloc=function(size2,fill2,encoding){if(typeof size2!=="number"){throw new TypeError('The "size" argument must be of type number. Received type '+typeof size2)}if(size2<0||size2>=2*(1<<30)){throw new RangeError('The value "'+size2+'" is invalid for option "size"')}var buf=Buffer12(size2);if(!fill2||fill2.length===0){buf.fill(0)}else if(typeof encoding==="string"){buf.fill(fill2,encoding)}else{buf.fill(fill2)}return buf}}if(!safer.kStringMaxLength){try{safer.kStringMaxLength=process.binding("buffer").kStringMaxLength}catch(e){}}if(!safer.constants){safer.constants={MAX_LENGTH:safer.kMaxLength};if(safer.kStringMaxLength){safer.constants.MAX_STRING_LENGTH=safer.kStringMaxLength}}module2.exports=safer}});var require_bom_handling=__commonJS({"node_modules/iconv-lite/lib/bom-handling.js"(exports2){"use strict";var BOMChar="\uFEFF";exports2.PrependBOM=PrependBOMWrapper;function PrependBOMWrapper(encoder2,options){this.encoder=encoder2;this.addBOM=true}PrependBOMWrapper.prototype.write=function(str2){if(this.addBOM){str2=BOMChar+str2;this.addBOM=false}return this.encoder.write(str2)};PrependBOMWrapper.prototype.end=function(){return this.encoder.end()};exports2.StripBOM=StripBOMWrapper;function StripBOMWrapper(decoder2,options){this.decoder=decoder2;this.pass=false;this.options=options||{}}StripBOMWrapper.prototype.write=function(buf){var res=this.decoder.write(buf);if(this.pass||!res)return res;if(res[0]===BOMChar){res=res.slice(1);if(typeof this.options.stripBOM==="function")this.options.stripBOM()}this.pass=true;return res};StripBOMWrapper.prototype.end=function(){return this.decoder.end()}}});var require_internal=__commonJS({"node_modules/iconv-lite/encodings/internal.js"(exports2,module2){"use strict";var Buffer12=require_safer().Buffer;module2.exports={utf8:{type:"_internal",bomAware:true},cesu8:{type:"_internal",bomAware:true},unicode11utf8:"utf8",ucs2:{type:"_internal",bomAware:true},utf16le:"ucs2",binary:{type:"_internal"},base64:{type:"_internal"},hex:{type:"_internal"},_internal:InternalCodec};function InternalCodec(codecOptions,iconv){this.enc=codecOptions.encodingName;this.bomAware=codecOptions.bomAware;if(this.enc==="base64")this.encoder=InternalEncoderBase64;else if(this.enc==="cesu8"){this.enc="utf8";this.encoder=InternalEncoderCesu8;if(Buffer12.from("eda0bdedb2a9","hex").toString()!=="💩"){this.decoder=InternalDecoderCesu8;this.defaultCharUnicode=iconv.defaultCharUnicode}}}InternalCodec.prototype.encoder=InternalEncoder;InternalCodec.prototype.decoder=InternalDecoder;var StringDecoder=require("string_decoder").StringDecoder;if(!StringDecoder.prototype.end)StringDecoder.prototype.end=function(){};function InternalDecoder(options,codec){this.decoder=new StringDecoder(codec.enc)}InternalDecoder.prototype.write=function(buf){if(!Buffer12.isBuffer(buf)){buf=Buffer12.from(buf)}return this.decoder.write(buf)};InternalDecoder.prototype.end=function(){return this.decoder.end()};function InternalEncoder(options,codec){this.enc=codec.enc}InternalEncoder.prototype.write=function(str2){return Buffer12.from(str2,this.enc)};InternalEncoder.prototype.end=function(){};function InternalEncoderBase64(options,codec){this.prevStr=""}InternalEncoderBase64.prototype.write=function(str2){str2=this.prevStr+str2;var completeQuads=str2.length-str2.length%4;this.prevStr=str2.slice(completeQuads);str2=str2.slice(0,completeQuads);return Buffer12.from(str2,"base64")};InternalEncoderBase64.prototype.end=function(){return Buffer12.from(this.prevStr,"base64")};function InternalEncoderCesu8(options,codec){}InternalEncoderCesu8.prototype.write=function(str2){var buf=Buffer12.alloc(str2.length*3),bufIdx=0;for(var i=0;i<str2.length;i++){var charCode=str2.charCodeAt(i);if(charCode<128)buf[bufIdx++]=charCode;else if(charCode<2048){buf[bufIdx++]=192+(charCode>>>6);buf[bufIdx++]=128+(charCode&63)}else{buf[bufIdx++]=224+(charCode>>>12);buf[bufIdx++]=128+(charCode>>>6&63);buf[bufIdx++]=128+(charCode&63)}}return buf.slice(0,bufIdx)};InternalEncoderCesu8.prototype.end=function(){};function InternalDecoderCesu8(options,codec){this.acc=0;this.contBytes=0;this.accBytes=0;this.defaultCharUnicode=codec.defaultCharUnicode}InternalDecoderCesu8.prototype.write=function(buf){var acc=this.acc,contBytes=this.contBytes,accBytes=this.accBytes,res="";for(var i=0;i<buf.length;i++){var curByte=buf[i];if((curByte&192)!==128){if(contBytes>0){res+=this.defaultCharUnicode;contBytes=0}if(curByte<128){res+=String.fromCharCode(curByte)}else if(curByte<224){acc=curByte&31;contBytes=1;accBytes=1}else if(curByte<240){acc=curByte&15;contBytes=2;accBytes=1}else{res+=this.defaultCharUnicode}}else{if(contBytes>0){acc=acc<<6|curByte&63;contBytes--;accBytes++;if(contBytes===0){if(accBytes===2&&acc<128&&acc>0)res+=this.defaultCharUnicode;else if(accBytes===3&&acc<2048)res+=this.defaultCharUnicode;else res+=String.fromCharCode(acc)}}else{res+=this.defaultCharUnicode}}}this.acc=acc;this.contBytes=contBytes;this.accBytes=accBytes;return res};InternalDecoderCesu8.prototype.end=function(){var res=0;if(this.contBytes>0)res+=this.defaultCharUnicode;return res}}});var require_utf32=__commonJS({"node_modules/iconv-lite/encodings/utf32.js"(exports2){"use strict";var Buffer12=require_safer().Buffer;exports2._utf32=Utf32Codec;function Utf32Codec(codecOptions,iconv){this.iconv=iconv;this.bomAware=true;this.isLE=codecOptions.isLE}exports2.utf32le={type:"_utf32",isLE:true};exports2.utf32be={type:"_utf32",isLE:false};exports2.ucs4le="utf32le";exports2.ucs4be="utf32be";Utf32Codec.prototype.encoder=Utf32Encoder;Utf32Codec.prototype.decoder=Utf32Decoder;function Utf32Encoder(options,codec){this.isLE=codec.isLE;this.highSurrogate=0}Utf32Encoder.prototype.write=function(str2){var src=Buffer12.from(str2,"ucs2");var dst=Buffer12.alloc(src.length*2);var write32=this.isLE?dst.writeUInt32LE:dst.writeUInt32BE;var offset=0;for(var i=0;i<src.length;i+=2){var code=src.readUInt16LE(i);var isHighSurrogate=55296<=code&&code<56320;var isLowSurrogate=56320<=code&&code<57344;if(this.highSurrogate){if(isHighSurrogate||!isLowSurrogate){write32.call(dst,this.highSurrogate,offset);offset+=4}else{var codepoint=(this.highSurrogate-55296<<10|code-56320)+65536;write32.call(dst,codepoint,offset);offset+=4;this.highSurrogate=0;continue}}if(isHighSurrogate)this.highSurrogate=code;else{write32.call(dst,code,offset);offset+=4;this.highSurrogate=0}}if(offset<dst.length)dst=dst.slice(0,offset);return dst};Utf32Encoder.prototype.end=function(){if(!this.highSurrogate)return;var buf=Buffer12.alloc(4);if(this.isLE)buf.writeUInt32LE(this.highSurrogate,0);else buf.writeUInt32BE(this.highSurrogate,0);this.highSurrogate=0;return buf};function Utf32Decoder(options,codec){this.isLE=codec.isLE;this.badChar=codec.iconv.defaultCharUnicode.charCodeAt(0);this.overflow=[]}Utf32Decoder.prototype.write=function(src){if(src.length===0)return"";var i=0;var codepoint=0;var dst=Buffer12.alloc(src.length+4);var offset=0;var isLE=this.isLE;var overflow=this.overflow;var badChar=this.badChar;if(overflow.length>0){for(;i<src.length&&overflow.length<4;i++)overflow.push(src[i]);if(overflow.length===4){if(isLE){codepoint=overflow[i]|overflow[i+1]<<8|overflow[i+2]<<16|overflow[i+3]<<24}else{codepoint=overflow[i+3]|overflow[i+2]<<8|overflow[i+1]<<16|overflow[i]<<24}overflow.length=0;offset=_writeCodepoint(dst,offset,codepoint,badChar)}}for(;i<src.length-3;i+=4){if(isLE){codepoint=src[i]|src[i+1]<<8|src[i+2]<<16|src[i+3]<<24}else{codepoint=src[i+3]|src[i+2]<<8|src[i+1]<<16|src[i]<<24}offset=_writeCodepoint(dst,offset,codepoint,badChar)}for(;i<src.length;i++){overflow.push(src[i])}return dst.slice(0,offset).toString("ucs2")};function _writeCodepoint(dst,offset,codepoint,badChar){if(codepoint<0||codepoint>1114111){codepoint=badChar}if(codepoint>=65536){codepoint-=65536;var high=55296|codepoint>>10;dst[offset++]=high&255;dst[offset++]=high>>8;var codepoint=56320|codepoint&1023}dst[offset++]=codepoint&255;dst[offset++]=codepoint>>8;return offset}Utf32Decoder.prototype.end=function(){this.overflow.length=0};exports2.utf32=Utf32AutoCodec;exports2.ucs4="utf32";function Utf32AutoCodec(options,iconv){this.iconv=iconv}Utf32AutoCodec.prototype.encoder=Utf32AutoEncoder;Utf32AutoCodec.prototype.decoder=Utf32AutoDecoder;function Utf32AutoEncoder(options,codec){options=options||{};if(options.addBOM===void 0)options.addBOM=true;this.encoder=codec.iconv.getEncoder(options.defaultEncoding||"utf-32le",options)}Utf32AutoEncoder.prototype.write=function(str2){return this.encoder.write(str2)};Utf32AutoEncoder.prototype.end=function(){return this.encoder.end()};function Utf32AutoDecoder(options,codec){this.decoder=null;this.initialBufs=[];this.initialBufsLen=0;this.options=options||{};this.iconv=codec.iconv}Utf32AutoDecoder.prototype.write=function(buf){if(!this.decoder){this.initialBufs.push(buf);this.initialBufsLen+=buf.length;if(this.initialBufsLen<32)return"";var encoding=detectEncoding(this.initialBufs,this.options.defaultEncoding);this.decoder=this.iconv.getDecoder(encoding,this.options);var resStr="";for(var i=0;i<this.initialBufs.length;i++)resStr+=this.decoder.write(this.initialBufs[i]);this.initialBufs.length=this.initialBufsLen=0;return resStr}return this.decoder.write(buf)};Utf32AutoDecoder.prototype.end=function(){if(!this.decoder){var encoding=detectEncoding(this.initialBufs,this.options.defaultEncoding);this.decoder=this.iconv.getDecoder(encoding,this.options);var resStr="";for(var i=0;i<this.initialBufs.length;i++)resStr+=this.decoder.write(this.initialBufs[i]);var trail=this.decoder.end();if(trail)resStr+=trail;this.initialBufs.length=this.initialBufsLen=0;return resStr}return this.decoder.end()};function detectEncoding(bufs,defaultEncoding){var b=[];var charsProcessed=0;var invalidLE=0,invalidBE=0;var bmpCharsLE=0,bmpCharsBE=0;outer_loop:for(var i=0;i<bufs.length;i++){var buf=bufs[i];for(var j=0;j<buf.length;j++){b.push(buf[j]);if(b.length===4){if(charsProcessed===0){if(b[0]===255&&b[1]===254&&b[2]===0&&b[3]===0){return"utf-32le"}if(b[0]===0&&b[1]===0&&b[2]===254&&b[3]===255){return"utf-32be"}}if(b[0]!==0||b[1]>16)invalidBE++;if(b[3]!==0||b[2]>16)invalidLE++;if(b[0]===0&&b[1]===0&&(b[2]!==0||b[3]!==0))bmpCharsBE++;if((b[0]!==0||b[1]!==0)&&b[2]===0&&b[3]===0)bmpCharsLE++;b.length=0;charsProcessed++;if(charsProcessed>=100){break outer_loop}}}}if(bmpCharsBE-invalidBE>bmpCharsLE-invalidLE)return"utf-32be";if(bmpCharsBE-invalidBE<bmpCharsLE-invalidLE)return"utf-32le";return defaultEncoding||"utf-32le"}}});var require_utf16=__commonJS({"node_modules/iconv-lite/encodings/utf16.js"(exports2){"use strict";var Buffer12=require_safer().Buffer;exports2.utf16be=Utf16BECodec;function Utf16BECodec(){}Utf16BECodec.prototype.encoder=Utf16BEEncoder;Utf16BECodec.prototype.decoder=Utf16BEDecoder;Utf16BECodec.prototype.bomAware=true;function Utf16BEEncoder(){}Utf16BEEncoder.prototype.write=function(str2){var buf=Buffer12.from(str2,"ucs2");for(var i=0;i<buf.length;i+=2){var tmp=buf[i];buf[i]=buf[i+1];buf[i+1]=tmp}return buf};Utf16BEEncoder.prototype.end=function(){};function Utf16BEDecoder(){this.overflowByte=-1}Utf16BEDecoder.prototype.write=function(buf){if(buf.length==0)return"";var buf2=Buffer12.alloc(buf.length+1),i=0,j=0;if(this.overflowByte!==-1){buf2[0]=buf[0];buf2[1]=this.overflowByte;i=1;j=2}for(;i<buf.length-1;i+=2,j+=2){buf2[j]=buf[i+1];buf2[j+1]=buf[i]}this.overflowByte=i==buf.length-1?buf[buf.length-1]:-1;return buf2.slice(0,j).toString("ucs2")};Utf16BEDecoder.prototype.end=function(){this.overflowByte=-1};exports2.utf16=Utf16Codec;function Utf16Codec(codecOptions,iconv){this.iconv=iconv}Utf16Codec.prototype.encoder=Utf16Encoder;Utf16Codec.prototype.decoder=Utf16Decoder;function Utf16Encoder(options,codec){options=options||{};if(options.addBOM===void 0)options.addBOM=true;this.encoder=codec.iconv.getEncoder("utf-16le",options)}Utf16Encoder.prototype.write=function(str2){return this.encoder.write(str2)};Utf16Encoder.prototype.end=function(){return this.encoder.end()};function Utf16Decoder(options,codec){this.decoder=null;this.initialBufs=[];this.initialBufsLen=0;this.options=options||{};this.iconv=codec.iconv}Utf16Decoder.prototype.write=function(buf){if(!this.decoder){this.initialBufs.push(buf);this.initialBufsLen+=buf.length;if(this.initialBufsLen<16)return"";var encoding=detectEncoding(this.initialBufs,this.options.defaultEncoding);this.decoder=this.iconv.getDecoder(encoding,this.options);var resStr="";for(var i=0;i<this.initialBufs.length;i++)resStr+=this.decoder.write(this.initialBufs[i]);this.initialBufs.length=this.initialBufsLen=0;return resStr}return this.decoder.write(buf)};Utf16Decoder.prototype.end=function(){if(!this.decoder){var encoding=detectEncoding(this.initialBufs,this.options.defaultEncoding);this.decoder=this.iconv.getDecoder(encoding,this.options);var resStr="";for(var i=0;i<this.initialBufs.length;i++)resStr+=this.decoder.write(this.initialBufs[i]);var trail=this.decoder.end();if(trail)resStr+=trail;this.initialBufs.length=this.initialBufsLen=0;return resStr}return this.decoder.end()};function detectEncoding(bufs,defaultEncoding){var b=[];var charsProcessed=0;var asciiCharsLE=0,asciiCharsBE=0;outer_loop:for(var i=0;i<bufs.length;i++){var buf=bufs[i];for(var j=0;j<buf.length;j++){b.push(buf[j]);if(b.length===2){if(charsProcessed===0){if(b[0]===255&&b[1]===254)return"utf-16le";if(b[0]===254&&b[1]===255)return"utf-16be"}if(b[0]===0&&b[1]!==0)asciiCharsBE++;if(b[0]!==0&&b[1]===0)asciiCharsLE++;b.length=0;charsProcessed++;if(charsProcessed>=100){break outer_loop}}}}if(asciiCharsBE>asciiCharsLE)return"utf-16be";if(asciiCharsBE<asciiCharsLE)return"utf-16le";return defaultEncoding||"utf-16le"}}});var require_utf7=__commonJS({"node_modules/iconv-lite/encodings/utf7.js"(exports2){"use strict";var Buffer12=require_safer().Buffer;exports2.utf7=Utf7Codec;exports2.unicode11utf7="utf7";function Utf7Codec(codecOptions,iconv){this.iconv=iconv}Utf7Codec.prototype.encoder=Utf7Encoder;Utf7Codec.prototype.decoder=Utf7Decoder;Utf7Codec.prototype.bomAware=true;var nonDirectChars=/[^A-Za-z0-9'\(\),-\.\/:\? \n\r\t]+/g;function Utf7Encoder(options,codec){this.iconv=codec.iconv}Utf7Encoder.prototype.write=function(str2){return Buffer12.from(str2.replace(nonDirectChars,function(chunk2){return"+"+(chunk2==="+"?"":this.iconv.encode(chunk2,"utf16-be").toString("base64").replace(/=+$/,""))+"-"}.bind(this)))};Utf7Encoder.prototype.end=function(){};function Utf7Decoder(options,codec){this.iconv=codec.iconv;this.inBase64=false;this.base64Accum=""}var base64Regex2=/[A-Za-z0-9\/+]/;var base64Chars=[];for(i=0;i<256;i++)base64Chars[i]=base64Regex2.test(String.fromCharCode(i));var i;var plusChar="+".charCodeAt(0);var minusChar="-".charCodeAt(0);var andChar="&".charCodeAt(0);Utf7Decoder.prototype.write=function(buf){var res="",lastI=0,inBase64=this.inBase64,base64Accum=this.base64Accum;for(var i2=0;i2<buf.length;i2++){if(!inBase64){if(buf[i2]==plusChar){res+=this.iconv.decode(buf.slice(lastI,i2),"ascii");lastI=i2+1;inBase64=true}}else{if(!base64Chars[buf[i2]]){if(i2==lastI&&buf[i2]==minusChar){res+="+"}else{var b64str=base64Accum+this.iconv.decode(buf.slice(lastI,i2),"ascii");res+=this.iconv.decode(Buffer12.from(b64str,"base64"),"utf16-be")}if(buf[i2]!=minusChar)i2--;lastI=i2+1;inBase64=false;base64Accum=""}}}if(!inBase64){res+=this.iconv.decode(buf.slice(lastI),"ascii")}else{var b64str=base64Accum+this.iconv.decode(buf.slice(lastI),"ascii");var canBeDecoded=b64str.length-b64str.length%8;base64Accum=b64str.slice(canBeDecoded);b64str=b64str.slice(0,canBeDecoded);res+=this.iconv.decode(Buffer12.from(b64str,"base64"),"utf16-be")}this.inBase64=inBase64;this.base64Accum=base64Accum;return res};Utf7Decoder.prototype.end=function(){var res="";if(this.inBase64&&this.base64Accum.length>0)res=this.iconv.decode(Buffer12.from(this.base64Accum,"base64"),"utf16-be");this.inBase64=false;this.base64Accum="";return res};exports2.utf7imap=Utf7IMAPCodec;function Utf7IMAPCodec(codecOptions,iconv){this.iconv=iconv}Utf7IMAPCodec.prototype.encoder=Utf7IMAPEncoder;Utf7IMAPCodec.prototype.decoder=Utf7IMAPDecoder;Utf7IMAPCodec.prototype.bomAware=true;function Utf7IMAPEncoder(options,codec){this.iconv=codec.iconv;this.inBase64=false;this.base64Accum=Buffer12.alloc(6);this.base64AccumIdx=0}Utf7IMAPEncoder.prototype.write=function(str2){var inBase64=this.inBase64,base64Accum=this.base64Accum,base64AccumIdx=this.base64AccumIdx,buf=Buffer12.alloc(str2.length*5+10),bufIdx=0;for(var i2=0;i2<str2.length;i2++){var uChar=str2.charCodeAt(i2);if(32<=uChar&&uChar<=126){if(inBase64){if(base64AccumIdx>0){bufIdx+=buf.write(base64Accum.slice(0,base64AccumIdx).toString("base64").replace(/\//g,",").replace(/=+$/,""),bufIdx);base64AccumIdx=0}buf[bufIdx++]=minusChar;inBase64=false}if(!inBase64){buf[bufIdx++]=uChar;if(uChar===andChar)buf[bufIdx++]=minusChar}}else{if(!inBase64){buf[bufIdx++]=andChar;inBase64=true}if(inBase64){base64Accum[base64AccumIdx++]=uChar>>8;base64Accum[base64AccumIdx++]=uChar&255;if(base64AccumIdx==base64Accum.length){bufIdx+=buf.write(base64Accum.toString("base64").replace(/\//g,","),bufIdx);base64AccumIdx=0}}}}this.inBase64=inBase64;this.base64AccumIdx=base64AccumIdx;return buf.slice(0,bufIdx)};Utf7IMAPEncoder.prototype.end=function(){var buf=Buffer12.alloc(10),bufIdx=0;if(this.inBase64){if(this.base64AccumIdx>0){bufIdx+=buf.write(this.base64Accum.slice(0,this.base64AccumIdx).toString("base64").replace(/\//g,",").replace(/=+$/,""),bufIdx);this.base64AccumIdx=0}buf[bufIdx++]=minusChar;this.inBase64=false}return buf.slice(0,bufIdx)};function Utf7IMAPDecoder(options,codec){this.iconv=codec.iconv;this.inBase64=false;this.base64Accum=""}var base64IMAPChars=base64Chars.slice();base64IMAPChars[",".charCodeAt(0)]=true;Utf7IMAPDecoder.prototype.write=function(buf){var res="",lastI=0,inBase64=this.inBase64,base64Accum=this.base64Accum;for(var i2=0;i2<buf.length;i2++){if(!inBase64){if(buf[i2]==andChar){res+=this.iconv.decode(buf.slice(lastI,i2),"ascii");lastI=i2+1;inBase64=true}}else{if(!base64IMAPChars[buf[i2]]){if(i2==lastI&&buf[i2]==minusChar){res+="&"}else{var b64str=base64Accum+this.iconv.decode(buf.slice(lastI,i2),"ascii").replace(/,/g,"/");res+=this.iconv.decode(Buffer12.from(b64str,"base64"),"utf16-be")}if(buf[i2]!=minusChar)i2--;lastI=i2+1;inBase64=false;base64Accum=""}}}if(!inBase64){res+=this.iconv.decode(buf.slice(lastI),"ascii")}else{var b64str=base64Accum+this.iconv.decode(buf.slice(lastI),"ascii").replace(/,/g,"/");var canBeDecoded=b64str.length-b64str.length%8;base64Accum=b64str.slice(canBeDecoded);b64str=b64str.slice(0,canBeDecoded);res+=this.iconv.decode(Buffer12.from(b64str,"base64"),"utf16-be")}this.inBase64=inBase64;this.base64Accum=base64Accum;return res};Utf7IMAPDecoder.prototype.end=function(){var res="";if(this.inBase64&&this.base64Accum.length>0)res=this.iconv.decode(Buffer12.from(this.base64Accum,"base64"),"utf16-be");this.inBase64=false;this.base64Accum="";return res}}});var require_sbcs_codec=__commonJS({"node_modules/iconv-lite/encodings/sbcs-codec.js"(exports2){"use strict";var Buffer12=require_safer().Buffer;exports2._sbcs=SBCSCodec;function SBCSCodec(codecOptions,iconv){if(!codecOptions)throw new Error("SBCS codec is called without the data.");if(!codecOptions.chars||codecOptions.chars.length!==128&&codecOptions.chars.length!==256)throw new Error("Encoding '"+codecOptions.type+"' has incorrect 'chars' (must be of len 128 or 256)");if(codecOptions.chars.length===128){var asciiString="";for(var i=0;i<128;i++)asciiString+=String.fromCharCode(i);codecOptions.chars=asciiString+codecOptions.chars}this.decodeBuf=Buffer12.from(codecOptions.chars,"ucs2");var encodeBuf=Buffer12.alloc(65536,iconv.defaultCharSingleByte.charCodeAt(0));for(var i=0;i<codecOptions.chars.length;i++)encodeBuf[codecOptions.chars.charCodeAt(i)]=i;this.encodeBuf=encodeBuf}SBCSCodec.prototype.encoder=SBCSEncoder;SBCSCodec.prototype.decoder=SBCSDecoder;function SBCSEncoder(options,codec){this.encodeBuf=codec.encodeBuf}SBCSEncoder.prototype.write=function(str2){var buf=Buffer12.alloc(str2.length);for(var i=0;i<str2.length;i++)buf[i]=this.encodeBuf[str2.charCodeAt(i)];return buf};SBCSEncoder.prototype.end=function(){};function SBCSDecoder(options,codec){this.decodeBuf=codec.decodeBuf}SBCSDecoder.prototype.write=function(buf){var decodeBuf=this.decodeBuf;var newBuf=Buffer12.alloc(buf.length*2);var idx1=0,idx2=0;for(var i=0;i<buf.length;i++){idx1=buf[i]*2;idx2=i*2;newBuf[idx2]=decodeBuf[idx1];newBuf[idx2+1]=decodeBuf[idx1+1]}return newBuf.toString("ucs2")};SBCSDecoder.prototype.end=function(){}}});var require_sbcs_data=__commonJS({"node_modules/iconv-lite/encodings/sbcs-data.js"(exports2,module2){"use strict";module2.exports={"10029":"maccenteuro","maccenteuro":{"type":"_sbcs","chars":"ÄĀāÉĄÖÜáąČäčĆćéŹźĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņŃ¬√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ"},"808":"cp808","ibm808":"cp808","cp808":{"type":"_sbcs","chars":"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№€■ "},"mik":{"type":"_sbcs","chars":"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя└┴┬├─┼╣║╚╔╩╦╠═╬┐░▒▓│┤№§╗╝┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},"cp720":{"type":"_sbcs","chars":"éâàçêëèïîّْô¤ـûùءآأؤ£إئابةتثجحخدذرزسشص«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀ضطظعغفµقكلمنهوىي≡ًٌٍَُِ≈°∙·√ⁿ²■ "},"ascii8bit":"ascii","usascii":"ascii","ansix34":"ascii","ansix341968":"ascii","ansix341986":"ascii","csascii":"ascii","cp367":"ascii","ibm367":"ascii","isoir6":"ascii","iso646us":"ascii","iso646irv":"ascii","us":"ascii","latin1":"iso88591","latin2":"iso88592","latin3":"iso88593","latin4":"iso88594","latin5":"iso88599","latin6":"iso885910","latin7":"iso885913","latin8":"iso885914","latin9":"iso885915","latin10":"iso885916","csisolatin1":"iso88591","csisolatin2":"iso88592","csisolatin3":"iso88593","csisolatin4":"iso88594","csisolatincyrillic":"iso88595","csisolatinarabic":"iso88596","csisolatingreek":"iso88597","csisolatinhebrew":"iso88598","csisolatin5":"iso88599","csisolatin6":"iso885910","l1":"iso88591","l2":"iso88592","l3":"iso88593","l4":"iso88594","l5":"iso88599","l6":"iso885910","l7":"iso885913","l8":"iso885914","l9":"iso885915","l10":"iso885916","isoir14":"iso646jp","isoir57":"iso646cn","isoir100":"iso88591","isoir101":"iso88592","isoir109":"iso88593","isoir110":"iso88594","isoir144":"iso88595","isoir127":"iso88596","isoir126":"iso88597","isoir138":"iso88598","isoir148":"iso88599","isoir157":"iso885910","isoir166":"tis620","isoir179":"iso885913","isoir199":"iso885914","isoir203":"iso885915","isoir226":"iso885916","cp819":"iso88591","ibm819":"iso88591","cyrillic":"iso88595","arabic":"iso88596","arabic8":"iso88596","ecma114":"iso88596","asmo708":"iso88596","greek":"iso88597","greek8":"iso88597","ecma118":"iso88597","elot928":"iso88597","hebrew":"iso88598","hebrew8":"iso88598","turkish":"iso88599","turkish8":"iso88599","thai":"iso885911","thai8":"iso885911","celtic":"iso885914","celtic8":"iso885914","isoceltic":"iso885914","tis6200":"tis620","tis62025291":"tis620","tis62025330":"tis620","10000":"macroman","10006":"macgreek","10007":"maccyrillic","10079":"maciceland","10081":"macturkish","cspc8codepage437":"cp437","cspc775baltic":"cp775","cspc850multilingual":"cp850","cspcp852":"cp852","cspc862latinhebrew":"cp862","cpgr":"cp869","msee":"cp1250","mscyrl":"cp1251","msansi":"cp1252","msgreek":"cp1253","msturk":"cp1254","mshebr":"cp1255","msarab":"cp1256","winbaltrim":"cp1257","cp20866":"koi8r","20866":"koi8r","ibm878":"koi8r","cskoi8r":"koi8r","cp21866":"koi8u","21866":"koi8u","ibm1168":"koi8u","strk10482002":"rk1048","tcvn5712":"tcvn","tcvn57121":"tcvn","gb198880":"iso646cn","cn":"iso646cn","csiso14jisc6220ro":"iso646jp","jisc62201969ro":"iso646jp","jp":"iso646jp","cshproman8":"hproman8","r8":"hproman8","roman8":"hproman8","xroman8":"hproman8","ibm1051":"hproman8","mac":"macintosh","csmacintosh":"macintosh"}}});var require_sbcs_data_generated=__commonJS({"node_modules/iconv-lite/encodings/sbcs-data-generated.js"(exports2,module2){"use strict";module2.exports={"437":"cp437","737":"cp737","775":"cp775","850":"cp850","852":"cp852","855":"cp855","856":"cp856","857":"cp857","858":"cp858","860":"cp860","861":"cp861","862":"cp862","863":"cp863","864":"cp864","865":"cp865","866":"cp866","869":"cp869","874":"windows874","922":"cp922","1046":"cp1046","1124":"cp1124","1125":"cp1125","1129":"cp1129","1133":"cp1133","1161":"cp1161","1162":"cp1162","1163":"cp1163","1250":"windows1250","1251":"windows1251","1252":"windows1252","1253":"windows1253","1254":"windows1254","1255":"windows1255","1256":"windows1256","1257":"windows1257","1258":"windows1258","28591":"iso88591","28592":"iso88592","28593":"iso88593","28594":"iso88594","28595":"iso88595","28596":"iso88596","28597":"iso88597","28598":"iso88598","28599":"iso88599","28600":"iso885910","28601":"iso885911","28603":"iso885913","28604":"iso885914","28605":"iso885915","28606":"iso885916","windows874":{"type":"_sbcs","chars":"€����…�����������‘’“”•–—�������� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����"},"win874":"windows874","cp874":"windows874","windows1250":{"type":"_sbcs","chars":"€�‚�„…†‡�‰Š‹ŚŤŽŹ�‘’“”•–—�™š›śťžź ˇ˘Ł¤Ą¦§¨©Ş«¬­®Ż°±˛ł´µ¶·¸ąş»Ľ˝ľżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙"},"win1250":"windows1250","cp1250":"windows1250","windows1251":{"type":"_sbcs","chars":"ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—�™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬­®Ї°±Ііґµ¶·ё№є»јЅѕїАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя"},"win1251":"windows1251","cp1251":"windows1251","windows1252":{"type":"_sbcs","chars":"€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"},"win1252":"windows1252","cp1252":"windows1252","windows1253":{"type":"_sbcs","chars":"€�‚ƒ„…†‡�‰�‹�����‘’“”•–—�™�›���� ΅Ά£¤¥¦§¨©�«¬­®―°±²³΄µ¶·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�"},"win1253":"windows1253","cp1253":"windows1253","windows1254":{"type":"_sbcs","chars":"€�‚ƒ„…†‡ˆ‰Š‹Œ����‘’“”•–—˜™š›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖ×ØÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ"},"win1254":"windows1254","cp1254":"windows1254","windows1255":{"type":"_sbcs","chars":"€�‚ƒ„…†‡ˆ‰�‹�����‘’“”•–—˜™�›���� ¡¢£₪¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾¿ְֱֲֳִֵֶַָֹֺֻּֽ־ֿ׀ׁׂ׃װױײ׳״�������אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏�"},"win1255":"windows1255","cp1255":"windows1255","windows1256":{"type":"_sbcs","chars":"€پ‚ƒ„…†‡ˆ‰ٹ‹Œچژڈگ‘’“”•–—ک™ڑ›œ‌‍ں ،¢£¤¥¦§¨©ھ«¬­®¯°±²³´µ¶·¸¹؛»¼½¾؟ہءآأؤإئابةتثجحخدذرزسشصض×طظعغـفقكàلâمنهوçèéêëىيîïًٌٍَôُِ÷ّùْûü‎‏ے"},"win1256":"windows1256","cp1256":"windows1256","windows1257":{"type":"_sbcs","chars":"€�‚�„…†‡�‰�‹�¨ˇ¸�‘’“”•–—�™�›�¯˛� �¢£¤�¦§Ø©Ŗ«¬­®Æ°±²³´µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž˙"},"win1257":"windows1257","cp1257":"windows1257","windows1258":{"type":"_sbcs","chars":"€�‚ƒ„…†‡ˆ‰�‹Œ����‘’“”•–—˜™�›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖ×ØÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ"},"win1258":"windows1258","cp1258":"windows1258","iso88591":{"type":"_sbcs","chars":" ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"},"cp28591":"iso88591","iso88592":{"type":"_sbcs","chars":" Ą˘Ł¤ĽŚ§¨ŠŞŤŹ­ŽŻ°ą˛ł´ľśˇ¸šşťź˝žżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙"},"cp28592":"iso88592","iso88593":{"type":"_sbcs","chars":" Ħ˘£¤�Ĥ§¨İŞĞĴ­�Ż°ħ²³´µĥ·¸ışğĵ½�żÀÁÂ�ÄĊĈÇÈÉÊËÌÍÎÏ�ÑÒÓÔĠÖ×ĜÙÚÛÜŬŜßàáâ�äċĉçèéêëìíîï�ñòóôġö÷ĝùúûüŭŝ˙"},"cp28593":"iso88593","iso88594":{"type":"_sbcs","chars":" ĄĸŖ¤ĨĻ§¨ŠĒĢŦ­Ž¯°ą˛ŗ´ĩļˇ¸šēģŧŊžŋĀÁÂÃÄÅÆĮČÉĘËĖÍÎĪĐŅŌĶÔÕÖ×ØŲÚÛÜŨŪßāáâãäåæįčéęëėíîīđņōķôõö÷øųúûüũū˙"},"cp28594":"iso88594","iso88595":{"type":"_sbcs","chars":" ЁЂЃЄЅІЇЈЉЊЋЌ­ЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя№ёђѓєѕіїјљњћќ§ўџ"},"cp28595":"iso88595","iso88596":{"type":"_sbcs","chars":" ���¤�������،­�������������؛���؟�ءآأؤإئابةتثجحخدذرزسشصضطظعغ�����ـفقكلمنهوىيًٌٍَُِّْ�������������"},"cp28596":"iso88596","iso88597":{"type":"_sbcs","chars":" ‘’£€₯¦§¨©ͺ«¬­�―°±²³΄΅Ά·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�"},"cp28597":"iso88597","iso88598":{"type":"_sbcs","chars":" �¢£¤¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾��������������������������������‗אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏�"},"cp28598":"iso88598","iso88599":{"type":"_sbcs","chars":" ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖ×ØÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ"},"cp28599":"iso88599","iso885910":{"type":"_sbcs","chars":" ĄĒĢĪĨĶ§ĻĐŠŦŽ­ŪŊ°ąēģīĩķ·ļđšŧž―ūŋĀÁÂÃÄÅÆĮČÉĘËĖÍÎÏÐŅŌÓÔÕÖŨØŲÚÛÜÝÞßāáâãäåæįčéęëėíîïðņōóôõöũøųúûüýþĸ"},"cp28600":"iso885910","iso885911":{"type":"_sbcs","chars":" กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����"},"cp28601":"iso885911","iso885913":{"type":"_sbcs","chars":" ”¢£¤„¦§Ø©Ŗ«¬­®Æ°±²³“µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž’"},"cp28603":"iso885913","iso885914":{"type":"_sbcs","chars":" Ḃḃ£ĊċḊ§Ẁ©ẂḋỲ­®ŸḞḟĠġṀṁ¶ṖẁṗẃṠỳẄẅṡÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏŴÑÒÓÔÕÖṪØÙÚÛÜÝŶßàáâãäåæçèéêëìíîïŵñòóôõöṫøùúûüýŷÿ"},"cp28604":"iso885914","iso885915":{"type":"_sbcs","chars":" ¡¢£€¥Š§š©ª«¬­®¯°±²³Žµ¶·ž¹º»ŒœŸ¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"},"cp28605":"iso885915","iso885916":{"type":"_sbcs","chars":" ĄąŁ€„Š§š©Ș«Ź­źŻ°±ČłŽ”¶·žčș»ŒœŸżÀÁÂĂÄĆÆÇÈÉÊËÌÍÎÏĐŃÒÓÔŐÖŚŰÙÚÛÜĘȚßàáâăäćæçèéêëìíîïđńòóôőöśűùúûüęțÿ"},"cp28606":"iso885916","cp437":{"type":"_sbcs","chars":"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñÑªº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},"ibm437":"cp437","csibm437":"cp437","cp737":{"type":"_sbcs","chars":"ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρσςτυφχψ░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀ωάέήϊίόύϋώΆΈΉΊΌΎΏ±≥≤ΪΫ÷≈°∙·√ⁿ²■ "},"ibm737":"cp737","csibm737":"cp737","cp775":{"type":"_sbcs","chars":"ĆüéāäģåćłēŖŗīŹÄÅÉæÆōöĢ¢ŚśÖÜø£Ø×¤ĀĪóŻżź”¦©®¬½¼Ł«»░▒▓│┤ĄČĘĖ╣║╗╝ĮŠ┐└┴┬├─┼ŲŪ╚╔╩╦╠═╬Žąčęėįšųūž┘┌█▄▌▐▀ÓßŌŃõÕµńĶķĻļņĒŅ’­±“¾¶§÷„°∙·¹³²■ "},"ibm775":"cp775","csibm775":"cp775","cp850":{"type":"_sbcs","chars":"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø×ƒáíóúñÑªº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ðÐÊËÈıÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµþÞÚÛÙýÝ¯´­±‗¾¶§÷¸°¨·¹³²■ "},"ibm850":"cp850","csibm850":"cp850","cp852":{"type":"_sbcs","chars":"ÇüéâäůćçłëŐőîŹÄĆÉĹĺôöĽľŚśÖÜŤťŁ×čáíóúĄąŽžĘę¬źČş«»░▒▓│┤ÁÂĚŞ╣║╗╝Żż┐└┴┬├─┼Ăă╚╔╩╦╠═╬¤đĐĎËďŇÍÎě┘┌█▄ŢŮ▀ÓßÔŃńňŠšŔÚŕŰýÝţ´­˝˛ˇ˘§÷¸°¨˙űŘř■ "},"ibm852":"cp852","csibm852":"cp852","cp855":{"type":"_sbcs","chars":"ђЂѓЃёЁєЄѕЅіІїЇјЈљЉњЊћЋќЌўЎџЏюЮъЪаАбБцЦдДеЕфФгГ«»░▒▓│┤хХиИ╣║╗╝йЙ┐└┴┬├─┼кК╚╔╩╦╠═╬¤лЛмМнНоОп┘┌█▄Пя▀ЯрРсСтТуУжЖвВьЬ№­ыЫзЗшШэЭщЩчЧ§■ "},"ibm855":"cp855","csibm855":"cp855","cp856":{"type":"_sbcs","chars":"אבגדהוזחטיךכלםמןנסעףפץצקרשת�£�×����������®¬½¼�«»░▒▓│┤���©╣║╗╝¢¥┐└┴┬├─┼��╚╔╩╦╠═╬¤���������┘┌█▄¦�▀������µ�������¯´­±‗¾¶§÷¸°¨·¹³²■ "},"ibm856":"cp856","csibm856":"cp856","cp857":{"type":"_sbcs","chars":"ÇüéâäàåçêëèïîıÄÅÉæÆôöòûùİÖÜø£ØŞşáíóúñÑĞğ¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ºªÊËÈ�ÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµ�×ÚÛÙìÿ¯´­±�¾¶§÷¸°¨·¹³²■ "},"ibm857":"cp857","csibm857":"cp857","cp858":{"type":"_sbcs","chars":"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø×ƒáíóúñÑªº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ðÐÊËÈ€ÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµþÞÚÛÙýÝ¯´­±‗¾¶§÷¸°¨·¹³²■ "},"ibm858":"cp858","csibm858":"cp858","cp860":{"type":"_sbcs","chars":"ÇüéâãàÁçêÊèÍÔìÃÂÉÀÈôõòÚùÌÕÜ¢£Ù₧ÓáíóúñÑªº¿Ò¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},"ibm860":"cp860","csibm860":"cp860","cp861":{"type":"_sbcs","chars":"ÇüéâäàåçêëèÐðÞÄÅÉæÆôöþûÝýÖÜø£Ø₧ƒáíóúÁÍÓÚ¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},"ibm861":"cp861","csibm861":"cp861","cp862":{"type":"_sbcs","chars":"אבגדהוזחטיךכלםמןנסעףפץצקרשת¢£¥₧ƒáíóúñÑªº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},"ibm862":"cp862","csibm862":"cp862","cp863":{"type":"_sbcs","chars":"ÇüéâÂà¶çêëèïî‗À§ÉÈÊôËÏûù¤ÔÜ¢£ÙÛƒ¦´óú¨¸³¯Î⌐¬½¼¾«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},"ibm863":"cp863","csibm863":"cp863","cp864":{"type":"_sbcs","chars":"\0\x07\b	\n\v\f\r\x1B !\"#$٪&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~°·∙√▒─│┼┤┬├┴┐┌└┘β∞φ±½¼≈«»ﻷﻸ��ﻻﻼ� ­ﺂ£¤ﺄ��ﺎﺏﺕﺙ،ﺝﺡﺥ٠١٢٣٤٥٦٧٨٩ﻑ؛ﺱﺵﺹ؟¢ﺀﺁﺃﺅﻊﺋﺍﺑﺓﺗﺛﺟﺣﺧﺩﺫﺭﺯﺳﺷﺻﺿﻁﻅﻋﻏ¦¬÷×ﻉـﻓﻗﻛﻟﻣﻧﻫﻭﻯﻳﺽﻌﻎﻍﻡﹽّﻥﻩﻬﻰﻲﻐﻕﻵﻶﻝﻙﻱ■�"},"ibm864":"cp864","csibm864":"cp864","cp865":{"type":"_sbcs","chars":"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø₧ƒáíóúñÑªº¿⌐¬½¼¡«¤░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},"ibm865":"cp865","csibm865":"cp865","cp866":{"type":"_sbcs","chars":"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№¤■ "},"ibm866":"cp866","csibm866":"cp866","cp869":{"type":"_sbcs","chars":"������Ά�·¬¦‘’Έ―ΉΊΪΌ��ΎΫ©Ώ²³ά£έήίϊΐόύΑΒΓΔΕΖΗ½ΘΙ«»░▒▓│┤ΚΛΜΝ╣║╗╝ΞΟ┐└┴┬├─┼ΠΡ╚╔╩╦╠═╬ΣΤΥΦΧΨΩαβγ┘┌█▄δε▀ζηθικλμνξοπρσςτ΄­±υφχ§ψ΅°¨ωϋΰώ■ "},"ibm869":"cp869","csibm869":"cp869","cp922":{"type":"_sbcs","chars":" ¡¢£¤¥¦§¨©ª«¬­®‾°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏŠÑÒÓÔÕÖ×ØÙÚÛÜÝŽßàáâãäåæçèéêëìíîïšñòóôõö÷øùúûüýžÿ"},"ibm922":"cp922","csibm922":"cp922","cp1046":{"type":"_sbcs","chars":"ﺈ×÷ﹱ■│─┐┌└┘ﹹﹻﹽﹿﹷﺊﻰﻳﻲﻎﻏﻐﻶﻸﻺﻼ ¤ﺋﺑﺗﺛﺟﺣ،­ﺧﺳ٠١٢٣٤٥٦٧٨٩ﺷ؛ﺻﺿﻊ؟ﻋءآأؤإئابةتثجحخدذرزسشصضطﻇعغﻌﺂﺄﺎﻓـفقكلمنهوىيًٌٍَُِّْﻗﻛﻟﻵﻷﻹﻻﻣﻧﻬﻩ�"},"ibm1046":"cp1046","csibm1046":"cp1046","cp1124":{"type":"_sbcs","chars":" ЁЂҐЄЅІЇЈЉЊЋЌ­ЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя№ёђґєѕіїјљњћќ§ўџ"},"ibm1124":"cp1124","csibm1124":"cp1124","cp1125":{"type":"_sbcs","chars":"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёҐґЄєІіЇї·√№¤■ "},"ibm1125":"cp1125","csibm1125":"cp1125","cp1129":{"type":"_sbcs","chars":" ¡¢£¤¥¦§œ©ª«¬­®¯°±²³Ÿµ¶·Œ¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖ×ØÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ"},"ibm1129":"cp1129","csibm1129":"cp1129","cp1133":{"type":"_sbcs","chars":" ກຂຄງຈສຊຍດຕຖທນບປຜຝພຟມຢຣລວຫອຮ���ຯະາຳິີຶືຸູຼັົຽ���ເແໂໃໄ່້໊໋໌ໍໆ�ໜໝ₭����������������໐໑໒໓໔໕໖໗໘໙��¢¬¦�"},"ibm1133":"cp1133","csibm1133":"cp1133","cp1161":{"type":"_sbcs","chars":"��������������������������������่กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู้๊๋€฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛¢¬¦ "},"ibm1161":"cp1161","csibm1161":"cp1161","cp1162":{"type":"_sbcs","chars":"€…‘’“”•–— กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����"},"ibm1162":"cp1162","csibm1162":"cp1162","cp1163":{"type":"_sbcs","chars":" ¡¢£€¥¦§œ©ª«¬­®¯°±²³Ÿµ¶·Œ¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖ×ØÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ"},"ibm1163":"cp1163","csibm1163":"cp1163","maccroatian":{"type":"_sbcs","chars":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®Š™´¨≠ŽØ∞±≤≥∆µ∂∑∏š∫ªºΩžø¿¡¬√ƒ≈Ć«Č… ÀÃÕŒœĐ—“”‘’÷◊�©⁄¤‹›Æ»–·‚„‰ÂćÁčÈÍÎÏÌÓÔđÒÚÛÙıˆ˜¯πË˚¸Êæˇ"},"maccyrillic":{"type":"_sbcs","chars":"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°¢£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµ∂ЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю¤"},"macgreek":{"type":"_sbcs","chars":"Ä¹²É³ÖÜ΅àâä΄¨çéèêë£™îï•½‰ôö¦­ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ�"},"maciceland":{"type":"_sbcs","chars":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüÝ°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ"},"macroman":{"type":"_sbcs","chars":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›ﬁﬂ‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ"},"macromania":{"type":"_sbcs","chars":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ĂŞ∞±≤≥¥µ∂∑∏π∫ªºΩăş¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›Ţţ‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ"},"macthai":{"type":"_sbcs","chars":"«»…“”�•‘’� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู\uFEFF​–—฿เแโใไๅๆ็่้๊๋์ํ™๏๐๑๒๓๔๕๖๗๘๙®©����"},"macturkish":{"type":"_sbcs","chars":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙ�ˆ˜¯˘˙˚¸˝˛ˇ"},"macukraine":{"type":"_sbcs","chars":"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°Ґ£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµґЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю¤"},"koi8r":{"type":"_sbcs","chars":"─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥ ⌡°²·÷═║╒ё╓╔╕╖╗╘╙╚╛╜╝╞╟╠╡Ё╢╣╤╥╦╧╨╩╪╫╬©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ"},"koi8u":{"type":"_sbcs","chars":"─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥ ⌡°²·÷═║╒ёє╔ії╗╘╙╚╛ґ╝╞╟╠╡ЁЄ╣ІЇ╦╧╨╩╪Ґ╬©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ"},"koi8ru":{"type":"_sbcs","chars":"─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥ ⌡°²·÷═║╒ёє╔ії╗╘╙╚╛ґў╞╟╠╡ЁЄ╣ІЇ╦╧╨╩╪ҐЎ©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ"},"koi8t":{"type":"_sbcs","chars":"қғ‚Ғ„…†‡�‰ҳ‹ҲҷҶ�Қ‘’“”•–—�™�›�����ӯӮё¤ӣ¦§���«¬­®�°±²Ё�Ӣ¶·�№�»���©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ"},"armscii8":{"type":"_sbcs","chars":" �և։)(»«—.՝,-֊…՜՛՞ԱաԲբԳգԴդԵեԶզԷէԸըԹթԺժԻիԼլԽխԾծԿկՀհՁձՂղՃճՄմՅյՆնՇշՈոՉչՊպՋջՌռՍսՎվՏտՐրՑցՒւՓփՔքՕօՖֆ՚�"},"rk1048":{"type":"_sbcs","chars":"ЂЃ‚ѓ„…†‡€‰Љ‹ЊҚҺЏђ‘’“”•–—�™љ›њқһџ ҰұӘ¤Ө¦§Ё©Ғ«¬­®Ү°±Ііөµ¶·ё№ғ»әҢңүАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя"},"tcvn":{"type":"_sbcs","chars":"\0ÚỤỪỬỮ\x07\b	\n\v\f\rỨỰỲỶỸÝỴ\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÀẢÃÁẠẶẬÈẺẼÉẸỆÌỈĨÍỊÒỎÕÓỌỘỜỞỠỚỢÙỦŨ ĂÂÊÔƠƯĐăâêôơưđẶ̀̀̉̃́àảãáạẲằẳẵắẴẮẦẨẪẤỀặầẩẫấậèỂẻẽéẹềểễếệìỉỄẾỒĩíịòỔỏõóọồổỗốộờởỡớợùỖủũúụừửữứựỳỷỹýỵỐ"},"georgianacademy":{"type":"_sbcs","chars":"‚ƒ„…†‡ˆ‰Š‹Œ‘’“”•–—˜™š›œŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿აბგდევზთიკლმნოპჟრსტუფქღყშჩცძწჭხჯჰჱჲჳჴჵჶçèéêëìíîïðñòóôõö÷øùúûüýþÿ"},"georgianps":{"type":"_sbcs","chars":"‚ƒ„…†‡ˆ‰Š‹Œ‘’“”•–—˜™š›œŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿აბგდევზჱთიკლმნჲოპჟრსტჳუფქღყშჩცძწჭხჴჯჰჵæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"},"pt154":{"type":"_sbcs","chars":"ҖҒӮғ„…ҶҮҲүҠӢҢҚҺҸҗ‘’“”•–—ҳҷҡӣңқһҹ ЎўЈӨҘҰ§Ё©Ә«¬ӯ®Ҝ°ұІіҙө¶·ё№ә»јҪҫҝАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя"},"viscii":{"type":"_sbcs","chars":"\0ẲẴẪ\x07\b	\n\v\f\rỶỸ\x1BỴ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ẠẮẰẶẤẦẨẬẼẸẾỀỂỄỆỐỒỔỖỘỢỚỜỞỊỎỌỈỦŨỤỲÕắằặấầẩậẽẹếềểễệốồổỗỠƠộờởịỰỨỪỬơớƯÀÁÂÃẢĂẳẵÈÉÊẺÌÍĨỳĐứÒÓÔạỷừửÙÚỹỵÝỡưàáâãảăữẫèéêẻìíĩỉđựòóôõỏọụùúũủýợỮ"},"iso646cn":{"type":"_sbcs","chars":"\0\x07\b	\n\v\f\r\x1B !\"#¥%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}‾��������������������������������������������������������������������������������������������������������������������������������"},"iso646jp":{"type":"_sbcs","chars":"\0\x07\b	\n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[¥]^_`abcdefghijklmnopqrstuvwxyz{|}‾��������������������������������������������������������������������������������������������������������������������������������"},"hproman8":{"type":"_sbcs","chars":" ÀÂÈÊËÎÏ´ˋˆ¨˜ÙÛ₤¯Ýý°ÇçÑñ¡¿¤£¥§ƒ¢âêôûáéóúàèòùäëöüÅîØÆåíøæÄìÖÜÉïßÔÁÃãÐðÍÌÓÒÕõŠšÚŸÿÞþ·µ¶¾—¼½ªº«■»±�"},"macintosh":{"type":"_sbcs","chars":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›ﬁﬂ‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ"},"ascii":{"type":"_sbcs","chars":"��������������������������������������������������������������������������������������������������������������������������������"},"tis620":{"type":"_sbcs","chars":"���������������������������������กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����"}}}});var require_dbcs_codec=__commonJS({"node_modules/iconv-lite/encodings/dbcs-codec.js"(exports2){"use strict";var Buffer12=require_safer().Buffer;exports2._dbcs=DBCSCodec;var UNASSIGNED=-1;var GB18030_CODE=-2;var SEQ_START=-10;var NODE_START=-1e3;var UNASSIGNED_NODE=new Array(256);var DEF_CHAR=-1;for(i=0;i<256;i++)UNASSIGNED_NODE[i]=UNASSIGNED;var i;function DBCSCodec(codecOptions,iconv){this.encodingName=codecOptions.encodingName;if(!codecOptions)throw new Error("DBCS codec is called without the data.");if(!codecOptions.table)throw new Error("Encoding '"+this.encodingName+"' has no data.");var mappingTable=codecOptions.table();this.decodeTables=[];this.decodeTables[0]=UNASSIGNED_NODE.slice(0);this.decodeTableSeq=[];for(var i2=0;i2<mappingTable.length;i2++)this._addDecodeChunk(mappingTable[i2]);if(typeof codecOptions.gb18030==="function"){this.gb18030=codecOptions.gb18030();var commonThirdByteNodeIdx=this.decodeTables.length;this.decodeTables.push(UNASSIGNED_NODE.slice(0));var commonFourthByteNodeIdx=this.decodeTables.length;this.decodeTables.push(UNASSIGNED_NODE.slice(0));var firstByteNode=this.decodeTables[0];for(var i2=129;i2<=254;i2++){var secondByteNode=this.decodeTables[NODE_START-firstByteNode[i2]];for(var j=48;j<=57;j++){if(secondByteNode[j]===UNASSIGNED){secondByteNode[j]=NODE_START-commonThirdByteNodeIdx}else if(secondByteNode[j]>NODE_START){throw new Error("gb18030 decode tables conflict at byte 2")}var thirdByteNode=this.decodeTables[NODE_START-secondByteNode[j]];for(var k=129;k<=254;k++){if(thirdByteNode[k]===UNASSIGNED){thirdByteNode[k]=NODE_START-commonFourthByteNodeIdx}else if(thirdByteNode[k]===NODE_START-commonFourthByteNodeIdx){continue}else if(thirdByteNode[k]>NODE_START){throw new Error("gb18030 decode tables conflict at byte 3")}var fourthByteNode=this.decodeTables[NODE_START-thirdByteNode[k]];for(var l=48;l<=57;l++){if(fourthByteNode[l]===UNASSIGNED)fourthByteNode[l]=GB18030_CODE}}}}}this.defaultCharUnicode=iconv.defaultCharUnicode;this.encodeTable=[];this.encodeTableSeq=[];var skipEncodeChars={};if(codecOptions.encodeSkipVals)for(var i2=0;i2<codecOptions.encodeSkipVals.length;i2++){var val=codecOptions.encodeSkipVals[i2];if(typeof val==="number")skipEncodeChars[val]=true;else for(var j=val.from;j<=val.to;j++)skipEncodeChars[j]=true}this._fillEncodeTable(0,0,skipEncodeChars);if(codecOptions.encodeAdd){for(var uChar in codecOptions.encodeAdd)if(Object.prototype.hasOwnProperty.call(codecOptions.encodeAdd,uChar))this._setEncodeChar(uChar.charCodeAt(0),codecOptions.encodeAdd[uChar])}this.defCharSB=this.encodeTable[0][iconv.defaultCharSingleByte.charCodeAt(0)];if(this.defCharSB===UNASSIGNED)this.defCharSB=this.encodeTable[0]["?"];if(this.defCharSB===UNASSIGNED)this.defCharSB="?".charCodeAt(0)}DBCSCodec.prototype.encoder=DBCSEncoder;DBCSCodec.prototype.decoder=DBCSDecoder;DBCSCodec.prototype._getDecodeTrieNode=function(addr){var bytes9=[];for(;addr>0;addr>>>=8)bytes9.push(addr&255);if(bytes9.length==0)bytes9.push(0);var node=this.decodeTables[0];for(var i2=bytes9.length-1;i2>0;i2--){var val=node[bytes9[i2]];if(val==UNASSIGNED){node[bytes9[i2]]=NODE_START-this.decodeTables.length;this.decodeTables.push(node=UNASSIGNED_NODE.slice(0))}else if(val<=NODE_START){node=this.decodeTables[NODE_START-val]}else throw new Error("Overwrite byte in "+this.encodingName+", addr: "+addr.toString(16))}return node};DBCSCodec.prototype._addDecodeChunk=function(chunk2){var curAddr=parseInt(chunk2[0],16);var writeTable=this._getDecodeTrieNode(curAddr);curAddr=curAddr&255;for(var k=1;k<chunk2.length;k++){var part=chunk2[k];if(typeof part==="string"){for(var l=0;l<part.length;){var code=part.charCodeAt(l++);if(55296<=code&&code<56320){var codeTrail=part.charCodeAt(l++);if(56320<=codeTrail&&codeTrail<57344)writeTable[curAddr++]=65536+(code-55296)*1024+(codeTrail-56320);else throw new Error("Incorrect surrogate pair in "+this.encodingName+" at chunk "+chunk2[0])}else if(4080<code&&code<=4095){var len=4095-code+2;var seq2=[];for(var m=0;m<len;m++)seq2.push(part.charCodeAt(l++));writeTable[curAddr++]=SEQ_START-this.decodeTableSeq.length;this.decodeTableSeq.push(seq2)}else writeTable[curAddr++]=code}}else if(typeof part==="number"){var charCode=writeTable[curAddr-1]+1;for(var l=0;l<part;l++)writeTable[curAddr++]=charCode++}else throw new Error("Incorrect type '"+typeof part+"' given in "+this.encodingName+" at chunk "+chunk2[0])}if(curAddr>255)throw new Error("Incorrect chunk in "+this.encodingName+" at addr "+chunk2[0]+": too long"+curAddr)};DBCSCodec.prototype._getEncodeBucket=function(uCode){var high=uCode>>8;if(this.encodeTable[high]===void 0)this.encodeTable[high]=UNASSIGNED_NODE.slice(0);return this.encodeTable[high]};DBCSCodec.prototype._setEncodeChar=function(uCode,dbcsCode){var bucket=this._getEncodeBucket(uCode);var low=uCode&255;if(bucket[low]<=SEQ_START)this.encodeTableSeq[SEQ_START-bucket[low]][DEF_CHAR]=dbcsCode;else if(bucket[low]==UNASSIGNED)bucket[low]=dbcsCode};DBCSCodec.prototype._setEncodeSequence=function(seq2,dbcsCode){var uCode=seq2[0];var bucket=this._getEncodeBucket(uCode);var low=uCode&255;var node;if(bucket[low]<=SEQ_START){node=this.encodeTableSeq[SEQ_START-bucket[low]]}else{node={};if(bucket[low]!==UNASSIGNED)node[DEF_CHAR]=bucket[low];bucket[low]=SEQ_START-this.encodeTableSeq.length;this.encodeTableSeq.push(node)}for(var j=1;j<seq2.length-1;j++){var oldVal=node[uCode];if(typeof oldVal==="object")node=oldVal;else{node=node[uCode]={};if(oldVal!==void 0)node[DEF_CHAR]=oldVal}}uCode=seq2[seq2.length-1];node[uCode]=dbcsCode};DBCSCodec.prototype._fillEncodeTable=function(nodeIdx,prefix,skipEncodeChars){var node=this.decodeTables[nodeIdx];var hasValues=false;var subNodeEmpty={};for(var i2=0;i2<256;i2++){var uCode=node[i2];var mbCode=prefix+i2;if(skipEncodeChars[mbCode])continue;if(uCode>=0){this._setEncodeChar(uCode,mbCode);hasValues=true}else if(uCode<=NODE_START){var subNodeIdx=NODE_START-uCode;if(!subNodeEmpty[subNodeIdx]){var newPrefix=mbCode<<8>>>0;if(this._fillEncodeTable(subNodeIdx,newPrefix,skipEncodeChars))hasValues=true;else subNodeEmpty[subNodeIdx]=true}}else if(uCode<=SEQ_START){this._setEncodeSequence(this.decodeTableSeq[SEQ_START-uCode],mbCode);hasValues=true}}return hasValues};function DBCSEncoder(options,codec){this.leadSurrogate=-1;this.seqObj=void 0;this.encodeTable=codec.encodeTable;this.encodeTableSeq=codec.encodeTableSeq;this.defaultCharSingleByte=codec.defCharSB;this.gb18030=codec.gb18030}DBCSEncoder.prototype.write=function(str2){var newBuf=Buffer12.alloc(str2.length*(this.gb18030?4:3)),leadSurrogate=this.leadSurrogate,seqObj=this.seqObj,nextChar=-1,i2=0,j=0;while(true){if(nextChar===-1){if(i2==str2.length)break;var uCode=str2.charCodeAt(i2++)}else{var uCode=nextChar;nextChar=-1}if(55296<=uCode&&uCode<57344){if(uCode<56320){if(leadSurrogate===-1){leadSurrogate=uCode;continue}else{leadSurrogate=uCode;uCode=UNASSIGNED}}else{if(leadSurrogate!==-1){uCode=65536+(leadSurrogate-55296)*1024+(uCode-56320);leadSurrogate=-1}else{uCode=UNASSIGNED}}}else if(leadSurrogate!==-1){nextChar=uCode;uCode=UNASSIGNED;leadSurrogate=-1}var dbcsCode=UNASSIGNED;if(seqObj!==void 0&&uCode!=UNASSIGNED){var resCode=seqObj[uCode];if(typeof resCode==="object"){seqObj=resCode;continue}else if(typeof resCode=="number"){dbcsCode=resCode}else if(resCode==void 0){resCode=seqObj[DEF_CHAR];if(resCode!==void 0){dbcsCode=resCode;nextChar=uCode}else{}}seqObj=void 0}else if(uCode>=0){var subtable=this.encodeTable[uCode>>8];if(subtable!==void 0)dbcsCode=subtable[uCode&255];if(dbcsCode<=SEQ_START){seqObj=this.encodeTableSeq[SEQ_START-dbcsCode];continue}if(dbcsCode==UNASSIGNED&&this.gb18030){var idx=findIdx(this.gb18030.uChars,uCode);if(idx!=-1){var dbcsCode=this.gb18030.gbChars[idx]+(uCode-this.gb18030.uChars[idx]);newBuf[j++]=129+Math.floor(dbcsCode/12600);dbcsCode=dbcsCode%12600;newBuf[j++]=48+Math.floor(dbcsCode/1260);dbcsCode=dbcsCode%1260;newBuf[j++]=129+Math.floor(dbcsCode/10);dbcsCode=dbcsCode%10;newBuf[j++]=48+dbcsCode;continue}}}if(dbcsCode===UNASSIGNED)dbcsCode=this.defaultCharSingleByte;if(dbcsCode<256){newBuf[j++]=dbcsCode}else if(dbcsCode<65536){newBuf[j++]=dbcsCode>>8;newBuf[j++]=dbcsCode&255}else if(dbcsCode<16777216){newBuf[j++]=dbcsCode>>16;newBuf[j++]=dbcsCode>>8&255;newBuf[j++]=dbcsCode&255}else{newBuf[j++]=dbcsCode>>>24;newBuf[j++]=dbcsCode>>>16&255;newBuf[j++]=dbcsCode>>>8&255;newBuf[j++]=dbcsCode&255}}this.seqObj=seqObj;this.leadSurrogate=leadSurrogate;return newBuf.slice(0,j)};DBCSEncoder.prototype.end=function(){if(this.leadSurrogate===-1&&this.seqObj===void 0)return;var newBuf=Buffer12.alloc(10),j=0;if(this.seqObj){var dbcsCode=this.seqObj[DEF_CHAR];if(dbcsCode!==void 0){if(dbcsCode<256){newBuf[j++]=dbcsCode}else{newBuf[j++]=dbcsCode>>8;newBuf[j++]=dbcsCode&255}}else{}this.seqObj=void 0}if(this.leadSurrogate!==-1){newBuf[j++]=this.defaultCharSingleByte;this.leadSurrogate=-1}return newBuf.slice(0,j)};DBCSEncoder.prototype.findIdx=findIdx;function DBCSDecoder(options,codec){this.nodeIdx=0;this.prevBytes=[];this.decodeTables=codec.decodeTables;this.decodeTableSeq=codec.decodeTableSeq;this.defaultCharUnicode=codec.defaultCharUnicode;this.gb18030=codec.gb18030}DBCSDecoder.prototype.write=function(buf){var newBuf=Buffer12.alloc(buf.length*2),nodeIdx=this.nodeIdx,prevBytes=this.prevBytes,prevOffset=this.prevBytes.length,seqStart=-this.prevBytes.length,uCode;for(var i2=0,j=0;i2<buf.length;i2++){var curByte=i2>=0?buf[i2]:prevBytes[i2+prevOffset];var uCode=this.decodeTables[nodeIdx][curByte];if(uCode>=0){}else if(uCode===UNASSIGNED){uCode=this.defaultCharUnicode.charCodeAt(0);i2=seqStart}else if(uCode===GB18030_CODE){if(i2>=3){var ptr=(buf[i2-3]-129)*12600+(buf[i2-2]-48)*1260+(buf[i2-1]-129)*10+(curByte-48)}else{var ptr=(prevBytes[i2-3+prevOffset]-129)*12600+((i2-2>=0?buf[i2-2]:prevBytes[i2-2+prevOffset])-48)*1260+((i2-1>=0?buf[i2-1]:prevBytes[i2-1+prevOffset])-129)*10+(curByte-48)}var idx=findIdx(this.gb18030.gbChars,ptr);uCode=this.gb18030.uChars[idx]+ptr-this.gb18030.gbChars[idx]}else if(uCode<=NODE_START){nodeIdx=NODE_START-uCode;continue}else if(uCode<=SEQ_START){var seq2=this.decodeTableSeq[SEQ_START-uCode];for(var k=0;k<seq2.length-1;k++){uCode=seq2[k];newBuf[j++]=uCode&255;newBuf[j++]=uCode>>8}uCode=seq2[seq2.length-1]}else throw new Error("iconv-lite internal error: invalid decoding table value "+uCode+" at "+nodeIdx+"/"+curByte);if(uCode>=65536){uCode-=65536;var uCodeLead=55296|uCode>>10;newBuf[j++]=uCodeLead&255;newBuf[j++]=uCodeLead>>8;uCode=56320|uCode&1023}newBuf[j++]=uCode&255;newBuf[j++]=uCode>>8;nodeIdx=0;seqStart=i2+1}this.nodeIdx=nodeIdx;this.prevBytes=seqStart>=0?Array.prototype.slice.call(buf,seqStart):prevBytes.slice(seqStart+prevOffset).concat(Array.prototype.slice.call(buf));return newBuf.slice(0,j).toString("ucs2")};DBCSDecoder.prototype.end=function(){var ret="";while(this.prevBytes.length>0){ret+=this.defaultCharUnicode;var bytesArr=this.prevBytes.slice(1);this.prevBytes=[];this.nodeIdx=0;if(bytesArr.length>0)ret+=this.write(bytesArr)}this.prevBytes=[];this.nodeIdx=0;return ret};function findIdx(table,val){if(table[0]>val)return-1;var l=0,r=table.length;while(l<r-1){var mid=l+(r-l+1>>1);if(table[mid]<=val)l=mid;else r=mid}return l}}});var require_shiftjis=__commonJS({"node_modules/iconv-lite/encodings/tables/shiftjis.json"(exports2,module2){module2.exports=[["0","\0",128],["a1","｡",62],["8140","　、。，．・：；？！゛゜´｀¨＾￣＿ヽヾゝゞ〃仝々〆〇ー―‐／＼～∥｜…‥‘’“”（）〔〕［］｛｝〈",9,"＋－±×"],["8180","÷＝≠＜＞≦≧∞∴♂♀°′″℃￥＄￠￡％＃＆＊＠§☆★○●◎◇◆□■△▲▽▼※〒→←↑↓〓"],["81b8","∈∋⊆⊇⊂⊃∪∩"],["81c8","∧∨￢⇒⇔∀∃"],["81da","∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬"],["81f0","Å‰♯♭♪†‡¶"],["81fc","◯"],["824f","０",9],["8260","Ａ",25],["8281","ａ",25],["829f","ぁ",82],["8340","ァ",62],["8380","ム",22],["839f","Α",16,"Σ",6],["83bf","α",16,"σ",6],["8440","А",5,"ЁЖ",25],["8470","а",5,"ёж",7],["8480","о",17],["849f","─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂"],["8740","①",19,"Ⅰ",9],["875f","㍉㌔㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡"],["877e","㍻"],["8780","〝〟№㏍℡㊤",4,"㈱㈲㈹㍾㍽㍼≒≡∫∮∑√⊥∠∟⊿∵∩∪"],["889f","亜唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位依偉囲夷委威尉惟意慰易椅為畏異移維緯胃萎衣謂違遺医井亥域育郁磯一壱溢逸稲茨芋鰯允印咽員因姻引飲淫胤蔭"],["8940","院陰隠韻吋右宇烏羽迂雨卯鵜窺丑碓臼渦嘘唄欝蔚鰻姥厩浦瓜閏噂云運雲荏餌叡営嬰影映曳栄永泳洩瑛盈穎頴英衛詠鋭液疫益駅悦謁越閲榎厭円"],["8980","園堰奄宴延怨掩援沿演炎焔煙燕猿縁艶苑薗遠鉛鴛塩於汚甥凹央奥往応押旺横欧殴王翁襖鴬鴎黄岡沖荻億屋憶臆桶牡乙俺卸恩温穏音下化仮何伽価佳加可嘉夏嫁家寡科暇果架歌河火珂禍禾稼箇花苛茄荷華菓蝦課嘩貨迦過霞蚊俄峨我牙画臥芽蛾賀雅餓駕介会解回塊壊廻快怪悔恢懐戒拐改"],["8a40","魁晦械海灰界皆絵芥蟹開階貝凱劾外咳害崖慨概涯碍蓋街該鎧骸浬馨蛙垣柿蛎鈎劃嚇各廓拡撹格核殻獲確穫覚角赫較郭閣隔革学岳楽額顎掛笠樫"],["8a80","橿梶鰍潟割喝恰括活渇滑葛褐轄且鰹叶椛樺鞄株兜竃蒲釜鎌噛鴨栢茅萱粥刈苅瓦乾侃冠寒刊勘勧巻喚堪姦完官寛干幹患感慣憾換敢柑桓棺款歓汗漢澗潅環甘監看竿管簡緩缶翰肝艦莞観諌貫還鑑間閑関陥韓館舘丸含岸巌玩癌眼岩翫贋雁頑顔願企伎危喜器基奇嬉寄岐希幾忌揮机旗既期棋棄"],["8b40","機帰毅気汽畿祈季稀紀徽規記貴起軌輝飢騎鬼亀偽儀妓宜戯技擬欺犠疑祇義蟻誼議掬菊鞠吉吃喫桔橘詰砧杵黍却客脚虐逆丘久仇休及吸宮弓急救"],["8b80","朽求汲泣灸球究窮笈級糾給旧牛去居巨拒拠挙渠虚許距鋸漁禦魚亨享京供侠僑兇競共凶協匡卿叫喬境峡強彊怯恐恭挟教橋況狂狭矯胸脅興蕎郷鏡響饗驚仰凝尭暁業局曲極玉桐粁僅勤均巾錦斤欣欽琴禁禽筋緊芹菌衿襟謹近金吟銀九倶句区狗玖矩苦躯駆駈駒具愚虞喰空偶寓遇隅串櫛釧屑屈"],["8c40","掘窟沓靴轡窪熊隈粂栗繰桑鍬勲君薫訓群軍郡卦袈祁係傾刑兄啓圭珪型契形径恵慶慧憩掲携敬景桂渓畦稽系経継繋罫茎荊蛍計詣警軽頚鶏芸迎鯨"],["8c80","劇戟撃激隙桁傑欠決潔穴結血訣月件倹倦健兼券剣喧圏堅嫌建憲懸拳捲検権牽犬献研硯絹県肩見謙賢軒遣鍵険顕験鹸元原厳幻弦減源玄現絃舷言諺限乎個古呼固姑孤己庫弧戸故枯湖狐糊袴股胡菰虎誇跨鈷雇顧鼓五互伍午呉吾娯後御悟梧檎瑚碁語誤護醐乞鯉交佼侯候倖光公功効勾厚口向"],["8d40","后喉坑垢好孔孝宏工巧巷幸広庚康弘恒慌抗拘控攻昂晃更杭校梗構江洪浩港溝甲皇硬稿糠紅紘絞綱耕考肯肱腔膏航荒行衡講貢購郊酵鉱砿鋼閤降"],["8d80","項香高鴻剛劫号合壕拷濠豪轟麹克刻告国穀酷鵠黒獄漉腰甑忽惚骨狛込此頃今困坤墾婚恨懇昏昆根梱混痕紺艮魂些佐叉唆嵯左差査沙瑳砂詐鎖裟坐座挫債催再最哉塞妻宰彩才採栽歳済災采犀砕砦祭斎細菜裁載際剤在材罪財冴坂阪堺榊肴咲崎埼碕鷺作削咋搾昨朔柵窄策索錯桜鮭笹匙冊刷"],["8e40","察拶撮擦札殺薩雑皐鯖捌錆鮫皿晒三傘参山惨撒散桟燦珊産算纂蚕讃賛酸餐斬暫残仕仔伺使刺司史嗣四士始姉姿子屍市師志思指支孜斯施旨枝止"],["8e80","死氏獅祉私糸紙紫肢脂至視詞詩試誌諮資賜雌飼歯事似侍児字寺慈持時次滋治爾璽痔磁示而耳自蒔辞汐鹿式識鴫竺軸宍雫七叱執失嫉室悉湿漆疾質実蔀篠偲柴芝屡蕊縞舎写射捨赦斜煮社紗者謝車遮蛇邪借勺尺杓灼爵酌釈錫若寂弱惹主取守手朱殊狩珠種腫趣酒首儒受呪寿授樹綬需囚収周"],["8f40","宗就州修愁拾洲秀秋終繍習臭舟蒐衆襲讐蹴輯週酋酬集醜什住充十従戎柔汁渋獣縦重銃叔夙宿淑祝縮粛塾熟出術述俊峻春瞬竣舜駿准循旬楯殉淳"],["8f80","準潤盾純巡遵醇順処初所暑曙渚庶緒署書薯藷諸助叙女序徐恕鋤除傷償勝匠升召哨商唱嘗奨妾娼宵将小少尚庄床廠彰承抄招掌捷昇昌昭晶松梢樟樵沼消渉湘焼焦照症省硝礁祥称章笑粧紹肖菖蒋蕉衝裳訟証詔詳象賞醤鉦鍾鐘障鞘上丈丞乗冗剰城場壌嬢常情擾条杖浄状畳穣蒸譲醸錠嘱埴飾"],["9040","拭植殖燭織職色触食蝕辱尻伸信侵唇娠寝審心慎振新晋森榛浸深申疹真神秦紳臣芯薪親診身辛進針震人仁刃塵壬尋甚尽腎訊迅陣靭笥諏須酢図厨"],["9080","逗吹垂帥推水炊睡粋翠衰遂酔錐錘随瑞髄崇嵩数枢趨雛据杉椙菅頗雀裾澄摺寸世瀬畝是凄制勢姓征性成政整星晴棲栖正清牲生盛精聖声製西誠誓請逝醒青静斉税脆隻席惜戚斥昔析石積籍績脊責赤跡蹟碩切拙接摂折設窃節説雪絶舌蝉仙先千占宣専尖川戦扇撰栓栴泉浅洗染潜煎煽旋穿箭線"],["9140","繊羨腺舛船薦詮賎践選遷銭銑閃鮮前善漸然全禅繕膳糎噌塑岨措曾曽楚狙疏疎礎祖租粗素組蘇訴阻遡鼠僧創双叢倉喪壮奏爽宋層匝惣想捜掃挿掻"],["9180","操早曹巣槍槽漕燥争痩相窓糟総綜聡草荘葬蒼藻装走送遭鎗霜騒像増憎臓蔵贈造促側則即息捉束測足速俗属賊族続卒袖其揃存孫尊損村遜他多太汰詑唾堕妥惰打柁舵楕陀駄騨体堆対耐岱帯待怠態戴替泰滞胎腿苔袋貸退逮隊黛鯛代台大第醍題鷹滝瀧卓啄宅托択拓沢濯琢託鐸濁諾茸凧蛸只"],["9240","叩但達辰奪脱巽竪辿棚谷狸鱈樽誰丹単嘆坦担探旦歎淡湛炭短端箪綻耽胆蛋誕鍛団壇弾断暖檀段男談値知地弛恥智池痴稚置致蜘遅馳築畜竹筑蓄"],["9280","逐秩窒茶嫡着中仲宙忠抽昼柱注虫衷註酎鋳駐樗瀦猪苧著貯丁兆凋喋寵帖帳庁弔張彫徴懲挑暢朝潮牒町眺聴脹腸蝶調諜超跳銚長頂鳥勅捗直朕沈珍賃鎮陳津墜椎槌追鎚痛通塚栂掴槻佃漬柘辻蔦綴鍔椿潰坪壷嬬紬爪吊釣鶴亭低停偵剃貞呈堤定帝底庭廷弟悌抵挺提梯汀碇禎程締艇訂諦蹄逓"],["9340","邸鄭釘鼎泥摘擢敵滴的笛適鏑溺哲徹撤轍迭鉄典填天展店添纏甜貼転顛点伝殿澱田電兎吐堵塗妬屠徒斗杜渡登菟賭途都鍍砥砺努度土奴怒倒党冬"],["9380","凍刀唐塔塘套宕島嶋悼投搭東桃梼棟盗淘湯涛灯燈当痘祷等答筒糖統到董蕩藤討謄豆踏逃透鐙陶頭騰闘働動同堂導憧撞洞瞳童胴萄道銅峠鴇匿得徳涜特督禿篤毒独読栃橡凸突椴届鳶苫寅酉瀞噸屯惇敦沌豚遁頓呑曇鈍奈那内乍凪薙謎灘捺鍋楢馴縄畷南楠軟難汝二尼弐迩匂賑肉虹廿日乳入"],["9440","如尿韮任妊忍認濡禰祢寧葱猫熱年念捻撚燃粘乃廼之埜嚢悩濃納能脳膿農覗蚤巴把播覇杷波派琶破婆罵芭馬俳廃拝排敗杯盃牌背肺輩配倍培媒梅"],["9480","楳煤狽買売賠陪這蝿秤矧萩伯剥博拍柏泊白箔粕舶薄迫曝漠爆縛莫駁麦函箱硲箸肇筈櫨幡肌畑畠八鉢溌発醗髪伐罰抜筏閥鳩噺塙蛤隼伴判半反叛帆搬斑板氾汎版犯班畔繁般藩販範釆煩頒飯挽晩番盤磐蕃蛮匪卑否妃庇彼悲扉批披斐比泌疲皮碑秘緋罷肥被誹費避非飛樋簸備尾微枇毘琵眉美"],["9540","鼻柊稗匹疋髭彦膝菱肘弼必畢筆逼桧姫媛紐百謬俵彪標氷漂瓢票表評豹廟描病秒苗錨鋲蒜蛭鰭品彬斌浜瀕貧賓頻敏瓶不付埠夫婦富冨布府怖扶敷"],["9580","斧普浮父符腐膚芙譜負賦赴阜附侮撫武舞葡蕪部封楓風葺蕗伏副復幅服福腹複覆淵弗払沸仏物鮒分吻噴墳憤扮焚奮粉糞紛雰文聞丙併兵塀幣平弊柄並蔽閉陛米頁僻壁癖碧別瞥蔑箆偏変片篇編辺返遍便勉娩弁鞭保舗鋪圃捕歩甫補輔穂募墓慕戊暮母簿菩倣俸包呆報奉宝峰峯崩庖抱捧放方朋"],["9640","法泡烹砲縫胞芳萌蓬蜂褒訪豊邦鋒飽鳳鵬乏亡傍剖坊妨帽忘忙房暴望某棒冒紡肪膨謀貌貿鉾防吠頬北僕卜墨撲朴牧睦穆釦勃没殆堀幌奔本翻凡盆"],["9680","摩磨魔麻埋妹昧枚毎哩槙幕膜枕鮪柾鱒桝亦俣又抹末沫迄侭繭麿万慢満漫蔓味未魅巳箕岬密蜜湊蓑稔脈妙粍民眠務夢無牟矛霧鵡椋婿娘冥名命明盟迷銘鳴姪牝滅免棉綿緬面麺摸模茂妄孟毛猛盲網耗蒙儲木黙目杢勿餅尤戻籾貰問悶紋門匁也冶夜爺耶野弥矢厄役約薬訳躍靖柳薮鑓愉愈油癒"],["9740","諭輸唯佑優勇友宥幽悠憂揖有柚湧涌猶猷由祐裕誘遊邑郵雄融夕予余与誉輿預傭幼妖容庸揚揺擁曜楊様洋溶熔用窯羊耀葉蓉要謡踊遥陽養慾抑欲"],["9780","沃浴翌翼淀羅螺裸来莱頼雷洛絡落酪乱卵嵐欄濫藍蘭覧利吏履李梨理璃痢裏裡里離陸律率立葎掠略劉流溜琉留硫粒隆竜龍侶慮旅虜了亮僚両凌寮料梁涼猟療瞭稜糧良諒遼量陵領力緑倫厘林淋燐琳臨輪隣鱗麟瑠塁涙累類令伶例冷励嶺怜玲礼苓鈴隷零霊麗齢暦歴列劣烈裂廉恋憐漣煉簾練聯"],["9840","蓮連錬呂魯櫓炉賂路露労婁廊弄朗楼榔浪漏牢狼篭老聾蝋郎六麓禄肋録論倭和話歪賄脇惑枠鷲亙亘鰐詫藁蕨椀湾碗腕"],["989f","弌丐丕个丱丶丼丿乂乖乘亂亅豫亊舒弍于亞亟亠亢亰亳亶从仍仄仆仂仗仞仭仟价伉佚估佛佝佗佇佶侈侏侘佻佩佰侑佯來侖儘俔俟俎俘俛俑俚俐俤俥倚倨倔倪倥倅伜俶倡倩倬俾俯們倆偃假會偕偐偈做偖偬偸傀傚傅傴傲"],["9940","僉僊傳僂僖僞僥僭僣僮價僵儉儁儂儖儕儔儚儡儺儷儼儻儿兀兒兌兔兢竸兩兪兮冀冂囘册冉冏冑冓冕冖冤冦冢冩冪冫决冱冲冰况冽凅凉凛几處凩凭"],["9980","凰凵凾刄刋刔刎刧刪刮刳刹剏剄剋剌剞剔剪剴剩剳剿剽劍劔劒剱劈劑辨辧劬劭劼劵勁勍勗勞勣勦飭勠勳勵勸勹匆匈甸匍匐匏匕匚匣匯匱匳匸區卆卅丗卉卍凖卞卩卮夘卻卷厂厖厠厦厥厮厰厶參簒雙叟曼燮叮叨叭叺吁吽呀听吭吼吮吶吩吝呎咏呵咎呟呱呷呰咒呻咀呶咄咐咆哇咢咸咥咬哄哈咨"],["9a40","咫哂咤咾咼哘哥哦唏唔哽哮哭哺哢唹啀啣啌售啜啅啖啗唸唳啝喙喀咯喊喟啻啾喘喞單啼喃喩喇喨嗚嗅嗟嗄嗜嗤嗔嘔嗷嘖嗾嗽嘛嗹噎噐營嘴嘶嘲嘸"],["9a80","噫噤嘯噬噪嚆嚀嚊嚠嚔嚏嚥嚮嚶嚴囂嚼囁囃囀囈囎囑囓囗囮囹圀囿圄圉圈國圍圓團圖嗇圜圦圷圸坎圻址坏坩埀垈坡坿垉垓垠垳垤垪垰埃埆埔埒埓堊埖埣堋堙堝塲堡塢塋塰毀塒堽塹墅墹墟墫墺壞墻墸墮壅壓壑壗壙壘壥壜壤壟壯壺壹壻壼壽夂夊夐夛梦夥夬夭夲夸夾竒奕奐奎奚奘奢奠奧奬奩"],["9b40","奸妁妝佞侫妣妲姆姨姜妍姙姚娥娟娑娜娉娚婀婬婉娵娶婢婪媚媼媾嫋嫂媽嫣嫗嫦嫩嫖嫺嫻嬌嬋嬖嬲嫐嬪嬶嬾孃孅孀孑孕孚孛孥孩孰孳孵學斈孺宀"],["9b80","它宦宸寃寇寉寔寐寤實寢寞寥寫寰寶寳尅將專對尓尠尢尨尸尹屁屆屎屓屐屏孱屬屮乢屶屹岌岑岔妛岫岻岶岼岷峅岾峇峙峩峽峺峭嶌峪崋崕崗嵜崟崛崑崔崢崚崙崘嵌嵒嵎嵋嵬嵳嵶嶇嶄嶂嶢嶝嶬嶮嶽嶐嶷嶼巉巍巓巒巖巛巫已巵帋帚帙帑帛帶帷幄幃幀幎幗幔幟幢幤幇幵并幺麼广庠廁廂廈廐廏"],["9c40","廖廣廝廚廛廢廡廨廩廬廱廳廰廴廸廾弃弉彝彜弋弑弖弩弭弸彁彈彌彎弯彑彖彗彙彡彭彳彷徃徂彿徊很徑徇從徙徘徠徨徭徼忖忻忤忸忱忝悳忿怡恠"],["9c80","怙怐怩怎怱怛怕怫怦怏怺恚恁恪恷恟恊恆恍恣恃恤恂恬恫恙悁悍惧悃悚悄悛悖悗悒悧悋惡悸惠惓悴忰悽惆悵惘慍愕愆惶惷愀惴惺愃愡惻惱愍愎慇愾愨愧慊愿愼愬愴愽慂慄慳慷慘慙慚慫慴慯慥慱慟慝慓慵憙憖憇憬憔憚憊憑憫憮懌懊應懷懈懃懆憺懋罹懍懦懣懶懺懴懿懽懼懾戀戈戉戍戌戔戛"],["9d40","戞戡截戮戰戲戳扁扎扞扣扛扠扨扼抂抉找抒抓抖拔抃抔拗拑抻拏拿拆擔拈拜拌拊拂拇抛拉挌拮拱挧挂挈拯拵捐挾捍搜捏掖掎掀掫捶掣掏掉掟掵捫"],["9d80","捩掾揩揀揆揣揉插揶揄搖搴搆搓搦搶攝搗搨搏摧摯摶摎攪撕撓撥撩撈撼據擒擅擇撻擘擂擱擧舉擠擡抬擣擯攬擶擴擲擺攀擽攘攜攅攤攣攫攴攵攷收攸畋效敖敕敍敘敞敝敲數斂斃變斛斟斫斷旃旆旁旄旌旒旛旙无旡旱杲昊昃旻杳昵昶昴昜晏晄晉晁晞晝晤晧晨晟晢晰暃暈暎暉暄暘暝曁暹曉暾暼"],["9e40","曄暸曖曚曠昿曦曩曰曵曷朏朖朞朦朧霸朮朿朶杁朸朷杆杞杠杙杣杤枉杰枩杼杪枌枋枦枡枅枷柯枴柬枳柩枸柤柞柝柢柮枹柎柆柧檜栞框栩桀桍栲桎"],["9e80","梳栫桙档桷桿梟梏梭梔條梛梃檮梹桴梵梠梺椏梍桾椁棊椈棘椢椦棡椌棍棔棧棕椶椒椄棗棣椥棹棠棯椨椪椚椣椡棆楹楷楜楸楫楔楾楮椹楴椽楙椰楡楞楝榁楪榲榮槐榿槁槓榾槎寨槊槝榻槃榧樮榑榠榜榕榴槞槨樂樛槿權槹槲槧樅榱樞槭樔槫樊樒櫁樣樓橄樌橲樶橸橇橢橙橦橈樸樢檐檍檠檄檢檣"],["9f40","檗蘗檻櫃櫂檸檳檬櫞櫑櫟檪櫚櫪櫻欅蘖櫺欒欖鬱欟欸欷盜欹飮歇歃歉歐歙歔歛歟歡歸歹歿殀殄殃殍殘殕殞殤殪殫殯殲殱殳殷殼毆毋毓毟毬毫毳毯"],["9f80","麾氈氓气氛氤氣汞汕汢汪沂沍沚沁沛汾汨汳沒沐泄泱泓沽泗泅泝沮沱沾沺泛泯泙泪洟衍洶洫洽洸洙洵洳洒洌浣涓浤浚浹浙涎涕濤涅淹渕渊涵淇淦涸淆淬淞淌淨淒淅淺淙淤淕淪淮渭湮渮渙湲湟渾渣湫渫湶湍渟湃渺湎渤滿渝游溂溪溘滉溷滓溽溯滄溲滔滕溏溥滂溟潁漑灌滬滸滾漿滲漱滯漲滌"],["e040","漾漓滷澆潺潸澁澀潯潛濳潭澂潼潘澎澑濂潦澳澣澡澤澹濆澪濟濕濬濔濘濱濮濛瀉瀋濺瀑瀁瀏濾瀛瀚潴瀝瀘瀟瀰瀾瀲灑灣炙炒炯烱炬炸炳炮烟烋烝"],["e080","烙焉烽焜焙煥煕熈煦煢煌煖煬熏燻熄熕熨熬燗熹熾燒燉燔燎燠燬燧燵燼燹燿爍爐爛爨爭爬爰爲爻爼爿牀牆牋牘牴牾犂犁犇犒犖犢犧犹犲狃狆狄狎狒狢狠狡狹狷倏猗猊猜猖猝猴猯猩猥猾獎獏默獗獪獨獰獸獵獻獺珈玳珎玻珀珥珮珞璢琅瑯琥珸琲琺瑕琿瑟瑙瑁瑜瑩瑰瑣瑪瑶瑾璋璞璧瓊瓏瓔珱"],["e140","瓠瓣瓧瓩瓮瓲瓰瓱瓸瓷甄甃甅甌甎甍甕甓甞甦甬甼畄畍畊畉畛畆畚畩畤畧畫畭畸當疆疇畴疊疉疂疔疚疝疥疣痂疳痃疵疽疸疼疱痍痊痒痙痣痞痾痿"],["e180","痼瘁痰痺痲痳瘋瘍瘉瘟瘧瘠瘡瘢瘤瘴瘰瘻癇癈癆癜癘癡癢癨癩癪癧癬癰癲癶癸發皀皃皈皋皎皖皓皙皚皰皴皸皹皺盂盍盖盒盞盡盥盧盪蘯盻眈眇眄眩眤眞眥眦眛眷眸睇睚睨睫睛睥睿睾睹瞎瞋瞑瞠瞞瞰瞶瞹瞿瞼瞽瞻矇矍矗矚矜矣矮矼砌砒礦砠礪硅碎硴碆硼碚碌碣碵碪碯磑磆磋磔碾碼磅磊磬"],["e240","磧磚磽磴礇礒礑礙礬礫祀祠祗祟祚祕祓祺祿禊禝禧齋禪禮禳禹禺秉秕秧秬秡秣稈稍稘稙稠稟禀稱稻稾稷穃穗穉穡穢穩龝穰穹穽窈窗窕窘窖窩竈窰"],["e280","窶竅竄窿邃竇竊竍竏竕竓站竚竝竡竢竦竭竰笂笏笊笆笳笘笙笞笵笨笶筐筺笄筍笋筌筅筵筥筴筧筰筱筬筮箝箘箟箍箜箚箋箒箏筝箙篋篁篌篏箴篆篝篩簑簔篦篥籠簀簇簓篳篷簗簍篶簣簧簪簟簷簫簽籌籃籔籏籀籐籘籟籤籖籥籬籵粃粐粤粭粢粫粡粨粳粲粱粮粹粽糀糅糂糘糒糜糢鬻糯糲糴糶糺紆"],["e340","紂紜紕紊絅絋紮紲紿紵絆絳絖絎絲絨絮絏絣經綉絛綏絽綛綺綮綣綵緇綽綫總綢綯緜綸綟綰緘緝緤緞緻緲緡縅縊縣縡縒縱縟縉縋縢繆繦縻縵縹繃縷"],["e380","縲縺繧繝繖繞繙繚繹繪繩繼繻纃緕繽辮繿纈纉續纒纐纓纔纖纎纛纜缸缺罅罌罍罎罐网罕罔罘罟罠罨罩罧罸羂羆羃羈羇羌羔羞羝羚羣羯羲羹羮羶羸譱翅翆翊翕翔翡翦翩翳翹飜耆耄耋耒耘耙耜耡耨耿耻聊聆聒聘聚聟聢聨聳聲聰聶聹聽聿肄肆肅肛肓肚肭冐肬胛胥胙胝胄胚胖脉胯胱脛脩脣脯腋"],["e440","隋腆脾腓腑胼腱腮腥腦腴膃膈膊膀膂膠膕膤膣腟膓膩膰膵膾膸膽臀臂膺臉臍臑臙臘臈臚臟臠臧臺臻臾舁舂舅與舊舍舐舖舩舫舸舳艀艙艘艝艚艟艤"],["e480","艢艨艪艫舮艱艷艸艾芍芒芫芟芻芬苡苣苟苒苴苳苺莓范苻苹苞茆苜茉苙茵茴茖茲茱荀茹荐荅茯茫茗茘莅莚莪莟莢莖茣莎莇莊荼莵荳荵莠莉莨菴萓菫菎菽萃菘萋菁菷萇菠菲萍萢萠莽萸蔆菻葭萪萼蕚蒄葷葫蒭葮蒂葩葆萬葯葹萵蓊葢蒹蒿蒟蓙蓍蒻蓚蓐蓁蓆蓖蒡蔡蓿蓴蔗蔘蔬蔟蔕蔔蓼蕀蕣蕘蕈"],["e540","蕁蘂蕋蕕薀薤薈薑薊薨蕭薔薛藪薇薜蕷蕾薐藉薺藏薹藐藕藝藥藜藹蘊蘓蘋藾藺蘆蘢蘚蘰蘿虍乕虔號虧虱蚓蚣蚩蚪蚋蚌蚶蚯蛄蛆蚰蛉蠣蚫蛔蛞蛩蛬"],["e580","蛟蛛蛯蜒蜆蜈蜀蜃蛻蜑蜉蜍蛹蜊蜴蜿蜷蜻蜥蜩蜚蝠蝟蝸蝌蝎蝴蝗蝨蝮蝙蝓蝣蝪蠅螢螟螂螯蟋螽蟀蟐雖螫蟄螳蟇蟆螻蟯蟲蟠蠏蠍蟾蟶蟷蠎蟒蠑蠖蠕蠢蠡蠱蠶蠹蠧蠻衄衂衒衙衞衢衫袁衾袞衵衽袵衲袂袗袒袮袙袢袍袤袰袿袱裃裄裔裘裙裝裹褂裼裴裨裲褄褌褊褓襃褞褥褪褫襁襄褻褶褸襌褝襠襞"],["e640","襦襤襭襪襯襴襷襾覃覈覊覓覘覡覩覦覬覯覲覺覽覿觀觚觜觝觧觴觸訃訖訐訌訛訝訥訶詁詛詒詆詈詼詭詬詢誅誂誄誨誡誑誥誦誚誣諄諍諂諚諫諳諧"],["e680","諤諱謔諠諢諷諞諛謌謇謚諡謖謐謗謠謳鞫謦謫謾謨譁譌譏譎證譖譛譚譫譟譬譯譴譽讀讌讎讒讓讖讙讚谺豁谿豈豌豎豐豕豢豬豸豺貂貉貅貊貍貎貔豼貘戝貭貪貽貲貳貮貶賈賁賤賣賚賽賺賻贄贅贊贇贏贍贐齎贓賍贔贖赧赭赱赳趁趙跂趾趺跏跚跖跌跛跋跪跫跟跣跼踈踉跿踝踞踐踟蹂踵踰踴蹊"],["e740","蹇蹉蹌蹐蹈蹙蹤蹠踪蹣蹕蹶蹲蹼躁躇躅躄躋躊躓躑躔躙躪躡躬躰軆躱躾軅軈軋軛軣軼軻軫軾輊輅輕輒輙輓輜輟輛輌輦輳輻輹轅轂輾轌轉轆轎轗轜"],["e780","轢轣轤辜辟辣辭辯辷迚迥迢迪迯邇迴逅迹迺逑逕逡逍逞逖逋逧逶逵逹迸遏遐遑遒逎遉逾遖遘遞遨遯遶隨遲邂遽邁邀邊邉邏邨邯邱邵郢郤扈郛鄂鄒鄙鄲鄰酊酖酘酣酥酩酳酲醋醉醂醢醫醯醪醵醴醺釀釁釉釋釐釖釟釡釛釼釵釶鈞釿鈔鈬鈕鈑鉞鉗鉅鉉鉤鉈銕鈿鉋鉐銜銖銓銛鉚鋏銹銷鋩錏鋺鍄錮"],["e840","錙錢錚錣錺錵錻鍜鍠鍼鍮鍖鎰鎬鎭鎔鎹鏖鏗鏨鏥鏘鏃鏝鏐鏈鏤鐚鐔鐓鐃鐇鐐鐶鐫鐵鐡鐺鑁鑒鑄鑛鑠鑢鑞鑪鈩鑰鑵鑷鑽鑚鑼鑾钁鑿閂閇閊閔閖閘閙"],["e880","閠閨閧閭閼閻閹閾闊濶闃闍闌闕闔闖關闡闥闢阡阨阮阯陂陌陏陋陷陜陞陝陟陦陲陬隍隘隕隗險隧隱隲隰隴隶隸隹雎雋雉雍襍雜霍雕雹霄霆霈霓霎霑霏霖霙霤霪霰霹霽霾靄靆靈靂靉靜靠靤靦靨勒靫靱靹鞅靼鞁靺鞆鞋鞏鞐鞜鞨鞦鞣鞳鞴韃韆韈韋韜韭齏韲竟韶韵頏頌頸頤頡頷頽顆顏顋顫顯顰"],["e940","顱顴顳颪颯颱颶飄飃飆飩飫餃餉餒餔餘餡餝餞餤餠餬餮餽餾饂饉饅饐饋饑饒饌饕馗馘馥馭馮馼駟駛駝駘駑駭駮駱駲駻駸騁騏騅駢騙騫騷驅驂驀驃"],["e980","騾驕驍驛驗驟驢驥驤驩驫驪骭骰骼髀髏髑髓體髞髟髢髣髦髯髫髮髴髱髷髻鬆鬘鬚鬟鬢鬣鬥鬧鬨鬩鬪鬮鬯鬲魄魃魏魍魎魑魘魴鮓鮃鮑鮖鮗鮟鮠鮨鮴鯀鯊鮹鯆鯏鯑鯒鯣鯢鯤鯔鯡鰺鯲鯱鯰鰕鰔鰉鰓鰌鰆鰈鰒鰊鰄鰮鰛鰥鰤鰡鰰鱇鰲鱆鰾鱚鱠鱧鱶鱸鳧鳬鳰鴉鴈鳫鴃鴆鴪鴦鶯鴣鴟鵄鴕鴒鵁鴿鴾鵆鵈"],["ea40","鵝鵞鵤鵑鵐鵙鵲鶉鶇鶫鵯鵺鶚鶤鶩鶲鷄鷁鶻鶸鶺鷆鷏鷂鷙鷓鷸鷦鷭鷯鷽鸚鸛鸞鹵鹹鹽麁麈麋麌麒麕麑麝麥麩麸麪麭靡黌黎黏黐黔黜點黝黠黥黨黯"],["ea80","黴黶黷黹黻黼黽鼇鼈皷鼕鼡鼬鼾齊齒齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠堯槇遙瑤凜熙"],["ed40","纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏"],["ed80","塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱"],["ee40","犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙"],["ee80","蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑"],["eeef","ⅰ",9,"￢￤＇＂"],["f040","",62],["f080","",124],["f140","",62],["f180","",124],["f240","",62],["f280","",124],["f340","",62],["f380","",124],["f440","",62],["f480","",124],["f540","",62],["f580","",124],["f640","",62],["f680","",124],["f740","",62],["f780","",124],["f840","",62],["f880","",124],["f940",""],["fa40","ⅰ",9,"Ⅰ",9,"￢￤＇＂㈱№℡∵纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊"],["fa80","兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯"],["fb40","涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神"],["fb80","祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙"],["fc40","髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑"]]}});var require_eucjp=__commonJS({"node_modules/iconv-lite/encodings/tables/eucjp.json"(exports2,module2){module2.exports=[["0","\0",127],["8ea1","｡",62],["a1a1","　、。，．・：；？！゛゜´｀¨＾￣＿ヽヾゝゞ〃仝々〆〇ー―‐／＼～∥｜…‥‘’“”（）〔〕［］｛｝〈",9,"＋－±×÷＝≠＜＞≦≧∞∴♂♀°′″℃￥＄￠￡％＃＆＊＠§☆★○●◎◇"],["a2a1","◆□■△▲▽▼※〒→←↑↓〓"],["a2ba","∈∋⊆⊇⊂⊃∪∩"],["a2ca","∧∨￢⇒⇔∀∃"],["a2dc","∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬"],["a2f2","Å‰♯♭♪†‡¶"],["a2fe","◯"],["a3b0","０",9],["a3c1","Ａ",25],["a3e1","ａ",25],["a4a1","ぁ",82],["a5a1","ァ",85],["a6a1","Α",16,"Σ",6],["a6c1","α",16,"σ",6],["a7a1","А",5,"ЁЖ",25],["a7d1","а",5,"ёж",25],["a8a1","─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂"],["ada1","①",19,"Ⅰ",9],["adc0","㍉㌔㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡"],["addf","㍻〝〟№㏍℡㊤",4,"㈱㈲㈹㍾㍽㍼≒≡∫∮∑√⊥∠∟⊿∵∩∪"],["b0a1","亜唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位依偉囲夷委威尉惟意慰易椅為畏異移維緯胃萎衣謂違遺医井亥域育郁磯一壱溢逸稲茨芋鰯允印咽員因姻引飲淫胤蔭"],["b1a1","院陰隠韻吋右宇烏羽迂雨卯鵜窺丑碓臼渦嘘唄欝蔚鰻姥厩浦瓜閏噂云運雲荏餌叡営嬰影映曳栄永泳洩瑛盈穎頴英衛詠鋭液疫益駅悦謁越閲榎厭円園堰奄宴延怨掩援沿演炎焔煙燕猿縁艶苑薗遠鉛鴛塩於汚甥凹央奥往応"],["b2a1","押旺横欧殴王翁襖鴬鴎黄岡沖荻億屋憶臆桶牡乙俺卸恩温穏音下化仮何伽価佳加可嘉夏嫁家寡科暇果架歌河火珂禍禾稼箇花苛茄荷華菓蝦課嘩貨迦過霞蚊俄峨我牙画臥芽蛾賀雅餓駕介会解回塊壊廻快怪悔恢懐戒拐改"],["b3a1","魁晦械海灰界皆絵芥蟹開階貝凱劾外咳害崖慨概涯碍蓋街該鎧骸浬馨蛙垣柿蛎鈎劃嚇各廓拡撹格核殻獲確穫覚角赫較郭閣隔革学岳楽額顎掛笠樫橿梶鰍潟割喝恰括活渇滑葛褐轄且鰹叶椛樺鞄株兜竃蒲釜鎌噛鴨栢茅萱"],["b4a1","粥刈苅瓦乾侃冠寒刊勘勧巻喚堪姦完官寛干幹患感慣憾換敢柑桓棺款歓汗漢澗潅環甘監看竿管簡緩缶翰肝艦莞観諌貫還鑑間閑関陥韓館舘丸含岸巌玩癌眼岩翫贋雁頑顔願企伎危喜器基奇嬉寄岐希幾忌揮机旗既期棋棄"],["b5a1","機帰毅気汽畿祈季稀紀徽規記貴起軌輝飢騎鬼亀偽儀妓宜戯技擬欺犠疑祇義蟻誼議掬菊鞠吉吃喫桔橘詰砧杵黍却客脚虐逆丘久仇休及吸宮弓急救朽求汲泣灸球究窮笈級糾給旧牛去居巨拒拠挙渠虚許距鋸漁禦魚亨享京"],["b6a1","供侠僑兇競共凶協匡卿叫喬境峡強彊怯恐恭挟教橋況狂狭矯胸脅興蕎郷鏡響饗驚仰凝尭暁業局曲極玉桐粁僅勤均巾錦斤欣欽琴禁禽筋緊芹菌衿襟謹近金吟銀九倶句区狗玖矩苦躯駆駈駒具愚虞喰空偶寓遇隅串櫛釧屑屈"],["b7a1","掘窟沓靴轡窪熊隈粂栗繰桑鍬勲君薫訓群軍郡卦袈祁係傾刑兄啓圭珪型契形径恵慶慧憩掲携敬景桂渓畦稽系経継繋罫茎荊蛍計詣警軽頚鶏芸迎鯨劇戟撃激隙桁傑欠決潔穴結血訣月件倹倦健兼券剣喧圏堅嫌建憲懸拳捲"],["b8a1","検権牽犬献研硯絹県肩見謙賢軒遣鍵険顕験鹸元原厳幻弦減源玄現絃舷言諺限乎個古呼固姑孤己庫弧戸故枯湖狐糊袴股胡菰虎誇跨鈷雇顧鼓五互伍午呉吾娯後御悟梧檎瑚碁語誤護醐乞鯉交佼侯候倖光公功効勾厚口向"],["b9a1","后喉坑垢好孔孝宏工巧巷幸広庚康弘恒慌抗拘控攻昂晃更杭校梗構江洪浩港溝甲皇硬稿糠紅紘絞綱耕考肯肱腔膏航荒行衡講貢購郊酵鉱砿鋼閤降項香高鴻剛劫号合壕拷濠豪轟麹克刻告国穀酷鵠黒獄漉腰甑忽惚骨狛込"],["baa1","此頃今困坤墾婚恨懇昏昆根梱混痕紺艮魂些佐叉唆嵯左差査沙瑳砂詐鎖裟坐座挫債催再最哉塞妻宰彩才採栽歳済災采犀砕砦祭斎細菜裁載際剤在材罪財冴坂阪堺榊肴咲崎埼碕鷺作削咋搾昨朔柵窄策索錯桜鮭笹匙冊刷"],["bba1","察拶撮擦札殺薩雑皐鯖捌錆鮫皿晒三傘参山惨撒散桟燦珊産算纂蚕讃賛酸餐斬暫残仕仔伺使刺司史嗣四士始姉姿子屍市師志思指支孜斯施旨枝止死氏獅祉私糸紙紫肢脂至視詞詩試誌諮資賜雌飼歯事似侍児字寺慈持時"],["bca1","次滋治爾璽痔磁示而耳自蒔辞汐鹿式識鴫竺軸宍雫七叱執失嫉室悉湿漆疾質実蔀篠偲柴芝屡蕊縞舎写射捨赦斜煮社紗者謝車遮蛇邪借勺尺杓灼爵酌釈錫若寂弱惹主取守手朱殊狩珠種腫趣酒首儒受呪寿授樹綬需囚収周"],["bda1","宗就州修愁拾洲秀秋終繍習臭舟蒐衆襲讐蹴輯週酋酬集醜什住充十従戎柔汁渋獣縦重銃叔夙宿淑祝縮粛塾熟出術述俊峻春瞬竣舜駿准循旬楯殉淳準潤盾純巡遵醇順処初所暑曙渚庶緒署書薯藷諸助叙女序徐恕鋤除傷償"],["bea1","勝匠升召哨商唱嘗奨妾娼宵将小少尚庄床廠彰承抄招掌捷昇昌昭晶松梢樟樵沼消渉湘焼焦照症省硝礁祥称章笑粧紹肖菖蒋蕉衝裳訟証詔詳象賞醤鉦鍾鐘障鞘上丈丞乗冗剰城場壌嬢常情擾条杖浄状畳穣蒸譲醸錠嘱埴飾"],["bfa1","拭植殖燭織職色触食蝕辱尻伸信侵唇娠寝審心慎振新晋森榛浸深申疹真神秦紳臣芯薪親診身辛進針震人仁刃塵壬尋甚尽腎訊迅陣靭笥諏須酢図厨逗吹垂帥推水炊睡粋翠衰遂酔錐錘随瑞髄崇嵩数枢趨雛据杉椙菅頗雀裾"],["c0a1","澄摺寸世瀬畝是凄制勢姓征性成政整星晴棲栖正清牲生盛精聖声製西誠誓請逝醒青静斉税脆隻席惜戚斥昔析石積籍績脊責赤跡蹟碩切拙接摂折設窃節説雪絶舌蝉仙先千占宣専尖川戦扇撰栓栴泉浅洗染潜煎煽旋穿箭線"],["c1a1","繊羨腺舛船薦詮賎践選遷銭銑閃鮮前善漸然全禅繕膳糎噌塑岨措曾曽楚狙疏疎礎祖租粗素組蘇訴阻遡鼠僧創双叢倉喪壮奏爽宋層匝惣想捜掃挿掻操早曹巣槍槽漕燥争痩相窓糟総綜聡草荘葬蒼藻装走送遭鎗霜騒像増憎"],["c2a1","臓蔵贈造促側則即息捉束測足速俗属賊族続卒袖其揃存孫尊損村遜他多太汰詑唾堕妥惰打柁舵楕陀駄騨体堆対耐岱帯待怠態戴替泰滞胎腿苔袋貸退逮隊黛鯛代台大第醍題鷹滝瀧卓啄宅托択拓沢濯琢託鐸濁諾茸凧蛸只"],["c3a1","叩但達辰奪脱巽竪辿棚谷狸鱈樽誰丹単嘆坦担探旦歎淡湛炭短端箪綻耽胆蛋誕鍛団壇弾断暖檀段男談値知地弛恥智池痴稚置致蜘遅馳築畜竹筑蓄逐秩窒茶嫡着中仲宙忠抽昼柱注虫衷註酎鋳駐樗瀦猪苧著貯丁兆凋喋寵"],["c4a1","帖帳庁弔張彫徴懲挑暢朝潮牒町眺聴脹腸蝶調諜超跳銚長頂鳥勅捗直朕沈珍賃鎮陳津墜椎槌追鎚痛通塚栂掴槻佃漬柘辻蔦綴鍔椿潰坪壷嬬紬爪吊釣鶴亭低停偵剃貞呈堤定帝底庭廷弟悌抵挺提梯汀碇禎程締艇訂諦蹄逓"],["c5a1","邸鄭釘鼎泥摘擢敵滴的笛適鏑溺哲徹撤轍迭鉄典填天展店添纏甜貼転顛点伝殿澱田電兎吐堵塗妬屠徒斗杜渡登菟賭途都鍍砥砺努度土奴怒倒党冬凍刀唐塔塘套宕島嶋悼投搭東桃梼棟盗淘湯涛灯燈当痘祷等答筒糖統到"],["c6a1","董蕩藤討謄豆踏逃透鐙陶頭騰闘働動同堂導憧撞洞瞳童胴萄道銅峠鴇匿得徳涜特督禿篤毒独読栃橡凸突椴届鳶苫寅酉瀞噸屯惇敦沌豚遁頓呑曇鈍奈那内乍凪薙謎灘捺鍋楢馴縄畷南楠軟難汝二尼弐迩匂賑肉虹廿日乳入"],["c7a1","如尿韮任妊忍認濡禰祢寧葱猫熱年念捻撚燃粘乃廼之埜嚢悩濃納能脳膿農覗蚤巴把播覇杷波派琶破婆罵芭馬俳廃拝排敗杯盃牌背肺輩配倍培媒梅楳煤狽買売賠陪這蝿秤矧萩伯剥博拍柏泊白箔粕舶薄迫曝漠爆縛莫駁麦"],["c8a1","函箱硲箸肇筈櫨幡肌畑畠八鉢溌発醗髪伐罰抜筏閥鳩噺塙蛤隼伴判半反叛帆搬斑板氾汎版犯班畔繁般藩販範釆煩頒飯挽晩番盤磐蕃蛮匪卑否妃庇彼悲扉批披斐比泌疲皮碑秘緋罷肥被誹費避非飛樋簸備尾微枇毘琵眉美"],["c9a1","鼻柊稗匹疋髭彦膝菱肘弼必畢筆逼桧姫媛紐百謬俵彪標氷漂瓢票表評豹廟描病秒苗錨鋲蒜蛭鰭品彬斌浜瀕貧賓頻敏瓶不付埠夫婦富冨布府怖扶敷斧普浮父符腐膚芙譜負賦赴阜附侮撫武舞葡蕪部封楓風葺蕗伏副復幅服"],["caa1","福腹複覆淵弗払沸仏物鮒分吻噴墳憤扮焚奮粉糞紛雰文聞丙併兵塀幣平弊柄並蔽閉陛米頁僻壁癖碧別瞥蔑箆偏変片篇編辺返遍便勉娩弁鞭保舗鋪圃捕歩甫補輔穂募墓慕戊暮母簿菩倣俸包呆報奉宝峰峯崩庖抱捧放方朋"],["cba1","法泡烹砲縫胞芳萌蓬蜂褒訪豊邦鋒飽鳳鵬乏亡傍剖坊妨帽忘忙房暴望某棒冒紡肪膨謀貌貿鉾防吠頬北僕卜墨撲朴牧睦穆釦勃没殆堀幌奔本翻凡盆摩磨魔麻埋妹昧枚毎哩槙幕膜枕鮪柾鱒桝亦俣又抹末沫迄侭繭麿万慢満"],["cca1","漫蔓味未魅巳箕岬密蜜湊蓑稔脈妙粍民眠務夢無牟矛霧鵡椋婿娘冥名命明盟迷銘鳴姪牝滅免棉綿緬面麺摸模茂妄孟毛猛盲網耗蒙儲木黙目杢勿餅尤戻籾貰問悶紋門匁也冶夜爺耶野弥矢厄役約薬訳躍靖柳薮鑓愉愈油癒"],["cda1","諭輸唯佑優勇友宥幽悠憂揖有柚湧涌猶猷由祐裕誘遊邑郵雄融夕予余与誉輿預傭幼妖容庸揚揺擁曜楊様洋溶熔用窯羊耀葉蓉要謡踊遥陽養慾抑欲沃浴翌翼淀羅螺裸来莱頼雷洛絡落酪乱卵嵐欄濫藍蘭覧利吏履李梨理璃"],["cea1","痢裏裡里離陸律率立葎掠略劉流溜琉留硫粒隆竜龍侶慮旅虜了亮僚両凌寮料梁涼猟療瞭稜糧良諒遼量陵領力緑倫厘林淋燐琳臨輪隣鱗麟瑠塁涙累類令伶例冷励嶺怜玲礼苓鈴隷零霊麗齢暦歴列劣烈裂廉恋憐漣煉簾練聯"],["cfa1","蓮連錬呂魯櫓炉賂路露労婁廊弄朗楼榔浪漏牢狼篭老聾蝋郎六麓禄肋録論倭和話歪賄脇惑枠鷲亙亘鰐詫藁蕨椀湾碗腕"],["d0a1","弌丐丕个丱丶丼丿乂乖乘亂亅豫亊舒弍于亞亟亠亢亰亳亶从仍仄仆仂仗仞仭仟价伉佚估佛佝佗佇佶侈侏侘佻佩佰侑佯來侖儘俔俟俎俘俛俑俚俐俤俥倚倨倔倪倥倅伜俶倡倩倬俾俯們倆偃假會偕偐偈做偖偬偸傀傚傅傴傲"],["d1a1","僉僊傳僂僖僞僥僭僣僮價僵儉儁儂儖儕儔儚儡儺儷儼儻儿兀兒兌兔兢竸兩兪兮冀冂囘册冉冏冑冓冕冖冤冦冢冩冪冫决冱冲冰况冽凅凉凛几處凩凭凰凵凾刄刋刔刎刧刪刮刳刹剏剄剋剌剞剔剪剴剩剳剿剽劍劔劒剱劈劑辨"],["d2a1","辧劬劭劼劵勁勍勗勞勣勦飭勠勳勵勸勹匆匈甸匍匐匏匕匚匣匯匱匳匸區卆卅丗卉卍凖卞卩卮夘卻卷厂厖厠厦厥厮厰厶參簒雙叟曼燮叮叨叭叺吁吽呀听吭吼吮吶吩吝呎咏呵咎呟呱呷呰咒呻咀呶咄咐咆哇咢咸咥咬哄哈咨"],["d3a1","咫哂咤咾咼哘哥哦唏唔哽哮哭哺哢唹啀啣啌售啜啅啖啗唸唳啝喙喀咯喊喟啻啾喘喞單啼喃喩喇喨嗚嗅嗟嗄嗜嗤嗔嘔嗷嘖嗾嗽嘛嗹噎噐營嘴嘶嘲嘸噫噤嘯噬噪嚆嚀嚊嚠嚔嚏嚥嚮嚶嚴囂嚼囁囃囀囈囎囑囓囗囮囹圀囿圄圉"],["d4a1","圈國圍圓團圖嗇圜圦圷圸坎圻址坏坩埀垈坡坿垉垓垠垳垤垪垰埃埆埔埒埓堊埖埣堋堙堝塲堡塢塋塰毀塒堽塹墅墹墟墫墺壞墻墸墮壅壓壑壗壙壘壥壜壤壟壯壺壹壻壼壽夂夊夐夛梦夥夬夭夲夸夾竒奕奐奎奚奘奢奠奧奬奩"],["d5a1","奸妁妝佞侫妣妲姆姨姜妍姙姚娥娟娑娜娉娚婀婬婉娵娶婢婪媚媼媾嫋嫂媽嫣嫗嫦嫩嫖嫺嫻嬌嬋嬖嬲嫐嬪嬶嬾孃孅孀孑孕孚孛孥孩孰孳孵學斈孺宀它宦宸寃寇寉寔寐寤實寢寞寥寫寰寶寳尅將專對尓尠尢尨尸尹屁屆屎屓"],["d6a1","屐屏孱屬屮乢屶屹岌岑岔妛岫岻岶岼岷峅岾峇峙峩峽峺峭嶌峪崋崕崗嵜崟崛崑崔崢崚崙崘嵌嵒嵎嵋嵬嵳嵶嶇嶄嶂嶢嶝嶬嶮嶽嶐嶷嶼巉巍巓巒巖巛巫已巵帋帚帙帑帛帶帷幄幃幀幎幗幔幟幢幤幇幵并幺麼广庠廁廂廈廐廏"],["d7a1","廖廣廝廚廛廢廡廨廩廬廱廳廰廴廸廾弃弉彝彜弋弑弖弩弭弸彁彈彌彎弯彑彖彗彙彡彭彳彷徃徂彿徊很徑徇從徙徘徠徨徭徼忖忻忤忸忱忝悳忿怡恠怙怐怩怎怱怛怕怫怦怏怺恚恁恪恷恟恊恆恍恣恃恤恂恬恫恙悁悍惧悃悚"],["d8a1","悄悛悖悗悒悧悋惡悸惠惓悴忰悽惆悵惘慍愕愆惶惷愀惴惺愃愡惻惱愍愎慇愾愨愧慊愿愼愬愴愽慂慄慳慷慘慙慚慫慴慯慥慱慟慝慓慵憙憖憇憬憔憚憊憑憫憮懌懊應懷懈懃懆憺懋罹懍懦懣懶懺懴懿懽懼懾戀戈戉戍戌戔戛"],["d9a1","戞戡截戮戰戲戳扁扎扞扣扛扠扨扼抂抉找抒抓抖拔抃抔拗拑抻拏拿拆擔拈拜拌拊拂拇抛拉挌拮拱挧挂挈拯拵捐挾捍搜捏掖掎掀掫捶掣掏掉掟掵捫捩掾揩揀揆揣揉插揶揄搖搴搆搓搦搶攝搗搨搏摧摯摶摎攪撕撓撥撩撈撼"],["daa1","據擒擅擇撻擘擂擱擧舉擠擡抬擣擯攬擶擴擲擺攀擽攘攜攅攤攣攫攴攵攷收攸畋效敖敕敍敘敞敝敲數斂斃變斛斟斫斷旃旆旁旄旌旒旛旙无旡旱杲昊昃旻杳昵昶昴昜晏晄晉晁晞晝晤晧晨晟晢晰暃暈暎暉暄暘暝曁暹曉暾暼"],["dba1","曄暸曖曚曠昿曦曩曰曵曷朏朖朞朦朧霸朮朿朶杁朸朷杆杞杠杙杣杤枉杰枩杼杪枌枋枦枡枅枷柯枴柬枳柩枸柤柞柝柢柮枹柎柆柧檜栞框栩桀桍栲桎梳栫桙档桷桿梟梏梭梔條梛梃檮梹桴梵梠梺椏梍桾椁棊椈棘椢椦棡椌棍"],["dca1","棔棧棕椶椒椄棗棣椥棹棠棯椨椪椚椣椡棆楹楷楜楸楫楔楾楮椹楴椽楙椰楡楞楝榁楪榲榮槐榿槁槓榾槎寨槊槝榻槃榧樮榑榠榜榕榴槞槨樂樛槿權槹槲槧樅榱樞槭樔槫樊樒櫁樣樓橄樌橲樶橸橇橢橙橦橈樸樢檐檍檠檄檢檣"],["dda1","檗蘗檻櫃櫂檸檳檬櫞櫑櫟檪櫚櫪櫻欅蘖櫺欒欖鬱欟欸欷盜欹飮歇歃歉歐歙歔歛歟歡歸歹歿殀殄殃殍殘殕殞殤殪殫殯殲殱殳殷殼毆毋毓毟毬毫毳毯麾氈氓气氛氤氣汞汕汢汪沂沍沚沁沛汾汨汳沒沐泄泱泓沽泗泅泝沮沱沾"],["dea1","沺泛泯泙泪洟衍洶洫洽洸洙洵洳洒洌浣涓浤浚浹浙涎涕濤涅淹渕渊涵淇淦涸淆淬淞淌淨淒淅淺淙淤淕淪淮渭湮渮渙湲湟渾渣湫渫湶湍渟湃渺湎渤滿渝游溂溪溘滉溷滓溽溯滄溲滔滕溏溥滂溟潁漑灌滬滸滾漿滲漱滯漲滌"],["dfa1","漾漓滷澆潺潸澁澀潯潛濳潭澂潼潘澎澑濂潦澳澣澡澤澹濆澪濟濕濬濔濘濱濮濛瀉瀋濺瀑瀁瀏濾瀛瀚潴瀝瀘瀟瀰瀾瀲灑灣炙炒炯烱炬炸炳炮烟烋烝烙焉烽焜焙煥煕熈煦煢煌煖煬熏燻熄熕熨熬燗熹熾燒燉燔燎燠燬燧燵燼"],["e0a1","燹燿爍爐爛爨爭爬爰爲爻爼爿牀牆牋牘牴牾犂犁犇犒犖犢犧犹犲狃狆狄狎狒狢狠狡狹狷倏猗猊猜猖猝猴猯猩猥猾獎獏默獗獪獨獰獸獵獻獺珈玳珎玻珀珥珮珞璢琅瑯琥珸琲琺瑕琿瑟瑙瑁瑜瑩瑰瑣瑪瑶瑾璋璞璧瓊瓏瓔珱"],["e1a1","瓠瓣瓧瓩瓮瓲瓰瓱瓸瓷甄甃甅甌甎甍甕甓甞甦甬甼畄畍畊畉畛畆畚畩畤畧畫畭畸當疆疇畴疊疉疂疔疚疝疥疣痂疳痃疵疽疸疼疱痍痊痒痙痣痞痾痿痼瘁痰痺痲痳瘋瘍瘉瘟瘧瘠瘡瘢瘤瘴瘰瘻癇癈癆癜癘癡癢癨癩癪癧癬癰"],["e2a1","癲癶癸發皀皃皈皋皎皖皓皙皚皰皴皸皹皺盂盍盖盒盞盡盥盧盪蘯盻眈眇眄眩眤眞眥眦眛眷眸睇睚睨睫睛睥睿睾睹瞎瞋瞑瞠瞞瞰瞶瞹瞿瞼瞽瞻矇矍矗矚矜矣矮矼砌砒礦砠礪硅碎硴碆硼碚碌碣碵碪碯磑磆磋磔碾碼磅磊磬"],["e3a1","磧磚磽磴礇礒礑礙礬礫祀祠祗祟祚祕祓祺祿禊禝禧齋禪禮禳禹禺秉秕秧秬秡秣稈稍稘稙稠稟禀稱稻稾稷穃穗穉穡穢穩龝穰穹穽窈窗窕窘窖窩竈窰窶竅竄窿邃竇竊竍竏竕竓站竚竝竡竢竦竭竰笂笏笊笆笳笘笙笞笵笨笶筐"],["e4a1","筺笄筍笋筌筅筵筥筴筧筰筱筬筮箝箘箟箍箜箚箋箒箏筝箙篋篁篌篏箴篆篝篩簑簔篦篥籠簀簇簓篳篷簗簍篶簣簧簪簟簷簫簽籌籃籔籏籀籐籘籟籤籖籥籬籵粃粐粤粭粢粫粡粨粳粲粱粮粹粽糀糅糂糘糒糜糢鬻糯糲糴糶糺紆"],["e5a1","紂紜紕紊絅絋紮紲紿紵絆絳絖絎絲絨絮絏絣經綉絛綏絽綛綺綮綣綵緇綽綫總綢綯緜綸綟綰緘緝緤緞緻緲緡縅縊縣縡縒縱縟縉縋縢繆繦縻縵縹繃縷縲縺繧繝繖繞繙繚繹繪繩繼繻纃緕繽辮繿纈纉續纒纐纓纔纖纎纛纜缸缺"],["e6a1","罅罌罍罎罐网罕罔罘罟罠罨罩罧罸羂羆羃羈羇羌羔羞羝羚羣羯羲羹羮羶羸譱翅翆翊翕翔翡翦翩翳翹飜耆耄耋耒耘耙耜耡耨耿耻聊聆聒聘聚聟聢聨聳聲聰聶聹聽聿肄肆肅肛肓肚肭冐肬胛胥胙胝胄胚胖脉胯胱脛脩脣脯腋"],["e7a1","隋腆脾腓腑胼腱腮腥腦腴膃膈膊膀膂膠膕膤膣腟膓膩膰膵膾膸膽臀臂膺臉臍臑臙臘臈臚臟臠臧臺臻臾舁舂舅與舊舍舐舖舩舫舸舳艀艙艘艝艚艟艤艢艨艪艫舮艱艷艸艾芍芒芫芟芻芬苡苣苟苒苴苳苺莓范苻苹苞茆苜茉苙"],["e8a1","茵茴茖茲茱荀茹荐荅茯茫茗茘莅莚莪莟莢莖茣莎莇莊荼莵荳荵莠莉莨菴萓菫菎菽萃菘萋菁菷萇菠菲萍萢萠莽萸蔆菻葭萪萼蕚蒄葷葫蒭葮蒂葩葆萬葯葹萵蓊葢蒹蒿蒟蓙蓍蒻蓚蓐蓁蓆蓖蒡蔡蓿蓴蔗蔘蔬蔟蔕蔔蓼蕀蕣蕘蕈"],["e9a1","蕁蘂蕋蕕薀薤薈薑薊薨蕭薔薛藪薇薜蕷蕾薐藉薺藏薹藐藕藝藥藜藹蘊蘓蘋藾藺蘆蘢蘚蘰蘿虍乕虔號虧虱蚓蚣蚩蚪蚋蚌蚶蚯蛄蛆蚰蛉蠣蚫蛔蛞蛩蛬蛟蛛蛯蜒蜆蜈蜀蜃蛻蜑蜉蜍蛹蜊蜴蜿蜷蜻蜥蜩蜚蝠蝟蝸蝌蝎蝴蝗蝨蝮蝙"],["eaa1","蝓蝣蝪蠅螢螟螂螯蟋螽蟀蟐雖螫蟄螳蟇蟆螻蟯蟲蟠蠏蠍蟾蟶蟷蠎蟒蠑蠖蠕蠢蠡蠱蠶蠹蠧蠻衄衂衒衙衞衢衫袁衾袞衵衽袵衲袂袗袒袮袙袢袍袤袰袿袱裃裄裔裘裙裝裹褂裼裴裨裲褄褌褊褓襃褞褥褪褫襁襄褻褶褸襌褝襠襞"],["eba1","襦襤襭襪襯襴襷襾覃覈覊覓覘覡覩覦覬覯覲覺覽覿觀觚觜觝觧觴觸訃訖訐訌訛訝訥訶詁詛詒詆詈詼詭詬詢誅誂誄誨誡誑誥誦誚誣諄諍諂諚諫諳諧諤諱謔諠諢諷諞諛謌謇謚諡謖謐謗謠謳鞫謦謫謾謨譁譌譏譎證譖譛譚譫"],["eca1","譟譬譯譴譽讀讌讎讒讓讖讙讚谺豁谿豈豌豎豐豕豢豬豸豺貂貉貅貊貍貎貔豼貘戝貭貪貽貲貳貮貶賈賁賤賣賚賽賺賻贄贅贊贇贏贍贐齎贓賍贔贖赧赭赱赳趁趙跂趾趺跏跚跖跌跛跋跪跫跟跣跼踈踉跿踝踞踐踟蹂踵踰踴蹊"],["eda1","蹇蹉蹌蹐蹈蹙蹤蹠踪蹣蹕蹶蹲蹼躁躇躅躄躋躊躓躑躔躙躪躡躬躰軆躱躾軅軈軋軛軣軼軻軫軾輊輅輕輒輙輓輜輟輛輌輦輳輻輹轅轂輾轌轉轆轎轗轜轢轣轤辜辟辣辭辯辷迚迥迢迪迯邇迴逅迹迺逑逕逡逍逞逖逋逧逶逵逹迸"],["eea1","遏遐遑遒逎遉逾遖遘遞遨遯遶隨遲邂遽邁邀邊邉邏邨邯邱邵郢郤扈郛鄂鄒鄙鄲鄰酊酖酘酣酥酩酳酲醋醉醂醢醫醯醪醵醴醺釀釁釉釋釐釖釟釡釛釼釵釶鈞釿鈔鈬鈕鈑鉞鉗鉅鉉鉤鉈銕鈿鉋鉐銜銖銓銛鉚鋏銹銷鋩錏鋺鍄錮"],["efa1","錙錢錚錣錺錵錻鍜鍠鍼鍮鍖鎰鎬鎭鎔鎹鏖鏗鏨鏥鏘鏃鏝鏐鏈鏤鐚鐔鐓鐃鐇鐐鐶鐫鐵鐡鐺鑁鑒鑄鑛鑠鑢鑞鑪鈩鑰鑵鑷鑽鑚鑼鑾钁鑿閂閇閊閔閖閘閙閠閨閧閭閼閻閹閾闊濶闃闍闌闕闔闖關闡闥闢阡阨阮阯陂陌陏陋陷陜陞"],["f0a1","陝陟陦陲陬隍隘隕隗險隧隱隲隰隴隶隸隹雎雋雉雍襍雜霍雕雹霄霆霈霓霎霑霏霖霙霤霪霰霹霽霾靄靆靈靂靉靜靠靤靦靨勒靫靱靹鞅靼鞁靺鞆鞋鞏鞐鞜鞨鞦鞣鞳鞴韃韆韈韋韜韭齏韲竟韶韵頏頌頸頤頡頷頽顆顏顋顫顯顰"],["f1a1","顱顴顳颪颯颱颶飄飃飆飩飫餃餉餒餔餘餡餝餞餤餠餬餮餽餾饂饉饅饐饋饑饒饌饕馗馘馥馭馮馼駟駛駝駘駑駭駮駱駲駻駸騁騏騅駢騙騫騷驅驂驀驃騾驕驍驛驗驟驢驥驤驩驫驪骭骰骼髀髏髑髓體髞髟髢髣髦髯髫髮髴髱髷"],["f2a1","髻鬆鬘鬚鬟鬢鬣鬥鬧鬨鬩鬪鬮鬯鬲魄魃魏魍魎魑魘魴鮓鮃鮑鮖鮗鮟鮠鮨鮴鯀鯊鮹鯆鯏鯑鯒鯣鯢鯤鯔鯡鰺鯲鯱鯰鰕鰔鰉鰓鰌鰆鰈鰒鰊鰄鰮鰛鰥鰤鰡鰰鱇鰲鱆鰾鱚鱠鱧鱶鱸鳧鳬鳰鴉鴈鳫鴃鴆鴪鴦鶯鴣鴟鵄鴕鴒鵁鴿鴾鵆鵈"],["f3a1","鵝鵞鵤鵑鵐鵙鵲鶉鶇鶫鵯鵺鶚鶤鶩鶲鷄鷁鶻鶸鶺鷆鷏鷂鷙鷓鷸鷦鷭鷯鷽鸚鸛鸞鹵鹹鹽麁麈麋麌麒麕麑麝麥麩麸麪麭靡黌黎黏黐黔黜點黝黠黥黨黯黴黶黷黹黻黼黽鼇鼈皷鼕鼡鼬鼾齊齒齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠"],["f4a1","堯槇遙瑤凜熙"],["f9a1","纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德"],["faa1","忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱"],["fba1","犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚"],["fca1","釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑"],["fcf1","ⅰ",9,"￢￤＇＂"],["8fa2af","˘ˇ¸˙˝¯˛˚～΄΅"],["8fa2c2","¡¦¿"],["8fa2eb","ºª©®™¤№"],["8fa6e1","ΆΈΉΊΪ"],["8fa6e7","Ό"],["8fa6e9","ΎΫ"],["8fa6ec","Ώ"],["8fa6f1","άέήίϊΐόςύϋΰώ"],["8fa7c2","Ђ",10,"ЎЏ"],["8fa7f2","ђ",10,"ўџ"],["8fa9a1","ÆĐ"],["8fa9a4","Ħ"],["8fa9a6","Ĳ"],["8fa9a8","ŁĿ"],["8fa9ab","ŊØŒ"],["8fa9af","ŦÞ"],["8fa9c1","æđðħıĳĸłŀŉŋøœßŧþ"],["8faaa1","ÁÀÄÂĂǍĀĄÅÃĆĈČÇĊĎÉÈËÊĚĖĒĘ"],["8faaba","ĜĞĢĠĤÍÌÏÎǏİĪĮĨĴĶĹĽĻŃŇŅÑÓÒÖÔǑŐŌÕŔŘŖŚŜŠŞŤŢÚÙÜÛŬǓŰŪŲŮŨǗǛǙǕŴÝŸŶŹŽŻ"],["8faba1","áàäâăǎāąåãćĉčçċďéèëêěėēęǵĝğ"],["8fabbd","ġĥíìïîǐ"],["8fabc5","īįĩĵķĺľļńňņñóòöôǒőōõŕřŗśŝšşťţúùüûŭǔűūųůũǘǜǚǖŵýÿŷźžż"],["8fb0a1","丂丄丅丌丒丟丣两丨丫丮丯丰丵乀乁乄乇乑乚乜乣乨乩乴乵乹乿亍亖亗亝亯亹仃仐仚仛仠仡仢仨仯仱仳仵份仾仿伀伂伃伈伋伌伒伕伖众伙伮伱你伳伵伷伹伻伾佀佂佈佉佋佌佒佔佖佘佟佣佪佬佮佱佷佸佹佺佽佾侁侂侄"],["8fb1a1","侅侉侊侌侎侐侒侓侔侗侙侚侞侟侲侷侹侻侼侽侾俀俁俅俆俈俉俋俌俍俏俒俜俠俢俰俲俼俽俿倀倁倄倇倊倌倎倐倓倗倘倛倜倝倞倢倧倮倰倲倳倵偀偁偂偅偆偊偌偎偑偒偓偗偙偟偠偢偣偦偧偪偭偰偱倻傁傃傄傆傊傎傏傐"],["8fb2a1","傒傓傔傖傛傜傞",4,"傪傯傰傹傺傽僀僃僄僇僌僎僐僓僔僘僜僝僟僢僤僦僨僩僯僱僶僺僾儃儆儇儈儋儌儍儎僲儐儗儙儛儜儝儞儣儧儨儬儭儯儱儳儴儵儸儹兂兊兏兓兕兗兘兟兤兦兾冃冄冋冎冘冝冡冣冭冸冺冼冾冿凂"],["8fb3a1","凈减凑凒凓凕凘凞凢凥凮凲凳凴凷刁刂刅划刓刕刖刘刢刨刱刲刵刼剅剉剕剗剘剚剜剟剠剡剦剮剷剸剹劀劂劅劊劌劓劕劖劗劘劚劜劤劥劦劧劯劰劶劷劸劺劻劽勀勄勆勈勌勏勑勔勖勛勜勡勥勨勩勪勬勰勱勴勶勷匀匃匊匋"],["8fb4a1","匌匑匓匘匛匜匞匟匥匧匨匩匫匬匭匰匲匵匼匽匾卂卌卋卙卛卡卣卥卬卭卲卹卾厃厇厈厎厓厔厙厝厡厤厪厫厯厲厴厵厷厸厺厽叀叅叏叒叓叕叚叝叞叠另叧叵吂吓吚吡吧吨吪启吱吴吵呃呄呇呍呏呞呢呤呦呧呩呫呭呮呴呿"],["8fb5a1","咁咃咅咈咉咍咑咕咖咜咟咡咦咧咩咪咭咮咱咷咹咺咻咿哆哊响哎哠哪哬哯哶哼哾哿唀唁唅唈唉唌唍唎唕唪唫唲唵唶唻唼唽啁啇啉啊啍啐啑啘啚啛啞啠啡啤啦啿喁喂喆喈喎喏喑喒喓喔喗喣喤喭喲喿嗁嗃嗆嗉嗋嗌嗎嗑嗒"],["8fb6a1","嗓嗗嗘嗛嗞嗢嗩嗶嗿嘅嘈嘊嘍",5,"嘙嘬嘰嘳嘵嘷嘹嘻嘼嘽嘿噀噁噃噄噆噉噋噍噏噔噞噠噡噢噣噦噩噭噯噱噲噵嚄嚅嚈嚋嚌嚕嚙嚚嚝嚞嚟嚦嚧嚨嚩嚫嚬嚭嚱嚳嚷嚾囅囉囊囋囏囐囌囍囙囜囝囟囡囤",4,"囱囫园"],["8fb7a1","囶囷圁圂圇圊圌圑圕圚圛圝圠圢圣圤圥圩圪圬圮圯圳圴圽圾圿坅坆坌坍坒坢坥坧坨坫坭",4,"坳坴坵坷坹坺坻坼坾垁垃垌垔垗垙垚垜垝垞垟垡垕垧垨垩垬垸垽埇埈埌埏埕埝埞埤埦埧埩埭埰埵埶埸埽埾埿堃堄堈堉埡"],["8fb8a1","堌堍堛堞堟堠堦堧堭堲堹堿塉塌塍塏塐塕塟塡塤塧塨塸塼塿墀墁墇墈墉墊墌墍墏墐墔墖墝墠墡墢墦墩墱墲壄墼壂壈壍壎壐壒壔壖壚壝壡壢壩壳夅夆夋夌夒夓夔虁夝夡夣夤夨夯夰夳夵夶夿奃奆奒奓奙奛奝奞奟奡奣奫奭"],["8fb9a1","奯奲奵奶她奻奼妋妌妎妒妕妗妟妤妧妭妮妯妰妳妷妺妼姁姃姄姈姊姍姒姝姞姟姣姤姧姮姯姱姲姴姷娀娄娌娍娎娒娓娞娣娤娧娨娪娭娰婄婅婇婈婌婐婕婞婣婥婧婭婷婺婻婾媋媐媓媖媙媜媞媟媠媢媧媬媱媲媳媵媸媺媻媿"],["8fbaa1","嫄嫆嫈嫏嫚嫜嫠嫥嫪嫮嫵嫶嫽嬀嬁嬈嬗嬴嬙嬛嬝嬡嬥嬭嬸孁孋孌孒孖孞孨孮孯孼孽孾孿宁宄宆宊宎宐宑宓宔宖宨宩宬宭宯宱宲宷宺宼寀寁寍寏寖",4,"寠寯寱寴寽尌尗尞尟尣尦尩尫尬尮尰尲尵尶屙屚屜屢屣屧屨屩"],["8fbba1","屭屰屴屵屺屻屼屽岇岈岊岏岒岝岟岠岢岣岦岪岲岴岵岺峉峋峒峝峗峮峱峲峴崁崆崍崒崫崣崤崦崧崱崴崹崽崿嵂嵃嵆嵈嵕嵑嵙嵊嵟嵠嵡嵢嵤嵪嵭嵰嵹嵺嵾嵿嶁嶃嶈嶊嶒嶓嶔嶕嶙嶛嶟嶠嶧嶫嶰嶴嶸嶹巃巇巋巐巎巘巙巠巤"],["8fbca1","巩巸巹帀帇帍帒帔帕帘帟帠帮帨帲帵帾幋幐幉幑幖幘幛幜幞幨幪",4,"幰庀庋庎庢庤庥庨庪庬庱庳庽庾庿廆廌廋廎廑廒廔廕廜廞廥廫异弆弇弈弎弙弜弝弡弢弣弤弨弫弬弮弰弴弶弻弽弿彀彄彅彇彍彐彔彘彛彠彣彤彧"],["8fbda1","彯彲彴彵彸彺彽彾徉徍徏徖徜徝徢徧徫徤徬徯徰徱徸忄忇忈忉忋忐",4,"忞忡忢忨忩忪忬忭忮忯忲忳忶忺忼怇怊怍怓怔怗怘怚怟怤怭怳怵恀恇恈恉恌恑恔恖恗恝恡恧恱恾恿悂悆悈悊悎悑悓悕悘悝悞悢悤悥您悰悱悷"],["8fbea1","悻悾惂惄惈惉惊惋惎惏惔惕惙惛惝惞惢惥惲惵惸惼惽愂愇愊愌愐",4,"愖愗愙愜愞愢愪愫愰愱愵愶愷愹慁慅慆慉慞慠慬慲慸慻慼慿憀憁憃憄憋憍憒憓憗憘憜憝憟憠憥憨憪憭憸憹憼懀懁懂懎懏懕懜懝懞懟懡懢懧懩懥"],["8fbfa1","懬懭懯戁戃戄戇戓戕戜戠戢戣戧戩戫戹戽扂扃扄扆扌扐扑扒扔扖扚扜扤扭扯扳扺扽抍抎抏抐抦抨抳抶抷抺抾抿拄拎拕拖拚拪拲拴拼拽挃挄挊挋挍挐挓挖挘挩挪挭挵挶挹挼捁捂捃捄捆捊捋捎捒捓捔捘捛捥捦捬捭捱捴捵"],["8fc0a1","捸捼捽捿掂掄掇掊掐掔掕掙掚掞掤掦掭掮掯掽揁揅揈揎揑揓揔揕揜揠揥揪揬揲揳揵揸揹搉搊搐搒搔搘搞搠搢搤搥搩搪搯搰搵搽搿摋摏摑摒摓摔摚摛摜摝摟摠摡摣摭摳摴摻摽撅撇撏撐撑撘撙撛撝撟撡撣撦撨撬撳撽撾撿"],["8fc1a1","擄擉擊擋擌擎擐擑擕擗擤擥擩擪擭擰擵擷擻擿攁攄攈攉攊攏攓攔攖攙攛攞攟攢攦攩攮攱攺攼攽敃敇敉敐敒敔敟敠敧敫敺敽斁斅斊斒斕斘斝斠斣斦斮斲斳斴斿旂旈旉旎旐旔旖旘旟旰旲旴旵旹旾旿昀昄昈昉昍昑昒昕昖昝"],["8fc2a1","昞昡昢昣昤昦昩昪昫昬昮昰昱昳昹昷晀晅晆晊晌晑晎晗晘晙晛晜晠晡曻晪晫晬晾晳晵晿晷晸晹晻暀晼暋暌暍暐暒暙暚暛暜暟暠暤暭暱暲暵暻暿曀曂曃曈曌曎曏曔曛曟曨曫曬曮曺朅朇朎朓朙朜朠朢朳朾杅杇杈杌杔杕杝"],["8fc3a1","杦杬杮杴杶杻极构枎枏枑枓枖枘枙枛枰枱枲枵枻枼枽柹柀柂柃柅柈柉柒柗柙柜柡柦柰柲柶柷桒栔栙栝栟栨栧栬栭栯栰栱栳栻栿桄桅桊桌桕桗桘桛桫桮",4,"桵桹桺桻桼梂梄梆梈梖梘梚梜梡梣梥梩梪梮梲梻棅棈棌棏"],["8fc4a1","棐棑棓棖棙棜棝棥棨棪棫棬棭棰棱棵棶棻棼棽椆椉椊椐椑椓椖椗椱椳椵椸椻楂楅楉楎楗楛楣楤楥楦楨楩楬楰楱楲楺楻楿榀榍榒榖榘榡榥榦榨榫榭榯榷榸榺榼槅槈槑槖槗槢槥槮槯槱槳槵槾樀樁樃樏樑樕樚樝樠樤樨樰樲"],["8fc5a1","樴樷樻樾樿橅橆橉橊橎橐橑橒橕橖橛橤橧橪橱橳橾檁檃檆檇檉檋檑檛檝檞檟檥檫檯檰檱檴檽檾檿櫆櫉櫈櫌櫐櫔櫕櫖櫜櫝櫤櫧櫬櫰櫱櫲櫼櫽欂欃欆欇欉欏欐欑欗欛欞欤欨欫欬欯欵欶欻欿歆歊歍歒歖歘歝歠歧歫歮歰歵歽"],["8fc6a1","歾殂殅殗殛殟殠殢殣殨殩殬殭殮殰殸殹殽殾毃毄毉毌毖毚毡毣毦毧毮毱毷毹毿氂氄氅氉氍氎氐氒氙氟氦氧氨氬氮氳氵氶氺氻氿汊汋汍汏汒汔汙汛汜汫汭汯汴汶汸汹汻沅沆沇沉沔沕沗沘沜沟沰沲沴泂泆泍泏泐泑泒泔泖"],["8fc7a1","泚泜泠泧泩泫泬泮泲泴洄洇洊洎洏洑洓洚洦洧洨汧洮洯洱洹洼洿浗浞浟浡浥浧浯浰浼涂涇涑涒涔涖涗涘涪涬涴涷涹涽涿淄淈淊淎淏淖淛淝淟淠淢淥淩淯淰淴淶淼渀渄渞渢渧渲渶渹渻渼湄湅湈湉湋湏湑湒湓湔湗湜湝湞"],["8fc8a1","湢湣湨湳湻湽溍溓溙溠溧溭溮溱溳溻溿滀滁滃滇滈滊滍滎滏滫滭滮滹滻滽漄漈漊漌漍漖漘漚漛漦漩漪漯漰漳漶漻漼漭潏潑潒潓潗潙潚潝潞潡潢潨潬潽潾澃澇澈澋澌澍澐澒澓澔澖澚澟澠澥澦澧澨澮澯澰澵澶澼濅濇濈濊"],["8fc9a1","濚濞濨濩濰濵濹濼濽瀀瀅瀆瀇瀍瀗瀠瀣瀯瀴瀷瀹瀼灃灄灈灉灊灋灔灕灝灞灎灤灥灬灮灵灶灾炁炅炆炔",4,"炛炤炫炰炱炴炷烊烑烓烔烕烖烘烜烤烺焃",4,"焋焌焏焞焠焫焭焯焰焱焸煁煅煆煇煊煋煐煒煗煚煜煞煠"],["8fcaa1","煨煹熀熅熇熌熒熚熛熠熢熯熰熲熳熺熿燀燁燄燋燌燓燖燙燚燜燸燾爀爇爈爉爓爗爚爝爟爤爫爯爴爸爹牁牂牃牅牎牏牐牓牕牖牚牜牞牠牣牨牫牮牯牱牷牸牻牼牿犄犉犍犎犓犛犨犭犮犱犴犾狁狇狉狌狕狖狘狟狥狳狴狺狻"],["8fcba1","狾猂猄猅猇猋猍猒猓猘猙猞猢猤猧猨猬猱猲猵猺猻猽獃獍獐獒獖獘獝獞獟獠獦獧獩獫獬獮獯獱獷獹獼玀玁玃玅玆玎玐玓玕玗玘玜玞玟玠玢玥玦玪玫玭玵玷玹玼玽玿珅珆珉珋珌珏珒珓珖珙珝珡珣珦珧珩珴珵珷珹珺珻珽"],["8fcca1","珿琀琁琄琇琊琑琚琛琤琦琨",9,"琹瑀瑃瑄瑆瑇瑋瑍瑑瑒瑗瑝瑢瑦瑧瑨瑫瑭瑮瑱瑲璀璁璅璆璇璉璏璐璑璒璘璙璚璜璟璠璡璣璦璨璩璪璫璮璯璱璲璵璹璻璿瓈瓉瓌瓐瓓瓘瓚瓛瓞瓟瓤瓨瓪瓫瓯瓴瓺瓻瓼瓿甆"],["8fcda1","甒甖甗甠甡甤甧甩甪甯甶甹甽甾甿畀畃畇畈畎畐畒畗畞畟畡畯畱畹",5,"疁疅疐疒疓疕疙疜疢疤疴疺疿痀痁痄痆痌痎痏痗痜痟痠痡痤痧痬痮痯痱痹瘀瘂瘃瘄瘇瘈瘊瘌瘏瘒瘓瘕瘖瘙瘛瘜瘝瘞瘣瘥瘦瘩瘭瘲瘳瘵瘸瘹"],["8fcea1","瘺瘼癊癀癁癃癄癅癉癋癕癙癟癤癥癭癮癯癱癴皁皅皌皍皕皛皜皝皟皠皢",6,"皪皭皽盁盅盉盋盌盎盔盙盠盦盨盬盰盱盶盹盼眀眆眊眎眒眔眕眗眙眚眜眢眨眭眮眯眴眵眶眹眽眾睂睅睆睊睍睎睏睒睖睗睜睞睟睠睢"],["8fcfa1","睤睧睪睬睰睲睳睴睺睽瞀瞄瞌瞍瞔瞕瞖瞚瞟瞢瞧瞪瞮瞯瞱瞵瞾矃矉矑矒矕矙矞矟矠矤矦矪矬矰矱矴矸矻砅砆砉砍砎砑砝砡砢砣砭砮砰砵砷硃硄硇硈硌硎硒硜硞硠硡硣硤硨硪确硺硾碊碏碔碘碡碝碞碟碤碨碬碭碰碱碲碳"],["8fd0a1","碻碽碿磇磈磉磌磎磒磓磕磖磤磛磟磠磡磦磪磲磳礀磶磷磺磻磿礆礌礐礚礜礞礟礠礥礧礩礭礱礴礵礻礽礿祄祅祆祊祋祏祑祔祘祛祜祧祩祫祲祹祻祼祾禋禌禑禓禔禕禖禘禛禜禡禨禩禫禯禱禴禸离秂秄秇秈秊秏秔秖秚秝秞"],["8fd1a1","秠秢秥秪秫秭秱秸秼稂稃稇稉稊稌稑稕稛稞稡稧稫稭稯稰稴稵稸稹稺穄穅穇穈穌穕穖穙穜穝穟穠穥穧穪穭穵穸穾窀窂窅窆窊窋窐窑窔窞窠窣窬窳窵窹窻窼竆竉竌竎竑竛竨竩竫竬竱竴竻竽竾笇笔笟笣笧笩笪笫笭笮笯笰"],["8fd2a1","笱笴笽笿筀筁筇筎筕筠筤筦筩筪筭筯筲筳筷箄箉箎箐箑箖箛箞箠箥箬箯箰箲箵箶箺箻箼箽篂篅篈篊篔篖篗篙篚篛篨篪篲篴篵篸篹篺篼篾簁簂簃簄簆簉簋簌簎簏簙簛簠簥簦簨簬簱簳簴簶簹簺籆籊籕籑籒籓籙",5],["8fd3a1","籡籣籧籩籭籮籰籲籹籼籽粆粇粏粔粞粠粦粰粶粷粺粻粼粿糄糇糈糉糍糏糓糔糕糗糙糚糝糦糩糫糵紃紇紈紉紏紑紒紓紖紝紞紣紦紪紭紱紼紽紾絀絁絇絈絍絑絓絗絙絚絜絝絥絧絪絰絸絺絻絿綁綂綃綅綆綈綋綌綍綑綖綗綝"],["8fd4a1","綞綦綧綪綳綶綷綹緂",4,"緌緍緎緗緙縀緢緥緦緪緫緭緱緵緶緹緺縈縐縑縕縗縜縝縠縧縨縬縭縯縳縶縿繄繅繇繎繐繒繘繟繡繢繥繫繮繯繳繸繾纁纆纇纊纍纑纕纘纚纝纞缼缻缽缾缿罃罄罇罏罒罓罛罜罝罡罣罤罥罦罭"],["8fd5a1","罱罽罾罿羀羋羍羏羐羑羖羗羜羡羢羦羪羭羴羼羿翀翃翈翎翏翛翟翣翥翨翬翮翯翲翺翽翾翿耇耈耊耍耎耏耑耓耔耖耝耞耟耠耤耦耬耮耰耴耵耷耹耺耼耾聀聄聠聤聦聭聱聵肁肈肎肜肞肦肧肫肸肹胈胍胏胒胔胕胗胘胠胭胮"],["8fd6a1","胰胲胳胶胹胺胾脃脋脖脗脘脜脞脠脤脧脬脰脵脺脼腅腇腊腌腒腗腠腡腧腨腩腭腯腷膁膐膄膅膆膋膎膖膘膛膞膢膮膲膴膻臋臃臅臊臎臏臕臗臛臝臞臡臤臫臬臰臱臲臵臶臸臹臽臿舀舃舏舓舔舙舚舝舡舢舨舲舴舺艃艄艅艆"],["8fd7a1","艋艎艏艑艖艜艠艣艧艭艴艻艽艿芀芁芃芄芇芉芊芎芑芔芖芘芚芛芠芡芣芤芧芨芩芪芮芰芲芴芷芺芼芾芿苆苐苕苚苠苢苤苨苪苭苯苶苷苽苾茀茁茇茈茊茋荔茛茝茞茟茡茢茬茭茮茰茳茷茺茼茽荂荃荄荇荍荎荑荕荖荗荰荸"],["8fd8a1","荽荿莀莂莄莆莍莒莔莕莘莙莛莜莝莦莧莩莬莾莿菀菇菉菏菐菑菔菝荓菨菪菶菸菹菼萁萆萊萏萑萕萙莭萯萹葅葇葈葊葍葏葑葒葖葘葙葚葜葠葤葥葧葪葰葳葴葶葸葼葽蒁蒅蒒蒓蒕蒞蒦蒨蒩蒪蒯蒱蒴蒺蒽蒾蓀蓂蓇蓈蓌蓏蓓"],["8fd9a1","蓜蓧蓪蓯蓰蓱蓲蓷蔲蓺蓻蓽蔂蔃蔇蔌蔎蔐蔜蔞蔢蔣蔤蔥蔧蔪蔫蔯蔳蔴蔶蔿蕆蕏",4,"蕖蕙蕜",6,"蕤蕫蕯蕹蕺蕻蕽蕿薁薅薆薉薋薌薏薓薘薝薟薠薢薥薧薴薶薷薸薼薽薾薿藂藇藊藋藎薭藘藚藟藠藦藨藭藳藶藼"],["8fdaa1","藿蘀蘄蘅蘍蘎蘐蘑蘒蘘蘙蘛蘞蘡蘧蘩蘶蘸蘺蘼蘽虀虂虆虒虓虖虗虘虙虝虠",4,"虩虬虯虵虶虷虺蚍蚑蚖蚘蚚蚜蚡蚦蚧蚨蚭蚱蚳蚴蚵蚷蚸蚹蚿蛀蛁蛃蛅蛑蛒蛕蛗蛚蛜蛠蛣蛥蛧蚈蛺蛼蛽蜄蜅蜇蜋蜎蜏蜐蜓蜔蜙蜞蜟蜡蜣"],["8fdba1","蜨蜮蜯蜱蜲蜹蜺蜼蜽蜾蝀蝃蝅蝍蝘蝝蝡蝤蝥蝯蝱蝲蝻螃",6,"螋螌螐螓螕螗螘螙螞螠螣螧螬螭螮螱螵螾螿蟁蟈蟉蟊蟎蟕蟖蟙蟚蟜蟟蟢蟣蟤蟪蟫蟭蟱蟳蟸蟺蟿蠁蠃蠆蠉蠊蠋蠐蠙蠒蠓蠔蠘蠚蠛蠜蠞蠟蠨蠭蠮蠰蠲蠵"],["8fdca1","蠺蠼衁衃衅衈衉衊衋衎衑衕衖衘衚衜衟衠衤衩衱衹衻袀袘袚袛袜袟袠袨袪袺袽袾裀裊",4,"裑裒裓裛裞裧裯裰裱裵裷褁褆褍褎褏褕褖褘褙褚褜褠褦褧褨褰褱褲褵褹褺褾襀襂襅襆襉襏襒襗襚襛襜襡襢襣襫襮襰襳襵襺"],["8fdda1","襻襼襽覉覍覐覔覕覛覜覟覠覥覰覴覵覶覷覼觔",4,"觥觩觫觭觱觳觶觹觽觿訄訅訇訏訑訒訔訕訞訠訢訤訦訫訬訯訵訷訽訾詀詃詅詇詉詍詎詓詖詗詘詜詝詡詥詧詵詶詷詹詺詻詾詿誀誃誆誋誏誐誒誖誗誙誟誧誩誮誯誳"],["8fdea1","誶誷誻誾諃諆諈諉諊諑諓諔諕諗諝諟諬諰諴諵諶諼諿謅謆謋謑謜謞謟謊謭謰謷謼譂",4,"譈譒譓譔譙譍譞譣譭譶譸譹譼譾讁讄讅讋讍讏讔讕讜讞讟谸谹谽谾豅豇豉豋豏豑豓豔豗豘豛豝豙豣豤豦豨豩豭豳豵豶豻豾貆"],["8fdfa1","貇貋貐貒貓貙貛貜貤貹貺賅賆賉賋賏賖賕賙賝賡賨賬賯賰賲賵賷賸賾賿贁贃贉贒贗贛赥赩赬赮赿趂趄趈趍趐趑趕趞趟趠趦趫趬趯趲趵趷趹趻跀跅跆跇跈跊跎跑跔跕跗跙跤跥跧跬跰趼跱跲跴跽踁踄踅踆踋踑踔踖踠踡踢"],["8fe0a1","踣踦踧踱踳踶踷踸踹踽蹀蹁蹋蹍蹎蹏蹔蹛蹜蹝蹞蹡蹢蹩蹬蹭蹯蹰蹱蹹蹺蹻躂躃躉躐躒躕躚躛躝躞躢躧躩躭躮躳躵躺躻軀軁軃軄軇軏軑軔軜軨軮軰軱軷軹軺軭輀輂輇輈輏輐輖輗輘輞輠輡輣輥輧輨輬輭輮輴輵輶輷輺轀轁"],["8fe1a1","轃轇轏轑",4,"轘轝轞轥辝辠辡辤辥辦辵辶辸达迀迁迆迊迋迍运迒迓迕迠迣迤迨迮迱迵迶迻迾适逄逈逌逘逛逨逩逯逪逬逭逳逴逷逿遃遄遌遛遝遢遦遧遬遰遴遹邅邈邋邌邎邐邕邗邘邙邛邠邡邢邥邰邲邳邴邶邽郌邾郃"],["8fe2a1","郄郅郇郈郕郗郘郙郜郝郟郥郒郶郫郯郰郴郾郿鄀鄄鄅鄆鄈鄍鄐鄔鄖鄗鄘鄚鄜鄞鄠鄥鄢鄣鄧鄩鄮鄯鄱鄴鄶鄷鄹鄺鄼鄽酃酇酈酏酓酗酙酚酛酡酤酧酭酴酹酺酻醁醃醅醆醊醎醑醓醔醕醘醞醡醦醨醬醭醮醰醱醲醳醶醻醼醽醿"],["8fe3a1","釂釃釅釓釔釗釙釚釞釤釥釩釪釬",5,"釷釹釻釽鈀鈁鈄鈅鈆鈇鈉鈊鈌鈐鈒鈓鈖鈘鈜鈝鈣鈤鈥鈦鈨鈮鈯鈰鈳鈵鈶鈸鈹鈺鈼鈾鉀鉂鉃鉆鉇鉊鉍鉎鉏鉑鉘鉙鉜鉝鉠鉡鉥鉧鉨鉩鉮鉯鉰鉵",4,"鉻鉼鉽鉿銈銉銊銍銎銒銗"],["8fe4a1","銙銟銠銤銥銧銨銫銯銲銶銸銺銻銼銽銿",4,"鋅鋆鋇鋈鋋鋌鋍鋎鋐鋓鋕鋗鋘鋙鋜鋝鋟鋠鋡鋣鋥鋧鋨鋬鋮鋰鋹鋻鋿錀錂錈錍錑錔錕錜錝錞錟錡錤錥錧錩錪錳錴錶錷鍇鍈鍉鍐鍑鍒鍕鍗鍘鍚鍞鍤鍥鍧鍩鍪鍭鍯鍰鍱鍳鍴鍶"],["8fe5a1","鍺鍽鍿鎀鎁鎂鎈鎊鎋鎍鎏鎒鎕鎘鎛鎞鎡鎣鎤鎦鎨鎫鎴鎵鎶鎺鎩鏁鏄鏅鏆鏇鏉",4,"鏓鏙鏜鏞鏟鏢鏦鏧鏹鏷鏸鏺鏻鏽鐁鐂鐄鐈鐉鐍鐎鐏鐕鐖鐗鐟鐮鐯鐱鐲鐳鐴鐻鐿鐽鑃鑅鑈鑊鑌鑕鑙鑜鑟鑡鑣鑨鑫鑭鑮鑯鑱鑲钄钃镸镹"],["8fe6a1","镾閄閈閌閍閎閝閞閟閡閦閩閫閬閴閶閺閽閿闆闈闉闋闐闑闒闓闙闚闝闞闟闠闤闦阝阞阢阤阥阦阬阱阳阷阸阹阺阼阽陁陒陔陖陗陘陡陮陴陻陼陾陿隁隂隃隄隉隑隖隚隝隟隤隥隦隩隮隯隳隺雊雒嶲雘雚雝雞雟雩雯雱雺霂"],["8fe7a1","霃霅霉霚霛霝霡霢霣霨霱霳靁靃靊靎靏靕靗靘靚靛靣靧靪靮靳靶靷靸靻靽靿鞀鞉鞕鞖鞗鞙鞚鞞鞟鞢鞬鞮鞱鞲鞵鞶鞸鞹鞺鞼鞾鞿韁韄韅韇韉韊韌韍韎韐韑韔韗韘韙韝韞韠韛韡韤韯韱韴韷韸韺頇頊頙頍頎頔頖頜頞頠頣頦"],["8fe8a1","頫頮頯頰頲頳頵頥頾顄顇顊顑顒顓顖顗顙顚顢顣顥顦顪顬颫颭颮颰颴颷颸颺颻颿飂飅飈飌飡飣飥飦飧飪飳飶餂餇餈餑餕餖餗餚餛餜餟餢餦餧餫餱",4,"餹餺餻餼饀饁饆饇饈饍饎饔饘饙饛饜饞饟饠馛馝馟馦馰馱馲馵"],["8fe9a1","馹馺馽馿駃駉駓駔駙駚駜駞駧駪駫駬駰駴駵駹駽駾騂騃騄騋騌騐騑騖騞騠騢騣騤騧騭騮騳騵騶騸驇驁驄驊驋驌驎驑驔驖驝骪骬骮骯骲骴骵骶骹骻骾骿髁髃髆髈髎髐髒髕髖髗髛髜髠髤髥髧髩髬髲髳髵髹髺髽髿",4],["8feaa1","鬄鬅鬈鬉鬋鬌鬍鬎鬐鬒鬖鬙鬛鬜鬠鬦鬫鬭鬳鬴鬵鬷鬹鬺鬽魈魋魌魕魖魗魛魞魡魣魥魦魨魪",4,"魳魵魷魸魹魿鮀鮄鮅鮆鮇鮉鮊鮋鮍鮏鮐鮔鮚鮝鮞鮦鮧鮩鮬鮰鮱鮲鮷鮸鮻鮼鮾鮿鯁鯇鯈鯎鯐鯗鯘鯝鯟鯥鯧鯪鯫鯯鯳鯷鯸"],["8feba1","鯹鯺鯽鯿鰀鰂鰋鰏鰑鰖鰘鰙鰚鰜鰞鰢鰣鰦",4,"鰱鰵鰶鰷鰽鱁鱃鱄鱅鱉鱊鱎鱏鱐鱓鱔鱖鱘鱛鱝鱞鱟鱣鱩鱪鱜鱫鱨鱮鱰鱲鱵鱷鱻鳦鳲鳷鳹鴋鴂鴑鴗鴘鴜鴝鴞鴯鴰鴲鴳鴴鴺鴼鵅鴽鵂鵃鵇鵊鵓鵔鵟鵣鵢鵥鵩鵪鵫鵰鵶鵷鵻"],["8feca1","鵼鵾鶃鶄鶆鶊鶍鶎鶒鶓鶕鶖鶗鶘鶡鶪鶬鶮鶱鶵鶹鶼鶿鷃鷇鷉鷊鷔鷕鷖鷗鷚鷞鷟鷠鷥鷧鷩鷫鷮鷰鷳鷴鷾鸊鸂鸇鸎鸐鸑鸒鸕鸖鸙鸜鸝鹺鹻鹼麀麂麃麄麅麇麎麏麖麘麛麞麤麨麬麮麯麰麳麴麵黆黈黋黕黟黤黧黬黭黮黰黱黲黵"],["8feda1","黸黿鼂鼃鼉鼏鼐鼑鼒鼔鼖鼗鼙鼚鼛鼟鼢鼦鼪鼫鼯鼱鼲鼴鼷鼹鼺鼼鼽鼿齁齃",4,"齓齕齖齗齘齚齝齞齨齩齭",4,"齳齵齺齽龏龐龑龒龔龖龗龞龡龢龣龥"]]}});var require_cp936=__commonJS({"node_modules/iconv-lite/encodings/tables/cp936.json"(exports2,module2){module2.exports=[["0","\0",127,"€"],["8140","丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱丳丵丷丼乀乁乂乄乆乊乑乕乗乚乛乢乣乤乥乧乨乪",5,"乲乴",9,"乿",6,"亇亊"],["8180","亐亖亗亙亜亝亞亣亪亯亰亱亴亶亷亸亹亼亽亾仈仌仏仐仒仚仛仜仠仢仦仧仩仭仮仯仱仴仸仹仺仼仾伀伂",6,"伋伌伒",4,"伜伝伡伣伨伩伬伭伮伱伳伵伷伹伻伾",4,"佄佅佇",5,"佒佔佖佡佢佦佨佪佫佭佮佱佲併佷佸佹佺佽侀侁侂侅來侇侊侌侎侐侒侓侕侖侘侙侚侜侞侟価侢"],["8240","侤侫侭侰",4,"侶",8,"俀俁係俆俇俈俉俋俌俍俒",4,"俙俛俠俢俤俥俧俫俬俰俲俴俵俶俷俹俻俼俽俿",11],["8280","個倎倐們倓倕倖倗倛倝倞倠倢倣値倧倫倯",10,"倻倽倿偀偁偂偄偅偆偉偊偋偍偐",4,"偖偗偘偙偛偝",7,"偦",5,"偭",8,"偸偹偺偼偽傁傂傃傄傆傇傉傊傋傌傎",20,"傤傦傪傫傭",4,"傳",6,"傼"],["8340","傽",17,"僐",5,"僗僘僙僛",10,"僨僩僪僫僯僰僱僲僴僶",4,"僼",9,"儈"],["8380","儉儊儌",5,"儓",13,"儢",28,"兂兇兊兌兎兏児兒兓兗兘兙兛兝",4,"兣兤兦內兩兪兯兲兺兾兿冃冄円冇冊冋冎冏冐冑冓冔冘冚冝冞冟冡冣冦",4,"冭冮冴冸冹冺冾冿凁凂凃凅凈凊凍凎凐凒",5],["8440","凘凙凚凜凞凟凢凣凥",5,"凬凮凱凲凴凷凾刄刅刉刋刌刏刐刓刔刕刜刞刟刡刢刣別刦刧刪刬刯刱刲刴刵刼刾剄",5,"剋剎剏剒剓剕剗剘"],["8480","剙剚剛剝剟剠剢剣剤剦剨剫剬剭剮剰剱剳",9,"剾劀劃",4,"劉",6,"劑劒劔",6,"劜劤劥劦劧劮劯劰労",9,"勀勁勂勄勅勆勈勊勌勍勎勏勑勓勔動勗務",5,"勠勡勢勣勥",10,"勱",7,"勻勼勽匁匂匃匄匇匉匊匋匌匎"],["8540","匑匒匓匔匘匛匜匞匟匢匤匥匧匨匩匫匬匭匯",9,"匼匽區卂卄卆卋卌卍卐協単卙卛卝卥卨卪卬卭卲卶卹卻卼卽卾厀厁厃厇厈厊厎厏"],["8580","厐",4,"厖厗厙厛厜厞厠厡厤厧厪厫厬厭厯",6,"厷厸厹厺厼厽厾叀參",4,"収叏叐叒叓叕叚叜叝叞叡叢叧叴叺叾叿吀吂吅吇吋吔吘吙吚吜吢吤吥吪吰吳吶吷吺吽吿呁呂呄呅呇呉呌呍呎呏呑呚呝",4,"呣呥呧呩",7,"呴呹呺呾呿咁咃咅咇咈咉咊咍咑咓咗咘咜咞咟咠咡"],["8640","咢咥咮咰咲咵咶咷咹咺咼咾哃哅哊哋哖哘哛哠",4,"哫哬哯哰哱哴",5,"哻哾唀唂唃唄唅唈唊",4,"唒唓唕",5,"唜唝唞唟唡唥唦"],["8680","唨唩唫唭唲唴唵唶唸唹唺唻唽啀啂啅啇啈啋",4,"啑啒啓啔啗",4,"啝啞啟啠啢啣啨啩啫啯",5,"啹啺啽啿喅喆喌喍喎喐喒喓喕喖喗喚喛喞喠",6,"喨",8,"喲喴営喸喺喼喿",4,"嗆嗇嗈嗊嗋嗎嗏嗐嗕嗗",4,"嗞嗠嗢嗧嗩嗭嗮嗰嗱嗴嗶嗸",4,"嗿嘂嘃嘄嘅"],["8740","嘆嘇嘊嘋嘍嘐",7,"嘙嘚嘜嘝嘠嘡嘢嘥嘦嘨嘩嘪嘫嘮嘯嘰嘳嘵嘷嘸嘺嘼嘽嘾噀",11,"噏",4,"噕噖噚噛噝",4],["8780","噣噥噦噧噭噮噯噰噲噳噴噵噷噸噹噺噽",7,"嚇",6,"嚐嚑嚒嚔",14,"嚤",10,"嚰",6,"嚸嚹嚺嚻嚽",12,"囋",8,"囕囖囘囙囜団囥",5,"囬囮囯囲図囶囷囸囻囼圀圁圂圅圇國",6],["8840","園",9,"圝圞圠圡圢圤圥圦圧圫圱圲圴",4,"圼圽圿坁坃坄坅坆坈坉坋坒",4,"坘坙坢坣坥坧坬坮坰坱坲坴坵坸坹坺坽坾坿垀"],["8880","垁垇垈垉垊垍",4,"垔",6,"垜垝垞垟垥垨垪垬垯垰垱垳垵垶垷垹",8,"埄",6,"埌埍埐埑埓埖埗埛埜埞埡埢埣埥",7,"埮埰埱埲埳埵埶執埻埼埾埿堁堃堄堅堈堉堊堌堎堏堐堒堓堔堖堗堘堚堛堜堝堟堢堣堥",4,"堫",4,"報堲堳場堶",7],["8940","堾",5,"塅",6,"塎塏塐塒塓塕塖塗塙",4,"塟",5,"塦",4,"塭",16,"塿墂墄墆墇墈墊墋墌"],["8980","墍",4,"墔",4,"墛墜墝墠",7,"墪",17,"墽墾墿壀壂壃壄壆",10,"壒壓壔壖",13,"壥",5,"壭壯壱売壴壵壷壸壺",7,"夃夅夆夈",4,"夎夐夑夒夓夗夘夛夝夞夠夡夢夣夦夨夬夰夲夳夵夶夻"],["8a40","夽夾夿奀奃奅奆奊奌奍奐奒奓奙奛",4,"奡奣奤奦",12,"奵奷奺奻奼奾奿妀妅妉妋妌妎妏妐妑妔妕妘妚妛妜妝妟妠妡妢妦"],["8a80","妧妬妭妰妱妳",5,"妺妼妽妿",6,"姇姈姉姌姍姎姏姕姖姙姛姞",4,"姤姦姧姩姪姫姭",11,"姺姼姽姾娀娂娊娋娍娎娏娐娒娔娕娖娗娙娚娛娝娞娡娢娤娦娧娨娪",6,"娳娵娷",4,"娽娾娿婁",4,"婇婈婋",9,"婖婗婘婙婛",5],["8b40","婡婣婤婥婦婨婩婫",8,"婸婹婻婼婽婾媀",17,"媓",6,"媜",13,"媫媬"],["8b80","媭",4,"媴媶媷媹",4,"媿嫀嫃",5,"嫊嫋嫍",4,"嫓嫕嫗嫙嫚嫛嫝嫞嫟嫢嫤嫥嫧嫨嫪嫬",4,"嫲",22,"嬊",11,"嬘",25,"嬳嬵嬶嬸",7,"孁",6],["8c40","孈",7,"孒孖孞孠孡孧孨孫孭孮孯孲孴孶孷學孹孻孼孾孿宂宆宊宍宎宐宑宒宔宖実宧宨宩宬宭宮宯宱宲宷宺宻宼寀寁寃寈寉寊寋寍寎寏"],["8c80","寑寔",8,"寠寢寣實寧審",4,"寯寱",6,"寽対尀専尃尅將專尋尌對導尐尒尓尗尙尛尞尟尠尡尣尦尨尩尪尫尭尮尯尰尲尳尵尶尷屃屄屆屇屌屍屒屓屔屖屗屘屚屛屜屝屟屢層屧",6,"屰屲",6,"屻屼屽屾岀岃",4,"岉岊岋岎岏岒岓岕岝",4,"岤",4],["8d40","岪岮岯岰岲岴岶岹岺岻岼岾峀峂峃峅",5,"峌",5,"峓",5,"峚",6,"峢峣峧峩峫峬峮峯峱",9,"峼",4],["8d80","崁崄崅崈",5,"崏",4,"崕崗崘崙崚崜崝崟",4,"崥崨崪崫崬崯",4,"崵",7,"崿",7,"嵈嵉嵍",10,"嵙嵚嵜嵞",10,"嵪嵭嵮嵰嵱嵲嵳嵵",12,"嶃",21,"嶚嶛嶜嶞嶟嶠"],["8e40","嶡",21,"嶸",12,"巆",6,"巎",12,"巜巟巠巣巤巪巬巭"],["8e80","巰巵巶巸",4,"巿帀帄帇帉帊帋帍帎帒帓帗帞",7,"帨",4,"帯帰帲",4,"帹帺帾帿幀幁幃幆",5,"幍",6,"幖",4,"幜幝幟幠幣",14,"幵幷幹幾庁庂広庅庈庉庌庍庎庒庘庛庝庡庢庣庤庨",4,"庮",4,"庴庺庻庼庽庿",6],["8f40","廆廇廈廋",5,"廔廕廗廘廙廚廜",11,"廩廫",8,"廵廸廹廻廼廽弅弆弇弉弌弍弎弐弒弔弖弙弚弜弝弞弡弢弣弤"],["8f80","弨弫弬弮弰弲",6,"弻弽弾弿彁",14,"彑彔彙彚彛彜彞彟彠彣彥彧彨彫彮彯彲彴彵彶彸彺彽彾彿徃徆徍徎徏徑従徔徖徚徛徝從徟徠徢",5,"復徫徬徯",5,"徶徸徹徺徻徾",4,"忇忈忊忋忎忓忔忕忚忛応忞忟忢忣忥忦忨忩忬忯忰忲忳忴忶忷忹忺忼怇"],["9040","怈怉怋怌怐怑怓怗怘怚怞怟怢怣怤怬怭怮怰",4,"怶",4,"怽怾恀恄",6,"恌恎恏恑恓恔恖恗恘恛恜恞恟恠恡恥恦恮恱恲恴恵恷恾悀"],["9080","悁悂悅悆悇悈悊悋悎悏悐悑悓悕悗悘悙悜悞悡悢悤悥悧悩悪悮悰悳悵悶悷悹悺悽",7,"惇惈惉惌",4,"惒惓惔惖惗惙惛惞惡",4,"惪惱惲惵惷惸惻",4,"愂愃愄愅愇愊愋愌愐",4,"愖愗愘愙愛愜愝愞愡愢愥愨愩愪愬",18,"慀",6],["9140","慇慉態慍慏慐慒慓慔慖",6,"慞慟慠慡慣慤慥慦慩",6,"慱慲慳慴慶慸",18,"憌憍憏",4,"憕"],["9180","憖",6,"憞",8,"憪憫憭",9,"憸",5,"憿懀懁懃",4,"應懌",4,"懓懕",16,"懧",13,"懶",8,"戀",5,"戇戉戓戔戙戜戝戞戠戣戦戧戨戩戫戭戯戰戱戲戵戶戸",4,"扂扄扅扆扊"],["9240","扏扐払扖扗扙扚扜",6,"扤扥扨扱扲扴扵扷扸扺扻扽抁抂抃抅抆抇抈抋",5,"抔抙抜抝択抣抦抧抩抪抭抮抯抰抲抳抴抶抷抸抺抾拀拁"],["9280","拃拋拏拑拕拝拞拠拡拤拪拫拰拲拵拸拹拺拻挀挃挄挅挆挊挋挌挍挏挐挒挓挔挕挗挘挙挜挦挧挩挬挭挮挰挱挳",5,"挻挼挾挿捀捁捄捇捈捊捑捒捓捔捖",7,"捠捤捥捦捨捪捫捬捯捰捲捳捴捵捸捹捼捽捾捿掁掃掄掅掆掋掍掑掓掔掕掗掙",6,"採掤掦掫掯掱掲掵掶掹掻掽掿揀"],["9340","揁揂揃揅揇揈揊揋揌揑揓揔揕揗",6,"揟揢揤",4,"揫揬揮揯揰揱揳揵揷揹揺揻揼揾搃搄搆",4,"損搎搑搒搕",5,"搝搟搢搣搤"],["9380","搥搧搨搩搫搮",5,"搵",4,"搻搼搾摀摂摃摉摋",6,"摓摕摖摗摙",4,"摟",7,"摨摪摫摬摮",9,"摻",6,"撃撆撈",8,"撓撔撗撘撚撛撜撝撟",4,"撥撦撧撨撪撫撯撱撲撳撴撶撹撻撽撾撿擁擃擄擆",6,"擏擑擓擔擕擖擙據"],["9440","擛擜擝擟擠擡擣擥擧",24,"攁",7,"攊",7,"攓",4,"攙",8],["9480","攢攣攤攦",4,"攬攭攰攱攲攳攷攺攼攽敀",4,"敆敇敊敋敍敎敐敒敓敔敗敘敚敜敟敠敡敤敥敧敨敩敪敭敮敯敱敳敵敶數",14,"斈斉斊斍斎斏斒斔斕斖斘斚斝斞斠斢斣斦斨斪斬斮斱",7,"斺斻斾斿旀旂旇旈旉旊旍旐旑旓旔旕旘",7,"旡旣旤旪旫"],["9540","旲旳旴旵旸旹旻",4,"昁昄昅昇昈昉昋昍昐昑昒昖昗昘昚昛昜昞昡昢昣昤昦昩昪昫昬昮昰昲昳昷",4,"昽昿晀時晄",6,"晍晎晐晑晘"],["9580","晙晛晜晝晞晠晢晣晥晧晩",4,"晱晲晳晵晸晹晻晼晽晿暀暁暃暅暆暈暉暊暋暍暎暏暐暒暓暔暕暘",4,"暞",8,"暩",4,"暯",4,"暵暶暷暸暺暻暼暽暿",25,"曚曞",7,"曧曨曪",5,"曱曵曶書曺曻曽朁朂會"],["9640","朄朅朆朇朌朎朏朑朒朓朖朘朙朚朜朞朠",5,"朧朩朮朰朲朳朶朷朸朹朻朼朾朿杁杄杅杇杊杋杍杒杔杕杗",4,"杝杢杣杤杦杧杫杬杮東杴杶"],["9680","杸杹杺杻杽枀枂枃枅枆枈枊枌枍枎枏枑枒枓枔枖枙枛枟枠枡枤枦枩枬枮枱枲枴枹",7,"柂柅",9,"柕柖柗柛柟柡柣柤柦柧柨柪柫柭柮柲柵",7,"柾栁栂栃栄栆栍栐栒栔栕栘",4,"栞栟栠栢",6,"栫",6,"栴栵栶栺栻栿桇桋桍桏桒桖",5],["9740","桜桝桞桟桪桬",7,"桵桸",8,"梂梄梇",7,"梐梑梒梔梕梖梘",9,"梣梤梥梩梪梫梬梮梱梲梴梶梷梸"],["9780","梹",6,"棁棃",5,"棊棌棎棏棐棑棓棔棖棗棙棛",4,"棡棢棤",9,"棯棲棳棴棶棷棸棻棽棾棿椀椂椃椄椆",4,"椌椏椑椓",11,"椡椢椣椥",7,"椮椯椱椲椳椵椶椷椸椺椻椼椾楀楁楃",16,"楕楖楘楙楛楜楟"],["9840","楡楢楤楥楧楨楩楪楬業楯楰楲",4,"楺楻楽楾楿榁榃榅榊榋榌榎",5,"榖榗榙榚榝",9,"榩榪榬榮榯榰榲榳榵榶榸榹榺榼榽"],["9880","榾榿槀槂",7,"構槍槏槑槒槓槕",5,"槜槝槞槡",11,"槮槯槰槱槳",9,"槾樀",9,"樋",11,"標",5,"樠樢",5,"権樫樬樭樮樰樲樳樴樶",6,"樿",4,"橅橆橈",7,"橑",6,"橚"],["9940","橜",4,"橢橣橤橦",10,"橲",6,"橺橻橽橾橿檁檂檃檅",8,"檏檒",4,"檘",7,"檡",5],["9980","檧檨檪檭",114,"欥欦欨",6],["9a40","欯欰欱欳欴欵欶欸欻欼欽欿歀歁歂歄歅歈歊歋歍",11,"歚",7,"歨歩歫",13,"歺歽歾歿殀殅殈"],["9a80","殌殎殏殐殑殔殕殗殘殙殜",4,"殢",7,"殫",7,"殶殸",6,"毀毃毄毆",4,"毌毎毐毑毘毚毜",4,"毢",7,"毬毭毮毰毱毲毴毶毷毸毺毻毼毾",6,"氈",4,"氎氒気氜氝氞氠氣氥氫氬氭氱氳氶氷氹氺氻氼氾氿汃汄汅汈汋",4,"汑汒汓汖汘"],["9b40","汙汚汢汣汥汦汧汫",4,"汱汳汵汷汸決汻汼汿沀沄沇沊沋沍沎沑沒沕沖沗沘沚沜沝沞沠沢沨沬沯沰沴沵沶沷沺泀況泂泃泆泇泈泋泍泎泏泑泒泘"],["9b80","泙泚泜泝泟泤泦泧泩泬泭泲泴泹泿洀洂洃洅洆洈洉洊洍洏洐洑洓洔洕洖洘洜洝洟",5,"洦洨洩洬洭洯洰洴洶洷洸洺洿浀浂浄浉浌浐浕浖浗浘浛浝浟浡浢浤浥浧浨浫浬浭浰浱浲浳浵浶浹浺浻浽",4,"涃涄涆涇涊涋涍涏涐涒涖",4,"涜涢涥涬涭涰涱涳涴涶涷涹",5,"淁淂淃淈淉淊"],["9c40","淍淎淏淐淒淓淔淕淗淚淛淜淟淢淣淥淧淨淩淪淭淯淰淲淴淵淶淸淺淽",7,"渆渇済渉渋渏渒渓渕渘渙減渜渞渟渢渦渧渨渪測渮渰渱渳渵"],["9c80","渶渷渹渻",7,"湅",7,"湏湐湑湒湕湗湙湚湜湝湞湠",10,"湬湭湯",14,"満溁溂溄溇溈溊",4,"溑",6,"溙溚溛溝溞溠溡溣溤溦溨溩溫溬溭溮溰溳溵溸溹溼溾溿滀滃滄滅滆滈滉滊滌滍滎滐滒滖滘滙滛滜滝滣滧滪",5],["9d40","滰滱滲滳滵滶滷滸滺",7,"漃漄漅漇漈漊",4,"漐漑漒漖",9,"漡漢漣漥漦漧漨漬漮漰漲漴漵漷",6,"漿潀潁潂"],["9d80","潃潄潅潈潉潊潌潎",9,"潙潚潛潝潟潠潡潣潤潥潧",5,"潯潰潱潳潵潶潷潹潻潽",6,"澅澆澇澊澋澏",12,"澝澞澟澠澢",4,"澨",10,"澴澵澷澸澺",5,"濁濃",5,"濊",6,"濓",10,"濟濢濣濤濥"],["9e40","濦",7,"濰",32,"瀒",7,"瀜",6,"瀤",6],["9e80","瀫",9,"瀶瀷瀸瀺",17,"灍灎灐",13,"灟",11,"灮灱灲灳灴灷灹灺灻災炁炂炃炄炆炇炈炋炌炍炏炐炑炓炗炘炚炛炞",12,"炰炲炴炵炶為炾炿烄烅烆烇烉烋",12,"烚"],["9f40","烜烝烞烠烡烢烣烥烪烮烰",6,"烸烺烻烼烾",10,"焋",4,"焑焒焔焗焛",10,"焧",7,"焲焳焴"],["9f80","焵焷",13,"煆煇煈煉煋煍煏",12,"煝煟",4,"煥煩",4,"煯煰煱煴煵煶煷煹煻煼煾",5,"熅",4,"熋熌熍熎熐熑熒熓熕熖熗熚",4,"熡",6,"熩熪熫熭",5,"熴熶熷熸熺",8,"燄",9,"燏",4],["a040","燖",9,"燡燢燣燤燦燨",5,"燯",9,"燺",11,"爇",19],["a080","爛爜爞",9,"爩爫爭爮爯爲爳爴爺爼爾牀",6,"牉牊牋牎牏牐牑牓牔牕牗牘牚牜牞牠牣牤牥牨牪牫牬牭牰牱牳牴牶牷牸牻牼牽犂犃犅",4,"犌犎犐犑犓",11,"犠",11,"犮犱犲犳犵犺",6,"狅狆狇狉狊狋狌狏狑狓狔狕狖狘狚狛"],["a1a1","　、。·ˉˇ¨〃々—～‖…‘’“”〔〕〈",7,"〖〗【】±×÷∶∧∨∑∏∪∩∈∷√⊥∥∠⌒⊙∫∮≡≌≈∽∝≠≮≯≤≥∞∵∴♂♀°′″℃＄¤￠￡‰§№☆★○●◎◇◆□■△▲※→←↑↓〓"],["a2a1","ⅰ",9],["a2b1","⒈",19,"⑴",19,"①",9],["a2e5","㈠",9],["a2f1","Ⅰ",11],["a3a1","！＂＃￥％",88,"￣"],["a4a1","ぁ",82],["a5a1","ァ",85],["a6a1","Α",16,"Σ",6],["a6c1","α",16,"σ",6],["a6e0","︵︶︹︺︿﹀︽︾﹁﹂﹃﹄"],["a6ee","︻︼︷︸︱"],["a6f4","︳︴"],["a7a1","А",5,"ЁЖ",25],["a7d1","а",5,"ёж",25],["a840","ˊˋ˙–―‥‵℅℉↖↗↘↙∕∟∣≒≦≧⊿═",35,"▁",6],["a880","█",7,"▓▔▕▼▽◢◣◤◥☉⊕〒〝〞"],["a8a1","āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜüêɑ"],["a8bd","ńň"],["a8c0","ɡ"],["a8c5","ㄅ",36],["a940","〡",8,"㊣㎎㎏㎜㎝㎞㎡㏄㏎㏑㏒㏕︰￢￤"],["a959","℡㈱"],["a95c","‐"],["a960","ー゛゜ヽヾ〆ゝゞ﹉",9,"﹔﹕﹖﹗﹙",8],["a980","﹢",4,"﹨﹩﹪﹫"],["a996","〇"],["a9a4","─",75],["aa40","狜狝狟狢",5,"狪狫狵狶狹狽狾狿猀猂猄",5,"猋猌猍猏猐猑猒猔猘猙猚猟猠猣猤猦猧猨猭猯猰猲猳猵猶猺猻猼猽獀",8],["aa80","獉獊獋獌獎獏獑獓獔獕獖獘",7,"獡",10,"獮獰獱"],["ab40","獲",11,"獿",4,"玅玆玈玊玌玍玏玐玒玓玔玕玗玘玙玚玜玝玞玠玡玣",5,"玪玬玭玱玴玵玶玸玹玼玽玾玿珁珃",4],["ab80","珋珌珎珒",6,"珚珛珜珝珟珡珢珣珤珦珨珪珫珬珮珯珰珱珳",4],["ac40","珸",10,"琄琇琈琋琌琍琎琑",8,"琜",5,"琣琤琧琩琫琭琯琱琲琷",4,"琽琾琿瑀瑂",11],["ac80","瑎",6,"瑖瑘瑝瑠",12,"瑮瑯瑱",4,"瑸瑹瑺"],["ad40","瑻瑼瑽瑿璂璄璅璆璈璉璊璌璍璏璑",10,"璝璟",7,"璪",15,"璻",12],["ad80","瓈",9,"瓓",8,"瓝瓟瓡瓥瓧",6,"瓰瓱瓲"],["ae40","瓳瓵瓸",6,"甀甁甂甃甅",7,"甎甐甒甔甕甖甗甛甝甞甠",4,"甦甧甪甮甴甶甹甼甽甿畁畂畃畄畆畇畉畊畍畐畑畒畓畕畖畗畘"],["ae80","畝",7,"畧畨畩畫",6,"畳畵當畷畺",4,"疀疁疂疄疅疇"],["af40","疈疉疊疌疍疎疐疓疕疘疛疜疞疢疦",4,"疭疶疷疺疻疿痀痁痆痋痌痎痏痐痑痓痗痙痚痜痝痟痠痡痥痩痬痭痮痯痲痳痵痶痷痸痺痻痽痾瘂瘄瘆瘇"],["af80","瘈瘉瘋瘍瘎瘏瘑瘒瘓瘔瘖瘚瘜瘝瘞瘡瘣瘧瘨瘬瘮瘯瘱瘲瘶瘷瘹瘺瘻瘽癁療癄"],["b040","癅",6,"癎",5,"癕癗",4,"癝癟癠癡癢癤",6,"癬癭癮癰",7,"癹発發癿皀皁皃皅皉皊皌皍皏皐皒皔皕皗皘皚皛"],["b080","皜",7,"皥",8,"皯皰皳皵",9,"盀盁盃啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥"],["b140","盄盇盉盋盌盓盕盙盚盜盝盞盠",4,"盦",7,"盰盳盵盶盷盺盻盽盿眀眂眃眅眆眊県眎",10,"眛眜眝眞眡眣眤眥眧眪眫"],["b180","眬眮眰",4,"眹眻眽眾眿睂睄睅睆睈",7,"睒",7,"睜薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑北辈背贝钡倍狈备惫焙被奔苯本笨崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛鞭边编贬扁便变卞辨辩辫遍标彪膘表鳖憋别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳"],["b240","睝睞睟睠睤睧睩睪睭",11,"睺睻睼瞁瞂瞃瞆",5,"瞏瞐瞓",11,"瞡瞣瞤瞦瞨瞫瞭瞮瞯瞱瞲瞴瞶",4],["b280","瞼瞾矀",12,"矎",8,"矘矙矚矝",4,"矤病并玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳捕卜哺补埠不布步簿部怖擦猜裁材才财睬踩采彩菜蔡餐参蚕残惭惨灿苍舱仓沧藏操糙槽曹草厕策侧册测层蹭插叉茬茶查碴搽察岔差诧拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖"],["b340","矦矨矪矯矰矱矲矴矵矷矹矺矻矼砃",5,"砊砋砎砏砐砓砕砙砛砞砠砡砢砤砨砪砫砮砯砱砲砳砵砶砽砿硁硂硃硄硆硈硉硊硋硍硏硑硓硔硘硙硚"],["b380","硛硜硞",11,"硯",7,"硸硹硺硻硽",6,"场尝常长偿肠厂敞畅唱倡超抄钞朝嘲潮巢吵炒车扯撤掣彻澈郴臣辰尘晨忱沉陈趁衬撑称城橙成呈乘程惩澄诚承逞骋秤吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽充冲虫崇宠抽酬畴踌稠愁筹仇绸瞅丑臭初出橱厨躇锄雏滁除楚"],["b440","碄碅碆碈碊碋碏碐碒碔碕碖碙碝碞碠碢碤碦碨",7,"碵碶碷碸確碻碼碽碿磀磂磃磄磆磇磈磌磍磎磏磑磒磓磖磗磘磚",9],["b480","磤磥磦磧磩磪磫磭",4,"磳磵磶磸磹磻",5,"礂礃礄礆",6,"础储矗搐触处揣川穿椽传船喘串疮窗幢床闯创吹炊捶锤垂春椿醇唇淳纯蠢戳绰疵茨磁雌辞慈瓷词此刺赐次聪葱囱匆从丛凑粗醋簇促蹿篡窜摧崔催脆瘁粹淬翠村存寸磋撮搓措挫错搭达答瘩打大呆歹傣戴带殆代贷袋待逮"],["b540","礍",5,"礔",9,"礟",4,"礥",14,"礵",4,"礽礿祂祃祄祅祇祊",8,"祔祕祘祙祡祣"],["b580","祤祦祩祪祫祬祮祰",6,"祹祻",4,"禂禃禆禇禈禉禋禌禍禎禐禑禒怠耽担丹单郸掸胆旦氮但惮淡诞弹蛋当挡党荡档刀捣蹈倒岛祷导到稻悼道盗德得的蹬灯登等瞪凳邓堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔颠掂滇碘点典靛垫电佃甸店惦奠淀殿碉叼雕凋刁掉吊钓调跌爹碟蝶迭谍叠"],["b640","禓",6,"禛",11,"禨",10,"禴",4,"禼禿秂秄秅秇秈秊秌秎秏秐秓秔秖秗秙",5,"秠秡秢秥秨秪"],["b680","秬秮秱",6,"秹秺秼秾秿稁稄稅稇稈稉稊稌稏",4,"稕稖稘稙稛稜丁盯叮钉顶鼎锭定订丢东冬董懂动栋侗恫冻洞兜抖斗陡豆逗痘都督毒犊独读堵睹赌杜镀肚度渡妒端短锻段断缎堆兑队对墩吨蹲敦顿囤钝盾遁掇哆多夺垛躲朵跺舵剁惰堕蛾峨鹅俄额讹娥恶厄扼遏鄂饿恩而儿耳尔饵洱二"],["b740","稝稟稡稢稤",14,"稴稵稶稸稺稾穀",5,"穇",9,"穒",4,"穘",16],["b780","穩",6,"穱穲穳穵穻穼穽穾窂窅窇窉窊窋窌窎窏窐窓窔窙窚窛窞窡窢贰发罚筏伐乏阀法珐藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛坊芳方肪房防妨仿访纺放菲非啡飞肥匪诽吠肺废沸费芬酚吩氛分纷坟焚汾粉奋份忿愤粪丰封枫蜂峰锋风疯烽逢冯缝讽奉凤佛否夫敷肤孵扶拂辐幅氟符伏俘服"],["b840","窣窤窧窩窪窫窮",4,"窴",10,"竀",10,"竌",9,"竗竘竚竛竜竝竡竢竤竧",5,"竮竰竱竲竳"],["b880","竴",4,"竻竼竾笀笁笂笅笇笉笌笍笎笐笒笓笖笗笘笚笜笝笟笡笢笣笧笩笭浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐噶嘎该改概钙盖溉干甘杆柑竿肝赶感秆敢赣冈刚钢缸肛纲岗港杠篙皋高膏羔糕搞镐稿告哥歌搁戈鸽胳疙割革葛格蛤阁隔铬个各给根跟耕更庚羹"],["b940","笯笰笲笴笵笶笷笹笻笽笿",5,"筆筈筊筍筎筓筕筗筙筜筞筟筡筣",10,"筯筰筳筴筶筸筺筼筽筿箁箂箃箄箆",6,"箎箏"],["b980","箑箒箓箖箘箙箚箛箞箟箠箣箤箥箮箯箰箲箳箵箶箷箹",7,"篂篃範埂耿梗工攻功恭龚供躬公宫弓巩汞拱贡共钩勾沟苟狗垢构购够辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇刮瓜剐寡挂褂乖拐怪棺关官冠观管馆罐惯灌贯光广逛瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽辊滚棍锅郭国果裹过哈"],["ba40","篅篈築篊篋篍篎篏篐篒篔",4,"篛篜篞篟篠篢篣篤篧篨篩篫篬篭篯篰篲",4,"篸篹篺篻篽篿",7,"簈簉簊簍簎簐",5,"簗簘簙"],["ba80","簚",4,"簠",5,"簨簩簫",12,"簹",5,"籂骸孩海氦亥害骇酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉夯杭航壕嚎豪毫郝好耗号浩呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺嘿黑痕很狠恨哼亨横衡恒轰哄烘虹鸿洪宏弘红喉侯猴吼厚候后呼乎忽瑚壶葫胡蝴狐糊湖"],["bb40","籃",9,"籎",36,"籵",5,"籾",9],["bb80","粈粊",6,"粓粔粖粙粚粛粠粡粣粦粧粨粩粫粬粭粯粰粴",4,"粺粻弧虎唬护互沪户花哗华猾滑画划化话槐徊怀淮坏欢环桓还缓换患唤痪豢焕涣宦幻荒慌黄磺蝗簧皇凰惶煌晃幌恍谎灰挥辉徽恢蛔回毁悔慧卉惠晦贿秽会烩汇讳诲绘荤昏婚魂浑混豁活伙火获或惑霍货祸击圾基机畸稽积箕"],["bc40","粿糀糂糃糄糆糉糋糎",6,"糘糚糛糝糞糡",6,"糩",5,"糰",7,"糹糺糼",13,"紋",5],["bc80","紑",14,"紡紣紤紥紦紨紩紪紬紭紮細",6,"肌饥迹激讥鸡姬绩缉吉极棘辑籍集及急疾汲即嫉级挤几脊己蓟技冀季伎祭剂悸济寄寂计记既忌际妓继纪嘉枷夹佳家加荚颊贾甲钾假稼价架驾嫁歼监坚尖笺间煎兼肩艰奸缄茧检柬碱硷拣捡简俭剪减荐槛鉴践贱见键箭件"],["bd40","紷",54,"絯",7],["bd80","絸",32,"健舰剑饯渐溅涧建僵姜将浆江疆蒋桨奖讲匠酱降蕉椒礁焦胶交郊浇骄娇嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较叫窖揭接皆秸街阶截劫节桔杰捷睫竭洁结解姐戒藉芥界借介疥诫届巾筋斤金今津襟紧锦仅谨进靳晋禁近烬浸"],["be40","継",12,"綧",6,"綯",42],["be80","線",32,"尽劲荆兢茎睛晶鲸京惊精粳经井警景颈静境敬镜径痉靖竟竞净炯窘揪究纠玖韭久灸九酒厩救旧臼舅咎就疚鞠拘狙疽居驹菊局咀矩举沮聚拒据巨具距踞锯俱句惧炬剧捐鹃娟倦眷卷绢撅攫抉掘倔爵觉决诀绝均菌钧军君峻"],["bf40","緻",62],["bf80","縺縼",4,"繂",4,"繈",21,"俊竣浚郡骏喀咖卡咯开揩楷凯慨刊堪勘坎砍看康慷糠扛抗亢炕考拷烤靠坷苛柯棵磕颗科壳咳可渴克刻客课肯啃垦恳坑吭空恐孔控抠口扣寇枯哭窟苦酷库裤夸垮挎跨胯块筷侩快宽款匡筐狂框矿眶旷况亏盔岿窥葵奎魁傀"],["c040","繞",35,"纃",23,"纜纝纞"],["c080","纮纴纻纼绖绤绬绹缊缐缞缷缹缻",6,"罃罆",9,"罒罓馈愧溃坤昆捆困括扩廓阔垃拉喇蜡腊辣啦莱来赖蓝婪栏拦篮阑兰澜谰揽览懒缆烂滥琅榔狼廊郎朗浪捞劳牢老佬姥酪烙涝勒乐雷镭蕾磊累儡垒擂肋类泪棱楞冷厘梨犁黎篱狸离漓理李里鲤礼莉荔吏栗丽厉励砾历利傈例俐"],["c140","罖罙罛罜罝罞罠罣",4,"罫罬罭罯罰罳罵罶罷罸罺罻罼罽罿羀羂",7,"羋羍羏",4,"羕",4,"羛羜羠羢羣羥羦羨",6,"羱"],["c180","羳",4,"羺羻羾翀翂翃翄翆翇翈翉翋翍翏",4,"翖翗翙",5,"翢翣痢立粒沥隶力璃哩俩联莲连镰廉怜涟帘敛脸链恋炼练粮凉梁粱良两辆量晾亮谅撩聊僚疗燎寥辽潦了撂镣廖料列裂烈劣猎琳林磷霖临邻鳞淋凛赁吝拎玲菱零龄铃伶羚凌灵陵岭领另令溜琉榴硫馏留刘瘤流柳六龙聋咙笼窿"],["c240","翤翧翨翪翫翬翭翯翲翴",6,"翽翾翿耂耇耈耉耊耎耏耑耓耚耛耝耞耟耡耣耤耫",5,"耲耴耹耺耼耾聀聁聄聅聇聈聉聎聏聐聑聓聕聖聗"],["c280","聙聛",13,"聫",5,"聲",11,"隆垄拢陇楼娄搂篓漏陋芦卢颅庐炉掳卤虏鲁麓碌露路赂鹿潞禄录陆戮驴吕铝侣旅履屡缕虑氯律率滤绿峦挛孪滦卵乱掠略抡轮伦仑沦纶论萝螺罗逻锣箩骡裸落洛骆络妈麻玛码蚂马骂嘛吗埋买麦卖迈脉瞒馒蛮满蔓曼慢漫"],["c340","聾肁肂肅肈肊肍",5,"肔肕肗肙肞肣肦肧肨肬肰肳肵肶肸肹肻胅胇",4,"胏",6,"胘胟胠胢胣胦胮胵胷胹胻胾胿脀脁脃脄脅脇脈脋"],["c380","脌脕脗脙脛脜脝脟",12,"脭脮脰脳脴脵脷脹",4,"脿谩芒茫盲氓忙莽猫茅锚毛矛铆卯茂冒帽貌贸么玫枚梅酶霉煤没眉媒镁每美昧寐妹媚门闷们萌蒙檬盟锰猛梦孟眯醚靡糜迷谜弥米秘觅泌蜜密幂棉眠绵冕免勉娩缅面苗描瞄藐秒渺庙妙蔑灭民抿皿敏悯闽明螟鸣铭名命谬摸"],["c440","腀",5,"腇腉腍腎腏腒腖腗腘腛",4,"腡腢腣腤腦腨腪腫腬腯腲腳腵腶腷腸膁膃",4,"膉膋膌膍膎膐膒",5,"膙膚膞",4,"膤膥"],["c480","膧膩膫",7,"膴",5,"膼膽膾膿臄臅臇臈臉臋臍",6,"摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌谋牟某拇牡亩姆母墓暮幕募慕木目睦牧穆拿哪呐钠那娜纳氖乃奶耐奈南男难囊挠脑恼闹淖呢馁内嫩能妮霓倪泥尼拟你匿腻逆溺蔫拈年碾撵捻念娘酿鸟尿捏聂孽啮镊镍涅您柠狞凝宁"],["c540","臔",14,"臤臥臦臨臩臫臮",4,"臵",5,"臽臿舃與",4,"舎舏舑舓舕",5,"舝舠舤舥舦舧舩舮舲舺舼舽舿"],["c580","艀艁艂艃艅艆艈艊艌艍艎艐",7,"艙艛艜艝艞艠",7,"艩拧泞牛扭钮纽脓浓农弄奴努怒女暖虐疟挪懦糯诺哦欧鸥殴藕呕偶沤啪趴爬帕怕琶拍排牌徘湃派攀潘盘磐盼畔判叛乓庞旁耪胖抛咆刨炮袍跑泡呸胚培裴赔陪配佩沛喷盆砰抨烹澎彭蓬棚硼篷膨朋鹏捧碰坯砒霹批披劈琵毗"],["c640","艪艫艬艭艱艵艶艷艸艻艼芀芁芃芅芆芇芉芌芐芓芔芕芖芚芛芞芠芢芣芧芲芵芶芺芻芼芿苀苂苃苅苆苉苐苖苙苚苝苢苧苨苩苪苬苭苮苰苲苳苵苶苸"],["c680","苺苼",4,"茊茋茍茐茒茓茖茘茙茝",9,"茩茪茮茰茲茷茻茽啤脾疲皮匹痞僻屁譬篇偏片骗飘漂瓢票撇瞥拼频贫品聘乒坪苹萍平凭瓶评屏坡泼颇婆破魄迫粕剖扑铺仆莆葡菩蒲埔朴圃普浦谱曝瀑期欺栖戚妻七凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑起岂乞企启契砌器气迄弃汽泣讫掐"],["c740","茾茿荁荂荄荅荈荊",4,"荓荕",4,"荝荢荰",6,"荹荺荾",6,"莇莈莊莋莌莍莏莐莑莔莕莖莗莙莚莝莟莡",6,"莬莭莮"],["c780","莯莵莻莾莿菂菃菄菆菈菉菋菍菎菐菑菒菓菕菗菙菚菛菞菢菣菤菦菧菨菫菬菭恰洽牵扦钎铅千迁签仟谦乾黔钱钳前潜遣浅谴堑嵌欠歉枪呛腔羌墙蔷强抢橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍切茄且怯窃钦侵亲秦琴勤芹擒禽寝沁青轻氢倾卿清擎晴氰情顷请庆琼穷秋丘邱球求囚酋泅趋区蛆曲躯屈驱渠"],["c840","菮華菳",4,"菺菻菼菾菿萀萂萅萇萈萉萊萐萒",5,"萙萚萛萞",5,"萩",7,"萲",5,"萹萺萻萾",7,"葇葈葉"],["c880","葊",6,"葒",4,"葘葝葞葟葠葢葤",4,"葪葮葯葰葲葴葷葹葻葼取娶龋趣去圈颧权醛泉全痊拳犬券劝缺炔瘸却鹊榷确雀裙群然燃冉染瓤壤攘嚷让饶扰绕惹热壬仁人忍韧任认刃妊纫扔仍日戎茸蓉荣融熔溶容绒冗揉柔肉茹蠕儒孺如辱乳汝入褥软阮蕊瑞锐闰润若弱撒洒萨腮鳃塞赛三叁"],["c940","葽",4,"蒃蒄蒅蒆蒊蒍蒏",7,"蒘蒚蒛蒝蒞蒟蒠蒢",12,"蒰蒱蒳蒵蒶蒷蒻蒼蒾蓀蓂蓃蓅蓆蓇蓈蓋蓌蓎蓏蓒蓔蓕蓗"],["c980","蓘",4,"蓞蓡蓢蓤蓧",4,"蓭蓮蓯蓱",10,"蓽蓾蔀蔁蔂伞散桑嗓丧搔骚扫嫂瑟色涩森僧莎砂杀刹沙纱傻啥煞筛晒珊苫杉山删煽衫闪陕擅赡膳善汕扇缮墒伤商赏晌上尚裳梢捎稍烧芍勺韶少哨邵绍奢赊蛇舌舍赦摄射慑涉社设砷申呻伸身深娠绅神沈审婶甚肾慎渗声生甥牲升绳"],["ca40","蔃",8,"蔍蔎蔏蔐蔒蔔蔕蔖蔘蔙蔛蔜蔝蔞蔠蔢",8,"蔭",9,"蔾",4,"蕄蕅蕆蕇蕋",10],["ca80","蕗蕘蕚蕛蕜蕝蕟",4,"蕥蕦蕧蕩",8,"蕳蕵蕶蕷蕸蕼蕽蕿薀薁省盛剩胜圣师失狮施湿诗尸虱十石拾时什食蚀实识史矢使屎驶始式示士世柿事拭誓逝势是嗜噬适仕侍释饰氏市恃室视试收手首守寿授售受瘦兽蔬枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙署蜀黍鼠属术述树束戍竖墅庶数漱"],["cb40","薂薃薆薈",6,"薐",10,"薝",6,"薥薦薧薩薫薬薭薱",5,"薸薺",6,"藂",6,"藊",4,"藑藒"],["cb80","藔藖",5,"藝",6,"藥藦藧藨藪",14,"恕刷耍摔衰甩帅栓拴霜双爽谁水睡税吮瞬顺舜说硕朔烁斯撕嘶思私司丝死肆寺嗣四伺似饲巳松耸怂颂送宋讼诵搜艘擞嗽苏酥俗素速粟僳塑溯宿诉肃酸蒜算虽隋随绥髓碎岁穗遂隧祟孙损笋蓑梭唆缩琐索锁所塌他它她塔"],["cc40","藹藺藼藽藾蘀",4,"蘆",10,"蘒蘓蘔蘕蘗",15,"蘨蘪",13,"蘹蘺蘻蘽蘾蘿虀"],["cc80","虁",11,"虒虓處",4,"虛虜虝號虠虡虣",7,"獭挞蹋踏胎苔抬台泰酞太态汰坍摊贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭汤塘搪堂棠膛唐糖倘躺淌趟烫掏涛滔绦萄桃逃淘陶讨套特藤腾疼誊梯剔踢锑提题蹄啼体替嚏惕涕剃屉天添填田甜恬舔腆挑条迢眺跳贴铁帖厅听烃"],["cd40","虭虯虰虲",6,"蚃",6,"蚎",4,"蚔蚖",5,"蚞",4,"蚥蚦蚫蚭蚮蚲蚳蚷蚸蚹蚻",4,"蛁蛂蛃蛅蛈蛌蛍蛒蛓蛕蛖蛗蛚蛜"],["cd80","蛝蛠蛡蛢蛣蛥蛦蛧蛨蛪蛫蛬蛯蛵蛶蛷蛺蛻蛼蛽蛿蜁蜄蜅蜆蜋蜌蜎蜏蜐蜑蜔蜖汀廷停亭庭挺艇通桐酮瞳同铜彤童桶捅筒统痛偷投头透凸秃突图徒途涂屠土吐兔湍团推颓腿蜕褪退吞屯臀拖托脱鸵陀驮驼椭妥拓唾挖哇蛙洼娃瓦袜歪外豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕汪王亡枉网往旺望忘妄威"],["ce40","蜙蜛蜝蜟蜠蜤蜦蜧蜨蜪蜫蜬蜭蜯蜰蜲蜳蜵蜶蜸蜹蜺蜼蜽蝀",6,"蝊蝋蝍蝏蝐蝑蝒蝔蝕蝖蝘蝚",5,"蝡蝢蝦",7,"蝯蝱蝲蝳蝵"],["ce80","蝷蝸蝹蝺蝿螀螁螄螆螇螉螊螌螎",4,"螔螕螖螘",6,"螠",4,"巍微危韦违桅围唯惟为潍维苇萎委伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰卫瘟温蚊文闻纹吻稳紊问嗡翁瓮挝蜗涡窝我斡卧握沃巫呜钨乌污诬屋无芜梧吾吴毋武五捂午舞伍侮坞戊雾晤物勿务悟误昔熙析西硒矽晰嘻吸锡牺"],["cf40","螥螦螧螩螪螮螰螱螲螴螶螷螸螹螻螼螾螿蟁",4,"蟇蟈蟉蟌",4,"蟔",6,"蟜蟝蟞蟟蟡蟢蟣蟤蟦蟧蟨蟩蟫蟬蟭蟯",9],["cf80","蟺蟻蟼蟽蟿蠀蠁蠂蠄",5,"蠋",7,"蠔蠗蠘蠙蠚蠜",4,"蠣稀息希悉膝夕惜熄烯溪汐犀檄袭席习媳喜铣洗系隙戏细瞎虾匣霞辖暇峡侠狭下厦夏吓掀锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷限线相厢镶香箱襄湘乡翔祥详想响享项巷橡像向象萧硝霄削哮嚣销消宵淆晓"],["d040","蠤",13,"蠳",5,"蠺蠻蠽蠾蠿衁衂衃衆",5,"衎",5,"衕衖衘衚",6,"衦衧衪衭衯衱衳衴衵衶衸衹衺"],["d080","衻衼袀袃袆袇袉袊袌袎袏袐袑袓袔袕袗",4,"袝",4,"袣袥",5,"小孝校肖啸笑效楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑薪芯锌欣辛新忻心信衅星腥猩惺兴刑型形邢行醒幸杏性姓兄凶胸匈汹雄熊休修羞朽嗅锈秀袖绣墟戌需虚嘘须徐许蓄酗叙旭序畜恤絮婿绪续轩喧宣悬旋玄"],["d140","袬袮袯袰袲",4,"袸袹袺袻袽袾袿裀裃裄裇裈裊裋裌裍裏裐裑裓裖裗裚",4,"裠裡裦裧裩",6,"裲裵裶裷裺裻製裿褀褁褃",5],["d180","褉褋",4,"褑褔",4,"褜",4,"褢褣褤褦褧褨褩褬褭褮褯褱褲褳褵褷选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶"],["d240","褸",8,"襂襃襅",24,"襠",5,"襧",19,"襼"],["d280","襽襾覀覂覄覅覇",26,"摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐"],["d340","覢",30,"觃觍觓觔觕觗觘觙觛觝觟觠觡觢觤觧觨觩觪觬觭觮觰觱觲觴",6],["d380","觻",4,"訁",5,"計",21,"印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉"],["d440","訞",31,"訿",8,"詉",21],["d480","詟",25,"詺",6,"浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧"],["d540","誁",7,"誋",7,"誔",46],["d580","諃",32,"铡闸眨栅榨咋乍炸诈摘斋宅窄债寨瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽樟章彰漳张掌涨杖丈帐账仗胀瘴障招昭找沼赵照罩兆肇召遮折哲蛰辙者锗蔗这浙珍斟真甄砧臻贞针侦枕疹诊震振镇阵蒸挣睁征狰争怔整拯正政"],["d640","諤",34,"謈",27],["d680","謤謥謧",30,"帧症郑证芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒中盅忠钟衷终种肿重仲众舟周州洲诌粥轴肘帚咒皱宙昼骤珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑"],["d740","譆",31,"譧",4,"譭",25],["d780","讇",24,"讬讱讻诇诐诪谉谞住注祝驻抓爪拽专砖转撰赚篆桩庄装妆撞壮状椎锥追赘坠缀谆准捉拙卓桌琢茁酌啄着灼浊兹咨资姿滋淄孜紫仔籽滓子自渍字鬃棕踪宗综总纵邹走奏揍租足卒族祖诅阻组钻纂嘴醉最罪尊遵昨左佐柞做作坐座"],["d840","谸",8,"豂豃豄豅豈豊豋豍",7,"豖豗豘豙豛",5,"豣",6,"豬",6,"豴豵豶豷豻",6,"貃貄貆貇"],["d880","貈貋貍",6,"貕貖貗貙",20,"亍丌兀丐廿卅丕亘丞鬲孬噩丨禺丿匕乇夭爻卮氐囟胤馗毓睾鼗丶亟鼐乜乩亓芈孛啬嘏仄厍厝厣厥厮靥赝匚叵匦匮匾赜卦卣刂刈刎刭刳刿剀剌剞剡剜蒯剽劂劁劐劓冂罔亻仃仉仂仨仡仫仞伛仳伢佤仵伥伧伉伫佞佧攸佚佝"],["d940","貮",62],["d980","賭",32,"佟佗伲伽佶佴侑侉侃侏佾佻侪佼侬侔俦俨俪俅俚俣俜俑俟俸倩偌俳倬倏倮倭俾倜倌倥倨偾偃偕偈偎偬偻傥傧傩傺僖儆僭僬僦僮儇儋仝氽佘佥俎龠汆籴兮巽黉馘冁夔勹匍訇匐凫夙兕亠兖亳衮袤亵脔裒禀嬴蠃羸冫冱冽冼"],["da40","贎",14,"贠赑赒赗赟赥赨赩赪赬赮赯赱赲赸",8,"趂趃趆趇趈趉趌",4,"趒趓趕",9,"趠趡"],["da80","趢趤",12,"趲趶趷趹趻趽跀跁跂跅跇跈跉跊跍跐跒跓跔凇冖冢冥讠讦讧讪讴讵讷诂诃诋诏诎诒诓诔诖诘诙诜诟诠诤诨诩诮诰诳诶诹诼诿谀谂谄谇谌谏谑谒谔谕谖谙谛谘谝谟谠谡谥谧谪谫谮谯谲谳谵谶卩卺阝阢阡阱阪阽阼陂陉陔陟陧陬陲陴隈隍隗隰邗邛邝邙邬邡邴邳邶邺"],["db40","跕跘跙跜跠跡跢跥跦跧跩跭跮跰跱跲跴跶跼跾",6,"踆踇踈踋踍踎踐踑踒踓踕",7,"踠踡踤",4,"踫踭踰踲踳踴踶踷踸踻踼踾"],["db80","踿蹃蹅蹆蹌",4,"蹓",5,"蹚",11,"蹧蹨蹪蹫蹮蹱邸邰郏郅邾郐郄郇郓郦郢郜郗郛郫郯郾鄄鄢鄞鄣鄱鄯鄹酃酆刍奂劢劬劭劾哿勐勖勰叟燮矍廴凵凼鬯厶弁畚巯坌垩垡塾墼壅壑圩圬圪圳圹圮圯坜圻坂坩垅坫垆坼坻坨坭坶坳垭垤垌垲埏垧垴垓垠埕埘埚埙埒垸埴埯埸埤埝"],["dc40","蹳蹵蹷",4,"蹽蹾躀躂躃躄躆躈",6,"躑躒躓躕",6,"躝躟",11,"躭躮躰躱躳",6,"躻",7],["dc80","軃",10,"軏",21,"堋堍埽埭堀堞堙塄堠塥塬墁墉墚墀馨鼙懿艹艽艿芏芊芨芄芎芑芗芙芫芸芾芰苈苊苣芘芷芮苋苌苁芩芴芡芪芟苄苎芤苡茉苷苤茏茇苜苴苒苘茌苻苓茑茚茆茔茕苠苕茜荑荛荜茈莒茼茴茱莛荞茯荏荇荃荟荀茗荠茭茺茳荦荥"],["dd40","軥",62],["dd80","輤",32,"荨茛荩荬荪荭荮莰荸莳莴莠莪莓莜莅荼莶莩荽莸荻莘莞莨莺莼菁萁菥菘堇萘萋菝菽菖萜萸萑萆菔菟萏萃菸菹菪菅菀萦菰菡葜葑葚葙葳蒇蒈葺蒉葸萼葆葩葶蒌蒎萱葭蓁蓍蓐蓦蒽蓓蓊蒿蒺蓠蒡蒹蒴蒗蓥蓣蔌甍蔸蓰蔹蔟蔺"],["de40","轅",32,"轪辀辌辒辝辠辡辢辤辥辦辧辪辬辭辮辯農辳辴辵辷辸辺辻込辿迀迃迆"],["de80","迉",4,"迏迒迖迗迚迠迡迣迧迬迯迱迲迴迵迶迺迻迼迾迿逇逈逌逎逓逕逘蕖蔻蓿蓼蕙蕈蕨蕤蕞蕺瞢蕃蕲蕻薤薨薇薏蕹薮薜薅薹薷薰藓藁藜藿蘧蘅蘩蘖蘼廾弈夼奁耷奕奚奘匏尢尥尬尴扌扪抟抻拊拚拗拮挢拶挹捋捃掭揶捱捺掎掴捭掬掊捩掮掼揲揸揠揿揄揞揎摒揆掾摅摁搋搛搠搌搦搡摞撄摭撖"],["df40","這逜連逤逥逧",5,"逰",4,"逷逹逺逽逿遀遃遅遆遈",4,"過達違遖遙遚遜",5,"遤遦遧適遪遫遬遯",4,"遶",6,"遾邁"],["df80","還邅邆邇邉邊邌",4,"邒邔邖邘邚邜邞邟邠邤邥邧邨邩邫邭邲邷邼邽邿郀摺撷撸撙撺擀擐擗擤擢攉攥攮弋忒甙弑卟叱叽叩叨叻吒吖吆呋呒呓呔呖呃吡呗呙吣吲咂咔呷呱呤咚咛咄呶呦咝哐咭哂咴哒咧咦哓哔呲咣哕咻咿哌哙哚哜咩咪咤哝哏哞唛哧唠哽唔哳唢唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼"],["e040","郂郃郆郈郉郋郌郍郒郔郕郖郘郙郚郞郟郠郣郤郥郩郪郬郮郰郱郲郳郵郶郷郹郺郻郼郿鄀鄁鄃鄅",19,"鄚鄛鄜"],["e080","鄝鄟鄠鄡鄤",10,"鄰鄲",6,"鄺",8,"酄唷啖啵啶啷唳唰啜喋嗒喃喱喹喈喁喟啾嗖喑啻嗟喽喾喔喙嗪嗷嗉嘟嗑嗫嗬嗔嗦嗝嗄嗯嗥嗲嗳嗌嗍嗨嗵嗤辔嘞嘈嘌嘁嘤嘣嗾嘀嘧嘭噘嘹噗嘬噍噢噙噜噌噔嚆噤噱噫噻噼嚅嚓嚯囔囗囝囡囵囫囹囿圄圊圉圜帏帙帔帑帱帻帼"],["e140","酅酇酈酑酓酔酕酖酘酙酛酜酟酠酦酧酨酫酭酳酺酻酼醀",4,"醆醈醊醎醏醓",6,"醜",5,"醤",5,"醫醬醰醱醲醳醶醷醸醹醻"],["e180","醼",10,"釈釋釐釒",9,"針",8,"帷幄幔幛幞幡岌屺岍岐岖岈岘岙岑岚岜岵岢岽岬岫岱岣峁岷峄峒峤峋峥崂崃崧崦崮崤崞崆崛嵘崾崴崽嵬嵛嵯嵝嵫嵋嵊嵩嵴嶂嶙嶝豳嶷巅彳彷徂徇徉後徕徙徜徨徭徵徼衢彡犭犰犴犷犸狃狁狎狍狒狨狯狩狲狴狷猁狳猃狺"],["e240","釦",62],["e280","鈥",32,"狻猗猓猡猊猞猝猕猢猹猥猬猸猱獐獍獗獠獬獯獾舛夥飧夤夂饣饧",5,"饴饷饽馀馄馇馊馍馐馑馓馔馕庀庑庋庖庥庠庹庵庾庳赓廒廑廛廨廪膺忄忉忖忏怃忮怄忡忤忾怅怆忪忭忸怙怵怦怛怏怍怩怫怊怿怡恸恹恻恺恂"],["e340","鉆",45,"鉵",16],["e380","銆",7,"銏",24,"恪恽悖悚悭悝悃悒悌悛惬悻悱惝惘惆惚悴愠愦愕愣惴愀愎愫慊慵憬憔憧憷懔懵忝隳闩闫闱闳闵闶闼闾阃阄阆阈阊阋阌阍阏阒阕阖阗阙阚丬爿戕氵汔汜汊沣沅沐沔沌汨汩汴汶沆沩泐泔沭泷泸泱泗沲泠泖泺泫泮沱泓泯泾"],["e440","銨",5,"銯",24,"鋉",31],["e480","鋩",32,"洹洧洌浃浈洇洄洙洎洫浍洮洵洚浏浒浔洳涑浯涞涠浞涓涔浜浠浼浣渚淇淅淞渎涿淠渑淦淝淙渖涫渌涮渫湮湎湫溲湟溆湓湔渲渥湄滟溱溘滠漭滢溥溧溽溻溷滗溴滏溏滂溟潢潆潇漤漕滹漯漶潋潴漪漉漩澉澍澌潸潲潼潺濑"],["e540","錊",51,"錿",10],["e580","鍊",31,"鍫濉澧澹澶濂濡濮濞濠濯瀚瀣瀛瀹瀵灏灞宀宄宕宓宥宸甯骞搴寤寮褰寰蹇謇辶迓迕迥迮迤迩迦迳迨逅逄逋逦逑逍逖逡逵逶逭逯遄遑遒遐遨遘遢遛暹遴遽邂邈邃邋彐彗彖彘尻咫屐屙孱屣屦羼弪弩弭艴弼鬻屮妁妃妍妩妪妣"],["e640","鍬",34,"鎐",27],["e680","鎬",29,"鏋鏌鏍妗姊妫妞妤姒妲妯姗妾娅娆姝娈姣姘姹娌娉娲娴娑娣娓婀婧婊婕娼婢婵胬媪媛婷婺媾嫫媲嫒嫔媸嫠嫣嫱嫖嫦嫘嫜嬉嬗嬖嬲嬷孀尕尜孚孥孳孑孓孢驵驷驸驺驿驽骀骁骅骈骊骐骒骓骖骘骛骜骝骟骠骢骣骥骧纟纡纣纥纨纩"],["e740","鏎",7,"鏗",54],["e780","鐎",32,"纭纰纾绀绁绂绉绋绌绐绔绗绛绠绡绨绫绮绯绱绲缍绶绺绻绾缁缂缃缇缈缋缌缏缑缒缗缙缜缛缟缡",6,"缪缫缬缭缯",4,"缵幺畿巛甾邕玎玑玮玢玟珏珂珑玷玳珀珉珈珥珙顼琊珩珧珞玺珲琏琪瑛琦琥琨琰琮琬"],["e840","鐯",14,"鐿",43,"鑬鑭鑮鑯"],["e880","鑰",20,"钑钖钘铇铏铓铔铚铦铻锜锠琛琚瑁瑜瑗瑕瑙瑷瑭瑾璜璎璀璁璇璋璞璨璩璐璧瓒璺韪韫韬杌杓杞杈杩枥枇杪杳枘枧杵枨枞枭枋杷杼柰栉柘栊柩枰栌柙枵柚枳柝栀柃枸柢栎柁柽栲栳桠桡桎桢桄桤梃栝桕桦桁桧桀栾桊桉栩梵梏桴桷梓桫棂楮棼椟椠棹"],["e940","锧锳锽镃镈镋镕镚镠镮镴镵長",7,"門",42],["e980","閫",32,"椤棰椋椁楗棣椐楱椹楠楂楝榄楫榀榘楸椴槌榇榈槎榉楦楣楹榛榧榻榫榭槔榱槁槊槟榕槠榍槿樯槭樗樘橥槲橄樾檠橐橛樵檎橹樽樨橘橼檑檐檩檗檫猷獒殁殂殇殄殒殓殍殚殛殡殪轫轭轱轲轳轵轶轸轷轹轺轼轾辁辂辄辇辋"],["ea40","闌",27,"闬闿阇阓阘阛阞阠阣",6,"阫阬阭阯阰阷阸阹阺阾陁陃陊陎陏陑陒陓陖陗"],["ea80","陘陙陚陜陝陞陠陣陥陦陫陭",4,"陳陸",12,"隇隉隊辍辎辏辘辚軎戋戗戛戟戢戡戥戤戬臧瓯瓴瓿甏甑甓攴旮旯旰昊昙杲昃昕昀炅曷昝昴昱昶昵耆晟晔晁晏晖晡晗晷暄暌暧暝暾曛曜曦曩贲贳贶贻贽赀赅赆赈赉赇赍赕赙觇觊觋觌觎觏觐觑牮犟牝牦牯牾牿犄犋犍犏犒挈挲掰"],["eb40","隌階隑隒隓隕隖隚際隝",9,"隨",7,"隱隲隴隵隷隸隺隻隿雂雃雈雊雋雐雑雓雔雖",9,"雡",6,"雫"],["eb80","雬雭雮雰雱雲雴雵雸雺電雼雽雿霂霃霅霊霋霌霐霑霒霔霕霗",4,"霝霟霠搿擘耄毪毳毽毵毹氅氇氆氍氕氘氙氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂胄胙胍胗朐胝胫胱胴胭脍脎胲胼朕脒豚脶脞脬脘脲腈腌腓腴腙腚腱腠腩腼腽腭腧塍媵膈膂膑滕膣膪臌朦臊膻"],["ec40","霡",8,"霫霬霮霯霱霳",4,"霺霻霼霽霿",18,"靔靕靗靘靚靜靝靟靣靤靦靧靨靪",7],["ec80","靲靵靷",4,"靽",7,"鞆",4,"鞌鞎鞏鞐鞓鞕鞖鞗鞙",4,"臁膦欤欷欹歃歆歙飑飒飓飕飙飚殳彀毂觳斐齑斓於旆旄旃旌旎旒旖炀炜炖炝炻烀炷炫炱烨烊焐焓焖焯焱煳煜煨煅煲煊煸煺熘熳熵熨熠燠燔燧燹爝爨灬焘煦熹戾戽扃扈扉礻祀祆祉祛祜祓祚祢祗祠祯祧祺禅禊禚禧禳忑忐"],["ed40","鞞鞟鞡鞢鞤",6,"鞬鞮鞰鞱鞳鞵",46],["ed80","韤韥韨韮",4,"韴韷",23,"怼恝恚恧恁恙恣悫愆愍慝憩憝懋懑戆肀聿沓泶淼矶矸砀砉砗砘砑斫砭砜砝砹砺砻砟砼砥砬砣砩硎硭硖硗砦硐硇硌硪碛碓碚碇碜碡碣碲碹碥磔磙磉磬磲礅磴礓礤礞礴龛黹黻黼盱眄眍盹眇眈眚眢眙眭眦眵眸睐睑睇睃睚睨"],["ee40","頏",62],["ee80","顎",32,"睢睥睿瞍睽瞀瞌瞑瞟瞠瞰瞵瞽町畀畎畋畈畛畲畹疃罘罡罟詈罨罴罱罹羁罾盍盥蠲钅钆钇钋钊钌钍钏钐钔钗钕钚钛钜钣钤钫钪钭钬钯钰钲钴钶",4,"钼钽钿铄铈",6,"铐铑铒铕铖铗铙铘铛铞铟铠铢铤铥铧铨铪"],["ef40","顯",5,"颋颎颒颕颙颣風",37,"飏飐飔飖飗飛飜飝飠",4],["ef80","飥飦飩",30,"铩铫铮铯铳铴铵铷铹铼铽铿锃锂锆锇锉锊锍锎锏锒",4,"锘锛锝锞锟锢锪锫锩锬锱锲锴锶锷锸锼锾锿镂锵镄镅镆镉镌镎镏镒镓镔镖镗镘镙镛镞镟镝镡镢镤",8,"镯镱镲镳锺矧矬雉秕秭秣秫稆嵇稃稂稞稔"],["f040","餈",4,"餎餏餑",28,"餯",26],["f080","饊",9,"饖",12,"饤饦饳饸饹饻饾馂馃馉稹稷穑黏馥穰皈皎皓皙皤瓞瓠甬鸠鸢鸨",4,"鸲鸱鸶鸸鸷鸹鸺鸾鹁鹂鹄鹆鹇鹈鹉鹋鹌鹎鹑鹕鹗鹚鹛鹜鹞鹣鹦",6,"鹱鹭鹳疒疔疖疠疝疬疣疳疴疸痄疱疰痃痂痖痍痣痨痦痤痫痧瘃痱痼痿瘐瘀瘅瘌瘗瘊瘥瘘瘕瘙"],["f140","馌馎馚",10,"馦馧馩",47],["f180","駙",32,"瘛瘼瘢瘠癀瘭瘰瘿瘵癃瘾瘳癍癞癔癜癖癫癯翊竦穸穹窀窆窈窕窦窠窬窨窭窳衤衩衲衽衿袂袢裆袷袼裉裢裎裣裥裱褚裼裨裾裰褡褙褓褛褊褴褫褶襁襦襻疋胥皲皴矜耒耔耖耜耠耢耥耦耧耩耨耱耋耵聃聆聍聒聩聱覃顸颀颃"],["f240","駺",62],["f280","騹",32,"颉颌颍颏颔颚颛颞颟颡颢颥颦虍虔虬虮虿虺虼虻蚨蚍蚋蚬蚝蚧蚣蚪蚓蚩蚶蛄蚵蛎蚰蚺蚱蚯蛉蛏蚴蛩蛱蛲蛭蛳蛐蜓蛞蛴蛟蛘蛑蜃蜇蛸蜈蜊蜍蜉蜣蜻蜞蜥蜮蜚蜾蝈蜴蜱蜩蜷蜿螂蜢蝽蝾蝻蝠蝰蝌蝮螋蝓蝣蝼蝤蝙蝥螓螯螨蟒"],["f340","驚",17,"驲骃骉骍骎骔骕骙骦骩",6,"骲骳骴骵骹骻骽骾骿髃髄髆",4,"髍髎髏髐髒體髕髖髗髙髚髛髜"],["f380","髝髞髠髢髣髤髥髧髨髩髪髬髮髰",8,"髺髼",6,"鬄鬅鬆蟆螈螅螭螗螃螫蟥螬螵螳蟋蟓螽蟑蟀蟊蟛蟪蟠蟮蠖蠓蟾蠊蠛蠡蠹蠼缶罂罄罅舐竺竽笈笃笄笕笊笫笏筇笸笪笙笮笱笠笥笤笳笾笞筘筚筅筵筌筝筠筮筻筢筲筱箐箦箧箸箬箝箨箅箪箜箢箫箴篑篁篌篝篚篥篦篪簌篾篼簏簖簋"],["f440","鬇鬉",5,"鬐鬑鬒鬔",10,"鬠鬡鬢鬤",10,"鬰鬱鬳",7,"鬽鬾鬿魀魆魊魋魌魎魐魒魓魕",5],["f480","魛",32,"簟簪簦簸籁籀臾舁舂舄臬衄舡舢舣舭舯舨舫舸舻舳舴舾艄艉艋艏艚艟艨衾袅袈裘裟襞羝羟羧羯羰羲籼敉粑粝粜粞粢粲粼粽糁糇糌糍糈糅糗糨艮暨羿翎翕翥翡翦翩翮翳糸絷綦綮繇纛麸麴赳趄趔趑趱赧赭豇豉酊酐酎酏酤"],["f540","魼",62],["f580","鮻",32,"酢酡酰酩酯酽酾酲酴酹醌醅醐醍醑醢醣醪醭醮醯醵醴醺豕鹾趸跫踅蹙蹩趵趿趼趺跄跖跗跚跞跎跏跛跆跬跷跸跣跹跻跤踉跽踔踝踟踬踮踣踯踺蹀踹踵踽踱蹉蹁蹂蹑蹒蹊蹰蹶蹼蹯蹴躅躏躔躐躜躞豸貂貊貅貘貔斛觖觞觚觜"],["f640","鯜",62],["f680","鰛",32,"觥觫觯訾謦靓雩雳雯霆霁霈霏霎霪霭霰霾龀龃龅",5,"龌黾鼋鼍隹隼隽雎雒瞿雠銎銮鋈錾鍪鏊鎏鐾鑫鱿鲂鲅鲆鲇鲈稣鲋鲎鲐鲑鲒鲔鲕鲚鲛鲞",5,"鲥",4,"鲫鲭鲮鲰",7,"鲺鲻鲼鲽鳄鳅鳆鳇鳊鳋"],["f740","鰼",62],["f780","鱻鱽鱾鲀鲃鲄鲉鲊鲌鲏鲓鲖鲗鲘鲙鲝鲪鲬鲯鲹鲾",4,"鳈鳉鳑鳒鳚鳛鳠鳡鳌",4,"鳓鳔鳕鳗鳘鳙鳜鳝鳟鳢靼鞅鞑鞒鞔鞯鞫鞣鞲鞴骱骰骷鹘骶骺骼髁髀髅髂髋髌髑魅魃魇魉魈魍魑飨餍餮饕饔髟髡髦髯髫髻髭髹鬈鬏鬓鬟鬣麽麾縻麂麇麈麋麒鏖麝麟黛黜黝黠黟黢黩黧黥黪黯鼢鼬鼯鼹鼷鼽鼾齄"],["f840","鳣",62],["f880","鴢",32],["f940","鵃",62],["f980","鶂",32],["fa40","鶣",62],["fa80","鷢",32],["fb40","鸃",27,"鸤鸧鸮鸰鸴鸻鸼鹀鹍鹐鹒鹓鹔鹖鹙鹝鹟鹠鹡鹢鹥鹮鹯鹲鹴",9,"麀"],["fb80","麁麃麄麅麆麉麊麌",5,"麔",8,"麞麠",5,"麧麨麩麪"],["fc40","麫",8,"麵麶麷麹麺麼麿",4,"黅黆黇黈黊黋黌黐黒黓黕黖黗黙黚點黡黣黤黦黨黫黬黭黮黰",8,"黺黽黿",6],["fc80","鼆",4,"鼌鼏鼑鼒鼔鼕鼖鼘鼚",5,"鼡鼣",8,"鼭鼮鼰鼱"],["fd40","鼲",4,"鼸鼺鼼鼿",4,"齅",10,"齒",38],["fd80","齹",5,"龁龂龍",11,"龜龝龞龡",4,"郎凉秊裏隣"],["fe40","兀嗀﨎﨏﨑﨓﨔礼﨟蘒﨡﨣﨤﨧﨨﨩"]]}});var require_gbk_added=__commonJS({"node_modules/iconv-lite/encodings/tables/gbk-added.json"(exports2,module2){module2.exports=[["a140","",62],["a180","",32],["a240","",62],["a280","",32],["a2ab","",5],["a2e3","€"],["a2ef",""],["a2fd",""],["a340","",62],["a380","",31,"　"],["a440","",62],["a480","",32],["a4f4","",10],["a540","",62],["a580","",32],["a5f7","",7],["a640","",62],["a680","",32],["a6b9","",7],["a6d9","",6],["a6ec",""],["a6f3",""],["a6f6","",8],["a740","",62],["a780","",32],["a7c2","",14],["a7f2","",12],["a896","",10],["a8bc","ḿ"],["a8bf","ǹ"],["a8c1",""],["a8ea","",20],["a958",""],["a95b",""],["a95d",""],["a989","〾⿰",11],["a997","",12],["a9f0","",14],["aaa1","",93],["aba1","",93],["aca1","",93],["ada1","",93],["aea1","",93],["afa1","",93],["d7fa","",4],["f8a1","",93],["f9a1","",93],["faa1","",93],["fba1","",93],["fca1","",93],["fda1","",93],["fe50","⺁⺄㑳㑇⺈⺋㖞㘚㘎⺌⺗㥮㤘㧏㧟㩳㧐㭎㱮㳠⺧⺪䁖䅟⺮䌷⺳⺶⺷䎱䎬⺻䏝䓖䙡䙌"],["fe80","䜣䜩䝼䞍⻊䥇䥺䥽䦂䦃䦅䦆䦟䦛䦷䦶䲣䲟䲠䲡䱷䲢䴓",6,"䶮",93],["8135f437",""]]}});var require_gb18030_ranges=__commonJS({"node_modules/iconv-lite/encodings/tables/gb18030-ranges.json"(exports2,module2){module2.exports={uChars:[128,165,169,178,184,216,226,235,238,244,248,251,253,258,276,284,300,325,329,334,364,463,465,467,469,471,473,475,477,506,594,610,712,716,730,930,938,962,970,1026,1104,1106,8209,8215,8218,8222,8231,8241,8244,8246,8252,8365,8452,8454,8458,8471,8482,8556,8570,8596,8602,8713,8720,8722,8726,8731,8737,8740,8742,8748,8751,8760,8766,8777,8781,8787,8802,8808,8816,8854,8858,8870,8896,8979,9322,9372,9548,9588,9616,9622,9634,9652,9662,9672,9676,9680,9702,9735,9738,9793,9795,11906,11909,11913,11917,11928,11944,11947,11951,11956,11960,11964,11979,12284,12292,12312,12319,12330,12351,12436,12447,12535,12543,12586,12842,12850,12964,13200,13215,13218,13253,13263,13267,13270,13384,13428,13727,13839,13851,14617,14703,14801,14816,14964,15183,15471,15585,16471,16736,17208,17325,17330,17374,17623,17997,18018,18212,18218,18301,18318,18760,18811,18814,18820,18823,18844,18848,18872,19576,19620,19738,19887,40870,59244,59336,59367,59413,59417,59423,59431,59437,59443,59452,59460,59478,59493,63789,63866,63894,63976,63986,64016,64018,64021,64025,64034,64037,64042,65074,65093,65107,65112,65127,65132,65375,65510,65536],gbChars:[0,36,38,45,50,81,89,95,96,100,103,104,105,109,126,133,148,172,175,179,208,306,307,308,309,310,311,312,313,341,428,443,544,545,558,741,742,749,750,805,819,820,7922,7924,7925,7927,7934,7943,7944,7945,7950,8062,8148,8149,8152,8164,8174,8236,8240,8262,8264,8374,8380,8381,8384,8388,8390,8392,8393,8394,8396,8401,8406,8416,8419,8424,8437,8439,8445,8482,8485,8496,8521,8603,8936,8946,9046,9050,9063,9066,9076,9092,9100,9108,9111,9113,9131,9162,9164,9218,9219,11329,11331,11334,11336,11346,11361,11363,11366,11370,11372,11375,11389,11682,11686,11687,11692,11694,11714,11716,11723,11725,11730,11736,11982,11989,12102,12336,12348,12350,12384,12393,12395,12397,12510,12553,12851,12962,12973,13738,13823,13919,13933,14080,14298,14585,14698,15583,15847,16318,16434,16438,16481,16729,17102,17122,17315,17320,17402,17418,17859,17909,17911,17915,17916,17936,17939,17961,18664,18703,18814,18962,19043,33469,33470,33471,33484,33485,33490,33497,33501,33505,33513,33520,33536,33550,37845,37921,37948,38029,38038,38064,38065,38066,38069,38075,38076,38078,39108,39109,39113,39114,39115,39116,39265,39394,189e3]}}});var require_cp949=__commonJS({"node_modules/iconv-lite/encodings/tables/cp949.json"(exports2,module2){module2.exports=[["0","\0",127],["8141","갂갃갅갆갋",4,"갘갞갟갡갢갣갥",6,"갮갲갳갴"],["8161","갵갶갷갺갻갽갾갿걁",9,"걌걎",5,"걕"],["8181","걖걗걙걚걛걝",18,"걲걳걵걶걹걻",4,"겂겇겈겍겎겏겑겒겓겕",6,"겞겢",5,"겫겭겮겱",6,"겺겾겿곀곂곃곅곆곇곉곊곋곍",7,"곖곘",7,"곢곣곥곦곩곫곭곮곲곴곷",4,"곾곿괁괂괃괅괇",4,"괎괐괒괓"],["8241","괔괕괖괗괙괚괛괝괞괟괡",7,"괪괫괮",5],["8261","괶괷괹괺괻괽",6,"굆굈굊",5,"굑굒굓굕굖굗"],["8281","굙",7,"굢굤",7,"굮굯굱굲굷굸굹굺굾궀궃",4,"궊궋궍궎궏궑",10,"궞",5,"궥",17,"궸",7,"귂귃귅귆귇귉",6,"귒귔",7,"귝귞귟귡귢귣귥",18],["8341","귺귻귽귾긂",5,"긊긌긎",5,"긕",7],["8361","긝",18,"긲긳긵긶긹긻긼"],["8381","긽긾긿깂깄깇깈깉깋깏깑깒깓깕깗",4,"깞깢깣깤깦깧깪깫깭깮깯깱",6,"깺깾",5,"꺆",5,"꺍",46,"꺿껁껂껃껅",6,"껎껒",5,"껚껛껝",8],["8441","껦껧껩껪껬껮",5,"껵껶껷껹껺껻껽",8],["8461","꼆꼉꼊꼋꼌꼎꼏꼑",18],["8481","꼤",7,"꼮꼯꼱꼳꼵",6,"꼾꽀꽄꽅꽆꽇꽊",5,"꽑",10,"꽞",5,"꽦",18,"꽺",5,"꾁꾂꾃꾅꾆꾇꾉",6,"꾒꾓꾔꾖",5,"꾝",26,"꾺꾻꾽꾾"],["8541","꾿꿁",5,"꿊꿌꿏",4,"꿕",6,"꿝",4],["8561","꿢",5,"꿪",5,"꿲꿳꿵꿶꿷꿹",6,"뀂뀃"],["8581","뀅",6,"뀍뀎뀏뀑뀒뀓뀕",6,"뀞",9,"뀩",26,"끆끇끉끋끍끏끐끑끒끖끘끚끛끜끞",29,"끾끿낁낂낃낅",6,"낎낐낒",5,"낛낝낞낣낤"],["8641","낥낦낧낪낰낲낶낷낹낺낻낽",6,"냆냊",5,"냒"],["8661","냓냕냖냗냙",6,"냡냢냣냤냦",10],["8681","냱",22,"넊넍넎넏넑넔넕넖넗넚넞",4,"넦넧넩넪넫넭",6,"넶넺",5,"녂녃녅녆녇녉",6,"녒녓녖녗녙녚녛녝녞녟녡",22,"녺녻녽녾녿놁놃",4,"놊놌놎놏놐놑놕놖놗놙놚놛놝"],["8741","놞",9,"놩",15],["8761","놹",18,"뇍뇎뇏뇑뇒뇓뇕"],["8781","뇖",5,"뇞뇠",7,"뇪뇫뇭뇮뇯뇱",7,"뇺뇼뇾",5,"눆눇눉눊눍",6,"눖눘눚",5,"눡",18,"눵",6,"눽",26,"뉙뉚뉛뉝뉞뉟뉡",6,"뉪",4],["8841","뉯",4,"뉶",5,"뉽",6,"늆늇늈늊",4],["8861","늏늒늓늕늖늗늛",4,"늢늤늧늨늩늫늭늮늯늱늲늳늵늶늷"],["8881","늸",15,"닊닋닍닎닏닑닓",4,"닚닜닞닟닠닡닣닧닩닪닰닱닲닶닼닽닾댂댃댅댆댇댉",6,"댒댖",5,"댝",54,"덗덙덚덝덠덡덢덣"],["8941","덦덨덪덬덭덯덲덳덵덶덷덹",6,"뎂뎆",5,"뎍"],["8961","뎎뎏뎑뎒뎓뎕",10,"뎢",5,"뎩뎪뎫뎭"],["8981","뎮",21,"돆돇돉돊돍돏돑돒돓돖돘돚돜돞돟돡돢돣돥돦돧돩",18,"돽",18,"됑",6,"됙됚됛됝됞됟됡",6,"됪됬",7,"됵",15],["8a41","둅",10,"둒둓둕둖둗둙",6,"둢둤둦"],["8a61","둧",4,"둭",18,"뒁뒂"],["8a81","뒃",4,"뒉",19,"뒞",5,"뒥뒦뒧뒩뒪뒫뒭",7,"뒶뒸뒺",5,"듁듂듃듅듆듇듉",6,"듑듒듓듔듖",5,"듞듟듡듢듥듧",4,"듮듰듲",5,"듹",26,"딖딗딙딚딝"],["8b41","딞",5,"딦딫",4,"딲딳딵딶딷딹",6,"땂땆"],["8b61","땇땈땉땊땎땏땑땒땓땕",6,"땞땢",8],["8b81","땫",52,"떢떣떥떦떧떩떬떭떮떯떲떶",4,"떾떿뗁뗂뗃뗅",6,"뗎뗒",5,"뗙",18,"뗭",18],["8c41","똀",15,"똒똓똕똖똗똙",4],["8c61","똞",6,"똦",5,"똭",6,"똵",5],["8c81","똻",12,"뙉",26,"뙥뙦뙧뙩",50,"뚞뚟뚡뚢뚣뚥",5,"뚭뚮뚯뚰뚲",16],["8d41","뛃",16,"뛕",8],["8d61","뛞",17,"뛱뛲뛳뛵뛶뛷뛹뛺"],["8d81","뛻",4,"뜂뜃뜄뜆",33,"뜪뜫뜭뜮뜱",6,"뜺뜼",7,"띅띆띇띉띊띋띍",6,"띖",9,"띡띢띣띥띦띧띩",6,"띲띴띶",5,"띾띿랁랂랃랅",6,"랎랓랔랕랚랛랝랞"],["8e41","랟랡",6,"랪랮",5,"랶랷랹",8],["8e61","럂",4,"럈럊",19],["8e81","럞",13,"럮럯럱럲럳럵",6,"럾렂",4,"렊렋렍렎렏렑",6,"렚렜렞",5,"렦렧렩렪렫렭",6,"렶렺",5,"롁롂롃롅",11,"롒롔",7,"롞롟롡롢롣롥",6,"롮롰롲",5,"롹롺롻롽",7],["8f41","뢅",7,"뢎",17],["8f61","뢠",7,"뢩",6,"뢱뢲뢳뢵뢶뢷뢹",4],["8f81","뢾뢿룂룄룆",5,"룍룎룏룑룒룓룕",7,"룞룠룢",5,"룪룫룭룮룯룱",6,"룺룼룾",5,"뤅",18,"뤙",6,"뤡",26,"뤾뤿륁륂륃륅",6,"륍륎륐륒",5],["9041","륚륛륝륞륟륡",6,"륪륬륮",5,"륶륷륹륺륻륽"],["9061","륾",5,"릆릈릋릌릏",15],["9081","릟",12,"릮릯릱릲릳릵",6,"릾맀맂",5,"맊맋맍맓",4,"맚맜맟맠맢맦맧맩맪맫맭",6,"맶맻",4,"먂",5,"먉",11,"먖",33,"먺먻먽먾먿멁멃멄멅멆"],["9141","멇멊멌멏멐멑멒멖멗멙멚멛멝",6,"멦멪",5],["9161","멲멳멵멶멷멹",9,"몆몈몉몊몋몍",5],["9181","몓",20,"몪몭몮몯몱몳",4,"몺몼몾",5,"뫅뫆뫇뫉",14,"뫚",33,"뫽뫾뫿묁묂묃묅",7,"묎묐묒",5,"묙묚묛묝묞묟묡",6],["9241","묨묪묬",7,"묷묹묺묿",4,"뭆뭈뭊뭋뭌뭎뭑뭒"],["9261","뭓뭕뭖뭗뭙",7,"뭢뭤",7,"뭭",4],["9281","뭲",21,"뮉뮊뮋뮍뮎뮏뮑",18,"뮥뮦뮧뮩뮪뮫뮭",6,"뮵뮶뮸",7,"믁믂믃믅믆믇믉",6,"믑믒믔",35,"믺믻믽믾밁"],["9341","밃",4,"밊밎밐밒밓밙밚밠밡밢밣밦밨밪밫밬밮밯밲밳밵"],["9361","밶밷밹",6,"뱂뱆뱇뱈뱊뱋뱎뱏뱑",8],["9381","뱚뱛뱜뱞",37,"벆벇벉벊벍벏",4,"벖벘벛",4,"벢벣벥벦벩",6,"벲벶",5,"벾벿볁볂볃볅",7,"볎볒볓볔볖볗볙볚볛볝",22,"볷볹볺볻볽"],["9441","볾",5,"봆봈봊",5,"봑봒봓봕",8],["9461","봞",5,"봥",6,"봭",12],["9481","봺",5,"뵁",6,"뵊뵋뵍뵎뵏뵑",6,"뵚",9,"뵥뵦뵧뵩",22,"붂붃붅붆붋",4,"붒붔붖붗붘붛붝",6,"붥",10,"붱",6,"붹",24],["9541","뷒뷓뷖뷗뷙뷚뷛뷝",11,"뷪",5,"뷱"],["9561","뷲뷳뷵뷶뷷뷹",6,"븁븂븄븆",5,"븎븏븑븒븓"],["9581","븕",6,"븞븠",35,"빆빇빉빊빋빍빏",4,"빖빘빜빝빞빟빢빣빥빦빧빩빫",4,"빲빶",4,"빾빿뺁뺂뺃뺅",6,"뺎뺒",5,"뺚",13,"뺩",14],["9641","뺸",23,"뻒뻓"],["9661","뻕뻖뻙",6,"뻡뻢뻦",5,"뻭",8],["9681","뻶",10,"뼂",5,"뼊",13,"뼚뼞",33,"뽂뽃뽅뽆뽇뽉",6,"뽒뽓뽔뽖",44],["9741","뾃",16,"뾕",8],["9761","뾞",17,"뾱",7],["9781","뾹",11,"뿆",5,"뿎뿏뿑뿒뿓뿕",6,"뿝뿞뿠뿢",89,"쀽쀾쀿"],["9841","쁀",16,"쁒",5,"쁙쁚쁛"],["9861","쁝쁞쁟쁡",6,"쁪",15],["9881","쁺",21,"삒삓삕삖삗삙",6,"삢삤삦",5,"삮삱삲삷",4,"삾샂샃샄샆샇샊샋샍샎샏샑",6,"샚샞",5,"샦샧샩샪샫샭",6,"샶샸샺",5,"섁섂섃섅섆섇섉",6,"섑섒섓섔섖",5,"섡섢섥섨섩섪섫섮"],["9941","섲섳섴섵섷섺섻섽섾섿셁",6,"셊셎",5,"셖셗"],["9961","셙셚셛셝",6,"셦셪",5,"셱셲셳셵셶셷셹셺셻"],["9981","셼",8,"솆",5,"솏솑솒솓솕솗",4,"솞솠솢솣솤솦솧솪솫솭솮솯솱",11,"솾",5,"쇅쇆쇇쇉쇊쇋쇍",6,"쇕쇖쇙",6,"쇡쇢쇣쇥쇦쇧쇩",6,"쇲쇴",7,"쇾쇿숁숂숃숅",6,"숎숐숒",5,"숚숛숝숞숡숢숣"],["9a41","숤숥숦숧숪숬숮숰숳숵",16],["9a61","쉆쉇쉉",6,"쉒쉓쉕쉖쉗쉙",6,"쉡쉢쉣쉤쉦"],["9a81","쉧",4,"쉮쉯쉱쉲쉳쉵",6,"쉾슀슂",5,"슊",5,"슑",6,"슙슚슜슞",5,"슦슧슩슪슫슮",5,"슶슸슺",33,"싞싟싡싢싥",5,"싮싰싲싳싴싵싷싺싽싾싿쌁",6,"쌊쌋쌎쌏"],["9b41","쌐쌑쌒쌖쌗쌙쌚쌛쌝",6,"쌦쌧쌪",8],["9b61","쌳",17,"썆",7],["9b81","썎",25,"썪썫썭썮썯썱썳",4,"썺썻썾",5,"쎅쎆쎇쎉쎊쎋쎍",50,"쏁",22,"쏚"],["9c41","쏛쏝쏞쏡쏣",4,"쏪쏫쏬쏮",5,"쏶쏷쏹",5],["9c61","쏿",8,"쐉",6,"쐑",9],["9c81","쐛",8,"쐥",6,"쐭쐮쐯쐱쐲쐳쐵",6,"쐾",9,"쑉",26,"쑦쑧쑩쑪쑫쑭",6,"쑶쑷쑸쑺",5,"쒁",18,"쒕",6,"쒝",12],["9d41","쒪",13,"쒹쒺쒻쒽",8],["9d61","쓆",25],["9d81","쓠",8,"쓪",5,"쓲쓳쓵쓶쓷쓹쓻쓼쓽쓾씂",9,"씍씎씏씑씒씓씕",6,"씝",10,"씪씫씭씮씯씱",6,"씺씼씾",5,"앆앇앋앏앐앑앒앖앚앛앜앟앢앣앥앦앧앩",6,"앲앶",5,"앾앿얁얂얃얅얆얈얉얊얋얎얐얒얓얔"],["9e41","얖얙얚얛얝얞얟얡",7,"얪",9,"얶"],["9e61","얷얺얿",4,"엋엍엏엒엓엕엖엗엙",6,"엢엤엦엧"],["9e81","엨엩엪엫엯엱엲엳엵엸엹엺엻옂옃옄옉옊옋옍옎옏옑",6,"옚옝",6,"옦옧옩옪옫옯옱옲옶옸옺옼옽옾옿왂왃왅왆왇왉",6,"왒왖",5,"왞왟왡",10,"왭왮왰왲",5,"왺왻왽왾왿욁",6,"욊욌욎",5,"욖욗욙욚욛욝",6,"욦"],["9f41","욨욪",5,"욲욳욵욶욷욻",4,"웂웄웆",5,"웎"],["9f61","웏웑웒웓웕",6,"웞웟웢",5,"웪웫웭웮웯웱웲"],["9f81","웳",4,"웺웻웼웾",5,"윆윇윉윊윋윍",6,"윖윘윚",5,"윢윣윥윦윧윩",6,"윲윴윶윸윹윺윻윾윿읁읂읃읅",4,"읋읎읐읙읚읛읝읞읟읡",6,"읩읪읬",7,"읶읷읹읺읻읿잀잁잂잆잋잌잍잏잒잓잕잙잛",4,"잢잧",4,"잮잯잱잲잳잵잶잷"],["a041","잸잹잺잻잾쟂",5,"쟊쟋쟍쟏쟑",6,"쟙쟚쟛쟜"],["a061","쟞",5,"쟥쟦쟧쟩쟪쟫쟭",13],["a081","쟻",4,"젂젃젅젆젇젉젋",4,"젒젔젗",4,"젞젟젡젢젣젥",6,"젮젰젲",5,"젹젺젻젽젾젿졁",6,"졊졋졎",5,"졕",26,"졲졳졵졶졷졹졻",4,"좂좄좈좉좊좎",5,"좕",7,"좞좠좢좣좤"],["a141","좥좦좧좩",18,"좾좿죀죁"],["a161","죂죃죅죆죇죉죊죋죍",6,"죖죘죚",5,"죢죣죥"],["a181","죦",14,"죶",5,"죾죿줁줂줃줇",4,"줎　、。·‥…¨〃­―∥＼∼‘’“”〔〕〈",9,"±×÷≠≤≥∞∴°′″℃Å￠￡￥♂♀∠⊥⌒∂∇≡≒§※☆★○●◎◇◆□■△▲▽▼→←↑↓↔〓≪≫√∽∝∵∫∬∈∋⊆⊇⊂⊃∪∩∧∨￢"],["a241","줐줒",5,"줙",18],["a261","줭",6,"줵",18],["a281","쥈",7,"쥒쥓쥕쥖쥗쥙",6,"쥢쥤",7,"쥭쥮쥯⇒⇔∀∃´～ˇ˘˝˚˙¸˛¡¿ː∮∑∏¤℉‰◁◀▷▶♤♠♡♥♧♣⊙◈▣◐◑▒▤▥▨▧▦▩♨☏☎☜☞¶†‡↕↗↙↖↘♭♩♪♬㉿㈜№㏇™㏂㏘℡€®"],["a341","쥱쥲쥳쥵",6,"쥽",10,"즊즋즍즎즏"],["a361","즑",6,"즚즜즞",16],["a381","즯",16,"짂짃짅짆짉짋",4,"짒짔짗짘짛！",58,"￦］",32,"￣"],["a441","짞짟짡짣짥짦짨짩짪짫짮짲",5,"짺짻짽짾짿쨁쨂쨃쨄"],["a461","쨅쨆쨇쨊쨎",5,"쨕쨖쨗쨙",12],["a481","쨦쨧쨨쨪",28,"ㄱ",93],["a541","쩇",4,"쩎쩏쩑쩒쩓쩕",6,"쩞쩢",5,"쩩쩪"],["a561","쩫",17,"쩾",5,"쪅쪆"],["a581","쪇",16,"쪙",14,"ⅰ",9],["a5b0","Ⅰ",9],["a5c1","Α",16,"Σ",6],["a5e1","α",16,"σ",6],["a641","쪨",19,"쪾쪿쫁쫂쫃쫅"],["a661","쫆",5,"쫎쫐쫒쫔쫕쫖쫗쫚",5,"쫡",6],["a681","쫨쫩쫪쫫쫭",6,"쫵",18,"쬉쬊─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂┒┑┚┙┖┕┎┍┞┟┡┢┦┧┩┪┭┮┱┲┵┶┹┺┽┾╀╁╃",7],["a741","쬋",4,"쬑쬒쬓쬕쬖쬗쬙",6,"쬢",7],["a761","쬪",22,"쭂쭃쭄"],["a781","쭅쭆쭇쭊쭋쭍쭎쭏쭑",6,"쭚쭛쭜쭞",5,"쭥",7,"㎕㎖㎗ℓ㎘㏄㎣㎤㎥㎦㎙",9,"㏊㎍㎎㎏㏏㎈㎉㏈㎧㎨㎰",9,"㎀",4,"㎺",5,"㎐",4,"Ω㏀㏁㎊㎋㎌㏖㏅㎭㎮㎯㏛㎩㎪㎫㎬㏝㏐㏓㏃㏉㏜㏆"],["a841","쭭",10,"쭺",14],["a861","쮉",18,"쮝",6],["a881","쮤",19,"쮹",11,"ÆÐªĦ"],["a8a6","Ĳ"],["a8a8","ĿŁØŒºÞŦŊ"],["a8b1","㉠",27,"ⓐ",25,"①",14,"½⅓⅔¼¾⅛⅜⅝⅞"],["a941","쯅",14,"쯕",10],["a961","쯠쯡쯢쯣쯥쯦쯨쯪",18],["a981","쯽",14,"찎찏찑찒찓찕",6,"찞찟찠찣찤æđðħıĳĸŀłøœßþŧŋŉ㈀",27,"⒜",25,"⑴",14,"¹²³⁴ⁿ₁₂₃₄"],["aa41","찥찦찪찫찭찯찱",6,"찺찿",4,"챆챇챉챊챋챍챎"],["aa61","챏",4,"챖챚",5,"챡챢챣챥챧챩",6,"챱챲"],["aa81","챳챴챶",29,"ぁ",82],["ab41","첔첕첖첗첚첛첝첞첟첡",6,"첪첮",5,"첶첷첹"],["ab61","첺첻첽",6,"쳆쳈쳊",5,"쳑쳒쳓쳕",5],["ab81","쳛",8,"쳥",6,"쳭쳮쳯쳱",12,"ァ",85],["ac41","쳾쳿촀촂",5,"촊촋촍촎촏촑",6,"촚촜촞촟촠"],["ac61","촡촢촣촥촦촧촩촪촫촭",11,"촺",4],["ac81","촿",28,"쵝쵞쵟А",5,"ЁЖ",25],["acd1","а",5,"ёж",25],["ad41","쵡쵢쵣쵥",6,"쵮쵰쵲",5,"쵹",7],["ad61","춁",6,"춉",10,"춖춗춙춚춛춝춞춟"],["ad81","춠춡춢춣춦춨춪",5,"춱",18,"췅"],["ae41","췆",5,"췍췎췏췑",16],["ae61","췢",5,"췩췪췫췭췮췯췱",6,"췺췼췾",4],["ae81","츃츅츆츇츉츊츋츍",6,"츕츖츗츘츚",5,"츢츣츥츦츧츩츪츫"],["af41","츬츭츮츯츲츴츶",19],["af61","칊",13,"칚칛칝칞칢",5,"칪칬"],["af81","칮",5,"칶칷칹칺칻칽",6,"캆캈캊",5,"캒캓캕캖캗캙"],["b041","캚",5,"캢캦",5,"캮",12],["b061","캻",5,"컂",19],["b081","컖",13,"컦컧컩컪컭",6,"컶컺",5,"가각간갇갈갉갊감",7,"같",4,"갠갤갬갭갯갰갱갸갹갼걀걋걍걔걘걜거걱건걷걸걺검겁것겄겅겆겉겊겋게겐겔겜겝겟겠겡겨격겪견겯결겸겹겻겼경곁계곈곌곕곗고곡곤곧골곪곬곯곰곱곳공곶과곽관괄괆"],["b141","켂켃켅켆켇켉",6,"켒켔켖",5,"켝켞켟켡켢켣"],["b161","켥",6,"켮켲",5,"켹",11],["b181","콅",14,"콖콗콙콚콛콝",6,"콦콨콪콫콬괌괍괏광괘괜괠괩괬괭괴괵괸괼굄굅굇굉교굔굘굡굣구국군굳굴굵굶굻굼굽굿궁궂궈궉권궐궜궝궤궷귀귁귄귈귐귑귓규균귤그극근귿글긁금급긋긍긔기긱긴긷길긺김깁깃깅깆깊까깍깎깐깔깖깜깝깟깠깡깥깨깩깬깰깸"],["b241","콭콮콯콲콳콵콶콷콹",6,"쾁쾂쾃쾄쾆",5,"쾍"],["b261","쾎",18,"쾢",5,"쾩"],["b281","쾪",5,"쾱",18,"쿅",6,"깹깻깼깽꺄꺅꺌꺼꺽꺾껀껄껌껍껏껐껑께껙껜껨껫껭껴껸껼꼇꼈꼍꼐꼬꼭꼰꼲꼴꼼꼽꼿꽁꽂꽃꽈꽉꽐꽜꽝꽤꽥꽹꾀꾄꾈꾐꾑꾕꾜꾸꾹꾼꿀꿇꿈꿉꿋꿍꿎꿔꿜꿨꿩꿰꿱꿴꿸뀀뀁뀄뀌뀐뀔뀜뀝뀨끄끅끈끊끌끎끓끔끕끗끙"],["b341","쿌",19,"쿢쿣쿥쿦쿧쿩"],["b361","쿪",5,"쿲쿴쿶",5,"쿽쿾쿿퀁퀂퀃퀅",5],["b381","퀋",5,"퀒",5,"퀙",19,"끝끼끽낀낄낌낍낏낑나낙낚난낟날낡낢남납낫",4,"낱낳내낵낸낼냄냅냇냈냉냐냑냔냘냠냥너넉넋넌널넒넓넘넙넛넜넝넣네넥넨넬넴넵넷넸넹녀녁년녈념녑녔녕녘녜녠노녹논놀놂놈놉놋농높놓놔놘놜놨뇌뇐뇔뇜뇝"],["b441","퀮",5,"퀶퀷퀹퀺퀻퀽",6,"큆큈큊",5],["b461","큑큒큓큕큖큗큙",6,"큡",10,"큮큯"],["b481","큱큲큳큵",6,"큾큿킀킂",18,"뇟뇨뇩뇬뇰뇹뇻뇽누눅눈눋눌눔눕눗눙눠눴눼뉘뉜뉠뉨뉩뉴뉵뉼늄늅늉느늑는늘늙늚늠늡늣능늦늪늬늰늴니닉닌닐닒님닙닛닝닢다닥닦단닫",4,"닳담답닷",4,"닿대댁댄댈댐댑댓댔댕댜더덕덖던덛덜덞덟덤덥"],["b541","킕",14,"킦킧킩킪킫킭",5],["b561","킳킶킸킺",5,"탂탃탅탆탇탊",5,"탒탖",4],["b581","탛탞탟탡탢탣탥",6,"탮탲",5,"탹",11,"덧덩덫덮데덱덴델뎀뎁뎃뎄뎅뎌뎐뎔뎠뎡뎨뎬도독돈돋돌돎돐돔돕돗동돛돝돠돤돨돼됐되된될됨됩됫됴두둑둔둘둠둡둣둥둬뒀뒈뒝뒤뒨뒬뒵뒷뒹듀듄듈듐듕드득든듣들듦듬듭듯등듸디딕딘딛딜딤딥딧딨딩딪따딱딴딸"],["b641","턅",7,"턎",17],["b661","턠",15,"턲턳턵턶턷턹턻턼턽턾"],["b681","턿텂텆",5,"텎텏텑텒텓텕",6,"텞텠텢",5,"텩텪텫텭땀땁땃땄땅땋때땍땐땔땜땝땟땠땡떠떡떤떨떪떫떰떱떳떴떵떻떼떽뗀뗄뗌뗍뗏뗐뗑뗘뗬또똑똔똘똥똬똴뙈뙤뙨뚜뚝뚠뚤뚫뚬뚱뛔뛰뛴뛸뜀뜁뜅뜨뜩뜬뜯뜰뜸뜹뜻띄띈띌띔띕띠띤띨띰띱띳띵라락란랄람랍랏랐랑랒랖랗"],["b741","텮",13,"텽",6,"톅톆톇톉톊"],["b761","톋",20,"톢톣톥톦톧"],["b781","톩",6,"톲톴톶톷톸톹톻톽톾톿퇁",14,"래랙랜랠램랩랫랬랭랴략랸럇량러럭런럴럼럽럿렀렁렇레렉렌렐렘렙렛렝려력련렬렴렵렷렸령례롄롑롓로록론롤롬롭롯롱롸롼뢍뢨뢰뢴뢸룀룁룃룅료룐룔룝룟룡루룩룬룰룸룹룻룽뤄뤘뤠뤼뤽륀륄륌륏륑류륙륜률륨륩"],["b841","퇐",7,"퇙",17],["b861","퇫",8,"퇵퇶퇷퇹",13],["b881","툈툊",5,"툑",24,"륫륭르륵른를름릅릇릉릊릍릎리릭린릴림립릿링마막만많",4,"맘맙맛망맞맡맣매맥맨맬맴맵맷맸맹맺먀먁먈먕머먹먼멀멂멈멉멋멍멎멓메멕멘멜멤멥멧멨멩며멱면멸몃몄명몇몌모목몫몬몰몲몸몹못몽뫄뫈뫘뫙뫼"],["b941","툪툫툮툯툱툲툳툵",6,"툾퉀퉂",5,"퉉퉊퉋퉌"],["b961","퉍",14,"퉝",6,"퉥퉦퉧퉨"],["b981","퉩",22,"튂튃튅튆튇튉튊튋튌묀묄묍묏묑묘묜묠묩묫무묵묶문묻물묽묾뭄뭅뭇뭉뭍뭏뭐뭔뭘뭡뭣뭬뮈뮌뮐뮤뮨뮬뮴뮷므믄믈믐믓미믹민믿밀밂밈밉밋밌밍및밑바",4,"받",4,"밤밥밧방밭배백밴밸뱀뱁뱃뱄뱅뱉뱌뱍뱐뱝버벅번벋벌벎범법벗"],["ba41","튍튎튏튒튓튔튖",5,"튝튞튟튡튢튣튥",6,"튭"],["ba61","튮튯튰튲",5,"튺튻튽튾틁틃",4,"틊틌",5],["ba81","틒틓틕틖틗틙틚틛틝",6,"틦",9,"틲틳틵틶틷틹틺벙벚베벡벤벧벨벰벱벳벴벵벼벽변별볍볏볐병볕볘볜보복볶본볼봄봅봇봉봐봔봤봬뵀뵈뵉뵌뵐뵘뵙뵤뵨부북분붇불붉붊붐붑붓붕붙붚붜붤붰붸뷔뷕뷘뷜뷩뷰뷴뷸븀븃븅브븍븐블븜븝븟비빅빈빌빎빔빕빗빙빚빛빠빡빤"],["bb41","틻",4,"팂팄팆",5,"팏팑팒팓팕팗",4,"팞팢팣"],["bb61","팤팦팧팪팫팭팮팯팱",6,"팺팾",5,"퍆퍇퍈퍉"],["bb81","퍊",31,"빨빪빰빱빳빴빵빻빼빽뺀뺄뺌뺍뺏뺐뺑뺘뺙뺨뻐뻑뻔뻗뻘뻠뻣뻤뻥뻬뼁뼈뼉뼘뼙뼛뼜뼝뽀뽁뽄뽈뽐뽑뽕뾔뾰뿅뿌뿍뿐뿔뿜뿟뿡쀼쁑쁘쁜쁠쁨쁩삐삑삔삘삠삡삣삥사삭삯산삳살삵삶삼삽삿샀상샅새색샌샐샘샙샛샜생샤"],["bc41","퍪",17,"퍾퍿펁펂펃펅펆펇"],["bc61","펈펉펊펋펎펒",5,"펚펛펝펞펟펡",6,"펪펬펮"],["bc81","펯",4,"펵펶펷펹펺펻펽",6,"폆폇폊",5,"폑",5,"샥샨샬샴샵샷샹섀섄섈섐섕서",4,"섣설섦섧섬섭섯섰성섶세섹센셀셈셉셋셌셍셔셕션셜셤셥셧셨셩셰셴셸솅소속솎손솔솖솜솝솟송솥솨솩솬솰솽쇄쇈쇌쇔쇗쇘쇠쇤쇨쇰쇱쇳쇼쇽숀숄숌숍숏숑수숙순숟술숨숩숫숭"],["bd41","폗폙",7,"폢폤",7,"폮폯폱폲폳폵폶폷"],["bd61","폸폹폺폻폾퐀퐂",5,"퐉",13],["bd81","퐗",5,"퐞",25,"숯숱숲숴쉈쉐쉑쉔쉘쉠쉥쉬쉭쉰쉴쉼쉽쉿슁슈슉슐슘슛슝스슥슨슬슭슴습슷승시식신싣실싫심십싯싱싶싸싹싻싼쌀쌈쌉쌌쌍쌓쌔쌕쌘쌜쌤쌥쌨쌩썅써썩썬썰썲썸썹썼썽쎄쎈쎌쏀쏘쏙쏜쏟쏠쏢쏨쏩쏭쏴쏵쏸쐈쐐쐤쐬쐰"],["be41","퐸",7,"푁푂푃푅",14],["be61","푔",7,"푝푞푟푡푢푣푥",7,"푮푰푱푲"],["be81","푳",4,"푺푻푽푾풁풃",4,"풊풌풎",5,"풕",8,"쐴쐼쐽쑈쑤쑥쑨쑬쑴쑵쑹쒀쒔쒜쒸쒼쓩쓰쓱쓴쓸쓺쓿씀씁씌씐씔씜씨씩씬씰씸씹씻씽아악안앉않알앍앎앓암압앗았앙앝앞애액앤앨앰앱앳앴앵야약얀얄얇얌얍얏양얕얗얘얜얠얩어억언얹얻얼얽얾엄",6,"엌엎"],["bf41","풞",10,"풪",14],["bf61","풹",18,"퓍퓎퓏퓑퓒퓓퓕"],["bf81","퓖",5,"퓝퓞퓠",7,"퓩퓪퓫퓭퓮퓯퓱",6,"퓹퓺퓼에엑엔엘엠엡엣엥여역엮연열엶엷염",5,"옅옆옇예옌옐옘옙옛옜오옥온올옭옮옰옳옴옵옷옹옻와왁완왈왐왑왓왔왕왜왝왠왬왯왱외왹왼욀욈욉욋욍요욕욘욜욤욥욧용우욱운울욹욺움웁웃웅워웍원월웜웝웠웡웨"],["c041","퓾",5,"픅픆픇픉픊픋픍",6,"픖픘",5],["c061","픞",25],["c081","픸픹픺픻픾픿핁핂핃핅",6,"핎핐핒",5,"핚핛핝핞핟핡핢핣웩웬웰웸웹웽위윅윈윌윔윕윗윙유육윤율윰윱윳융윷으윽은을읊음읍읏응",7,"읜읠읨읫이익인일읽읾잃임입잇있잉잊잎자작잔잖잗잘잚잠잡잣잤장잦재잭잰잴잼잽잿쟀쟁쟈쟉쟌쟎쟐쟘쟝쟤쟨쟬저적전절젊"],["c141","핤핦핧핪핬핮",5,"핶핷핹핺핻핽",6,"햆햊햋"],["c161","햌햍햎햏햑",19,"햦햧"],["c181","햨",31,"점접젓정젖제젝젠젤젬젭젯젱져젼졀졈졉졌졍졔조족존졸졺좀좁좃종좆좇좋좌좍좔좝좟좡좨좼좽죄죈죌죔죕죗죙죠죡죤죵주죽준줄줅줆줌줍줏중줘줬줴쥐쥑쥔쥘쥠쥡쥣쥬쥰쥴쥼즈즉즌즐즘즙즛증지직진짇질짊짐집짓"],["c241","헊헋헍헎헏헑헓",4,"헚헜헞",5,"헦헧헩헪헫헭헮"],["c261","헯",4,"헶헸헺",5,"혂혃혅혆혇혉",6,"혒"],["c281","혖",5,"혝혞혟혡혢혣혥",7,"혮",9,"혺혻징짖짙짚짜짝짠짢짤짧짬짭짯짰짱째짹짼쨀쨈쨉쨋쨌쨍쨔쨘쨩쩌쩍쩐쩔쩜쩝쩟쩠쩡쩨쩽쪄쪘쪼쪽쫀쫄쫌쫍쫏쫑쫓쫘쫙쫠쫬쫴쬈쬐쬔쬘쬠쬡쭁쭈쭉쭌쭐쭘쭙쭝쭤쭸쭹쮜쮸쯔쯤쯧쯩찌찍찐찔찜찝찡찢찧차착찬찮찰참찹찻"],["c341","혽혾혿홁홂홃홄홆홇홊홌홎홏홐홒홓홖홗홙홚홛홝",4],["c361","홢",4,"홨홪",5,"홲홳홵",11],["c381","횁횂횄횆",5,"횎횏횑횒횓횕",7,"횞횠횢",5,"횩횪찼창찾채책챈챌챔챕챗챘챙챠챤챦챨챰챵처척천철첨첩첫첬청체첵첸첼쳄쳅쳇쳉쳐쳔쳤쳬쳰촁초촉촌촐촘촙촛총촤촨촬촹최쵠쵤쵬쵭쵯쵱쵸춈추축춘출춤춥춧충춰췄췌췐취췬췰췸췹췻췽츄츈츌츔츙츠측츤츨츰츱츳층"],["c441","횫횭횮횯횱",7,"횺횼",7,"훆훇훉훊훋"],["c461","훍훎훏훐훒훓훕훖훘훚",5,"훡훢훣훥훦훧훩",4],["c481","훮훯훱훲훳훴훶",5,"훾훿휁휂휃휅",11,"휒휓휔치칙친칟칠칡침칩칫칭카칵칸칼캄캅캇캉캐캑캔캘캠캡캣캤캥캬캭컁커컥컨컫컬컴컵컷컸컹케켁켄켈켐켑켓켕켜켠켤켬켭켯켰켱켸코콕콘콜콤콥콧콩콰콱콴콸쾀쾅쾌쾡쾨쾰쿄쿠쿡쿤쿨쿰쿱쿳쿵쿼퀀퀄퀑퀘퀭퀴퀵퀸퀼"],["c541","휕휖휗휚휛휝휞휟휡",6,"휪휬휮",5,"휶휷휹"],["c561","휺휻휽",6,"흅흆흈흊",5,"흒흓흕흚",4],["c581","흟흢흤흦흧흨흪흫흭흮흯흱흲흳흵",6,"흾흿힀힂",5,"힊힋큄큅큇큉큐큔큘큠크큭큰클큼큽킁키킥킨킬킴킵킷킹타탁탄탈탉탐탑탓탔탕태택탠탤탬탭탯탰탱탸턍터턱턴털턺텀텁텃텄텅테텍텐텔템텝텟텡텨텬텼톄톈토톡톤톨톰톱톳통톺톼퇀퇘퇴퇸툇툉툐투툭툰툴툼툽툿퉁퉈퉜"],["c641","힍힎힏힑",6,"힚힜힞",5],["c6a1","퉤튀튁튄튈튐튑튕튜튠튤튬튱트특튼튿틀틂틈틉틋틔틘틜틤틥티틱틴틸팀팁팃팅파팍팎판팔팖팜팝팟팠팡팥패팩팬팰팸팹팻팼팽퍄퍅퍼퍽펀펄펌펍펏펐펑페펙펜펠펨펩펫펭펴편펼폄폅폈평폐폘폡폣포폭폰폴폼폽폿퐁"],["c7a1","퐈퐝푀푄표푠푤푭푯푸푹푼푿풀풂품풉풋풍풔풩퓌퓐퓔퓜퓟퓨퓬퓰퓸퓻퓽프픈플픔픕픗피픽핀필핌핍핏핑하학한할핥함합핫항해핵핸핼햄햅햇했행햐향허헉헌헐헒험헙헛헝헤헥헨헬헴헵헷헹혀혁현혈혐협혓혔형혜혠"],["c8a1","혤혭호혹혼홀홅홈홉홋홍홑화확환활홧황홰홱홴횃횅회획횐횔횝횟횡효횬횰횹횻후훅훈훌훑훔훗훙훠훤훨훰훵훼훽휀휄휑휘휙휜휠휨휩휫휭휴휵휸휼흄흇흉흐흑흔흖흗흘흙흠흡흣흥흩희흰흴흼흽힁히힉힌힐힘힙힛힝"],["caa1","伽佳假價加可呵哥嘉嫁家暇架枷柯歌珂痂稼苛茄街袈訶賈跏軻迦駕刻却各恪慤殼珏脚覺角閣侃刊墾奸姦干幹懇揀杆柬桿澗癎看磵稈竿簡肝艮艱諫間乫喝曷渴碣竭葛褐蝎鞨勘坎堪嵌感憾戡敢柑橄減甘疳監瞰紺邯鑑鑒龕"],["cba1","匣岬甲胛鉀閘剛堈姜岡崗康强彊慷江畺疆糠絳綱羌腔舡薑襁講鋼降鱇介价個凱塏愷愾慨改槪漑疥皆盖箇芥蓋豈鎧開喀客坑更粳羹醵倨去居巨拒据據擧渠炬祛距踞車遽鉅鋸乾件健巾建愆楗腱虔蹇鍵騫乞傑杰桀儉劍劒檢"],["cca1","瞼鈐黔劫怯迲偈憩揭擊格檄激膈覡隔堅牽犬甄絹繭肩見譴遣鵑抉決潔結缺訣兼慊箝謙鉗鎌京俓倞傾儆勁勍卿坰境庚徑慶憬擎敬景暻更梗涇炅烱璟璥瓊痙硬磬竟競絅經耕耿脛莖警輕逕鏡頃頸驚鯨係啓堺契季屆悸戒桂械"],["cda1","棨溪界癸磎稽系繫繼計誡谿階鷄古叩告呱固姑孤尻庫拷攷故敲暠枯槁沽痼皐睾稿羔考股膏苦苽菰藁蠱袴誥賈辜錮雇顧高鼓哭斛曲梏穀谷鵠困坤崑昆梱棍滾琨袞鯤汨滑骨供公共功孔工恐恭拱控攻珙空蚣貢鞏串寡戈果瓜"],["cea1","科菓誇課跨過鍋顆廓槨藿郭串冠官寬慣棺款灌琯瓘管罐菅觀貫關館刮恝括适侊光匡壙廣曠洸炚狂珖筐胱鑛卦掛罫乖傀塊壞怪愧拐槐魁宏紘肱轟交僑咬喬嬌嶠巧攪敎校橋狡皎矯絞翹膠蕎蛟較轎郊餃驕鮫丘久九仇俱具勾"],["cfa1","區口句咎嘔坵垢寇嶇廐懼拘救枸柩構歐毆毬求溝灸狗玖球瞿矩究絿耉臼舅舊苟衢謳購軀逑邱鉤銶駒驅鳩鷗龜國局菊鞠鞫麴君窘群裙軍郡堀屈掘窟宮弓穹窮芎躬倦券勸卷圈拳捲權淃眷厥獗蕨蹶闕机櫃潰詭軌饋句晷歸貴"],["d0a1","鬼龜叫圭奎揆槻珪硅窺竅糾葵規赳逵閨勻均畇筠菌鈞龜橘克剋劇戟棘極隙僅劤勤懃斤根槿瑾筋芹菫覲謹近饉契今妗擒昑檎琴禁禽芩衾衿襟金錦伋及急扱汲級給亘兢矜肯企伎其冀嗜器圻基埼夔奇妓寄岐崎己幾忌技旗旣"],["d1a1","朞期杞棋棄機欺氣汽沂淇玘琦琪璂璣畸畿碁磯祁祇祈祺箕紀綺羈耆耭肌記譏豈起錡錤飢饑騎騏驥麒緊佶吉拮桔金喫儺喇奈娜懦懶拏拿癩",5,"那樂",4,"諾酪駱亂卵暖欄煖爛蘭難鸞捏捺南嵐枏楠湳濫男藍襤拉"],["d2a1","納臘蠟衲囊娘廊",4,"乃來內奈柰耐冷女年撚秊念恬拈捻寧寗努勞奴弩怒擄櫓爐瑙盧",5,"駑魯",10,"濃籠聾膿農惱牢磊腦賂雷尿壘",7,"嫩訥杻紐勒",5,"能菱陵尼泥匿溺多茶"],["d3a1","丹亶但單團壇彖斷旦檀段湍短端簞緞蛋袒鄲鍛撻澾獺疸達啖坍憺擔曇淡湛潭澹痰聃膽蕁覃談譚錟沓畓答踏遝唐堂塘幢戇撞棠當糖螳黨代垈坮大對岱帶待戴擡玳臺袋貸隊黛宅德悳倒刀到圖堵塗導屠島嶋度徒悼挑掉搗桃"],["d4a1","棹櫂淘渡滔濤燾盜睹禱稻萄覩賭跳蹈逃途道都鍍陶韜毒瀆牘犢獨督禿篤纛讀墩惇敦旽暾沌焞燉豚頓乭突仝冬凍動同憧東桐棟洞潼疼瞳童胴董銅兜斗杜枓痘竇荳讀豆逗頭屯臀芚遁遯鈍得嶝橙燈登等藤謄鄧騰喇懶拏癩羅"],["d5a1","蘿螺裸邏樂洛烙珞絡落諾酪駱丹亂卵欄欒瀾爛蘭鸞剌辣嵐擥攬欖濫籃纜藍襤覽拉臘蠟廊朗浪狼琅瑯螂郞來崍徠萊冷掠略亮倆兩凉梁樑粮粱糧良諒輛量侶儷勵呂廬慮戾旅櫚濾礪藜蠣閭驢驪麗黎力曆歷瀝礫轢靂憐戀攣漣"],["d6a1","煉璉練聯蓮輦連鍊冽列劣洌烈裂廉斂殮濂簾獵令伶囹寧岺嶺怜玲笭羚翎聆逞鈴零靈領齡例澧禮醴隷勞怒撈擄櫓潞瀘爐盧老蘆虜路輅露魯鷺鹵碌祿綠菉錄鹿麓論壟弄朧瀧瓏籠聾儡瀨牢磊賂賚賴雷了僚寮廖料燎療瞭聊蓼"],["d7a1","遼鬧龍壘婁屢樓淚漏瘻累縷蔞褸鏤陋劉旒柳榴流溜瀏琉瑠留瘤硫謬類六戮陸侖倫崙淪綸輪律慄栗率隆勒肋凜凌楞稜綾菱陵俚利厘吏唎履悧李梨浬犁狸理璃異痢籬罹羸莉裏裡里釐離鯉吝潾燐璘藺躪隣鱗麟林淋琳臨霖砬"],["d8a1","立笠粒摩瑪痲碼磨馬魔麻寞幕漠膜莫邈万卍娩巒彎慢挽晩曼滿漫灣瞞萬蔓蠻輓饅鰻唜抹末沫茉襪靺亡妄忘忙望網罔芒茫莽輞邙埋妹媒寐昧枚梅每煤罵買賣邁魅脈貊陌驀麥孟氓猛盲盟萌冪覓免冕勉棉沔眄眠綿緬面麵滅"],["d9a1","蔑冥名命明暝椧溟皿瞑茗蓂螟酩銘鳴袂侮冒募姆帽慕摸摹暮某模母毛牟牡瑁眸矛耗芼茅謀謨貌木沐牧目睦穆鶩歿沒夢朦蒙卯墓妙廟描昴杳渺猫竗苗錨務巫憮懋戊拇撫无楙武毋無珷畝繆舞茂蕪誣貿霧鵡墨默們刎吻問文"],["daa1","汶紊紋聞蚊門雯勿沕物味媚尾嵋彌微未梶楣渼湄眉米美薇謎迷靡黴岷悶愍憫敏旻旼民泯玟珉緡閔密蜜謐剝博拍搏撲朴樸泊珀璞箔粕縛膊舶薄迫雹駁伴半反叛拌搬攀斑槃泮潘班畔瘢盤盼磐磻礬絆般蟠返頒飯勃拔撥渤潑"],["dba1","發跋醱鉢髮魃倣傍坊妨尨幇彷房放方旁昉枋榜滂磅紡肪膀舫芳蒡蚌訪謗邦防龐倍俳北培徘拜排杯湃焙盃背胚裴裵褙賠輩配陪伯佰帛柏栢白百魄幡樊煩燔番磻繁蕃藩飜伐筏罰閥凡帆梵氾汎泛犯範范法琺僻劈壁擘檗璧癖"],["dca1","碧蘗闢霹便卞弁變辨辯邊別瞥鱉鼈丙倂兵屛幷昞昺柄棅炳甁病秉竝輧餠騈保堡報寶普步洑湺潽珤甫菩補褓譜輔伏僕匐卜宓復服福腹茯蔔複覆輹輻馥鰒本乶俸奉封峯峰捧棒烽熢琫縫蓬蜂逢鋒鳳不付俯傅剖副否咐埠夫婦"],["dda1","孚孵富府復扶敷斧浮溥父符簿缶腐腑膚艀芙莩訃負賦賻赴趺部釜阜附駙鳧北分吩噴墳奔奮忿憤扮昐汾焚盆粉糞紛芬賁雰不佛弗彿拂崩朋棚硼繃鵬丕備匕匪卑妃婢庇悲憊扉批斐枇榧比毖毗毘沸泌琵痺砒碑秕秘粃緋翡肥"],["dea1","脾臂菲蜚裨誹譬費鄙非飛鼻嚬嬪彬斌檳殯浜濱瀕牝玭貧賓頻憑氷聘騁乍事些仕伺似使俟僿史司唆嗣四士奢娑寫寺射巳師徙思捨斜斯柶査梭死沙泗渣瀉獅砂社祀祠私篩紗絲肆舍莎蓑蛇裟詐詞謝賜赦辭邪飼駟麝削數朔索"],["dfa1","傘刪山散汕珊産疝算蒜酸霰乷撒殺煞薩三參杉森渗芟蔘衫揷澁鈒颯上傷像償商喪嘗孀尙峠常床庠廂想桑橡湘爽牀狀相祥箱翔裳觴詳象賞霜塞璽賽嗇塞穡索色牲生甥省笙墅壻嶼序庶徐恕抒捿敍暑曙書栖棲犀瑞筮絮緖署"],["e0a1","胥舒薯西誓逝鋤黍鼠夕奭席惜昔晳析汐淅潟石碩蓆釋錫仙僊先善嬋宣扇敾旋渲煽琁瑄璇璿癬禪線繕羨腺膳船蘚蟬詵跣選銑鐥饍鮮卨屑楔泄洩渫舌薛褻設說雪齧剡暹殲纖蟾贍閃陝攝涉燮葉城姓宬性惺成星晟猩珹盛省筬"],["e1a1","聖聲腥誠醒世勢歲洗稅笹細說貰召嘯塑宵小少巢所掃搔昭梳沼消溯瀟炤燒甦疏疎瘙笑篠簫素紹蔬蕭蘇訴逍遡邵銷韶騷俗屬束涑粟續謖贖速孫巽損蓀遜飡率宋悚松淞訟誦送頌刷殺灑碎鎖衰釗修受嗽囚垂壽嫂守岫峀帥愁"],["e2a1","戍手授搜收數樹殊水洙漱燧狩獸琇璲瘦睡秀穗竪粹綏綬繡羞脩茱蒐蓚藪袖誰讐輸遂邃酬銖銹隋隧隨雖需須首髓鬚叔塾夙孰宿淑潚熟琡璹肅菽巡徇循恂旬栒楯橓殉洵淳珣盾瞬筍純脣舜荀蓴蕣詢諄醇錞順馴戌術述鉥崇崧"],["e3a1","嵩瑟膝蝨濕拾習褶襲丞乘僧勝升承昇繩蠅陞侍匙嘶始媤尸屎屍市弑恃施是時枾柴猜矢示翅蒔蓍視試詩諡豕豺埴寔式息拭植殖湜熄篒蝕識軾食飾伸侁信呻娠宸愼新晨燼申神紳腎臣莘薪藎蜃訊身辛辰迅失室實悉審尋心沁"],["e4a1","沈深瀋甚芯諶什十拾雙氏亞俄兒啞娥峨我牙芽莪蛾衙訝阿雅餓鴉鵝堊岳嶽幄惡愕握樂渥鄂鍔顎鰐齷安岸按晏案眼雁鞍顔鮟斡謁軋閼唵岩巖庵暗癌菴闇壓押狎鴨仰央怏昻殃秧鴦厓哀埃崖愛曖涯碍艾隘靄厄扼掖液縊腋額"],["e5a1","櫻罌鶯鸚也倻冶夜惹揶椰爺耶若野弱掠略約若葯蒻藥躍亮佯兩凉壤孃恙揚攘敭暘梁楊樣洋瀁煬痒瘍禳穰糧羊良襄諒讓釀陽量養圄御於漁瘀禦語馭魚齬億憶抑檍臆偃堰彦焉言諺孼蘖俺儼嚴奄掩淹嶪業円予余勵呂女如廬"],["e6a1","旅歟汝濾璵礖礪與艅茹輿轝閭餘驪麗黎亦力域役易曆歷疫繹譯轢逆驛嚥堧姸娟宴年延憐戀捐挻撚椽沇沿涎涓淵演漣烟然煙煉燃燕璉硏硯秊筵緣練縯聯衍軟輦蓮連鉛鍊鳶列劣咽悅涅烈熱裂說閱厭廉念捻染殮炎焰琰艶苒"],["e7a1","簾閻髥鹽曄獵燁葉令囹塋寧嶺嶸影怜映暎楹榮永泳渶潁濚瀛瀯煐營獰玲瑛瑩瓔盈穎纓羚聆英詠迎鈴鍈零霙靈領乂倪例刈叡曳汭濊猊睿穢芮藝蘂禮裔詣譽豫醴銳隸霓預五伍俉傲午吾吳嗚塢墺奧娛寤悟惡懊敖旿晤梧汚澳"],["e8a1","烏熬獒筽蜈誤鰲鼇屋沃獄玉鈺溫瑥瘟穩縕蘊兀壅擁瓮甕癰翁邕雍饔渦瓦窩窪臥蛙蝸訛婉完宛梡椀浣玩琓琬碗緩翫脘腕莞豌阮頑曰往旺枉汪王倭娃歪矮外嵬巍猥畏了僚僥凹堯夭妖姚寥寮尿嶢拗搖撓擾料曜樂橈燎燿瑤療"],["e9a1","窈窯繇繞耀腰蓼蟯要謠遙遼邀饒慾欲浴縟褥辱俑傭冗勇埇墉容庸慂榕涌湧溶熔瑢用甬聳茸蓉踊鎔鏞龍于佑偶優又友右宇寓尤愚憂旴牛玗瑀盂祐禑禹紆羽芋藕虞迂遇郵釪隅雨雩勖彧旭昱栯煜稶郁頊云暈橒殞澐熉耘芸蕓"],["eaa1","運隕雲韻蔚鬱亐熊雄元原員圓園垣媛嫄寃怨愿援沅洹湲源爰猿瑗苑袁轅遠阮院願鴛月越鉞位偉僞危圍委威尉慰暐渭爲瑋緯胃萎葦蔿蝟衛褘謂違韋魏乳侑儒兪劉唯喩孺宥幼幽庾悠惟愈愉揄攸有杻柔柚柳楡楢油洧流游溜"],["eba1","濡猶猷琉瑜由留癒硫紐維臾萸裕誘諛諭踰蹂遊逾遺酉釉鍮類六堉戮毓肉育陸倫允奫尹崙淪潤玧胤贇輪鈗閏律慄栗率聿戎瀜絨融隆垠恩慇殷誾銀隱乙吟淫蔭陰音飮揖泣邑凝應膺鷹依倚儀宜意懿擬椅毅疑矣義艤薏蟻衣誼"],["eca1","議醫二以伊利吏夷姨履已弛彛怡易李梨泥爾珥理異痍痢移罹而耳肄苡荑裏裡貽貳邇里離飴餌匿溺瀷益翊翌翼謚人仁刃印吝咽因姻寅引忍湮燐璘絪茵藺蚓認隣靭靷鱗麟一佚佾壹日溢逸鎰馹任壬妊姙恁林淋稔臨荏賃入卄"],["eda1","立笠粒仍剩孕芿仔刺咨姉姿子字孜恣慈滋炙煮玆瓷疵磁紫者自茨蔗藉諮資雌作勺嚼斫昨灼炸爵綽芍酌雀鵲孱棧殘潺盞岑暫潛箴簪蠶雜丈仗匠場墻壯奬將帳庄張掌暲杖樟檣欌漿牆狀獐璋章粧腸臟臧莊葬蔣薔藏裝贓醬長"],["eea1","障再哉在宰才材栽梓渽滓災縡裁財載齋齎爭箏諍錚佇低儲咀姐底抵杵楮樗沮渚狙猪疽箸紵苧菹著藷詛貯躇這邸雎齟勣吊嫡寂摘敵滴狄炙的積笛籍績翟荻謫賊赤跡蹟迪迹適鏑佃佺傳全典前剪塡塼奠專展廛悛戰栓殿氈澱"],["efa1","煎琠田甸畑癲筌箋箭篆纏詮輾轉鈿銓錢鐫電顚顫餞切截折浙癤竊節絶占岾店漸点粘霑鮎點接摺蝶丁井亭停偵呈姃定幀庭廷征情挺政整旌晶晸柾楨檉正汀淀淨渟湞瀞炡玎珽町睛碇禎程穽精綎艇訂諪貞鄭酊釘鉦鋌錠霆靖"],["f0a1","靜頂鼎制劑啼堤帝弟悌提梯濟祭第臍薺製諸蹄醍除際霽題齊俎兆凋助嘲弔彫措操早晁曺曹朝條棗槽漕潮照燥爪璪眺祖祚租稠窕粗糟組繰肇藻蚤詔調趙躁造遭釣阻雕鳥族簇足鏃存尊卒拙猝倧宗從悰慫棕淙琮種終綜縱腫"],["f1a1","踪踵鍾鐘佐坐左座挫罪主住侏做姝胄呪周嗾奏宙州廚晝朱柱株注洲湊澍炷珠疇籌紂紬綢舟蛛註誅走躊輳週酎酒鑄駐竹粥俊儁准埈寯峻晙樽浚準濬焌畯竣蠢逡遵雋駿茁中仲衆重卽櫛楫汁葺增憎曾拯烝甑症繒蒸證贈之只"],["f2a1","咫地址志持指摯支旨智枝枳止池沚漬知砥祉祗紙肢脂至芝芷蜘誌識贄趾遲直稙稷織職唇嗔塵振搢晉晋桭榛殄津溱珍瑨璡畛疹盡眞瞋秦縉縝臻蔯袗診賑軫辰進鎭陣陳震侄叱姪嫉帙桎瓆疾秩窒膣蛭質跌迭斟朕什執潗緝輯"],["f3a1","鏶集徵懲澄且侘借叉嗟嵯差次此磋箚茶蹉車遮捉搾着窄錯鑿齪撰澯燦璨瓚竄簒纂粲纘讚贊鑽餐饌刹察擦札紮僭參塹慘慙懺斬站讒讖倉倡創唱娼廠彰愴敞昌昶暢槍滄漲猖瘡窓脹艙菖蒼債埰寀寨彩採砦綵菜蔡采釵冊柵策"],["f4a1","責凄妻悽處倜刺剔尺慽戚拓擲斥滌瘠脊蹠陟隻仟千喘天川擅泉淺玔穿舛薦賤踐遷釧闡阡韆凸哲喆徹撤澈綴輟轍鐵僉尖沾添甛瞻簽籤詹諂堞妾帖捷牒疊睫諜貼輒廳晴淸聽菁請靑鯖切剃替涕滯締諦逮遞體初剿哨憔抄招梢"],["f5a1","椒楚樵炒焦硝礁礎秒稍肖艸苕草蕉貂超酢醋醮促囑燭矗蜀觸寸忖村邨叢塚寵悤憁摠總聰蔥銃撮催崔最墜抽推椎楸樞湫皺秋芻萩諏趨追鄒酋醜錐錘鎚雛騶鰍丑畜祝竺筑築縮蓄蹙蹴軸逐春椿瑃出朮黜充忠沖蟲衝衷悴膵萃"],["f6a1","贅取吹嘴娶就炊翠聚脆臭趣醉驟鷲側仄厠惻測層侈値嗤峙幟恥梔治淄熾痔痴癡稚穉緇緻置致蚩輜雉馳齒則勅飭親七柒漆侵寢枕沈浸琛砧針鍼蟄秤稱快他咤唾墮妥惰打拖朶楕舵陀馱駝倬卓啄坼度托拓擢晫柝濁濯琢琸託"],["f7a1","鐸呑嘆坦彈憚歎灘炭綻誕奪脫探眈耽貪塔搭榻宕帑湯糖蕩兌台太怠態殆汰泰笞胎苔跆邰颱宅擇澤撑攄兎吐土討慟桶洞痛筒統通堆槌腿褪退頹偸套妬投透鬪慝特闖坡婆巴把播擺杷波派爬琶破罷芭跛頗判坂板版瓣販辦鈑"],["f8a1","阪八叭捌佩唄悖敗沛浿牌狽稗覇貝彭澎烹膨愎便偏扁片篇編翩遍鞭騙貶坪平枰萍評吠嬖幣廢弊斃肺蔽閉陛佈包匍匏咆哺圃布怖抛抱捕暴泡浦疱砲胞脯苞葡蒲袍褒逋鋪飽鮑幅暴曝瀑爆輻俵剽彪慓杓標漂瓢票表豹飇飄驃"],["f9a1","品稟楓諷豊風馮彼披疲皮被避陂匹弼必泌珌畢疋筆苾馝乏逼下何厦夏廈昰河瑕荷蝦賀遐霞鰕壑學虐謔鶴寒恨悍旱汗漢澣瀚罕翰閑閒限韓割轄函含咸啣喊檻涵緘艦銜陷鹹合哈盒蛤閤闔陜亢伉姮嫦巷恒抗杭桁沆港缸肛航"],["faa1","行降項亥偕咳垓奚孩害懈楷海瀣蟹解該諧邂駭骸劾核倖幸杏荇行享向嚮珦鄕響餉饗香噓墟虛許憲櫶獻軒歇險驗奕爀赫革俔峴弦懸晛泫炫玄玹現眩睍絃絢縣舷衒見賢鉉顯孑穴血頁嫌俠協夾峽挾浹狹脅脇莢鋏頰亨兄刑型"],["fba1","形泂滎瀅灐炯熒珩瑩荊螢衡逈邢鎣馨兮彗惠慧暳蕙蹊醯鞋乎互呼壕壺好岵弧戶扈昊晧毫浩淏湖滸澔濠濩灝狐琥瑚瓠皓祜糊縞胡芦葫蒿虎號蝴護豪鎬頀顥惑或酷婚昏混渾琿魂忽惚笏哄弘汞泓洪烘紅虹訌鴻化和嬅樺火畵"],["fca1","禍禾花華話譁貨靴廓擴攫確碻穫丸喚奐宦幻患換歡晥桓渙煥環紈還驩鰥活滑猾豁闊凰幌徨恍惶愰慌晃晄榥況湟滉潢煌璜皇篁簧荒蝗遑隍黃匯回廻徊恢悔懷晦會檜淮澮灰獪繪膾茴蛔誨賄劃獲宖橫鐄哮嚆孝效斅曉梟涍淆"],["fda1","爻肴酵驍侯候厚后吼喉嗅帿後朽煦珝逅勛勳塤壎焄熏燻薰訓暈薨喧暄煊萱卉喙毁彙徽揮暉煇諱輝麾休携烋畦虧恤譎鷸兇凶匈洶胸黑昕欣炘痕吃屹紇訖欠欽歆吸恰洽翕興僖凞喜噫囍姬嬉希憙憘戱晞曦熙熹熺犧禧稀羲詰"]]}});var require_cp950=__commonJS({"node_modules/iconv-lite/encodings/tables/cp950.json"(exports2,module2){module2.exports=[["0","\0",127],["a140","　，、。．‧；：？！︰…‥﹐﹑﹒·﹔﹕﹖﹗｜–︱—︳╴︴﹏（）︵︶｛｝︷︸〔〕︹︺【】︻︼《》︽︾〈〉︿﹀「」﹁﹂『』﹃﹄﹙﹚"],["a1a1","﹛﹜﹝﹞‘’“”〝〞‵′＃＆＊※§〃○●△▲◎☆★◇◆□■▽▼㊣℅¯￣＿ˍ﹉﹊﹍﹎﹋﹌﹟﹠﹡＋－×÷±√＜＞＝≦≧≠∞≒≡﹢",4,"～∩∪⊥∠∟⊿㏒㏑∫∮∵∴♀♂⊕⊙↑↓←→↖↗↙↘∥∣／"],["a240","＼∕﹨＄￥〒￠￡％＠℃℉﹩﹪﹫㏕㎜㎝㎞㏎㎡㎎㎏㏄°兙兛兞兝兡兣嗧瓩糎▁",7,"▏▎▍▌▋▊▉┼┴┬┤├▔─│▕┌┐└┘╭"],["a2a1","╮╰╯═╞╪╡◢◣◥◤╱╲╳０",9,"Ⅰ",9,"〡",8,"十卄卅Ａ",25,"ａ",21],["a340","ｗｘｙｚΑ",16,"Σ",6,"α",16,"σ",6,"ㄅ",10],["a3a1","ㄐ",25,"˙ˉˊˇˋ"],["a3e1","€"],["a440","一乙丁七乃九了二人儿入八几刀刁力匕十卜又三下丈上丫丸凡久么也乞于亡兀刃勺千叉口土士夕大女子孑孓寸小尢尸山川工己已巳巾干廾弋弓才"],["a4a1","丑丐不中丰丹之尹予云井互五亢仁什仃仆仇仍今介仄元允內六兮公冗凶分切刈勻勾勿化匹午升卅卞厄友及反壬天夫太夭孔少尤尺屯巴幻廿弔引心戈戶手扎支文斗斤方日曰月木欠止歹毋比毛氏水火爪父爻片牙牛犬王丙"],["a540","世丕且丘主乍乏乎以付仔仕他仗代令仙仞充兄冉冊冬凹出凸刊加功包匆北匝仟半卉卡占卯卮去可古右召叮叩叨叼司叵叫另只史叱台句叭叻四囚外"],["a5a1","央失奴奶孕它尼巨巧左市布平幼弁弘弗必戊打扔扒扑斥旦朮本未末札正母民氐永汁汀氾犯玄玉瓜瓦甘生用甩田由甲申疋白皮皿目矛矢石示禾穴立丞丟乒乓乩亙交亦亥仿伉伙伊伕伍伐休伏仲件任仰仳份企伋光兇兆先全"],["a640","共再冰列刑划刎刖劣匈匡匠印危吉吏同吊吐吁吋各向名合吃后吆吒因回囝圳地在圭圬圯圩夙多夷夸妄奸妃好她如妁字存宇守宅安寺尖屹州帆并年"],["a6a1","式弛忙忖戎戌戍成扣扛托收早旨旬旭曲曳有朽朴朱朵次此死氖汝汗汙江池汐汕污汛汍汎灰牟牝百竹米糸缶羊羽老考而耒耳聿肉肋肌臣自至臼舌舛舟艮色艾虫血行衣西阡串亨位住佇佗佞伴佛何估佐佑伽伺伸佃佔似但佣"],["a740","作你伯低伶余佝佈佚兌克免兵冶冷別判利刪刨劫助努劬匣即卵吝吭吞吾否呎吧呆呃吳呈呂君吩告吹吻吸吮吵吶吠吼呀吱含吟听囪困囤囫坊坑址坍"],["a7a1","均坎圾坐坏圻壯夾妝妒妨妞妣妙妖妍妤妓妊妥孝孜孚孛完宋宏尬局屁尿尾岐岑岔岌巫希序庇床廷弄弟彤形彷役忘忌志忍忱快忸忪戒我抄抗抖技扶抉扭把扼找批扳抒扯折扮投抓抑抆改攻攸旱更束李杏材村杜杖杞杉杆杠"],["a840","杓杗步每求汞沙沁沈沉沅沛汪決沐汰沌汨沖沒汽沃汲汾汴沆汶沍沔沘沂灶灼災灸牢牡牠狄狂玖甬甫男甸皂盯矣私秀禿究系罕肖肓肝肘肛肚育良芒"],["a8a1","芋芍見角言谷豆豕貝赤走足身車辛辰迂迆迅迄巡邑邢邪邦那酉釆里防阮阱阪阬並乖乳事些亞享京佯依侍佳使佬供例來侃佰併侈佩佻侖佾侏侑佺兔兒兕兩具其典冽函刻券刷刺到刮制剁劾劻卒協卓卑卦卷卸卹取叔受味呵"],["a940","咖呸咕咀呻呷咄咒咆呼咐呱呶和咚呢周咋命咎固垃坷坪坩坡坦坤坼夜奉奇奈奄奔妾妻委妹妮姑姆姐姍始姓姊妯妳姒姅孟孤季宗定官宜宙宛尚屈居"],["a9a1","屆岷岡岸岩岫岱岳帘帚帖帕帛帑幸庚店府底庖延弦弧弩往征彿彼忝忠忽念忿怏怔怯怵怖怪怕怡性怩怫怛或戕房戾所承拉拌拄抿拂抹拒招披拓拔拋拈抨抽押拐拙拇拍抵拚抱拘拖拗拆抬拎放斧於旺昔易昌昆昂明昀昏昕昊"],["aa40","昇服朋杭枋枕東果杳杷枇枝林杯杰板枉松析杵枚枓杼杪杲欣武歧歿氓氛泣注泳沱泌泥河沽沾沼波沫法泓沸泄油況沮泗泅泱沿治泡泛泊沬泯泜泖泠"],["aaa1","炕炎炒炊炙爬爭爸版牧物狀狎狙狗狐玩玨玟玫玥甽疝疙疚的盂盲直知矽社祀祁秉秈空穹竺糾罔羌羋者肺肥肢肱股肫肩肴肪肯臥臾舍芳芝芙芭芽芟芹花芬芥芯芸芣芰芾芷虎虱初表軋迎返近邵邸邱邶采金長門阜陀阿阻附"],["ab40","陂隹雨青非亟亭亮信侵侯便俠俑俏保促侶俘俟俊俗侮俐俄係俚俎俞侷兗冒冑冠剎剃削前剌剋則勇勉勃勁匍南卻厚叛咬哀咨哎哉咸咦咳哇哂咽咪品"],["aba1","哄哈咯咫咱咻咩咧咿囿垂型垠垣垢城垮垓奕契奏奎奐姜姘姿姣姨娃姥姪姚姦威姻孩宣宦室客宥封屎屏屍屋峙峒巷帝帥帟幽庠度建弈弭彥很待徊律徇後徉怒思怠急怎怨恍恰恨恢恆恃恬恫恪恤扁拜挖按拼拭持拮拽指拱拷"],["ac40","拯括拾拴挑挂政故斫施既春昭映昧是星昨昱昤曷柿染柱柔某柬架枯柵柩柯柄柑枴柚查枸柏柞柳枰柙柢柝柒歪殃殆段毒毗氟泉洋洲洪流津洌洱洞洗"],["aca1","活洽派洶洛泵洹洧洸洩洮洵洎洫炫為炳炬炯炭炸炮炤爰牲牯牴狩狠狡玷珊玻玲珍珀玳甚甭畏界畎畋疫疤疥疢疣癸皆皇皈盈盆盃盅省盹相眉看盾盼眇矜砂研砌砍祆祉祈祇禹禺科秒秋穿突竿竽籽紂紅紀紉紇約紆缸美羿耄"],["ad40","耐耍耑耶胖胥胚胃胄背胡胛胎胞胤胝致舢苧范茅苣苛苦茄若茂茉苒苗英茁苜苔苑苞苓苟苯茆虐虹虻虺衍衫要觔計訂訃貞負赴赳趴軍軌述迦迢迪迥"],["ada1","迭迫迤迨郊郎郁郃酋酊重閂限陋陌降面革韋韭音頁風飛食首香乘亳倌倍倣俯倦倥俸倩倖倆值借倚倒們俺倀倔倨俱倡個候倘俳修倭倪俾倫倉兼冤冥冢凍凌准凋剖剜剔剛剝匪卿原厝叟哨唐唁唷哼哥哲唆哺唔哩哭員唉哮哪"],["ae40","哦唧唇哽唏圃圄埂埔埋埃堉夏套奘奚娑娘娜娟娛娓姬娠娣娩娥娌娉孫屘宰害家宴宮宵容宸射屑展屐峭峽峻峪峨峰島崁峴差席師庫庭座弱徒徑徐恙"],["aea1","恣恥恐恕恭恩息悄悟悚悍悔悌悅悖扇拳挈拿捎挾振捕捂捆捏捉挺捐挽挪挫挨捍捌效敉料旁旅時晉晏晃晒晌晅晁書朔朕朗校核案框桓根桂桔栩梳栗桌桑栽柴桐桀格桃株桅栓栘桁殊殉殷氣氧氨氦氤泰浪涕消涇浦浸海浙涓"],["af40","浬涉浮浚浴浩涌涊浹涅浥涔烊烘烤烙烈烏爹特狼狹狽狸狷玆班琉珮珠珪珞畔畝畜畚留疾病症疲疳疽疼疹痂疸皋皰益盍盎眩真眠眨矩砰砧砸砝破砷"],["afa1","砥砭砠砟砲祕祐祠祟祖神祝祗祚秤秣秧租秦秩秘窄窈站笆笑粉紡紗紋紊素索純紐紕級紜納紙紛缺罟羔翅翁耆耘耕耙耗耽耿胱脂胰脅胭胴脆胸胳脈能脊胼胯臭臬舀舐航舫舨般芻茫荒荔荊茸荐草茵茴荏茲茹茶茗荀茱茨荃"],["b040","虔蚊蚪蚓蚤蚩蚌蚣蚜衰衷袁袂衽衹記訐討訌訕訊託訓訖訏訑豈豺豹財貢起躬軒軔軏辱送逆迷退迺迴逃追逅迸邕郡郝郢酒配酌釘針釗釜釙閃院陣陡"],["b0a1","陛陝除陘陞隻飢馬骨高鬥鬲鬼乾偺偽停假偃偌做偉健偶偎偕偵側偷偏倏偯偭兜冕凰剪副勒務勘動匐匏匙匿區匾參曼商啪啦啄啞啡啃啊唱啖問啕唯啤唸售啜唬啣唳啁啗圈國圉域堅堊堆埠埤基堂堵執培夠奢娶婁婉婦婪婀"],["b140","娼婢婚婆婊孰寇寅寄寂宿密尉專將屠屜屝崇崆崎崛崖崢崑崩崔崙崤崧崗巢常帶帳帷康庸庶庵庾張強彗彬彩彫得徙從徘御徠徜恿患悉悠您惋悴惦悽"],["b1a1","情悻悵惜悼惘惕惆惟悸惚惇戚戛扈掠控捲掖探接捷捧掘措捱掩掉掃掛捫推掄授掙採掬排掏掀捻捩捨捺敝敖救教敗啟敏敘敕敔斜斛斬族旋旌旎晝晚晤晨晦晞曹勗望梁梯梢梓梵桿桶梱梧梗械梃棄梭梆梅梔條梨梟梡梂欲殺"],["b240","毫毬氫涎涼淳淙液淡淌淤添淺清淇淋涯淑涮淞淹涸混淵淅淒渚涵淚淫淘淪深淮淨淆淄涪淬涿淦烹焉焊烽烯爽牽犁猜猛猖猓猙率琅琊球理現琍瓠瓶"],["b2a1","瓷甜產略畦畢異疏痔痕疵痊痍皎盔盒盛眷眾眼眶眸眺硫硃硎祥票祭移窒窕笠笨笛第符笙笞笮粒粗粕絆絃統紮紹紼絀細紳組累終紲紱缽羞羚翌翎習耜聊聆脯脖脣脫脩脰脤舂舵舷舶船莎莞莘荸莢莖莽莫莒莊莓莉莠荷荻荼"],["b340","莆莧處彪蛇蛀蚶蛄蚵蛆蛋蚱蚯蛉術袞袈被袒袖袍袋覓規訪訝訣訥許設訟訛訢豉豚販責貫貨貪貧赧赦趾趺軛軟這逍通逗連速逝逐逕逞造透逢逖逛途"],["b3a1","部郭都酗野釵釦釣釧釭釩閉陪陵陳陸陰陴陶陷陬雀雪雩章竟頂頃魚鳥鹵鹿麥麻傢傍傅備傑傀傖傘傚最凱割剴創剩勞勝勛博厥啻喀喧啼喊喝喘喂喜喪喔喇喋喃喳單喟唾喲喚喻喬喱啾喉喫喙圍堯堪場堤堰報堡堝堠壹壺奠"],["b440","婷媚婿媒媛媧孳孱寒富寓寐尊尋就嵌嵐崴嵇巽幅帽幀幃幾廊廁廂廄弼彭復循徨惑惡悲悶惠愜愣惺愕惰惻惴慨惱愎惶愉愀愒戟扉掣掌描揀揩揉揆揍"],["b4a1","插揣提握揖揭揮捶援揪換摒揚揹敞敦敢散斑斐斯普晰晴晶景暑智晾晷曾替期朝棺棕棠棘棗椅棟棵森棧棹棒棲棣棋棍植椒椎棉棚楮棻款欺欽殘殖殼毯氮氯氬港游湔渡渲湧湊渠渥渣減湛湘渤湖湮渭渦湯渴湍渺測湃渝渾滋"],["b540","溉渙湎湣湄湲湩湟焙焚焦焰無然煮焜牌犄犀猶猥猴猩琺琪琳琢琥琵琶琴琯琛琦琨甥甦畫番痢痛痣痙痘痞痠登發皖皓皴盜睏短硝硬硯稍稈程稅稀窘"],["b5a1","窗窖童竣等策筆筐筒答筍筋筏筑粟粥絞結絨絕紫絮絲絡給絢絰絳善翔翕耋聒肅腕腔腋腑腎脹腆脾腌腓腴舒舜菩萃菸萍菠菅萋菁華菱菴著萊菰萌菌菽菲菊萸萎萄菜萇菔菟虛蛟蛙蛭蛔蛛蛤蛐蛞街裁裂袱覃視註詠評詞証詁"],["b640","詔詛詐詆訴診訶詖象貂貯貼貳貽賁費賀貴買貶貿貸越超趁跎距跋跚跑跌跛跆軻軸軼辜逮逵週逸進逶鄂郵鄉郾酣酥量鈔鈕鈣鈉鈞鈍鈐鈇鈑閔閏開閑"],["b6a1","間閒閎隊階隋陽隅隆隍陲隄雁雅雄集雇雯雲韌項順須飧飪飯飩飲飭馮馭黃黍黑亂傭債傲傳僅傾催傷傻傯僇剿剷剽募勦勤勢勣匯嗟嗨嗓嗦嗎嗜嗇嗑嗣嗤嗯嗚嗡嗅嗆嗥嗉園圓塞塑塘塗塚塔填塌塭塊塢塒塋奧嫁嫉嫌媾媽媼"],["b740","媳嫂媲嵩嵯幌幹廉廈弒彙徬微愚意慈感想愛惹愁愈慎慌慄慍愾愴愧愍愆愷戡戢搓搾搞搪搭搽搬搏搜搔損搶搖搗搆敬斟新暗暉暇暈暖暄暘暍會榔業"],["b7a1","楚楷楠楔極椰概楊楨楫楞楓楹榆楝楣楛歇歲毀殿毓毽溢溯滓溶滂源溝滇滅溥溘溼溺溫滑準溜滄滔溪溧溴煎煙煩煤煉照煜煬煦煌煥煞煆煨煖爺牒猷獅猿猾瑯瑚瑕瑟瑞瑁琿瑙瑛瑜當畸瘀痰瘁痲痱痺痿痴痳盞盟睛睫睦睞督"],["b840","睹睪睬睜睥睨睢矮碎碰碗碘碌碉硼碑碓硿祺祿禁萬禽稜稚稠稔稟稞窟窠筷節筠筮筧粱粳粵經絹綑綁綏絛置罩罪署義羨群聖聘肆肄腱腰腸腥腮腳腫"],["b8a1","腹腺腦舅艇蒂葷落萱葵葦葫葉葬葛萼萵葡董葩葭葆虞虜號蛹蜓蜈蜇蜀蛾蛻蜂蜃蜆蜊衙裟裔裙補裘裝裡裊裕裒覜解詫該詳試詩詰誇詼詣誠話誅詭詢詮詬詹詻訾詨豢貊貉賊資賈賄貲賃賂賅跡跟跨路跳跺跪跤跦躲較載軾輊"],["b940","辟農運遊道遂達逼違遐遇遏過遍遑逾遁鄒鄗酬酪酩釉鈷鉗鈸鈽鉀鈾鉛鉋鉤鉑鈴鉉鉍鉅鈹鈿鉚閘隘隔隕雍雋雉雊雷電雹零靖靴靶預頑頓頊頒頌飼飴"],["b9a1","飽飾馳馱馴髡鳩麂鼎鼓鼠僧僮僥僖僭僚僕像僑僱僎僩兢凳劃劂匱厭嗾嘀嘛嘗嗽嘔嘆嘉嘍嘎嗷嘖嘟嘈嘐嗶團圖塵塾境墓墊塹墅塽壽夥夢夤奪奩嫡嫦嫩嫗嫖嫘嫣孵寞寧寡寥實寨寢寤察對屢嶄嶇幛幣幕幗幔廓廖弊彆彰徹慇"],["ba40","愿態慷慢慣慟慚慘慵截撇摘摔撤摸摟摺摑摧搴摭摻敲斡旗旖暢暨暝榜榨榕槁榮槓構榛榷榻榫榴槐槍榭槌榦槃榣歉歌氳漳演滾漓滴漩漾漠漬漏漂漢"],["baa1","滿滯漆漱漸漲漣漕漫漯澈漪滬漁滲滌滷熔熙煽熊熄熒爾犒犖獄獐瑤瑣瑪瑰瑭甄疑瘧瘍瘋瘉瘓盡監瞄睽睿睡磁碟碧碳碩碣禎福禍種稱窪窩竭端管箕箋筵算箝箔箏箸箇箄粹粽精綻綰綜綽綾綠緊綴網綱綺綢綿綵綸維緒緇綬"],["bb40","罰翠翡翟聞聚肇腐膀膏膈膊腿膂臧臺與舔舞艋蓉蒿蓆蓄蒙蒞蒲蒜蓋蒸蓀蓓蒐蒼蓑蓊蜿蜜蜻蜢蜥蜴蜘蝕蜷蜩裳褂裴裹裸製裨褚裯誦誌語誣認誡誓誤"],["bba1","說誥誨誘誑誚誧豪貍貌賓賑賒赫趙趕跼輔輒輕輓辣遠遘遜遣遙遞遢遝遛鄙鄘鄞酵酸酷酴鉸銀銅銘銖鉻銓銜銨鉼銑閡閨閩閣閥閤隙障際雌雒需靼鞅韶頗領颯颱餃餅餌餉駁骯骰髦魁魂鳴鳶鳳麼鼻齊億儀僻僵價儂儈儉儅凜"],["bc40","劇劈劉劍劊勰厲嘮嘻嘹嘲嘿嘴嘩噓噎噗噴嘶嘯嘰墀墟增墳墜墮墩墦奭嬉嫻嬋嫵嬌嬈寮寬審寫層履嶝嶔幢幟幡廢廚廟廝廣廠彈影德徵慶慧慮慝慕憂"],["bca1","慼慰慫慾憧憐憫憎憬憚憤憔憮戮摩摯摹撞撲撈撐撰撥撓撕撩撒撮播撫撚撬撙撢撳敵敷數暮暫暴暱樣樟槨樁樞標槽模樓樊槳樂樅槭樑歐歎殤毅毆漿潼澄潑潦潔澆潭潛潸潮澎潺潰潤澗潘滕潯潠潟熟熬熱熨牖犛獎獗瑩璋璃"],["bd40","瑾璀畿瘠瘩瘟瘤瘦瘡瘢皚皺盤瞎瞇瞌瞑瞋磋磅確磊碾磕碼磐稿稼穀稽稷稻窯窮箭箱範箴篆篇篁箠篌糊締練緯緻緘緬緝編緣線緞緩綞緙緲緹罵罷羯"],["bda1","翩耦膛膜膝膠膚膘蔗蔽蔚蓮蔬蔭蔓蔑蔣蔡蔔蓬蔥蓿蔆螂蝴蝶蝠蝦蝸蝨蝙蝗蝌蝓衛衝褐複褒褓褕褊誼諒談諄誕請諸課諉諂調誰論諍誶誹諛豌豎豬賠賞賦賤賬賭賢賣賜質賡赭趟趣踫踐踝踢踏踩踟踡踞躺輝輛輟輩輦輪輜輞"],["be40","輥適遮遨遭遷鄰鄭鄧鄱醇醉醋醃鋅銻銷鋪銬鋤鋁銳銼鋒鋇鋰銲閭閱霄霆震霉靠鞍鞋鞏頡頫頜颳養餓餒餘駝駐駟駛駑駕駒駙骷髮髯鬧魅魄魷魯鴆鴉"],["bea1","鴃麩麾黎墨齒儒儘儔儐儕冀冪凝劑劓勳噙噫噹噩噤噸噪器噥噱噯噬噢噶壁墾壇壅奮嬝嬴學寰導彊憲憑憩憊懍憶憾懊懈戰擅擁擋撻撼據擄擇擂操撿擒擔撾整曆曉暹曄曇暸樽樸樺橙橫橘樹橄橢橡橋橇樵機橈歙歷氅濂澱澡"],["bf40","濃澤濁澧澳激澹澶澦澠澴熾燉燐燒燈燕熹燎燙燜燃燄獨璜璣璘璟璞瓢甌甍瘴瘸瘺盧盥瞠瞞瞟瞥磨磚磬磧禦積穎穆穌穋窺篙簑築篤篛篡篩篦糕糖縊"],["bfa1","縑縈縛縣縞縝縉縐罹羲翰翱翮耨膳膩膨臻興艘艙蕊蕙蕈蕨蕩蕃蕉蕭蕪蕞螃螟螞螢融衡褪褲褥褫褡親覦諦諺諫諱謀諜諧諮諾謁謂諷諭諳諶諼豫豭貓賴蹄踱踴蹂踹踵輻輯輸輳辨辦遵遴選遲遼遺鄴醒錠錶鋸錳錯錢鋼錫錄錚"],["c040","錐錦錡錕錮錙閻隧隨險雕霎霑霖霍霓霏靛靜靦鞘頰頸頻頷頭頹頤餐館餞餛餡餚駭駢駱骸骼髻髭鬨鮑鴕鴣鴦鴨鴒鴛默黔龍龜優償儡儲勵嚎嚀嚐嚅嚇"],["c0a1","嚏壕壓壑壎嬰嬪嬤孺尷屨嶼嶺嶽嶸幫彌徽應懂懇懦懋戲戴擎擊擘擠擰擦擬擱擢擭斂斃曙曖檀檔檄檢檜櫛檣橾檗檐檠歜殮毚氈濘濱濟濠濛濤濫濯澀濬濡濩濕濮濰燧營燮燦燥燭燬燴燠爵牆獰獲璩環璦璨癆療癌盪瞳瞪瞰瞬"],["c140","瞧瞭矯磷磺磴磯礁禧禪穗窿簇簍篾篷簌篠糠糜糞糢糟糙糝縮績繆縷縲繃縫總縱繅繁縴縹繈縵縿縯罄翳翼聱聲聰聯聳臆臃膺臂臀膿膽臉膾臨舉艱薪"],["c1a1","薄蕾薜薑薔薯薛薇薨薊虧蟀蟑螳蟒蟆螫螻螺蟈蟋褻褶襄褸褽覬謎謗謙講謊謠謝謄謐豁谿豳賺賽購賸賻趨蹉蹋蹈蹊轄輾轂轅輿避遽還邁邂邀鄹醣醞醜鍍鎂錨鍵鍊鍥鍋錘鍾鍬鍛鍰鍚鍔闊闋闌闈闆隱隸雖霜霞鞠韓顆颶餵騁"],["c240","駿鮮鮫鮪鮭鴻鴿麋黏點黜黝黛鼾齋叢嚕嚮壙壘嬸彝懣戳擴擲擾攆擺擻擷斷曜朦檳檬櫃檻檸櫂檮檯歟歸殯瀉瀋濾瀆濺瀑瀏燻燼燾燸獷獵璧璿甕癖癘"],["c2a1","癒瞽瞿瞻瞼礎禮穡穢穠竄竅簫簧簪簞簣簡糧織繕繞繚繡繒繙罈翹翻職聶臍臏舊藏薩藍藐藉薰薺薹薦蟯蟬蟲蟠覆覲觴謨謹謬謫豐贅蹙蹣蹦蹤蹟蹕軀轉轍邇邃邈醫醬釐鎔鎊鎖鎢鎳鎮鎬鎰鎘鎚鎗闔闖闐闕離雜雙雛雞霤鞣鞦"],["c340","鞭韹額顏題顎顓颺餾餿餽餮馥騎髁鬃鬆魏魎魍鯊鯉鯽鯈鯀鵑鵝鵠黠鼕鼬儳嚥壞壟壢寵龐廬懲懷懶懵攀攏曠曝櫥櫝櫚櫓瀛瀟瀨瀚瀝瀕瀘爆爍牘犢獸"],["c3a1","獺璽瓊瓣疇疆癟癡矇礙禱穫穩簾簿簸簽簷籀繫繭繹繩繪羅繳羶羹羸臘藩藝藪藕藤藥藷蟻蠅蠍蟹蟾襠襟襖襞譁譜識證譚譎譏譆譙贈贊蹼蹲躇蹶蹬蹺蹴轔轎辭邊邋醱醮鏡鏑鏟鏃鏈鏜鏝鏖鏢鏍鏘鏤鏗鏨關隴難霪霧靡韜韻類"],["c440","願顛颼饅饉騖騙鬍鯨鯧鯖鯛鶉鵡鵲鵪鵬麒麗麓麴勸嚨嚷嚶嚴嚼壤孀孃孽寶巉懸懺攘攔攙曦朧櫬瀾瀰瀲爐獻瓏癢癥礦礪礬礫竇競籌籃籍糯糰辮繽繼"],["c4a1","纂罌耀臚艦藻藹蘑藺蘆蘋蘇蘊蠔蠕襤覺觸議譬警譯譟譫贏贍躉躁躅躂醴釋鐘鐃鏽闡霰飄饒饑馨騫騰騷騵鰓鰍鹹麵黨鼯齟齣齡儷儸囁囀囂夔屬巍懼懾攝攜斕曩櫻欄櫺殲灌爛犧瓖瓔癩矓籐纏續羼蘗蘭蘚蠣蠢蠡蠟襪襬覽譴"],["c540","護譽贓躊躍躋轟辯醺鐮鐳鐵鐺鐸鐲鐫闢霸霹露響顧顥饗驅驃驀騾髏魔魑鰭鰥鶯鶴鷂鶸麝黯鼙齜齦齧儼儻囈囊囉孿巔巒彎懿攤權歡灑灘玀瓤疊癮癬"],["c5a1","禳籠籟聾聽臟襲襯觼讀贖贗躑躓轡酈鑄鑑鑒霽霾韃韁顫饕驕驍髒鬚鱉鰱鰾鰻鷓鷗鼴齬齪龔囌巖戀攣攫攪曬欐瓚竊籤籣籥纓纖纔臢蘸蘿蠱變邐邏鑣鑠鑤靨顯饜驚驛驗髓體髑鱔鱗鱖鷥麟黴囑壩攬灞癱癲矗罐羈蠶蠹衢讓讒"],["c640","讖艷贛釀鑪靂靈靄韆顰驟鬢魘鱟鷹鷺鹼鹽鼇齷齲廳欖灣籬籮蠻觀躡釁鑲鑰顱饞髖鬣黌灤矚讚鑷韉驢驥纜讜躪釅鑽鑾鑼鱷鱸黷豔鑿鸚爨驪鬱鸛鸞籲"],["c940","乂乜凵匚厂万丌乇亍囗兀屮彳丏冇与丮亓仂仉仈冘勼卬厹圠夃夬尐巿旡殳毌气爿丱丼仨仜仩仡仝仚刌匜卌圢圣夗夯宁宄尒尻屴屳帄庀庂忉戉扐氕"],["c9a1","氶汃氿氻犮犰玊禸肊阞伎优伬仵伔仱伀价伈伝伂伅伢伓伄仴伒冱刓刉刐劦匢匟卍厊吇囡囟圮圪圴夼妀奼妅奻奾奷奿孖尕尥屼屺屻屾巟幵庄异弚彴忕忔忏扜扞扤扡扦扢扙扠扚扥旯旮朾朹朸朻机朿朼朳氘汆汒汜汏汊汔汋"],["ca40","汌灱牞犴犵玎甪癿穵网艸艼芀艽艿虍襾邙邗邘邛邔阢阤阠阣佖伻佢佉体佤伾佧佒佟佁佘伭伳伿佡冏冹刜刞刡劭劮匉卣卲厎厏吰吷吪呔呅吙吜吥吘"],["caa1","吽呏呁吨吤呇囮囧囥坁坅坌坉坋坒夆奀妦妘妠妗妎妢妐妏妧妡宎宒尨尪岍岏岈岋岉岒岊岆岓岕巠帊帎庋庉庌庈庍弅弝彸彶忒忑忐忭忨忮忳忡忤忣忺忯忷忻怀忴戺抃抌抎抏抔抇扱扻扺扰抁抈扷扽扲扴攷旰旴旳旲旵杅杇"],["cb40","杙杕杌杈杝杍杚杋毐氙氚汸汧汫沄沋沏汱汯汩沚汭沇沕沜汦汳汥汻沎灴灺牣犿犽狃狆狁犺狅玕玗玓玔玒町甹疔疕皁礽耴肕肙肐肒肜芐芏芅芎芑芓"],["cba1","芊芃芄豸迉辿邟邡邥邞邧邠阰阨阯阭丳侘佼侅佽侀侇佶佴侉侄佷佌侗佪侚佹侁佸侐侜侔侞侒侂侕佫佮冞冼冾刵刲刳剆刱劼匊匋匼厒厔咇呿咁咑咂咈呫呺呾呥呬呴呦咍呯呡呠咘呣呧呤囷囹坯坲坭坫坱坰坶垀坵坻坳坴坢"],["cc40","坨坽夌奅妵妺姏姎妲姌姁妶妼姃姖妱妽姀姈妴姇孢孥宓宕屄屇岮岤岠岵岯岨岬岟岣岭岢岪岧岝岥岶岰岦帗帔帙弨弢弣弤彔徂彾彽忞忥怭怦怙怲怋"],["cca1","怴怊怗怳怚怞怬怢怍怐怮怓怑怌怉怜戔戽抭抴拑抾抪抶拊抮抳抯抻抩抰抸攽斨斻昉旼昄昒昈旻昃昋昍昅旽昑昐曶朊枅杬枎枒杶杻枘枆构杴枍枌杺枟枑枙枃杽极杸杹枔欥殀歾毞氝沓泬泫泮泙沶泔沭泧沷泐泂沺泃泆泭泲"],["cd40","泒泝沴沊沝沀泞泀洰泍泇沰泹泏泩泑炔炘炅炓炆炄炑炖炂炚炃牪狖狋狘狉狜狒狔狚狌狑玤玡玭玦玢玠玬玝瓝瓨甿畀甾疌疘皯盳盱盰盵矸矼矹矻矺"],["cda1","矷祂礿秅穸穻竻籵糽耵肏肮肣肸肵肭舠芠苀芫芚芘芛芵芧芮芼芞芺芴芨芡芩苂芤苃芶芢虰虯虭虮豖迒迋迓迍迖迕迗邲邴邯邳邰阹阽阼阺陃俍俅俓侲俉俋俁俔俜俙侻侳俛俇俖侺俀侹俬剄剉勀勂匽卼厗厖厙厘咺咡咭咥哏"],["ce40","哃茍咷咮哖咶哅哆咠呰咼咢咾呲哞咰垵垞垟垤垌垗垝垛垔垘垏垙垥垚垕壴复奓姡姞姮娀姱姝姺姽姼姶姤姲姷姛姩姳姵姠姾姴姭宨屌峐峘峌峗峋峛"],["cea1","峞峚峉峇峊峖峓峔峏峈峆峎峟峸巹帡帢帣帠帤庰庤庢庛庣庥弇弮彖徆怷怹恔恲恞恅恓恇恉恛恌恀恂恟怤恄恘恦恮扂扃拏挍挋拵挎挃拫拹挏挌拸拶挀挓挔拺挕拻拰敁敃斪斿昶昡昲昵昜昦昢昳昫昺昝昴昹昮朏朐柁柲柈枺"],["cf40","柜枻柸柘柀枷柅柫柤柟枵柍枳柷柶柮柣柂枹柎柧柰枲柼柆柭柌枮柦柛柺柉柊柃柪柋欨殂殄殶毖毘毠氠氡洨洴洭洟洼洿洒洊泚洳洄洙洺洚洑洀洝浂"],["cfa1","洁洘洷洃洏浀洇洠洬洈洢洉洐炷炟炾炱炰炡炴炵炩牁牉牊牬牰牳牮狊狤狨狫狟狪狦狣玅珌珂珈珅玹玶玵玴珫玿珇玾珃珆玸珋瓬瓮甮畇畈疧疪癹盄眈眃眄眅眊盷盻盺矧矨砆砑砒砅砐砏砎砉砃砓祊祌祋祅祄秕种秏秖秎窀"],["d040","穾竑笀笁籺籸籹籿粀粁紃紈紁罘羑羍羾耇耎耏耔耷胘胇胠胑胈胂胐胅胣胙胜胊胕胉胏胗胦胍臿舡芔苙苾苹茇苨茀苕茺苫苖苴苬苡苲苵茌苻苶苰苪"],["d0a1","苤苠苺苳苭虷虴虼虳衁衎衧衪衩觓訄訇赲迣迡迮迠郱邽邿郕郅邾郇郋郈釔釓陔陏陑陓陊陎倞倅倇倓倢倰倛俵俴倳倷倬俶俷倗倜倠倧倵倯倱倎党冔冓凊凄凅凈凎剡剚剒剞剟剕剢勍匎厞唦哢唗唒哧哳哤唚哿唄唈哫唑唅哱"],["d140","唊哻哷哸哠唎唃唋圁圂埌堲埕埒垺埆垽垼垸垶垿埇埐垹埁夎奊娙娖娭娮娕娏娗娊娞娳孬宧宭宬尃屖屔峬峿峮峱峷崀峹帩帨庨庮庪庬弳弰彧恝恚恧"],["d1a1","恁悢悈悀悒悁悝悃悕悛悗悇悜悎戙扆拲挐捖挬捄捅挶捃揤挹捋捊挼挩捁挴捘捔捙挭捇挳捚捑挸捗捀捈敊敆旆旃旄旂晊晟晇晑朒朓栟栚桉栲栳栻桋桏栖栱栜栵栫栭栯桎桄栴栝栒栔栦栨栮桍栺栥栠欬欯欭欱欴歭肂殈毦毤"],["d240","毨毣毢毧氥浺浣浤浶洍浡涒浘浢浭浯涑涍淯浿涆浞浧浠涗浰浼浟涂涘洯浨涋浾涀涄洖涃浻浽浵涐烜烓烑烝烋缹烢烗烒烞烠烔烍烅烆烇烚烎烡牂牸"],["d2a1","牷牶猀狺狴狾狶狳狻猁珓珙珥珖玼珧珣珩珜珒珛珔珝珚珗珘珨瓞瓟瓴瓵甡畛畟疰痁疻痄痀疿疶疺皊盉眝眛眐眓眒眣眑眕眙眚眢眧砣砬砢砵砯砨砮砫砡砩砳砪砱祔祛祏祜祓祒祑秫秬秠秮秭秪秜秞秝窆窉窅窋窌窊窇竘笐"],["d340","笄笓笅笏笈笊笎笉笒粄粑粊粌粈粍粅紞紝紑紎紘紖紓紟紒紏紌罜罡罞罠罝罛羖羒翃翂翀耖耾耹胺胲胹胵脁胻脀舁舯舥茳茭荄茙荑茥荖茿荁茦茜茢"],["d3a1","荂荎茛茪茈茼荍茖茤茠茷茯茩荇荅荌荓茞茬荋茧荈虓虒蚢蚨蚖蚍蚑蚞蚇蚗蚆蚋蚚蚅蚥蚙蚡蚧蚕蚘蚎蚝蚐蚔衃衄衭衵衶衲袀衱衿衯袃衾衴衼訒豇豗豻貤貣赶赸趵趷趶軑軓迾迵适迿迻逄迼迶郖郠郙郚郣郟郥郘郛郗郜郤酐"],["d440","酎酏釕釢釚陜陟隼飣髟鬯乿偰偪偡偞偠偓偋偝偲偈偍偁偛偊偢倕偅偟偩偫偣偤偆偀偮偳偗偑凐剫剭剬剮勖勓匭厜啵啶唼啍啐唴唪啑啢唶唵唰啒啅"],["d4a1","唌唲啥啎唹啈唭唻啀啋圊圇埻堔埢埶埜埴堀埭埽堈埸堋埳埏堇埮埣埲埥埬埡堎埼堐埧堁堌埱埩埰堍堄奜婠婘婕婧婞娸娵婭婐婟婥婬婓婤婗婃婝婒婄婛婈媎娾婍娹婌婰婩婇婑婖婂婜孲孮寁寀屙崞崋崝崚崠崌崨崍崦崥崏"],["d540","崰崒崣崟崮帾帴庱庴庹庲庳弶弸徛徖徟悊悐悆悾悰悺惓惔惏惤惙惝惈悱惛悷惊悿惃惍惀挲捥掊掂捽掽掞掭掝掗掫掎捯掇掐据掯捵掜捭掮捼掤挻掟"],["d5a1","捸掅掁掑掍捰敓旍晥晡晛晙晜晢朘桹梇梐梜桭桮梮梫楖桯梣梬梩桵桴梲梏桷梒桼桫桲梪梀桱桾梛梖梋梠梉梤桸桻梑梌梊桽欶欳欷欸殑殏殍殎殌氪淀涫涴涳湴涬淩淢涷淶淔渀淈淠淟淖涾淥淜淝淛淴淊涽淭淰涺淕淂淏淉"],["d640","淐淲淓淽淗淍淣涻烺焍烷焗烴焌烰焄烳焐烼烿焆焓焀烸烶焋焂焎牾牻牼牿猝猗猇猑猘猊猈狿猏猞玈珶珸珵琄琁珽琇琀珺珼珿琌琋珴琈畤畣痎痒痏"],["d6a1","痋痌痑痐皏皉盓眹眯眭眱眲眴眳眽眥眻眵硈硒硉硍硊硌砦硅硐祤祧祩祪祣祫祡离秺秸秶秷窏窔窐笵筇笴笥笰笢笤笳笘笪笝笱笫笭笯笲笸笚笣粔粘粖粣紵紽紸紶紺絅紬紩絁絇紾紿絊紻紨罣羕羜羝羛翊翋翍翐翑翇翏翉耟"],["d740","耞耛聇聃聈脘脥脙脛脭脟脬脞脡脕脧脝脢舑舸舳舺舴舲艴莐莣莨莍荺荳莤荴莏莁莕莙荵莔莩荽莃莌莝莛莪莋荾莥莯莈莗莰荿莦莇莮荶莚虙虖蚿蚷"],["d7a1","蛂蛁蛅蚺蚰蛈蚹蚳蚸蛌蚴蚻蚼蛃蚽蚾衒袉袕袨袢袪袚袑袡袟袘袧袙袛袗袤袬袌袓袎覂觖觙觕訰訧訬訞谹谻豜豝豽貥赽赻赹趼跂趹趿跁軘軞軝軜軗軠軡逤逋逑逜逌逡郯郪郰郴郲郳郔郫郬郩酖酘酚酓酕釬釴釱釳釸釤釹釪"],["d840","釫釷釨釮镺閆閈陼陭陫陱陯隿靪頄飥馗傛傕傔傞傋傣傃傌傎傝偨傜傒傂傇兟凔匒匑厤厧喑喨喥喭啷噅喢喓喈喏喵喁喣喒喤啽喌喦啿喕喡喎圌堩堷"],["d8a1","堙堞堧堣堨埵塈堥堜堛堳堿堶堮堹堸堭堬堻奡媯媔媟婺媢媞婸媦婼媥媬媕媮娷媄媊媗媃媋媩婻婽媌媜媏媓媝寪寍寋寔寑寊寎尌尰崷嵃嵫嵁嵋崿崵嵑嵎嵕崳崺嵒崽崱嵙嵂崹嵉崸崼崲崶嵀嵅幄幁彘徦徥徫惉悹惌惢惎惄愔"],["d940","惲愊愖愅惵愓惸惼惾惁愃愘愝愐惿愄愋扊掔掱掰揎揥揨揯揃撝揳揊揠揶揕揲揵摡揟掾揝揜揄揘揓揂揇揌揋揈揰揗揙攲敧敪敤敜敨敥斌斝斞斮旐旒"],["d9a1","晼晬晻暀晱晹晪晲朁椌棓椄棜椪棬棪棱椏棖棷棫棤棶椓椐棳棡椇棌椈楰梴椑棯棆椔棸棐棽棼棨椋椊椗棎棈棝棞棦棴棑椆棔棩椕椥棇欹欻欿欼殔殗殙殕殽毰毲毳氰淼湆湇渟湉溈渼渽湅湢渫渿湁湝湳渜渳湋湀湑渻渃渮湞"],["da40","湨湜湡渱渨湠湱湫渹渢渰湓湥渧湸湤湷湕湹湒湦渵渶湚焠焞焯烻焮焱焣焥焢焲焟焨焺焛牋牚犈犉犆犅犋猒猋猰猢猱猳猧猲猭猦猣猵猌琮琬琰琫琖"],["daa1","琚琡琭琱琤琣琝琩琠琲瓻甯畯畬痧痚痡痦痝痟痤痗皕皒盚睆睇睄睍睅睊睎睋睌矞矬硠硤硥硜硭硱硪确硰硩硨硞硢祴祳祲祰稂稊稃稌稄窙竦竤筊笻筄筈筌筎筀筘筅粢粞粨粡絘絯絣絓絖絧絪絏絭絜絫絒絔絩絑絟絎缾缿罥"],["db40","罦羢羠羡翗聑聏聐胾胔腃腊腒腏腇脽腍脺臦臮臷臸臹舄舼舽舿艵茻菏菹萣菀菨萒菧菤菼菶萐菆菈菫菣莿萁菝菥菘菿菡菋菎菖菵菉萉萏菞萑萆菂菳"],["dba1","菕菺菇菑菪萓菃菬菮菄菻菗菢萛菛菾蛘蛢蛦蛓蛣蛚蛪蛝蛫蛜蛬蛩蛗蛨蛑衈衖衕袺裗袹袸裀袾袶袼袷袽袲褁裉覕覘覗觝觚觛詎詍訹詙詀詗詘詄詅詒詈詑詊詌詏豟貁貀貺貾貰貹貵趄趀趉跘跓跍跇跖跜跏跕跙跈跗跅軯軷軺"],["dc40","軹軦軮軥軵軧軨軶軫軱軬軴軩逭逴逯鄆鄬鄄郿郼鄈郹郻鄁鄀鄇鄅鄃酡酤酟酢酠鈁鈊鈥鈃鈚鈦鈏鈌鈀鈒釿釽鈆鈄鈧鈂鈜鈤鈙鈗鈅鈖镻閍閌閐隇陾隈"],["dca1","隉隃隀雂雈雃雱雰靬靰靮頇颩飫鳦黹亃亄亶傽傿僆傮僄僊傴僈僂傰僁傺傱僋僉傶傸凗剺剸剻剼嗃嗛嗌嗐嗋嗊嗝嗀嗔嗄嗩喿嗒喍嗏嗕嗢嗖嗈嗲嗍嗙嗂圔塓塨塤塏塍塉塯塕塎塝塙塥塛堽塣塱壼嫇嫄嫋媺媸媱媵媰媿嫈媻嫆"],["dd40","媷嫀嫊媴媶嫍媹媐寖寘寙尟尳嵱嵣嵊嵥嵲嵬嵞嵨嵧嵢巰幏幎幊幍幋廅廌廆廋廇彀徯徭惷慉慊愫慅愶愲愮慆愯慏愩慀戠酨戣戥戤揅揱揫搐搒搉搠搤"],["dda1","搳摃搟搕搘搹搷搢搣搌搦搰搨摁搵搯搊搚摀搥搧搋揧搛搮搡搎敯斒旓暆暌暕暐暋暊暙暔晸朠楦楟椸楎楢楱椿楅楪椹楂楗楙楺楈楉椵楬椳椽楥棰楸椴楩楀楯楄楶楘楁楴楌椻楋椷楜楏楑椲楒椯楻椼歆歅歃歂歈歁殛嗀毻毼"],["de40","毹毷毸溛滖滈溏滀溟溓溔溠溱溹滆滒溽滁溞滉溷溰滍溦滏溲溾滃滜滘溙溒溎溍溤溡溿溳滐滊溗溮溣煇煔煒煣煠煁煝煢煲煸煪煡煂煘煃煋煰煟煐煓"],["dea1","煄煍煚牏犍犌犑犐犎猼獂猻猺獀獊獉瑄瑊瑋瑒瑑瑗瑀瑏瑐瑎瑂瑆瑍瑔瓡瓿瓾瓽甝畹畷榃痯瘏瘃痷痾痼痹痸瘐痻痶痭痵痽皙皵盝睕睟睠睒睖睚睩睧睔睙睭矠碇碚碔碏碄碕碅碆碡碃硹碙碀碖硻祼禂祽祹稑稘稙稒稗稕稢稓"],["df40","稛稐窣窢窞竫筦筤筭筴筩筲筥筳筱筰筡筸筶筣粲粴粯綈綆綀綍絿綅絺綎絻綃絼綌綔綄絽綒罭罫罧罨罬羦羥羧翛翜耡腤腠腷腜腩腛腢腲朡腞腶腧腯"],["dfa1","腄腡舝艉艄艀艂艅蓱萿葖葶葹蒏蒍葥葑葀蒆葧萰葍葽葚葙葴葳葝蔇葞萷萺萴葺葃葸萲葅萩菙葋萯葂萭葟葰萹葎葌葒葯蓅蒎萻葇萶萳葨葾葄萫葠葔葮葐蜋蜄蛷蜌蛺蛖蛵蝍蛸蜎蜉蜁蛶蜍蜅裖裋裍裎裞裛裚裌裐覅覛觟觥觤"],["e040","觡觠觢觜触詶誆詿詡訿詷誂誄詵誃誁詴詺谼豋豊豥豤豦貆貄貅賌赨赩趑趌趎趏趍趓趔趐趒跰跠跬跱跮跐跩跣跢跧跲跫跴輆軿輁輀輅輇輈輂輋遒逿"],["e0a1","遄遉逽鄐鄍鄏鄑鄖鄔鄋鄎酮酯鉈鉒鈰鈺鉦鈳鉥鉞銃鈮鉊鉆鉭鉬鉏鉠鉧鉯鈶鉡鉰鈱鉔鉣鉐鉲鉎鉓鉌鉖鈲閟閜閞閛隒隓隑隗雎雺雽雸雵靳靷靸靲頏頍頎颬飶飹馯馲馰馵骭骫魛鳪鳭鳧麀黽僦僔僗僨僳僛僪僝僤僓僬僰僯僣僠"],["e140","凘劀劁勩勫匰厬嘧嘕嘌嘒嗼嘏嘜嘁嘓嘂嗺嘝嘄嗿嗹墉塼墐墘墆墁塿塴墋塺墇墑墎塶墂墈塻墔墏壾奫嫜嫮嫥嫕嫪嫚嫭嫫嫳嫢嫠嫛嫬嫞嫝嫙嫨嫟孷寠"],["e1a1","寣屣嶂嶀嵽嶆嵺嶁嵷嶊嶉嶈嵾嵼嶍嵹嵿幘幙幓廘廑廗廎廜廕廙廒廔彄彃彯徶愬愨慁慞慱慳慒慓慲慬憀慴慔慺慛慥愻慪慡慖戩戧戫搫摍摛摝摴摶摲摳摽摵摦撦摎撂摞摜摋摓摠摐摿搿摬摫摙摥摷敳斠暡暠暟朅朄朢榱榶槉"],["e240","榠槎榖榰榬榼榑榙榎榧榍榩榾榯榿槄榽榤槔榹槊榚槏榳榓榪榡榞槙榗榐槂榵榥槆歊歍歋殞殟殠毃毄毾滎滵滱漃漥滸漷滻漮漉潎漙漚漧漘漻漒滭漊"],["e2a1","漶潳滹滮漭潀漰漼漵滫漇漎潃漅滽滶漹漜滼漺漟漍漞漈漡熇熐熉熀熅熂熏煻熆熁熗牄牓犗犕犓獃獍獑獌瑢瑳瑱瑵瑲瑧瑮甀甂甃畽疐瘖瘈瘌瘕瘑瘊瘔皸瞁睼瞅瞂睮瞀睯睾瞃碲碪碴碭碨硾碫碞碥碠碬碢碤禘禊禋禖禕禔禓"],["e340","禗禈禒禐稫穊稰稯稨稦窨窫窬竮箈箜箊箑箐箖箍箌箛箎箅箘劄箙箤箂粻粿粼粺綧綷緂綣綪緁緀緅綝緎緄緆緋緌綯綹綖綼綟綦綮綩綡緉罳翢翣翥翞"],["e3a1","耤聝聜膉膆膃膇膍膌膋舕蒗蒤蒡蒟蒺蓎蓂蒬蒮蒫蒹蒴蓁蓍蒪蒚蒱蓐蒝蒧蒻蒢蒔蓇蓌蒛蒩蒯蒨蓖蒘蒶蓏蒠蓗蓔蓒蓛蒰蒑虡蜳蜣蜨蝫蝀蜮蜞蜡蜙蜛蝃蜬蝁蜾蝆蜠蜲蜪蜭蜼蜒蜺蜱蜵蝂蜦蜧蜸蜤蜚蜰蜑裷裧裱裲裺裾裮裼裶裻"],["e440","裰裬裫覝覡覟覞觩觫觨誫誙誋誒誏誖谽豨豩賕賏賗趖踉踂跿踍跽踊踃踇踆踅跾踀踄輐輑輎輍鄣鄜鄠鄢鄟鄝鄚鄤鄡鄛酺酲酹酳銥銤鉶銛鉺銠銔銪銍"],["e4a1","銦銚銫鉹銗鉿銣鋮銎銂銕銢鉽銈銡銊銆銌銙銧鉾銇銩銝銋鈭隞隡雿靘靽靺靾鞃鞀鞂靻鞄鞁靿韎韍頖颭颮餂餀餇馝馜駃馹馻馺駂馽駇骱髣髧鬾鬿魠魡魟鳱鳲鳵麧僿儃儰僸儆儇僶僾儋儌僽儊劋劌勱勯噈噂噌嘵噁噊噉噆噘"],["e540","噚噀嘳嘽嘬嘾嘸嘪嘺圚墫墝墱墠墣墯墬墥墡壿嫿嫴嫽嫷嫶嬃嫸嬂嫹嬁嬇嬅嬏屧嶙嶗嶟嶒嶢嶓嶕嶠嶜嶡嶚嶞幩幝幠幜緳廛廞廡彉徲憋憃慹憱憰憢憉"],["e5a1","憛憓憯憭憟憒憪憡憍慦憳戭摮摰撖撠撅撗撜撏撋撊撌撣撟摨撱撘敶敺敹敻斲斳暵暰暩暲暷暪暯樀樆樗槥槸樕槱槤樠槿槬槢樛樝槾樧槲槮樔槷槧橀樈槦槻樍槼槫樉樄樘樥樏槶樦樇槴樖歑殥殣殢殦氁氀毿氂潁漦潾澇濆澒"],["e640","澍澉澌潢潏澅潚澖潶潬澂潕潲潒潐潗澔澓潝漀潡潫潽潧澐潓澋潩潿澕潣潷潪潻熲熯熛熰熠熚熩熵熝熥熞熤熡熪熜熧熳犘犚獘獒獞獟獠獝獛獡獚獙"],["e6a1","獢璇璉璊璆璁瑽璅璈瑼瑹甈甇畾瘥瘞瘙瘝瘜瘣瘚瘨瘛皜皝皞皛瞍瞏瞉瞈磍碻磏磌磑磎磔磈磃磄磉禚禡禠禜禢禛歶稹窲窴窳箷篋箾箬篎箯箹篊箵糅糈糌糋緷緛緪緧緗緡縃緺緦緶緱緰緮緟罶羬羰羭翭翫翪翬翦翨聤聧膣膟"],["e740","膞膕膢膙膗舖艏艓艒艐艎艑蔤蔻蔏蔀蔩蔎蔉蔍蔟蔊蔧蔜蓻蔫蓺蔈蔌蓴蔪蓲蔕蓷蓫蓳蓼蔒蓪蓩蔖蓾蔨蔝蔮蔂蓽蔞蓶蔱蔦蓧蓨蓰蓯蓹蔘蔠蔰蔋蔙蔯虢"],["e7a1","蝖蝣蝤蝷蟡蝳蝘蝔蝛蝒蝡蝚蝑蝞蝭蝪蝐蝎蝟蝝蝯蝬蝺蝮蝜蝥蝏蝻蝵蝢蝧蝩衚褅褌褔褋褗褘褙褆褖褑褎褉覢覤覣觭觰觬諏諆誸諓諑諔諕誻諗誾諀諅諘諃誺誽諙谾豍貏賥賟賙賨賚賝賧趠趜趡趛踠踣踥踤踮踕踛踖踑踙踦踧"],["e840","踔踒踘踓踜踗踚輬輤輘輚輠輣輖輗遳遰遯遧遫鄯鄫鄩鄪鄲鄦鄮醅醆醊醁醂醄醀鋐鋃鋄鋀鋙銶鋏鋱鋟鋘鋩鋗鋝鋌鋯鋂鋨鋊鋈鋎鋦鋍鋕鋉鋠鋞鋧鋑鋓"],["e8a1","銵鋡鋆銴镼閬閫閮閰隤隢雓霅霈霂靚鞊鞎鞈韐韏頞頝頦頩頨頠頛頧颲餈飺餑餔餖餗餕駜駍駏駓駔駎駉駖駘駋駗駌骳髬髫髳髲髱魆魃魧魴魱魦魶魵魰魨魤魬鳼鳺鳽鳿鳷鴇鴀鳹鳻鴈鴅鴄麃黓鼏鼐儜儓儗儚儑凞匴叡噰噠噮"],["e940","噳噦噣噭噲噞噷圜圛壈墽壉墿墺壂墼壆嬗嬙嬛嬡嬔嬓嬐嬖嬨嬚嬠嬞寯嶬嶱嶩嶧嶵嶰嶮嶪嶨嶲嶭嶯嶴幧幨幦幯廩廧廦廨廥彋徼憝憨憖懅憴懆懁懌憺"],["e9a1","憿憸憌擗擖擐擏擉撽撉擃擛擳擙攳敿敼斢曈暾曀曊曋曏暽暻暺曌朣樴橦橉橧樲橨樾橝橭橶橛橑樨橚樻樿橁橪橤橐橏橔橯橩橠樼橞橖橕橍橎橆歕歔歖殧殪殫毈毇氄氃氆澭濋澣濇澼濎濈潞濄澽澞濊澨瀄澥澮澺澬澪濏澿澸"],["ea40","澢濉澫濍澯澲澰燅燂熿熸燖燀燁燋燔燊燇燏熽燘熼燆燚燛犝犞獩獦獧獬獥獫獪瑿璚璠璔璒璕璡甋疀瘯瘭瘱瘽瘳瘼瘵瘲瘰皻盦瞚瞝瞡瞜瞛瞢瞣瞕瞙"],["eaa1","瞗磝磩磥磪磞磣磛磡磢磭磟磠禤穄穈穇窶窸窵窱窷篞篣篧篝篕篥篚篨篹篔篪篢篜篫篘篟糒糔糗糐糑縒縡縗縌縟縠縓縎縜縕縚縢縋縏縖縍縔縥縤罃罻罼罺羱翯耪耩聬膱膦膮膹膵膫膰膬膴膲膷膧臲艕艖艗蕖蕅蕫蕍蕓蕡蕘"],["eb40","蕀蕆蕤蕁蕢蕄蕑蕇蕣蔾蕛蕱蕎蕮蕵蕕蕧蕠薌蕦蕝蕔蕥蕬虣虥虤螛螏螗螓螒螈螁螖螘蝹螇螣螅螐螑螝螄螔螜螚螉褞褦褰褭褮褧褱褢褩褣褯褬褟觱諠"],["eba1","諢諲諴諵諝謔諤諟諰諈諞諡諨諿諯諻貑貒貐賵賮賱賰賳赬赮趥趧踳踾踸蹀蹅踶踼踽蹁踰踿躽輶輮輵輲輹輷輴遶遹遻邆郺鄳鄵鄶醓醐醑醍醏錧錞錈錟錆錏鍺錸錼錛錣錒錁鍆錭錎錍鋋錝鋺錥錓鋹鋷錴錂錤鋿錩錹錵錪錔錌"],["ec40","錋鋾錉錀鋻錖閼闍閾閹閺閶閿閵閽隩雔霋霒霐鞙鞗鞔韰韸頵頯頲餤餟餧餩馞駮駬駥駤駰駣駪駩駧骹骿骴骻髶髺髹髷鬳鮀鮅鮇魼魾魻鮂鮓鮒鮐魺鮕"],["eca1","魽鮈鴥鴗鴠鴞鴔鴩鴝鴘鴢鴐鴙鴟麈麆麇麮麭黕黖黺鼒鼽儦儥儢儤儠儩勴嚓嚌嚍嚆嚄嚃噾嚂噿嚁壖壔壏壒嬭嬥嬲嬣嬬嬧嬦嬯嬮孻寱寲嶷幬幪徾徻懃憵憼懧懠懥懤懨懞擯擩擣擫擤擨斁斀斶旚曒檍檖檁檥檉檟檛檡檞檇檓檎"],["ed40","檕檃檨檤檑橿檦檚檅檌檒歛殭氉濌澩濴濔濣濜濭濧濦濞濲濝濢濨燡燱燨燲燤燰燢獳獮獯璗璲璫璐璪璭璱璥璯甐甑甒甏疄癃癈癉癇皤盩瞵瞫瞲瞷瞶"],["eda1","瞴瞱瞨矰磳磽礂磻磼磲礅磹磾礄禫禨穜穛穖穘穔穚窾竀竁簅簏篲簀篿篻簎篴簋篳簂簉簃簁篸篽簆篰篱簐簊糨縭縼繂縳顈縸縪繉繀繇縩繌縰縻縶繄縺罅罿罾罽翴翲耬膻臄臌臊臅臇膼臩艛艚艜薃薀薏薧薕薠薋薣蕻薤薚薞"],["ee40","蕷蕼薉薡蕺蕸蕗薎薖薆薍薙薝薁薢薂薈薅蕹蕶薘薐薟虨螾螪螭蟅螰螬螹螵螼螮蟉蟃蟂蟌螷螯蟄蟊螴螶螿螸螽蟞螲褵褳褼褾襁襒褷襂覭覯覮觲觳謞"],["eea1","謘謖謑謅謋謢謏謒謕謇謍謈謆謜謓謚豏豰豲豱豯貕貔賹赯蹎蹍蹓蹐蹌蹇轃轀邅遾鄸醚醢醛醙醟醡醝醠鎡鎃鎯鍤鍖鍇鍼鍘鍜鍶鍉鍐鍑鍠鍭鎏鍌鍪鍹鍗鍕鍒鍏鍱鍷鍻鍡鍞鍣鍧鎀鍎鍙闇闀闉闃闅閷隮隰隬霠霟霘霝霙鞚鞡鞜"],["ef40","鞞鞝韕韔韱顁顄顊顉顅顃餥餫餬餪餳餲餯餭餱餰馘馣馡騂駺駴駷駹駸駶駻駽駾駼騃骾髾髽鬁髼魈鮚鮨鮞鮛鮦鮡鮥鮤鮆鮢鮠鮯鴳鵁鵧鴶鴮鴯鴱鴸鴰"],["efa1","鵅鵂鵃鴾鴷鵀鴽翵鴭麊麉麍麰黈黚黻黿鼤鼣鼢齔龠儱儭儮嚘嚜嚗嚚嚝嚙奰嬼屩屪巀幭幮懘懟懭懮懱懪懰懫懖懩擿攄擽擸攁攃擼斔旛曚曛曘櫅檹檽櫡櫆檺檶檷櫇檴檭歞毉氋瀇瀌瀍瀁瀅瀔瀎濿瀀濻瀦濼濷瀊爁燿燹爃燽獶"],["f040","璸瓀璵瓁璾璶璻瓂甔甓癜癤癙癐癓癗癚皦皽盬矂瞺磿礌礓礔礉礐礒礑禭禬穟簜簩簙簠簟簭簝簦簨簢簥簰繜繐繖繣繘繢繟繑繠繗繓羵羳翷翸聵臑臒"],["f0a1","臐艟艞薴藆藀藃藂薳薵薽藇藄薿藋藎藈藅薱薶藒蘤薸薷薾虩蟧蟦蟢蟛蟫蟪蟥蟟蟳蟤蟔蟜蟓蟭蟘蟣螤蟗蟙蠁蟴蟨蟝襓襋襏襌襆襐襑襉謪謧謣謳謰謵譇謯謼謾謱謥謷謦謶謮謤謻謽謺豂豵貙貘貗賾贄贂贀蹜蹢蹠蹗蹖蹞蹥蹧"],["f140","蹛蹚蹡蹝蹩蹔轆轇轈轋鄨鄺鄻鄾醨醥醧醯醪鎵鎌鎒鎷鎛鎝鎉鎧鎎鎪鎞鎦鎕鎈鎙鎟鎍鎱鎑鎲鎤鎨鎴鎣鎥闒闓闑隳雗雚巂雟雘雝霣霢霥鞬鞮鞨鞫鞤鞪"],["f1a1","鞢鞥韗韙韖韘韺顐顑顒颸饁餼餺騏騋騉騍騄騑騊騅騇騆髀髜鬈鬄鬅鬩鬵魊魌魋鯇鯆鯃鮿鯁鮵鮸鯓鮶鯄鮹鮽鵜鵓鵏鵊鵛鵋鵙鵖鵌鵗鵒鵔鵟鵘鵚麎麌黟鼁鼀鼖鼥鼫鼪鼩鼨齌齕儴儵劖勷厴嚫嚭嚦嚧嚪嚬壚壝壛夒嬽嬾嬿巃幰"],["f240","徿懻攇攐攍攉攌攎斄旞旝曞櫧櫠櫌櫑櫙櫋櫟櫜櫐櫫櫏櫍櫞歠殰氌瀙瀧瀠瀖瀫瀡瀢瀣瀩瀗瀤瀜瀪爌爊爇爂爅犥犦犤犣犡瓋瓅璷瓃甖癠矉矊矄矱礝礛"],["f2a1","礡礜礗礞禰穧穨簳簼簹簬簻糬糪繶繵繸繰繷繯繺繲繴繨罋罊羃羆羷翽翾聸臗臕艤艡艣藫藱藭藙藡藨藚藗藬藲藸藘藟藣藜藑藰藦藯藞藢蠀蟺蠃蟶蟷蠉蠌蠋蠆蟼蠈蟿蠊蠂襢襚襛襗襡襜襘襝襙覈覷覶觶譐譈譊譀譓譖譔譋譕"],["f340","譑譂譒譗豃豷豶貚贆贇贉趬趪趭趫蹭蹸蹳蹪蹯蹻軂轒轑轏轐轓辴酀鄿醰醭鏞鏇鏏鏂鏚鏐鏹鏬鏌鏙鎩鏦鏊鏔鏮鏣鏕鏄鏎鏀鏒鏧镽闚闛雡霩霫霬霨霦"],["f3a1","鞳鞷鞶韝韞韟顜顙顝顗颿颽颻颾饈饇饃馦馧騚騕騥騝騤騛騢騠騧騣騞騜騔髂鬋鬊鬎鬌鬷鯪鯫鯠鯞鯤鯦鯢鯰鯔鯗鯬鯜鯙鯥鯕鯡鯚鵷鶁鶊鶄鶈鵱鶀鵸鶆鶋鶌鵽鵫鵴鵵鵰鵩鶅鵳鵻鶂鵯鵹鵿鶇鵨麔麑黀黼鼭齀齁齍齖齗齘匷嚲"],["f440","嚵嚳壣孅巆巇廮廯忀忁懹攗攖攕攓旟曨曣曤櫳櫰櫪櫨櫹櫱櫮櫯瀼瀵瀯瀷瀴瀱灂瀸瀿瀺瀹灀瀻瀳灁爓爔犨獽獼璺皫皪皾盭矌矎矏矍矲礥礣礧礨礤礩"],["f4a1","禲穮穬穭竷籉籈籊籇籅糮繻繾纁纀羺翿聹臛臙舋艨艩蘢藿蘁藾蘛蘀藶蘄蘉蘅蘌藽蠙蠐蠑蠗蠓蠖襣襦覹觷譠譪譝譨譣譥譧譭趮躆躈躄轙轖轗轕轘轚邍酃酁醷醵醲醳鐋鐓鏻鐠鐏鐔鏾鐕鐐鐨鐙鐍鏵鐀鏷鐇鐎鐖鐒鏺鐉鏸鐊鏿"],["f540","鏼鐌鏶鐑鐆闞闠闟霮霯鞹鞻韽韾顠顢顣顟飁飂饐饎饙饌饋饓騲騴騱騬騪騶騩騮騸騭髇髊髆鬐鬒鬑鰋鰈鯷鰅鰒鯸鱀鰇鰎鰆鰗鰔鰉鶟鶙鶤鶝鶒鶘鶐鶛"],["f5a1","鶠鶔鶜鶪鶗鶡鶚鶢鶨鶞鶣鶿鶩鶖鶦鶧麙麛麚黥黤黧黦鼰鼮齛齠齞齝齙龑儺儹劘劗囃嚽嚾孈孇巋巏廱懽攛欂櫼欃櫸欀灃灄灊灈灉灅灆爝爚爙獾甗癪矐礭礱礯籔籓糲纊纇纈纋纆纍罍羻耰臝蘘蘪蘦蘟蘣蘜蘙蘧蘮蘡蘠蘩蘞蘥"],["f640","蠩蠝蠛蠠蠤蠜蠫衊襭襩襮襫觺譹譸譅譺譻贐贔趯躎躌轞轛轝酆酄酅醹鐿鐻鐶鐩鐽鐼鐰鐹鐪鐷鐬鑀鐱闥闤闣霵霺鞿韡顤飉飆飀饘饖騹騽驆驄驂驁騺"],["f6a1","騿髍鬕鬗鬘鬖鬺魒鰫鰝鰜鰬鰣鰨鰩鰤鰡鶷鶶鶼鷁鷇鷊鷏鶾鷅鷃鶻鶵鷎鶹鶺鶬鷈鶱鶭鷌鶳鷍鶲鹺麜黫黮黭鼛鼘鼚鼱齎齥齤龒亹囆囅囋奱孋孌巕巑廲攡攠攦攢欋欈欉氍灕灖灗灒爞爟犩獿瓘瓕瓙瓗癭皭礵禴穰穱籗籜籙籛籚"],["f740","糴糱纑罏羇臞艫蘴蘵蘳蘬蘲蘶蠬蠨蠦蠪蠥襱覿覾觻譾讄讂讆讅譿贕躕躔躚躒躐躖躗轠轢酇鑌鑐鑊鑋鑏鑇鑅鑈鑉鑆霿韣顪顩飋饔饛驎驓驔驌驏驈驊"],["f7a1","驉驒驐髐鬙鬫鬻魖魕鱆鱈鰿鱄鰹鰳鱁鰼鰷鰴鰲鰽鰶鷛鷒鷞鷚鷋鷐鷜鷑鷟鷩鷙鷘鷖鷵鷕鷝麶黰鼵鼳鼲齂齫龕龢儽劙壨壧奲孍巘蠯彏戁戃戄攩攥斖曫欑欒欏毊灛灚爢玂玁玃癰矔籧籦纕艬蘺虀蘹蘼蘱蘻蘾蠰蠲蠮蠳襶襴襳觾"],["f840","讌讎讋讈豅贙躘轤轣醼鑢鑕鑝鑗鑞韄韅頀驖驙鬞鬟鬠鱒鱘鱐鱊鱍鱋鱕鱙鱌鱎鷻鷷鷯鷣鷫鷸鷤鷶鷡鷮鷦鷲鷰鷢鷬鷴鷳鷨鷭黂黐黲黳鼆鼜鼸鼷鼶齃齏"],["f8a1","齱齰齮齯囓囍孎屭攭曭曮欓灟灡灝灠爣瓛瓥矕礸禷禶籪纗羉艭虃蠸蠷蠵衋讔讕躞躟躠躝醾醽釂鑫鑨鑩雥靆靃靇韇韥驞髕魙鱣鱧鱦鱢鱞鱠鸂鷾鸇鸃鸆鸅鸀鸁鸉鷿鷽鸄麠鼞齆齴齵齶囔攮斸欘欙欗欚灢爦犪矘矙礹籩籫糶纚"],["f940","纘纛纙臠臡虆虇虈襹襺襼襻觿讘讙躥躤躣鑮鑭鑯鑱鑳靉顲饟鱨鱮鱭鸋鸍鸐鸏鸒鸑麡黵鼉齇齸齻齺齹圞灦籯蠼趲躦釃鑴鑸鑶鑵驠鱴鱳鱱鱵鸔鸓黶鼊"],["f9a1","龤灨灥糷虪蠾蠽蠿讞貜躩軉靋顳顴飌饡馫驤驦驧鬤鸕鸗齈戇欞爧虌躨钂钀钁驩驨鬮鸙爩虋讟钃鱹麷癵驫鱺鸝灩灪麤齾齉龘碁銹裏墻恒粧嫺╔╦╗╠╬╣╚╩╝╒╤╕╞╪╡╘╧╛╓╥╖╟╫╢╙╨╜║═╭╮╰╯▓"]]}});var require_big5_added=__commonJS({"node_modules/iconv-lite/encodings/tables/big5-added.json"(exports2,module2){module2.exports=[["8740","䏰䰲䘃䖦䕸𧉧䵷䖳𧲱䳢𧳅㮕䜶䝄䱇䱀𤊿𣘗𧍒𦺋𧃒䱗𪍑䝏䗚䲅𧱬䴇䪤䚡𦬣爥𥩔𡩣𣸆𣽡晍囻"],["8767","綕夝𨮹㷴霴𧯯寛𡵞媤㘥𩺰嫑宷峼杮薓𩥅瑡璝㡵𡵓𣚞𦀡㻬"],["87a1","𥣞㫵竼龗𤅡𨤍𣇪𠪊𣉞䌊蒄龖鐯䤰蘓墖靊鈘秐稲晠権袝瑌篅枂稬剏遆㓦珄𥶹瓆鿇垳䤯呌䄱𣚎堘穲𧭥讏䚮𦺈䆁𥶙箮𢒼鿈𢓁𢓉𢓌鿉蔄𣖻䂴鿊䓡𪷿拁灮鿋"],["8840","㇀",4,"𠄌㇅𠃑𠃍㇆㇇𠃋𡿨㇈𠃊㇉㇊㇋㇌𠄎㇍㇎ĀÁǍÀĒÉĚÈŌÓǑÒ࿿Ê̄Ế࿿Ê̌ỀÊāáǎàɑēéěèīíǐìōóǒòūúǔùǖǘǚ"],["88a1","ǜü࿿ê̄ế࿿ê̌ềêɡ⏚⏛"],["8940","𪎩𡅅"],["8943","攊"],["8946","丽滝鵎釟"],["894c","𧜵撑会伨侨兖兴农凤务动医华发变团声处备夲头学实実岚庆总斉柾栄桥济炼电纤纬纺织经统缆缷艺苏药视设询车轧轮"],["89a1","琑糼緍楆竉刧"],["89ab","醌碸酞肼"],["89b0","贋胶𠧧"],["89b5","肟黇䳍鷉鸌䰾𩷶𧀎鸊𪄳㗁"],["89c1","溚舾甙"],["89c5","䤑马骏龙禇𨑬𡷊𠗐𢫦两亁亀亇亿仫伷㑌侽㹈倃傈㑽㒓㒥円夅凛凼刅争剹劐匧㗇厩㕑厰㕓参吣㕭㕲㚁咓咣咴咹哐哯唘唣唨㖘唿㖥㖿嗗㗅"],["8a40","𧶄唥"],["8a43","𠱂𠴕𥄫喐𢳆㧬𠍁蹆𤶸𩓥䁓𨂾睺𢰸㨴䟕𨅝𦧲𤷪擝𠵼𠾴𠳕𡃴撍蹾𠺖𠰋𠽤𢲩𨉖𤓓"],["8a64","𠵆𩩍𨃩䟴𤺧𢳂骲㩧𩗴㿭㔆𥋇𩟔𧣈𢵄鵮頕"],["8a76","䏙𦂥撴哣𢵌𢯊𡁷㧻𡁯"],["8aa1","𦛚𦜖𧦠擪𥁒𠱃蹨𢆡𨭌𠜱"],["8aac","䠋𠆩㿺塳𢶍"],["8ab2","𤗈𠓼𦂗𠽌𠶖啹䂻䎺"],["8abb","䪴𢩦𡂝膪飵𠶜捹㧾𢝵跀嚡摼㹃"],["8ac9","𪘁𠸉𢫏𢳉"],["8ace","𡃈𣧂㦒㨆𨊛㕸𥹉𢃇噒𠼱𢲲𩜠㒼氽𤸻"],["8adf","𧕴𢺋𢈈𪙛𨳍𠹺𠰴𦠜羓𡃏𢠃𢤹㗻𥇣𠺌𠾍𠺪㾓𠼰𠵇𡅏𠹌"],["8af6","𠺫𠮩𠵈𡃀𡄽㿹𢚖搲𠾭"],["8b40","𣏴𧘹𢯎𠵾𠵿𢱑𢱕㨘𠺘𡃇𠼮𪘲𦭐𨳒𨶙𨳊閪哌苄喹"],["8b55","𩻃鰦骶𧝞𢷮煀腭胬尜𦕲脴㞗卟𨂽醶𠻺𠸏𠹷𠻻㗝𤷫㘉𠳖嚯𢞵𡃉𠸐𠹸𡁸𡅈𨈇𡑕𠹹𤹐𢶤婔𡀝𡀞𡃵𡃶垜𠸑"],["8ba1","𧚔𨋍𠾵𠹻𥅾㜃𠾶𡆀𥋘𪊽𤧚𡠺𤅷𨉼墙剨㘚𥜽箲孨䠀䬬鼧䧧鰟鮍𥭴𣄽嗻㗲嚉丨夂𡯁屮靑𠂆乛亻㔾尣彑忄㣺扌攵歺氵氺灬爫丬犭𤣩罒礻糹罓𦉪㓁"],["8bde","𦍋耂肀𦘒𦥑卝衤见𧢲讠贝钅镸长门𨸏韦页风飞饣𩠐鱼鸟黄歯龜丷𠂇阝户钢"],["8c40","倻淾𩱳龦㷉袏𤅎灷峵䬠𥇍㕙𥴰愢𨨲辧釶熑朙玺𣊁𪄇㲋𡦀䬐磤琂冮𨜏䀉橣𪊺䈣蘏𠩯稪𩥇𨫪靕灍匤𢁾鏴盙𨧣龧矝亣俰傼丯众龨吴綋墒壐𡶶庒庙忂𢜒斋"],["8ca1","𣏹椙橃𣱣泿"],["8ca7","爀𤔅玌㻛𤨓嬕璹讃𥲤𥚕窓篬糃繬苸薗龩袐龪躹龫迏蕟駠鈡龬𨶹𡐿䁱䊢娚"],["8cc9","顨杫䉶圽"],["8cce","藖𤥻芿𧄍䲁𦵴嵻𦬕𦾾龭龮宖龯曧繛湗秊㶈䓃𣉖𢞖䎚䔶"],["8ce6","峕𣬚諹屸㴒𣕑嵸龲煗䕘𤃬𡸣䱷㥸㑊𠆤𦱁諌侴𠈹妿腬顖𩣺弻"],["8d40","𠮟"],["8d42","𢇁𨥭䄂䚻𩁹㼇龳𪆵䃸㟖䛷𦱆䅼𨚲𧏿䕭㣔𥒚䕡䔛䶉䱻䵶䗪㿈𤬏㙡䓞䒽䇭崾嵈嵖㷼㠏嶤嶹㠠㠸幂庽弥徃㤈㤔㤿㥍惗愽峥㦉憷憹懏㦸戬抐拥挘㧸嚱"],["8da1","㨃揢揻搇摚㩋擀崕嘡龟㪗斆㪽旿晓㫲暒㬢朖㭂枤栀㭘桊梄㭲㭱㭻椉楃牜楤榟榅㮼槖㯝橥橴橱檂㯬檙㯲檫檵櫔櫶殁毁毪汵沪㳋洂洆洦涁㳯涤涱渕渘温溆𨧀溻滢滚齿滨滩漤漴㵆𣽁澁澾㵪㵵熷岙㶊瀬㶑灐灔灯灿炉𠌥䏁㗱𠻘"],["8e40","𣻗垾𦻓焾𥟠㙎榢𨯩孴穉𥣡𩓙穥穽𥦬窻窰竂竃燑𦒍䇊竚竝竪䇯咲𥰁笋筕笩𥌎𥳾箢筯莜𥮴𦱿篐萡箒箸𥴠㶭𥱥蒒篺簆簵𥳁籄粃𤢂粦晽𤕸糉糇糦籴糳糵糎"],["8ea1","繧䔝𦹄絝𦻖璍綉綫焵綳緒𤁗𦀩緤㴓緵𡟹緥𨍭縝𦄡𦅚繮纒䌫鑬縧罀罁罇礶𦋐駡羗𦍑羣𡙡𠁨䕜𣝦䔃𨌺翺𦒉者耈耝耨耯𪂇𦳃耻耼聡𢜔䦉𦘦𣷣𦛨朥肧𨩈脇脚墰𢛶汿𦒘𤾸擧𡒊舘𡡞橓𤩥𤪕䑺舩𠬍𦩒𣵾俹𡓽蓢荢𦬊𤦧𣔰𡝳𣷸芪椛芳䇛"],["8f40","蕋苐茚𠸖𡞴㛁𣅽𣕚艻苢茘𣺋𦶣𦬅𦮗𣗎㶿茝嗬莅䔋𦶥莬菁菓㑾𦻔橗蕚㒖𦹂𢻯葘𥯤葱㷓䓤檧葊𣲵祘蒨𦮖𦹷𦹃蓞萏莑䒠蒓蓤𥲑䉀𥳀䕃蔴嫲𦺙䔧蕳䔖枿蘖"],["8fa1","𨘥𨘻藁𧂈蘂𡖂𧃍䕫䕪蘨㙈𡢢号𧎚虾蝱𪃸蟮𢰧螱蟚蠏噡虬桖䘏衅衆𧗠𣶹𧗤衞袜䙛袴袵揁装睷𧜏覇覊覦覩覧覼𨨥觧𧤤𧪽誜瞓釾誐𧩙竩𧬺𣾏䜓𧬸煼謌謟𥐰𥕥謿譌譍誩𤩺讐讛誯𡛟䘕衏貛𧵔𧶏貫㜥𧵓賖𧶘𧶽贒贃𡤐賛灜贑𤳉㻐起"],["9040","趩𨀂𡀔𤦊㭼𨆼𧄌竧躭躶軃鋔輙輭𨍥𨐒辥錃𪊟𠩐辳䤪𨧞𨔽𣶻廸𣉢迹𪀔𨚼𨔁𢌥㦀𦻗逷𨔼𧪾遡𨕬𨘋邨𨜓郄𨛦邮都酧㫰醩釄粬𨤳𡺉鈎沟鉁鉢𥖹銹𨫆𣲛𨬌𥗛"],["90a1","𠴱錬鍫𨫡𨯫炏嫃𨫢𨫥䥥鉄𨯬𨰹𨯿鍳鑛躼閅閦鐦閠濶䊹𢙺𨛘𡉼𣸮䧟氜陻隖䅬隣𦻕懚隶磵𨫠隽双䦡𦲸𠉴𦐐𩂯𩃥𤫑𡤕𣌊霱虂霶䨏䔽䖅𤫩灵孁霛靜𩇕靗孊𩇫靟鐥僐𣂷𣂼鞉鞟鞱鞾韀韒韠𥑬韮琜𩐳響韵𩐝𧥺䫑頴頳顋顦㬎𧅵㵑𠘰𤅜"],["9140","𥜆飊颷飈飇䫿𦴧𡛓喰飡飦飬鍸餹𤨩䭲𩡗𩤅駵騌騻騐驘𥜥㛄𩂱𩯕髠髢𩬅髴䰎鬔鬭𨘀倴鬴𦦨㣃𣁽魐魀𩴾婅𡡣鮎𤉋鰂鯿鰌𩹨鷔𩾷𪆒𪆫𪃡𪄣𪇟鵾鶃𪄴鸎梈"],["91a1","鷄𢅛𪆓𪈠𡤻𪈳鴹𪂹𪊴麐麕麞麢䴴麪麯𤍤黁㭠㧥㴝伲㞾𨰫鼂鼈䮖鐤𦶢鼗鼖鼹嚟嚊齅馸𩂋韲葿齢齩竜龎爖䮾𤥵𤦻煷𤧸𤍈𤩑玞𨯚𡣺禟𨥾𨸶鍩鏳𨩄鋬鎁鏋𨥬𤒹爗㻫睲穃烐𤑳𤏸煾𡟯炣𡢾𣖙㻇𡢅𥐯𡟸㜢𡛻𡠹㛡𡝴𡣑𥽋㜣𡛀坛𤨥𡏾𡊨"],["9240","𡏆𡒶蔃𣚦蔃葕𤦔𧅥𣸱𥕜𣻻𧁒䓴𣛮𩦝𦼦柹㜳㰕㷧塬𡤢栐䁗𣜿𤃡𤂋𤄏𦰡哋嚞𦚱嚒𠿟𠮨𠸍鏆𨬓鎜仸儫㠙𤐶亼𠑥𠍿佋侊𥙑婨𠆫𠏋㦙𠌊𠐔㐵伩𠋀𨺳𠉵諚𠈌亘"],["92a1","働儍侢伃𤨎𣺊佂倮偬傁俌俥偘僼兙兛兝兞湶𣖕𣸹𣺿浲𡢄𣺉冨凃𠗠䓝𠒣𠒒𠒑赺𨪜𠜎剙劤𠡳勡鍮䙺熌𤎌𠰠𤦬𡃤槑𠸝瑹㻞璙琔瑖玘䮎𤪼𤂍叐㖄爏𤃉喴𠍅响𠯆圝鉝雴鍦埝垍坿㘾壋媙𨩆𡛺𡝯𡜐娬妸銏婾嫏娒𥥆𡧳𡡡𤊕㛵洅瑃娡𥺃"],["9340","媁𨯗𠐓鏠璌𡌃焅䥲鐈𨧻鎽㞠尞岞幞幈𡦖𡥼𣫮廍孏𡤃𡤄㜁𡢠㛝𡛾㛓脪𨩇𡶺𣑲𨦨弌弎𡤧𡞫婫𡜻孄蘔𧗽衠恾𢡠𢘫忛㺸𢖯𢖾𩂈𦽳懀𠀾𠁆𢘛憙憘恵𢲛𢴇𤛔𩅍"],["93a1","摱𤙥𢭪㨩𢬢𣑐𩣪𢹸挷𪑛撶挱揑𤧣𢵧护𢲡搻敫楲㯴𣂎𣊭𤦉𣊫唍𣋠𡣙𩐿曎𣊉𣆳㫠䆐𥖄𨬢𥖏𡛼𥕛𥐥磮𣄃𡠪𣈴㑤𣈏𣆂𤋉暎𦴤晫䮓昰𧡰𡷫晣𣋒𣋡昞𥡲㣑𣠺𣞼㮙𣞢𣏾瓐㮖枏𤘪梶栞㯄檾㡣𣟕𤒇樳橒櫉欅𡤒攑梘橌㯗橺歗𣿀𣲚鎠鋲𨯪𨫋"],["9440","銉𨀞𨧜鑧涥漋𤧬浧𣽿㶏渄𤀼娽渊塇洤硂焻𤌚𤉶烱牐犇犔𤞏𤜥兹𤪤𠗫瑺𣻸𣙟𤩊𤤗𥿡㼆㺱𤫟𨰣𣼵悧㻳瓌琼鎇琷䒟𦷪䕑疃㽣𤳙𤴆㽘畕癳𪗆㬙瑨𨫌𤦫𤦎㫻"],["94a1","㷍𤩎㻿𤧅𤣳釺圲鍂𨫣𡡤僟𥈡𥇧睸𣈲眎眏睻𤚗𣞁㩞𤣰琸璛㺿𤪺𤫇䃈𤪖𦆮錇𥖁砞碍碈磒珐祙𧝁𥛣䄎禛蒖禥樭𣻺稺秴䅮𡛦䄲鈵秱𠵌𤦌𠊙𣶺𡝮㖗啫㕰㚪𠇔𠰍竢婙𢛵𥪯𥪜娍𠉛磰娪𥯆竾䇹籝籭䈑𥮳𥺼𥺦糍𤧹𡞰粎籼粮檲緜縇緓罎𦉡"],["9540","𦅜𧭈綗𥺂䉪𦭵𠤖柖𠁎𣗏埄𦐒𦏸𤥢翝笧𠠬𥫩𥵃笌𥸎駦虅驣樜𣐿㧢𤧷𦖭騟𦖠蒀𧄧𦳑䓪脷䐂胆脉腂𦞴飃𦩂艢艥𦩑葓𦶧蘐𧈛媆䅿𡡀嬫𡢡嫤𡣘蚠蜨𣶏蠭𧐢娂"],["95a1","衮佅袇袿裦襥襍𥚃襔𧞅𧞄𨯵𨯙𨮜𨧹㺭蒣䛵䛏㟲訽訜𩑈彍鈫𤊄旔焩烄𡡅鵭貟賩𧷜妚矃姰䍮㛔踪躧𤰉輰轊䋴汘澻𢌡䢛潹溋𡟚鯩㚵𤤯邻邗啱䤆醻鐄𨩋䁢𨫼鐧𨰝𨰻蓥訫閙閧閗閖𨴴瑅㻂𤣿𤩂𤏪㻧𣈥随𨻧𨹦𨹥㻌𤧭𤩸𣿮琒瑫㻼靁𩂰"],["9640","桇䨝𩂓𥟟靝鍨𨦉𨰦𨬯𦎾銺嬑譩䤼珹𤈛鞛靱餸𠼦巁𨯅𤪲頟𩓚鋶𩗗釥䓀𨭐𤩧𨭤飜𨩅㼀鈪䤥萔餻饍𧬆㷽馛䭯馪驜𨭥𥣈檏騡嫾騯𩣱䮐𩥈馼䮽䮗鍽塲𡌂堢𤦸"],["96a1","𡓨硄𢜟𣶸棅㵽鑘㤧慐𢞁𢥫愇鱏鱓鱻鰵鰐魿鯏𩸭鮟𪇵𪃾鴡䲮𤄄鸘䲰鴌𪆴𪃭𪃳𩤯鶥蒽𦸒𦿟𦮂藼䔳𦶤𦺄𦷰萠藮𦸀𣟗𦁤秢𣖜𣙀䤭𤧞㵢鏛銾鍈𠊿碹鉷鑍俤㑀遤𥕝砽硔碶硋𡝗𣇉𤥁㚚佲濚濙瀞瀞吔𤆵垻壳垊鴖埗焴㒯𤆬燫𦱀𤾗嬨𡞵𨩉"],["9740","愌嫎娋䊼𤒈㜬䭻𨧼鎻鎸𡣖𠼝葲𦳀𡐓𤋺𢰦𤏁妔𣶷𦝁綨𦅛𦂤𤦹𤦋𨧺鋥珢㻩璴𨭣𡢟㻡𤪳櫘珳珻㻖𤨾𤪔𡟙𤩦𠎧𡐤𤧥瑈𤤖炥𤥶銄珦鍟𠓾錱𨫎𨨖鎆𨯧𥗕䤵𨪂煫"],["97a1","𤥃𠳿嚤𠘚𠯫𠲸唂秄𡟺緾𡛂𤩐𡡒䔮鐁㜊𨫀𤦭妰𡢿𡢃𧒄媡㛢𣵛㚰鉟婹𨪁𡡢鍴㳍𠪴䪖㦊僴㵩㵌𡎜煵䋻𨈘渏𩃤䓫浗𧹏灧沯㳖𣿭𣸭渂漌㵯𠏵畑㚼㓈䚀㻚䡱姄鉮䤾轁𨰜𦯀堒埈㛖𡑒烾𤍢𤩱𢿣𡊰𢎽梹楧𡎘𣓥𧯴𣛟𨪃𣟖𣏺𤲟樚𣚭𦲷萾䓟䓎"],["9840","𦴦𦵑𦲂𦿞漗𧄉茽𡜺菭𦲀𧁓𡟛妉媂𡞳婡婱𡤅𤇼㜭姯𡜼㛇熎鎐暚𤊥婮娫𤊓樫𣻹𧜶𤑛𤋊焝𤉙𨧡侰𦴨峂𤓎𧹍𤎽樌𤉖𡌄炦焳𤏩㶥泟勇𤩏繥姫崯㷳彜𤩝𡟟綤萦"],["98a1","咅𣫺𣌀𠈔坾𠣕𠘙㿥𡾞𪊶瀃𩅛嵰玏糓𨩙𩐠俈翧狍猐𧫴猸猹𥛶獁獈㺩𧬘遬燵𤣲珡臶㻊県㻑沢国琙琞琟㻢㻰㻴㻺瓓㼎㽓畂畭畲疍㽼痈痜㿀癍㿗癴㿜発𤽜熈嘣覀塩䀝睃䀹条䁅㗛瞘䁪䁯属瞾矋売砘点砜䂨砹硇硑硦葈𥔵礳栃礲䄃"],["9940","䄉禑禙辻稆込䅧窑䆲窼艹䇄竏竛䇏両筢筬筻簒簛䉠䉺类粜䊌粸䊔糭输烀𠳏総緔緐緽羮羴犟䎗耠耥笹耮耱联㷌垴炠肷胩䏭脌猪脎脒畠脔䐁㬹腖腙腚"],["99a1","䐓堺腼膄䐥膓䐭膥埯臁臤艔䒏芦艶苊苘苿䒰荗险榊萅烵葤惣蒈䔄蒾蓡蓸蔐蔸蕒䔻蕯蕰藠䕷虲蚒蚲蛯际螋䘆䘗袮裿褤襇覑𧥧訩訸誔誴豑賔賲贜䞘塟跃䟭仮踺嗘坔蹱嗵躰䠷軎転軤軭軲辷迁迊迌逳駄䢭飠鈓䤞鈨鉘鉫銱銮銿"],["9a40","鋣鋫鋳鋴鋽鍃鎄鎭䥅䥑麿鐗匁鐝鐭鐾䥪鑔鑹锭関䦧间阳䧥枠䨤靀䨵鞲韂噔䫤惨颹䬙飱塄餎餙冴餜餷饂饝饢䭰駅䮝騼鬏窃魩鮁鯝鯱鯴䱭鰠㝯𡯂鵉鰺"],["9aa1","黾噐鶓鶽鷀鷼银辶鹻麬麱麽黆铜黢黱黸竈齄𠂔𠊷𠎠椚铃妬𠓗塀铁㞹𠗕𠘕𠙶𡚺块煳𠫂𠫍𠮿呪吆𠯋咞𠯻𠰻𠱓𠱥𠱼惧𠲍噺𠲵𠳝𠳭𠵯𠶲𠷈楕鰯螥𠸄𠸎𠻗𠾐𠼭𠹳尠𠾼帋𡁜𡁏𡁶朞𡁻𡂈𡂖㙇𡂿𡃓𡄯𡄻卤蒭𡋣𡍵𡌶讁𡕷𡘙𡟃𡟇乸炻𡠭𡥪"],["9b40","𡨭𡩅𡰪𡱰𡲬𡻈拃𡻕𡼕熘桕𢁅槩㛈𢉼𢏗𢏺𢜪𢡱𢥏苽𢥧𢦓𢫕覥𢫨辠𢬎鞸𢬿顇骽𢱌"],["9b62","𢲈𢲷𥯨𢴈𢴒𢶷𢶕𢹂𢽴𢿌𣀳𣁦𣌟𣏞徱晈暿𧩹𣕧𣗳爁𤦺矗𣘚𣜖纇𠍆墵朎"],["9ba1","椘𣪧𧙗𥿢𣸑𣺹𧗾𢂚䣐䪸𤄙𨪚𤋮𤌍𤀻𤌴𤎖𤩅𠗊凒𠘑妟𡺨㮾𣳿𤐄𤓖垈𤙴㦛𤜯𨗨𩧉㝢𢇃譞𨭎駖𤠒𤣻𤨕爉𤫀𠱸奥𤺥𤾆𠝹軚𥀬劏圿煱𥊙𥐙𣽊𤪧喼𥑆𥑮𦭒釔㑳𥔿𧘲𥕞䜘𥕢𥕦𥟇𤤿𥡝偦㓻𣏌惞𥤃䝼𨥈𥪮𥮉𥰆𡶐垡煑澶𦄂𧰒遖𦆲𤾚譢𦐂𦑊"],["9c40","嵛𦯷輶𦒄𡤜諪𤧶𦒈𣿯𦔒䯀𦖿𦚵𢜛鑥𥟡憕娧晉侻嚹𤔡𦛼乪𤤴陖涏𦲽㘘襷𦞙𦡮𦐑𦡞營𦣇筂𩃀𠨑𦤦鄄𦤹穅鷰𦧺騦𦨭㙟𦑩𠀡禃𦨴𦭛崬𣔙菏𦮝䛐𦲤画补𦶮墶"],["9ca1","㜜𢖍𧁋𧇍㱔𧊀𧊅銁𢅺𧊋錰𧋦𤧐氹钟𧑐𠻸蠧裵𢤦𨑳𡞱溸𤨪𡠠㦤㚹尐秣䔿暶𩲭𩢤襃𧟌𧡘囖䃟𡘊㦡𣜯𨃨𡏅熭荦𧧝𩆨婧䲷𧂯𨦫𧧽𧨊𧬋𧵦𤅺筃祾𨀉澵𪋟樃𨌘厢𦸇鎿栶靝𨅯𨀣𦦵𡏭𣈯𨁈嶅𨰰𨂃圕頣𨥉嶫𤦈斾槕叒𤪥𣾁㰑朶𨂐𨃴𨄮𡾡𨅏"],["9d40","𨆉𨆯𨈚𨌆𨌯𨎊㗊𨑨𨚪䣺揦𨥖砈鉕𨦸䏲𨧧䏟𨧨𨭆𨯔姸𨰉輋𨿅𩃬筑𩄐𩄼㷷𩅞𤫊运犏嚋𩓧𩗩𩖰𩖸𩜲𩣑𩥉𩥪𩧃𩨨𩬎𩵚𩶛纟𩻸𩼣䲤镇𪊓熢𪋿䶑递𪗋䶜𠲜达嗁"],["9da1","辺𢒰边𤪓䔉繿潖檱仪㓤𨬬𧢝㜺躀𡟵𨀤𨭬𨮙𧨾𦚯㷫𧙕𣲷𥘵𥥖亚𥺁𦉘嚿𠹭踎孭𣺈𤲞揞拐𡟶𡡻攰嘭𥱊吚𥌑㷆𩶘䱽嘢嘞罉𥻘奵𣵀蝰东𠿪𠵉𣚺脗鵞贘瘻鱅癎瞹鍅吲腈苷嘥脲萘肽嗪祢噃吖𠺝㗎嘅嗱曱𨋢㘭甴嗰喺咗啲𠱁𠲖廐𥅈𠹶𢱢"],["9e40","𠺢麫絚嗞𡁵抝靭咔賍燶酶揼掹揾啩𢭃鱲𢺳冚㓟𠶧冧呍唞唓癦踭𦢊疱肶蠄螆裇膶萜𡃁䓬猄𤜆宐茋𦢓噻𢛴𧴯𤆣𧵳𦻐𧊶酰𡇙鈈𣳼𪚩𠺬𠻹牦𡲢䝎𤿂𧿹𠿫䃺"],["9ea1","鱝攟𢶠䣳𤟠𩵼𠿬𠸊恢𧖣𠿭"],["9ead","𦁈𡆇熣纎鵐业丄㕷嬍沲卧㚬㧜卽㚥𤘘墚𤭮舭呋垪𥪕𠥹"],["9ec5","㩒𢑥獴𩺬䴉鯭𣳾𩼰䱛𤾩𩖞𩿞葜𣶶𧊲𦞳𣜠挮紥𣻷𣸬㨪逈勌㹴㙺䗩𠒎癀嫰𠺶硺𧼮墧䂿噼鮋嵴癔𪐴麅䳡痹㟻愙𣃚𤏲"],["9ef5","噝𡊩垧𤥣𩸆刴𧂮㖭汊鵼"],["9f40","籖鬹埞𡝬屓擓𩓐𦌵𧅤蚭𠴨𦴢𤫢𠵱"],["9f4f","凾𡼏嶎霃𡷑麁遌笟鬂峑箣扨挵髿篏鬪籾鬮籂粆鰕篼鬉鼗鰛𤤾齚啳寃俽麘俲剠㸆勑坧偖妷帒韈鶫轜呩鞴饀鞺匬愰"],["9fa1","椬叚鰊鴂䰻陁榀傦畆𡝭駚剳"],["9fae","酙隁酜"],["9fb2","酑𨺗捿𦴣櫊嘑醎畺抅𠏼獏籰𥰡𣳽"],["9fc1","𤤙盖鮝个𠳔莾衂"],["9fc9","届槀僭坺刟巵从氱𠇲伹咜哚劚趂㗾弌㗳"],["9fdb","歒酼龥鮗頮颴骺麨麄煺笔"],["9fe7","毺蠘罸"],["9feb","嘠𪙊蹷齓"],["9ff0","跔蹏鸜踁抂𨍽踨蹵竓𤩷稾磘泪詧瘇"],["a040","𨩚鼦泎蟖痃𪊲硓咢贌狢獱謭猂瓱賫𤪻蘯徺袠䒷"],["a055","𡠻𦸅"],["a058","詾𢔛"],["a05b","惽癧髗鵄鍮鮏蟵"],["a063","蠏賷猬霡鮰㗖犲䰇籑饊𦅙慙䰄麖慽"],["a073","坟慯抦戹拎㩜懢厪𣏵捤栂㗒"],["a0a1","嵗𨯂迚𨸹"],["a0a6","僙𡵆礆匲阸𠼻䁥"],["a0ae","矾"],["a0b0","糂𥼚糚稭聦聣絍甅瓲覔舚朌聢𧒆聛瓰脃眤覉𦟌畓𦻑螩蟎臈螌詉貭譃眫瓸蓚㘵榲趦"],["a0d4","覩瑨涹蟁𤀑瓧㷛煶悤憜㳑煢恷"],["a0e2","罱𨬭牐惩䭾删㰘𣳇𥻗𧙖𥔱𡥄𡋾𩤃𦷜𧂭峁𦆭𨨏𣙷𠃮𦡆𤼎䕢嬟𦍌齐麦𦉫"],["a3c0","␀",31,"␡"],["c6a1","①",9,"⑴",9,"ⅰ",9,"丶丿亅亠冂冖冫勹匸卩厶夊宀巛⼳广廴彐彡攴无疒癶辵隶¨ˆヽヾゝゞ〃仝々〆〇ー［］✽ぁ",23],["c740","す",58,"ァアィイ"],["c7a1","ゥ",81,"А",5,"ЁЖ",4],["c840","Л",26,"ёж",25,"⇧↸↹㇏𠃌乚𠂊刂䒑"],["c8a1","龰冈龱𧘇"],["c8cd","￢￤＇＂㈱№℡゛゜⺀⺄⺆⺇⺈⺊⺌⺍⺕⺜⺝⺥⺧⺪⺬⺮⺶⺼⺾⻆⻊⻌⻍⻏⻖⻗⻞⻣"],["c8f5","ʃɐɛɔɵœøŋʊɪ"],["f9fe","￭"],["fa40","𠕇鋛𠗟𣿅蕌䊵珯况㙉𤥂𨧤鍄𡧛苮𣳈砼杄拟𤤳𨦪𠊠𦮳𡌅侫𢓭倈𦴩𧪄𣘀𤪱𢔓倩𠍾徤𠎀𠍇滛𠐟偽儁㑺儎顬㝃萖𤦤𠒇兠𣎴兪𠯿𢃼𠋥𢔰𠖎𣈳𡦃宂蝽𠖳𣲙冲冸"],["faa1","鴴凉减凑㳜凓𤪦决凢卂凭菍椾𣜭彻刋刦刼劵剗劔効勅簕蕂勠蘍𦬓包𨫞啉滙𣾀𠥔𣿬匳卄𠯢泋𡜦栛珕恊㺪㣌𡛨燝䒢卭却𨚫卾卿𡖖𡘓矦厓𨪛厠厫厮玧𥝲㽙玜叁叅汉义埾叙㪫𠮏叠𣿫𢶣叶𠱷吓灹唫晗浛呭𦭓𠵴啝咏咤䞦𡜍𠻝㶴𠵍"],["fb40","𨦼𢚘啇䳭启琗喆喩嘅𡣗𤀺䕒𤐵暳𡂴嘷曍𣊊暤暭噍噏磱囱鞇叾圀囯园𨭦㘣𡉏坆𤆥汮炋坂㚱𦱾埦𡐖堃𡑔𤍣堦𤯵塜墪㕡壠壜𡈼壻寿坃𪅐𤉸鏓㖡够梦㛃湙"],["fba1","𡘾娤啓𡚒蔅姉𠵎𦲁𦴪𡟜姙𡟻𡞲𦶦浱𡠨𡛕姹𦹅媫婣㛦𤦩婷㜈媖瑥嫓𦾡𢕔㶅𡤑㜲𡚸広勐孶斈孼𧨎䀄䡝𠈄寕慠𡨴𥧌𠖥寳宝䴐尅𡭄尓珎尔𡲥𦬨屉䣝岅峩峯嶋𡷹𡸷崐崘嵆𡺤岺巗苼㠭𤤁𢁉𢅳芇㠶㯂帮檊幵幺𤒼𠳓厦亷廐厨𡝱帉廴𨒂"],["fc40","廹廻㢠廼栾鐛弍𠇁弢㫞䢮𡌺强𦢈𢏐彘𢑱彣鞽𦹮彲鍀𨨶徧嶶㵟𥉐𡽪𧃸𢙨釖𠊞𨨩怱暅𡡷㥣㷇㘹垐𢞴祱㹀悞悤悳𤦂𤦏𧩓璤僡媠慤萤慂慈𦻒憁凴𠙖憇宪𣾷"],["fca1","𢡟懓𨮝𩥝懐㤲𢦀𢣁怣慜攞掋𠄘担𡝰拕𢸍捬𤧟㨗搸揸𡎎𡟼撐澊𢸶頔𤂌𥜝擡擥鑻㩦携㩗敍漖𤨨𤨣斅敭敟𣁾斵𤥀䬷旑䃘𡠩无旣忟𣐀昘𣇷𣇸晄𣆤𣆥晋𠹵晧𥇦晳晴𡸽𣈱𨗴𣇈𥌓矅𢣷馤朂𤎜𤨡㬫槺𣟂杞杧杢𤇍𩃭柗䓩栢湐鈼栁𣏦𦶠桝"],["fd40","𣑯槡樋𨫟楳棃𣗍椁椀㴲㨁𣘼㮀枬楡𨩊䋼椶榘㮡𠏉荣傐槹𣙙𢄪橅𣜃檝㯳枱櫈𩆜㰍欝𠤣惞欵歴𢟍溵𣫛𠎵𡥘㝀吡𣭚毡𣻼毜氷𢒋𤣱𦭑汚舦汹𣶼䓅𣶽𤆤𤤌𤤀"],["fda1","𣳉㛥㳫𠴲鮃𣇹𢒑羏样𦴥𦶡𦷫涖浜湼漄𤥿𤂅𦹲蔳𦽴凇沜渝萮𨬡港𣸯瑓𣾂秌湏媑𣁋濸㜍澝𣸰滺𡒗𤀽䕕鏰潄潜㵎潴𩅰㴻澟𤅄濓𤂑𤅕𤀹𣿰𣾴𤄿凟𤅖𤅗𤅀𦇝灋灾炧炁烌烕烖烟䄄㷨熴熖𤉷焫煅媈煊煮岜𤍥煏鍢𤋁焬𤑚𤨧𤨢熺𨯨炽爎"],["fe40","鑂爕夑鑃爤鍁𥘅爮牀𤥴梽牕牗㹕𣁄栍漽犂猪猫𤠣𨠫䣭𨠄猨献珏玪𠰺𦨮珉瑉𤇢𡛧𤨤昣㛅𤦷𤦍𤧻珷琕椃𤨦琹𠗃㻗瑜𢢭瑠𨺲瑇珤瑶莹瑬㜰瑴鏱樬璂䥓𤪌"],["fea1","𤅟𤩹𨮏孆𨰃𡢞瓈𡦈甎瓩甞𨻙𡩋寗𨺬鎅畍畊畧畮𤾂㼄𤴓疎瑝疞疴瘂瘬癑癏癯癶𦏵皐臯㟸𦤑𦤎皡皥皷盌𦾟葢𥂝𥅽𡸜眞眦着撯𥈠睘𣊬瞯𨥤𨥨𡛁矴砉𡍶𤨒棊碯磇磓隥礮𥗠磗礴碱𧘌辸袄𨬫𦂃𢘜禆褀椂禀𥡗禝𧬹礼禩渪𧄦㺨秆𩄍秔"]]}});var require_dbcs_data=__commonJS({"node_modules/iconv-lite/encodings/dbcs-data.js"(exports2,module2){"use strict";module2.exports={"shiftjis":{type:"_dbcs",table:function(){return require_shiftjis()},encodeAdd:{"¥":92,"‾":126},encodeSkipVals:[{from:60736,to:63808}]},"csshiftjis":"shiftjis","mskanji":"shiftjis","sjis":"shiftjis","windows31j":"shiftjis","ms31j":"shiftjis","xsjis":"shiftjis","windows932":"shiftjis","ms932":"shiftjis","932":"shiftjis","cp932":"shiftjis","eucjp":{type:"_dbcs",table:function(){return require_eucjp()},encodeAdd:{"¥":92,"‾":126}},"gb2312":"cp936","gb231280":"cp936","gb23121980":"cp936","csgb2312":"cp936","csiso58gb231280":"cp936","euccn":"cp936","windows936":"cp936","ms936":"cp936","936":"cp936","cp936":{type:"_dbcs",table:function(){return require_cp936()}},"gbk":{type:"_dbcs",table:function(){return require_cp936().concat(require_gbk_added())}},"xgbk":"gbk","isoir58":"gbk","gb18030":{type:"_dbcs",table:function(){return require_cp936().concat(require_gbk_added())},gb18030:function(){return require_gb18030_ranges()},encodeSkipVals:[128],encodeAdd:{"€":41699}},"chinese":"gb18030","windows949":"cp949","ms949":"cp949","949":"cp949","cp949":{type:"_dbcs",table:function(){return require_cp949()}},"cseuckr":"cp949","csksc56011987":"cp949","euckr":"cp949","isoir149":"cp949","korean":"cp949","ksc56011987":"cp949","ksc56011989":"cp949","ksc5601":"cp949","windows950":"cp950","ms950":"cp950","950":"cp950","cp950":{type:"_dbcs",table:function(){return require_cp950()}},"big5":"big5hkscs","big5hkscs":{type:"_dbcs",table:function(){return require_cp950().concat(require_big5_added())},encodeSkipVals:[36457,36463,36478,36523,36532,36557,36560,36695,36713,36718,36811,36862,36973,36986,37060,37084,37105,37311,37551,37552,37553,37554,37585,37959,38090,38361,38652,39285,39798,39800,39803,39878,39902,39916,39926,40002,40019,40034,40040,40043,40055,40124,40125,40144,40279,40282,40388,40431,40443,40617,40687,40701,40800,40907,41079,41180,41183,36812,37576,38468,38637,41636,41637,41639,41638,41676,41678]},"cnbig5":"big5hkscs","csbig5":"big5hkscs","xxbig5":"big5hkscs"}}});var require_encodings=__commonJS({"node_modules/iconv-lite/encodings/index.js"(exports2,module2){"use strict";var modules=[require_internal(),require_utf32(),require_utf16(),require_utf7(),require_sbcs_codec(),require_sbcs_data(),require_sbcs_data_generated(),require_dbcs_codec(),require_dbcs_data()];for(i=0;i<modules.length;i++){module2=modules[i];for(enc in module2)if(Object.prototype.hasOwnProperty.call(module2,enc))exports2[enc]=module2[enc]}var module2;var enc;var i}});var require_streams=__commonJS({"node_modules/iconv-lite/lib/streams.js"(exports2,module2){"use strict";var Buffer12=require_safer().Buffer;module2.exports=function(stream_module){var Transform=stream_module.Transform;function IconvLiteEncoderStream(conv,options){this.conv=conv;options=options||{};options.decodeStrings=false;Transform.call(this,options)}IconvLiteEncoderStream.prototype=Object.create(Transform.prototype,{constructor:{value:IconvLiteEncoderStream}});IconvLiteEncoderStream.prototype._transform=function(chunk2,encoding,done){if(typeof chunk2!="string")return done(new Error("Iconv encoding stream needs strings as its input."));try{var res=this.conv.write(chunk2);if(res&&res.length)this.push(res);done()}catch(e){done(e)}};IconvLiteEncoderStream.prototype._flush=function(done){try{var res=this.conv.end();if(res&&res.length)this.push(res);done()}catch(e){done(e)}};IconvLiteEncoderStream.prototype.collect=function(cb){var chunks=[];this.on("error",cb);this.on("data",function(chunk2){chunks.push(chunk2)});this.on("end",function(){cb(null,Buffer12.concat(chunks))});return this};function IconvLiteDecoderStream(conv,options){this.conv=conv;options=options||{};options.encoding=this.encoding="utf8";Transform.call(this,options)}IconvLiteDecoderStream.prototype=Object.create(Transform.prototype,{constructor:{value:IconvLiteDecoderStream}});IconvLiteDecoderStream.prototype._transform=function(chunk2,encoding,done){if(!Buffer12.isBuffer(chunk2)&&!(chunk2 instanceof Uint8Array))return done(new Error("Iconv decoding stream needs buffers as its input."));try{var res=this.conv.write(chunk2);if(res&&res.length)this.push(res,this.encoding);done()}catch(e){done(e)}};IconvLiteDecoderStream.prototype._flush=function(done){try{var res=this.conv.end();if(res&&res.length)this.push(res,this.encoding);done()}catch(e){done(e)}};IconvLiteDecoderStream.prototype.collect=function(cb){var res="";this.on("error",cb);this.on("data",function(chunk2){res+=chunk2});this.on("end",function(){cb(null,res)});return this};return{IconvLiteEncoderStream,IconvLiteDecoderStream}}}});var require_lib4=__commonJS({"node_modules/iconv-lite/lib/index.js"(exports2,module2){"use strict";var Buffer12=require_safer().Buffer;var bomHandling=require_bom_handling();var iconv=module2.exports;iconv.encodings=null;iconv.defaultCharUnicode="�";iconv.defaultCharSingleByte="?";iconv.encode=function encode2(str2,encoding,options){str2=""+(str2||"");var encoder2=iconv.getEncoder(encoding,options);var res=encoder2.write(str2);var trail=encoder2.end();return trail&&trail.length>0?Buffer12.concat([res,trail]):res};iconv.decode=function decode(buf,encoding,options){if(typeof buf==="string"){if(!iconv.skipDecodeWarning){console.error("Iconv-lite warning: decode()-ing strings is deprecated. Refer to https://github.com/ashtuchkin/iconv-lite/wiki/Use-Buffers-when-decoding");iconv.skipDecodeWarning=true}buf=Buffer12.from(""+(buf||""),"binary")}var decoder2=iconv.getDecoder(encoding,options);var res=decoder2.write(buf);var trail=decoder2.end();return trail?res+trail:res};iconv.encodingExists=function encodingExists(enc){try{iconv.getCodec(enc);return true}catch(e){return false}};iconv.toEncoding=iconv.encode;iconv.fromEncoding=iconv.decode;iconv._codecDataCache={};iconv.getCodec=function getCodec(encoding){if(!iconv.encodings)iconv.encodings=require_encodings();var enc=iconv._canonicalizeEncoding(encoding);var codecOptions={};while(true){var codec=iconv._codecDataCache[enc];if(codec)return codec;var codecDef=iconv.encodings[enc];switch(typeof codecDef){case"string":enc=codecDef;break;case"object":for(var key in codecDef)codecOptions[key]=codecDef[key];if(!codecOptions.encodingName)codecOptions.encodingName=enc;enc=codecDef.type;break;case"function":if(!codecOptions.encodingName)codecOptions.encodingName=enc;codec=new codecDef(codecOptions,iconv);iconv._codecDataCache[codecOptions.encodingName]=codec;return codec;default:throw new Error("Encoding not recognized: '"+encoding+"' (searched as: '"+enc+"')")}}};iconv._canonicalizeEncoding=function(encoding){return(""+encoding).toLowerCase().replace(/:\d{4}$|[^0-9a-z]/g,"")};iconv.getEncoder=function getEncoder(encoding,options){var codec=iconv.getCodec(encoding),encoder2=new codec.encoder(options,codec);if(codec.bomAware&&options&&options.addBOM)encoder2=new bomHandling.PrependBOM(encoder2,options);return encoder2};iconv.getDecoder=function getDecoder(encoding,options){var codec=iconv.getCodec(encoding),decoder2=new codec.decoder(options,codec);if(codec.bomAware&&!(options&&options.stripBOM===false))decoder2=new bomHandling.StripBOM(decoder2,options);return decoder2};iconv.enableStreamingAPI=function enableStreamingAPI(stream_module2){if(iconv.supportsStreams)return;var streams=require_streams()(stream_module2);iconv.IconvLiteEncoderStream=streams.IconvLiteEncoderStream;iconv.IconvLiteDecoderStream=streams.IconvLiteDecoderStream;iconv.encodeStream=function encodeStream(encoding,options){return new iconv.IconvLiteEncoderStream(iconv.getEncoder(encoding,options),options)};iconv.decodeStream=function decodeStream(encoding,options){return new iconv.IconvLiteDecoderStream(iconv.getDecoder(encoding,options),options)};iconv.supportsStreams=true};var stream_module;try{stream_module=require("stream")}catch(e){}if(stream_module&&stream_module.Transform){iconv.enableStreamingAPI(stream_module)}else{iconv.encodeStream=iconv.decodeStream=function(){throw new Error("iconv-lite Streaming API is not enabled. Use iconv.enableStreamingAPI(require('stream')); to enable it.")}}if(false){console.error("iconv-lite warning: js files use non-utf8 encoding. See https://github.com/ashtuchkin/iconv-lite/wiki/Javascript-source-file-encodings for more info.")}}});var require_string=__commonJS({"node_modules/mysql2/lib/parsers/string.js"(exports2){"use strict";var Iconv=require_lib4();var{createLRU}=require_lib3();var decoderCache=createLRU({max:500});exports2.decode=function(buffer,encoding,start,end,options){if(Buffer.isEncoding(encoding)){return buffer.toString(encoding,start,end)}let decoder2;if(!options){decoder2=decoderCache.get(encoding);if(!decoder2){decoder2=Iconv.getDecoder(encoding);decoderCache.set(encoding,decoder2)}}else{const decoderArgs={encoding,options};const decoderKey=JSON.stringify(decoderArgs);decoder2=decoderCache.get(decoderKey);if(!decoder2){decoder2=Iconv.getDecoder(decoderArgs.encoding,decoderArgs.options);decoderCache.set(decoderKey,decoder2)}}const res=decoder2.write(buffer.slice(start,end));const trail=decoder2.end();return trail?res+trail:res};exports2.encode=function(string,encoding,options){if(Buffer.isEncoding(encoding)){return Buffer.from(string,encoding)}const encoder2=Iconv.getEncoder(encoding,options||{});const res=encoder2.write(string);const trail=encoder2.end();return trail&&trail.length>0?Buffer.concat([res,trail]):res}}});var require_types=__commonJS({"node_modules/mysql2/lib/constants/types.js"(exports2,module2){"use strict";module2.exports={0:"DECIMAL",1:"TINY",2:"SHORT",3:"LONG",4:"FLOAT",5:"DOUBLE",6:"NULL",7:"TIMESTAMP",8:"LONGLONG",9:"INT24",10:"DATE",11:"TIME",12:"DATETIME",13:"YEAR",14:"NEWDATE",15:"VARCHAR",16:"BIT",245:"JSON",246:"NEWDECIMAL",247:"ENUM",248:"SET",249:"TINY_BLOB",250:"MEDIUM_BLOB",251:"LONG_BLOB",252:"BLOB",253:"VAR_STRING",254:"STRING",255:"GEOMETRY"};module2.exports.DECIMAL=0;module2.exports.TINY=1;module2.exports.SHORT=2;module2.exports.LONG=3;module2.exports.FLOAT=4;module2.exports.DOUBLE=5;module2.exports.NULL=6;module2.exports.TIMESTAMP=7;module2.exports.LONGLONG=8;module2.exports.INT24=9;module2.exports.DATE=10;module2.exports.TIME=11;module2.exports.DATETIME=12;module2.exports.YEAR=13;module2.exports.NEWDATE=14;module2.exports.VARCHAR=15;module2.exports.BIT=16;module2.exports.VECTOR=242;module2.exports.JSON=245;module2.exports.NEWDECIMAL=246;module2.exports.ENUM=247;module2.exports.SET=248;module2.exports.TINY_BLOB=249;module2.exports.MEDIUM_BLOB=250;module2.exports.LONG_BLOB=251;module2.exports.BLOB=252;module2.exports.VAR_STRING=253;module2.exports.STRING=254;module2.exports.GEOMETRY=255}});var require_packet=__commonJS({"node_modules/mysql2/lib/packets/packet.js"(exports2,module2){"use strict";var ErrorCodeToName=require_errors2();var NativeBuffer=require("buffer").Buffer;var Long=require_umd();var StringParser=require_string();var Types=require_types();var INVALID_DATE=new Date(NaN);var pad4="000000000000";function leftPad(num,value){const s=value.toString();if(s.length>=num){return s}return(pad4+s).slice(-num)}var minus="-".charCodeAt(0);var plus="+".charCodeAt(0);var dot=".".charCodeAt(0);var exponent="e".charCodeAt(0);var exponentCapital="E".charCodeAt(0);var Packet=class _Packet{constructor(id,buffer,start,end){this.sequenceId=id;this.numPackets=1;this.buffer=buffer;this.start=start;this.offset=start+4;this.end=end}reset(){this.offset=this.start+4}length(){return this.end-this.start}slice(){return this.buffer.slice(this.start,this.end)}dump(){console.log([this.buffer.asciiSlice(this.start,this.end)],this.buffer.slice(this.start,this.end),this.length(),this.sequenceId)}haveMoreData(){return this.end>this.offset}skip(num){this.offset+=num}readInt8(){return this.buffer[this.offset++]}readInt16(){this.offset+=2;return this.buffer.readUInt16LE(this.offset-2)}readInt24(){return this.readInt16()+(this.readInt8()<<16)}readInt32(){this.offset+=4;return this.buffer.readUInt32LE(this.offset-4)}readSInt8(){return this.buffer.readInt8(this.offset++)}readSInt16(){this.offset+=2;return this.buffer.readInt16LE(this.offset-2)}readSInt32(){this.offset+=4;return this.buffer.readInt32LE(this.offset-4)}readInt64JSNumber(){const word0=this.readInt32();const word1=this.readInt32();const l=new Long(word0,word1,true);return l.toNumber()}readSInt64JSNumber(){const word0=this.readInt32();const word1=this.readInt32();if(!(word1&2147483648)){return word0+4294967296*word1}const l=new Long(word0,word1,false);return l.toNumber()}readInt64String(){const word0=this.readInt32();const word1=this.readInt32();const res=new Long(word0,word1,true);return res.toString()}readSInt64String(){const word0=this.readInt32();const word1=this.readInt32();const res=new Long(word0,word1,false);return res.toString()}readInt64(){const word0=this.readInt32();const word1=this.readInt32();let res=new Long(word0,word1,true);const resNumber=res.toNumber();const resString=res.toString();res=resNumber.toString()===resString?resNumber:resString;return res}readSInt64(){const word0=this.readInt32();const word1=this.readInt32();let res=new Long(word0,word1,false);const resNumber=res.toNumber();const resString=res.toString();res=resNumber.toString()===resString?resNumber:resString;return res}isEOF(){return this.buffer[this.offset]===254&&this.length()<13}eofStatusFlags(){return this.buffer.readInt16LE(this.offset+3)}eofWarningCount(){return this.buffer.readInt16LE(this.offset+1)}readLengthCodedNumber(bigNumberStrings,signed){const byte1=this.buffer[this.offset++];if(byte1<251){return byte1}return this.readLengthCodedNumberExt(byte1,bigNumberStrings,signed)}readLengthCodedNumberSigned(bigNumberStrings){return this.readLengthCodedNumber(bigNumberStrings,true)}readLengthCodedNumberExt(tag,bigNumberStrings,signed){let word0,word1;let res;if(tag===251){return null}if(tag===252){return this.readInt8()+(this.readInt8()<<8)}if(tag===253){return this.readInt8()+(this.readInt8()<<8)+(this.readInt8()<<16)}if(tag===254){word0=this.readInt32();word1=this.readInt32();if(word1===0){return word0}if(word1<2097152){return word1*4294967296+word0}res=new Long(word0,word1,!signed);const resNumber=res.toNumber();const resString=res.toString();res=resNumber.toString()===resString?resNumber:resString;return bigNumberStrings?resString:res}console.trace();throw new Error(`Should not reach here: ${tag}`)}readFloat(){const res=this.buffer.readFloatLE(this.offset);this.offset+=4;return res}readDouble(){const res=this.buffer.readDoubleLE(this.offset);this.offset+=8;return res}readBuffer(len){if(typeof len==="undefined"){len=this.end-this.offset}this.offset+=len;return this.buffer.slice(this.offset-len,this.offset)}readDateTime(timezone2){if(!timezone2||timezone2==="Z"||timezone2==="local"){const length=this.readInt8();if(length===251){return null}let y=0;let m=0;let d=0;let H=0;let M=0;let S=0;let ms=0;if(length>3){y=this.readInt16();m=this.readInt8();d=this.readInt8()}if(length>6){H=this.readInt8();M=this.readInt8();S=this.readInt8()}if(length>10){ms=this.readInt32()/1e3}if(y+m+d+H+M+S+ms===0){return INVALID_DATE}if(timezone2==="Z"){return new Date(Date.UTC(y,m-1,d,H,M,S,ms))}return new Date(y,m-1,d,H,M,S,ms)}let str2=this.readDateTimeString(6,"T",null);if(str2.length===10){str2+="T00:00:00"}return new Date(str2+timezone2)}readDateTimeString(decimals,timeSep,columnType){const length=this.readInt8();let y=0;let m=0;let d=0;let H=0;let M=0;let S=0;let ms=0;let str2;if(length>3){y=this.readInt16();m=this.readInt8();d=this.readInt8();str2=[leftPad(4,y),leftPad(2,m),leftPad(2,d)].join("-")}if(length>6){H=this.readInt8();M=this.readInt8();S=this.readInt8();str2+=`${timeSep||" "}${[leftPad(2,H),leftPad(2,M),leftPad(2,S)].join(":")}`}else if(columnType===Types.DATETIME){str2+=" 00:00:00"}if(length>10){ms=this.readInt32();str2+=".";if(decimals){ms=leftPad(6,ms);if(ms.length>decimals){ms=ms.substring(0,decimals)}}str2+=ms}return str2}readTimeString(convertTtoMs){const length=this.readInt8();if(length===0){return"00:00:00"}const sign=this.readInt8()?-1:1;let d=0;let H=0;let M=0;let S=0;let ms=0;if(length>6){d=this.readInt32();H=this.readInt8();M=this.readInt8();S=this.readInt8()}if(length>10){ms=this.readInt32()}if(convertTtoMs){H+=d*24;M+=H*60;S+=M*60;ms+=S*1e3;ms*=sign;return ms}return(sign===-1?"-":"")+[leftPad(2,d*24+H),leftPad(2,M),leftPad(2,S)].join(":")+(ms?`.${ms}`.replace(/0+$/,""):"")}readLengthCodedString(encoding){const len=this.readLengthCodedNumber();if(len===null){return null}this.offset+=len;return StringParser.decode(this.buffer,encoding,this.offset-len,this.offset)}readLengthCodedBuffer(){const len=this.readLengthCodedNumber();if(len===null){return null}return this.readBuffer(len)}readNullTerminatedString(encoding){const start=this.offset;let end=this.offset;while(this.buffer[end]){end=end+1}this.offset=end+1;return StringParser.decode(this.buffer,encoding,start,end)}readString(len,encoding){if(typeof len==="string"&&typeof encoding==="undefined"){encoding=len;len=void 0}if(typeof len==="undefined"){len=this.end-this.offset}this.offset+=len;return StringParser.decode(this.buffer,encoding,this.offset-len,this.offset)}parseInt(len,supportBigNumbers){if(len===null){return null}if(len>=14&&!supportBigNumbers){const s=this.buffer.toString("ascii",this.offset,this.offset+len);this.offset+=len;return Number(s)}let result2=0;const start=this.offset;const end=this.offset+len;let sign=1;if(len===0){return 0}if(this.buffer[this.offset]===minus){this.offset++;sign=-1}let str2;const numDigits=end-this.offset;if(supportBigNumbers){if(numDigits>=15){str2=this.readString(end-this.offset,"binary");result2=parseInt(str2,10);if(result2.toString()===str2){return sign*result2}return sign===-1?`-${str2}`:str2}if(numDigits>16){str2=this.readString(end-this.offset);return sign===-1?`-${str2}`:str2}}if(this.buffer[this.offset]===plus){this.offset++}while(this.offset<end){result2*=10;result2+=this.buffer[this.offset]-48;this.offset++}const num=result2*sign;if(!supportBigNumbers){return num}str2=this.buffer.toString("ascii",start,end);if(num.toString()===str2){return num}return str2}parseIntNoBigCheck(len){if(len===null){return null}let result2=0;const end=this.offset+len;let sign=1;if(len===0){return 0}if(this.buffer[this.offset]===minus){this.offset++;sign=-1}if(this.buffer[this.offset]===plus){this.offset++}while(this.offset<end){result2*=10;result2+=this.buffer[this.offset]-48;this.offset++}return result2*sign}parseGeometryValue(){const buffer=this.readLengthCodedBuffer();let offset=4;if(buffer===null||!buffer.length){return null}function parseGeometry(){let x,y,i,j,numPoints,line;let result2=null;const byteOrder=buffer.readUInt8(offset);offset+=1;const wkbType=byteOrder?buffer.readUInt32LE(offset):buffer.readUInt32BE(offset);offset+=4;switch(wkbType){case 1:x=byteOrder?buffer.readDoubleLE(offset):buffer.readDoubleBE(offset);offset+=8;y=byteOrder?buffer.readDoubleLE(offset):buffer.readDoubleBE(offset);offset+=8;result2={x,y};break;case 2:numPoints=byteOrder?buffer.readUInt32LE(offset):buffer.readUInt32BE(offset);offset+=4;result2=[];for(i=numPoints;i>0;i--){x=byteOrder?buffer.readDoubleLE(offset):buffer.readDoubleBE(offset);offset+=8;y=byteOrder?buffer.readDoubleLE(offset):buffer.readDoubleBE(offset);offset+=8;result2.push({x,y})}break;case 3:const numRings=byteOrder?buffer.readUInt32LE(offset):buffer.readUInt32BE(offset);offset+=4;result2=[];for(i=numRings;i>0;i--){numPoints=byteOrder?buffer.readUInt32LE(offset):buffer.readUInt32BE(offset);offset+=4;line=[];for(j=numPoints;j>0;j--){x=byteOrder?buffer.readDoubleLE(offset):buffer.readDoubleBE(offset);offset+=8;y=byteOrder?buffer.readDoubleLE(offset):buffer.readDoubleBE(offset);offset+=8;line.push({x,y})}result2.push(line)}break;case 4:case 5:case 6:case 7:const num=byteOrder?buffer.readUInt32LE(offset):buffer.readUInt32BE(offset);offset+=4;result2=[];for(i=num;i>0;i--){result2.push(parseGeometry())}break}return result2}return parseGeometry()}parseVector(){const bufLen=this.readLengthCodedNumber();const vectorEnd=this.offset+bufLen;const result2=[];while(this.offset<vectorEnd&&this.offset<this.end){result2.push(this.readFloat())}return result2}parseDate(timezone2){const strLen=this.readLengthCodedNumber();if(strLen===null){return null}if(strLen!==10){return new Date(NaN)}const y=this.parseInt(4);this.offset++;const m=this.parseInt(2);this.offset++;const d=this.parseInt(2);if(!timezone2||timezone2==="local"){return new Date(y,m-1,d)}if(timezone2==="Z"){return new Date(Date.UTC(y,m-1,d))}return new Date(`${leftPad(4,y)}-${leftPad(2,m)}-${leftPad(2,d)}T00:00:00${timezone2}`)}parseDateTime(timezone2){const str2=this.readLengthCodedString("binary");if(str2===null){return null}if(!timezone2||timezone2==="local"){return new Date(str2)}return new Date(`${str2}${timezone2}`)}parseFloat(len){if(len===null){return null}let result2=0;const end=this.offset+len;let factor=1;let pastDot=false;let charCode=0;if(len===0){return 0}if(this.buffer[this.offset]===minus){this.offset++;factor=-1}if(this.buffer[this.offset]===plus){this.offset++}while(this.offset<end){charCode=this.buffer[this.offset];if(charCode===dot){pastDot=true;this.offset++}else if(charCode===exponent||charCode===exponentCapital){this.offset++;const exponentValue=this.parseInt(end-this.offset);return result2/factor*Math.pow(10,exponentValue)}else{result2*=10;result2+=this.buffer[this.offset]-48;this.offset++;if(pastDot){factor=factor*10}}}return result2/factor}parseLengthCodedIntNoBigCheck(){return this.parseIntNoBigCheck(this.readLengthCodedNumber())}parseLengthCodedInt(supportBigNumbers){return this.parseInt(this.readLengthCodedNumber(),supportBigNumbers)}parseLengthCodedIntString(){return this.readLengthCodedString("binary")}parseLengthCodedFloat(){return this.parseFloat(this.readLengthCodedNumber())}peekByte(){return this.buffer[this.offset]}isAlt(){return this.peekByte()===254}isError(){return this.peekByte()===255}asError(encoding){this.reset();this.readInt8();const errorCode=this.readInt16();let sqlState="";if(this.buffer[this.offset]===35){this.skip(1);sqlState=this.readBuffer(5).toString()}const message3=this.readString(void 0,encoding);const err=new Error(message3);err.code=ErrorCodeToName[errorCode];err.errno=errorCode;err.sqlState=sqlState;err.sqlMessage=message3;return err}writeInt32(n){this.buffer.writeUInt32LE(n,this.offset);this.offset+=4}writeInt24(n){this.writeInt8(n&255);this.writeInt16(n>>8)}writeInt16(n){this.buffer.writeUInt16LE(n,this.offset);this.offset+=2}writeInt8(n){this.buffer.writeUInt8(n,this.offset);this.offset++}writeDouble(n){this.buffer.writeDoubleLE(n,this.offset);this.offset+=8}writeBuffer(b){b.copy(this.buffer,this.offset);this.offset+=b.length}writeNull(){this.buffer[this.offset]=251;this.offset++}writeNullTerminatedString(s,encoding){const buf=StringParser.encode(s,encoding);this.buffer.length&&buf.copy(this.buffer,this.offset);this.offset+=buf.length;this.writeInt8(0)}writeString(s,encoding){if(s===null){this.writeInt8(251);return}if(s.length===0){return}const buf=StringParser.encode(s,encoding);this.buffer.length&&buf.copy(this.buffer,this.offset);this.offset+=buf.length}writeLengthCodedString(s,encoding){const buf=StringParser.encode(s,encoding);this.writeLengthCodedNumber(buf.length);this.buffer.length&&buf.copy(this.buffer,this.offset);this.offset+=buf.length}writeLengthCodedBuffer(b){this.writeLengthCodedNumber(b.length);b.copy(this.buffer,this.offset);this.offset+=b.length}writeLengthCodedNumber(n){if(n<251){return this.writeInt8(n)}if(n<65535){this.writeInt8(252);return this.writeInt16(n)}if(n<16777215){this.writeInt8(253);return this.writeInt24(n)}if(n===null){return this.writeInt8(251)}this.writeInt8(254);this.buffer.writeUInt32LE(n,this.offset);this.offset+=4;this.buffer.writeUInt32LE(n>>32,this.offset);this.offset+=4;return this.offset}writeDate(d,timezone2){this.buffer.writeUInt8(11,this.offset);if(!timezone2||timezone2==="local"){this.buffer.writeUInt16LE(d.getFullYear(),this.offset+1);this.buffer.writeUInt8(d.getMonth()+1,this.offset+3);this.buffer.writeUInt8(d.getDate(),this.offset+4);this.buffer.writeUInt8(d.getHours(),this.offset+5);this.buffer.writeUInt8(d.getMinutes(),this.offset+6);this.buffer.writeUInt8(d.getSeconds(),this.offset+7);this.buffer.writeUInt32LE(d.getMilliseconds()*1e3,this.offset+8)}else{if(timezone2!=="Z"){const offset=(timezone2[0]==="-"?-1:1)*(parseInt(timezone2.substring(1,3),10)*60+parseInt(timezone2.substring(4),10));if(offset!==0){d=new Date(d.getTime()+6e4*offset)}}this.buffer.writeUInt16LE(d.getUTCFullYear(),this.offset+1);this.buffer.writeUInt8(d.getUTCMonth()+1,this.offset+3);this.buffer.writeUInt8(d.getUTCDate(),this.offset+4);this.buffer.writeUInt8(d.getUTCHours(),this.offset+5);this.buffer.writeUInt8(d.getUTCMinutes(),this.offset+6);this.buffer.writeUInt8(d.getUTCSeconds(),this.offset+7);this.buffer.writeUInt32LE(d.getUTCMilliseconds()*1e3,this.offset+8)}this.offset+=12}writeHeader(sequenceId){const offset=this.offset;this.offset=0;this.writeInt24(this.buffer.length-4);this.writeInt8(sequenceId);this.offset=offset}clone(){return new _Packet(this.sequenceId,this.buffer,this.start,this.end)}type(){if(this.isEOF()){return"EOF"}if(this.isError()){return"Error"}if(this.buffer[this.offset]===0){return"maybeOK"}return""}static lengthCodedNumberLength(n){if(n<251){return 1}if(n<65535){return 3}if(n<16777215){return 5}return 9}static lengthCodedStringLength(str2,encoding){const buf=StringParser.encode(str2,encoding);const slen=buf.length;return _Packet.lengthCodedNumberLength(slen)+slen}static MockBuffer(){const noop4=function(){};const res=Buffer.alloc(0);for(const op in NativeBuffer.prototype){if(typeof res[op]==="function"){res[op]=noop4}}return res}};module2.exports=Packet}});var require_packet_parser=__commonJS({"node_modules/mysql2/lib/packet_parser.js"(exports2,module2){"use strict";var Packet=require_packet();var MAX_PACKET_LENGTH=16777215;function readPacketLength(b,off){const b0=b[off];const b1=b[off+1];const b2=b[off+2];if(b1+b2===0){return b0}return b0+(b1<<8)+(b2<<16)}var PacketParser=class _PacketParser{constructor(onPacket,packetHeaderLength){if(typeof packetHeaderLength==="undefined"){packetHeaderLength=4}this.buffer=[];this.bufferLength=0;this.packetHeaderLength=packetHeaderLength;this.headerLen=0;this.length=0;this.largePacketParts=[];this.firstPacketSequenceId=0;this.onPacket=onPacket;this.execute=_PacketParser.prototype.executeStart;this._flushLargePacket=packetHeaderLength===7?this._flushLargePacket7:this._flushLargePacket4}_flushLargePacket4(){const numPackets=this.largePacketParts.length;this.largePacketParts.unshift(Buffer.from([0,0,0,0]));const body=Buffer.concat(this.largePacketParts);const packet=new Packet(this.firstPacketSequenceId,body,0,body.length);this.largePacketParts.length=0;packet.numPackets=numPackets;this.onPacket(packet)}_flushLargePacket7(){const numPackets=this.largePacketParts.length;this.largePacketParts.unshift(Buffer.from([0,0,0,0,0,0,0]));const body=Buffer.concat(this.largePacketParts);this.largePacketParts.length=0;const packet=new Packet(this.firstPacketSequenceId,body,0,body.length);packet.numPackets=numPackets;this.onPacket(packet)}executeStart(chunk2){let start=0;const end=chunk2.length;while(end-start>=3){this.length=readPacketLength(chunk2,start);if(end-start>=this.length+this.packetHeaderLength){const sequenceId=chunk2[start+3];if(this.length<MAX_PACKET_LENGTH&&this.largePacketParts.length===0){this.onPacket(new Packet(sequenceId,chunk2,start,start+this.packetHeaderLength+this.length))}else{if(this.largePacketParts.length===0){this.firstPacketSequenceId=sequenceId}this.largePacketParts.push(chunk2.slice(start+this.packetHeaderLength,start+this.packetHeaderLength+this.length));if(this.length<MAX_PACKET_LENGTH){this._flushLargePacket()}}start+=this.packetHeaderLength+this.length}else{this.buffer=[chunk2.slice(start+3,end)];this.bufferLength=end-start-3;this.execute=_PacketParser.prototype.executePayload;return}}if(end-start>0){this.headerLen=end-start;this.length=chunk2[start];if(this.headerLen===2){this.length=chunk2[start]+(chunk2[start+1]<<8);this.execute=_PacketParser.prototype.executeHeader3}else{this.execute=_PacketParser.prototype.executeHeader2}}}executePayload(chunk2){let start=0;const end=chunk2.length;const remainingPayload=this.length-this.bufferLength+this.packetHeaderLength-3;if(end-start>=remainingPayload){const payload=Buffer.allocUnsafe(this.length+this.packetHeaderLength);let offset=3;for(let i=0;i<this.buffer.length;++i){this.buffer[i].copy(payload,offset);offset+=this.buffer[i].length}chunk2.copy(payload,offset,start,start+remainingPayload);const sequenceId=payload[3];if(this.length<MAX_PACKET_LENGTH&&this.largePacketParts.length===0){this.onPacket(new Packet(sequenceId,payload,0,this.length+this.packetHeaderLength))}else{if(this.largePacketParts.length===0){this.firstPacketSequenceId=sequenceId}this.largePacketParts.push(payload.slice(this.packetHeaderLength,this.packetHeaderLength+this.length));if(this.length<MAX_PACKET_LENGTH){this._flushLargePacket()}}this.buffer=[];this.bufferLength=0;this.execute=_PacketParser.prototype.executeStart;start+=remainingPayload;if(end-start>0){return this.execute(chunk2.slice(start,end))}}else{this.buffer.push(chunk2);this.bufferLength+=chunk2.length}return null}executeHeader2(chunk2){this.length+=chunk2[0]<<8;if(chunk2.length>1){this.length+=chunk2[1]<<16;this.execute=_PacketParser.prototype.executePayload;return this.executePayload(chunk2.slice(2))}this.execute=_PacketParser.prototype.executeHeader3;return null}executeHeader3(chunk2){this.length+=chunk2[0]<<16;this.execute=_PacketParser.prototype.executePayload;return this.executePayload(chunk2.slice(1))}};module2.exports=PacketParser}});var require_auth_next_factor=__commonJS({"node_modules/mysql2/lib/packets/auth_next_factor.js"(exports2,module2){"use strict";var Packet=require_packet();var AuthNextFactor=class _AuthNextFactor{constructor(opts){this.pluginName=opts.pluginName;this.pluginData=opts.pluginData}toPacket(encoding){const length=6+this.pluginName.length+this.pluginData.length;const buffer=Buffer.allocUnsafe(length);const packet=new Packet(0,buffer,0,length);packet.offset=4;packet.writeInt8(2);packet.writeNullTerminatedString(this.pluginName,encoding);packet.writeBuffer(this.pluginData);return packet}static fromPacket(packet,encoding){packet.readInt8();const name=packet.readNullTerminatedString(encoding);const data=packet.readBuffer();return new _AuthNextFactor({pluginName:name,pluginData:data})}};module2.exports=AuthNextFactor}});var require_auth_switch_request=__commonJS({"node_modules/mysql2/lib/packets/auth_switch_request.js"(exports2,module2){"use strict";var Packet=require_packet();var AuthSwitchRequest=class _AuthSwitchRequest{constructor(opts){this.pluginName=opts.pluginName;this.pluginData=opts.pluginData}toPacket(){const length=6+this.pluginName.length+this.pluginData.length;const buffer=Buffer.allocUnsafe(length);const packet=new Packet(0,buffer,0,length);packet.offset=4;packet.writeInt8(254);packet.writeNullTerminatedString(this.pluginName,"cesu8");packet.writeBuffer(this.pluginData);return packet}static fromPacket(packet){packet.readInt8();const name=packet.readNullTerminatedString("cesu8");const data=packet.readBuffer();return new _AuthSwitchRequest({pluginName:name,pluginData:data})}};module2.exports=AuthSwitchRequest}});var require_auth_switch_request_more_data=__commonJS({"node_modules/mysql2/lib/packets/auth_switch_request_more_data.js"(exports2,module2){"use strict";var Packet=require_packet();var AuthSwitchRequestMoreData=class _AuthSwitchRequestMoreData{constructor(data){this.data=data}toPacket(){const length=5+this.data.length;const buffer=Buffer.allocUnsafe(length);const packet=new Packet(0,buffer,0,length);packet.offset=4;packet.writeInt8(1);packet.writeBuffer(this.data);return packet}static fromPacket(packet){packet.readInt8();const data=packet.readBuffer();return new _AuthSwitchRequestMoreData(data)}static verifyMarker(packet){return packet.peekByte()===1}};module2.exports=AuthSwitchRequestMoreData}});var require_auth_switch_response=__commonJS({"node_modules/mysql2/lib/packets/auth_switch_response.js"(exports2,module2){"use strict";var Packet=require_packet();var AuthSwitchResponse=class _AuthSwitchResponse{constructor(data){if(!Buffer.isBuffer(data)){data=Buffer.from(data)}this.data=data}toPacket(){const length=4+this.data.length;const buffer=Buffer.allocUnsafe(length);const packet=new Packet(0,buffer,0,length);packet.offset=4;packet.writeBuffer(this.data);return packet}static fromPacket(packet){const data=packet.readBuffer();return new _AuthSwitchResponse(data)}};module2.exports=AuthSwitchResponse}});var require_binary_row=__commonJS({"node_modules/mysql2/lib/packets/binary_row.js"(exports2,module2){"use strict";var Types=require_types();var Packet=require_packet();var binaryReader=new Array(256);var BinaryRow=class _BinaryRow{constructor(columns){this.columns=columns||[]}static toPacket(columns,encoding){const sequenceId=0;let length=0;columns.forEach(val=>{if(val===null||typeof val==="undefined"){++length;return}length+=Packet.lengthCodedStringLength(val.toString(10),encoding)});length=length+2;const buffer=Buffer.allocUnsafe(length+4);const packet=new Packet(sequenceId,buffer,0,length+4);packet.offset=4;packet.writeInt8(0);let bitmap=0;let bitValue=1;columns.forEach(parameter=>{if(parameter.type===Types.NULL){bitmap+=bitValue}bitValue*=2;if(bitValue===256){packet.writeInt8(bitmap);bitmap=0;bitValue=1}});if(bitValue!==1){packet.writeInt8(bitmap)}columns.forEach(val=>{if(val===null){packet.writeNull();return}if(typeof val==="undefined"){packet.writeInt8(0);return}packet.writeLengthCodedString(val.toString(10),encoding)});return packet}static fromPacket(fields,packet){const columns=new Array(fields.length);packet.readInt8();const nullBitmapLength=Math.floor((fields.length+7+2)/8);packet.skip(nullBitmapLength);for(let i=0;i<columns.length;++i){columns[i]=binaryReader[fields[i].columnType].apply(packet)}return new _BinaryRow(columns)}};binaryReader[Types.DECIMAL]=Packet.prototype.readLengthCodedString;binaryReader[1]=Packet.prototype.readInt8;binaryReader[2]=Packet.prototype.readInt16;binaryReader[3]=Packet.prototype.readInt32;binaryReader[4]=Packet.prototype.readFloat;binaryReader[5]=Packet.prototype.readDouble;binaryReader[6]=Packet.prototype.assertInvalid;binaryReader[7]=Packet.prototype.readTimestamp;binaryReader[8]=Packet.prototype.readInt64;binaryReader[9]=Packet.prototype.readInt32;binaryReader[10]=Packet.prototype.readTimestamp;binaryReader[11]=Packet.prototype.readTime;binaryReader[12]=Packet.prototype.readDateTime;binaryReader[13]=Packet.prototype.readInt16;binaryReader[Types.VAR_STRING]=Packet.prototype.readLengthCodedString;module2.exports=BinaryRow}});var require_commands=__commonJS({"node_modules/mysql2/lib/constants/commands.js"(exports2,module2){"use strict";module2.exports={SLEEP:0,QUIT:1,INIT_DB:2,QUERY:3,FIELD_LIST:4,CREATE_DB:5,DROP_DB:6,REFRESH:7,SHUTDOWN:8,STATISTICS:9,PROCESS_INFO:10,CONNECT:11,PROCESS_KILL:12,DEBUG:13,PING:14,TIME:15,DELAYED_INSERT:16,CHANGE_USER:17,BINLOG_DUMP:18,TABLE_DUMP:19,CONNECT_OUT:20,REGISTER_SLAVE:21,STMT_PREPARE:22,STMT_EXECUTE:23,STMT_SEND_LONG_DATA:24,STMT_CLOSE:25,STMT_RESET:26,SET_OPTION:27,STMT_FETCH:28,DAEMON:29,BINLOG_DUMP_GTID:30,UNKNOWN:255}}});var require_binlog_dump=__commonJS({"node_modules/mysql2/lib/packets/binlog_dump.js"(exports2,module2){"use strict";var Packet=require_packet();var CommandCodes=require_commands();var BinlogDump=class{constructor(opts){this.binlogPos=opts.binlogPos||0;this.serverId=opts.serverId||0;this.flags=opts.flags||0;this.filename=opts.filename||""}toPacket(){const length=15+Buffer.byteLength(this.filename,"utf8");const buffer=Buffer.allocUnsafe(length);const packet=new Packet(0,buffer,0,length);packet.offset=4;packet.writeInt8(CommandCodes.BINLOG_DUMP);packet.writeInt32(this.binlogPos);packet.writeInt16(this.flags);packet.writeInt32(this.serverId);packet.writeString(this.filename);return packet}};module2.exports=BinlogDump}});var require_client=__commonJS({"node_modules/mysql2/lib/constants/client.js"(exports2){"use strict";exports2.LONG_PASSWORD=1;exports2.FOUND_ROWS=2;exports2.LONG_FLAG=4;exports2.CONNECT_WITH_DB=8;exports2.NO_SCHEMA=16;exports2.COMPRESS=32;exports2.ODBC=64;exports2.LOCAL_FILES=128;exports2.IGNORE_SPACE=256;exports2.PROTOCOL_41=512;exports2.INTERACTIVE=1024;exports2.SSL=2048;exports2.IGNORE_SIGPIPE=4096;exports2.TRANSACTIONS=8192;exports2.RESERVED=16384;exports2.SECURE_CONNECTION=32768;exports2.MULTI_STATEMENTS=65536;exports2.MULTI_RESULTS=131072;exports2.PS_MULTI_RESULTS=262144;exports2.PLUGIN_AUTH=524288;exports2.CONNECT_ATTRS=1048576;exports2.PLUGIN_AUTH_LENENC_CLIENT_DATA=2097152;exports2.CAN_HANDLE_EXPIRED_PASSWORDS=4194304;exports2.SESSION_TRACK=8388608;exports2.DEPRECATE_EOF=16777216;exports2.SSL_VERIFY_SERVER_CERT=1073741824;exports2.REMEMBER_OPTIONS=2147483648;exports2.MULTI_FACTOR_AUTHENTICATION=268435456}});var require_auth_41=__commonJS({"node_modules/mysql2/lib/auth_41.js"(exports2){"use strict";var crypto6=require("crypto");function sha1(msg,msg1,msg2){const hash=crypto6.createHash("sha1");hash.update(msg);if(msg1){hash.update(msg1)}if(msg2){hash.update(msg2)}return hash.digest()}function xor2(a,b){const result2=Buffer.allocUnsafe(a.length);for(let i=0;i<a.length;i++){result2[i]=a[i]^b[i]}return result2}exports2.xor=xor2;function token3(password,scramble1,scramble2){if(!password){return Buffer.alloc(0)}const stage1=sha1(password);return exports2.calculateTokenFromPasswordSha(stage1,scramble1,scramble2)}exports2.calculateTokenFromPasswordSha=function(passwordSha,scramble1,scramble2){const authPluginData1=scramble1.slice(0,8);const authPluginData2=scramble2.slice(0,12);const stage2=sha1(passwordSha);const stage3=sha1(authPluginData1,authPluginData2,stage2);return xor2(stage3,passwordSha)};exports2.calculateToken=token3;exports2.verifyToken=function(publicSeed1,publicSeed2,token4,doubleSha){const hashStage1=xor2(token4,sha1(publicSeed1,publicSeed2,doubleSha));const candidateHash2=sha1(hashStage1);return candidateHash2.compare(doubleSha)===0};exports2.doubleSha1=function(password){return sha1(sha1(password))};function xorRotating(a,seed){const result2=Buffer.allocUnsafe(a.length);const seedLen=seed.length;for(let i=0;i<a.length;i++){result2[i]=a[i]^seed[i%seedLen]}return result2}exports2.xorRotating=xorRotating}});var require_charset_encodings=__commonJS({"node_modules/mysql2/lib/constants/charset_encodings.js"(exports2,module2){"use strict";module2.exports=["utf8","big5","latin2","dec8","cp850","latin1","hp8","koi8r","latin1","latin2","swe7","ascii","eucjp","sjis","cp1251","latin1","hebrew","utf8","tis620","euckr","latin7","latin2","koi8u","cp1251","gb2312","greek","cp1250","latin2","gbk","cp1257","latin5","latin1","armscii8","cesu8","cp1250","ucs2","cp866","keybcs2","macintosh","macroman","cp852","latin7","latin7","macintosh","cp1250","utf8","utf8","latin1","latin1","latin1","cp1251","cp1251","cp1251","macroman","utf16","utf16","utf16-le","cp1256","cp1257","cp1257","utf32","utf32","utf16-le","binary","armscii8","ascii","cp1250","cp1256","cp866","dec8","greek","hebrew","hp8","keybcs2","koi8r","koi8u","cesu8","latin2","latin5","latin7","cp850","cp852","swe7","cesu8","big5","euckr","gb2312","gbk","sjis","tis620","ucs2","eucjp","geostd8","geostd8","latin1","cp932","cp932","eucjpms","eucjpms","cp1250","utf16","utf16","utf16","utf16","utf16","utf16","utf16","utf16","utf16","utf16","utf16","utf16","utf16","utf16","utf16","utf16","utf16","utf16","utf16","utf16","utf16","utf16","utf16","utf16","utf16","utf8","utf8","utf8","ucs2","ucs2","ucs2","ucs2","ucs2","ucs2","ucs2","ucs2","ucs2","ucs2","ucs2","ucs2","ucs2","ucs2","ucs2","ucs2","ucs2","ucs2","ucs2","ucs2","ucs2","ucs2","ucs2","ucs2","utf8","utf8","utf8","utf8","utf8","utf8","utf8","ucs2","utf32","utf32","utf32","utf32","utf32","utf32","utf32","utf32","utf32","utf32","utf32","utf32","utf32","utf32","utf32","utf32","utf32","utf32","utf32","utf32","utf32","utf32","utf32","utf32","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","cesu8","cesu8","cesu8","cesu8","cesu8","cesu8","cesu8","cesu8","cesu8","cesu8","cesu8","cesu8","cesu8","cesu8","cesu8","cesu8","cesu8","cesu8","cesu8","cesu8","cesu8","cesu8","cesu8","cesu8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","cesu8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","gb18030","gb18030","gb18030","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8","utf8"]}});var require_change_user=__commonJS({"node_modules/mysql2/lib/packets/change_user.js"(exports2,module2){"use strict";var CommandCode=require_commands();var ClientConstants=require_client();var Packet=require_packet();var auth41=require_auth_41();var CharsetToEncoding=require_charset_encodings();var ChangeUser=class{constructor(opts){this.flags=opts.flags;this.user=opts.user||"";this.database=opts.database||"";this.password=opts.password||"";this.passwordSha1=opts.passwordSha1;this.authPluginData1=opts.authPluginData1;this.authPluginData2=opts.authPluginData2;this.connectAttributes=opts.connectAttrinutes||{};let authToken;if(this.passwordSha1){authToken=auth41.calculateTokenFromPasswordSha(this.passwordSha1,this.authPluginData1,this.authPluginData2)}else{authToken=auth41.calculateToken(this.password,this.authPluginData1,this.authPluginData2)}this.authToken=authToken;this.charsetNumber=opts.charsetNumber}serializeToBuffer(buffer){const isSet2=flag=>this.flags&ClientConstants[flag];const packet=new Packet(0,buffer,0,buffer.length);packet.offset=4;const encoding=CharsetToEncoding[this.charsetNumber];packet.writeInt8(CommandCode.CHANGE_USER);packet.writeNullTerminatedString(this.user,encoding);if(isSet2("SECURE_CONNECTION")){packet.writeInt8(this.authToken.length);packet.writeBuffer(this.authToken)}else{packet.writeBuffer(this.authToken);packet.writeInt8(0)}packet.writeNullTerminatedString(this.database,encoding);packet.writeInt16(this.charsetNumber);if(isSet2("PLUGIN_AUTH")){packet.writeNullTerminatedString("mysql_native_password","latin1")}if(isSet2("CONNECT_ATTRS")){const connectAttributes=this.connectAttributes;const attrNames=Object.keys(connectAttributes);let keysLength=0;for(let k=0;k<attrNames.length;++k){keysLength+=Packet.lengthCodedStringLength(attrNames[k],encoding);keysLength+=Packet.lengthCodedStringLength(connectAttributes[attrNames[k]],encoding)}packet.writeLengthCodedNumber(keysLength);for(let k=0;k<attrNames.length;++k){packet.writeLengthCodedString(attrNames[k],encoding);packet.writeLengthCodedString(connectAttributes[attrNames[k]],encoding)}}return packet}toPacket(){if(typeof this.user!=="string"){throw new Error('"user" connection config property must be a string')}if(typeof this.database!=="string"){throw new Error('"database" connection config property must be a string')}const p=this.serializeToBuffer(Packet.MockBuffer());return this.serializeToBuffer(Buffer.allocUnsafe(p.offset))}};module2.exports=ChangeUser}});var require_close_statement=__commonJS({"node_modules/mysql2/lib/packets/close_statement.js"(exports2,module2){"use strict";var Packet=require_packet();var CommandCodes=require_commands();var CloseStatement=class{constructor(id){this.id=id}toPacket(){const packet=new Packet(0,Buffer.allocUnsafe(9),0,9);packet.offset=4;packet.writeInt8(CommandCodes.STMT_CLOSE);packet.writeInt32(this.id);return packet}};module2.exports=CloseStatement}});var require_field_flags=__commonJS({"node_modules/mysql2/lib/constants/field_flags.js"(exports2){"use strict";exports2.NOT_NULL=1;exports2.PRI_KEY=2;exports2.UNIQUE_KEY=4;exports2.MULTIPLE_KEY=8;exports2.BLOB=16;exports2.UNSIGNED=32;exports2.ZEROFILL=64;exports2.BINARY=128;exports2.ENUM=256;exports2.AUTO_INCREMENT=512;exports2.TIMESTAMP=1024;exports2.SET=2048;exports2.NO_DEFAULT_VALUE=4096;exports2.ON_UPDATE_NOW=8192;exports2.NUM=32768}});var require_column_definition=__commonJS({"node_modules/mysql2/lib/packets/column_definition.js"(exports2,module2){"use strict";var Packet=require_packet();var StringParser=require_string();var CharsetToEncoding=require_charset_encodings();var fields=["catalog","schema","table","orgTable","name","orgName"];var ColumnDefinition=class{constructor(packet,clientEncoding){this._buf=packet.buffer;this._clientEncoding=clientEncoding;this._catalogLength=packet.readLengthCodedNumber();this._catalogStart=packet.offset;packet.offset+=this._catalogLength;this._schemaLength=packet.readLengthCodedNumber();this._schemaStart=packet.offset;packet.offset+=this._schemaLength;this._tableLength=packet.readLengthCodedNumber();this._tableStart=packet.offset;packet.offset+=this._tableLength;this._orgTableLength=packet.readLengthCodedNumber();this._orgTableStart=packet.offset;packet.offset+=this._orgTableLength;const _nameLength=packet.readLengthCodedNumber();const _nameStart=packet.offset;packet.offset+=_nameLength;this._orgNameLength=packet.readLengthCodedNumber();this._orgNameStart=packet.offset;packet.offset+=this._orgNameLength;packet.skip(1);this.characterSet=packet.readInt16();this.encoding=CharsetToEncoding[this.characterSet];this.name=StringParser.decode(this._buf,this.encoding==="binary"?this._clientEncoding:this.encoding,_nameStart,_nameStart+_nameLength);this.columnLength=packet.readInt32();this.columnType=packet.readInt8();this.type=this.columnType;this.flags=packet.readInt16();this.decimals=packet.readInt8()}inspect(){return{catalog:this.catalog,schema:this.schema,name:this.name,orgName:this.orgName,table:this.table,orgTable:this.orgTable,characterSet:this.characterSet,encoding:this.encoding,columnLength:this.columnLength,type:this.columnType,flags:this.flags,decimals:this.decimals}}[Symbol.for("nodejs.util.inspect.custom")](depth,inspectOptions,inspect3){const Types=require_types();const typeNames=[];for(const t in Types){typeNames[Types[t]]=t}const fiedFlags=require_field_flags();const flagNames=[];const inspectFlags=this.flags;for(const f in fiedFlags){if(inspectFlags&fiedFlags[f]){if(f==="PRI_KEY"){flagNames.push("PRIMARY KEY")}else if(f==="NOT_NULL"){flagNames.push("NOT NULL")}else if(f==="BINARY"){}else if(f==="MULTIPLE_KEY"){}else if(f==="NO_DEFAULT_VALUE"){}else if(f==="BLOB"){}else if(f==="UNSIGNED"){}else if(f==="TIMESTAMP"){}else if(f==="ON_UPDATE_NOW"){flagNames.push("ON UPDATE CURRENT_TIMESTAMP")}else{flagNames.push(f)}}}if(depth>1){return inspect3({...this.inspect(),typeName:typeNames[this.columnType],flags:flagNames})}const isUnsigned=this.flags&fiedFlags.UNSIGNED;let typeName=typeNames[this.columnType];if(typeName==="BLOB"){if(this.columnLength===4294967295){typeName="LONGTEXT"}else if(this.columnLength===67108860){typeName="MEDIUMTEXT"}else if(this.columnLength===262140){typeName="TEXT"}else if(this.columnLength===1020){typeName="TINYTEXT"}else{typeName=`BLOB(${this.columnLength})`}}else if(typeName==="VAR_STRING"){typeName=`VARCHAR(${Math.ceil(this.columnLength/4)})`}else if(typeName==="TINY"){if(this.columnLength===3&&isUnsigned||this.columnLength===4&&!isUnsigned){typeName="TINYINT"}else{typeName=`TINYINT(${this.columnLength})`}}else if(typeName==="LONGLONG"){if(this.columnLength===20){typeName="BIGINT"}else{typeName=`BIGINT(${this.columnLength})`}}else if(typeName==="SHORT"){if(isUnsigned&&this.columnLength===5){typeName="SMALLINT"}else if(!isUnsigned&&this.columnLength===6){typeName="SMALLINT"}else{typeName=`SMALLINT(${this.columnLength})`}}else if(typeName==="LONG"){if(isUnsigned&&this.columnLength===10){typeName="INT"}else if(!isUnsigned&&this.columnLength===11){typeName="INT"}else{typeName=`INT(${this.columnLength})`}}else if(typeName==="INT24"){if(isUnsigned&&this.columnLength===8){typeName="MEDIUMINT"}else if(!isUnsigned&&this.columnLength===9){typeName="MEDIUMINT"}else{typeName=`MEDIUMINT(${this.columnLength})`}}else if(typeName==="DOUBLE"){if(this.columnLength===22&&this.decimals===31){typeName="DOUBLE"}else{typeName=`DOUBLE(${this.columnLength},${this.decimals})`}}else if(typeName==="FLOAT"){if(this.columnLength===12&&this.decimals===31){typeName="FLOAT"}else{typeName=`FLOAT(${this.columnLength},${this.decimals})`}}else if(typeName==="NEWDECIMAL"){if(this.columnLength===11&&this.decimals===0){typeName="DECIMAL"}else if(this.decimals===0){if(isUnsigned){typeName=`DECIMAL(${this.columnLength})`}else{typeName=`DECIMAL(${this.columnLength-1})`}}else{typeName=`DECIMAL(${this.columnLength-2},${this.decimals})`}}else{typeName=`${typeNames[this.columnType]}(${this.columnLength})`}if(isUnsigned){typeName+=" UNSIGNED"}return`\`${this.name}\` ${[typeName,...flagNames].join(" ")}`}static toPacket(column,sequenceId){let length=17;fields.forEach(field=>{length+=Packet.lengthCodedStringLength(column[field],CharsetToEncoding[column.characterSet])});const buffer=Buffer.allocUnsafe(length);const packet=new Packet(sequenceId,buffer,0,length);function writeField(name){packet.writeLengthCodedString(column[name],CharsetToEncoding[column.characterSet])}packet.offset=4;fields.forEach(writeField);packet.writeInt8(12);packet.writeInt16(column.characterSet);packet.writeInt32(column.columnLength);packet.writeInt8(column.columnType);packet.writeInt16(column.flags);packet.writeInt8(column.decimals);packet.writeInt16(0);return packet}get db(){return this.schema}};var addString=function(name){Object.defineProperty(ColumnDefinition.prototype,name,{get:function(){const start=this[`_${name}Start`];const end=start+this[`_${name}Length`];const val=StringParser.decode(this._buf,this.encoding==="binary"?this._clientEncoding:this.encoding,start,end);Object.defineProperty(this,name,{value:val,writable:false,configurable:false,enumerable:false});return val}})};addString("catalog");addString("schema");addString("table");addString("orgTable");addString("orgName");module2.exports=ColumnDefinition}});var require_cursor=__commonJS({"node_modules/mysql2/lib/constants/cursor.js"(exports2,module2){"use strict";module2.exports={NO_CURSOR:0,READ_ONLY:1,FOR_UPDATE:2,SCROLLABLE:3}}});var require_execute=__commonJS({"node_modules/mysql2/lib/packets/execute.js"(exports2,module2){"use strict";var CursorType=require_cursor();var CommandCodes=require_commands();var Types=require_types();var Packet=require_packet();var CharsetToEncoding=require_charset_encodings();function isJSON(value){return Array.isArray(value)||value.constructor===Object||typeof value.toJSON==="function"&&!Buffer.isBuffer(value)}function toParameter(value,encoding,timezone2){let type2=Types.VAR_STRING;let length;let writer=function(value2){return Packet.prototype.writeLengthCodedString.call(this,value2,encoding)};if(value!==null){switch(typeof value){case"undefined":throw new TypeError("Bind parameters must not contain undefined");case"number":type2=Types.DOUBLE;length=8;writer=Packet.prototype.writeDouble;break;case"boolean":value=value|0;type2=Types.TINY;length=1;writer=Packet.prototype.writeInt8;break;case"object":if(Object.prototype.toString.call(value)==="[object Date]"){type2=Types.DATETIME;length=12;writer=function(value2){return Packet.prototype.writeDate.call(this,value2,timezone2)}}else if(isJSON(value)){value=JSON.stringify(value);type2=Types.JSON}else if(Buffer.isBuffer(value)){length=Packet.lengthCodedNumberLength(value.length)+value.length;writer=Packet.prototype.writeLengthCodedBuffer}break;default:value=value.toString()}}else{value="";type2=Types.NULL}if(!length){length=Packet.lengthCodedStringLength(value,encoding)}return{value,type:type2,length,writer}}var Execute=class{constructor(id,parameters,charsetNumber,timezone2){this.id=id;this.parameters=parameters;this.encoding=CharsetToEncoding[charsetNumber];this.timezone=timezone2}static fromPacket(packet,encoding){const stmtId=packet.readInt32();const flags=packet.readInt8();const iterationCount=packet.readInt32();let i=packet.offset;while(i<packet.end-1){if((packet.buffer[i+1]===Types.VAR_STRING||packet.buffer[i+1]===Types.NULL||packet.buffer[i+1]===Types.DOUBLE||packet.buffer[i+1]===Types.TINY||packet.buffer[i+1]===Types.DATETIME||packet.buffer[i+1]===Types.JSON)&&packet.buffer[i]===1&&packet.buffer[i+2]===0){break}else{packet.readInt8()}i++}const types6=[];for(let i2=packet.offset+1;i2<packet.end-1;i2++){if((packet.buffer[i2]===Types.VAR_STRING||packet.buffer[i2]===Types.NULL||packet.buffer[i2]===Types.DOUBLE||packet.buffer[i2]===Types.TINY||packet.buffer[i2]===Types.DATETIME||packet.buffer[i2]===Types.JSON)&&packet.buffer[i2+1]===0){types6.push(packet.buffer[i2]);packet.skip(2)}}packet.skip(1);const values2=[];for(let i2=0;i2<types6.length;i2++){if(types6[i2]===Types.VAR_STRING){values2.push(packet.readLengthCodedString(encoding))}else if(types6[i2]===Types.DOUBLE){values2.push(packet.readDouble())}else if(types6[i2]===Types.TINY){values2.push(packet.readInt8())}else if(types6[i2]===Types.DATETIME){values2.push(packet.readDateTime())}else if(types6[i2]===Types.JSON){values2.push(JSON.parse(packet.readLengthCodedString(encoding)))}if(types6[i2]===Types.NULL){values2.push(null)}}return{stmtId,flags,iterationCount,values:values2}}toPacket(){let length=14;let parameters;if(this.parameters&&this.parameters.length>0){length+=Math.floor((this.parameters.length+7)/8);length+=1;length+=2*this.parameters.length;parameters=this.parameters.map(value=>toParameter(value,this.encoding,this.timezone));length+=parameters.reduce((accumulator,parameter)=>accumulator+parameter.length,0)}const buffer=Buffer.allocUnsafe(length);const packet=new Packet(0,buffer,0,length);packet.offset=4;packet.writeInt8(CommandCodes.STMT_EXECUTE);packet.writeInt32(this.id);packet.writeInt8(CursorType.NO_CURSOR);packet.writeInt32(1);if(parameters){let bitmap=0;let bitValue=1;parameters.forEach(parameter=>{if(parameter.type===Types.NULL){bitmap+=bitValue}bitValue*=2;if(bitValue===256){packet.writeInt8(bitmap);bitmap=0;bitValue=1}});if(bitValue!==1){packet.writeInt8(bitmap)}packet.writeInt8(1);parameters.forEach(parameter=>{packet.writeInt8(parameter.type);packet.writeInt8(0)});parameters.forEach(parameter=>{if(parameter.type!==Types.NULL){parameter.writer.call(packet,parameter.value)}})}return packet}};module2.exports=Execute}});var require_handshake=__commonJS({"node_modules/mysql2/lib/packets/handshake.js"(exports2,module2){"use strict";var Packet=require_packet();var ClientConstants=require_client();var Handshake=class _Handshake{constructor(args2){this.protocolVersion=args2.protocolVersion;this.serverVersion=args2.serverVersion;this.capabilityFlags=args2.capabilityFlags;this.connectionId=args2.connectionId;this.authPluginData1=args2.authPluginData1;this.authPluginData2=args2.authPluginData2;this.characterSet=args2.characterSet;this.statusFlags=args2.statusFlags;this.autPluginName=args2.autPluginName}setScrambleData(cb){require("crypto").randomBytes(20,(err,data)=>{if(err){cb(err);return}this.authPluginData1=data.slice(0,8);this.authPluginData2=data.slice(8,20);cb()})}toPacket(sequenceId){const length=68+Buffer.byteLength(this.serverVersion,"utf8");const buffer=Buffer.alloc(length+4,0);const packet=new Packet(sequenceId,buffer,0,length+4);packet.offset=4;packet.writeInt8(this.protocolVersion);packet.writeString(this.serverVersion,"cesu8");packet.writeInt8(0);packet.writeInt32(this.connectionId);packet.writeBuffer(this.authPluginData1);packet.writeInt8(0);const capabilityFlagsBuffer=Buffer.allocUnsafe(4);capabilityFlagsBuffer.writeUInt32LE(this.capabilityFlags,0);packet.writeBuffer(capabilityFlagsBuffer.slice(0,2));packet.writeInt8(this.characterSet);packet.writeInt16(this.statusFlags);packet.writeBuffer(capabilityFlagsBuffer.slice(2,4));packet.writeInt8(21);packet.skip(10);packet.writeBuffer(this.authPluginData2);packet.writeInt8(0);packet.writeString("mysql_native_password","latin1");packet.writeInt8(0);return packet}static fromPacket(packet){const args2={};args2.protocolVersion=packet.readInt8();args2.serverVersion=packet.readNullTerminatedString("cesu8");args2.connectionId=packet.readInt32();args2.authPluginData1=packet.readBuffer(8);packet.skip(1);const capabilityFlagsBuffer=Buffer.allocUnsafe(4);capabilityFlagsBuffer[0]=packet.readInt8();capabilityFlagsBuffer[1]=packet.readInt8();if(packet.haveMoreData()){args2.characterSet=packet.readInt8();args2.statusFlags=packet.readInt16();capabilityFlagsBuffer[2]=packet.readInt8();capabilityFlagsBuffer[3]=packet.readInt8();args2.capabilityFlags=capabilityFlagsBuffer.readUInt32LE(0);if(args2.capabilityFlags&ClientConstants.PLUGIN_AUTH){args2.authPluginDataLength=packet.readInt8()}else{args2.authPluginDataLength=0;packet.skip(1)}packet.skip(10)}else{args2.capabilityFlags=capabilityFlagsBuffer.readUInt16LE(0)}const isSecureConnection=args2.capabilityFlags&ClientConstants.SECURE_CONNECTION;if(isSecureConnection){const authPluginDataLength=args2.authPluginDataLength;if(authPluginDataLength===0){args2.authPluginDataLength=20;args2.authPluginData2=packet.readBuffer(12);packet.skip(1)}else{const len=Math.max(13,authPluginDataLength-8);args2.authPluginData2=packet.readBuffer(len)}}if(args2.capabilityFlags&ClientConstants.PLUGIN_AUTH){args2.autPluginName=packet.readNullTerminatedString("ascii")}return new _Handshake(args2)}};module2.exports=Handshake}});var require_handshake_response=__commonJS({"node_modules/mysql2/lib/packets/handshake_response.js"(exports2,module2){"use strict";var ClientConstants=require_client();var CharsetToEncoding=require_charset_encodings();var Packet=require_packet();var auth41=require_auth_41();var HandshakeResponse=class{constructor(handshake){this.user=handshake.user||"";this.database=handshake.database||"";this.password=handshake.password||"";this.passwordSha1=handshake.passwordSha1;this.authPluginData1=handshake.authPluginData1;this.authPluginData2=handshake.authPluginData2;this.compress=handshake.compress;this.clientFlags=handshake.flags;let authToken;if(this.passwordSha1){authToken=auth41.calculateTokenFromPasswordSha(this.passwordSha1,this.authPluginData1,this.authPluginData2)}else{authToken=auth41.calculateToken(this.password,this.authPluginData1,this.authPluginData2)}this.authToken=authToken;this.charsetNumber=handshake.charsetNumber;this.encoding=CharsetToEncoding[handshake.charsetNumber];this.connectAttributes=handshake.connectAttributes}serializeResponse(buffer){const isSet2=flag=>this.clientFlags&ClientConstants[flag];const packet=new Packet(0,buffer,0,buffer.length);packet.offset=4;packet.writeInt32(this.clientFlags);packet.writeInt32(0);packet.writeInt8(this.charsetNumber);packet.skip(23);const encoding=this.encoding;packet.writeNullTerminatedString(this.user,encoding);let k;if(isSet2("PLUGIN_AUTH_LENENC_CLIENT_DATA")){packet.writeLengthCodedNumber(this.authToken.length);packet.writeBuffer(this.authToken)}else if(isSet2("SECURE_CONNECTION")){packet.writeInt8(this.authToken.length);packet.writeBuffer(this.authToken)}else{packet.writeBuffer(this.authToken);packet.writeInt8(0)}if(isSet2("CONNECT_WITH_DB")){packet.writeNullTerminatedString(this.database,encoding)}if(isSet2("PLUGIN_AUTH")){packet.writeNullTerminatedString("mysql_native_password","latin1")}if(isSet2("CONNECT_ATTRS")){const connectAttributes=this.connectAttributes||{};const attrNames=Object.keys(connectAttributes);let keysLength=0;for(k=0;k<attrNames.length;++k){keysLength+=Packet.lengthCodedStringLength(attrNames[k],encoding);keysLength+=Packet.lengthCodedStringLength(connectAttributes[attrNames[k]],encoding)}packet.writeLengthCodedNumber(keysLength);for(k=0;k<attrNames.length;++k){packet.writeLengthCodedString(attrNames[k],encoding);packet.writeLengthCodedString(connectAttributes[attrNames[k]],encoding)}}return packet}toPacket(){if(typeof this.user!=="string"){throw new Error('"user" connection config property must be a string')}if(typeof this.database!=="string"){throw new Error('"database" connection config property must be a string')}const p=this.serializeResponse(Packet.MockBuffer());return this.serializeResponse(Buffer.alloc(p.offset))}static fromPacket(packet){const args2={};args2.clientFlags=packet.readInt32();function isSet2(flag){return args2.clientFlags&ClientConstants[flag]}args2.maxPacketSize=packet.readInt32();args2.charsetNumber=packet.readInt8();const encoding=CharsetToEncoding[args2.charsetNumber];args2.encoding=encoding;packet.skip(23);args2.user=packet.readNullTerminatedString(encoding);let authTokenLength;if(isSet2("PLUGIN_AUTH_LENENC_CLIENT_DATA")){authTokenLength=packet.readLengthCodedNumber(encoding);args2.authToken=packet.readBuffer(authTokenLength)}else if(isSet2("SECURE_CONNECTION")){authTokenLength=packet.readInt8();args2.authToken=packet.readBuffer(authTokenLength)}else{args2.authToken=packet.readNullTerminatedString(encoding)}if(isSet2("CONNECT_WITH_DB")){args2.database=packet.readNullTerminatedString(encoding)}if(isSet2("PLUGIN_AUTH")){args2.authPluginName=packet.readNullTerminatedString(encoding)}if(isSet2("CONNECT_ATTRS")){const keysLength=packet.readLengthCodedNumber(encoding);const keysEnd=packet.offset+keysLength;const attrs={};while(packet.offset<keysEnd){attrs[packet.readLengthCodedString(encoding)]=packet.readLengthCodedString(encoding)}args2.connectAttributes=attrs}return args2}};module2.exports=HandshakeResponse}});var require_prepare_statement=__commonJS({"node_modules/mysql2/lib/packets/prepare_statement.js"(exports2,module2){"use strict";var Packet=require_packet();var CommandCodes=require_commands();var StringParser=require_string();var CharsetToEncoding=require_charset_encodings();var PrepareStatement=class{constructor(sql,charsetNumber){this.query=sql;this.charsetNumber=charsetNumber;this.encoding=CharsetToEncoding[charsetNumber]}toPacket(){const buf=StringParser.encode(this.query,this.encoding);const length=5+buf.length;const buffer=Buffer.allocUnsafe(length);const packet=new Packet(0,buffer,0,length);packet.offset=4;packet.writeInt8(CommandCodes.STMT_PREPARE);packet.writeBuffer(buf);return packet}};module2.exports=PrepareStatement}});var require_prepared_statement_header=__commonJS({"node_modules/mysql2/lib/packets/prepared_statement_header.js"(exports2,module2){"use strict";var PreparedStatementHeader=class{constructor(packet){packet.skip(1);this.id=packet.readInt32();this.fieldCount=packet.readInt16();this.parameterCount=packet.readInt16();packet.skip(1);this.warningCount=packet.readInt16()}};module2.exports=PreparedStatementHeader}});var require_query=__commonJS({"node_modules/mysql2/lib/packets/query.js"(exports2,module2){"use strict";var Packet=require_packet();var CommandCode=require_commands();var StringParser=require_string();var CharsetToEncoding=require_charset_encodings();var Query=class{constructor(sql,charsetNumber){this.query=sql;this.charsetNumber=charsetNumber;this.encoding=CharsetToEncoding[charsetNumber]}toPacket(){const buf=StringParser.encode(this.query,this.encoding);const length=5+buf.length;const buffer=Buffer.allocUnsafe(length);const packet=new Packet(0,buffer,0,length);packet.offset=4;packet.writeInt8(CommandCode.QUERY);packet.writeBuffer(buf);return packet}};module2.exports=Query}});var require_register_slave=__commonJS({"node_modules/mysql2/lib/packets/register_slave.js"(exports2,module2){"use strict";var Packet=require_packet();var CommandCodes=require_commands();var RegisterSlave=class{constructor(opts){this.serverId=opts.serverId||0;this.slaveHostname=opts.slaveHostname||"";this.slaveUser=opts.slaveUser||"";this.slavePassword=opts.slavePassword||"";this.slavePort=opts.slavePort||0;this.replicationRank=opts.replicationRank||0;this.masterId=opts.masterId||0}toPacket(){const length=15+Buffer.byteLength(this.slaveHostname,"utf8")+Buffer.byteLength(this.slaveUser,"utf8")+Buffer.byteLength(this.slavePassword,"utf8")+3+4;const buffer=Buffer.allocUnsafe(length);const packet=new Packet(0,buffer,0,length);packet.offset=4;packet.writeInt8(CommandCodes.REGISTER_SLAVE);packet.writeInt32(this.serverId);packet.writeInt8(Buffer.byteLength(this.slaveHostname,"utf8"));packet.writeString(this.slaveHostname);packet.writeInt8(Buffer.byteLength(this.slaveUser,"utf8"));packet.writeString(this.slaveUser);packet.writeInt8(Buffer.byteLength(this.slavePassword,"utf8"));packet.writeString(this.slavePassword);packet.writeInt16(this.slavePort);packet.writeInt32(this.replicationRank);packet.writeInt32(this.masterId);return packet}};module2.exports=RegisterSlave}});var require_server_status=__commonJS({"node_modules/mysql2/lib/constants/server_status.js"(exports2){"use strict";exports2.SERVER_STATUS_IN_TRANS=1;exports2.SERVER_STATUS_AUTOCOMMIT=2;exports2.SERVER_MORE_RESULTS_EXISTS=8;exports2.SERVER_QUERY_NO_GOOD_INDEX_USED=16;exports2.SERVER_QUERY_NO_INDEX_USED=32;exports2.SERVER_STATUS_CURSOR_EXISTS=64;exports2.SERVER_STATUS_LAST_ROW_SENT=128;exports2.SERVER_STATUS_DB_DROPPED=256;exports2.SERVER_STATUS_NO_BACKSLASH_ESCAPES=512;exports2.SERVER_STATUS_METADATA_CHANGED=1024;exports2.SERVER_QUERY_WAS_SLOW=2048;exports2.SERVER_PS_OUT_PARAMS=4096;exports2.SERVER_STATUS_IN_TRANS_READONLY=8192;exports2.SERVER_SESSION_STATE_CHANGED=16384}});var require_encoding_charset=__commonJS({"node_modules/mysql2/lib/constants/encoding_charset.js"(exports2,module2){"use strict";module2.exports={big5:1,latin2:2,dec8:3,cp850:4,latin1:5,hp8:6,koi8r:7,swe7:10,ascii:11,eucjp:12,sjis:13,cp1251:14,hebrew:16,tis620:18,euckr:19,latin7:20,koi8u:22,gb2312:24,greek:25,cp1250:26,gbk:28,cp1257:29,latin5:30,armscii8:32,cesu8:33,ucs2:35,cp866:36,keybcs2:37,macintosh:38,macroman:39,cp852:40,utf8:45,utf8mb4:45,utf16:54,utf16le:56,cp1256:57,utf32:60,binary:63,geostd8:92,cp932:95,eucjpms:97,gb18030:248}}});var require_session_track=__commonJS({"node_modules/mysql2/lib/constants/session_track.js"(exports2){"use strict";exports2.SYSTEM_VARIABLES=0;exports2.SCHEMA=1;exports2.STATE_CHANGE=2;exports2.STATE_GTIDS=3;exports2.TRANSACTION_CHARACTERISTICS=4;exports2.TRANSACTION_STATE=5;exports2.FIRST_KEY=exports2.SYSTEM_VARIABLES;exports2.LAST_KEY=exports2.TRANSACTION_STATE}});var require_resultset_header=__commonJS({"node_modules/mysql2/lib/packets/resultset_header.js"(exports2,module2){"use strict";var Packet=require_packet();var ClientConstants=require_client();var ServerSatusFlags=require_server_status();var EncodingToCharset=require_encoding_charset();var sessionInfoTypes=require_session_track();var ResultSetHeader=class{constructor(packet,connection){const bigNumberStrings=connection.config.bigNumberStrings;const encoding=connection.serverEncoding;const flags=connection._handshakePacket.capabilityFlags;const isSet2=function(flag){return flags&ClientConstants[flag]};if(packet.buffer[packet.offset]!==0){this.fieldCount=packet.readLengthCodedNumber();if(this.fieldCount===null){this.infileName=packet.readString(void 0,encoding)}return}this.fieldCount=packet.readInt8();this.affectedRows=packet.readLengthCodedNumber(bigNumberStrings);this.insertId=packet.readLengthCodedNumberSigned(bigNumberStrings);this.info="";if(isSet2("PROTOCOL_41")){this.serverStatus=packet.readInt16();this.warningStatus=packet.readInt16()}else if(isSet2("TRANSACTIONS")){this.serverStatus=packet.readInt16()}let stateChanges=null;if(isSet2("SESSION_TRACK")&&packet.offset<packet.end){this.info=packet.readLengthCodedString(encoding);if(this.serverStatus&&ServerSatusFlags.SERVER_SESSION_STATE_CHANGED){let len=packet.offset<packet.end?packet.readLengthCodedNumber():0;const end=packet.offset+len;let type2,key,stateEnd;if(len>0){stateChanges={systemVariables:{},schema:null,gtids:[],trackStateChange:null}}while(packet.offset<end){type2=packet.readInt8();len=packet.readLengthCodedNumber();stateEnd=packet.offset+len;if(type2===sessionInfoTypes.SYSTEM_VARIABLES){key=packet.readLengthCodedString(encoding);const val=packet.readLengthCodedString(encoding);stateChanges.systemVariables[key]=val;if(key==="character_set_client"){const charsetNumber=EncodingToCharset[val];connection.config.charsetNumber=charsetNumber}}else if(type2===sessionInfoTypes.SCHEMA){key=packet.readLengthCodedString(encoding);stateChanges.schema=key}else if(type2===sessionInfoTypes.STATE_CHANGE){stateChanges.trackStateChange=packet.readLengthCodedString(encoding)}else if(type2===sessionInfoTypes.STATE_GTIDS){const _unknownString=packet.readLengthCodedString(encoding);const gtid=packet.readLengthCodedString(encoding);stateChanges.gtids=gtid.split(",")}else{}packet.offset=stateEnd}}}else{this.info=packet.readString(void 0,encoding)}if(stateChanges){this.stateChanges=stateChanges}const m=this.info.match(/\schanged:\s*(\d+)/i);if(m!==null){this.changedRows=parseInt(m[1],10)}else{this.changedRows=0}}static toPacket(fieldCount,insertId){let length=4+Packet.lengthCodedNumberLength(fieldCount);if(typeof insertId!=="undefined"){length+=Packet.lengthCodedNumberLength(insertId)}const buffer=Buffer.allocUnsafe(length);const packet=new Packet(0,buffer,0,length);packet.offset=4;packet.writeLengthCodedNumber(fieldCount);if(typeof insertId!=="undefined"){packet.writeLengthCodedNumber(insertId)}return packet}};module2.exports=ResultSetHeader}});var require_ssl_request=__commonJS({"node_modules/mysql2/lib/packets/ssl_request.js"(exports2,module2){"use strict";var ClientConstants=require_client();var Packet=require_packet();var SSLRequest=class{constructor(flags,charset){this.clientFlags=flags|ClientConstants.SSL;this.charset=charset}toPacket(){const length=36;const buffer=Buffer.allocUnsafe(length);const packet=new Packet(0,buffer,0,length);buffer.fill(0);packet.offset=4;packet.writeInt32(this.clientFlags);packet.writeInt32(0);packet.writeInt8(this.charset);return packet}};module2.exports=SSLRequest}});var require_text_row=__commonJS({"node_modules/mysql2/lib/packets/text_row.js"(exports2,module2){"use strict";var Packet=require_packet();var TextRow=class _TextRow{constructor(columns){this.columns=columns||[]}static fromPacket(packet){const columns=[];while(packet.haveMoreData()){columns.push(packet.readLengthCodedString())}return new _TextRow(columns)}static toPacket(columns,encoding){const sequenceId=0;let length=0;columns.forEach(val=>{if(val===null||typeof val==="undefined"){++length;return}length+=Packet.lengthCodedStringLength(val.toString(10),encoding)});const buffer=Buffer.allocUnsafe(length+4);const packet=new Packet(sequenceId,buffer,0,length+4);packet.offset=4;columns.forEach(val=>{if(val===null){packet.writeNull();return}if(typeof val==="undefined"){packet.writeInt8(0);return}packet.writeLengthCodedString(val.toString(10),encoding)});return packet}};module2.exports=TextRow}});var require_packets=__commonJS({"node_modules/mysql2/lib/packets/index.js"(exports2,module2){"use strict";var process6=require("process");var AuthNextFactor=require_auth_next_factor();var AuthSwitchRequest=require_auth_switch_request();var AuthSwitchRequestMoreData=require_auth_switch_request_more_data();var AuthSwitchResponse=require_auth_switch_response();var BinaryRow=require_binary_row();var BinlogDump=require_binlog_dump();var ChangeUser=require_change_user();var CloseStatement=require_close_statement();var ColumnDefinition=require_column_definition();var Execute=require_execute();var Handshake=require_handshake();var HandshakeResponse=require_handshake_response();var PrepareStatement=require_prepare_statement();var PreparedStatementHeader=require_prepared_statement_header();var Query=require_query();var RegisterSlave=require_register_slave();var ResultSetHeader=require_resultset_header();var SSLRequest=require_ssl_request();var TextRow=require_text_row();var ctorMap={AuthNextFactor,AuthSwitchRequest,AuthSwitchRequestMoreData,AuthSwitchResponse,BinaryRow,BinlogDump,ChangeUser,CloseStatement,ColumnDefinition,Execute,Handshake,HandshakeResponse,PrepareStatement,PreparedStatementHeader,Query,RegisterSlave,ResultSetHeader,SSLRequest,TextRow};Object.entries(ctorMap).forEach(([name,ctor])=>{module2.exports[name]=ctor;if(process6.env.NODE_DEBUG){if(ctor.prototype.toPacket){const old=ctor.prototype.toPacket;ctor.prototype.toPacket=function(){const p=old.call(this);p._name=name;return p}}}});var Packet=require_packet();exports2.Packet=Packet;var OK2=class{static toPacket(args2,encoding){args2=args2||{};const affectedRows=args2.affectedRows||0;const insertId=args2.insertId||0;const serverStatus=args2.serverStatus||0;const warningCount=args2.warningCount||0;const message3=args2.message||"";let length=9+Packet.lengthCodedNumberLength(affectedRows);length+=Packet.lengthCodedNumberLength(insertId);const buffer=Buffer.allocUnsafe(length);const packet=new Packet(0,buffer,0,length);packet.offset=4;packet.writeInt8(0);packet.writeLengthCodedNumber(affectedRows);packet.writeLengthCodedNumber(insertId);packet.writeInt16(serverStatus);packet.writeInt16(warningCount);packet.writeString(message3,encoding);packet._name="OK";return packet}};exports2.OK=OK2;var EOF=class{static toPacket(warnings,statusFlags){if(typeof warnings==="undefined"){warnings=0}if(typeof statusFlags==="undefined"){statusFlags=0}const packet=new Packet(0,Buffer.allocUnsafe(9),0,9);packet.offset=4;packet.writeInt8(254);packet.writeInt16(warnings);packet.writeInt16(statusFlags);packet._name="EOF";return packet}};exports2.EOF=EOF;var Error2=class _Error{static toPacket(args2,encoding){const length=13+Buffer.byteLength(args2.message,"utf8");const packet=new Packet(0,Buffer.allocUnsafe(length),0,length);packet.offset=4;packet.writeInt8(255);packet.writeInt16(args2.code);packet.writeString("#_____",encoding);packet.writeString(args2.message,encoding);packet._name="Error";return packet}static fromPacket(packet){packet.readInt8();const code=packet.readInt16();packet.readString(1,"ascii");packet.readString(5,"ascii");const message3=packet.readNullTerminatedString("utf8");const error=new _Error;error.message=message3;error.code=code;return error}};exports2.Error=Error2}});var require_command2=__commonJS({"node_modules/mysql2/lib/commands/command.js"(exports2,module2){"use strict";var EventEmitter3=require("events").EventEmitter;var Timers=require("timers");var Command2=class extends EventEmitter3{constructor(){super();this.next=null}stateName(){const state=this.next;for(const i in this){if(this[i]===state&&i!=="next"){return i}}return"unknown name"}execute(packet,connection){if(!this.next){this.next=this.start;connection._resetSequenceId()}if(packet&&packet.isError()){const err=packet.asError(connection.clientEncoding);err.sql=this.sql||this.query;if(this.queryTimeout){Timers.clearTimeout(this.queryTimeout);this.queryTimeout=null}if(this.onResult){this.onResult(err);this.emit("end")}else{this.emit("error",err);this.emit("end")}return true}this.next=this.next(packet,connection);if(this.next){return false}this.emit("end");return true}};module2.exports=Command2}});var require_sha256_password=__commonJS({"node_modules/mysql2/lib/auth_plugins/sha256_password.js"(exports2,module2){"use strict";var PLUGIN_NAME="sha256_password";var crypto6=require("crypto");var{xorRotating}=require_auth_41();var REQUEST_SERVER_KEY_PACKET=Buffer.from([1]);var STATE_INITIAL=0;var STATE_WAIT_SERVER_KEY=1;var STATE_FINAL=-1;function encrypt4(password,scramble,key){const stage1=xorRotating(Buffer.from(`${password}\0`,"utf8"),scramble);return crypto6.publicEncrypt(key,stage1)}module2.exports=(pluginOptions={})=>({connection})=>{let state=0;let scramble=null;const password=connection.config.password;const authWithKey=serverKey=>{const _password=encrypt4(password,scramble,serverKey);state=STATE_FINAL;return _password};return data=>{switch(state){case STATE_INITIAL:scramble=data.slice(0,20);if(pluginOptions.serverPublicKey){return authWithKey(pluginOptions.serverPublicKey)}state=STATE_WAIT_SERVER_KEY;return REQUEST_SERVER_KEY_PACKET;case STATE_WAIT_SERVER_KEY:if(pluginOptions.onServerPublicKey){pluginOptions.onServerPublicKey(data)}return authWithKey(data);case STATE_FINAL:throw new Error(`Unexpected data in AuthMoreData packet received by ${PLUGIN_NAME} plugin in STATE_FINAL state.`)}throw new Error(`Unexpected data in AuthMoreData packet received by ${PLUGIN_NAME} plugin in state ${state}`)}}}});var require_caching_sha2_password=__commonJS({"node_modules/mysql2/lib/auth_plugins/caching_sha2_password.js"(exports2,module2){"use strict";var PLUGIN_NAME="caching_sha2_password";var crypto6=require("crypto");var{xor:xor2,xorRotating}=require_auth_41();var REQUEST_SERVER_KEY_PACKET=Buffer.from([2]);var FAST_AUTH_SUCCESS_PACKET=Buffer.from([3]);var PERFORM_FULL_AUTHENTICATION_PACKET=Buffer.from([4]);var STATE_INITIAL=0;var STATE_TOKEN_SENT=1;var STATE_WAIT_SERVER_KEY=2;var STATE_FINAL=-1;function sha256(msg){const hash=crypto6.createHash("sha256");hash.update(msg);return hash.digest()}function calculateToken(password,scramble){if(!password){return Buffer.alloc(0)}const stage1=sha256(Buffer.from(password));const stage2=sha256(stage1);const stage3=sha256(Buffer.concat([stage2,scramble]));return xor2(stage1,stage3)}function encrypt4(password,scramble,key){const stage1=xorRotating(Buffer.from(`${password}\0`,"utf8"),scramble);return crypto6.publicEncrypt({key,padding:crypto6.constants.RSA_PKCS1_OAEP_PADDING},stage1)}module2.exports=(pluginOptions={})=>({connection})=>{let state=0;let scramble=null;const password=connection.config.password;const authWithKey=serverKey=>{const _password=encrypt4(password,scramble,serverKey);state=STATE_FINAL;return _password};return data=>{switch(state){case STATE_INITIAL:scramble=data.slice(0,20);state=STATE_TOKEN_SENT;return calculateToken(password,scramble);case STATE_TOKEN_SENT:if(FAST_AUTH_SUCCESS_PACKET.equals(data)){state=STATE_FINAL;return null}if(PERFORM_FULL_AUTHENTICATION_PACKET.equals(data)){const isSecureConnection=typeof pluginOptions.overrideIsSecure==="undefined"?connection.config.ssl||connection.config.socketPath:pluginOptions.overrideIsSecure;if(isSecureConnection){state=STATE_FINAL;return Buffer.from(`${password}\0`,"utf8")}if(pluginOptions.serverPublicKey){return authWithKey(pluginOptions.serverPublicKey)}state=STATE_WAIT_SERVER_KEY;return REQUEST_SERVER_KEY_PACKET}throw new Error(`Invalid AuthMoreData packet received by ${PLUGIN_NAME} plugin in STATE_TOKEN_SENT state.`);case STATE_WAIT_SERVER_KEY:if(pluginOptions.onServerPublicKey){pluginOptions.onServerPublicKey(data)}return authWithKey(data);case STATE_FINAL:throw new Error(`Unexpected data in AuthMoreData packet received by ${PLUGIN_NAME} plugin in STATE_FINAL state.`)}throw new Error(`Unexpected data in AuthMoreData packet received by ${PLUGIN_NAME} plugin in state ${state}`)}}}});var require_mysql_native_password=__commonJS({"node_modules/mysql2/lib/auth_plugins/mysql_native_password.js"(exports2,module2){"use strict";var auth41=require_auth_41();module2.exports=pluginOptions=>({connection,command})=>{const password=command.password||pluginOptions.password||connection.config.password;const passwordSha1=command.passwordSha1||pluginOptions.passwordSha1||connection.config.passwordSha1;return data=>{const authPluginData1=data.slice(0,8);const authPluginData2=data.slice(8,20);let authToken;if(passwordSha1){authToken=auth41.calculateTokenFromPasswordSha(passwordSha1,authPluginData1,authPluginData2)}else{authToken=auth41.calculateToken(password,authPluginData1,authPluginData2)}return authToken}}}});var require_mysql_clear_password=__commonJS({"node_modules/mysql2/lib/auth_plugins/mysql_clear_password.js"(exports2,module2){"use strict";function bufferFromStr(str2){return Buffer.from(`${str2}\0`)}var create_mysql_clear_password_plugin=pluginOptions=>function mysql_clear_password_plugin({connection,command}){const password=command.password||pluginOptions.password||connection.config.password;return function(){return bufferFromStr(password)}};module2.exports=create_mysql_clear_password_plugin}});var require_auth_switch=__commonJS({"node_modules/mysql2/lib/commands/auth_switch.js"(exports2,module2){"use strict";var Packets=require_packets();var sha256_password=require_sha256_password();var caching_sha2_password=require_caching_sha2_password();var mysql_native_password=require_mysql_native_password();var mysql_clear_password=require_mysql_clear_password();var standardAuthPlugins={sha256_password:sha256_password({}),caching_sha2_password:caching_sha2_password({}),mysql_native_password:mysql_native_password({}),mysql_clear_password:mysql_clear_password({})};function warnLegacyAuthSwitch(){console.warn("WARNING! authSwitchHandler api is deprecated, please use new authPlugins api")}function authSwitchPluginError(error,command){error.code="AUTH_SWITCH_PLUGIN_ERROR";error.fatal=true;command.emit("error",error)}function authSwitchRequest(packet,connection,command){const{pluginName,pluginData}=Packets.AuthSwitchRequest.fromPacket(packet);let authPlugin=connection.config.authPlugins&&connection.config.authPlugins[pluginName];if(connection.config.authSwitchHandler&&pluginName!=="mysql_native_password"){const legacySwitchHandler=connection.config.authSwitchHandler;warnLegacyAuthSwitch();legacySwitchHandler({pluginName,pluginData},(err,data)=>{if(err){return authSwitchPluginError(err,command)}connection.writePacket(new Packets.AuthSwitchResponse(data).toPacket())});return}if(!authPlugin){authPlugin=standardAuthPlugins[pluginName]}if(!authPlugin){throw new Error(`Server requests authentication using unknown plugin ${pluginName}. See ${"TODO: add plugins doco here"} on how to configure or author authentication plugins.`)}connection._authPlugin=authPlugin({connection,command});Promise.resolve(connection._authPlugin(pluginData)).then(data=>{if(data){connection.writePacket(new Packets.AuthSwitchResponse(data).toPacket())}}).catch(err=>{authSwitchPluginError(err,command)})}function authSwitchRequestMoreData(packet,connection,command){const{data}=Packets.AuthSwitchRequestMoreData.fromPacket(packet);if(connection.config.authSwitchHandler){const legacySwitchHandler=connection.config.authSwitchHandler;warnLegacyAuthSwitch();legacySwitchHandler({pluginData:data},(err,data2)=>{if(err){return authSwitchPluginError(err,command)}connection.writePacket(new Packets.AuthSwitchResponse(data2).toPacket())});return}if(!connection._authPlugin){throw new Error("AuthPluginMoreData received but no auth plugin instance found")}Promise.resolve(connection._authPlugin(data)).then(data2=>{if(data2){connection.writePacket(new Packets.AuthSwitchResponse(data2).toPacket())}}).catch(err=>{authSwitchPluginError(err,command)})}module2.exports={authSwitchRequest,authSwitchRequestMoreData}}});var require_seq_queue=__commonJS({"node_modules/seq-queue/lib/seq-queue.js"(exports2,module2){var EventEmitter3=require("events").EventEmitter;var util4=require("util");var DEFAULT_TIMEOUT=3e3;var INIT_ID=0;var EVENT_CLOSED="closed";var EVENT_DRAINED="drained";var SeqQueue=function(timeout){EventEmitter3.call(this);if(timeout&&timeout>0){this.timeout=timeout}else{this.timeout=DEFAULT_TIMEOUT}this.status=SeqQueueManager.STATUS_IDLE;this.curId=INIT_ID;this.queue=[]};util4.inherits(SeqQueue,EventEmitter3);SeqQueue.prototype.push=function(fn2,ontimeout,timeout){if(this.status!==SeqQueueManager.STATUS_IDLE&&this.status!==SeqQueueManager.STATUS_BUSY){return false}if(typeof fn2!=="function"){throw new Error("fn should be a function.")}this.queue.push({fn:fn2,ontimeout,timeout});if(this.status===SeqQueueManager.STATUS_IDLE){this.status=SeqQueueManager.STATUS_BUSY;var self2=this;process.nextTick(function(){self2._next(self2.curId)})}return true};SeqQueue.prototype.close=function(force){if(this.status!==SeqQueueManager.STATUS_IDLE&&this.status!==SeqQueueManager.STATUS_BUSY){return}if(force){this.status=SeqQueueManager.STATUS_DRAINED;if(this.timerId){clearTimeout(this.timerId);this.timerId=void 0}this.emit(EVENT_DRAINED)}else{this.status=SeqQueueManager.STATUS_CLOSED;this.emit(EVENT_CLOSED)}};SeqQueue.prototype._next=function(tid){if(tid!==this.curId||this.status!==SeqQueueManager.STATUS_BUSY&&this.status!==SeqQueueManager.STATUS_CLOSED){return}if(this.timerId){clearTimeout(this.timerId);this.timerId=void 0}var task=this.queue.shift();if(!task){if(this.status===SeqQueueManager.STATUS_BUSY){this.status=SeqQueueManager.STATUS_IDLE;this.curId++}else{this.status=SeqQueueManager.STATUS_DRAINED;this.emit(EVENT_DRAINED)}return}var self2=this;task.id=++this.curId;var timeout=task.timeout>0?task.timeout:this.timeout;timeout=timeout>0?timeout:DEFAULT_TIMEOUT;this.timerId=setTimeout(function(){process.nextTick(function(){self2._next(task.id)});self2.emit("timeout",task);if(task.ontimeout){task.ontimeout()}},timeout);try{task.fn({done:function(){var res=task.id===self2.curId;process.nextTick(function(){self2._next(task.id)});return res}})}catch(err){self2.emit("error",err,task);process.nextTick(function(){self2._next(task.id)})}};var SeqQueueManager=module2.exports;SeqQueueManager.STATUS_IDLE=0;SeqQueueManager.STATUS_BUSY=1;SeqQueueManager.STATUS_CLOSED=2;SeqQueueManager.STATUS_DRAINED=3;SeqQueueManager.createQueue=function(timeout){return new SeqQueue(timeout)}}});var require_seq_queue2=__commonJS({"node_modules/seq-queue/index.js"(exports2,module2){module2.exports=require_seq_queue()}});var require_compressed_protocol=__commonJS({"node_modules/mysql2/lib/compressed_protocol.js"(exports2,module2){"use strict";var zlib2=require("zlib");var PacketParser=require_packet_parser();function handleCompressedPacket(packet){const connection=this;const deflatedLength=packet.readInt24();const body=packet.readBuffer();if(deflatedLength!==0){connection.inflateQueue.push(task=>{zlib2.inflate(body,(err,data)=>{if(err){connection._handleNetworkError(err);return}connection._bumpCompressedSequenceId(packet.numPackets);connection._inflatedPacketsParser.execute(data);task.done()})})}else{connection.inflateQueue.push(task=>{connection._bumpCompressedSequenceId(packet.numPackets);connection._inflatedPacketsParser.execute(body);task.done()})}}function writeCompressed(buffer){const MAX_COMPRESSED_LENGTH=16777210;let start;if(buffer.length>MAX_COMPRESSED_LENGTH){for(start=0;start<buffer.length;start+=MAX_COMPRESSED_LENGTH){writeCompressed.call(this,buffer.slice(start,start+MAX_COMPRESSED_LENGTH))}return}const connection=this;let packetLen=buffer.length;const compressHeader=Buffer.allocUnsafe(7);(function(seqId){connection.deflateQueue.push(task=>{zlib2.deflate(buffer,(err,compressed)=>{if(err){connection._handleFatalError(err);return}let compressedLength=compressed.length;if(compressedLength<packetLen){compressHeader.writeUInt8(compressedLength&255,0);compressHeader.writeUInt16LE(compressedLength>>8,1);compressHeader.writeUInt8(seqId,3);compressHeader.writeUInt8(packetLen&255,4);compressHeader.writeUInt16LE(packetLen>>8,5);connection.writeUncompressed(compressHeader);connection.writeUncompressed(compressed)}else{compressedLength=packetLen;packetLen=0;compressHeader.writeUInt8(compressedLength&255,0);compressHeader.writeUInt16LE(compressedLength>>8,1);compressHeader.writeUInt8(seqId,3);compressHeader.writeUInt8(packetLen&255,4);compressHeader.writeUInt16LE(packetLen>>8,5);connection.writeUncompressed(compressHeader);connection.writeUncompressed(buffer)}task.done()})})})(connection.compressedSequenceId);connection._bumpCompressedSequenceId(1)}function enableCompression(connection){connection._lastWrittenPacketId=0;connection._lastReceivedPacketId=0;connection._handleCompressedPacket=handleCompressedPacket;connection._inflatedPacketsParser=new PacketParser(p=>{connection.handlePacket(p)},4);connection._inflatedPacketsParser._lastPacket=0;connection.packetParser=new PacketParser(packet=>{connection._handleCompressedPacket(packet)},7);connection.writeUncompressed=connection.write;connection.write=writeCompressed;const seqqueue=require_seq_queue2();connection.inflateQueue=seqqueue.createQueue();connection.deflateQueue=seqqueue.createQueue()}module2.exports={enableCompression}}});var require_client_handshake=__commonJS({"node_modules/mysql2/lib/commands/client_handshake.js"(exports2,module2){"use strict";var Command2=require_command2();var Packets=require_packets();var ClientConstants=require_client();var CharsetToEncoding=require_charset_encodings();var auth41=require_auth_41();function flagNames(flags){const res=[];for(const c in ClientConstants){if(flags&ClientConstants[c]){res.push(c.replace(/_/g," ").toLowerCase())}}return res}var ClientHandshake=class _ClientHandshake extends Command2{constructor(clientFlags){super();this.handshake=null;this.clientFlags=clientFlags;this.authenticationFactor=0}start(){return _ClientHandshake.prototype.handshakeInit}sendSSLRequest(connection){const sslRequest=new Packets.SSLRequest(this.clientFlags,connection.config.charsetNumber);connection.writePacket(sslRequest.toPacket())}sendCredentials(connection){if(connection.config.debug){console.log("Sending handshake packet: flags:%d=(%s)",this.clientFlags,flagNames(this.clientFlags).join(", "))}this.user=connection.config.user;this.password=connection.config.password;this.password1=connection.config.password;this.password2=connection.config.password2;this.password3=connection.config.password3;this.passwordSha1=connection.config.passwordSha1;this.database=connection.config.database;this.autPluginName=this.handshake.autPluginName;const handshakeResponse=new Packets.HandshakeResponse({flags:this.clientFlags,user:this.user,database:this.database,password:this.password,passwordSha1:this.passwordSha1,charsetNumber:connection.config.charsetNumber,authPluginData1:this.handshake.authPluginData1,authPluginData2:this.handshake.authPluginData2,compress:connection.config.compress,connectAttributes:connection.config.connectAttributes});connection.writePacket(handshakeResponse.toPacket())}calculateNativePasswordAuthToken(authPluginData){const authPluginData1=authPluginData.slice(0,8);const authPluginData2=authPluginData.slice(8,20);let authToken;if(this.passwordSha1){authToken=auth41.calculateTokenFromPasswordSha(this.passwordSha1,authPluginData1,authPluginData2)}else{authToken=auth41.calculateToken(this.password,authPluginData1,authPluginData2)}return authToken}handshakeInit(helloPacket,connection){this.on("error",e=>{connection._fatalError=e;connection._protocolError=e});this.handshake=Packets.Handshake.fromPacket(helloPacket);if(connection.config.debug){console.log("Server hello packet: capability flags:%d=(%s)",this.handshake.capabilityFlags,flagNames(this.handshake.capabilityFlags).join(", "))}connection.serverCapabilityFlags=this.handshake.capabilityFlags;connection.serverEncoding=CharsetToEncoding[this.handshake.characterSet];connection.connectionId=this.handshake.connectionId;const serverSSLSupport=this.handshake.capabilityFlags&ClientConstants.SSL;const multiFactorAuthentication=this.handshake.capabilityFlags&ClientConstants.MULTI_FACTOR_AUTHENTICATION;this.clientFlags=this.clientFlags|multiFactorAuthentication;connection.config.compress=connection.config.compress&&this.handshake.capabilityFlags&ClientConstants.COMPRESS;this.clientFlags=this.clientFlags|connection.config.compress;if(connection.config.ssl){if(!serverSSLSupport){const err=new Error("Server does not support secure connection");err.code="HANDSHAKE_NO_SSL_SUPPORT";err.fatal=true;this.emit("error",err);return false}this.clientFlags|=ClientConstants.SSL;this.sendSSLRequest(connection);connection.startTLS(err=>{if(err){err.code="HANDSHAKE_SSL_ERROR";err.fatal=true;this.emit("error",err);return}this.sendCredentials(connection)})}else{this.sendCredentials(connection)}if(multiFactorAuthentication){this.authenticationFactor=1}return _ClientHandshake.prototype.handshakeResult}handshakeResult(packet,connection){const marker=packet.peekByte();if(marker===254||marker===1||marker===2){const authSwitch=require_auth_switch();try{if(marker===1){authSwitch.authSwitchRequestMoreData(packet,connection,this)}else{if(this.authenticationFactor!==0){connection.config.password=this[`password${this.authenticationFactor}`];this.authenticationFactor+=1}authSwitch.authSwitchRequest(packet,connection,this)}return _ClientHandshake.prototype.handshakeResult}catch(err){err.code="AUTH_SWITCH_PLUGIN_ERROR";err.fatal=true;if(this.onResult){this.onResult(err)}else{this.emit("error",err)}return null}}if(marker!==0){const err=new Error("Unexpected packet during handshake phase");err.code="HANDSHAKE_UNKNOWN_ERROR";err.fatal=true;if(this.onResult){this.onResult(err)}else{this.emit("error",err)}return null}if(!connection.authorized){connection.authorized=true;if(connection.config.compress){const enableCompression=require_compressed_protocol().enableCompression;enableCompression(connection)}}if(this.onResult){this.onResult(null)}return null}};module2.exports=ClientHandshake}});var require_server_handshake=__commonJS({"node_modules/mysql2/lib/commands/server_handshake.js"(exports2,module2){"use strict";var CommandCode=require_commands();var Errors=require_errors2();var Command2=require_command2();var Packets=require_packets();var ServerHandshake=class _ServerHandshake extends Command2{constructor(args2){super();this.args=args2}start(packet,connection){const serverHelloPacket=new Packets.Handshake(this.args);this.serverHello=serverHelloPacket;serverHelloPacket.setScrambleData(err=>{if(err){connection.emit("error",new Error("Error generating random bytes"));return}connection.writePacket(serverHelloPacket.toPacket(0))});return _ServerHandshake.prototype.readClientReply}readClientReply(packet,connection){const clientHelloReply=Packets.HandshakeResponse.fromPacket(packet);connection.clientHelloReply=clientHelloReply;if(this.args.authCallback){this.args.authCallback({user:clientHelloReply.user,database:clientHelloReply.database,address:connection.stream.remoteAddress,authPluginData1:this.serverHello.authPluginData1,authPluginData2:this.serverHello.authPluginData2,authToken:clientHelloReply.authToken},(err,mysqlError)=>{if(!mysqlError){connection.writeOk()}else{connection.writeError({message:mysqlError.message||"",code:mysqlError.code||1045});connection.close()}})}else{connection.writeOk()}return _ServerHandshake.prototype.dispatchCommands}_isStatement(query,name){const firstWord=query.split(" ")[0].toUpperCase();return firstWord===name}dispatchCommands(packet,connection){let knownCommand=true;const encoding=connection.clientHelloReply.encoding;const commandCode=packet.readInt8();switch(commandCode){case CommandCode.STMT_PREPARE:if(connection.listeners("stmt_prepare").length){const query=packet.readString(void 0,encoding);connection.emit("stmt_prepare",query)}else{connection.writeError({code:Errors.HA_ERR_INTERNAL_ERROR,message:"No query handler for prepared statements."})}break;case CommandCode.STMT_EXECUTE:if(connection.listeners("stmt_execute").length){const{stmtId,flags,iterationCount,values:values2}=Packets.Execute.fromPacket(packet,encoding);connection.emit("stmt_execute",stmtId,flags,iterationCount,values2)}else{connection.writeError({code:Errors.HA_ERR_INTERNAL_ERROR,message:"No query handler for execute statements."})}break;case CommandCode.QUIT:if(connection.listeners("quit").length){connection.emit("quit")}else{connection.stream.end()}break;case CommandCode.INIT_DB:if(connection.listeners("init_db").length){const schemaName=packet.readString(void 0,encoding);connection.emit("init_db",schemaName)}else{connection.writeOk()}break;case CommandCode.QUERY:if(connection.listeners("query").length){const query=packet.readString(void 0,encoding);if(this._isStatement(query,"PREPARE")||this._isStatement(query,"SET")){connection.emit("stmt_prepare",query)}else if(this._isStatement(query,"EXECUTE")){connection.emit("stmt_execute",null,null,null,null,query)}else connection.emit("query",query)}else{connection.writeError({code:Errors.HA_ERR_INTERNAL_ERROR,message:"No query handler"})}break;case CommandCode.FIELD_LIST:if(connection.listeners("field_list").length){const table=packet.readNullTerminatedString(encoding);const fields=packet.readString(void 0,encoding);connection.emit("field_list",table,fields)}else{connection.writeError({code:Errors.ER_WARN_DEPRECATED_SYNTAX,message:"As of MySQL 5.7.11, COM_FIELD_LIST is deprecated and will be removed in a future version of MySQL."})}break;case CommandCode.PING:if(connection.listeners("ping").length){connection.emit("ping")}else{connection.writeOk()}break;default:knownCommand=false}if(connection.listeners("packet").length){connection.emit("packet",packet.clone(),knownCommand,commandCode)}else if(!knownCommand){console.log("Unknown command:",commandCode)}return _ServerHandshake.prototype.dispatchCommands}};module2.exports=ServerHandshake}});var require_charsets=__commonJS({"node_modules/mysql2/lib/constants/charsets.js"(exports2){"use strict";exports2.BIG5_CHINESE_CI=1;exports2.LATIN2_CZECH_CS=2;exports2.DEC8_SWEDISH_CI=3;exports2.CP850_GENERAL_CI=4;exports2.LATIN1_GERMAN1_CI=5;exports2.HP8_ENGLISH_CI=6;exports2.KOI8R_GENERAL_CI=7;exports2.LATIN1_SWEDISH_CI=8;exports2.LATIN2_GENERAL_CI=9;exports2.SWE7_SWEDISH_CI=10;exports2.ASCII_GENERAL_CI=11;exports2.UJIS_JAPANESE_CI=12;exports2.SJIS_JAPANESE_CI=13;exports2.CP1251_BULGARIAN_CI=14;exports2.LATIN1_DANISH_CI=15;exports2.HEBREW_GENERAL_CI=16;exports2.TIS620_THAI_CI=18;exports2.EUCKR_KOREAN_CI=19;exports2.LATIN7_ESTONIAN_CS=20;exports2.LATIN2_HUNGARIAN_CI=21;exports2.KOI8U_GENERAL_CI=22;exports2.CP1251_UKRAINIAN_CI=23;exports2.GB2312_CHINESE_CI=24;exports2.GREEK_GENERAL_CI=25;exports2.CP1250_GENERAL_CI=26;exports2.LATIN2_CROATIAN_CI=27;exports2.GBK_CHINESE_CI=28;exports2.CP1257_LITHUANIAN_CI=29;exports2.LATIN5_TURKISH_CI=30;exports2.LATIN1_GERMAN2_CI=31;exports2.ARMSCII8_GENERAL_CI=32;exports2.UTF8_GENERAL_CI=33;exports2.CP1250_CZECH_CS=34;exports2.UCS2_GENERAL_CI=35;exports2.CP866_GENERAL_CI=36;exports2.KEYBCS2_GENERAL_CI=37;exports2.MACCE_GENERAL_CI=38;exports2.MACROMAN_GENERAL_CI=39;exports2.CP852_GENERAL_CI=40;exports2.LATIN7_GENERAL_CI=41;exports2.LATIN7_GENERAL_CS=42;exports2.MACCE_BIN=43;exports2.CP1250_CROATIAN_CI=44;exports2.UTF8MB4_GENERAL_CI=45;exports2.UTF8MB4_BIN=46;exports2.LATIN1_BIN=47;exports2.LATIN1_GENERAL_CI=48;exports2.LATIN1_GENERAL_CS=49;exports2.CP1251_BIN=50;exports2.CP1251_GENERAL_CI=51;exports2.CP1251_GENERAL_CS=52;exports2.MACROMAN_BIN=53;exports2.UTF16_GENERAL_CI=54;exports2.UTF16_BIN=55;exports2.UTF16LE_GENERAL_CI=56;exports2.CP1256_GENERAL_CI=57;exports2.CP1257_BIN=58;exports2.CP1257_GENERAL_CI=59;exports2.UTF32_GENERAL_CI=60;exports2.UTF32_BIN=61;exports2.UTF16LE_BIN=62;exports2.BINARY=63;exports2.ARMSCII8_BIN=64;exports2.ASCII_BIN=65;exports2.CP1250_BIN=66;exports2.CP1256_BIN=67;exports2.CP866_BIN=68;exports2.DEC8_BIN=69;exports2.GREEK_BIN=70;exports2.HEBREW_BIN=71;exports2.HP8_BIN=72;exports2.KEYBCS2_BIN=73;exports2.KOI8R_BIN=74;exports2.KOI8U_BIN=75;exports2.UTF8_TOLOWER_CI=76;exports2.LATIN2_BIN=77;exports2.LATIN5_BIN=78;exports2.LATIN7_BIN=79;exports2.CP850_BIN=80;exports2.CP852_BIN=81;exports2.SWE7_BIN=82;exports2.UTF8_BIN=83;exports2.BIG5_BIN=84;exports2.EUCKR_BIN=85;exports2.GB2312_BIN=86;exports2.GBK_BIN=87;exports2.SJIS_BIN=88;exports2.TIS620_BIN=89;exports2.UCS2_BIN=90;exports2.UJIS_BIN=91;exports2.GEOSTD8_GENERAL_CI=92;exports2.GEOSTD8_BIN=93;exports2.LATIN1_SPANISH_CI=94;exports2.CP932_JAPANESE_CI=95;exports2.CP932_BIN=96;exports2.EUCJPMS_JAPANESE_CI=97;exports2.EUCJPMS_BIN=98;exports2.CP1250_POLISH_CI=99;exports2.UTF16_UNICODE_CI=101;exports2.UTF16_ICELANDIC_CI=102;exports2.UTF16_LATVIAN_CI=103;exports2.UTF16_ROMANIAN_CI=104;exports2.UTF16_SLOVENIAN_CI=105;exports2.UTF16_POLISH_CI=106;exports2.UTF16_ESTONIAN_CI=107;exports2.UTF16_SPANISH_CI=108;exports2.UTF16_SWEDISH_CI=109;exports2.UTF16_TURKISH_CI=110;exports2.UTF16_CZECH_CI=111;exports2.UTF16_DANISH_CI=112;exports2.UTF16_LITHUANIAN_CI=113;exports2.UTF16_SLOVAK_CI=114;exports2.UTF16_SPANISH2_CI=115;exports2.UTF16_ROMAN_CI=116;exports2.UTF16_PERSIAN_CI=117;exports2.UTF16_ESPERANTO_CI=118;exports2.UTF16_HUNGARIAN_CI=119;exports2.UTF16_SINHALA_CI=120;exports2.UTF16_GERMAN2_CI=121;exports2.UTF16_CROATIAN_CI=122;exports2.UTF16_UNICODE_520_CI=123;exports2.UTF16_VIETNAMESE_CI=124;exports2.UCS2_UNICODE_CI=128;exports2.UCS2_ICELANDIC_CI=129;exports2.UCS2_LATVIAN_CI=130;exports2.UCS2_ROMANIAN_CI=131;exports2.UCS2_SLOVENIAN_CI=132;exports2.UCS2_POLISH_CI=133;exports2.UCS2_ESTONIAN_CI=134;exports2.UCS2_SPANISH_CI=135;exports2.UCS2_SWEDISH_CI=136;exports2.UCS2_TURKISH_CI=137;exports2.UCS2_CZECH_CI=138;exports2.UCS2_DANISH_CI=139;exports2.UCS2_LITHUANIAN_CI=140;exports2.UCS2_SLOVAK_CI=141;exports2.UCS2_SPANISH2_CI=142;exports2.UCS2_ROMAN_CI=143;exports2.UCS2_PERSIAN_CI=144;exports2.UCS2_ESPERANTO_CI=145;exports2.UCS2_HUNGARIAN_CI=146;exports2.UCS2_SINHALA_CI=147;exports2.UCS2_GERMAN2_CI=148;exports2.UCS2_CROATIAN_CI=149;exports2.UCS2_UNICODE_520_CI=150;exports2.UCS2_VIETNAMESE_CI=151;exports2.UCS2_GENERAL_MYSQL500_CI=159;exports2.UTF32_UNICODE_CI=160;exports2.UTF32_ICELANDIC_CI=161;exports2.UTF32_LATVIAN_CI=162;exports2.UTF32_ROMANIAN_CI=163;exports2.UTF32_SLOVENIAN_CI=164;exports2.UTF32_POLISH_CI=165;exports2.UTF32_ESTONIAN_CI=166;exports2.UTF32_SPANISH_CI=167;exports2.UTF32_SWEDISH_CI=168;exports2.UTF32_TURKISH_CI=169;exports2.UTF32_CZECH_CI=170;exports2.UTF32_DANISH_CI=171;exports2.UTF32_LITHUANIAN_CI=172;exports2.UTF32_SLOVAK_CI=173;exports2.UTF32_SPANISH2_CI=174;exports2.UTF32_ROMAN_CI=175;exports2.UTF32_PERSIAN_CI=176;exports2.UTF32_ESPERANTO_CI=177;exports2.UTF32_HUNGARIAN_CI=178;exports2.UTF32_SINHALA_CI=179;exports2.UTF32_GERMAN2_CI=180;exports2.UTF32_CROATIAN_CI=181;exports2.UTF32_UNICODE_520_CI=182;exports2.UTF32_VIETNAMESE_CI=183;exports2.UTF8_UNICODE_CI=192;exports2.UTF8_ICELANDIC_CI=193;exports2.UTF8_LATVIAN_CI=194;exports2.UTF8_ROMANIAN_CI=195;exports2.UTF8_SLOVENIAN_CI=196;exports2.UTF8_POLISH_CI=197;exports2.UTF8_ESTONIAN_CI=198;exports2.UTF8_SPANISH_CI=199;exports2.UTF8_SWEDISH_CI=200;exports2.UTF8_TURKISH_CI=201;exports2.UTF8_CZECH_CI=202;exports2.UTF8_DANISH_CI=203;exports2.UTF8_LITHUANIAN_CI=204;exports2.UTF8_SLOVAK_CI=205;exports2.UTF8_SPANISH2_CI=206;exports2.UTF8_ROMAN_CI=207;exports2.UTF8_PERSIAN_CI=208;exports2.UTF8_ESPERANTO_CI=209;exports2.UTF8_HUNGARIAN_CI=210;exports2.UTF8_SINHALA_CI=211;exports2.UTF8_GERMAN2_CI=212;exports2.UTF8_CROATIAN_CI=213;exports2.UTF8_UNICODE_520_CI=214;exports2.UTF8_VIETNAMESE_CI=215;exports2.UTF8_GENERAL_MYSQL500_CI=223;exports2.UTF8MB4_UNICODE_CI=224;exports2.UTF8MB4_ICELANDIC_CI=225;exports2.UTF8MB4_LATVIAN_CI=226;exports2.UTF8MB4_ROMANIAN_CI=227;exports2.UTF8MB4_SLOVENIAN_CI=228;exports2.UTF8MB4_POLISH_CI=229;exports2.UTF8MB4_ESTONIAN_CI=230;exports2.UTF8MB4_SPANISH_CI=231;exports2.UTF8MB4_SWEDISH_CI=232;exports2.UTF8MB4_TURKISH_CI=233;exports2.UTF8MB4_CZECH_CI=234;exports2.UTF8MB4_DANISH_CI=235;exports2.UTF8MB4_LITHUANIAN_CI=236;exports2.UTF8MB4_SLOVAK_CI=237;exports2.UTF8MB4_SPANISH2_CI=238;exports2.UTF8MB4_ROMAN_CI=239;exports2.UTF8MB4_PERSIAN_CI=240;exports2.UTF8MB4_ESPERANTO_CI=241;exports2.UTF8MB4_HUNGARIAN_CI=242;exports2.UTF8MB4_SINHALA_CI=243;exports2.UTF8MB4_GERMAN2_CI=244;exports2.UTF8MB4_CROATIAN_CI=245;exports2.UTF8MB4_UNICODE_520_CI=246;exports2.UTF8MB4_VIETNAMESE_CI=247;exports2.GB18030_CHINESE_CI=248;exports2.GB18030_BIN=249;exports2.GB18030_UNICODE_520_CI=250;exports2.UTF8_GENERAL50_CI=253;exports2.UTF8MB4_0900_AI_CI=255;exports2.UTF8MB4_DE_PB_0900_AI_CI=256;exports2.UTF8MB4_IS_0900_AI_CI=257;exports2.UTF8MB4_LV_0900_AI_CI=258;exports2.UTF8MB4_RO_0900_AI_CI=259;exports2.UTF8MB4_SL_0900_AI_CI=260;exports2.UTF8MB4_PL_0900_AI_CI=261;exports2.UTF8MB4_ET_0900_AI_CI=262;exports2.UTF8MB4_ES_0900_AI_CI=263;exports2.UTF8MB4_SV_0900_AI_CI=264;exports2.UTF8MB4_TR_0900_AI_CI=265;exports2.UTF8MB4_CS_0900_AI_CI=266;exports2.UTF8MB4_DA_0900_AI_CI=267;exports2.UTF8MB4_LT_0900_AI_CI=268;exports2.UTF8MB4_SK_0900_AI_CI=269;exports2.UTF8MB4_ES_TRAD_0900_AI_CI=270;exports2.UTF8MB4_LA_0900_AI_CI=271;exports2.UTF8MB4_EO_0900_AI_CI=273;exports2.UTF8MB4_HU_0900_AI_CI=274;exports2.UTF8MB4_HR_0900_AI_CI=275;exports2.UTF8MB4_VI_0900_AI_CI=277;exports2.UTF8MB4_0900_AS_CS=278;exports2.UTF8MB4_DE_PB_0900_AS_CS=279;exports2.UTF8MB4_IS_0900_AS_CS=280;exports2.UTF8MB4_LV_0900_AS_CS=281;exports2.UTF8MB4_RO_0900_AS_CS=282;exports2.UTF8MB4_SL_0900_AS_CS=283;exports2.UTF8MB4_PL_0900_AS_CS=284;exports2.UTF8MB4_ET_0900_AS_CS=285;exports2.UTF8MB4_ES_0900_AS_CS=286;exports2.UTF8MB4_SV_0900_AS_CS=287;exports2.UTF8MB4_TR_0900_AS_CS=288;exports2.UTF8MB4_CS_0900_AS_CS=289;exports2.UTF8MB4_DA_0900_AS_CS=290;exports2.UTF8MB4_LT_0900_AS_CS=291;exports2.UTF8MB4_SK_0900_AS_CS=292;exports2.UTF8MB4_ES_TRAD_0900_AS_CS=293;exports2.UTF8MB4_LA_0900_AS_CS=294;exports2.UTF8MB4_EO_0900_AS_CS=296;exports2.UTF8MB4_HU_0900_AS_CS=297;exports2.UTF8MB4_HR_0900_AS_CS=298;exports2.UTF8MB4_VI_0900_AS_CS=300;exports2.UTF8MB4_JA_0900_AS_CS=303;exports2.UTF8MB4_JA_0900_AS_CS_KS=304;exports2.UTF8MB4_0900_AS_CI=305;exports2.UTF8MB4_RU_0900_AI_CI=306;exports2.UTF8MB4_RU_0900_AS_CS=307;exports2.UTF8MB4_ZH_0900_AS_CS=308;exports2.UTF8MB4_0900_BIN=309;exports2.BIG5=exports2.BIG5_CHINESE_CI;exports2.DEC8=exports2.DEC8_SWEDISH_CI;exports2.CP850=exports2.CP850_GENERAL_CI;exports2.HP8=exports2.HP8_ENGLISH_CI;exports2.KOI8R=exports2.KOI8R_GENERAL_CI;exports2.LATIN1=exports2.LATIN1_SWEDISH_CI;exports2.LATIN2=exports2.LATIN2_GENERAL_CI;exports2.SWE7=exports2.SWE7_SWEDISH_CI;exports2.ASCII=exports2.ASCII_GENERAL_CI;exports2.UJIS=exports2.UJIS_JAPANESE_CI;exports2.SJIS=exports2.SJIS_JAPANESE_CI;exports2.HEBREW=exports2.HEBREW_GENERAL_CI;exports2.TIS620=exports2.TIS620_THAI_CI;exports2.EUCKR=exports2.EUCKR_KOREAN_CI;exports2.KOI8U=exports2.KOI8U_GENERAL_CI;exports2.GB2312=exports2.GB2312_CHINESE_CI;exports2.GREEK=exports2.GREEK_GENERAL_CI;exports2.CP1250=exports2.CP1250_GENERAL_CI;exports2.GBK=exports2.GBK_CHINESE_CI;exports2.LATIN5=exports2.LATIN5_TURKISH_CI;exports2.ARMSCII8=exports2.ARMSCII8_GENERAL_CI;exports2.UTF8=exports2.UTF8_GENERAL_CI;exports2.UCS2=exports2.UCS2_GENERAL_CI;exports2.CP866=exports2.CP866_GENERAL_CI;exports2.KEYBCS2=exports2.KEYBCS2_GENERAL_CI;exports2.MACCE=exports2.MACCE_GENERAL_CI;exports2.MACROMAN=exports2.MACROMAN_GENERAL_CI;exports2.CP852=exports2.CP852_GENERAL_CI;exports2.LATIN7=exports2.LATIN7_GENERAL_CI;exports2.UTF8MB4=exports2.UTF8MB4_GENERAL_CI;exports2.CP1251=exports2.CP1251_GENERAL_CI;exports2.UTF16=exports2.UTF16_GENERAL_CI;exports2.UTF16LE=exports2.UTF16LE_GENERAL_CI;exports2.CP1256=exports2.CP1256_GENERAL_CI;exports2.CP1257=exports2.CP1257_GENERAL_CI;exports2.UTF32=exports2.UTF32_GENERAL_CI;exports2.CP932=exports2.CP932_JAPANESE_CI;exports2.EUCJPMS=exports2.EUCJPMS_JAPANESE_CI;exports2.GB18030=exports2.GB18030_CHINESE_CI;exports2.GEOSTD8=exports2.GEOSTD8_GENERAL_CI}});var require_helpers=__commonJS({"node_modules/mysql2/lib/helpers.js"(exports2){"use strict";function srcEscape(str2){return JSON.stringify({[str2]:1}).slice(1,-3)}exports2.srcEscape=srcEscape;var highlightFn;var cardinalRecommended=false;try{const REQUIRE_TERMINATOR="";highlightFn=require(`cardinal${REQUIRE_TERMINATOR}`).highlight}catch(err){highlightFn=text=>{if(!cardinalRecommended){console.log("For nicer debug output consider install cardinal@^2.0.0");cardinalRecommended=true}return text}}function printDebugWithCode(msg,code){console.log(`

${msg}:
`);console.log(`${highlightFn(code)}
`)}exports2.printDebugWithCode=printDebugWithCode;function typeMatch(type2,list,Types){if(Array.isArray(list)){return list.some(t=>type2===Types[t])}return!!list}exports2.typeMatch=typeMatch;var privateObjectProps=new Set(["__defineGetter__","__defineSetter__","__lookupGetter__","__lookupSetter__","__proto__"]);exports2.privateObjectProps=privateObjectProps;var fieldEscape=field=>{if(privateObjectProps.has(field)){throw new Error(`The field name (${field}) can't be the same as an object's private property.`)}return srcEscape(field)};exports2.fieldEscape=fieldEscape}});var require_is_property=__commonJS({"node_modules/is-property/is-property.js"(exports2,module2){"use strict";function isProperty(str2){return/^[$A-Z\_a-z\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0\u08a2-\u08ac\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191c\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19c1-\u19c7\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua697\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa80-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc][$A-Z\_a-z\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0\u08a2-\u08ac\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191c\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19c1-\u19c7\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua697\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa80-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc0-9\u0300-\u036f\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08e4-\u08fe\u0900-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c01-\u0c03\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c82\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d02\u0d03\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d82\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19b0-\u19c0\u19c8\u19c9\u19d0-\u19d9\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf2-\u1cf4\u1dc0-\u1de6\u1dfc-\u1dff\u200c\u200d\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua880\ua881\ua8b4-\ua8c4\ua8d0-\ua8d9\ua8e0-\ua8f1\ua900-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f]*$/.test(str2)}module2.exports=isProperty}});var require_generate_function=__commonJS({"node_modules/generate-function/index.js"(exports2,module2){var util4=require("util");var isProperty=require_is_property();var INDENT_START=/[\{\[]/;var INDENT_END=/[\}\]]/;var RESERVED=["do","if","in","for","let","new","try","var","case","else","enum","eval","null","this","true","void","with","await","break","catch","class","const","false","super","throw","while","yield","delete","export","import","public","return","static","switch","typeof","default","extends","finally","package","private","continue","debugger","function","arguments","interface","protected","implements","instanceof","NaN","undefined"];var RESERVED_MAP={};for(i=0;i<RESERVED.length;i++){RESERVED_MAP[RESERVED[i]]=true}var i;var isVariable=function(name){return isProperty(name)&&!RESERVED_MAP.hasOwnProperty(name)};var formats={s:function(s){return""+s},d:function(d){return""+Number(d)},o:function(o){return JSON.stringify(o)}};var genfun=function(){var lines=[];var indent=0;var vars={};var push=function(str2){var spaces="";while(spaces.length<indent*2)spaces+="  ";lines.push(spaces+str2)};var pushLine=function(line2){if(INDENT_END.test(line2.trim()[0])&&INDENT_START.test(line2[line2.length-1])){indent--;push(line2);indent++;return}if(INDENT_START.test(line2[line2.length-1])){push(line2);indent++;return}if(INDENT_END.test(line2.trim()[0])){indent--;push(line2);return}push(line2)};var line=function(fmt){if(!fmt)return line;if(arguments.length===1&&fmt.indexOf("\n")>-1){var lines2=fmt.trim().split("\n");for(var i2=0;i2<lines2.length;i2++){pushLine(lines2[i2].trim())}}else{pushLine(util4.format.apply(util4,arguments))}return line};line.scope={};line.formats=formats;line.sym=function(name){if(!name||!isVariable(name))name="tmp";if(!vars[name])vars[name]=0;return name+(vars[name]++||"")};line.property=function(obj,name){if(arguments.length===1){name=obj;obj=""}name=name+"";if(isProperty(name))return obj?obj+"."+name:name;return obj?obj+"["+JSON.stringify(name)+"]":JSON.stringify(name)};line.toString=function(){return lines.join("\n")};line.toFunction=function(scope){if(!scope)scope={};var src="return ("+line.toString()+")";Object.keys(line.scope).forEach(function(key){if(!scope[key])scope[key]=line.scope[key]});var keys2=Object.keys(scope).map(function(key){return key});var vals=keys2.map(function(key){return scope[key]});return Function.apply(null,keys2.concat(src)).apply(null,vals)};if(arguments.length)line.apply(null,arguments);return line};genfun.formats=formats;module2.exports=genfun}});var require_text_parser=__commonJS({"node_modules/mysql2/lib/parsers/text_parser.js"(exports2,module2){"use strict";var Types=require_types();var Charsets=require_charsets();var helpers=require_helpers();var genFunc=require_generate_function();var parserCache=require_parser_cache();var typeNames=[];for(const t in Types){typeNames[Types[t]]=t}function readCodeFor(type2,charset,encodingExpr,config,options){const supportBigNumbers=Boolean(options.supportBigNumbers||config.supportBigNumbers);const bigNumberStrings=Boolean(options.bigNumberStrings||config.bigNumberStrings);const timezone2=options.timezone||config.timezone;const dateStrings=options.dateStrings||config.dateStrings;switch(type2){case Types.TINY:case Types.SHORT:case Types.LONG:case Types.INT24:case Types.YEAR:return"packet.parseLengthCodedIntNoBigCheck()";case Types.LONGLONG:if(supportBigNumbers&&bigNumberStrings){return"packet.parseLengthCodedIntString()"}return`packet.parseLengthCodedInt(${supportBigNumbers})`;case Types.FLOAT:case Types.DOUBLE:return"packet.parseLengthCodedFloat()";case Types.NULL:return"packet.readLengthCodedNumber()";case Types.DECIMAL:case Types.NEWDECIMAL:if(config.decimalNumbers){return"packet.parseLengthCodedFloat()"}return'packet.readLengthCodedString("ascii")';case Types.DATE:if(helpers.typeMatch(type2,dateStrings,Types)){return'packet.readLengthCodedString("ascii")'}return`packet.parseDate(${helpers.srcEscape(timezone2)})`;case Types.DATETIME:case Types.TIMESTAMP:if(helpers.typeMatch(type2,dateStrings,Types)){return'packet.readLengthCodedString("ascii")'}return`packet.parseDateTime(${helpers.srcEscape(timezone2)})`;case Types.TIME:return'packet.readLengthCodedString("ascii")';case Types.GEOMETRY:return"packet.parseGeometryValue()";case Types.VECTOR:return"packet.parseVector()";case Types.JSON:return config.jsonStrings?'packet.readLengthCodedString("utf8")':'JSON.parse(packet.readLengthCodedString("utf8"))';default:if(charset===Charsets.BINARY){return"packet.readLengthCodedBuffer()"}return`packet.readLengthCodedString(${encodingExpr})`}}function compile(fields,options,config){if(typeof config.typeCast==="function"&&typeof options.typeCast!=="function"){options.typeCast=config.typeCast}function wrap4(field,_this){return{type:typeNames[field.columnType],length:field.columnLength,db:field.schema,table:field.table,name:field.name,string:function(encoding=field.encoding){if(field.columnType===Types.JSON&&encoding===field.encoding){console.warn(`typeCast: JSON column "${field.name}" is interpreted as BINARY by default, recommended to manually set utf8 encoding: \`field.string("utf8")\``)}return _this.packet.readLengthCodedString(encoding)},buffer:function(){return _this.packet.readLengthCodedBuffer()},geometry:function(){return _this.packet.parseGeometryValue()}}}const parserFn=genFunc();parserFn("(function () {")("return class TextRow {");parserFn("constructor(fields) {");if(typeof options.typeCast==="function"){parserFn("const _this = this;");parserFn("for(let i=0; i<fields.length; ++i) {");parserFn("this[`wrap${i}`] = wrap(fields[i], _this);");parserFn("}")}parserFn("}");parserFn("next(packet, fields, options) {");parserFn("this.packet = packet;");if(options.rowsAsArray){parserFn(`const result = new Array(${fields.length});`)}else{parserFn("const result = {};")}const resultTables={};let resultTablesArray=[];if(options.nestTables===true){for(let i=0;i<fields.length;i++){resultTables[fields[i].table]=1}resultTablesArray=Object.keys(resultTables);for(let i=0;i<resultTablesArray.length;i++){parserFn(`result[${helpers.fieldEscape(resultTablesArray[i])}] = {};`)}}let lvalue="";let fieldName="";let tableName="";for(let i=0;i<fields.length;i++){fieldName=helpers.fieldEscape(fields[i].name);if(typeof options.nestTables==="string"){lvalue=`result[${helpers.fieldEscape(fields[i].table+options.nestTables+fields[i].name)}]`}else if(options.nestTables===true){tableName=helpers.fieldEscape(fields[i].table);parserFn(`if (!result[${tableName}]) result[${tableName}] = {};`);lvalue=`result[${tableName}][${fieldName}]`}else if(options.rowsAsArray){lvalue=`result[${i.toString(10)}]`}else{lvalue=`result[${fieldName}]`}if(options.typeCast===false){parserFn(`${lvalue} = packet.readLengthCodedBuffer();`)}else{const encodingExpr=`fields[${i}].encoding`;const readCode=readCodeFor(fields[i].columnType,fields[i].characterSet,encodingExpr,config,options);if(typeof options.typeCast==="function"){parserFn(`${lvalue} = options.typeCast(this.wrap${i}, function() { return ${readCode} });`)}else{parserFn(`${lvalue} = ${readCode};`)}}}parserFn("return result;");parserFn("}");parserFn("};")("})()");if(config.debug){helpers.printDebugWithCode("Compiled text protocol row parser",parserFn.toString())}if(typeof options.typeCast==="function"){return parserFn.toFunction({wrap:wrap4})}return parserFn.toFunction()}function getTextParser(fields,options,config){return parserCache.getParser("text",fields,options,config,compile)}module2.exports=getTextParser}});var require_query2=__commonJS({"node_modules/mysql2/lib/commands/query.js"(exports2,module2){"use strict";var process6=require("process");var Timers=require("timers");var Readable2=require("stream").Readable;var Command2=require_command2();var Packets=require_packets();var getTextParser=require_text_parser();var ServerStatus=require_server_status();var EmptyPacket=new Packets.Packet(0,Buffer.allocUnsafe(4),0,4);var Query=class _Query extends Command2{constructor(options,callback){super();this.sql=options.sql;this.values=options.values;this._queryOptions=options;this.namedPlaceholders=options.namedPlaceholders||false;this.onResult=callback;this.timeout=options.timeout;this.queryTimeout=null;this._fieldCount=0;this._rowParser=null;this._fields=[];this._rows=[];this._receivedFieldsCount=0;this._resultIndex=0;this._localStream=null;this._unpipeStream=function(){};this._streamFactory=options.infileStreamFactory;this._connection=null}then(){const err="You have tried to call .then(), .catch(), or invoked await on the result of query that is not a promise, which is a programming error. Try calling con.promise().query(), or require('mysql2/promise') instead of 'mysql2' for a promise-compatible version of the query interface. To learn how to use async/await or Promises check out documentation at https://sidorares.github.io/node-mysql2/docs#using-promise-wrapper, or the mysql2 documentation at https://sidorares.github.io/node-mysql2/docs/documentation/promise-wrapper";console.log(err);throw new Error(err)}start(_packet,connection){if(connection.config.debug){console.log("        Sending query command: %s",this.sql)}this._connection=connection;this.options=Object.assign({},connection.config,this._queryOptions);this._setTimeout();const cmdPacket=new Packets.Query(this.sql,connection.config.charsetNumber);connection.writePacket(cmdPacket.toPacket(1));return _Query.prototype.resultsetHeader}done(){this._unpipeStream();if(this.timeout&&!this.queryTimeout){return null}if(this.queryTimeout){Timers.clearTimeout(this.queryTimeout);this.queryTimeout=null}if(this.onResult){let rows,fields;if(this._resultIndex===0){rows=this._rows[0];fields=this._fields[0]}else{rows=this._rows;fields=this._fields}if(fields){process6.nextTick(()=>{this.onResult(null,rows,fields)})}else{process6.nextTick(()=>{this.onResult(null,rows)})}}return null}doneInsert(rs){if(this._localStreamError){if(this.onResult){this.onResult(this._localStreamError,rs)}else{this.emit("error",this._localStreamError)}return null}this._rows.push(rs);this._fields.push(void 0);this.emit("fields",void 0);this.emit("result",rs);if(rs.serverStatus&ServerStatus.SERVER_MORE_RESULTS_EXISTS){this._resultIndex++;return this.resultsetHeader}return this.done()}resultsetHeader(packet,connection){const rs=new Packets.ResultSetHeader(packet,connection);this._fieldCount=rs.fieldCount;if(connection.config.debug){console.log(`        Resultset header received, expecting ${rs.fieldCount} column definition packets`)}if(this._fieldCount===0){return this.doneInsert(rs)}if(this._fieldCount===null){return this._streamLocalInfile(connection,rs.infileName)}this._receivedFieldsCount=0;this._rows.push([]);this._fields.push([]);return this.readField}_streamLocalInfile(connection,path27){if(this._streamFactory){this._localStream=this._streamFactory(path27)}else{this._localStreamError=new Error(`As a result of LOCAL INFILE command server wants to read ${path27} file, but as of v2.0 you must provide streamFactory option returning ReadStream.`);connection.writePacket(EmptyPacket);return this.infileOk}const onConnectionError=()=>{this._unpipeStream()};const onDrain=()=>{this._localStream.resume()};const onPause=()=>{this._localStream.pause()};const onData=function(data){const dataWithHeader=Buffer.allocUnsafe(data.length+4);data.copy(dataWithHeader,4);connection.writePacket(new Packets.Packet(0,dataWithHeader,0,dataWithHeader.length))};const onEnd=()=>{connection.removeListener("error",onConnectionError);connection.writePacket(EmptyPacket)};const onError=err=>{this._localStreamError=err;connection.removeListener("error",onConnectionError);connection.writePacket(EmptyPacket)};this._unpipeStream=()=>{connection.stream.removeListener("pause",onPause);connection.stream.removeListener("drain",onDrain);this._localStream.removeListener("data",onData);this._localStream.removeListener("end",onEnd);this._localStream.removeListener("error",onError)};connection.stream.on("pause",onPause);connection.stream.on("drain",onDrain);this._localStream.on("data",onData);this._localStream.on("end",onEnd);this._localStream.on("error",onError);connection.once("error",onConnectionError);return this.infileOk}readField(packet,connection){this._receivedFieldsCount++;if(this._fields[this._resultIndex].length!==this._fieldCount){const field=new Packets.ColumnDefinition(packet,connection.clientEncoding);this._fields[this._resultIndex].push(field);if(connection.config.debug){console.log("        Column definition:");console.log(`          name: ${field.name}`);console.log(`          type: ${field.columnType}`);console.log(`         flags: ${field.flags}`)}}if(this._receivedFieldsCount===this._fieldCount){const fields=this._fields[this._resultIndex];this.emit("fields",fields);this._rowParser=new(getTextParser(fields,this.options,connection.config))(fields);return _Query.prototype.fieldsEOF}return _Query.prototype.readField}fieldsEOF(packet,connection){if(!packet.isEOF()){return connection.protocolError("Expected EOF packet")}return this.row}row(packet,_connection){if(packet.isEOF()){const status=packet.eofStatusFlags();const moreResults=status&ServerStatus.SERVER_MORE_RESULTS_EXISTS;if(moreResults){this._resultIndex++;return _Query.prototype.resultsetHeader}return this.done()}let row;try{row=this._rowParser.next(packet,this._fields[this._resultIndex],this.options)}catch(err){this._localStreamError=err;return this.doneInsert(null)}if(this.onResult){this._rows[this._resultIndex].push(row)}else{this.emit("result",row,this._resultIndex)}return _Query.prototype.row}infileOk(packet,connection){const rs=new Packets.ResultSetHeader(packet,connection);return this.doneInsert(rs)}stream(options){options=options||{};options.objectMode=true;const stream3=new Readable2(options);stream3._read=()=>{this._connection&&this._connection.resume()};this.on("result",(row,resultSetIndex)=>{if(!stream3.push(row)){this._connection.pause()}stream3.emit("result",row,resultSetIndex)});this.on("error",err=>{stream3.emit("error",err)});this.on("end",()=>{stream3.push(null)});this.on("fields",fields=>{stream3.emit("fields",fields)});stream3.on("end",()=>{stream3.emit("close")});return stream3}_setTimeout(){if(this.timeout){const timeoutHandler=this._handleTimeoutError.bind(this);this.queryTimeout=Timers.setTimeout(timeoutHandler,this.timeout)}}_handleTimeoutError(){if(this.queryTimeout){Timers.clearTimeout(this.queryTimeout);this.queryTimeout=null}const err=new Error("Query inactivity timeout");err.errorno="PROTOCOL_SEQUENCE_TIMEOUT";err.code="PROTOCOL_SEQUENCE_TIMEOUT";err.syscall="query";if(this.onResult){this.onResult(err)}else{this.emit("error",err)}}};Query.prototype.catch=Query.prototype.then;module2.exports=Query}});var require_close_statement2=__commonJS({"node_modules/mysql2/lib/commands/close_statement.js"(exports2,module2){"use strict";var Command2=require_command2();var Packets=require_packets();var CloseStatement=class extends Command2{constructor(id){super();this.id=id}start(packet,connection){connection.writePacket(new Packets.CloseStatement(this.id).toPacket(1));return null}};module2.exports=CloseStatement}});var require_binary_parser=__commonJS({"node_modules/mysql2/lib/parsers/binary_parser.js"(exports2,module2){"use strict";var FieldFlags=require_field_flags();var Charsets=require_charsets();var Types=require_types();var helpers=require_helpers();var genFunc=require_generate_function();var parserCache=require_parser_cache();var typeNames=[];for(const t in Types){typeNames[Types[t]]=t}function readCodeFor(field,config,options,fieldNum){const supportBigNumbers=Boolean(options.supportBigNumbers||config.supportBigNumbers);const bigNumberStrings=Boolean(options.bigNumberStrings||config.bigNumberStrings);const timezone2=options.timezone||config.timezone;const dateStrings=options.dateStrings||config.dateStrings;const unsigned=field.flags&FieldFlags.UNSIGNED;switch(field.columnType){case Types.TINY:return unsigned?"packet.readInt8();":"packet.readSInt8();";case Types.SHORT:return unsigned?"packet.readInt16();":"packet.readSInt16();";case Types.LONG:case Types.INT24:return unsigned?"packet.readInt32();":"packet.readSInt32();";case Types.YEAR:return"packet.readInt16()";case Types.FLOAT:return"packet.readFloat();";case Types.DOUBLE:return"packet.readDouble();";case Types.NULL:return"null;";case Types.DATE:case Types.DATETIME:case Types.TIMESTAMP:case Types.NEWDATE:if(helpers.typeMatch(field.columnType,dateStrings,Types)){return`packet.readDateTimeString(${parseInt(field.decimals,10)}, ${null}, ${field.columnType});`}return`packet.readDateTime(${helpers.srcEscape(timezone2)});`;case Types.TIME:return"packet.readTimeString()";case Types.DECIMAL:case Types.NEWDECIMAL:if(config.decimalNumbers){return"packet.parseLengthCodedFloat();"}return'packet.readLengthCodedString("ascii");';case Types.GEOMETRY:return"packet.parseGeometryValue();";case Types.VECTOR:return"packet.parseVector()";case Types.JSON:return config.jsonStrings?'packet.readLengthCodedString("utf8")':'JSON.parse(packet.readLengthCodedString("utf8"));';case Types.LONGLONG:if(!supportBigNumbers){return unsigned?"packet.readInt64JSNumber();":"packet.readSInt64JSNumber();"}if(bigNumberStrings){return unsigned?"packet.readInt64String();":"packet.readSInt64String();"}return unsigned?"packet.readInt64();":"packet.readSInt64();";default:if(field.characterSet===Charsets.BINARY){return"packet.readLengthCodedBuffer();"}return`packet.readLengthCodedString(fields[${fieldNum}].encoding)`}}function compile(fields,options,config){const parserFn=genFunc();const nullBitmapLength=Math.floor((fields.length+7+2)/8);function wrap4(field,packet){return{type:typeNames[field.columnType],length:field.columnLength,db:field.schema,table:field.table,name:field.name,string:function(encoding=field.encoding){if(field.columnType===Types.JSON&&encoding===field.encoding){console.warn(`typeCast: JSON column "${field.name}" is interpreted as BINARY by default, recommended to manually set utf8 encoding: \`field.string("utf8")\``)}if([Types.DATETIME,Types.NEWDATE,Types.TIMESTAMP,Types.DATE].includes(field.columnType)){return packet.readDateTimeString(parseInt(field.decimals,10))}if(field.columnType===Types.TINY){const unsigned=field.flags&FieldFlags.UNSIGNED;return String(unsigned?packet.readInt8():packet.readSInt8())}if(field.columnType===Types.TIME){return packet.readTimeString()}return packet.readLengthCodedString(encoding)},buffer:function(){return packet.readLengthCodedBuffer()},geometry:function(){return packet.parseGeometryValue()}}}parserFn("(function(){");parserFn("return class BinaryRow {");parserFn("constructor() {");parserFn("}");parserFn("next(packet, fields, options) {");if(options.rowsAsArray){parserFn(`const result = new Array(${fields.length});`)}else{parserFn("const result = {};")}if(typeof config.typeCast==="function"&&typeof options.typeCast!=="function"){options.typeCast=config.typeCast}parserFn("packet.readInt8();");for(let i=0;i<nullBitmapLength;++i){parserFn(`const nullBitmaskByte${i} = packet.readInt8();`)}let lvalue="";let currentFieldNullBit=4;let nullByteIndex=0;let fieldName="";let tableName="";for(let i=0;i<fields.length;i++){fieldName=helpers.fieldEscape(fields[i].name);if(typeof options.nestTables==="string"){lvalue=`result[${helpers.fieldEscape(fields[i].table+options.nestTables+fields[i].name)}]`}else if(options.nestTables===true){tableName=helpers.fieldEscape(fields[i].table);parserFn(`if (!result[${tableName}]) result[${tableName}] = {};`);lvalue=`result[${tableName}][${fieldName}]`}else if(options.rowsAsArray){lvalue=`result[${i.toString(10)}]`}else{lvalue=`result[${fieldName}]`}parserFn(`if (nullBitmaskByte${nullByteIndex} & ${currentFieldNullBit}) `);parserFn(`${lvalue} = null;`);parserFn("else {");if(options.typeCast===false){parserFn(`${lvalue} = packet.readLengthCodedBuffer();`)}else{const fieldWrapperVar=`fieldWrapper${i}`;parserFn(`const ${fieldWrapperVar} = wrap(fields[${i}], packet);`);const readCode=readCodeFor(fields[i],config,options,i);if(typeof options.typeCast==="function"){parserFn(`${lvalue} = options.typeCast(${fieldWrapperVar}, function() { return ${readCode} });`)}else{parserFn(`${lvalue} = ${readCode};`)}}parserFn("}");currentFieldNullBit*=2;if(currentFieldNullBit===256){currentFieldNullBit=1;nullByteIndex++}}parserFn("return result;");parserFn("}");parserFn("};")("})()");if(config.debug){helpers.printDebugWithCode("Compiled binary protocol row parser",parserFn.toString())}return parserFn.toFunction({wrap:wrap4})}function getBinaryParser(fields,options,config){return parserCache.getParser("binary",fields,options,config,compile)}module2.exports=getBinaryParser}});var require_execute2=__commonJS({"node_modules/mysql2/lib/commands/execute.js"(exports2,module2){"use strict";var Command2=require_command2();var Query=require_query2();var Packets=require_packets();var getBinaryParser=require_binary_parser();var Execute=class _Execute extends Command2{constructor(options,callback){super();this.statement=options.statement;this.sql=options.sql;this.values=options.values;this.onResult=callback;this.parameters=options.values;this.insertId=0;this.timeout=options.timeout;this.queryTimeout=null;this._rows=[];this._fields=[];this._result=[];this._fieldCount=0;this._rowParser=null;this._executeOptions=options;this._resultIndex=0;this._localStream=null;this._unpipeStream=function(){};this._streamFactory=options.infileStreamFactory;this._connection=null}buildParserFromFields(fields,connection){return getBinaryParser(fields,this.options,connection.config)}start(packet,connection){this._connection=connection;this.options=Object.assign({},connection.config,this._executeOptions);this._setTimeout();const executePacket=new Packets.Execute(this.statement.id,this.parameters,connection.config.charsetNumber,connection.config.timezone);try{connection.writePacket(executePacket.toPacket(1))}catch(error){this.onResult(error)}return _Execute.prototype.resultsetHeader}readField(packet,connection){let fields;const field=new Packets.ColumnDefinition(packet,connection.clientEncoding);this._receivedFieldsCount++;this._fields[this._resultIndex].push(field);if(this._receivedFieldsCount===this._fieldCount){fields=this._fields[this._resultIndex];this.emit("fields",fields,this._resultIndex);return _Execute.prototype.fieldsEOF}return _Execute.prototype.readField}fieldsEOF(packet,connection){if(!packet.isEOF()){return connection.protocolError("Expected EOF packet")}this._rowParser=new(this.buildParserFromFields(this._fields[this._resultIndex],connection));return _Execute.prototype.row}};Execute.prototype.done=Query.prototype.done;Execute.prototype.doneInsert=Query.prototype.doneInsert;Execute.prototype.resultsetHeader=Query.prototype.resultsetHeader;Execute.prototype._findOrCreateReadStream=Query.prototype._findOrCreateReadStream;Execute.prototype._streamLocalInfile=Query.prototype._streamLocalInfile;Execute.prototype._setTimeout=Query.prototype._setTimeout;Execute.prototype._handleTimeoutError=Query.prototype._handleTimeoutError;Execute.prototype.row=Query.prototype.row;Execute.prototype.stream=Query.prototype.stream;module2.exports=Execute}});var require_prepare=__commonJS({"node_modules/mysql2/lib/commands/prepare.js"(exports2,module2){"use strict";var Packets=require_packets();var Command2=require_command2();var CloseStatement=require_close_statement2();var Execute=require_execute2();var PreparedStatementInfo=class{constructor(query,id,columns,parameters,connection){this.query=query;this.id=id;this.columns=columns;this.parameters=parameters;this.rowParser=null;this._connection=connection}close(){return this._connection.addCommand(new CloseStatement(this.id))}execute(parameters,callback){if(typeof parameters==="function"){callback=parameters;parameters=[]}return this._connection.addCommand(new Execute({statement:this,values:parameters},callback))}};var Prepare=class _Prepare extends Command2{constructor(options,callback){super();this.query=options.sql;this.onResult=callback;this.id=0;this.fieldCount=0;this.parameterCount=0;this.fields=[];this.parameterDefinitions=[];this.options=options}start(packet,connection){const Connection=connection.constructor;this.key=Connection.statementKey(this.options);const statement=connection._statements.get(this.key);if(statement){if(this.onResult){this.onResult(null,statement)}return null}const cmdPacket=new Packets.PrepareStatement(this.query,connection.config.charsetNumber,this.options.values);connection.writePacket(cmdPacket.toPacket(1));return _Prepare.prototype.prepareHeader}prepareHeader(packet,connection){const header2=new Packets.PreparedStatementHeader(packet);this.id=header2.id;this.fieldCount=header2.fieldCount;this.parameterCount=header2.parameterCount;if(this.parameterCount>0){return _Prepare.prototype.readParameter}if(this.fieldCount>0){return _Prepare.prototype.readField}return this.prepareDone(connection)}readParameter(packet,connection){if(packet.isEOF()){if(this.fieldCount>0){return _Prepare.prototype.readField}return this.prepareDone(connection)}const def=new Packets.ColumnDefinition(packet,connection.clientEncoding);this.parameterDefinitions.push(def);if(this.parameterDefinitions.length===this.parameterCount){return _Prepare.prototype.parametersEOF}return this.readParameter}readField(packet,connection){if(packet.isEOF()){return this.prepareDone(connection)}const def=new Packets.ColumnDefinition(packet,connection.clientEncoding);this.fields.push(def);if(this.fields.length===this.fieldCount){return _Prepare.prototype.fieldsEOF}return _Prepare.prototype.readField}parametersEOF(packet,connection){if(!packet.isEOF()){return connection.protocolError("Expected EOF packet after parameters")}if(this.fieldCount>0){return _Prepare.prototype.readField}return this.prepareDone(connection)}fieldsEOF(packet,connection){if(!packet.isEOF()){return connection.protocolError("Expected EOF packet after fields")}return this.prepareDone(connection)}prepareDone(connection){const statement=new PreparedStatementInfo(this.query,this.id,this.fields,this.parameterDefinitions,connection);connection._statements.set(this.key,statement);if(this.onResult){this.onResult(null,statement)}return null}};module2.exports=Prepare}});var require_ping=__commonJS({"node_modules/mysql2/lib/commands/ping.js"(exports2,module2){"use strict";var Command2=require_command2();var CommandCode=require_commands();var Packet=require_packet();var Ping=class _Ping extends Command2{constructor(callback){super();this.onResult=callback}start(packet,connection){const ping=new Packet(0,Buffer.from([1,0,0,0,CommandCode.PING]),0,5);connection.writePacket(ping);return _Ping.prototype.pingResponse}pingResponse(){if(this.onResult){process.nextTick(this.onResult.bind(this))}return null}};module2.exports=Ping}});var require_register_slave2=__commonJS({"node_modules/mysql2/lib/commands/register_slave.js"(exports2,module2){"use strict";var Command2=require_command2();var Packets=require_packets();var RegisterSlave=class _RegisterSlave extends Command2{constructor(opts,callback){super();this.onResult=callback;this.opts=opts}start(packet,connection){const newPacket=new Packets.RegisterSlave(this.opts);connection.writePacket(newPacket.toPacket(1));return _RegisterSlave.prototype.registerResponse}registerResponse(){if(this.onResult){process.nextTick(this.onResult.bind(this))}return null}};module2.exports=RegisterSlave}});var require_binlog_query_statusvars=__commonJS({"node_modules/mysql2/lib/packets/binlog_query_statusvars.js"(exports2,module2){"use strict";var keys2={FLAGS2:0,SQL_MODE:1,CATALOG:2,AUTO_INCREMENT:3,CHARSET:4,TIME_ZONE:5,CATALOG_NZ:6,LC_TIME_NAMES:7,CHARSET_DATABASE:8,TABLE_MAP_FOR_UPDATE:9,MASTER_DATA_WRITTEN:10,INVOKERS:11,UPDATED_DB_NAMES:12,MICROSECONDS:3};module2.exports=function parseStatusVars(buffer){const result2={};let offset=0;let key,length,prevOffset;while(offset<buffer.length){key=buffer[offset++];switch(key){case keys2.FLAGS2:result2.flags=buffer.readUInt32LE(offset);offset+=4;break;case keys2.SQL_MODE:result2.sqlMode=buffer.readUInt32LE(offset);offset+=8;break;case keys2.CATALOG:length=buffer[offset++];result2.catalog=buffer.toString("utf8",offset,offset+length);offset+=length+1;break;case keys2.CHARSET:result2.clientCharset=buffer.readUInt16LE(offset);result2.connectionCollation=buffer.readUInt16LE(offset+2);result2.serverCharset=buffer.readUInt16LE(offset+4);offset+=6;break;case keys2.TIME_ZONE:length=buffer[offset++];result2.timeZone=buffer.toString("utf8",offset,offset+length);offset+=length;break;case keys2.CATALOG_NZ:length=buffer[offset++];result2.catalogNz=buffer.toString("utf8",offset,offset+length);offset+=length;break;case keys2.LC_TIME_NAMES:result2.lcTimeNames=buffer.readUInt16LE(offset);offset+=2;break;case keys2.CHARSET_DATABASE:result2.schemaCharset=buffer.readUInt16LE(offset);offset+=2;break;case keys2.TABLE_MAP_FOR_UPDATE:result2.mapForUpdate1=buffer.readUInt32LE(offset);result2.mapForUpdate2=buffer.readUInt32LE(offset+4);offset+=8;break;case keys2.MASTER_DATA_WRITTEN:result2.masterDataWritten=buffer.readUInt32LE(offset);offset+=4;break;case keys2.INVOKERS:length=buffer[offset++];result2.invokerUsername=buffer.toString("utf8",offset,offset+length);offset+=length;length=buffer[offset++];result2.invokerHostname=buffer.toString("utf8",offset,offset+length);offset+=length;break;case keys2.UPDATED_DB_NAMES:length=buffer[offset++];result2.updatedDBs=[];for(;length;--length){prevOffset=offset;while(buffer[offset++]&&offset<buffer.length){}result2.updatedDBs.push(buffer.toString("utf8",prevOffset,offset-1))}break;case keys2.MICROSECONDS:result2.microseconds=buffer.readInt16LE(offset)+(buffer[offset+2]<<16);offset+=3}}return result2}}});var require_binlog_dump2=__commonJS({"node_modules/mysql2/lib/commands/binlog_dump.js"(exports2,module2){"use strict";var Command2=require_command2();var Packets=require_packets();var eventParsers=[];var BinlogEventHeader=class{constructor(packet){this.timestamp=packet.readInt32();this.eventType=packet.readInt8();this.serverId=packet.readInt32();this.eventSize=packet.readInt32();this.logPos=packet.readInt32();this.flags=packet.readInt16()}};var BinlogDump=class _BinlogDump extends Command2{constructor(opts){super();this.opts=opts}start(packet,connection){const newPacket=new Packets.BinlogDump(this.opts);connection.writePacket(newPacket.toPacket(1));return _BinlogDump.prototype.binlogData}binlogData(packet){if(packet.isEOF()){this.emit("eof");return null}packet.readInt8();const header2=new BinlogEventHeader(packet);const EventParser=eventParsers[header2.eventType];let event;if(EventParser){event=new EventParser(packet)}else{event={name:"UNKNOWN"}}event.header=header2;this.emit("event",event);return _BinlogDump.prototype.binlogData}};var RotateEvent=class{constructor(packet){this.pposition=packet.readInt32();packet.readInt32();this.nextBinlog=packet.readString();this.name="RotateEvent"}};var FormatDescriptionEvent=class{constructor(packet){this.binlogVersion=packet.readInt16();this.serverVersion=packet.readString(50).replace(/\u0000.*/,"");this.createTimestamp=packet.readInt32();this.eventHeaderLength=packet.readInt8();this.eventsLength=packet.readBuffer();this.name="FormatDescriptionEvent"}};var QueryEvent=class{constructor(packet){const parseStatusVars=require_binlog_query_statusvars();this.slaveProxyId=packet.readInt32();this.executionTime=packet.readInt32();const schemaLength=packet.readInt8();this.errorCode=packet.readInt16();const statusVarsLength=packet.readInt16();const statusVars=packet.readBuffer(statusVarsLength);this.schema=packet.readString(schemaLength);packet.readInt8();this.statusVars=parseStatusVars(statusVars);this.query=packet.readString();this.name="QueryEvent"}};var XidEvent=class{constructor(packet){this.binlogVersion=packet.readInt16();this.xid=packet.readInt64();this.name="XidEvent"}};eventParsers[2]=QueryEvent;eventParsers[4]=RotateEvent;eventParsers[15]=FormatDescriptionEvent;eventParsers[16]=XidEvent;module2.exports=BinlogDump}});var require_change_user2=__commonJS({"node_modules/mysql2/lib/commands/change_user.js"(exports2,module2){"use strict";var Command2=require_command2();var Packets=require_packets();var ClientConstants=require_client();var ClientHandshake=require_client_handshake();var CharsetToEncoding=require_charset_encodings();var ChangeUser=class _ChangeUser extends Command2{constructor(options,callback){super();this.onResult=callback;this.user=options.user;this.password=options.password;this.password1=options.password;this.password2=options.password2;this.password3=options.password3;this.database=options.database;this.passwordSha1=options.passwordSha1;this.charsetNumber=options.charsetNumber;this.currentConfig=options.currentConfig;this.authenticationFactor=0}start(packet,connection){const newPacket=new Packets.ChangeUser({flags:connection.config.clientFlags,user:this.user,database:this.database,charsetNumber:this.charsetNumber,password:this.password,passwordSha1:this.passwordSha1,authPluginData1:connection._handshakePacket.authPluginData1,authPluginData2:connection._handshakePacket.authPluginData2});this.currentConfig.user=this.user;this.currentConfig.password=this.password;this.currentConfig.database=this.database;this.currentConfig.charsetNumber=this.charsetNumber;connection.clientEncoding=CharsetToEncoding[this.charsetNumber];connection._statements.clear();connection.writePacket(newPacket.toPacket());const multiFactorAuthentication=connection.serverCapabilityFlags&ClientConstants.MULTI_FACTOR_AUTHENTICATION;if(multiFactorAuthentication){this.authenticationFactor=1}return _ChangeUser.prototype.handshakeResult}};ChangeUser.prototype.handshakeResult=ClientHandshake.prototype.handshakeResult;ChangeUser.prototype.calculateNativePasswordAuthToken=ClientHandshake.prototype.calculateNativePasswordAuthToken;module2.exports=ChangeUser}});var require_quit=__commonJS({"node_modules/mysql2/lib/commands/quit.js"(exports2,module2){"use strict";var Command2=require_command2();var CommandCode=require_commands();var Packet=require_packet();var Quit=class extends Command2{constructor(callback){super();this.onResult=callback}start(packet,connection){connection._closing=true;const quit=new Packet(0,Buffer.from([1,0,0,0,CommandCode.QUIT]),0,5);if(this.onResult){this.onResult()}connection.writePacket(quit);return null}};module2.exports=Quit}});var require_commands2=__commonJS({"node_modules/mysql2/lib/commands/index.js"(exports2,module2){"use strict";var ClientHandshake=require_client_handshake();var ServerHandshake=require_server_handshake();var Query=require_query2();var Prepare=require_prepare();var CloseStatement=require_close_statement2();var Execute=require_execute2();var Ping=require_ping();var RegisterSlave=require_register_slave2();var BinlogDump=require_binlog_dump2();var ChangeUser=require_change_user2();var Quit=require_quit();module2.exports={ClientHandshake,ServerHandshake,Query,Prepare,CloseStatement,Execute,Ping,RegisterSlave,BinlogDump,ChangeUser,Quit}}});var require_package2=__commonJS({"node_modules/mysql2/package.json"(exports2,module2){module2.exports={name:"mysql2",version:"3.12.0",description:"fast mysql driver. Implements core protocol, prepared statements, ssl and compression in native JS",main:"index.js",typings:"typings/mysql/index",type:"commonjs",scripts:{lint:"npm run lint:docs && npm run lint:code","lint:code":'eslint index.js promise.js index.d.ts promise.d.ts "typings/**/*.ts" "lib/**/*.js" "test/**/*.{js,cjs,mjs,ts}" "benchmarks/**/*.js"',"lint:docs":"eslint Contributing.md README.md","lint:typings":"npx prettier --check ./typings","lint:tests":"npx prettier --check ./test",test:"poku -d test/esm test/unit test/integration","test:bun":"poku -d --bun test/esm test/unit test/integration","test:deno":'deno run --allow-read --allow-env --allow-run npm:poku -d --deno --denoAllow="read,env,net,sys" test/esm test/unit test/integration',"test:tsc-build":'cd "test/tsc-build" && npx tsc -p "tsconfig.json"',"coverage-test":"c8 npm run test",benchmark:"node ./benchmarks/benchmark.js",prettier:'prettier --single-quote --trailing-comma none --write "{lib,test}/**/*.js"',"prettier:docs":"prettier --single-quote --trailing-comma none --write README.md",precommit:"lint-staged","eslint-check":"eslint --print-config .eslintrc | eslint-config-prettier-check","wait-port":"wait-on"},"lint-staged":{"*.js":["prettier --single-quote --trailing-comma none --write","git add"]},repository:{type:"git",url:"https://github.com/sidorares/node-mysql2"},homepage:"https://sidorares.github.io/node-mysql2/docs",keywords:["mysql","client","server"],files:["lib","typings/mysql","index.js","index.d.ts","promise.js","promise.d.ts"],exports:{".":"./index.js","./package.json":"./package.json","./promise":"./promise.js","./promise.js":"./promise.js"},engines:{node:">= 8.0"},author:"Andrey Sidorov <andrey.sidorov@gmail.com>",license:"MIT",dependencies:{"aws-ssl-profiles":"^1.1.1",denque:"^2.1.0","generate-function":"^2.3.1","iconv-lite":"^0.6.3",long:"^5.2.1","lru.min":"^1.0.0","named-placeholders":"^1.1.3","seq-queue":"^0.0.5",sqlstring:"^2.3.2"},devDependencies:{"@types/node":"^22.0.0","@typescript-eslint/eslint-plugin":"^5.42.1","@typescript-eslint/parser":"^5.42.1","assert-diff":"^3.0.2",benchmark:"^2.1.4",c8:"^10.1.1","error-stack-parser":"^2.0.3",eslint:"^8.27.0","eslint-config-prettier":"^9.0.0","eslint-plugin-async-await":"0.0.0","eslint-plugin-markdown":"^5.0.0","lint-staged":"^15.0.1",poku:"^2.0.0",portfinder:"^1.0.28",prettier:"^3.0.0",progress:"^2.0.3",typescript:"^5.0.2"}}}});var require_defaults=__commonJS({"node_modules/aws-ssl-profiles/lib/profiles/ca/defaults.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.defaults=void 0;exports2.defaults=["-----BEGIN CERTIFICATE-----\nMIIEEjCCAvqgAwIBAgIJAM2ZN/+nPi27MA0GCSqGSIb3DQEBCwUAMIGVMQswCQYD\nVQQGEwJVUzEQMA4GA1UEBwwHU2VhdHRsZTETMBEGA1UECAwKV2FzaGluZ3RvbjEi\nMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1h\nem9uIFJEUzEmMCQGA1UEAwwdQW1hem9uIFJEUyBhZi1zb3V0aC0xIFJvb3QgQ0Ew\nHhcNMTkxMDI4MTgwNTU4WhcNMjQxMDI2MTgwNTU4WjCBlTELMAkGA1UEBhMCVVMx\nEDAOBgNVBAcMB1NlYXR0bGUxEzARBgNVBAgMCldhc2hpbmd0b24xIjAgBgNVBAoM\nGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMx\nJjAkBgNVBAMMHUFtYXpvbiBSRFMgYWYtc291dGgtMSBSb290IENBMIIBIjANBgkq\nhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwR2351uPMZaJk2gMGT+1sk8HE9MQh2rc\n/sCnbxGn2p1c7Oi9aBbd/GiFijeJb2BXvHU+TOq3d3Jjqepq8tapXVt4ojbTJNyC\nJ5E7r7KjTktKdLxtBE1MK25aY+IRJjtdU6vG3KiPKUT1naO3xs3yt0F76WVuFivd\n9OHv2a+KHvPkRUWIxpmAHuMY9SIIMmEZtVE7YZGx5ah0iO4JzItHcbVR0y0PBH55\narpFBddpIVHCacp1FUPxSEWkOpI7q0AaU4xfX0fe1BV5HZYRKpBOIp1TtZWvJD+X\njGUtL1BEsT5vN5g9MkqdtYrC+3SNpAk4VtpvJrdjraI/hhvfeXNnAwIDAQABo2Mw\nYTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUEEi/\nWWMcBJsoGXg+EZwkQ0MscZQwHwYDVR0jBBgwFoAUEEi/WWMcBJsoGXg+EZwkQ0Ms\ncZQwDQYJKoZIhvcNAQELBQADggEBAGDZ5js5Pc/gC58LJrwMPXFhJDBS8QuDm23C\nFFUdlqucskwOS3907ErK1ZkmVJCIqFLArHqskFXMAkRZ2PNR7RjWLqBs+0znG5yH\nhRKb4DXzhUFQ18UBRcvT6V6zN97HTRsEEaNhM/7k8YLe7P8vfNZ28VIoJIGGgv9D\nwQBBvkxQ71oOmAG0AwaGD0ORGUfbYry9Dz4a4IcUsZyRWRMADixgrFv6VuETp26s\n/+z+iqNaGWlELBKh3iQCT6Y/1UnkPLO42bxrCSyOvshdkYN58Q2gMTE1SVTqyo8G\nLw8lLAz9bnvUSgHzB3jRrSx6ggF/WRMRYlR++y6LXP4SAsSAaC0=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIEEjCCAvqgAwIBAgIJAJYM4LxvTZA6MA0GCSqGSIb3DQEBCwUAMIGVMQswCQYD\nVQQGEwJVUzEQMA4GA1UEBwwHU2VhdHRsZTETMBEGA1UECAwKV2FzaGluZ3RvbjEi\nMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1h\nem9uIFJEUzEmMCQGA1UEAwwdQW1hem9uIFJEUyBldS1zb3V0aC0xIFJvb3QgQ0Ew\nHhcNMTkxMDMwMjAyMDM2WhcNMjQxMDI4MjAyMDM2WjCBlTELMAkGA1UEBhMCVVMx\nEDAOBgNVBAcMB1NlYXR0bGUxEzARBgNVBAgMCldhc2hpbmd0b24xIjAgBgNVBAoM\nGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMx\nJjAkBgNVBAMMHUFtYXpvbiBSRFMgZXUtc291dGgtMSBSb290IENBMIIBIjANBgkq\nhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqM921jXCXeqpRNCS9CBPOe5N7gMaEt+D\ns5uR3riZbqzRlHGiF1jZihkXfHAIQewDwy+Yz+Oec1aEZCQMhUHxZJPusuX0cJfj\nb+UluFqHIijL2TfXJ3D0PVLLoNTQJZ8+GAPECyojAaNuoHbdVqxhOcznMsXIXVFq\nyVLKDGvyKkJjai/iSPDrQMXufg3kWt0ISjNLvsG5IFXgP4gttsM8i0yvRd4QcHoo\nDjvH7V3cS+CQqW5SnDrGnHToB0RLskE1ET+oNOfeN9PWOxQprMOX/zmJhnJQlTqD\nQP7jcf7SddxrKFjuziFiouskJJyNDsMjt1Lf60+oHZhed2ogTeifGwIDAQABo2Mw\nYTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUFBAF\ncgJe/BBuZiGeZ8STfpkgRYQwHwYDVR0jBBgwFoAUFBAFcgJe/BBuZiGeZ8STfpkg\nRYQwDQYJKoZIhvcNAQELBQADggEBAKAYUtlvDuX2UpZW9i1QgsjFuy/ErbW0dLHU\ne/IcFtju2z6RLZ+uF+5A8Kme7IKG1hgt8s+w9TRVQS/7ukQzoK3TaN6XKXRosjtc\no9Rm4gYWM8bmglzY1TPNaiI4HC7546hSwJhubjN0bXCuj/0sHD6w2DkiGuwKNAef\nyTu5vZhPkeNyXLykxkzz7bNp2/PtMBnzIp+WpS7uUDmWyScGPohKMq5PqvL59z+L\nZI3CYeMZrJ5VpXUg3fNNIz/83N3G0sk7wr0ohs/kHTP7xPOYB0zD7Ku4HA0Q9Swf\nWX0qr6UQgTPMjfYDLffI7aEId0gxKw1eGYc6Cq5JAZ3ipi/cBFc=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIEEjCCAvqgAwIBAgIJANew34ehz5l8MA0GCSqGSIb3DQEBCwUAMIGVMQswCQYD\nVQQGEwJVUzEQMA4GA1UEBwwHU2VhdHRsZTETMBEGA1UECAwKV2FzaGluZ3RvbjEi\nMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1h\nem9uIFJEUzEmMCQGA1UEAwwdQW1hem9uIFJEUyBtZS1zb3V0aC0xIFJvb3QgQ0Ew\nHhcNMTkwNTEwMjE0ODI3WhcNMjQwNTA4MjE0ODI3WjCBlTELMAkGA1UEBhMCVVMx\nEDAOBgNVBAcMB1NlYXR0bGUxEzARBgNVBAgMCldhc2hpbmd0b24xIjAgBgNVBAoM\nGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMx\nJjAkBgNVBAMMHUFtYXpvbiBSRFMgbWUtc291dGgtMSBSb290IENBMIIBIjANBgkq\nhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAp7BYV88MukcY+rq0r79+C8UzkT30fEfT\naPXbx1d6M7uheGN4FMaoYmL+JE1NZPaMRIPTHhFtLSdPccInvenRDIatcXX+jgOk\nUA6lnHQ98pwN0pfDUyz/Vph4jBR9LcVkBbe0zdoKKp+HGbMPRU0N2yNrog9gM5O8\ngkU/3O2csJ/OFQNnj4c2NQloGMUpEmedwJMOyQQfcUyt9CvZDfIPNnheUS29jGSw\nERpJe/AENu8Pxyc72jaXQuD+FEi2Ck6lBkSlWYQFhTottAeGvVFNCzKszCntrtqd\nrdYUwurYsLTXDHv9nW2hfDUQa0mhXf9gNDOBIVAZugR9NqNRNyYLHQIDAQABo2Mw\nYTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU54cf\nDjgwBx4ycBH8+/r8WXdaiqYwHwYDVR0jBBgwFoAU54cfDjgwBx4ycBH8+/r8WXda\niqYwDQYJKoZIhvcNAQELBQADggEBAIIMTSPx/dR7jlcxggr+O6OyY49Rlap2laKA\neC/XI4ySP3vQkIFlP822U9Kh8a9s46eR0uiwV4AGLabcu0iKYfXjPkIprVCqeXV7\nny9oDtrbflyj7NcGdZLvuzSwgl9SYTJp7PVCZtZutsPYlbJrBPHwFABvAkMvRtDB\nhitIg4AESDGPoCl94sYHpfDfjpUDMSrAMDUyO6DyBdZH5ryRMAs3lGtsmkkNUrso\naTW6R05681Z0mvkRdb+cdXtKOSuDZPoe2wJJIaz3IlNQNSrB5TImMYgmt6iAsFhv\n3vfTSTKrZDNTJn4ybG6pq1zWExoXsktZPylJly6R3RBwV6nwqBM=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIEBjCCAu6gAwIBAgIJAMc0ZzaSUK51MA0GCSqGSIb3DQEBCwUAMIGPMQswCQYD\nVQQGEwJVUzEQMA4GA1UEBwwHU2VhdHRsZTETMBEGA1UECAwKV2FzaGluZ3RvbjEi\nMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1h\nem9uIFJEUzEgMB4GA1UEAwwXQW1hem9uIFJEUyBSb290IDIwMTkgQ0EwHhcNMTkw\nODIyMTcwODUwWhcNMjQwODIyMTcwODUwWjCBjzELMAkGA1UEBhMCVVMxEDAOBgNV\nBAcMB1NlYXR0bGUxEzARBgNVBAgMCldhc2hpbmd0b24xIjAgBgNVBAoMGUFtYXpv\nbiBXZWIgU2VydmljZXMsIEluYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMxIDAeBgNV\nBAMMF0FtYXpvbiBSRFMgUm9vdCAyMDE5IENBMIIBIjANBgkqhkiG9w0BAQEFAAOC\nAQ8AMIIBCgKCAQEArXnF/E6/Qh+ku3hQTSKPMhQQlCpoWvnIthzX6MK3p5a0eXKZ\noWIjYcNNG6UwJjp4fUXl6glp53Jobn+tWNX88dNH2n8DVbppSwScVE2LpuL+94vY\n0EYE/XxN7svKea8YvlrqkUBKyxLxTjh+U/KrGOaHxz9v0l6ZNlDbuaZw3qIWdD/I\n6aNbGeRUVtpM6P+bWIoxVl/caQylQS6CEYUk+CpVyJSkopwJlzXT07tMoDL5WgX9\nO08KVgDNz9qP/IGtAcRduRcNioH3E9v981QO1zt/Gpb2f8NqAjUUCUZzOnij6mx9\nMcZ+9cWX88CRzR0vQODWuZscgI08NvM69Fn2SQIDAQABo2MwYTAOBgNVHQ8BAf8E\nBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUc19g2LzLA5j0Kxc0LjZa\npmD/vB8wHwYDVR0jBBgwFoAUc19g2LzLA5j0Kxc0LjZapmD/vB8wDQYJKoZIhvcN\nAQELBQADggEBAHAG7WTmyjzPRIM85rVj+fWHsLIvqpw6DObIjMWokpliCeMINZFV\nynfgBKsf1ExwbvJNzYFXW6dihnguDG9VMPpi2up/ctQTN8tm9nDKOy08uNZoofMc\nNUZxKCEkVKZv+IL4oHoeayt8egtv3ujJM6V14AstMQ6SwvwvA93EP/Ug2e4WAXHu\ncbI1NAbUgVDqp+DRdfvZkgYKryjTWd/0+1fS8X1bBZVWzl7eirNVnHbSH2ZDpNuY\n0SBd8dj5F6ld3t58ydZbrTHze7JJOd8ijySAp4/kiu9UfZWuTPABzDa/DSdz9Dk/\nzPW4CXXvhLmE02TA9/HeCw3KEHIwicNuEfw=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIEEDCCAvigAwIBAgIJAKFMXyltvuRdMA0GCSqGSIb3DQEBCwUAMIGUMQswCQYD\nVQQGEwJVUzEQMA4GA1UEBwwHU2VhdHRsZTETMBEGA1UECAwKV2FzaGluZ3RvbjEi\nMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1h\nem9uIFJEUzElMCMGA1UEAwwcQW1hem9uIFJEUyBCZXRhIFJvb3QgMjAxOSBDQTAe\nFw0xOTA4MTkxNzM4MjZaFw0yNDA4MTkxNzM4MjZaMIGUMQswCQYDVQQGEwJVUzEQ\nMA4GA1UEBwwHU2VhdHRsZTETMBEGA1UECAwKV2FzaGluZ3RvbjEiMCAGA1UECgwZ\nQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzEl\nMCMGA1UEAwwcQW1hem9uIFJEUyBCZXRhIFJvb3QgMjAxOSBDQTCCASIwDQYJKoZI\nhvcNAQEBBQADggEPADCCAQoCggEBAMkZdnIH9ndatGAcFo+DppGJ1HUt4x+zeO+0\nZZ29m0sfGetVulmTlv2d5b66e+QXZFWpcPQMouSxxYTW08TbrQiZngKr40JNXftA\natvzBqIImD4II0ZX5UEVj2h98qe/ypW5xaDN7fEa5e8FkYB1TEemPaWIbNXqchcL\ntV7IJPr3Cd7Z5gZJlmujIVDPpMuSiNaal9/6nT9oqN+JSM1fx5SzrU5ssg1Vp1vv\n5Xab64uOg7wCJRB9R2GC9XD04odX6VcxUAGrZo6LR64ZSifupo3l+R5sVOc5i8NH\nskdboTzU9H7+oSdqoAyhIU717PcqeDum23DYlPE2nGBWckE+eT8CAwEAAaNjMGEw\nDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFK2hDBWl\nsbHzt/EHd0QYOooqcFPhMB8GA1UdIwQYMBaAFK2hDBWlsbHzt/EHd0QYOooqcFPh\nMA0GCSqGSIb3DQEBCwUAA4IBAQAO/718k8EnOqJDx6wweUscGTGL/QdKXUzTVRAx\nJUsjNUv49mH2HQVEW7oxszfH6cPCaupNAddMhQc4C/af6GHX8HnqfPDk27/yBQI+\nyBBvIanGgxv9c9wBbmcIaCEWJcsLp3HzXSYHmjiqkViXwCpYfkoV3Ns2m8bp+KCO\ny9XmcCKRaXkt237qmoxoh2sGmBHk2UlQtOsMC0aUQ4d7teAJG0q6pbyZEiPyKZY1\nXR/UVxMJL0Q4iVpcRS1kaNCMfqS2smbLJeNdsan8pkw1dvPhcaVTb7CvjhJtjztF\nYfDzAI5794qMlWxwilKMmUvDlPPOTen8NNHkLwWvyFCH7Doh\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIEFjCCAv6gAwIBAgIJAMzYZJ+R9NBVMA0GCSqGSIb3DQEBCwUAMIGXMQswCQYD\nVQQGEwJVUzEQMA4GA1UEBwwHU2VhdHRsZTETMBEGA1UECAwKV2FzaGluZ3RvbjEi\nMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1h\nem9uIFJEUzEoMCYGA1UEAwwfQW1hem9uIFJEUyBQcmV2aWV3IFJvb3QgMjAxOSBD\nQTAeFw0xOTA4MjEyMjI5NDlaFw0yNDA4MjEyMjI5NDlaMIGXMQswCQYDVQQGEwJV\nUzEQMA4GA1UEBwwHU2VhdHRsZTETMBEGA1UECAwKV2FzaGluZ3RvbjEiMCAGA1UE\nCgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJE\nUzEoMCYGA1UEAwwfQW1hem9uIFJEUyBQcmV2aWV3IFJvb3QgMjAxOSBDQTCCASIw\nDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM7kkS6vjgKKQTPynC2NjdN5aPPV\nO71G0JJS/2ARVBVJd93JLiGovVJilfWYfwZCs4gTRSSjrUD4D4HyqCd6A+eEEtJq\nM0DEC7i0dC+9WNTsPszuB206Jy2IUmxZMIKJAA1NHSbIMjB+b6/JhbSUi7nKdbR/\nbrj83bF+RoSA+ogrgX7mQbxhmFcoZN9OGaJgYKsKWUt5Wqv627KkGodUK8mDepgD\nS3ZfoRQRx3iceETpcmHJvaIge6+vyDX3d9Z22jmvQ4AKv3py2CmU2UwuhOltFDwB\n0ddtb39vgwrJxaGfiMRHpEP1DfNLWHAnA69/pgZPwIggidS+iBPUhgucMp8CAwEA\nAaNjMGEwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE\nFGnTGpQuQ2H/DZlXMQijZEhjs7TdMB8GA1UdIwQYMBaAFGnTGpQuQ2H/DZlXMQij\nZEhjs7TdMA0GCSqGSIb3DQEBCwUAA4IBAQC3xz1vQvcXAfpcZlngiRWeqU8zQAMQ\nLZPCFNv7PVk4pmqX+ZiIRo4f9Zy7TrOVcboCnqmP/b/mNq0gVF4O+88jwXJZD+f8\n/RnABMZcnGU+vK0YmxsAtYU6TIb1uhRFmbF8K80HHbj9vSjBGIQdPCbvmR2zY6VJ\nBYM+w9U9hp6H4DVMLKXPc1bFlKA5OBTgUtgkDibWJKFOEPW3UOYwp9uq6pFoN0AO\nxMTldqWFsOF3bJIlvOY0c/1EFZXu3Ns6/oCP//Ap9vumldYMUZWmbK+gK33FPOXV\n8BQ6jNC29icv7lLDpRPwjibJBXX+peDR5UK4FdYcswWEB1Tix5X8dYu6\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIECTCCAvGgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgZUxCzAJBgNVBAYTAlVT\nMRAwDgYDVQQHDAdTZWF0dGxlMRMwEQYDVQQIDApXYXNoaW5ndG9uMSIwIAYDVQQK\nDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRT\nMSYwJAYDVQQDDB1BbWF6b24gUkRTIGFmLXNvdXRoLTEgUm9vdCBDQTAeFw0xOTEw\nMjgxODA2NTNaFw0yNDEwMjgxODA2NTNaMIGQMQswCQYDVQQGEwJVUzETMBEGA1UE\nCAwKV2FzaGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEiMCAGA1UECgwZQW1hem9u\nIFdlYiBTZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzEhMB8GA1UE\nAwwYQW1hem9uIFJEUyBhZi1zb3V0aC0xIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC\nAQ8AMIIBCgKCAQEAvtV1OqmFa8zCVQSKOvPUJERLVFtd4rZmDpImc5rIoeBk7w/P\n9lcKUJjO8R/w1a2lJXx3oQ81tiY0Piw6TpT62YWVRMWrOw8+Vxq1dNaDSFp9I8d0\nUHillSSbOk6FOrPDp+R6AwbGFqUDebbN5LFFoDKbhNmH1BVS0a6YNKpGigLRqhka\ncClPslWtPqtjbaP3Jbxl26zWzLo7OtZl98dR225pq8aApNBwmtgA7Gh60HK/cX0t\n32W94n8D+GKSg6R4MKredVFqRTi9hCCNUu0sxYPoELuM+mHiqB5NPjtm92EzCWs+\n+vgWhMc6GxG+82QSWx1Vj8sgLqtE/vLrWddf5QIDAQABo2YwZDAOBgNVHQ8BAf8E\nBAMCAQYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUuLB4gYVJrSKJj/Gz\npqc6yeA+RcAwHwYDVR0jBBgwFoAUEEi/WWMcBJsoGXg+EZwkQ0MscZQwDQYJKoZI\nhvcNAQELBQADggEBABauYOZxUhe9/RhzGJ8MsWCz8eKcyDVd4FCnY6Qh+9wcmYNT\nLtnD88LACtJKb/b81qYzcB0Em6+zVJ3Z9jznfr6buItE6es9wAoja22Xgv44BTHL\nrimbgMwpTt3uEMXDffaS0Ww6YWb3pSE0XYI2ISMWz+xRERRf+QqktSaL39zuiaW5\ntfZMre+YhohRa/F0ZQl3RCd6yFcLx4UoSPqQsUl97WhYzwAxZZfwvLJXOc4ATt3u\nVlCUylNDkaZztDJc/yN5XQoK9W5nOt2cLu513MGYKbuarQr8f+gYU8S+qOyuSRSP\nNRITzwCRVnsJE+2JmcRInn/NcanB7uOGqTvJ9+c=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIECTCCAvGgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgZUxCzAJBgNVBAYTAlVT\nMRAwDgYDVQQHDAdTZWF0dGxlMRMwEQYDVQQIDApXYXNoaW5ndG9uMSIwIAYDVQQK\nDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRT\nMSYwJAYDVQQDDB1BbWF6b24gUkRTIGV1LXNvdXRoLTEgUm9vdCBDQTAeFw0xOTEw\nMzAyMDIxMzBaFw0yNDEwMzAyMDIxMzBaMIGQMQswCQYDVQQGEwJVUzETMBEGA1UE\nCAwKV2FzaGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEiMCAGA1UECgwZQW1hem9u\nIFdlYiBTZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzEhMB8GA1UE\nAwwYQW1hem9uIFJEUyBldS1zb3V0aC0xIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC\nAQ8AMIIBCgKCAQEAtEyjYcajx6xImJn8Vz1zjdmL4ANPgQXwF7+tF7xccmNAZETb\nbzb3I9i5fZlmrRaVznX+9biXVaGxYzIUIR3huQ3Q283KsDYnVuGa3mk690vhvJbB\nQIPgKa5mVwJppnuJm78KqaSpi0vxyCPe3h8h6LLFawVyWrYNZ4okli1/U582eef8\nRzJp/Ear3KgHOLIiCdPDF0rjOdCG1MOlDLixVnPn9IYOciqO+VivXBg+jtfc5J+L\nAaPm0/Yx4uELt1tkbWkm4BvTU/gBOODnYziITZM0l6Fgwvbwgq5duAtKW+h031lC\n37rEvrclqcp4wrsUYcLAWX79ZyKIlRxcAdvEhQIDAQABo2YwZDAOBgNVHQ8BAf8E\nBAMCAQYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQU7zPyc0azQxnBCe7D\nb9KAadH1QSEwHwYDVR0jBBgwFoAUFBAFcgJe/BBuZiGeZ8STfpkgRYQwDQYJKoZI\nhvcNAQELBQADggEBAFGaNiYxg7yC/xauXPlaqLCtwbm2dKyK9nIFbF/7be8mk7Q3\nMOA0of1vGHPLVQLr6bJJpD9MAbUcm4cPAwWaxwcNpxOjYOFDaq10PCK4eRAxZWwF\nNJRIRmGsl8NEsMNTMCy8X+Kyw5EzH4vWFl5Uf2bGKOeFg0zt43jWQVOX6C+aL3Cd\npRS5MhmYpxMG8irrNOxf4NVFE2zpJOCm3bn0STLhkDcV/ww4zMzObTJhiIb5wSWn\nEXKKWhUXuRt7A2y1KJtXpTbSRHQxE++69Go1tWhXtRiULCJtf7wF2Ksm0RR/AdXT\n1uR1vKyH5KBJPX3ppYkQDukoHTFR0CpB+G84NLo=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIECTCCAvGgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgZUxCzAJBgNVBAYTAlVT\nMRAwDgYDVQQHDAdTZWF0dGxlMRMwEQYDVQQIDApXYXNoaW5ndG9uMSIwIAYDVQQK\nDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRT\nMSYwJAYDVQQDDB1BbWF6b24gUkRTIG1lLXNvdXRoLTEgUm9vdCBDQTAeFw0xOTA1\nMTAyMTU4NDNaFw0yNTA2MDExMjAwMDBaMIGQMQswCQYDVQQGEwJVUzETMBEGA1UE\nCAwKV2FzaGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEiMCAGA1UECgwZQW1hem9u\nIFdlYiBTZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzEhMB8GA1UE\nAwwYQW1hem9uIFJEUyBtZS1zb3V0aC0xIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC\nAQ8AMIIBCgKCAQEAudOYPZH+ihJAo6hNYMB5izPVBe3TYhnZm8+X3IoaaYiKtsp1\nJJhkTT0CEejYIQ58Fh4QrMUyWvU8qsdK3diNyQRoYLbctsBPgxBR1u07eUJDv38/\nC1JlqgHmMnMi4y68Iy7ymv50QgAMuaBqgEBRI1R6Lfbyrb2YvH5txjJyTVMwuCfd\nYPAtZVouRz0JxmnfsHyxjE+So56uOKTDuw++Ho4HhZ7Qveej7XB8b+PIPuroknd3\nFQB5RVbXRvt5ZcVD4F2fbEdBniF7FAF4dEiofVCQGQ2nynT7dZdEIPfPdH3n7ZmE\nlAOmwHQ6G83OsiHRBLnbp+QZRgOsjkHJxT20bQIDAQABo2YwZDAOBgNVHQ8BAf8E\nBAMCAQYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUOEVDM7VomRH4HVdA\nQvIMNq2tXOcwHwYDVR0jBBgwFoAU54cfDjgwBx4ycBH8+/r8WXdaiqYwDQYJKoZI\nhvcNAQELBQADggEBAHhvMssj+Th8IpNePU6RH0BiL6o9c437R3Q4IEJeFdYL+nZz\nPW/rELDPvLRUNMfKM+KzduLZ+l29HahxefejYPXtvXBlq/E/9czFDD4fWXg+zVou\nuDXhyrV4kNmP4S0eqsAP/jQHPOZAMFA4yVwO9hlqmePhyDnszCh9c1PfJSBh49+b\n4w7i/L3VBOMt8j3EKYvqz0gVfpeqhJwL4Hey8UbVfJRFJMJzfNHpePqtDRAY7yjV\nPYquRaV2ab/E+/7VFkWMM4tazYz/qsYA2jSH+4xDHvYk8LnsbcrF9iuidQmEc5sb\nFgcWaSKG4DJjcI5k7AJLWcXyTDt21Ci43LE+I9Q=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIECDCCAvCgAwIBAgICVIYwDQYJKoZIhvcNAQELBQAwgY8xCzAJBgNVBAYTAlVT\nMRAwDgYDVQQHDAdTZWF0dGxlMRMwEQYDVQQIDApXYXNoaW5ndG9uMSIwIAYDVQQK\nDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRT\nMSAwHgYDVQQDDBdBbWF6b24gUkRTIFJvb3QgMjAxOSBDQTAeFw0xOTA5MDQxNzEz\nMDRaFw0yNDA4MjIxNzA4NTBaMIGVMQswCQYDVQQGEwJVUzETMBEGA1UECAwKV2Fz\naGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEiMCAGA1UECgwZQW1hem9uIFdlYiBT\nZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzEmMCQGA1UEAwwdQW1h\nem9uIFJEUyBhcC1zb3V0aC0xIDIwMTkgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IB\nDwAwggEKAoIBAQDUYOz1hGL42yUCrcsMSOoU8AeD/3KgZ4q7gP+vAz1WnY9K/kim\neWN/2Qqzlo3+mxSFQFyD4MyV3+CnCPnBl9Sh1G/F6kThNiJ7dEWSWBQGAB6HMDbC\nBaAsmUc1UIz8sLTL3fO+S9wYhA63Wun0Fbm/Rn2yk/4WnJAaMZcEtYf6e0KNa0LM\np/kN/70/8cD3iz3dDR8zOZFpHoCtf0ek80QqTich0A9n3JLxR6g6tpwoYviVg89e\nqCjQ4axxOkWWeusLeTJCcY6CkVyFvDAKvcUl1ytM5AiaUkXblE7zDFXRM4qMMRdt\nlPm8d3pFxh0fRYk8bIKnpmtOpz3RIctDrZZxAgMBAAGjZjBkMA4GA1UdDwEB/wQE\nAwIBBjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBT99wKJftD3jb4sHoHG\ni3uGlH6W6TAfBgNVHSMEGDAWgBRzX2DYvMsDmPQrFzQuNlqmYP+8HzANBgkqhkiG\n9w0BAQsFAAOCAQEAZ17hhr3dII3hUfuHQ1hPWGrpJOX/G9dLzkprEIcCidkmRYl+\nhu1Pe3caRMh/17+qsoEErmnVq5jNY9X1GZL04IZH8YbHc7iRHw3HcWAdhN8633+K\njYEB2LbJ3vluCGnCejq9djDb6alOugdLMJzxOkHDhMZ6/gYbECOot+ph1tQuZXzD\ntZ7prRsrcuPBChHlPjmGy8M9z8u+kF196iNSUGC4lM8vLkHM7ycc1/ZOwRq9aaTe\niOghbQQyAEe03MWCyDGtSmDfr0qEk+CHN+6hPiaL8qKt4s+V9P7DeK4iW08ny8Ox\nAVS7u0OK/5+jKMAMrKwpYrBydOjTUTHScocyNw==\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIEBzCCAu+gAwIBAgICQ2QwDQYJKoZIhvcNAQELBQAwgY8xCzAJBgNVBAYTAlVT\nMRAwDgYDVQQHDAdTZWF0dGxlMRMwEQYDVQQIDApXYXNoaW5ndG9uMSIwIAYDVQQK\nDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRT\nMSAwHgYDVQQDDBdBbWF6b24gUkRTIFJvb3QgMjAxOSBDQTAeFw0xOTA5MDUxODQ2\nMjlaFw0yNDA4MjIxNzA4NTBaMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECAwKV2Fz\naGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEiMCAGA1UECgwZQW1hem9uIFdlYiBT\nZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzElMCMGA1UEAwwcQW1h\nem9uIFJEUyBzYS1lYXN0LTEgMjAxOSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP\nADCCAQoCggEBAMMvR+ReRnOzqJzoaPipNTt1Z2VA968jlN1+SYKUrYM3No+Vpz0H\nM6Tn0oYB66ByVsXiGc28ulsqX1HbHsxqDPwvQTKvO7SrmDokoAkjJgLocOLUAeld\n5AwvUjxGRP6yY90NV7X786MpnYb2Il9DIIaV9HjCmPt+rjy2CZjS0UjPjCKNfB8J\nbFjgW6GGscjeyGb/zFwcom5p4j0rLydbNaOr9wOyQrtt3ZQWLYGY9Zees/b8pmcc\nJt+7jstZ2UMV32OO/kIsJ4rMUn2r/uxccPwAc1IDeRSSxOrnFKhW3Cu69iB3bHp7\nJbawY12g7zshE4I14sHjv3QoXASoXjx4xgMCAwEAAaNmMGQwDgYDVR0PAQH/BAQD\nAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFI1Fc/Ql2jx+oJPgBVYq\nccgP0pQ8MB8GA1UdIwQYMBaAFHNfYNi8ywOY9CsXNC42WqZg/7wfMA0GCSqGSIb3\nDQEBCwUAA4IBAQB4VVVabVp70myuYuZ3vltQIWqSUMhkaTzehMgGcHjMf9iLoZ/I\n93KiFUSGnek5cRePyS9wcpp0fcBT3FvkjpUdCjVtdttJgZFhBxgTd8y26ImdDDMR\n4+BUuhI5msvjL08f+Vkkpu1GQcGmyFVPFOy/UY8iefu+QyUuiBUnUuEDd49Hw0Fn\n/kIPII6Vj82a2mWV/Q8e+rgN8dIRksRjKI03DEoP8lhPlsOkhdwU6Uz9Vu6NOB2Q\nLs1kbcxAc7cFSyRVJEhh12Sz9d0q/CQSTFsVJKOjSNQBQfVnLz1GwO/IieUEAr4C\njkTntH0r1LX5b/GwN4R887LvjAEdTbg1his7\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIECDCCAvCgAwIBAgIDAIkHMA0GCSqGSIb3DQEBCwUAMIGPMQswCQYDVQQGEwJV\nUzEQMA4GA1UEBwwHU2VhdHRsZTETMBEGA1UECAwKV2FzaGluZ3RvbjEiMCAGA1UE\nCgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJE\nUzEgMB4GA1UEAwwXQW1hem9uIFJEUyBSb290IDIwMTkgQ0EwHhcNMTkwOTA2MTc0\nMDIxWhcNMjQwODIyMTcwODUwWjCBlDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCldh\nc2hpbmd0b24xEDAOBgNVBAcMB1NlYXR0bGUxIjAgBgNVBAoMGUFtYXpvbiBXZWIg\nU2VydmljZXMsIEluYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMxJTAjBgNVBAMMHEFt\nYXpvbiBSRFMgdXMtd2VzdC0xIDIwMTkgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IB\nDwAwggEKAoIBAQDD2yzbbAl77OofTghDMEf624OvU0eS9O+lsdO0QlbfUfWa1Kd6\n0WkgjkLZGfSRxEHMCnrv4UPBSK/Qwn6FTjkDLgemhqBtAnplN4VsoDL+BkRX4Wwq\n/dSQJE2b+0hm9w9UMVGFDEq1TMotGGTD2B71eh9HEKzKhGzqiNeGsiX4VV+LJzdH\nuM23eGisNqmd4iJV0zcAZ+Gbh2zK6fqTOCvXtm7Idccv8vZZnyk1FiWl3NR4WAgK\nAkvWTIoFU3Mt7dIXKKClVmvssG8WHCkd3Xcb4FHy/G756UZcq67gMMTX/9fOFM/v\nl5C0+CHl33Yig1vIDZd+fXV1KZD84dEJfEvHAgMBAAGjZjBkMA4GA1UdDwEB/wQE\nAwIBBjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBR+ap20kO/6A7pPxo3+\nT3CfqZpQWjAfBgNVHSMEGDAWgBRzX2DYvMsDmPQrFzQuNlqmYP+8HzANBgkqhkiG\n9w0BAQsFAAOCAQEAHCJky2tPjPttlDM/RIqExupBkNrnSYnOK4kr9xJ3sl8UF2DA\nPAnYsjXp3rfcjN/k/FVOhxwzi3cXJF/2Tjj39Bm/OEfYTOJDNYtBwB0VVH4ffa/6\ntZl87jaIkrxJcreeeHqYMnIxeN0b/kliyA+a5L2Yb0VPjt9INq34QDc1v74FNZ17\n4z8nr1nzg4xsOWu0Dbjo966lm4nOYIGBRGOKEkHZRZ4mEiMgr3YLkv8gSmeitx57\nZ6dVemNtUic/LVo5Iqw4n3TBS0iF2C1Q1xT/s3h+0SXZlfOWttzSluDvoMv5PvCd\npFjNn+aXLAALoihL1MJSsxydtsLjOBro5eK0Vw==\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIEDDCCAvSgAwIBAgICOFAwDQYJKoZIhvcNAQELBQAwgY8xCzAJBgNVBAYTAlVT\nMRAwDgYDVQQHDAdTZWF0dGxlMRMwEQYDVQQIDApXYXNoaW5ndG9uMSIwIAYDVQQK\nDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRT\nMSAwHgYDVQQDDBdBbWF6b24gUkRTIFJvb3QgMjAxOSBDQTAeFw0xOTA5MTAxNzQ2\nMjFaFw0yNDA4MjIxNzA4NTBaMIGZMQswCQYDVQQGEwJVUzETMBEGA1UECAwKV2Fz\naGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEiMCAGA1UECgwZQW1hem9uIFdlYiBT\nZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzEqMCgGA1UEAwwhQW1h\nem9uIFJEUyBhcC1ub3J0aGVhc3QtMiAyMDE5IENBMIIBIjANBgkqhkiG9w0BAQEF\nAAOCAQ8AMIIBCgKCAQEAzU72e6XbaJbi4HjJoRNjKxzUEuChKQIt7k3CWzNnmjc5\n8I1MjCpa2W1iw1BYVysXSNSsLOtUsfvBZxi/1uyMn5ZCaf9aeoA9UsSkFSZBjOCN\nDpKPCmfV1zcEOvJz26+1m8WDg+8Oa60QV0ou2AU1tYcw98fOQjcAES0JXXB80P2s\n3UfkNcnDz+l4k7j4SllhFPhH6BQ4lD2NiFAP4HwoG6FeJUn45EPjzrydxjq6v5Fc\ncQ8rGuHADVXotDbEhaYhNjIrsPL+puhjWfhJjheEw8c4whRZNp6gJ/b6WEes/ZhZ\nh32DwsDsZw0BfRDUMgUn8TdecNexHUw8vQWeC181hwIDAQABo2YwZDAOBgNVHQ8B\nAf8EBAMCAQYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUwW9bWgkWkr0U\nlrOsq2kvIdrECDgwHwYDVR0jBBgwFoAUc19g2LzLA5j0Kxc0LjZapmD/vB8wDQYJ\nKoZIhvcNAQELBQADggEBAEugF0Gj7HVhX0ehPZoGRYRt3PBuI2YjfrrJRTZ9X5wc\n9T8oHmw07mHmNy1qqWvooNJg09bDGfB0k5goC2emDiIiGfc/kvMLI7u+eQOoMKj6\nmkfCncyRN3ty08Po45vTLBFZGUvtQmjM6yKewc4sXiASSBmQUpsMbiHRCL72M5qV\nobcJOjGcIdDTmV1BHdWT+XcjynsGjUqOvQWWhhLPrn4jWe6Xuxll75qlrpn3IrIx\nCRBv/5r7qbcQJPOgwQsyK4kv9Ly8g7YT1/vYBlR3cRsYQjccw5ceWUj2DrMVWhJ4\nprf+E3Aa4vYmLLOUUvKnDQ1k3RGNu56V0tonsQbfsaM=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIECjCCAvKgAwIBAgICEzUwDQYJKoZIhvcNAQELBQAwgY8xCzAJBgNVBAYTAlVT\nMRAwDgYDVQQHDAdTZWF0dGxlMRMwEQYDVQQIDApXYXNoaW5ndG9uMSIwIAYDVQQK\nDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRT\nMSAwHgYDVQQDDBdBbWF6b24gUkRTIFJvb3QgMjAxOSBDQTAeFw0xOTA5MTAyMDUy\nMjVaFw0yNDA4MjIxNzA4NTBaMIGXMQswCQYDVQQGEwJVUzETMBEGA1UECAwKV2Fz\naGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEiMCAGA1UECgwZQW1hem9uIFdlYiBT\nZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzEoMCYGA1UEAwwfQW1h\nem9uIFJEUyBjYS1jZW50cmFsLTEgMjAxOSBDQTCCASIwDQYJKoZIhvcNAQEBBQAD\nggEPADCCAQoCggEBAOxHqdcPSA2uBjsCP4DLSlqSoPuQ/X1kkJLusVRKiQE2zayB\nviuCBt4VB9Qsh2rW3iYGM+usDjltGnI1iUWA5KHcvHszSMkWAOYWLiMNKTlg6LCp\nXnE89tvj5dIH6U8WlDvXLdjB/h30gW9JEX7S8supsBSci2GxEzb5mRdKaDuuF/0O\nqvz4YE04pua3iZ9QwmMFuTAOYzD1M72aOpj+7Ac+YLMM61qOtU+AU6MndnQkKoQi\nqmUN2A9IFaqHFzRlSdXwKCKUA4otzmz+/N3vFwjb5F4DSsbsrMfjeHMo6o/nb6Nh\nYDb0VJxxPee6TxSuN7CQJ2FxMlFUezcoXqwqXD0CAwEAAaNmMGQwDgYDVR0PAQH/\nBAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFDGGpon9WfIpsggE\nCxHq8hZ7E2ESMB8GA1UdIwQYMBaAFHNfYNi8ywOY9CsXNC42WqZg/7wfMA0GCSqG\nSIb3DQEBCwUAA4IBAQAvpeQYEGZvoTVLgV9rd2+StPYykMsmFjWQcyn3dBTZRXC2\nlKq7QhQczMAOhEaaN29ZprjQzsA2X/UauKzLR2Uyqc2qOeO9/YOl0H3qauo8C/W9\nr8xqPbOCDLEXlOQ19fidXyyEPHEq5WFp8j+fTh+s8WOx2M7IuC0ANEetIZURYhSp\nxl9XOPRCJxOhj7JdelhpweX0BJDNHeUFi0ClnFOws8oKQ7sQEv66d5ddxqqZ3NVv\nRbCvCtEutQMOUMIuaygDlMn1anSM8N7Wndx8G6+Uy67AnhjGx7jw/0YPPxopEj6x\nJXP8j0sJbcT9K/9/fPVLNT25RvQ/93T2+IQL4Ca2\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIEBzCCAu+gAwIBAgICYpgwDQYJKoZIhvcNAQELBQAwgY8xCzAJBgNVBAYTAlVT\nMRAwDgYDVQQHDAdTZWF0dGxlMRMwEQYDVQQIDApXYXNoaW5ndG9uMSIwIAYDVQQK\nDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRT\nMSAwHgYDVQQDDBdBbWF6b24gUkRTIFJvb3QgMjAxOSBDQTAeFw0xOTA5MTExNzMx\nNDhaFw0yNDA4MjIxNzA4NTBaMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECAwKV2Fz\naGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEiMCAGA1UECgwZQW1hem9uIFdlYiBT\nZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzElMCMGA1UEAwwcQW1h\nem9uIFJEUyBldS13ZXN0LTEgMjAxOSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP\nADCCAQoCggEBAMk3YdSZ64iAYp6MyyKtYJtNzv7zFSnnNf6vv0FB4VnfITTMmOyZ\nLXqKAT2ahZ00hXi34ewqJElgU6eUZT/QlzdIu359TEZyLVPwURflL6SWgdG01Q5X\nO++7fSGcBRyIeuQWs9FJNIIqK8daF6qw0Rl5TXfu7P9dBc3zkgDXZm2DHmxGDD69\n7liQUiXzoE1q2Z9cA8+jirDioJxN9av8hQt12pskLQumhlArsMIhjhHRgF03HOh5\ntvi+RCfihVOxELyIRTRpTNiIwAqfZxxTWFTgfn+gijTmd0/1DseAe82aYic8JbuS\nEMbrDduAWsqrnJ4GPzxHKLXX0JasCUcWyMECAwEAAaNmMGQwDgYDVR0PAQH/BAQD\nAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFPLtsq1NrwJXO13C9eHt\nsLY11AGwMB8GA1UdIwQYMBaAFHNfYNi8ywOY9CsXNC42WqZg/7wfMA0GCSqGSIb3\nDQEBCwUAA4IBAQAnWBKj5xV1A1mYd0kIgDdkjCwQkiKF5bjIbGkT3YEFFbXoJlSP\n0lZZ/hDaOHI8wbLT44SzOvPEEmWF9EE7SJzkvSdQrUAWR9FwDLaU427ALI3ngNHy\nlGJ2hse1fvSRNbmg8Sc9GBv8oqNIBPVuw+AJzHTacZ1OkyLZrz1c1QvwvwN2a+Jd\nvH0V0YIhv66llKcYDMUQJAQi4+8nbRxXWv6Gq3pvrFoorzsnkr42V3JpbhnYiK+9\nnRKd4uWl62KRZjGkfMbmsqZpj2fdSWMY1UGyN1k+kDmCSWYdrTRDP0xjtIocwg+A\nJ116n4hV/5mbA0BaPiS2krtv17YAeHABZcvz\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIECjCCAvKgAwIBAgICV2YwDQYJKoZIhvcNAQELBQAwgY8xCzAJBgNVBAYTAlVT\nMRAwDgYDVQQHDAdTZWF0dGxlMRMwEQYDVQQIDApXYXNoaW5ndG9uMSIwIAYDVQQK\nDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRT\nMSAwHgYDVQQDDBdBbWF6b24gUkRTIFJvb3QgMjAxOSBDQTAeFw0xOTA5MTExOTM2\nMjBaFw0yNDA4MjIxNzA4NTBaMIGXMQswCQYDVQQGEwJVUzETMBEGA1UECAwKV2Fz\naGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEiMCAGA1UECgwZQW1hem9uIFdlYiBT\nZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzEoMCYGA1UEAwwfQW1h\nem9uIFJEUyBldS1jZW50cmFsLTEgMjAxOSBDQTCCASIwDQYJKoZIhvcNAQEBBQAD\nggEPADCCAQoCggEBAMEx54X2pHVv86APA0RWqxxRNmdkhAyp2R1cFWumKQRofoFv\nn+SPXdkpIINpMuEIGJANozdiEz7SPsrAf8WHyD93j/ZxrdQftRcIGH41xasetKGl\nI67uans8d+pgJgBKGb/Z+B5m+UsIuEVekpvgpwKtmmaLFC/NCGuSsJoFsRqoa6Gh\nm34W6yJoY87UatddCqLY4IIXaBFsgK9Q/wYzYLbnWM6ZZvhJ52VMtdhcdzeTHNW0\n5LGuXJOF7Ahb4JkEhoo6TS2c0NxB4l4MBfBPgti+O7WjR3FfZHpt18A6Zkq6A2u6\nD/oTSL6c9/3sAaFTFgMyL3wHb2YlW0BPiljZIqECAwEAAaNmMGQwDgYDVR0PAQH/\nBAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFOcAToAc6skWffJa\nTnreaswAfrbcMB8GA1UdIwQYMBaAFHNfYNi8ywOY9CsXNC42WqZg/7wfMA0GCSqG\nSIb3DQEBCwUAA4IBAQA1d0Whc1QtspK496mFWfFEQNegLh0a9GWYlJm+Htcj5Nxt\nDAIGXb+8xrtOZFHmYP7VLCT5Zd2C+XytqseK/+s07iAr0/EPF+O2qcyQWMN5KhgE\ncXw2SwuP9FPV3i+YAm11PBVeenrmzuk9NrdHQ7TxU4v7VGhcsd2C++0EisrmquWH\nmgIfmVDGxphwoES52cY6t3fbnXmTkvENvR+h3rj+fUiSz0aSo+XZUGHPgvuEKM/W\nCBD9Smc9CBoBgvy7BgHRgRUmwtABZHFUIEjHI5rIr7ZvYn+6A0O6sogRfvVYtWFc\nqpyrW1YX8mD0VlJ8fGKM3G+aCOsiiPKDV/Uafrm+\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIECDCCAvCgAwIBAgICGAcwDQYJKoZIhvcNAQELBQAwgY8xCzAJBgNVBAYTAlVT\nMRAwDgYDVQQHDAdTZWF0dGxlMRMwEQYDVQQIDApXYXNoaW5ndG9uMSIwIAYDVQQK\nDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRT\nMSAwHgYDVQQDDBdBbWF6b24gUkRTIFJvb3QgMjAxOSBDQTAeFw0xOTA5MTIxODE5\nNDRaFw0yNDA4MjIxNzA4NTBaMIGVMQswCQYDVQQGEwJVUzETMBEGA1UECAwKV2Fz\naGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEiMCAGA1UECgwZQW1hem9uIFdlYiBT\nZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzEmMCQGA1UEAwwdQW1h\nem9uIFJEUyBldS1ub3J0aC0xIDIwMTkgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IB\nDwAwggEKAoIBAQCiIYnhe4UNBbdBb/nQxl5giM0XoVHWNrYV5nB0YukA98+TPn9v\nAoj1RGYmtryjhrf01Kuv8SWO+Eom95L3zquoTFcE2gmxCfk7bp6qJJ3eHOJB+QUO\nXsNRh76fwDzEF1yTeZWH49oeL2xO13EAx4PbZuZpZBttBM5zAxgZkqu4uWQczFEs\nJXfla7z2fvWmGcTagX10O5C18XaFroV0ubvSyIi75ue9ykg/nlFAeB7O0Wxae88e\nuhiBEFAuLYdqWnsg3459NfV8Yi1GnaitTym6VI3tHKIFiUvkSiy0DAlAGV2iiyJE\nq+DsVEO4/hSINJEtII4TMtysOsYPpINqeEzRAgMBAAGjZjBkMA4GA1UdDwEB/wQE\nAwIBBjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBRR0UpnbQyjnHChgmOc\nhnlc0PogzTAfBgNVHSMEGDAWgBRzX2DYvMsDmPQrFzQuNlqmYP+8HzANBgkqhkiG\n9w0BAQsFAAOCAQEAKJD4xVzSf4zSGTBJrmamo86jl1NHQxXUApAZuBZEc8tqC6TI\nT5CeoSr9CMuVC8grYyBjXblC4OsM5NMvmsrXl/u5C9dEwtBFjo8mm53rOOIm1fxl\nI1oYB/9mtO9ANWjkykuLzWeBlqDT/i7ckaKwalhLODsRDO73vRhYNjsIUGloNsKe\npxw3dzHwAZx4upSdEVG4RGCZ1D0LJ4Gw40OfD69hfkDfRVVxKGrbEzqxXRvovmDc\ntKLdYZO/6REoca36v4BlgIs1CbUXJGLSXUwtg7YXGLSVBJ/U0+22iGJmBSNcoyUN\ncjPFD9JQEhDDIYYKSGzIYpvslvGc4T5ISXFiuQ==\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIEBzCCAu+gAwIBAgICZIEwDQYJKoZIhvcNAQELBQAwgY8xCzAJBgNVBAYTAlVT\nMRAwDgYDVQQHDAdTZWF0dGxlMRMwEQYDVQQIDApXYXNoaW5ndG9uMSIwIAYDVQQK\nDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRT\nMSAwHgYDVQQDDBdBbWF6b24gUkRTIFJvb3QgMjAxOSBDQTAeFw0xOTA5MTIyMTMy\nMzJaFw0yNDA4MjIxNzA4NTBaMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECAwKV2Fz\naGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEiMCAGA1UECgwZQW1hem9uIFdlYiBT\nZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzElMCMGA1UEAwwcQW1h\nem9uIFJEUyBldS13ZXN0LTIgMjAxOSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP\nADCCAQoCggEBALGiwqjiF7xIjT0Sx7zB3764K2T2a1DHnAxEOr+/EIftWKxWzT3u\nPFwS2eEZcnKqSdRQ+vRzonLBeNLO4z8aLjQnNbkizZMBuXGm4BqRm1Kgq3nlLDQn\n7YqdijOq54SpShvR/8zsO4sgMDMmHIYAJJOJqBdaus2smRt0NobIKc0liy7759KB\n6kmQ47Gg+kfIwxrQA5zlvPLeQImxSoPi9LdbRoKvu7Iot7SOa+jGhVBh3VdqndJX\n7tm/saj4NE375csmMETFLAOXjat7zViMRwVorX4V6AzEg1vkzxXpA9N7qywWIT5Y\nfYaq5M8i6vvLg0CzrH9fHORtnkdjdu1y+0MCAwEAAaNmMGQwDgYDVR0PAQH/BAQD\nAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFFOhOx1yt3Z7mvGB9jBv\n2ymdZwiOMB8GA1UdIwQYMBaAFHNfYNi8ywOY9CsXNC42WqZg/7wfMA0GCSqGSIb3\nDQEBCwUAA4IBAQBehqY36UGDvPVU9+vtaYGr38dBbp+LzkjZzHwKT1XJSSUc2wqM\nhnCIQKilonrTIvP1vmkQi8qHPvDRtBZKqvz/AErW/ZwQdZzqYNFd+BmOXaeZWV0Q\noHtDzXmcwtP8aUQpxN0e1xkWb1E80qoy+0uuRqb/50b/R4Q5qqSfJhkn6z8nwB10\n7RjLtJPrK8igxdpr3tGUzfAOyiPrIDncY7UJaL84GFp7WWAkH0WG3H8Y8DRcRXOU\nmqDxDLUP3rNuow3jnGxiUY+gGX5OqaZg4f4P6QzOSmeQYs6nLpH0PiN00+oS1BbD\nbpWdZEttILPI+vAYkU4QuBKKDjJL6HbSd+cn\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIECDCCAvCgAwIBAgIDAIVCMA0GCSqGSIb3DQEBCwUAMIGPMQswCQYDVQQGEwJV\nUzEQMA4GA1UEBwwHU2VhdHRsZTETMBEGA1UECAwKV2FzaGluZ3RvbjEiMCAGA1UE\nCgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJE\nUzEgMB4GA1UEAwwXQW1hem9uIFJEUyBSb290IDIwMTkgQ0EwHhcNMTkwOTEzMTcw\nNjQxWhcNMjQwODIyMTcwODUwWjCBlDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCldh\nc2hpbmd0b24xEDAOBgNVBAcMB1NlYXR0bGUxIjAgBgNVBAoMGUFtYXpvbiBXZWIg\nU2VydmljZXMsIEluYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMxJTAjBgNVBAMMHEFt\nYXpvbiBSRFMgdXMtZWFzdC0yIDIwMTkgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IB\nDwAwggEKAoIBAQDE+T2xYjUbxOp+pv+gRA3FO24+1zCWgXTDF1DHrh1lsPg5k7ht\n2KPYzNc+Vg4E+jgPiW0BQnA6jStX5EqVh8BU60zELlxMNvpg4KumniMCZ3krtMUC\nau1NF9rM7HBh+O+DYMBLK5eSIVt6lZosOb7bCi3V6wMLA8YqWSWqabkxwN4w0vXI\n8lu5uXXFRemHnlNf+yA/4YtN4uaAyd0ami9+klwdkZfkrDOaiy59haOeBGL8EB/c\ndbJJlguHH5CpCscs3RKtOOjEonXnKXldxarFdkMzi+aIIjQ8GyUOSAXHtQHb3gZ4\nnS6Ey0CMlwkB8vUObZU9fnjKJcL5QCQqOfwvAgMBAAGjZjBkMA4GA1UdDwEB/wQE\nAwIBBjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBQUPuRHohPxx4VjykmH\n6usGrLL1ETAfBgNVHSMEGDAWgBRzX2DYvMsDmPQrFzQuNlqmYP+8HzANBgkqhkiG\n9w0BAQsFAAOCAQEAUdR9Vb3y33Yj6X6KGtuthZ08SwjImVQPtknzpajNE5jOJAh8\nquvQnU9nlnMO85fVDU1Dz3lLHGJ/YG1pt1Cqq2QQ200JcWCvBRgdvH6MjHoDQpqZ\nHvQ3vLgOGqCLNQKFuet9BdpsHzsctKvCVaeBqbGpeCtt3Hh/26tgx0rorPLw90A2\nV8QSkZJjlcKkLa58N5CMM8Xz8KLWg3MZeT4DmlUXVCukqK2RGuP2L+aME8dOxqNv\nOnOz1zrL5mR2iJoDpk8+VE/eBDmJX40IJk6jBjWoxAO/RXq+vBozuF5YHN1ujE92\ntO8HItgTp37XT8bJBAiAnt5mxw+NLSqtxk2QdQ==\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIEDDCCAvSgAwIBAgICY4kwDQYJKoZIhvcNAQELBQAwgY8xCzAJBgNVBAYTAlVT\nMRAwDgYDVQQHDAdTZWF0dGxlMRMwEQYDVQQIDApXYXNoaW5ndG9uMSIwIAYDVQQK\nDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRT\nMSAwHgYDVQQDDBdBbWF6b24gUkRTIFJvb3QgMjAxOSBDQTAeFw0xOTA5MTMyMDEx\nNDJaFw0yNDA4MjIxNzA4NTBaMIGZMQswCQYDVQQGEwJVUzETMBEGA1UECAwKV2Fz\naGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEiMCAGA1UECgwZQW1hem9uIFdlYiBT\nZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzEqMCgGA1UEAwwhQW1h\nem9uIFJEUyBhcC1zb3V0aGVhc3QtMSAyMDE5IENBMIIBIjANBgkqhkiG9w0BAQEF\nAAOCAQ8AMIIBCgKCAQEAr5u9OuLL/OF/fBNUX2kINJLzFl4DnmrhnLuSeSnBPgbb\nqddjf5EFFJBfv7IYiIWEFPDbDG5hoBwgMup5bZDbas+ZTJTotnnxVJTQ6wlhTmns\neHECcg2pqGIKGrxZfbQhlj08/4nNAPvyYCTS0bEcmQ1emuDPyvJBYDDLDU6AbCB5\n6Z7YKFQPTiCBblvvNzchjLWF9IpkqiTsPHiEt21sAdABxj9ityStV3ja/W9BfgxH\nwzABSTAQT6FbDwmQMo7dcFOPRX+hewQSic2Rn1XYjmNYzgEHisdUsH7eeXREAcTw\n61TRvaLH8AiOWBnTEJXPAe6wYfrcSd1pD0MXpoB62wIDAQABo2YwZDAOBgNVHQ8B\nAf8EBAMCAQYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUytwMiomQOgX5\nIchd+2lDWRUhkikwHwYDVR0jBBgwFoAUc19g2LzLA5j0Kxc0LjZapmD/vB8wDQYJ\nKoZIhvcNAQELBQADggEBACf6lRDpfCD7BFRqiWM45hqIzffIaysmVfr+Jr+fBTjP\nuYe/ba1omSrNGG23bOcT9LJ8hkQJ9d+FxUwYyICQNWOy6ejicm4z0C3VhphbTPqj\nyjpt9nG56IAcV8BcRJh4o/2IfLNzC/dVuYJV8wj7XzwlvjysenwdrJCoLadkTr1h\neIdG6Le07sB9IxrGJL9e04afk37h7c8ESGSE4E+oS4JQEi3ATq8ne1B9DQ9SasXi\nIRmhNAaISDzOPdyLXi9N9V9Lwe/DHcja7hgLGYx3UqfjhLhOKwp8HtoZORixAmOI\nHfILgNmwyugAbuZoCazSKKBhQ0wgO0WZ66ZKTMG8Oho=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIEBzCCAu+gAwIBAgICUYkwDQYJKoZIhvcNAQELBQAwgY8xCzAJBgNVBAYTAlVT\nMRAwDgYDVQQHDAdTZWF0dGxlMRMwEQYDVQQIDApXYXNoaW5ndG9uMSIwIAYDVQQK\nDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRT\nMSAwHgYDVQQDDBdBbWF6b24gUkRTIFJvb3QgMjAxOSBDQTAeFw0xOTA5MTYxODIx\nMTVaFw0yNDA4MjIxNzA4NTBaMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECAwKV2Fz\naGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEiMCAGA1UECgwZQW1hem9uIFdlYiBT\nZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzElMCMGA1UEAwwcQW1h\nem9uIFJEUyB1cy13ZXN0LTIgMjAxOSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP\nADCCAQoCggEBANCEZBZyu6yJQFZBJmSUZfSZd3Ui2gitczMKC4FLr0QzkbxY+cLa\nuVONIOrPt4Rwi+3h/UdnUg917xao3S53XDf1TDMFEYp4U8EFPXqCn/GXBIWlU86P\nPvBN+gzw3nS+aco7WXb+woTouvFVkk8FGU7J532llW8o/9ydQyDIMtdIkKTuMfho\nOiNHSaNc+QXQ32TgvM9A/6q7ksUoNXGCP8hDOkSZ/YOLiI5TcdLh/aWj00ziL5bj\npvytiMZkilnc9dLY9QhRNr0vGqL0xjmWdoEXz9/OwjmCihHqJq+20MJPsvFm7D6a\n2NKybR9U+ddrjb8/iyLOjURUZnj5O+2+OPcCAwEAAaNmMGQwDgYDVR0PAQH/BAQD\nAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFEBxMBdv81xuzqcK5TVu\npHj+Aor8MB8GA1UdIwQYMBaAFHNfYNi8ywOY9CsXNC42WqZg/7wfMA0GCSqGSIb3\nDQEBCwUAA4IBAQBZkfiVqGoJjBI37aTlLOSjLcjI75L5wBrwO39q+B4cwcmpj58P\n3sivv+jhYfAGEbQnGRzjuFoyPzWnZ1DesRExX+wrmHsLLQbF2kVjLZhEJMHF9eB7\nGZlTPdTzHErcnuXkwA/OqyXMpj9aghcQFuhCNguEfnROY9sAoK2PTfnTz9NJHL+Q\nUpDLEJEUfc0GZMVWYhahc0x38ZnSY2SKacIPECQrTI0KpqZv/P+ijCEcMD9xmYEb\njL4en+XKS1uJpw5fIU5Sj0MxhdGstH6S84iAE5J3GM3XHklGSFwwqPYvuTXvANH6\nuboynxRgSae59jIlAK6Jrr6GWMwQRbgcaAlW\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIEDDCCAvSgAwIBAgICEkYwDQYJKoZIhvcNAQELBQAwgY8xCzAJBgNVBAYTAlVT\nMRAwDgYDVQQHDAdTZWF0dGxlMRMwEQYDVQQIDApXYXNoaW5ndG9uMSIwIAYDVQQK\nDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRT\nMSAwHgYDVQQDDBdBbWF6b24gUkRTIFJvb3QgMjAxOSBDQTAeFw0xOTA5MTYxOTUz\nNDdaFw0yNDA4MjIxNzA4NTBaMIGZMQswCQYDVQQGEwJVUzETMBEGA1UECAwKV2Fz\naGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEiMCAGA1UECgwZQW1hem9uIFdlYiBT\nZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzEqMCgGA1UEAwwhQW1h\nem9uIFJEUyBhcC1zb3V0aGVhc3QtMiAyMDE5IENBMIIBIjANBgkqhkiG9w0BAQEF\nAAOCAQ8AMIIBCgKCAQEAufodI2Flker8q7PXZG0P0vmFSlhQDw907A6eJuF/WeMo\nGHnll3b4S6nC3oRS3nGeRMHbyU2KKXDwXNb3Mheu+ox+n5eb/BJ17eoj9HbQR1cd\ngEkIciiAltf8gpMMQH4anP7TD+HNFlZnP7ii3geEJB2GGXSxgSWvUzH4etL67Zmn\nTpGDWQMB0T8lK2ziLCMF4XAC/8xDELN/buHCNuhDpxpPebhct0T+f6Arzsiswt2j\n7OeNeLLZwIZvVwAKF7zUFjC6m7/VmTQC8nidVY559D6l0UhhU0Co/txgq3HVsMOH\nPbxmQUwJEKAzQXoIi+4uZzHFZrvov/nDTNJUhC6DqwIDAQABo2YwZDAOBgNVHQ8B\nAf8EBAMCAQYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUwaZpaCme+EiV\nM5gcjeHZSTgOn4owHwYDVR0jBBgwFoAUc19g2LzLA5j0Kxc0LjZapmD/vB8wDQYJ\nKoZIhvcNAQELBQADggEBAAR6a2meCZuXO2TF9bGqKGtZmaah4pH2ETcEVUjkvXVz\nsl+ZKbYjrun+VkcMGGKLUjS812e7eDF726ptoku9/PZZIxlJB0isC/0OyixI8N4M\nNsEyvp52XN9QundTjkl362bomPnHAApeU0mRbMDRR2JdT70u6yAzGLGsUwMkoNnw\n1VR4XKhXHYGWo7KMvFrZ1KcjWhubxLHxZWXRulPVtGmyWg/MvE6KF+2XMLhojhUL\n+9jB3Fpn53s6KMx5tVq1x8PukHmowcZuAF8k+W4gk8Y68wIwynrdZrKRyRv6CVtR\nFZ8DeJgoNZT3y/GT254VqMxxfuy2Ccb/RInd16tEvVk=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIEDDCCAvSgAwIBAgICOYIwDQYJKoZIhvcNAQELBQAwgY8xCzAJBgNVBAYTAlVT\nMRAwDgYDVQQHDAdTZWF0dGxlMRMwEQYDVQQIDApXYXNoaW5ndG9uMSIwIAYDVQQK\nDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRT\nMSAwHgYDVQQDDBdBbWF6b24gUkRTIFJvb3QgMjAxOSBDQTAeFw0xOTA5MTcyMDA1\nMjlaFw0yNDA4MjIxNzA4NTBaMIGZMQswCQYDVQQGEwJVUzETMBEGA1UECAwKV2Fz\naGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEiMCAGA1UECgwZQW1hem9uIFdlYiBT\nZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzEqMCgGA1UEAwwhQW1h\nem9uIFJEUyBhcC1ub3J0aGVhc3QtMyAyMDE5IENBMIIBIjANBgkqhkiG9w0BAQEF\nAAOCAQ8AMIIBCgKCAQEA4dMak8W+XW8y/2F6nRiytFiA4XLwePadqWebGtlIgyCS\nkbug8Jv5w7nlMkuxOxoUeD4WhI6A9EkAn3r0REM/2f0aYnd2KPxeqS2MrtdxxHw1\nxoOxk2x0piNSlOz6yog1idsKR5Wurf94fvM9FdTrMYPPrDabbGqiBMsZZmoHLvA3\nZ+57HEV2tU0Ei3vWeGIqnNjIekS+E06KhASxrkNU5vi611UsnYZlSi0VtJsH4UGV\nLhnHl53aZL0YFO5mn/fzuNG/51qgk/6EFMMhaWInXX49Dia9FnnuWXwVwi6uX1Wn\n7kjoHi5VtmC8ZlGEHroxX2DxEr6bhJTEpcLMnoQMqwIDAQABo2YwZDAOBgNVHQ8B\nAf8EBAMCAQYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUsUI5Cb3SWB8+\ngv1YLN/ABPMdxSAwHwYDVR0jBBgwFoAUc19g2LzLA5j0Kxc0LjZapmD/vB8wDQYJ\nKoZIhvcNAQELBQADggEBAJAF3E9PM1uzVL8YNdzb6fwJrxxqI2shvaMVmC1mXS+w\nG0zh4v2hBZOf91l1EO0rwFD7+fxoI6hzQfMxIczh875T6vUXePKVOCOKI5wCrDad\nzQbVqbFbdhsBjF4aUilOdtw2qjjs9JwPuB0VXN4/jY7m21oKEOcnpe36+7OiSPjN\nxngYewCXKrSRqoj3mw+0w/+exYj3Wsush7uFssX18av78G+ehKPIVDXptOCP/N7W\n8iKVNeQ2QGTnu2fzWsGUSvMGyM7yqT+h1ILaT//yQS8er511aHMLc142bD4D9VSy\nDgactwPDTShK/PXqhvNey9v/sKXm4XatZvwcc8KYlW4=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIEDDCCAvSgAwIBAgICcEUwDQYJKoZIhvcNAQELBQAwgY8xCzAJBgNVBAYTAlVT\nMRAwDgYDVQQHDAdTZWF0dGxlMRMwEQYDVQQIDApXYXNoaW5ndG9uMSIwIAYDVQQK\nDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRT\nMSAwHgYDVQQDDBdBbWF6b24gUkRTIFJvb3QgMjAxOSBDQTAeFw0xOTA5MTgxNjU2\nMjBaFw0yNDA4MjIxNzA4NTBaMIGZMQswCQYDVQQGEwJVUzETMBEGA1UECAwKV2Fz\naGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEiMCAGA1UECgwZQW1hem9uIFdlYiBT\nZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzEqMCgGA1UEAwwhQW1h\nem9uIFJEUyBhcC1ub3J0aGVhc3QtMSAyMDE5IENBMIIBIjANBgkqhkiG9w0BAQEF\nAAOCAQ8AMIIBCgKCAQEAndtkldmHtk4TVQAyqhAvtEHSMb6pLhyKrIFved1WO3S7\n+I+bWwv9b2W/ljJxLq9kdT43bhvzonNtI4a1LAohS6bqyirmk8sFfsWT3akb+4Sx\n1sjc8Ovc9eqIWJCrUiSvv7+cS7ZTA9AgM1PxvHcsqrcUXiK3Jd/Dax9jdZE1e15s\nBEhb2OEPE+tClFZ+soj8h8Pl2Clo5OAppEzYI4LmFKtp1X/BOf62k4jviXuCSst3\nUnRJzE/CXtjmN6oZySVWSe0rQYuyqRl6//9nK40cfGKyxVnimB8XrrcxUN743Vud\nQQVU0Esm8OVTX013mXWQXJHP2c0aKkog8LOga0vobQIDAQABo2YwZDAOBgNVHQ8B\nAf8EBAMCAQYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQULmoOS1mFSjj+\nsnUPx4DgS3SkLFYwHwYDVR0jBBgwFoAUc19g2LzLA5j0Kxc0LjZapmD/vB8wDQYJ\nKoZIhvcNAQELBQADggEBAAkVL2P1M2/G9GM3DANVAqYOwmX0Xk58YBHQu6iiQg4j\nb4Ky/qsZIsgT7YBsZA4AOcPKQFgGTWhe9pvhmXqoN3RYltN8Vn7TbUm/ZVDoMsrM\ngwv0+TKxW1/u7s8cXYfHPiTzVSJuOogHx99kBW6b2f99GbP7O1Sv3sLq4j6lVvBX\nFiacf5LAWC925nvlTzLlBgIc3O9xDtFeAGtZcEtxZJ4fnGXiqEnN4539+nqzIyYq\nnvlgCzyvcfRAxwltrJHuuRu6Maw5AGcd2Y0saMhqOVq9KYKFKuD/927BTrbd2JVf\n2sGWyuPZPCk3gq+5pCjbD0c6DkhcMGI6WwxvM5V/zSM=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIEBzCCAu+gAwIBAgICJDQwDQYJKoZIhvcNAQELBQAwgY8xCzAJBgNVBAYTAlVT\nMRAwDgYDVQQHDAdTZWF0dGxlMRMwEQYDVQQIDApXYXNoaW5ndG9uMSIwIAYDVQQK\nDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRT\nMSAwHgYDVQQDDBdBbWF6b24gUkRTIFJvb3QgMjAxOSBDQTAeFw0xOTA5MTgxNzAz\nMTVaFw0yNDA4MjIxNzA4NTBaMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECAwKV2Fz\naGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEiMCAGA1UECgwZQW1hem9uIFdlYiBT\nZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzElMCMGA1UEAwwcQW1h\nem9uIFJEUyBldS13ZXN0LTMgMjAxOSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP\nADCCAQoCggEBAL9bL7KE0n02DLVtlZ2PL+g/BuHpMYFq2JnE2RgompGurDIZdjmh\n1pxfL3nT+QIVMubuAOy8InRfkRxfpxyjKYdfLJTPJG+jDVL+wDcPpACFVqoV7Prg\npVYEV0lc5aoYw4bSeYFhdzgim6F8iyjoPnObjll9mo4XsHzSoqJLCd0QC+VG9Fw2\nq+GDRZrLRmVM2oNGDRbGpGIFg77aRxRapFZa8SnUgs2AqzuzKiprVH5i0S0M6dWr\ni+kk5epmTtkiDHceX+dP/0R1NcnkCPoQ9TglyXyPdUdTPPRfKCq12dftqll+u4mV\nARdN6WFjovxax8EAP2OAUTi1afY+1JFMj+sCAwEAAaNmMGQwDgYDVR0PAQH/BAQD\nAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFLfhrbrO5exkCVgxW0x3\nY2mAi8lNMB8GA1UdIwQYMBaAFHNfYNi8ywOY9CsXNC42WqZg/7wfMA0GCSqGSIb3\nDQEBCwUAA4IBAQAigQ5VBNGyw+OZFXwxeJEAUYaXVoP/qrhTOJ6mCE2DXUVEoJeV\nSxScy/TlFA9tJXqmit8JH8VQ/xDL4ubBfeMFAIAo4WzNWDVoeVMqphVEcDWBHsI1\nAETWzfsapRS9yQekOMmxg63d/nV8xewIl8aNVTHdHYXMqhhik47VrmaVEok1UQb3\nO971RadLXIEbVd9tjY5bMEHm89JsZDnDEw1hQXBb67Elu64OOxoKaHBgUH8AZn/2\nzFsL1ynNUjOhCSAA15pgd1vjwc0YsBbAEBPcHBWYBEyME6NLNarjOzBl4FMtATSF\nwWCKRGkvqN8oxYhwR2jf2rR5Mu4DWkK5Q8Ep\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIEBzCCAu+gAwIBAgICJVUwDQYJKoZIhvcNAQELBQAwgY8xCzAJBgNVBAYTAlVT\nMRAwDgYDVQQHDAdTZWF0dGxlMRMwEQYDVQQIDApXYXNoaW5ndG9uMSIwIAYDVQQK\nDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRT\nMSAwHgYDVQQDDBdBbWF6b24gUkRTIFJvb3QgMjAxOSBDQTAeFw0xOTA5MTkxODE2\nNTNaFw0yNDA4MjIxNzA4NTBaMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECAwKV2Fz\naGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEiMCAGA1UECgwZQW1hem9uIFdlYiBT\nZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzElMCMGA1UEAwwcQW1h\nem9uIFJEUyB1cy1lYXN0LTEgMjAxOSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP\nADCCAQoCggEBAM3i/k2u6cqbMdcISGRvh+m+L0yaSIoOXjtpNEoIftAipTUYoMhL\nInXGlQBVA4shkekxp1N7HXe1Y/iMaPEyb3n+16pf3vdjKl7kaSkIhjdUz3oVUEYt\ni8Z/XeJJ9H2aEGuiZh3kHixQcZczn8cg3dA9aeeyLSEnTkl/npzLf//669Ammyhs\nXcAo58yvT0D4E0D/EEHf2N7HRX7j/TlyWvw/39SW0usiCrHPKDLxByLojxLdHzso\nQIp/S04m+eWn6rmD+uUiRteN1hI5ncQiA3wo4G37mHnUEKo6TtTUh+sd/ku6a8HK\nglMBcgqudDI90s1OpuIAWmuWpY//8xEG2YECAwEAAaNmMGQwDgYDVR0PAQH/BAQD\nAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFPqhoWZcrVY9mU7tuemR\nRBnQIj1jMB8GA1UdIwQYMBaAFHNfYNi8ywOY9CsXNC42WqZg/7wfMA0GCSqGSIb3\nDQEBCwUAA4IBAQB6zOLZ+YINEs72heHIWlPZ8c6WY8MDU+Be5w1M+BK2kpcVhCUK\nPJO4nMXpgamEX8DIiaO7emsunwJzMSvavSPRnxXXTKIc0i/g1EbiDjnYX9d85DkC\nE1LaAUCmCZBVi9fIe0H2r9whIh4uLWZA41oMnJx/MOmo3XyMfQoWcqaSFlMqfZM4\n0rNoB/tdHLNuV4eIdaw2mlHxdWDtF4oH+HFm+2cVBUVC1jXKrFv/euRVtsTT+A6i\nh2XBHKxQ1Y4HgAn0jACP2QSPEmuoQEIa57bEKEcZsBR8SDY6ZdTd2HLRIApcCOSF\nMRM8CKLeF658I0XgF8D5EsYoKPsA+74Z+jDH\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIEETCCAvmgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgZQxCzAJBgNVBAYTAlVT\nMRAwDgYDVQQHDAdTZWF0dGxlMRMwEQYDVQQIDApXYXNoaW5ndG9uMSIwIAYDVQQK\nDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRT\nMSUwIwYDVQQDDBxBbWF6b24gUkRTIEJldGEgUm9vdCAyMDE5IENBMB4XDTE5MDgy\nMDE3MTAwN1oXDTI0MDgxOTE3MzgyNlowgZkxCzAJBgNVBAYTAlVTMRMwEQYDVQQI\nDApXYXNoaW5ndG9uMRAwDgYDVQQHDAdTZWF0dGxlMSIwIAYDVQQKDBlBbWF6b24g\nV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMSowKAYDVQQD\nDCFBbWF6b24gUkRTIEJldGEgdXMtZWFzdC0xIDIwMTkgQ0EwggEiMA0GCSqGSIb3\nDQEBAQUAA4IBDwAwggEKAoIBAQDTNCOlotQcLP8TP82U2+nk0bExVuuMVOgFeVMx\nvbUHZQeIj9ikjk+jm6eTDnnkhoZcmJiJgRy+5Jt69QcRbb3y3SAU7VoHgtraVbxF\nQDh7JEHI9tqEEVOA5OvRrDRcyeEYBoTDgh76ROco2lR+/9uCvGtHVrMCtG7BP7ZB\nsSVNAr1IIRZZqKLv2skKT/7mzZR2ivcw9UeBBTUf8xsfiYVBvMGoEsXEycjYdf6w\nWV+7XS7teNOc9UgsFNN+9AhIBc1jvee5E//72/4F8pAttAg/+mmPUyIKtekNJ4gj\nOAR2VAzGx1ybzWPwIgOudZFHXFduxvq4f1hIRPH0KbQ/gkRrAgMBAAGjZjBkMA4G\nA1UdDwEB/wQEAwIBBjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBTkvpCD\n6C43rar9TtJoXr7q8dkrrjAfBgNVHSMEGDAWgBStoQwVpbGx87fxB3dEGDqKKnBT\n4TANBgkqhkiG9w0BAQsFAAOCAQEAJd9fOSkwB3uVdsS+puj6gCER8jqmhd3g/J5V\nZjk9cKS8H0e8pq/tMxeJ8kpurPAzUk5RkCspGt2l0BSwmf3ahr8aJRviMX6AuW3/\ng8aKplTvq/WMNGKLXONa3Sq8591J+ce8gtOX/1rDKmFI4wQ/gUzOSYiT991m7QKS\nFr6HMgFuz7RNJbb3Fy5cnurh8eYWA7mMv7laiLwTNsaro5qsqErD5uXuot6o9beT\na+GiKinEur35tNxAr47ax4IRubuIzyfCrezjfKc5raVV2NURJDyKP0m0CCaffAxE\nqn2dNfYc3v1D8ypg3XjHlOzRo32RB04o8ALHMD9LSwsYDLpMag==\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIEFzCCAv+gAwIBAgICFSUwDQYJKoZIhvcNAQELBQAwgZcxCzAJBgNVBAYTAlVT\nMRAwDgYDVQQHDAdTZWF0dGxlMRMwEQYDVQQIDApXYXNoaW5ndG9uMSIwIAYDVQQK\nDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRT\nMSgwJgYDVQQDDB9BbWF6b24gUkRTIFByZXZpZXcgUm9vdCAyMDE5IENBMB4XDTE5\nMDgyMTIyMzk0N1oXDTI0MDgyMTIyMjk0OVowgZwxCzAJBgNVBAYTAlVTMRMwEQYD\nVQQIDApXYXNoaW5ndG9uMRAwDgYDVQQHDAdTZWF0dGxlMSIwIAYDVQQKDBlBbWF6\nb24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMS0wKwYD\nVQQDDCRBbWF6b24gUkRTIFByZXZpZXcgdXMtZWFzdC0yIDIwMTkgQ0EwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQD0dB/U7qRnSf05wOi7m10Pa2uPMTJv\nr6U/3Y17a5prq5Zr4++CnSUYarG51YuIf355dKs+7Lpzs782PIwCmLpzAHKWzix6\npOaTQ+WZ0+vUMTxyqgqWbsBgSCyP7pVBiyqnmLC/L4az9XnscrbAX4pNaoJxsuQe\nmzBo6yofjQaAzCX69DuqxFkVTRQnVy7LCFkVaZtjNAftnAHJjVgQw7lIhdGZp9q9\nIafRt2gteihYfpn+EAQ/t/E4MnhrYs4CPLfS7BaYXBycEKC5Muj1l4GijNNQ0Efo\nxG8LSZz7SNgUvfVwiNTaqfLP3AtEAWiqxyMyh3VO+1HpCjT7uNBFtmF3AgMBAAGj\nZjBkMA4GA1UdDwEB/wQEAwIBBjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQW\nBBQtinkdrj+0B2+qdXngV2tgHnPIujAfBgNVHSMEGDAWgBRp0xqULkNh/w2ZVzEI\no2RIY7O03TANBgkqhkiG9w0BAQsFAAOCAQEAtJdqbCxDeMc8VN1/RzCabw9BIL/z\n73Auh8eFTww/sup26yn8NWUkfbckeDYr1BrXa+rPyLfHpg06kwR8rBKyrs5mHwJx\nbvOzXD/5WTdgreB+2Fb7mXNvWhenYuji1MF+q1R2DXV3I05zWHteKX6Dajmx+Uuq\nYq78oaCBSV48hMxWlp8fm40ANCL1+gzQ122xweMFN09FmNYFhwuW+Ao+Vv90ZfQG\nPYwTvN4n/gegw2TYcifGZC2PNX74q3DH03DXe5fvNgRW5plgz/7f+9mS+YHd5qa9\ntYTPUvoRbi169ou6jicsMKUKPORHWhiTpSCWR1FMMIbsAcsyrvtIsuaGCQ==\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIID/jCCAuagAwIBAgIQdOCSuA9psBpQd8EI368/0DANBgkqhkiG9w0BAQsFADCB\nlzELMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIElu\nYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTAwLgYDVQQDDCdB\nbWF6b24gUkRTIHNhLWVhc3QtMSBSb290IENBIFJTQTIwNDggRzExEDAOBgNVBAcM\nB1NlYXR0bGUwIBcNMjEwNTE5MTgwNjI2WhgPMjA2MTA1MTkxOTA2MjZaMIGXMQsw\nCQYDVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjET\nMBEGA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExMDAuBgNVBAMMJ0FtYXpv\nbiBSRFMgc2EtZWFzdC0xIFJvb3QgQ0EgUlNBMjA0OCBHMTEQMA4GA1UEBwwHU2Vh\ndHRsZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAN6ftL6w8v3dB2yW\nLjCxSP1D7ZsOTeLZOSCz1Zv0Gkd0XLhil5MdHOHBvwH/DrXqFU2oGzCRuAy+aZis\nDardJU6ChyIQIciXCO37f0K23edhtpXuruTLLwUwzeEPdcnLPCX+sWEn9Y5FPnVm\npCd6J8edH2IfSGoa9LdErkpuESXdidLym/w0tWG/O2By4TabkNSmpdrCL00cqI+c\nprA8Bx1jX8/9sY0gpAovtuFaRN+Ivg3PAnWuhqiSYyQ5nC2qDparOWuDiOhpY56E\nEgmTvjwqMMjNtExfYx6Rv2Ndu50TriiNKEZBzEtkekwXInTupmYTvc7U83P/959V\nUiQ+WSMCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU4uYHdH0+\nbUeh81Eq2l5/RJbW+vswDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4IB\nAQBhxcExJ+w74bvDknrPZDRgTeMLYgbVJjx2ExH7/Ac5FZZWcpUpFwWMIJJxtewI\nAnhryzM3tQYYd4CG9O+Iu0+h/VVfW7e4O3joWVkxNMb820kQSEwvZfA78aItGwOY\nWSaFNVRyloVicZRNJSyb1UL9EiJ9ldhxm4LTT0ax+4ontI7zTx6n6h8Sr6r/UOvX\nd9T5aUUENWeo6M9jGupHNn3BobtL7BZm2oS8wX8IVYj4tl0q5T89zDi2x0MxbsIV\n5ZjwqBQ5JWKv7ASGPb+z286RjPA9R2knF4lJVZrYuNV90rHvI/ECyt/JrDqeljGL\nBLl1W/UsvZo6ldLIpoMbbrb5\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIEBDCCAuygAwIBAgIQUfVbqapkLYpUqcLajpTJWzANBgkqhkiG9w0BAQsFADCB\nmjELMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIElu\nYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTMwMQYDVQQDDCpB\nbWF6b24gUkRTIG1lLWNlbnRyYWwtMSBSb290IENBIFJTQTIwNDggRzExEDAOBgNV\nBAcMB1NlYXR0bGUwIBcNMjIwNTA2MjMyMDA5WhgPMjA2MjA1MDcwMDIwMDlaMIGa\nMQswCQYDVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5j\nLjETMBEGA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExMzAxBgNVBAMMKkFt\nYXpvbiBSRFMgbWUtY2VudHJhbC0xIFJvb3QgQ0EgUlNBMjA0OCBHMTEQMA4GA1UE\nBwwHU2VhdHRsZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJIeovu3\newI9FVitXMQzvkh34aQ6WyI4NO3YepfJaePiv3cnyFGYHN2S1cR3UQcLWgypP5va\nj6bfroqwGbCbZZcb+6cyOB4ceKO9Ws1UkcaGHnNDcy5gXR7aCW2OGTUfinUuhd2d\n5bOGgV7JsPbpw0bwJ156+MwfOK40OLCWVbzy8B1kITs4RUPNa/ZJnvIbiMu9rdj4\n8y7GSFJLnKCjlOFUkNI5LcaYvI1+ybuNgphT3nuu5ZirvTswGakGUT/Q0J3dxP0J\npDfg5Sj/2G4gXiaM0LppVOoU5yEwVewhQ250l0eQAqSrwPqAkdTg9ng360zqCFPE\nJPPcgI1tdGUgneECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU\n/2AJVxWdZxc8eJgdpbwpW7b0f7IwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB\nCwUAA4IBAQBYm63jTu2qYKJ94gKnqc+oUgqmb1mTXmgmp/lXDbxonjszJDOXFbri\n3CCO7xB2sg9bd5YWY8sGKHaWmENj3FZpCmoefbUx++8D7Mny95Cz8R32rNcwsPTl\nebpd9A/Oaw5ug6M0x/cNr0qzF8Wk9Dx+nFEimp8RYQdKvLDfNFZHjPa1itnTiD8M\nTorAqj+VwnUGHOYBsT/0NY12tnwXdD+ATWfpEHdOXV+kTMqFFwDyhfgRVNpTc+os\nygr8SwhnSCpJPB/EYl2S7r+tgAbJOkuwUvGT4pTqrzDQEhwE7swgepnHC87zhf6l\nqN6mVpSnQKQLm6Ob5TeCEFgcyElsF5bH\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIICrjCCAjSgAwIBAgIRAOxu0I1QuMAhIeszB3fJIlkwCgYIKoZIzj0EAwMwgZYx\nCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMu\nMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTEvMC0GA1UEAwwmQW1h\nem9uIFJEUyB1cy13ZXN0LTIgUm9vdCBDQSBFQ0MzODQgRzExEDAOBgNVBAcMB1Nl\nYXR0bGUwIBcNMjEwNTI0MjIwNjU5WhgPMjEyMTA1MjQyMzA2NTlaMIGWMQswCQYD\nVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjETMBEG\nA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExLzAtBgNVBAMMJkFtYXpvbiBS\nRFMgdXMtd2VzdC0yIFJvb3QgQ0EgRUNDMzg0IEcxMRAwDgYDVQQHDAdTZWF0dGxl\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEz4bylRcGqqDWdP7gQIIoTHdBK6FNtKH1\n4SkEIXRXkYDmRvL9Bci1MuGrwuvrka5TDj4b7e+csY0llEzHpKfq6nJPFljoYYP9\nuqHFkv77nOpJJ633KOr8IxmeHW5RXgrZo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0G\nA1UdDgQWBBQQikVz8wmjd9eDFRXzBIU8OseiGzAOBgNVHQ8BAf8EBAMCAYYwCgYI\nKoZIzj0EAwMDaAAwZQIwf06Mcrpw1O0EBLBBrp84m37NYtOkE/0Z0O+C7D41wnXi\nEQdn6PXUVgdD23Gj82SrAjEAklhKs+liO1PtN15yeZR1Io98nFve+lLptaLakZcH\n+hfFuUtCqMbaI8CdvJlKnPqT\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIGCTCCA/GgAwIBAgIRALyWMTyCebLZOGcZZQmkmfcwDQYJKoZIhvcNAQEMBQAw\ngZwxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ\nbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTE1MDMGA1UEAwws\nQW1hem9uIFJEUyBhcC1ub3J0aGVhc3QtMyBSb290IENBIFJTQTQwOTYgRzExEDAO\nBgNVBAcMB1NlYXR0bGUwIBcNMjEwNTI0MjAyODAzWhgPMjEyMTA1MjQyMTI4MDNa\nMIGcMQswCQYDVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywg\nSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExNTAzBgNVBAMM\nLEFtYXpvbiBSRFMgYXAtbm9ydGhlYXN0LTMgUm9vdCBDQSBSU0E0MDk2IEcxMRAw\nDgYDVQQHDAdTZWF0dGxlMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA\nwGFiyDyCrGqgdn4fXG12cxKAAfVvhMea1mw5h9CVRoavkPqhzQpAitSOuMB9DeiP\nwQyqcsiGl/cTEau4L+AUBG8b9v26RlY48exUYBXj8CieYntOT9iNw5WtdYJa3kF/\nJxgI+HDMzE9cmHDs5DOO3S0uwZVyra/xE1ymfSlpOeUIOTpHRJv97CBUEpaZMUW5\nSr6GruuOwFVpO5FX3A/jQlcS+UN4GjSRgDUJuqg6RRQldEZGCVCCmodbByvI2fGm\nreGpsPJD54KkmAX08nOR8e5hkGoHxq0m2DLD4SrOFmt65vG47qnuwplWJjtk9B3Z\n9wDoopwZLBOtlkPIkUllWm1P8EuHC1IKOA+wSP6XdT7cy8S77wgyHzR0ynxv7q/l\nvlZtH30wnNqFI0y9FeogD0TGMCHcnGqfBSicJXPy9T4fU6f0r1HwqKwPp2GArwe7\ndnqLTj2D7M9MyVtFjEs6gfGWXmu1y5uDrf+CszurE8Cycoma+OfjjuVQgWOCy7Nd\njJswPxAroTzVfpgoxXza4ShUY10woZu0/J+HmNmqK7lh4NS75q1tz75in8uTZDkV\nbe7GK+SEusTrRgcf3tlgPjSTWG3veNzFDF2Vn1GLJXmuZfhdlVQDBNXW4MNREExS\ndG57kJjICpT+r8X+si+5j51gRzkSnMYs7VHulpxfcwECAwEAAaNCMEAwDwYDVR0T\nAQH/BAUwAwEB/zAdBgNVHQ4EFgQU4JWOpDBmUBuWKvGPZelw87ezhL8wDgYDVR0P\nAQH/BAQDAgGGMA0GCSqGSIb3DQEBDAUAA4ICAQBRNLMql7itvXSEFQRAnyOjivHz\nl5IlWVQjAbOUr6ogZcwvK6YpxNAFW5zQr8F+fdkiypLz1kk5irx9TIpff0BWC9hQ\n/odMPO8Gxn8+COlSvc+dLsF2Dax3Hvz0zLeKMo+cYisJOzpdR/eKd0/AmFdkvQoM\nAOK9n0yYvVJU2IrSgeJBiiCarpKSeAktEVQ4rvyacQGr+QAPkkjRwm+5LHZKK43W\nnNnggRli9N/27qYtc5bgr3AaQEhEXMI4RxPRXCLsod0ehMGWyRRK728a+6PMMJAJ\nWHOU0x7LCEMPP/bvpLj3BdvSGqNor4ZtyXEbwREry1uzsgODeRRns5acPwTM6ff+\nCmxO2NZ0OktIUSYRmf6H/ZFlZrIhV8uWaIwEJDz71qvj7buhQ+RFDZ9CNL64C0X6\nmf0zJGEpddjANHaaVky+F4gYMtEy2K2Lcm4JGTdyIzUoIe+atzCnRp0QeIcuWtF+\ns8AjDYCVFNypcMmqbRmNpITSnOoCHSRuVkY3gutVoYyMLbp8Jm9SJnCIlEWTA6Rm\nwADOMGZJVn5/XRTRuetVOB3KlQDjs9OO01XN5NzGSZO2KT9ngAUfh9Eqhf1iRWSP\nnZlRbQ2NRCuY/oJ5N59mLGxnNJSE7giEKEBRhTQ/XEPIUYAUPD5fca0arKRJwbol\nl9Se1Hsq0ZU5f+OZKQ==\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIGATCCA+mgAwIBAgIRAK7vlRrGVEePJpW1VHMXdlIwDQYJKoZIhvcNAQEMBQAw\ngZgxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ\nbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTExMC8GA1UEAwwo\nQW1hem9uIFJEUyBhZi1zb3V0aC0xIFJvb3QgQ0EgUlNBNDA5NiBHMTEQMA4GA1UE\nBwwHU2VhdHRsZTAgFw0yMTA1MTkxOTI4NDNaGA8yMTIxMDUxOTIwMjg0M1owgZgx\nCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMu\nMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTExMC8GA1UEAwwoQW1h\nem9uIFJEUyBhZi1zb3V0aC0xIFJvb3QgQ0EgUlNBNDA5NiBHMTEQMA4GA1UEBwwH\nU2VhdHRsZTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMZiHOQC6x4o\neC7vVOMCGiN5EuLqPYHdceFPm4h5k/ZejXTf7kryk6aoKZKsDIYihkaZwXVS7Y/y\n7Ig1F1ABi2jD+CYprj7WxXbhpysmN+CKG7YC3uE4jSvfvUnpzionkQbjJsRJcrPO\ncZJM4FVaVp3mlHHtvnM+K3T+ni4a38nAd8xrv1na4+B8ZzZwWZXarfg8lJoGskSn\nou+3rbGQ0r+XlUP03zWujHoNlVK85qUIQvDfTB7n3O4s1XNGvkfv3GNBhYRWJYlB\n4p8T+PFN8wG+UOByp1gV7BD64RnpuZ8V3dRAlO6YVAmINyG5UGrPzkIbLtErUNHO\n4iSp4UqYvztDqJWWHR/rA84ef+I9RVwwZ8FQbjKq96OTnPrsr63A5mXTC9dXKtbw\nXNJPQY//FEdyM3K8sqM0IdCzxCA1MXZ8+QapWVjwyTjUwFvL69HYky9H8eAER59K\n5I7u/CWWeCy2R1SYUBINc3xxLr0CGGukcWPEZW2aPo5ibW5kepU1P/pzdMTaTfao\nF42jSFXbc7gplLcSqUgWwzBnn35HLTbiZOFBPKf6vRRu8aRX9atgHw/EjCebi2xP\nxIYr5Ub8u0QVHIqcnF1/hVzO/Xz0chj3E6VF/yTXnsakm+W1aM2QkZbFGpga+LMy\nmFCtdPrELjea2CfxgibaJX1Q4rdEpc8DAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMB\nAf8wHQYDVR0OBBYEFDSaycEyuspo/NOuzlzblui8KotFMA4GA1UdDwEB/wQEAwIB\nhjANBgkqhkiG9w0BAQwFAAOCAgEAbosemjeTRsL9o4v0KadBUNS3V7gdAH+X4vH2\nEe1Jc91VOGLdd/s1L9UX6bhe37b9WjUD69ur657wDW0RzxMYgQdZ27SUl0tEgGGp\ncCmVs1ky3zEN+Hwnhkz+OTmIg1ufq0W2hJgJiluAx2r1ib1GB+YI3Mo3rXSaBYUk\nbgQuujYPctf0PA153RkeICE5GI3OaJ7u6j0caYEixBS3PDHt2MJWexITvXGwHWwc\nCcrC05RIrTUNOJaetQw8smVKYOfRImEzLLPZ5kf/H3Cbj8BNAFNsa10wgvlPuGOW\nXLXqzNXzrG4V3sjQU5YtisDMagwYaN3a6bBf1wFwFIHQoAPIgt8q5zaQ9WI+SBns\nIl6rd4zfvjq/BPmt0uI7rVg/cgbaEg/JDL2neuM9CJAzmKxYxLQuHSX2i3Fy4Y1B\ncnxnRQETCRZNPGd00ADyxPKVoYBC45/t+yVusArFt+2SVLEGiFBr23eG2CEZu+HS\nnDEgIfQ4V3YOTUNa86wvbAss1gbbnT/v1XCnNGClEWCWNCSRjwV2ZmQ/IVTmNHPo\n7axTTBBJbKJbKzFndCnuxnDXyytdYRgFU7Ly3sa27WS2KFyFEDebLFRHQEfoYqCu\nIupSqBSbXsR3U10OTjc9z6EPo1nuV6bdz+gEDthmxKa1NI+Qb1kvyliXQHL2lfhr\n5zT5+Bs=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIF/zCCA+egAwIBAgIRAOLV6zZcL4IV2xmEneN1GwswDQYJKoZIhvcNAQEMBQAw\ngZcxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ\nbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTEwMC4GA1UEAwwn\nQW1hem9uIFJEUyB1cy13ZXN0LTEgUm9vdCBDQSBSU0E0MDk2IEcxMRAwDgYDVQQH\nDAdTZWF0dGxlMCAXDTIxMDUxOTE5MDg1OFoYDzIxMjEwNTE5MjAwODU4WjCBlzEL\nMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x\nEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTAwLgYDVQQDDCdBbWF6\nb24gUkRTIHVzLXdlc3QtMSBSb290IENBIFJTQTQwOTYgRzExEDAOBgNVBAcMB1Nl\nYXR0bGUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC7koAKGXXlLixN\nfVjhuqvz0WxDeTQfhthPK60ekRpftkfE5QtnYGzeovaUAiS58MYVzqnnTACDwcJs\nIGTFE6Wd7sB6r8eI/3CwI1pyJfxepubiQNVAQG0zJETOVkoYKe/5KnteKtnEER3X\ntCBRdV/rfbxEDG9ZAsYfMl6zzhEWKF88G6xhs2+VZpDqwJNNALvQuzmTx8BNbl5W\nRUWGq9CQ9GK9GPF570YPCuURW7kl35skofudE9bhURNz51pNoNtk2Z3aEeRx3ouT\nifFJlzh+xGJRHqBG7nt5NhX8xbg+vw4xHCeq1aAe6aVFJ3Uf9E2HzLB4SfIT9bRp\nP7c9c0ySGt+3n+KLSHFf/iQ3E4nft75JdPjeSt0dnyChi1sEKDi0tnWGiXaIg+J+\nr1ZtcHiyYpCB7l29QYMAdD0TjfDwwPayLmq//c20cPmnSzw271VwqjUT0jYdrNAm\ngV+JfW9t4ixtE3xF2jaUh/NzL3bAmN5v8+9k/aqPXlU1BgE3uPwMCjrfn7V0I7I1\nWLpHyd9jF3U/Ysci6H6i8YKgaPiOfySimQiDu1idmPld659qerutUSemQWmPD3bE\ndcjZolmzS9U0Ujq/jDF1YayN3G3xvry1qWkTci0qMRMu2dZu30Herugh9vsdTYkf\n00EqngPbqtIVLDrDjEQLqPcb8QvWFQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/\nMB0GA1UdDgQWBBQBqg8Za/L0YMHURGExHfvPyfLbOTAOBgNVHQ8BAf8EBAMCAYYw\nDQYJKoZIhvcNAQEMBQADggIBACAGPMa1QL7P/FIO7jEtMelJ0hQlQepKnGtbKz4r\nXq1bUX1jnLvnAieR9KZmeQVuKi3g3CDU6b0mDgygS+FL1KDDcGRCSPh238Ou8KcG\nHIxtt3CMwMHMa9gmdcMlR5fJF9vhR0C56KM2zvyelUY51B/HJqHwGvWuexryXUKa\nwq1/iK2/d9mNeOcjDvEIj0RCMI8dFQCJv3PRCTC36XS36Tzr6F47TcTw1c3mgKcs\nxpcwt7ezrXMUunzHS4qWAA5OGdzhYlcv+P5GW7iAA7TDNrBF+3W4a/6s9v2nQAnX\nUvXd9ul0ob71377UhZbJ6SOMY56+I9cJOOfF5QvaL83Sz29Ij1EKYw/s8TYdVqAq\n+dCyQZBkMSnDFLVe3J1KH2SUSfm3O98jdPORQrUlORQVYCHPls19l2F6lCmU7ICK\nhRt8EVSpXm4sAIA7zcnR2nU00UH8YmMQLnx5ok9YGhuh3Ehk6QlTQLJux6LYLskd\n9YHOLGW/t6knVtV78DgPqDeEx/Wu/5A8R0q7HunpWxr8LCPBK6hksZnOoUhhb8IP\nvl46Ve5Tv/FlkyYr1RTVjETmg7lb16a8J0At14iLtpZWmwmuv4agss/1iBVMXfFk\n+ZGtx5vytWU5XJmsfKA51KLsMQnhrLxb3X3zC+JRCyJoyc8++F3YEcRi2pkRYE3q\nHing\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIECTCCAvGgAwIBAgIRANxgyBbnxgTEOpDul2ZnC0UwDQYJKoZIhvcNAQELBQAw\ngZwxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ\nbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTE1MDMGA1UEAwws\nQW1hem9uIFJEUyBhcC1zb3V0aGVhc3QtMyBSb290IENBIFJTQTIwNDggRzExEDAO\nBgNVBAcMB1NlYXR0bGUwIBcNMjEwNjEwMTgxOTA3WhgPMjA2MTA2MTAxOTE5MDda\nMIGcMQswCQYDVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywg\nSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExNTAzBgNVBAMM\nLEFtYXpvbiBSRFMgYXAtc291dGhlYXN0LTMgUm9vdCBDQSBSU0EyMDQ4IEcxMRAw\nDgYDVQQHDAdTZWF0dGxlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA\nxnwSDAChrMkfk5TA4Dk8hKzStDlSlONzmd3fTG0Wqr5+x3EmFT6Ksiu/WIwEl9J2\nK98UI7vYyuZfCxUKb1iMPeBdVGqk0zb92GpURd+Iz/+K1ps9ZLeGBkzR8mBmAi1S\nOfpwKiTBzIv6E8twhEn4IUpHsdcuX/2Y78uESpJyM8O5CpkG0JaV9FNEbDkJeBUQ\nAo2qqNcH4R0Qcr5pyeqA9Zto1RswgL06BQMI9dTpfwSP5VvkvcNUaLl7Zv5WzLQE\nJzORWePvdPzzvWEkY/3FPjxBypuYwssKaERW0fkPDmPtykktP9W/oJolKUFI6pXp\ny+Y6p6/AVdnQD2zZjW5FhQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud\nDgQWBBT+jEKs96LC+/X4BZkUYUkzPfXdqTAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZI\nhvcNAQELBQADggEBAIGQqgqcQ6XSGkmNebzR6DhadTbfDmbYeN5N0Vuzv+Tdmufb\ntMGjdjnYMg4B+IVnTKQb+Ox3pL9gbX6KglGK8HupobmIRtwKVth+gYYz3m0SL/Nk\nhaWPYzOm0x3tJm8jSdufJcEob4/ATce9JwseLl76pSWdl5A4lLjnhPPKudUDfH+1\nBLNUi3lxpp6GkC8aWUPtupnhZuXddolTLOuA3GwTZySI44NfaFRm+o83N1jp+EwD\n6e94M4cTRzjUv6J3MZmSbdtQP/Tk1uz2K4bQZGP0PZC3bVpqiesdE/xr+wbu8uHr\ncM1JXH0AmXf1yIkTgyWzmvt0k1/vgcw5ixAqvvE=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIEATCCAumgAwIBAgIRAMhw98EQU18mIji+unM2YH8wDQYJKoZIhvcNAQELBQAw\ngZgxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ\nbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTExMC8GA1UEAwwo\nQW1hem9uIFJEUyBhcC1zb3V0aC0yIFJvb3QgQ0EgUlNBMjA0OCBHMTEQMA4GA1UE\nBwwHU2VhdHRsZTAgFw0yMjA2MDYyMTQyMjJaGA8yMDYyMDYwNjIyNDIyMlowgZgx\nCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMu\nMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTExMC8GA1UEAwwoQW1h\nem9uIFJEUyBhcC1zb3V0aC0yIFJvb3QgQ0EgUlNBMjA0OCBHMTEQMA4GA1UEBwwH\nU2VhdHRsZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAIeeRoLfTm+7\nvqm7ZlFSx+1/CGYHyYrOOryM4/Z3dqYVHFMgWTR7V3ziO8RZ6yUanrRcWVX3PZbF\nAfX0KFE8OgLsXEZIX8odSrq86+/Th5eZOchB2fDBsUB7GuN2rvFBbM8lTI9ivVOU\nlbuTnYyb55nOXN7TpmH2bK+z5c1y9RVC5iQsNAl6IJNvSN8VCqXh31eK5MlKB4DT\n+Y3OivCrSGsjM+UR59uZmwuFB1h+icE+U0p9Ct3Mjq3MzSX5tQb6ElTNGlfmyGpW\nKh7GQ5XU1KaKNZXoJ37H53woNSlq56bpVrKI4uv7ATpdpFubOnSLtpsKlpLdR3sy\nWs245200pC8CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUp0ki\n6+eWvsnBjQhMxwMW5pwn7DgwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUA\nA4IBAQB2V8lv0aqbYQpj/bmVv/83QfE4vOxKCJAHv7DQ35cJsTyBdF+8pBczzi3t\n3VNL5IUgW6WkyuUOWnE0eqAFOUVj0yTS1jSAtfl3vOOzGJZmWBbqm9BKEdu1D8O6\nsB8bnomwiab2tNDHPmUslpdDqdabbkWwNWzLJ97oGFZ7KNODMEPXWKWNxg33iHfS\n/nlmnrTVI3XgaNK9qLZiUrxu9Yz5gxi/1K+sG9/Dajd32ZxjRwDipOLiZbiXQrsd\nqzIMY4GcWf3g1gHL5mCTfk7dG22h/rhPyGV0svaDnsb+hOt6sv1McMN6Y3Ou0mtM\n/UaAXojREmJmTSCNvs2aBny3/2sy\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIICrjCCAjSgAwIBAgIRAMnRxsKLYscJV8Qv5pWbL7swCgYIKoZIzj0EAwMwgZYx\nCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMu\nMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTEvMC0GA1UEAwwmQW1h\nem9uIFJEUyBzYS1lYXN0LTEgUm9vdCBDQSBFQ0MzODQgRzExEDAOBgNVBAcMB1Nl\nYXR0bGUwIBcNMjEwNTE5MTgxNjAxWhgPMjEyMTA1MTkxOTE2MDFaMIGWMQswCQYD\nVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjETMBEG\nA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExLzAtBgNVBAMMJkFtYXpvbiBS\nRFMgc2EtZWFzdC0xIFJvb3QgQ0EgRUNDMzg0IEcxMRAwDgYDVQQHDAdTZWF0dGxl\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEjFOCZgTNVKxLKhUxffiDEvTLFhrmIqdO\ndKqVdgDoELEzIHWDdC+19aDPitbCYtBVHl65ITu/9pn6mMUl5hhUNtfZuc6A+Iw1\nsBe0v0qI3y9Q9HdQYrGgeHDh8M5P7E2ho0IwQDAPBgNVHRMBAf8EBTADAQH/MB0G\nA1UdDgQWBBS5L7/8M0TzoBZk39Ps7BkfTB4yJTAOBgNVHQ8BAf8EBAMCAYYwCgYI\nKoZIzj0EAwMDaAAwZQIwI43O0NtWKTgnVv9z0LO5UMZYgSve7GvGTwqktZYCMObE\nrUI4QerXM9D6JwLy09mqAjEAypfkdLyVWtaElVDUyHFkihAS1I1oUxaaDrynLNQK\nOu/Ay+ns+J+GyvyDUjBpVVW1\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIF/jCCA+agAwIBAgIQR71Z8lTO5Sj+as2jB7IWXzANBgkqhkiG9w0BAQwFADCB\nlzELMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIElu\nYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTAwLgYDVQQDDCdB\nbWF6b24gUkRTIHVzLXdlc3QtMiBSb290IENBIFJTQTQwOTYgRzExEDAOBgNVBAcM\nB1NlYXR0bGUwIBcNMjEwNTI0MjIwMzIwWhgPMjEyMTA1MjQyMzAzMjBaMIGXMQsw\nCQYDVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjET\nMBEGA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExMDAuBgNVBAMMJ0FtYXpv\nbiBSRFMgdXMtd2VzdC0yIFJvb3QgQ0EgUlNBNDA5NiBHMTEQMA4GA1UEBwwHU2Vh\ndHRsZTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAM977bHIs1WJijrS\nXQMfUOhmlJjr2v0K0UjPl52sE1TJ76H8umo1yR4T7Whkd9IwBHNGKXCJtJmMr9zp\nfB38eLTu+5ydUAXdFuZpRMKBWwPVe37AdJRKqn5beS8HQjd3JXAgGKUNNuE92iqF\nqi2fIqFMpnJXWo0FIW6s2Dl2zkORd7tH0DygcRi7lgVxCsw1BJQhFJon3y+IV8/F\nbnbUXSNSDUnDW2EhvWSD8L+t4eiXYsozhDAzhBvojpxhPH9OB7vqFYw5qxFx+G0t\nlSLX5iWi1jzzc3XyGnB6WInZDVbvnvJ4BGZ+dTRpOCvsoMIn9bz4EQTvu243c7aU\nHbS/kvnCASNt+zk7C6lbmaq0AGNztwNj85Opn2enFciWZVnnJ/4OeefUWQxD0EPp\nSjEd9Cn2IHzkBZrHCg+lWZJQBKbUVS0lLIMSsLQQ6WvR38jY7D2nxM1A93xWxwpt\nZtQnYRCVXH6zt2OwDAFePInWwxUjR5t/wu3XxPgpSfrmTi3WYtr1wFypAJ811e/P\nyBtswWUQ6BNJQvy+KnOEeGfOwmtdDFYR+GOCfvCihzrKJrxOtHIieehR5Iw3cbXG\nsm4pDzfMUVvDDz6C2M6PRlJhhClbatHCjik9hxFYEsAlqtVVK9pxaz9i8hOqSFQq\nkJSQsgWw+oM/B2CyjcSqkSQEu8RLAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8w\nHQYDVR0OBBYEFPmrdxpRRgu3IcaB5BTqlprcKdTsMA4GA1UdDwEB/wQEAwIBhjAN\nBgkqhkiG9w0BAQwFAAOCAgEAVdlxWjPvVKky3kn8ZizeM4D+EsLw9dWLau2UD/ls\nzwDCFoT6euagVeCknrn+YEl7g20CRYT9iaonGoMUPuMR/cdtPL1W/Rf40PSrGf9q\nQuxavWiHLEXOQTCtCaVZMokkvjuuLNDXyZnstgECuiZECTwhexUF4oiuhyGk9o01\nQMaiz4HX4lgk0ozALUvEzaNd9gWEwD2qe+rq9cQMTVq3IArUkvTIftZUaVUMzr0O\ned1+zAsNa9nJhURJ/6anJPJjbQgb5qA1asFcp9UaMT1ku36U3gnR1T/BdgG2jX3X\nUm0UcaGNVPrH1ukInWW743pxWQb7/2sumEEMVh+jWbB18SAyLI4WIh4lkurdifzS\nIuTFp8TEx+MouISFhz/vJDWZ84tqoLVjkEcP6oDypq9lFoEzHDJv3V1CYcIgOusT\nk1jm9P7BXdTG7TYzUaTb9USb6bkqkD9EwJAOSs7DI94aE6rsSws2yAHavjAMfuMZ\nsDAZvkqS2Qg2Z2+CI6wUZn7mzkJXbZoqRjDvChDXEB1mIhzVXhiNW/CR5WKVDvlj\n9v1sdGByh2pbxcLQtVaq/5coM4ANgphoNz3pOYUPWHS+JUrIivBZ+JobjXcxr3SN\n9iDzcu5/FVVNbq7+KN/nvPMngT+gduEN5m+EBjm8GukJymFG0m6BENRA0QSDqZ7k\nzDY=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIECTCCAvGgAwIBAgIRAK5EYG3iHserxMqgg+0EFjgwDQYJKoZIhvcNAQELBQAw\ngZwxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ\nbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTE1MDMGA1UEAwws\nQW1hem9uIFJEUyBhcC1ub3J0aGVhc3QtMyBSb290IENBIFJTQTIwNDggRzExEDAO\nBgNVBAcMB1NlYXR0bGUwIBcNMjEwNTI0MjAyMzE2WhgPMjA2MTA1MjQyMTIzMTZa\nMIGcMQswCQYDVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywg\nSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExNTAzBgNVBAMM\nLEFtYXpvbiBSRFMgYXAtbm9ydGhlYXN0LTMgUm9vdCBDQSBSU0EyMDQ4IEcxMRAw\nDgYDVQQHDAdTZWF0dGxlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA\ns1L6TtB84LGraLHVC+rGPhLBW2P0oN/91Rq3AnYwqDOuTom7agANwEjvLq7dSRG/\nsIfZsSV/ABTgArZ5sCmLjHFZAo8Kd45yA9byx20RcYtAG8IZl+q1Cri+s0XefzyO\nU6mlfXZkVe6lzjlfXBkrlE/+5ifVbJK4dqOS1t9cWIpgKqv5fbE6Qbq4LVT+5/WM\nVd2BOljuBMGMzdZubqFKFq4mzTuIYfnBm7SmHlZfTdfBYPP1ScNuhpjuzw4n3NCR\nEdU6dQv04Q6th4r7eiOCwbWI9LkmVbvBe3ylhH63lApC7MiiPYLlB13xBubVHVhV\nq1NHoNTi+zA3MN9HWicRxQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud\nDgQWBBSuxoqm0/wjNiZLvqv+JlQwsDvTPDAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZI\nhvcNAQELBQADggEBAFfTK/j5kv90uIbM8VaFdVbr/6weKTwehafT0pAk1bfLVX+7\nuf8oHgYiyKTTl0DFQicXejghXTeyzwoEkWSR8c6XkhD5vYG3oESqmt/RGvvoxz11\nrHHy7yHYu7RIUc3VQG60c4qxXv/1mWySGwVwJrnuyNT9KZXPevu3jVaWOVHEILaK\nHvzQ2YEcWBPmde/zEseO2QeeGF8FL45Q1d66wqIP4nNUd2pCjeTS5SpB0MMx7yi9\nki1OH1pv8tOuIdimtZ7wkdB8+JSZoaJ81b8sRrydRwJyvB88rftuI3YB4WwGuONT\nZezUPsmaoK69B0RChB0ofDpAaviF9V3xOWvVZfo=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIGDzCCA/egAwIBAgIRAI0sMNG2XhaBMRN3zD7ZyoEwDQYJKoZIhvcNAQEMBQAw\ngZ8xCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ\nbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTE4MDYGA1UEAwwv\nQW1hem9uIFJEUyBQcmV2aWV3IHVzLWVhc3QtMiBSb290IENBIFJTQTQwOTYgRzEx\nEDAOBgNVBAcMB1NlYXR0bGUwIBcNMjEwNTE4MjA1NzUwWhgPMjEyMTA1MTgyMTU3\nNTBaMIGfMQswCQYDVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNl\ncywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExODA2BgNV\nBAMML0FtYXpvbiBSRFMgUHJldmlldyB1cy1lYXN0LTIgUm9vdCBDQSBSU0E0MDk2\nIEcxMRAwDgYDVQQHDAdTZWF0dGxlMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\nCgKCAgEAh/otSiCu4Uw3hu7OJm0PKgLsLRqBmUS6jihcrkxfN2SHmp2zuRflkweU\nBhMkebzL+xnNvC8okzbgPWtUxSmDnIRhE8J7bvSKFlqs/tmEdiI/LMqe/YIKcdsI\n20UYmvyLIjtDaJIh598SHHlF9P8DB5jD8snJfhxWY+9AZRN+YVTltgQAAgayxkWp\nM1BbvxpOnz4CC00rE0eqkguXIUSuobb1vKqdKIenlYBNxm2AmtgvQfpsBIQ0SB+8\n8Zip8Ef5rtjSw5J3s2Rq0aYvZPfCVIsKYepIboVwXtD7E9J31UkB5onLBQlaHaA6\nXlH4srsMmrew5d2XejQGy/lGZ1nVWNsKO0x/Az2QzY5Kjd6AlXZ8kq6H68hscA5i\nOMbNlXzeEQsZH0YkId3+UsEns35AAjZv4qfFoLOu8vDotWhgVNT5DfdbIWZW3ZL8\nqbmra3JnCHuaTwXMnc25QeKgVq7/rG00YB69tCIDwcf1P+tFJWxvaGtV0g2NthtB\na+Xo09eC0L53gfZZ3hZw1pa3SIF5dIZ6RFRUQ+lFOux3Q/I3u+rYstYw7Zxc4Zeo\nY8JiedpQXEAnbw2ECHix/L6mVWgiWCiDzBnNLLdbmXjJRnafNSndSfFtHCnY1SiP\naCrNpzwZIJejoV1zDlWAMO+gyS28EqzuIq3WJK/TFE7acHkdKIcCAwEAAaNCMEAw\nDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUrmV1YASnuudfmqAZP4sKGTvScaEw\nDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBDAUAA4ICAQBGpEKeQoPvE85tN/25\nqHFkys9oHDl93DZ62EnOqAUKLd6v0JpCyEiop4nlrJe+4KrBYVBPyKOJDcIqE2Sp\n3cvgJXLhY4i46VM3Qxe8yuYF1ElqBpg3jJVj/sCQnYz9dwoAMWIJFaDWOvmU2E7M\nMRaKx+sPXFkIjiDA6Bv0m+VHef7aedSYIY7IDltEQHuXoqNacGrYo3I50R+fZs88\n/mB3e/V7967e99D6565yf9Lcjw4oQf2Hy7kl/6P9AuMz0LODnGITwh2TKk/Zo3RU\nVgq25RDrT4xJK6nFHyjUF6+4cOBxVpimmFw/VP1zaXT8DN5r4HyJ9p4YuSK8ha5N\n2pJc/exvU8Nv2+vS/efcDZWyuEdZ7eh1IJWQZlOZKIAONfRDRTpeQHJ3zzv3QVYy\nt78pYp/eWBHyVIfEE8p2lFKD4279WYe+Uvdb8c4Jm4TJwqkSJV8ifID7Ub80Lsir\nlPAU3OCVTBeVRFPXT2zpC4PB4W6KBSuj6OOcEu2y/HgWcoi7Cnjvp0vFTUhDFdus\nWz3ucmJjfVsrkEO6avDKu4SwdbVHsk30TVAwPd6srIdi9U6MOeOQSOSE4EsrrS7l\nSVmu2QIDUVFpm8QAHYplkyWIyGkupyl3ashH9mokQhixIU/Pzir0byePxHLHrwLu\n1axqeKpI0F5SBUPsaVNYY2uNFg==\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIECDCCAvCgAwIBAgIQCREfzzVyDTMcNME+gWnTCTANBgkqhkiG9w0BAQsFADCB\nnDELMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIElu\nYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTUwMwYDVQQDDCxB\nbWF6b24gUkRTIGFwLXNvdXRoZWFzdC0yIFJvb3QgQ0EgUlNBMjA0OCBHMTEQMA4G\nA1UEBwwHU2VhdHRsZTAgFw0yMTA1MjQyMDQyMzNaGA8yMDYxMDUyNDIxNDIzM1ow\ngZwxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ\nbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTE1MDMGA1UEAwws\nQW1hem9uIFJEUyBhcC1zb3V0aGVhc3QtMiBSb290IENBIFJTQTIwNDggRzExEDAO\nBgNVBAcMB1NlYXR0bGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDL\n1MT6br3L/4Pq87DPXtcjlXN3cnbNk2YqRAZHJayStTz8VtsFcGPJOpk14geRVeVk\ne9uKFHRbcyr/RM4owrJTj5X4qcEuATYZbo6ou/rW2kYzuWFZpFp7lqm0vasV4Z9F\nfChlhwkNks0UbM3G+psCSMNSoF19ERunj7w2c4E62LwujkeYLvKGNepjnaH10TJL\n2krpERd+ZQ4jIpObtRcMH++bTrvklc+ei8W9lqrVOJL+89v2piN3Ecdd389uphst\nqQdb1BBVXbhUrtuGHgVf7zKqN1SkCoktoWxVuOprVWhSvr7akaWeq0UmlvbEsujU\nvADqxGMcJFyCzxx3CkJjAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O\nBBYEFFk8UJmlhoxFT3PP12PvhvazHjT4MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG\n9w0BAQsFAAOCAQEAfFtr2lGoWVXmWAsIo2NYre7kzL8Xb9Tx7desKxCCz5HOOvIr\n8JMB1YK6A7IOvQsLJQ/f1UnKRh3X3mJZjKIywfrMSh0FiDf+rjcEzXxw2dGtUem4\nA+WMvIA3jwxnJ90OQj5rQ8bg3iPtE6eojzo9vWQGw/Vu48Dtw1DJo9210Lq/6hze\nhPhNkFh8fMXNT7Q1Wz/TJqJElyAQGNOXhyGpHKeb0jHMMhsy5UNoW5hLeMS5ffao\nTBFWEJ1gVfxIU9QRxSh+62m46JIg+dwDlWv8Aww14KgepspRbMqDuaM2cinoejv6\nt3dyOyHHrsOyv3ffZUKtQhQbQr+sUcL89lARsg==\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIID/zCCAuegAwIBAgIRAIJLTMpzGNxqHZ4t+c1MlCIwDQYJKoZIhvcNAQELBQAw\ngZcxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ\nbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTEwMC4GA1UEAwwn\nQW1hem9uIFJEUyBhcC1lYXN0LTEgUm9vdCBDQSBSU0EyMDQ4IEcxMRAwDgYDVQQH\nDAdTZWF0dGxlMCAXDTIxMDUyNTIxMzAzM1oYDzIwNjEwNTI1MjIzMDMzWjCBlzEL\nMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x\nEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTAwLgYDVQQDDCdBbWF6\nb24gUkRTIGFwLWVhc3QtMSBSb290IENBIFJTQTIwNDggRzExEDAOBgNVBAcMB1Nl\nYXR0bGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDtdHut0ZhJ9Nn2\nMpVafFcwHdoEzx06okmmhjJsNy4l9QYVeh0UUoek0SufRNMRF4d5ibzpgZol0Y92\n/qKWNe0jNxhEj6sXyHsHPeYtNBPuDMzThfbvsLK8z7pBP7vVyGPGuppqW/6m4ZBB\nlcc9fsf7xpZ689iSgoyjiT6J5wlVgmCx8hFYc/uvcRtfd8jAHvheug7QJ3zZmIye\nV4htOW+fRVWnBjf40Q+7uTv790UAqs0Zboj4Yil+hER0ibG62y1g71XcCyvcVpto\n2/XW7Y9NCgMNqQ7fGN3wR1gjtSYPd7DO32LTzYhutyvfbpAZjsAHnoObmoljcgXI\nQjfBcCFpAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJI3aWLg\nCS5xqU5WYVaeT5s8lpO0MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOC\nAQEAUwATpJOcGVOs3hZAgJwznWOoTzOVJKfrqBum7lvkVH1vBwxBl9CahaKj3ZOt\nYYp2qJzhDUWludL164DL4ZjS6eRedLRviyy5cRy0581l1MxPWTThs27z+lCC14RL\nPJZNVYYdl7Jy9Q5NsQ0RBINUKYlRY6OqGDySWyuMPgno2GPbE8aynMdKP+f6G/uE\nYHOf08gFDqTsbyfa70ztgVEJaRooVf5JJq4UQtpDvVswW2reT96qi6tXPKHN5qp3\n3wI0I1Mp4ePmiBKku2dwYzPfrJK/pQlvu0Gu5lKOQ65QdotwLAAoaFqrf9za1yYs\nINUkHLWIxDds+4OHNYcerGp5Dw==\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIGCTCCA/GgAwIBAgIRAIO6ldra1KZvNWJ0TA1ihXEwDQYJKoZIhvcNAQEMBQAw\ngZwxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ\nbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTE1MDMGA1UEAwws\nQW1hem9uIFJEUyBhcC1zb3V0aGVhc3QtMSBSb290IENBIFJTQTQwOTYgRzExEDAO\nBgNVBAcMB1NlYXR0bGUwIBcNMjEwNTIxMjE0NTA1WhgPMjEyMTA1MjEyMjQ1MDVa\nMIGcMQswCQYDVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywg\nSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExNTAzBgNVBAMM\nLEFtYXpvbiBSRFMgYXAtc291dGhlYXN0LTEgUm9vdCBDQSBSU0E0MDk2IEcxMRAw\nDgYDVQQHDAdTZWF0dGxlMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA\nsDN52Si9pFSyZ1ruh3xAN0nVqEs960o2IK5CPu/ZfshFmzAwnx/MM8EHt/jMeZtj\nSM58LADAsNDL01ELpFZATjgZQ6xNAyXRXE7RiTRUvNkK7O3o2qAGbLnJq/UqF7Sw\nLRnB8V6hYOv+2EjVnohtGCn9SUFGZtYDjWXsLd4ML4Zpxv0a5LK7oEC7AHzbUR7R\njsjkrXqSv7GE7bvhSOhMkmgxgj1F3J0b0jdQdtyyj109aO0ATUmIvf+Bzadg5AI2\nA9UA+TUcGeebhpHu8AP1Hf56XIlzPpaQv3ZJ4vzoLaVNUC7XKzAl1dlvCl7Klg/C\n84qmbD/tjZ6GHtzpLKgg7kQEV7mRoXq8X4wDX2AFPPQl2fv+Kbe+JODqm5ZjGegm\nuskABBi8IFv1hYx9jEulZPxC6uD/09W2+niFm3pirnlWS83BwVDTUBzF+CooUIMT\njhWkIIZGDDgMJTzouBHfoSJtS1KpUZi99m2WyVs21MNKHeWAbs+zmI6TO5iiMC+T\nuB8spaOiHFO1573Fmeer4sy3YA6qVoqVl6jjTQqOdy3frAMbCkwH22/crV8YA+08\nhLeHXrMK+6XUvU+EtHAM3VzcrLbuYJUI2XJbzTj5g0Eb8I8JWsHvWHR5K7Z7gceR\n78AzxQmoGEfV6KABNWKsgoCQnfb1BidDJIe3BsI0A6UCAwEAAaNCMEAwDwYDVR0T\nAQH/BAUwAwEB/zAdBgNVHQ4EFgQUABp0MlB14MSHgAcuNSOhs3MOlUcwDgYDVR0P\nAQH/BAQDAgGGMA0GCSqGSIb3DQEBDAUAA4ICAQCv4CIOBSQi/QR9NxdRgVAG/pAh\ntFJhV7OWb/wqwsNKFDtg6tTxwaahdCfWpGWId15OUe7G9LoPiKiwM9C92n0ZeHRz\n4ewbrQVo7Eu1JI1wf0rnZJISL72hVYKmlvaWaacHhWxvsbKLrB7vt6Cknxa+S993\nKf8i2Psw8j5886gaxhiUtzMTBwoDWak8ZaK7m3Y6C6hXQk08+3pnIornVSFJ9dlS\nPAqt5UPwWmrEfF+0uIDORlT+cvrAwgSp7nUF1q8iasledycZ/BxFgQqzNwnkBDwQ\nZ/aM52ArGsTzfMhkZRz9HIEhz1/0mJw8gZtDVQroD8778h8zsx2SrIz7eWQ6uWsD\nQEeSWXpcheiUtEfzkDImjr2DLbwbA23c9LoexUD10nwohhoiQQg77LmvBVxeu7WU\nE63JqaYUlOLOzEmNJp85zekIgR8UTkO7Gc+5BD7P4noYscI7pPOL5rP7YLg15ZFi\nega+G53NTckRXz4metsd8XFWloDjZJJq4FfD60VuxgXzoMNT9wpFTNSH42PR2s9L\nI1vcl3w8yNccs9se2utM2nLsItZ3J0m/+QSRiw9hbrTYTcM9sXki0DtH2kyIOwYf\nlOrGJDiYOIrXSQK36H0gQ+8omlrUTvUj4msvkXuQjlfgx6sgp2duOAfnGxE7uHnc\nUhnJzzoe6M+LfGHkVQ==\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIICuDCCAj2gAwIBAgIQSAG6j2WHtWUUuLGJTPb1nTAKBggqhkjOPQQDAzCBmzEL\nMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x\nEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTQwMgYDVQQDDCtBbWF6\nb24gUkRTIGFwLW5vcnRoZWFzdC0yIFJvb3QgQ0EgRUNDMzg0IEcxMRAwDgYDVQQH\nDAdTZWF0dGxlMCAXDTIxMDUyMDE2MzgyNloYDzIxMjEwNTIwMTczODI2WjCBmzEL\nMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x\nEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTQwMgYDVQQDDCtBbWF6\nb24gUkRTIGFwLW5vcnRoZWFzdC0yIFJvb3QgQ0EgRUNDMzg0IEcxMRAwDgYDVQQH\nDAdTZWF0dGxlMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE2eqwU4FOzW8RV1W381Bd\nolhDOrqoMqzWli21oDUt7y8OnXM/lmAuOS6sr8Nt61BLVbONdbr+jgCYw75KabrK\nZGg3siqvMOgabIKkKuXO14wtrGyGDt7dnKXg5ERGYOZlo0IwQDAPBgNVHRMBAf8E\nBTADAQH/MB0GA1UdDgQWBBS1Acp2WYxOcblv5ikZ3ZIbRCCW+zAOBgNVHQ8BAf8E\nBAMCAYYwCgYIKoZIzj0EAwMDaQAwZgIxAJL84J08PBprxmsAKPTotBuVI3MyW1r8\nxQ0i8lgCQUf8GcmYjQ0jI4oZyv+TuYJAcwIxAP9Xpzq0Docxb+4N1qVhpiOfWt1O\nFnemFiy9m1l+wv6p3riQMPV7mBVpklmijkIv3Q==\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIECTCCAvGgAwIBAgIRALZLcqCVIJ25maDPE3sbPCIwDQYJKoZIhvcNAQELBQAw\ngZwxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ\nbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTE1MDMGA1UEAwws\nQW1hem9uIFJEUyBhcC1zb3V0aGVhc3QtMSBSb290IENBIFJTQTIwNDggRzExEDAO\nBgNVBAcMB1NlYXR0bGUwIBcNMjEwNTIxMjEzOTM5WhgPMjA2MTA1MjEyMjM5Mzla\nMIGcMQswCQYDVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywg\nSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExNTAzBgNVBAMM\nLEFtYXpvbiBSRFMgYXAtc291dGhlYXN0LTEgUm9vdCBDQSBSU0EyMDQ4IEcxMRAw\nDgYDVQQHDAdTZWF0dGxlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA\nypKc+6FfGx6Gl6fQ78WYS29QoKgQiur58oxR3zltWeg5fqh9Z85K5S3UbRSTqWWu\nXcfnkz0/FS07qHX+nWAGU27JiQb4YYqhjZNOAq8q0+ptFHJ6V7lyOqXBq5xOzO8f\n+0DlbJSsy7GEtJp7d7QCM3M5KVY9dENVZUKeJwa8PC5StvwPx4jcLeZRJC2rAVDG\nSW7NAInbATvr9ssSh03JqjXb+HDyywiqoQ7EVLtmtXWimX+0b3/2vhqcH5jgcKC9\nIGFydrjPbv4kwMrKnm6XlPZ9L0/3FMzanXPGd64LQVy51SI4d5Xymn0Mw2kMX8s6\nNf05OsWcDzJ1n6/Q1qHSxQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud\nDgQWBBRmaIc8eNwGP7i6P7AJrNQuK6OpFzAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZI\nhvcNAQELBQADggEBAIBeHfGwz3S2zwIUIpqEEI5/sMySDeS+3nJR+woWAHeO0C8i\nBJdDh+kzzkP0JkWpr/4NWz84/IdYo1lqASd1Kopz9aT1+iROXaWr43CtbzjXb7/X\nZv7eZZFC8/lS5SROq42pPWl4ekbR0w8XGQElmHYcWS41LBfKeHCUwv83ATF0XQ6I\n4t+9YSqZHzj4vvedrvcRInzmwWJaal9s7Z6GuwTGmnMsN3LkhZ+/GD6oW3pU/Pyh\nEtWqffjsLhfcdCs3gG8x9BbkcJPH5aPAVkPn4wc8wuXg6xxb9YGsQuY930GWTYRf\nschbgjsuqznW4HHakq4WNhs1UdTSTKkRdZz7FUQ=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIEDzCCAvegAwIBAgIRAM2zAbhyckaqRim63b+Tib8wDQYJKoZIhvcNAQELBQAw\ngZ8xCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ\nbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTE4MDYGA1UEAwwv\nQW1hem9uIFJEUyBQcmV2aWV3IHVzLWVhc3QtMiBSb290IENBIFJTQTIwNDggRzEx\nEDAOBgNVBAcMB1NlYXR0bGUwIBcNMjEwNTE4MjA0OTQ1WhgPMjA2MTA1MTgyMTQ5\nNDVaMIGfMQswCQYDVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNl\ncywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExODA2BgNV\nBAMML0FtYXpvbiBSRFMgUHJldmlldyB1cy1lYXN0LTIgUm9vdCBDQSBSU0EyMDQ4\nIEcxMRAwDgYDVQQHDAdTZWF0dGxlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\nCgKCAQEA1ybjQMH1MkbvfKsWJaCTXeCSN1SG5UYid+Twe+TjuSqaXWonyp4WRR5z\ntlkqq+L2MWUeQQAX3S17ivo/t84mpZ3Rla0cx39SJtP3BiA2BwfUKRjhPwOjmk7j\n3zrcJjV5k1vSeLNOfFFSlwyDiVyLAE61lO6onBx+cRjelu0egMGq6WyFVidTdCmT\nQ9Zw3W6LTrnPvPmEyjHy2yCHzH3E50KSd/5k4MliV4QTujnxYexI2eR8F8YQC4m3\nDYjXt/MicbqA366SOoJA50JbgpuVv62+LSBu56FpzY12wubmDZsdn4lsfYKiWxUy\nuc83a2fRXsJZ1d3whxrl20VFtLFHFQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/\nMB0GA1UdDgQWBBRC0ytKmDYbfz0Bz0Psd4lRQV3aNTAOBgNVHQ8BAf8EBAMCAYYw\nDQYJKoZIhvcNAQELBQADggEBAGv8qZu4uaeoF6zsbumauz6ea6tdcWt+hGFuwGrb\ntRbI85ucAmVSX06x59DJClsb4MPhL1XmqO3RxVMIVVfRwRHWOsZQPnXm8OYQ2sny\nrYuFln1COOz1U/KflZjgJmxbn8x4lYiTPZRLarG0V/OsCmnLkQLPtEl/spMu8Un7\nr3K8SkbWN80gg17Q8EV5mnFwycUx9xsTAaFItuG0en9bGsMgMmy+ZsDmTRbL+lcX\nFq8r4LT4QjrFz0shrzCwuuM4GmcYtBSxlacl+HxYEtAs5k10tmzRf6OYlY33tGf6\n1tkYvKryxDPF/EDgGp/LiBwx6ixYMBfISoYASt4V/ylAlHA=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIICtTCCAjqgAwIBAgIRAK9BSZU6nIe6jqfODmuVctYwCgYIKoZIzj0EAwMwgZkx\nCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMu\nMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTEyMDAGA1UEAwwpQW1h\nem9uIFJEUyBjYS1jZW50cmFsLTEgUm9vdCBDQSBFQ0MzODQgRzExEDAOBgNVBAcM\nB1NlYXR0bGUwIBcNMjEwNTIxMjIxMzA5WhgPMjEyMTA1MjEyMzEzMDlaMIGZMQsw\nCQYDVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjET\nMBEGA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExMjAwBgNVBAMMKUFtYXpv\nbiBSRFMgY2EtY2VudHJhbC0xIFJvb3QgQ0EgRUNDMzg0IEcxMRAwDgYDVQQHDAdT\nZWF0dGxlMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEUkEERcgxneT5H+P+fERcbGmf\nbVx+M7rNWtgWUr6w+OBENebQA9ozTkeSg4c4M+qdYSObFqjxITdYxT1z/nHz1gyx\nOKAhLjWu+nkbRefqy3RwXaWT680uUaAP6ccnkZOMo0IwQDAPBgNVHRMBAf8EBTAD\nAQH/MB0GA1UdDgQWBBSN6fxlg0s5Wny08uRBYZcQ3TUoyzAOBgNVHQ8BAf8EBAMC\nAYYwCgYIKoZIzj0EAwMDaQAwZgIxAORaz+MBVoFBTmZ93j2G2vYTwA6T5hWzBWrx\nCrI54pKn5g6At56DBrkjrwZF5T1enAIxAJe/LZ9xpDkAdxDgGJFN8gZYLRWc0NRy\nRb4hihy5vj9L+w9uKc9VfEBIFuhT7Z3ljg==\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIEADCCAuigAwIBAgIQB/57HSuaqUkLaasdjxUdPjANBgkqhkiG9w0BAQsFADCB\nmDELMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIElu\nYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTEwLwYDVQQDDChB\nbWF6b24gUkRTIGFwLXNvdXRoLTEgUm9vdCBDQSBSU0EyMDQ4IEcxMRAwDgYDVQQH\nDAdTZWF0dGxlMCAXDTIxMDUxOTE3NDAzNFoYDzIwNjEwNTE5MTg0MDM0WjCBmDEL\nMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x\nEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTEwLwYDVQQDDChBbWF6\nb24gUkRTIGFwLXNvdXRoLTEgUm9vdCBDQSBSU0EyMDQ4IEcxMRAwDgYDVQQHDAdT\nZWF0dGxlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtbkaoVsUS76o\nTgLFmcnaB8cswBk1M3Bf4IVRcwWT3a1HeJSnaJUqWHCJ+u3ip/zGVOYl0gN1MgBb\nMuQRIJiB95zGVcIa6HZtx00VezDTr3jgGWRHmRjNVCCHGmxOZWvJjsIE1xavT/1j\nQYV/ph4EZEIZ/qPq7e3rHohJaHDe23Z7QM9kbyqp2hANG2JtU/iUhCxqgqUHNozV\nZd0l5K6KnltZQoBhhekKgyiHqdTrH8fWajYl5seD71bs0Axowb+Oh0rwmrws3Db2\nDh+oc2PwREnjHeca9/1C6J2vhY+V0LGaJmnnIuOANrslx2+bgMlyhf9j0Bv8AwSi\ndSWsobOhNQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQb7vJT\nVciLN72yJGhaRKLn6Krn2TAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQAD\nggEBAAxEj8N9GslReAQnNOBpGl8SLgCMTejQ6AW/bapQvzxrZrfVOZOYwp/5oV0f\n9S1jcGysDM+DrmfUJNzWxq2Y586R94WtpH4UpJDGqZp+FuOVJL313te4609kopzO\nlDdmd+8z61+0Au93wB1rMiEfnIMkOEyt7D2eTFJfJRKNmnPrd8RjimRDlFgcLWJA\n3E8wca67Lz/G0eAeLhRHIXv429y8RRXDtKNNz0wA2RwURWIxyPjn1fHjA9SPDkeW\nE1Bq7gZj+tBnrqz+ra3yjZ2blss6Ds3/uRY6NYqseFTZWmQWT7FolZEnT9vMUitW\nI0VynUbShVpGf6946e0vgaaKw20=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIID/jCCAuagAwIBAgIQGyUVTaVjYJvWhroVEiHPpDANBgkqhkiG9w0BAQsFADCB\nlzELMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIElu\nYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTAwLgYDVQQDDCdB\nbWF6b24gUkRTIHVzLXdlc3QtMSBSb290IENBIFJTQTIwNDggRzExEDAOBgNVBAcM\nB1NlYXR0bGUwIBcNMjEwNTE5MTkwNDA2WhgPMjA2MTA1MTkyMDA0MDZaMIGXMQsw\nCQYDVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjET\nMBEGA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExMDAuBgNVBAMMJ0FtYXpv\nbiBSRFMgdXMtd2VzdC0xIFJvb3QgQ0EgUlNBMjA0OCBHMTEQMA4GA1UEBwwHU2Vh\ndHRsZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANhyXpJ0t4nigRDZ\nEwNtFOem1rM1k8k5XmziHKDvDk831p7QsX9ZOxl/BT59Pu/P+6W6SvasIyKls1sW\nFJIjFF+6xRQcpoE5L5evMgN/JXahpKGeQJPOX9UEXVW5B8yi+/dyUitFT7YK5LZA\nMqWBN/LtHVPa8UmE88RCDLiKkqiv229tmwZtWT7nlMTTCqiAHMFcryZHx0pf9VPh\nx/iPV8p2gBJnuPwcz7z1kRKNmJ8/cWaY+9w4q7AYlAMaq/rzEqDaN2XXevdpsYAK\nTMMj2kji4x1oZO50+VPNfBl5ZgJc92qz1ocF95SAwMfOUsP8AIRZkf0CILJYlgzk\n/6u6qZECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUm5jfcS9o\n+LwL517HpB6hG+PmpBswDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4IB\nAQAcQ6lsqxi63MtpGk9XK8mCxGRLCad51+MF6gcNz6i6PAqhPOoKCoFqdj4cEQTF\nF8dCfa3pvfJhxV6RIh+t5FCk/y6bWT8Ls/fYKVo6FhHj57bcemWsw/Z0XnROdVfK\nYqbc7zvjCPmwPHEqYBhjU34NcY4UF9yPmlLOL8uO1JKXa3CAR0htIoW4Pbmo6sA4\n6P0co/clW+3zzsQ92yUCjYmRNeSbdXbPfz3K/RtFfZ8jMtriRGuO7KNxp8MqrUho\nHK8O0mlSUxGXBZMNicfo7qY8FD21GIPH9w5fp5oiAl7lqFzt3E3sCLD3IiVJmxbf\nfUwpGd1XZBBSdIxysRLM6j48\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIICrTCCAjOgAwIBAgIQU+PAILXGkpoTcpF200VD/jAKBggqhkjOPQQDAzCBljEL\nMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x\nEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMS8wLQYDVQQDDCZBbWF6\nb24gUkRTIGFwLWVhc3QtMSBSb290IENBIEVDQzM4NCBHMTEQMA4GA1UEBwwHU2Vh\ndHRsZTAgFw0yMTA1MjUyMTQ1MTFaGA8yMTIxMDUyNTIyNDUxMVowgZYxCzAJBgNV\nBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYD\nVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTEvMC0GA1UEAwwmQW1hem9uIFJE\nUyBhcC1lYXN0LTEgUm9vdCBDQSBFQ0MzODQgRzExEDAOBgNVBAcMB1NlYXR0bGUw\ndjAQBgcqhkjOPQIBBgUrgQQAIgNiAAT3tFKE8Kw1sGQAvNLlLhd8OcGhlc7MiW/s\nNXm3pOiCT4vZpawKvHBzD76Kcv+ZZzHRxQEmG1/muDzZGlKR32h8AAj+NNO2Wy3d\nCKTtYMiVF6Z2zjtuSkZQdjuQbe4eQ7qjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD\nVR0OBBYEFAiSQOp16Vv0Ohpvqcbd2j5RmhYNMA4GA1UdDwEB/wQEAwIBhjAKBggq\nhkjOPQQDAwNoADBlAjBVsi+5Ape0kOhMt/WFkANkslD4qXA5uqhrfAtH29Xzz2NV\ntR7akiA771OaIGB/6xsCMQCZt2egCtbX7J0WkuZ2KivTh66jecJr5DHvAP4X2xtS\nF/5pS+AUhcKTEGjI9jDH3ew=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIICuDCCAj2gAwIBAgIQT5mGlavQzFHsB7hV6Mmy6TAKBggqhkjOPQQDAzCBmzEL\nMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x\nEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTQwMgYDVQQDDCtBbWF6\nb24gUkRTIGFwLXNvdXRoZWFzdC0yIFJvb3QgQ0EgRUNDMzg0IEcxMRAwDgYDVQQH\nDAdTZWF0dGxlMCAXDTIxMDUyNDIwNTAxNVoYDzIxMjEwNTI0MjE1MDE1WjCBmzEL\nMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x\nEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTQwMgYDVQQDDCtBbWF6\nb24gUkRTIGFwLXNvdXRoZWFzdC0yIFJvb3QgQ0EgRUNDMzg0IEcxMRAwDgYDVQQH\nDAdTZWF0dGxlMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEcm4BBBjYK7clwm0HJRWS\nflt3iYwoJbIXiXn9c1y3E+Vb7bmuyKhS4eO8mwO4GefUcXObRfoHY2TZLhMJLVBQ\n7MN2xDc0RtZNj07BbGD3VAIFRTDX0mH9UNYd0JQM3t/Oo0IwQDAPBgNVHRMBAf8E\nBTADAQH/MB0GA1UdDgQWBBRrd5ITedfAwrGo4FA9UaDaGFK3rjAOBgNVHQ8BAf8E\nBAMCAYYwCgYIKoZIzj0EAwMDaQAwZgIxAPBNqmVv1IIA3EZyQ6XuVf4gj79/DMO8\nbkicNS1EcBpUqbSuU4Zwt2BYc8c/t7KVOQIxAOHoWkoKZPiKyCxfMtJpCZySUG+n\nsXgB/LOyWE5BJcXUfm+T1ckeNoWeUUMOLmnJjg==\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIECTCCAvGgAwIBAgIRAJcDeinvdNrDQBeJ8+t38WQwDQYJKoZIhvcNAQELBQAw\ngZwxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ\nbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTE1MDMGA1UEAwws\nQW1hem9uIFJEUyBhcC1zb3V0aGVhc3QtNCBSb290IENBIFJTQTIwNDggRzExEDAO\nBgNVBAcMB1NlYXR0bGUwIBcNMjIwNTI1MTY0OTE2WhgPMjA2MjA1MjUxNzQ5MTZa\nMIGcMQswCQYDVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywg\nSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExNTAzBgNVBAMM\nLEFtYXpvbiBSRFMgYXAtc291dGhlYXN0LTQgUm9vdCBDQSBSU0EyMDQ4IEcxMRAw\nDgYDVQQHDAdTZWF0dGxlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA\nk8DBNkr9tMoIM0NHoFiO7cQfSX0cOMhEuk/CHt0fFx95IBytx7GHCnNzpM27O5z6\nx6iRhfNnx+B6CrGyCzOjxvPizneY+h+9zfvNz9jj7L1I2uYMuiNyOKR6FkHR46CT\n1CiArfVLLPaTqgD/rQjS0GL2sLHS/0dmYipzynnZcs613XT0rAWdYDYgxDq7r/Yi\nXge5AkWQFkMUq3nOYDLCyGGfQqWKkwv6lZUHLCDKf+Y0Uvsrj8YGCI1O8mF0qPCQ\nlmlfaDvbuBu1AV+aabmkvyFj3b8KRIlNLEtQ4N8KGYR2Jdb82S4YUGIOAt4wuuFt\n1B7AUDLk3V/u+HTWiwfoLQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud\nDgQWBBSNpcjz6ArWBtAA+Gz6kyyZxrrgdDAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZI\nhvcNAQELBQADggEBAGJEd7UgOzHYIcQRSF7nSYyjLROyalaIV9AX4WXW/Cqlul1c\nMblP5etDZm7A/thliZIWAuyqv2bNicmS3xKvNy6/QYi1YgxZyy/qwJ3NdFl067W0\nt8nGo29B+EVK94IPjzFHWShuoktIgp+dmpijB7wkTIk8SmIoe9yuY4+hzgqk+bo4\nms2SOXSN1DoQ75Xv+YmztbnZM8MuWhL1T7hA4AMorzTQLJ9Pof8SpSdMHeDsHp0R\n01jogNFkwy25nw7cL62nufSuH2fPYGWXyNDg+y42wKsKWYXLRgUQuDVEJ2OmTFMB\nT0Vf7VuNijfIA9hkN2d3K53m/9z5WjGPSdOjGhg=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIID/jCCAuagAwIBAgIQRiwspKyrO0xoxDgSkqLZczANBgkqhkiG9w0BAQsFADCB\nlzELMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIElu\nYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTAwLgYDVQQDDCdB\nbWF6b24gUkRTIHVzLXdlc3QtMiBSb290IENBIFJTQTIwNDggRzExEDAOBgNVBAcM\nB1NlYXR0bGUwIBcNMjEwNTI0MjE1OTAwWhgPMjA2MTA1MjQyMjU5MDBaMIGXMQsw\nCQYDVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjET\nMBEGA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExMDAuBgNVBAMMJ0FtYXpv\nbiBSRFMgdXMtd2VzdC0yIFJvb3QgQ0EgUlNBMjA0OCBHMTEQMA4GA1UEBwwHU2Vh\ndHRsZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL53Jk3GsKiu+4bx\njDfsevWbwPCNJ3H08Zp7GWhvI3Tgi39opfHYv2ku2BKFjK8N2L6RvNPSR8yplv5j\nY0tK0U+XVNl8o0ibhqRDhbTuh6KL8CFINWYzAajuxFS+CF0U6c1Q3tXLBdALxA7l\nFlXJ71QrP06W31kRe7kvgrvO7qWU3/OzUf9qYw4LSiR1/VkvvRCTqcVNw09clw/M\nJbw6FSgweN65M9j7zPbjGAXSHkXyxH1Erin2fa+B9PE4ZDgX9cp2C1DHewYJQL/g\nSepwwcudVNRN1ibKH7kpMrgPnaNIVNx5sXVsTjk6q2ZqYw3SVHegltJpLy/cZReP\nmlivF2kCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUmTcQd6o1\nCuS65MjBrMwQ9JJjmBwwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4IB\nAQAKSDSIzl956wVddPThf2VAzI8syw9ngSwsEHZvxVGHBvu5gg618rDyguVCYX9L\n4Kw/xJrk6S3qxOS2ZDyBcOpsrBskgahDFIunzoRP3a18ARQVq55LVgfwSDQiunch\nBd05cnFGLoiLkR5rrkgYaP2ftn3gRBRaf0y0S3JXZ2XB3sMZxGxavYq9mfiEcwB0\nLMTMQ1NYzahIeG6Jm3LqRqR8HkzP/Ztq4dT2AtSLvFebbNMiWqeqT7OcYp94HTYT\nzqrtaVdUg9bwyAUCDgy0GV9RHDIdNAOInU/4LEETovrtuBU7Z1q4tcHXvN6Hd1H8\ngMb0mCG5I393qW5hFsA/diFb\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIECTCCAvGgAwIBAgIRAPQAvihfjBg/JDbj6U64K98wDQYJKoZIhvcNAQELBQAw\ngZwxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ\nbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTE1MDMGA1UEAwws\nQW1hem9uIFJEUyBhcC1ub3J0aGVhc3QtMiBSb290IENBIFJTQTIwNDggRzExEDAO\nBgNVBAcMB1NlYXR0bGUwIBcNMjEwNTIwMTYyODQxWhgPMjA2MTA1MjAxNzI4NDFa\nMIGcMQswCQYDVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywg\nSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExNTAzBgNVBAMM\nLEFtYXpvbiBSRFMgYXAtbm9ydGhlYXN0LTIgUm9vdCBDQSBSU0EyMDQ4IEcxMRAw\nDgYDVQQHDAdTZWF0dGxlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA\nvJ9lgyksCxkBlY40qOzI1TCj/Q0FVGuPL/Z1Mw2YN0l+41BDv0FHApjTUkIKOeIP\nnwDwpXTa3NjYbk3cOZ/fpH2rYJ++Fte6PNDGPgKppVCUh6x3jiVZ1L7wOgnTdK1Q\nTrw8440IDS5eLykRHvz8OmwvYDl0iIrt832V0QyOlHTGt6ZJ/aTQKl12Fy3QBLv7\nstClPzvHTrgWqVU6uidSYoDtzHbU7Vda7YH0wD9IUoMBf7Tu0rqcE4uH47s2XYkc\nSdLEoOg/Ngs7Y9B1y1GCyj3Ux7hnyvCoRTw014QyNB7dTatFMDvYlrRDGG14KeiU\nUL7Vo/+EejWI31eXNLw84wIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud\nDgQWBBQkgTWFsNg6wA3HbbihDQ4vpt1E2zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZI\nhvcNAQELBQADggEBAGz1Asiw7hn5WYUj8RpOCzpE0h/oBZcnxP8wulzZ5Xd0YxWO\n0jYUcUk3tTQy1QvoY+Q5aCjg6vFv+oFBAxkib/SmZzp4xLisZIGlzpJQuAgRkwWA\n6BVMgRS+AaOMQ6wKPgz1x4v6T0cIELZEPq3piGxvvqkcLZKdCaeC3wCS6sxuafzZ\n4qA3zMwWuLOzRftgX2hQto7d/2YkRXga7jSvQl3id/EI+xrYoH6zIWgjdU1AUaNq\nNGT7DIo47vVMfnd9HFZNhREsd4GJE83I+JhTqIxiKPNxrKgESzyADmNPt0gXDnHo\ntbV1pMZz5HpJtjnP/qVZhEK5oB0tqlKPv9yx074=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIICuTCCAj6gAwIBAgIRAKp1Rn3aL/g/6oiHVIXtCq8wCgYIKoZIzj0EAwMwgZsx\nCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMu\nMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTE0MDIGA1UEAwwrQW1h\nem9uIFJEUyBhcC1ub3J0aGVhc3QtMyBSb290IENBIEVDQzM4NCBHMTEQMA4GA1UE\nBwwHU2VhdHRsZTAgFw0yMTA1MjQyMDMyMTdaGA8yMTIxMDUyNDIxMzIxN1owgZsx\nCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMu\nMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTE0MDIGA1UEAwwrQW1h\nem9uIFJEUyBhcC1ub3J0aGVhc3QtMyBSb290IENBIEVDQzM4NCBHMTEQMA4GA1UE\nBwwHU2VhdHRsZTB2MBAGByqGSM49AgEGBSuBBAAiA2IABGTYWPILeBJXfcL3Dz4z\nEWMUq78xB1HpjBwHoTURYfcMd5r96BTVG6yaUBWnAVCMeeD6yTG9a1eVGNhG14Hk\nZAEjgLiNB7RRbEG5JZ/XV7W/vODh09WCst2y9SLKsdgeAaNCMEAwDwYDVR0TAQH/\nBAUwAwEB/zAdBgNVHQ4EFgQUoE0qZHmDCDB+Bnm8GUa/evpfPwgwDgYDVR0PAQH/\nBAQDAgGGMAoGCCqGSM49BAMDA2kAMGYCMQCnil5MMwhY3qoXv0xvcKZGxGPaBV15\n0CCssCKn0oVtdJQfJQ3Jrf3RSaEyijXIJsoCMQC35iJi4cWoNX3N/qfgnHohW52O\nB5dg0DYMqy5cNZ40+UcAanRMyqNQ6P7fy3umGco=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIICtzCCAj2gAwIBAgIQPXnDTPegvJrI98qz8WxrMjAKBggqhkjOPQQDAzCBmzEL\nMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x\nEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTQwMgYDVQQDDCtBbWF6\nb24gUkRTIEJldGEgdXMtZWFzdC0xIFJvb3QgQ0EgRUNDMzg0IEcxMRAwDgYDVQQH\nDAdTZWF0dGxlMCAXDTIxMDUxODIxNDAxMloYDzIxMjEwNTE4MjI0MDEyWjCBmzEL\nMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x\nEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTQwMgYDVQQDDCtBbWF6\nb24gUkRTIEJldGEgdXMtZWFzdC0xIFJvb3QgQ0EgRUNDMzg0IEcxMRAwDgYDVQQH\nDAdTZWF0dGxlMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEI0sR7gwutK5AB46hM761\ngcLTGBIYlURSEoM1jcBwy56CL+3CJKZwLLyJ7qoOKfWbu5GsVLUTWS8MV6Nw33cx\n2KQD2svb694wi+Px2f4n9+XHkEFQw8BbiodDD7RZA70fo0IwQDAPBgNVHRMBAf8E\nBTADAQH/MB0GA1UdDgQWBBTQSioOvnVLEMXwNSDg+zgln/vAkjAOBgNVHQ8BAf8E\nBAMCAYYwCgYIKoZIzj0EAwMDaAAwZQIxAMwu1hqm5Bc98uE/E0B5iMYbBQ4kpMxO\ntP8FTfz5UR37HUn26nXE0puj6S/Ffj4oJgIwXI7s2c26tFQeqzq6u3lrNJHp5jC9\nUxlo/hEJOLoDj5jnpxo8dMAtCNoQPaHdfL0P\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIICrjCCAjWgAwIBAgIQGKVv+5VuzEZEBzJ+bVfx2zAKBggqhkjOPQQDAzCBlzEL\nMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x\nEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTAwLgYDVQQDDCdBbWF6\nb24gUkRTIGFwLXNvdXRoLTEgUm9vdCBDQSBFQ0MzODQgRzExEDAOBgNVBAcMB1Nl\nYXR0bGUwIBcNMjEwNTE5MTc1MDU5WhgPMjEyMTA1MTkxODUwNTlaMIGXMQswCQYD\nVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjETMBEG\nA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExMDAuBgNVBAMMJ0FtYXpvbiBS\nRFMgYXAtc291dGgtMSBSb290IENBIEVDQzM4NCBHMTEQMA4GA1UEBwwHU2VhdHRs\nZTB2MBAGByqGSM49AgEGBSuBBAAiA2IABMqdLJ0tZF/DGFZTKZDrGRJZID8ivC2I\nJRCYTWweZKCKSCAzoiuGGHzJhr5RlLHQf/QgmFcgXsdmO2n3CggzhA4tOD9Ip7Lk\nP05eHd2UPInyPCHRgmGjGb0Z+RdQ6zkitKNCMEAwDwYDVR0TAQH/BAUwAwEB/zAd\nBgNVHQ4EFgQUC1yhRgVqU5bR8cGzOUCIxRpl4EYwDgYDVR0PAQH/BAQDAgGGMAoG\nCCqGSM49BAMDA2cAMGQCMG0c/zLGECRPzGKJvYCkpFTCUvdP4J74YP0v/dPvKojL\nt/BrR1Tg4xlfhaib7hPc7wIwFvgqHes20CubQnZmswbTKLUrgSUW4/lcKFpouFd2\nt2/ewfi/0VhkeUW+IiHhOMdU\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIGCTCCA/GgAwIBAgIRAOXxJuyXVkbfhZCkS/dOpfEwDQYJKoZIhvcNAQEMBQAw\ngZwxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ\nbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTE1MDMGA1UEAwws\nQW1hem9uIFJEUyBhcC1ub3J0aGVhc3QtMSBSb290IENBIFJTQTQwOTYgRzExEDAO\nBgNVBAcMB1NlYXR0bGUwIBcNMjEwNTI1MjE1OTEwWhgPMjEyMTA1MjUyMjU5MTBa\nMIGcMQswCQYDVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywg\nSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExNTAzBgNVBAMM\nLEFtYXpvbiBSRFMgYXAtbm9ydGhlYXN0LTEgUm9vdCBDQSBSU0E0MDk2IEcxMRAw\nDgYDVQQHDAdTZWF0dGxlMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA\nxiP4RDYm4tIS12hGgn1csfO8onQDmK5SZDswUpl0HIKXOUVVWkHNlINkVxbdqpqH\nFhbyZmNN6F/EWopotMDKe1B+NLrjNQf4zefv2vyKvPHJXhxoKmfyuTd5Wk8k1F7I\nlNwLQzznB+ElhrLIDJl9Ro8t31YBBNFRGAGEnxyACFGcdkjlsa52UwfYrwreEg2l\ngW5AzqHgjFfj9QRLydeU/n4bHm0F1adMsV7P3rVwilcUlqsENDwXnWyPEyv3sw6F\nwNemLEs1129mB77fwvySb+lLNGsnzr8w4wdioZ74co+T9z2ca+eUiP+EQccVw1Is\nD4Fh57IjPa6Wuc4mwiUYKkKY63+38aCfEWb0Qoi+zW+mE9nek6MOQ914cN12u5LX\ndBoYopphRO5YmubSN4xcBy405nIdSdbrAVWwxXnVVyjqjknmNeqQsPZaxAhdoKhV\nAqxNr8AUAdOAO6Sz3MslmcLlDXFihrEEOeUbpg/m1mSUUHGbu966ajTG1FuEHHwS\n7WB52yxoJo/tHvt9nAWnh3uH5BHmS8zn6s6CGweWKbX5yICnZ1QFR1e4pogxX39v\nXD6YcNOO+Vn+HY4nXmjgSYVC7l+eeP8eduMg1xJujzjrbmrXU+d+cBObgdTOAlpa\nJFHaGwYw1osAwPCo9cZ2f04yitBfj9aPFia8ASKldakCAwEAAaNCMEAwDwYDVR0T\nAQH/BAUwAwEB/zAdBgNVHQ4EFgQUqKS+ltlior0SyZKYAkJ/efv55towDgYDVR0P\nAQH/BAQDAgGGMA0GCSqGSIb3DQEBDAUAA4ICAQAdElvp8bW4B+Cv+1WSN87dg6TN\nwGyIjJ14/QYURgyrZiYpUmZpj+/pJmprSWXu4KNyqHftmaidu7cdjL5nCAvAfnY5\n/6eDDbX4j8Gt9fb/6H9y0O0dn3mUPSEKG0crR+JRFAtPhn/2FNvst2P82yguWLv0\npHjHVUVcq+HqDMtUIJsTPYjSh9Iy77Q6TOZKln9dyDOWJpCSkiUWQtMAKbCSlvzd\nzTs/ahqpT+zLfGR1SR+T3snZHgQnbnemmz/XtlKl52NxccARwfcEEKaCRQyGq/pR\n0PVZasyJS9JY4JfQs4YOdeOt4UMZ8BmW1+BQWGSkkb0QIRl8CszoKofucAlqdPcO\nIT/ZaMVhI580LFGWiQIizWFskX6lqbCyHqJB3LDl8gJISB5vNTHOHpvpMOMs5PYt\ncRl5Mrksx5MKMqG7y5R734nMlZxQIHjL5FOoOxTBp9KeWIL/Ib89T2QDaLw1SQ+w\nihqWBJ4ZdrIMWYpP3WqM+MXWk7WAem+xsFJdR+MDgOOuobVQTy5dGBlPks/6gpjm\nrO9TjfQ36ppJ3b7LdKUPeRfnYmlR5RU4oyYJ//uLbClI443RZAgxaCXX/nyc12lr\neVLUMNF2abLX4/VF63m2/Z9ACgMRfqGshPssn1NN33OonrotQoj4S3N9ZrjvzKt8\niHcaqd60QKpfiH2A3A==\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIICuDCCAj2gAwIBAgIQPaVGRuu86nh/ylZVCLB0MzAKBggqhkjOPQQDAzCBmzEL\nMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x\nEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTQwMgYDVQQDDCtBbWF6\nb24gUkRTIGFwLW5vcnRoZWFzdC0xIFJvb3QgQ0EgRUNDMzg0IEcxMRAwDgYDVQQH\nDAdTZWF0dGxlMCAXDTIxMDUyNTIyMDMxNloYDzIxMjEwNTI1MjMwMzE2WjCBmzEL\nMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x\nEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTQwMgYDVQQDDCtBbWF6\nb24gUkRTIGFwLW5vcnRoZWFzdC0xIFJvb3QgQ0EgRUNDMzg0IEcxMRAwDgYDVQQH\nDAdTZWF0dGxlMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEexNURoB9KE93MEtEAlJG\nobz4LS/pD2hc8Gczix1WhVvpJ8bN5zCDXaKdnDMCebetyRQsmQ2LYlfmCwpZwSDu\n0zowB11Pt3I5Avu2EEcuKTlKIDMBeZ1WWuOd3Tf7MEAMo0IwQDAPBgNVHRMBAf8E\nBTADAQH/MB0GA1UdDgQWBBSaYbZPBvFLikSAjpa8mRJvyArMxzAOBgNVHQ8BAf8E\nBAMCAYYwCgYIKoZIzj0EAwMDaQAwZgIxAOEJkuh3Zjb7Ih/zuNRd1RBqmIYcnyw0\nnwUZczKXry+9XebYj3VQxSRNadrarPWVqgIxAMg1dyGoDAYjY/L/9YElyMnvHltO\nPwpJShmqHvCLc/mXMgjjYb/akK7yGthvW6j/uQ==\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIGCDCCA/CgAwIBAgIQChu3v5W1Doil3v6pgRIcVzANBgkqhkiG9w0BAQwFADCB\nnDELMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIElu\nYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTUwMwYDVQQDDCxB\nbWF6b24gUkRTIEJldGEgdXMtZWFzdC0xIFJvb3QgQ0EgUlNBNDA5NiBHMTEQMA4G\nA1UEBwwHU2VhdHRsZTAgFw0yMTA1MTgyMTM0MTVaGA8yMTIxMDUxODIyMzQxNVow\ngZwxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ\nbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTE1MDMGA1UEAwws\nQW1hem9uIFJEUyBCZXRhIHVzLWVhc3QtMSBSb290IENBIFJTQTQwOTYgRzExEDAO\nBgNVBAcMB1NlYXR0bGUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC1\nFUGQ5tf3OwpDR6hGBxhUcrkwKZhaXP+1St1lSOQvjG8wXT3RkKzRGMvb7Ee0kzqI\nmzKKe4ASIhtV3UUWdlNmP0EA3XKnif6N79MismTeGkDj75Yzp5A6tSvqByCgxIjK\nJqpJrch3Dszoyn8+XhwDxMZtkUa5nQVdJgPzJ6ltsQ8E4SWLyLtTu0S63jJDkqYY\nS7cQblk7y7fel+Vn+LS5dGTdRRhMvSzEnb6mkVBaVzRyVX90FNUED06e8q+gU8Ob\nhtvQlf9/kRzHwRAdls2YBhH40ZeyhpUC7vdtPwlmIyvW5CZ/QiG0yglixnL6xahL\npbmTuTSA/Oqz4UGQZv2WzHe1lD2gRHhtFX2poQZeNQX8wO9IcUhrH5XurW/G9Xwl\nSat9CMPERQn4KC3HSkat4ir2xaEUrjfg6c4XsGyh2Pk/LZ0gLKum0dyWYpWP4JmM\nRQNjrInXPbMhzQObozCyFT7jYegS/3cppdyy+K1K7434wzQGLU1gYXDKFnXwkX8R\nbRKgx2pHNbH5lUddjnNt75+e8m83ygSq/ZNBUz2Ur6W2s0pl6aBjwaDES4VfWYlI\njokcmrGvJNDfQWygb1k00eF2bzNeNCHwgWsuo3HSxVgc/WGsbcGrTlDKfz+g3ich\nbXUeUidPhRiv5UQIVCLIHpHuin3bj9lQO/0t6p+tAQIDAQABo0IwQDAPBgNVHRMB\nAf8EBTADAQH/MB0GA1UdDgQWBBSFmMBgm5IsRv3hLrvDPIhcPweXYTAOBgNVHQ8B\nAf8EBAMCAYYwDQYJKoZIhvcNAQEMBQADggIBAAa2EuozymOsQDJlEi7TqnyA2OhT\nGXPfYqCyMJVkfrqNgcnsNpCAiNEiZbb+8sIPXnT8Ay8hrwJYEObJ5b7MHXpLuyft\nz0Pu1oFLKnQxKjNxrIsCvaB4CRRdYjm1q7EqGhMGv76se9stOxkOqO9it31w/LoU\nENDk7GLsSqsV1OzYLhaH8t+MaNP6rZTSNuPrHwbV3CtBFl2TAZ7iKgKOhdFz1Hh9\nPez0lG+oKi4mHZ7ajov6PD0W7njn5KqzCAkJR6OYmlNVPjir+c/vUtEs0j+owsMl\ng7KE5g4ZpTRShyh5BjCFRK2tv0tkqafzNtxrKC5XNpEkqqVTCnLcKG+OplIEadtr\nC7UWf4HyhCiR+xIyxFyR05p3uY/QQU/5uza7GlK0J+U1sBUytx7BZ+Fo8KQfPPqV\nCqDCaYUksoJcnJE/KeoksyqNQys7sDGJhkd0NeUGDrFLKHSLhIwAMbEWnqGxvhli\nE7sP2E5rI/I9Y9zTbLIiI8pfeZlFF8DBdoP/Hzg8pqsiE/yiXSFTKByDwKzGwNqz\nF0VoFdIZcIbLdDbzlQitgGpJtvEL7HseB0WH7B2PMMD8KPJlYvPveO3/6OLzCsav\n+CAkvk47NQViKMsUTKOA0JDCW+u981YRozxa3K081snhSiSe83zIPBz1ikldXxO9\n6YYLNPRrj3mi9T/f\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIICrjCCAjSgAwIBAgIRAMkvdFnVDb0mWWFiXqnKH68wCgYIKoZIzj0EAwMwgZYx\nCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMu\nMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTEvMC0GA1UEAwwmQW1h\nem9uIFJEUyB1cy13ZXN0LTEgUm9vdCBDQSBFQ0MzODQgRzExEDAOBgNVBAcMB1Nl\nYXR0bGUwIBcNMjEwNTE5MTkxMzI0WhgPMjEyMTA1MTkyMDEzMjRaMIGWMQswCQYD\nVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjETMBEG\nA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExLzAtBgNVBAMMJkFtYXpvbiBS\nRFMgdXMtd2VzdC0xIFJvb3QgQ0EgRUNDMzg0IEcxMRAwDgYDVQQHDAdTZWF0dGxl\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEy86DB+9th/0A5VcWqMSWDxIUblWTt/R0\nao6Z2l3vf2YDF2wt1A2NIOGpfQ5+WAOJO/IQmnV9LhYo+kacB8sOnXdQa6biZZkR\nIyouUfikVQAKWEJnh1Cuo5YMM4E2sUt5o0IwQDAPBgNVHRMBAf8EBTADAQH/MB0G\nA1UdDgQWBBQ8u3OnecANmG8OoT7KLWDuFzZwBTAOBgNVHQ8BAf8EBAMCAYYwCgYI\nKoZIzj0EAwMDaAAwZQIwQ817qkb7mWJFnieRAN+m9W3E0FLVKaV3zC5aYJUk2fcZ\nTaUx3oLp3jPLGvY5+wgeAjEA6wAicAki4ZiDfxvAIuYiIe1OS/7H5RA++R8BH6qG\niRzUBM/FItFpnkus7u/eTkvo\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIICrzCCAjWgAwIBAgIQS/+Ryfgb/IOVEa1pWoe8oTAKBggqhkjOPQQDAzCBlzEL\nMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x\nEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTAwLgYDVQQDDCdBbWF6\nb24gUkRTIGFwLXNvdXRoLTIgUm9vdCBDQSBFQ0MzODQgRzExEDAOBgNVBAcMB1Nl\nYXR0bGUwIBcNMjIwNjA2MjE1NDQyWhgPMjEyMjA2MDYyMjU0NDJaMIGXMQswCQYD\nVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjETMBEG\nA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExMDAuBgNVBAMMJ0FtYXpvbiBS\nRFMgYXAtc291dGgtMiBSb290IENBIEVDQzM4NCBHMTEQMA4GA1UEBwwHU2VhdHRs\nZTB2MBAGByqGSM49AgEGBSuBBAAiA2IABDsX6fhdUWBQpYTdseBD/P3s96Dtw2Iw\nOrXKNToCnmX5nMkUGdRn9qKNiz1pw3EPzaPxShbYwQ7LYP09ENK/JN4QQjxMihxC\njLFxS85nhBQQQGRCWikDAe38mD8fSvREQKNCMEAwDwYDVR0TAQH/BAUwAwEB/zAd\nBgNVHQ4EFgQUIh1xZiseQYFjPYKJmGbruAgRH+AwDgYDVR0PAQH/BAQDAgGGMAoG\nCCqGSM49BAMDA2gAMGUCMFudS4zLy+UUGrtgNLtRMcu/DZ9BUzV4NdHxo0bkG44O\nthnjl4+wTKI6VbyAbj2rkgIxAOHps8NMITU5DpyiMnKTxV8ubb/WGHrLl0BjB8Lw\nETVJk5DNuZvsIIcm7ykk6iL4Tw==\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIGBDCCA+ygAwIBAgIQDcEmNIAVrDpUw5cH5ynutDANBgkqhkiG9w0BAQwFADCB\nmjELMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIElu\nYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTMwMQYDVQQDDCpB\nbWF6b24gUkRTIG1lLWNlbnRyYWwtMSBSb290IENBIFJTQTQwOTYgRzExEDAOBgNV\nBAcMB1NlYXR0bGUwIBcNMjIwNTA3MDA0MDIzWhgPMjEyMjA1MDcwMTQwMjNaMIGa\nMQswCQYDVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5j\nLjETMBEGA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExMzAxBgNVBAMMKkFt\nYXpvbiBSRFMgbWUtY2VudHJhbC0xIFJvb3QgQ0EgUlNBNDA5NiBHMTEQMA4GA1UE\nBwwHU2VhdHRsZTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKvADk8t\nFl9bFlU5sajLPPDSOUpPAkKs6iPlz+27o1GJC88THcOvf3x0nVAcu9WYe9Qaas+4\nj4a0vv51agqyODRD/SNi2HnqW7DbtLPAm6KBHe4twl28ItB/JD5g7u1oPAHFoXMS\ncH1CZEAs5RtlZGzJhcBXLFsHNv/7+SCLyZ7+2XFh9OrtgU4wMzkHoRNndhfwV5bu\n17bPTwuH+VxH37zXf1mQ/KjhuJos0C9dL0FpjYBAuyZTAWhZKs8dpSe4DI544z4w\ngkwUB4bC2nA1TBzsywEAHyNuZ/xRjNpWvx0ToWAA2iFJqC3VO3iKcnBplMvaUuMt\njwzVSNBnKcoabXCZL2XDLt4YTZR8FSwz05IvsmwcPB7uNTBXq3T9sjejW8QQK3vT\ntzyfLq4jKmQE7PoS6cqYm+hEPm2hDaC/WP9bp3FdEJxZlPH26fq1b7BWYWhQ9pBA\nNv9zTnzdR1xohTyOJBUFQ81ybEzabqXqVXUIANqIOaNcTB09/sLJ7+zuMhp3mwBu\nLtjfJv8PLuT1r63bU3seROhKA98b5KfzjvbvPSg3vws78JQyoYGbqNyDfyjVjg3U\nv//AdVuPie6PNtdrW3upZY4Qti5IjP9e3kimaJ+KAtTgMRG56W0WxD3SP7+YGGbG\nKhntDOkKsN39hLpn9UOafTIqFu7kIaueEy/NAgMBAAGjQjBAMA8GA1UdEwEB/wQF\nMAMBAf8wHQYDVR0OBBYEFHAems86dTwdZbLe8AaPy3kfIUVoMA4GA1UdDwEB/wQE\nAwIBhjANBgkqhkiG9w0BAQwFAAOCAgEAOBHpp0ICx81kmeoBcZTrMdJs2gnhcd85\nFoSCjXx9H5XE5rmN/lQcxxOgj8hr3uPuLdLHu+i6THAyzjrl2NA1FWiqpfeECGmy\n0jm7iZsYORgGQYp/VKnDrwnKNSqlZvOuRr0kfUexwFlr34Y4VmupvEOK/RdGsd3S\n+3hiemcHse9ST/sJLHx962AWMkN86UHPscJEe4+eT3f2Wyzg6La8ARwdWZSNS+WH\nZfybrncMmuiXuUdHv9XspPsqhKgtHhcYeXOGUtrwQPLe3+VJZ0LVxhlTWr9951GZ\nGfmWwTV/9VsyKVaCFIXeQ6L+gjcKyEzYF8wpMtQlSc7FFqwgC4bKxvMBSaRy88Nr\nlV2+tJD/fr8zGUeBK44Emon0HKDBWGX+/Hq1ZIv0Da0S+j6LbA4fusWxtGfuGha+\nluhHgVInCpALIOamiBEdGhILkoTtx7JrYppt3/Raqg9gUNCOOYlCvGhqX7DXeEfL\nDGabooiY2FNWot6h04JE9nqGj5QqT8D6t/TL1nzxhRPzbcSDIHUd/b5R+a0bAA+7\nYTU6JqzEVCWKEIEynYmqikgLMGB/OzWsgyEL6822QW6hJAQ78XpbNeCzrICF4+GC\n7KShLnwuWoWpAb26268lvOEvCTFM47VC6jNQl97md+2SA9Ma81C9wflid2M83Wle\ncuLMVcQZceE=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIEADCCAuigAwIBAgIQAhAteLRCvizAElaWORFU2zANBgkqhkiG9w0BAQsFADCB\nmDELMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIElu\nYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTEwLwYDVQQDDChB\nbWF6b24gUkRTIG1lLXNvdXRoLTEgUm9vdCBDQSBSU0EyMDQ4IEcxMRAwDgYDVQQH\nDAdTZWF0dGxlMCAXDTIxMDUyMDE3MDkxNloYDzIwNjEwNTIwMTgwOTE2WjCBmDEL\nMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x\nEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTEwLwYDVQQDDChBbWF6\nb24gUkRTIG1lLXNvdXRoLTEgUm9vdCBDQSBSU0EyMDQ4IEcxMRAwDgYDVQQHDAdT\nZWF0dGxlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA+qg7JAcOVKjh\nN83SACnBFZPyB63EusfDr/0V9ZdL8lKcmZX9sv/CqoBo3N0EvBqHQqUUX6JvFb7F\nXrMUZ740kr28gSRALfXTFgNODjXeDsCtEkKRTkac/UM8xXHn+hR7UFRPHS3e0GzI\niLiwQWDkr0Op74W8aM0CfaVKvh2bp4BI1jJbdDnQ9OKXpOxNHGUf0ZGb7TkNPkgI\nb2CBAc8J5o3H9lfw4uiyvl6Fz5JoP+A+zPELAioYBXDrbE7wJeqQDJrETWqR9VEK\nBXURCkVnHeaJy123MpAX2ozf4pqk0V0LOEOZRS29I+USF5DcWr7QIXR/w2I8ws1Q\n7ys+qbE+kQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQFJ16n\n1EcCMOIhoZs/F9sR+Jy++zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQAD\nggEBAOc5nXbT3XTDEZsxX2iD15YrQvmL5m13B3ImZWpx/pqmObsgx3/dg75rF2nQ\nqS+Vl+f/HLh516pj2BPP/yWCq12TRYigGav8UH0qdT3CAClYy2o+zAzUJHm84oiB\nud+6pFVGkbqpsY+QMpJUbZWu52KViBpJMYsUEy+9cnPSFRVuRAHjYynSiLk2ZEjb\nWkdc4x0nOZR5tP0FgrX0Ve2KcjFwVQJVZLgOUqmFYQ/G0TIIGTNh9tcmR7yp+xJR\nA2tbPV2Z6m9Yxx4E8lLEPNuoeouJ/GR4CkMEmF8cLwM310t174o3lKKUXJ4Vs2HO\nWj2uN6R9oI+jGLMSswTzCNV1vgc=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIICuDCCAj6gAwIBAgIRAOocLeZWjYkG/EbHmscuy8gwCgYIKoZIzj0EAwMwgZsx\nCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMu\nMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTE0MDIGA1UEAwwrQW1h\nem9uIFJEUyBhcC1zb3V0aGVhc3QtMSBSb290IENBIEVDQzM4NCBHMTEQMA4GA1UE\nBwwHU2VhdHRsZTAgFw0yMTA1MjEyMTUwMDFaGA8yMTIxMDUyMTIyNTAwMVowgZsx\nCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMu\nMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTE0MDIGA1UEAwwrQW1h\nem9uIFJEUyBhcC1zb3V0aGVhc3QtMSBSb290IENBIEVDQzM4NCBHMTEQMA4GA1UE\nBwwHU2VhdHRsZTB2MBAGByqGSM49AgEGBSuBBAAiA2IABCEr3jq1KtRncnZfK5cq\nbtY0nW6ZG3FMbh7XwBIR6Ca0f8llGZ4vJEC1pXgiM/4Dh045B9ZIzNrR54rYOIfa\n2NcYZ7mk06DjIQML64hbAxbQzOAuNzLPx268MrlL2uW2XaNCMEAwDwYDVR0TAQH/\nBAUwAwEB/zAdBgNVHQ4EFgQUln75pChychwN4RfHl+tOinMrfVowDgYDVR0PAQH/\nBAQDAgGGMAoGCCqGSM49BAMDA2gAMGUCMGiyPINRU1mwZ4Crw01vpuPvxZxb2IOr\nyX3RNlOIu4We1H+5dQk5tIvH8KGYFbWEpAIxAO9NZ6/j9osMhLgZ0yj0WVjb+uZx\nYlZR9fyFisY/jNfX7QhSk+nrc3SFLRUNtpXrng==\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIEBTCCAu2gAwIBAgIRAKiaRZatN8eiz9p0s0lu0rQwDQYJKoZIhvcNAQELBQAw\ngZoxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ\nbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTEzMDEGA1UEAwwq\nQW1hem9uIFJEUyBjYS1jZW50cmFsLTEgUm9vdCBDQSBSU0EyMDQ4IEcxMRAwDgYD\nVQQHDAdTZWF0dGxlMCAXDTIxMDUyMTIyMDIzNVoYDzIwNjEwNTIxMjMwMjM1WjCB\nmjELMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIElu\nYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTMwMQYDVQQDDCpB\nbWF6b24gUkRTIGNhLWNlbnRyYWwtMSBSb290IENBIFJTQTIwNDggRzExEDAOBgNV\nBAcMB1NlYXR0bGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCygVMf\nqB865IR9qYRBRFHn4eAqGJOCFx+UbraQZmjr/mnRqSkY+nhbM7Pn/DWOrRnxoh+w\nq5F9ZxdZ5D5T1v6kljVwxyfFgHItyyyIL0YS7e2h7cRRscCM+75kMedAP7icb4YN\nLfWBqfKHbHIOqvvQK8T6+Emu/QlG2B5LvuErrop9K0KinhITekpVIO4HCN61cuOe\nCADBKF/5uUJHwS9pWw3uUbpGUwsLBuhJzCY/OpJlDqC8Y9aToi2Ivl5u3/Q/sKjr\n6AZb9lx4q3J2z7tJDrm5MHYwV74elGSXoeoG8nODUqjgklIWAPrt6lQ3WJpO2kug\n8RhCdSbWkcXHfX95AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE\nFOIxhqTPkKVqKBZvMWtKewKWDvDBMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0B\nAQsFAAOCAQEAqoItII89lOl4TKvg0I1EinxafZLXIheLcdGCxpjRxlZ9QMQUN3yb\ny/8uFKBL0otbQgJEoGhxm4h0tp54g28M6TN1U0332dwkjYxUNwvzrMaV5Na55I2Z\n1hq4GB3NMXW+PvdtsgVOZbEN+zOyOZ5MvJHEQVkT3YRnf6avsdntltcRzHJ16pJc\nY8rR7yWwPXh1lPaPkxddrCtwayyGxNbNmRybjR48uHRhwu7v2WuAMdChL8H8bp89\nTQLMrMHgSbZfee9hKhO4Zebelf1/cslRSrhkG0ESq6G5MUINj6lMg2g6F0F7Xz2v\nncD/vuRN5P+vT8th/oZ0Q2Gc68Pun0cn/g==\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIID/zCCAuegAwIBAgIRAJYlnmkGRj4ju/2jBQsnXJYwDQYJKoZIhvcNAQELBQAw\ngZcxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ\nbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTEwMC4GA1UEAwwn\nQW1hem9uIFJEUyB1cy1lYXN0LTIgUm9vdCBDQSBSU0EyMDQ4IEcxMRAwDgYDVQQH\nDAdTZWF0dGxlMCAXDTIxMDUyMTIzMDQ0NFoYDzIwNjEwNTIyMDAwNDQ0WjCBlzEL\nMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x\nEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTAwLgYDVQQDDCdBbWF6\nb24gUkRTIHVzLWVhc3QtMiBSb290IENBIFJTQTIwNDggRzExEDAOBgNVBAcMB1Nl\nYXR0bGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC74V3eigv+pCj5\nnqDBqplY0Jp16pTeNB06IKbzb4MOTvNde6QjsZxrE1xUmprT8LxQqN9tI3aDYEYk\nb9v4F99WtQVgCv3Y34tYKX9NwWQgwS1vQwnIR8zOFBYqsAsHEkeJuSqAB12AYUSd\nZv2RVFjiFmYJho2X30IrSLQfS/IE3KV7fCyMMm154+/K1Z2IJlcissydEAwgsUHw\nedrE6CxJVkkJ3EvIgG4ugK/suxd8eEMztaQYJwSdN8TdfT59LFuSPl7zmF3fIBdJ\n//WexcQmGabaJ7Xnx+6o2HTfkP8Zzzzaq8fvjAcvA7gyFH5EP26G2ZqMG+0y4pTx\nSPVTrQEXAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFIWWuNEF\nsUMOC82XlfJeqazzrkPDMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOC\nAQEAgClmxcJaQTGpEZmjElL8G2Zc8lGc+ylGjiNlSIw8X25/bcLRptbDA90nuP+q\nzXAMhEf0ccbdpwxG/P5a8JipmHgqQLHfpkvaXx+0CuP++3k+chAJ3Gk5XtY587jX\n+MJfrPgjFt7vmMaKmynndf+NaIJAYczjhJj6xjPWmGrjM3MlTa9XesmelMwP3jep\nbApIWAvCYVjGndbK9byyMq1nyj0TUzB8oJZQooaR3MMjHTmADuVBylWzkRMxbKPl\n4Nlsk4Ef1JvIWBCzsMt+X17nuKfEatRfp3c9tbpGlAE/DSP0W2/Lnayxr4RpE9ds\nICF35uSis/7ZlsftODUe8wtpkQ==\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIF/zCCA+egAwIBAgIRAPvvd+MCcp8E36lHziv0xhMwDQYJKoZIhvcNAQEMBQAw\ngZcxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ\nbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTEwMC4GA1UEAwwn\nQW1hem9uIFJEUyB1cy1lYXN0LTIgUm9vdCBDQSBSU0E0MDk2IEcxMRAwDgYDVQQH\nDAdTZWF0dGxlMCAXDTIxMDUyMTIzMTEwNloYDzIxMjEwNTIyMDAxMTA2WjCBlzEL\nMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x\nEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTAwLgYDVQQDDCdBbWF6\nb24gUkRTIHVzLWVhc3QtMiBSb290IENBIFJTQTQwOTYgRzExEDAOBgNVBAcMB1Nl\nYXR0bGUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDbvwekKIKGcV/s\nlDU96a71ZdN2pTYkev1X2e2/ICb765fw/i1jP9MwCzs8/xHBEQBJSxdfO4hPeNx3\nENi0zbM+TrMKliS1kFVe1trTTEaHYjF8BMK9yTY0VgSpWiGxGwg4tshezIA5lpu8\nsF6XMRxosCEVCxD/44CFqGZTzZaREIvvFPDTXKJ6yOYnuEkhH3OcoOajHN2GEMMQ\nShuyRFDQvYkqOC/Q5icqFbKg7eGwfl4PmimdV7gOVsxSlw2s/0EeeIILXtHx22z3\n8QBhX25Lrq2rMuaGcD3IOMBeBo2d//YuEtd9J+LGXL9AeOXHAwpvInywJKAtXTMq\nWsy3LjhuANFrzMlzjR2YdjkGVzeQVx3dKUzJ2//Qf7IXPSPaEGmcgbxuatxjnvfT\nH85oeKr3udKnXm0Kh7CLXeqJB5ITsvxI+Qq2iXtYCc+goHNR01QJwtGDSzuIMj3K\nf+YMrqBXZgYBwU2J/kCNTH31nfw96WTbOfNGwLwmVRDgguzFa+QzmQsJW4FTDMwc\n7cIjwdElQQVA+Gqa67uWmyDKAnoTkudmgAP+OTBkhnmc6NJuZDcy6f/iWUdl0X0u\n/tsfgXXR6ZovnHonM13ANiN7VmEVqFlEMa0VVmc09m+2FYjjlk8F9sC7Rc4wt214\n7u5YvCiCsFZwx44baP5viyRZgkJVpQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/\nMB0GA1UdDgQWBBQgCZCsc34nVTRbWsniXBPjnUTQ2DAOBgNVHQ8BAf8EBAMCAYYw\nDQYJKoZIhvcNAQEMBQADggIBAAQas3x1G6OpsIvQeMS9BbiHG3+kU9P/ba6Rrg+E\nlUz8TmL04Bcd+I+R0IyMBww4NznT+K60cFdk+1iSmT8Q55bpqRekyhcdWda1Qu0r\nJiTi7zz+3w2v66akofOnGevDpo/ilXGvCUJiLOBnHIF0izUqzvfczaMZGJT6xzKq\nPcEVRyAN1IHHf5KnGzUlVFv9SGy47xJ9I1vTk24JU0LWkSLzMMoxiUudVmHSqJtN\nu0h+n/x3Q6XguZi1/C1KOntH56ewRh8n5AF7c+9LJJSRM9wunb0Dzl7BEy21Xe9q\n03xRYjf5wn8eDELB8FZPa1PrNKXIOLYM9egdctbKEcpSsse060+tkyBrl507+SJT\n04lvJ4tcKjZFqxn+bUkDQvXYj0D3WK+iJ7a8kZJPRvz8BDHfIqancY8Tgw+69SUn\nWqIb+HNZqFuRs16WFSzlMksqzXv6wcDSyI7aZOmCGGEcYW9NHk8EuOnOQ+1UMT9C\nQb1GJcipjRzry3M4KN/t5vN3hIetB+/PhmgTO4gKhBETTEyPC3HC1QbdVfRndB6e\nU/NF2U/t8U2GvD26TTFLK4pScW7gyw4FQyXWs8g8FS8f+R2yWajhtS9++VDJQKom\nfAUISoCH+PlPRJpu/nHd1Zrddeiiis53rBaLbXu2J1Q3VqjWOmtj0HjxJJxWnYmz\nPqj2\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIGATCCA+mgAwIBAgIRAI/U4z6+GF8/znpHM8Dq8G0wDQYJKoZIhvcNAQEMBQAw\ngZgxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ\nbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTExMC8GA1UEAwwo\nQW1hem9uIFJEUyBhcC1zb3V0aC0yIFJvb3QgQ0EgUlNBNDA5NiBHMTEQMA4GA1UE\nBwwHU2VhdHRsZTAgFw0yMjA2MDYyMTQ4MThaGA8yMTIyMDYwNjIyNDgxOFowgZgx\nCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMu\nMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTExMC8GA1UEAwwoQW1h\nem9uIFJEUyBhcC1zb3V0aC0yIFJvb3QgQ0EgUlNBNDA5NiBHMTEQMA4GA1UEBwwH\nU2VhdHRsZTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK5WqMvyq888\n3uuOtEj1FcP6iZhqO5kJurdJF59Otp2WCg+zv6I+QwaAspEWHQsKD405XfFsTGKV\nSKTCwoMxwBniuChSmyhlagQGKSnRY9+znOWq0v7hgmJRwp6FqclTbubmr+K6lzPy\nhs86mEp68O5TcOTYWUlPZDqfKwfNTbtCl5YDRr8Gxb5buHmkp6gUSgDkRsXiZ5VV\nb3GBmXRqbnwo5ZRNAzQeM6ylXCn4jKs310lQGUrFbrJqlyxUdfxzqdlaIRn2X+HY\nxRSYbHox3LVNPpJxYSBRvpQVFSy9xbX8d1v6OM8+xluB31cbLBtm08KqPFuqx+cO\nI2H5F0CYqYzhyOSKJsiOEJT6/uH4ewryskZzncx9ae62SC+bB5n3aJLmOSTkKLFY\nYS5IsmDT2m3iMgzsJNUKVoCx2zihAzgBanFFBsG+Xmoq0aKseZUI6vd2qpd5tUST\n/wS1sNk0Ph7teWB2ACgbFE6etnJ6stwjHFZOj/iTYhlnR2zDRU8akunFdGb6CB4/\nhMxGJxaqXSJeGtHm7FpadlUTf+2ESbYcVW+ui/F8sdBJseQdKZf3VdZZMgM0bcaX\nNE47cauDTy72WdU9YJX/YXKYMLDE0iFHTnGpfVGsuWGPYhlwZ3dFIO07mWnCRM6X\nu5JXRB1oy5n5HRluMsmpSN/R92MeBxKFAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMB\nAf8wHQYDVR0OBBYEFNtH0F0xfijSLHEyIkRGD9gW6NazMA4GA1UdDwEB/wQEAwIB\nhjANBgkqhkiG9w0BAQwFAAOCAgEACo+5jFeY3ygxoDDzL3xpfe5M0U1WxdKk+az4\n/OfjZvkoma7WfChi3IIMtwtKLYC2/seKWA4KjlB3rlTsCVNPnK6D+gAnybcfTKk/\nIRSPk92zagwQkSUWtAk80HpVfWJzpkSU16ejiajhedzOBRtg6BwsbSqLCDXb8hXr\neXWC1S9ZceGc+LcKRHewGWPu31JDhHE9bNcl9BFSAS0lYVZqxIRWxivZ+45j5uQv\nwPrC8ggqsdU3K8quV6dblUQzzA8gKbXJpCzXZihkPrYpQHTH0szvXvgebh+CNUAG\nrUxm8+yTS0NFI3U+RLbcLFVzSvjMOnEwCX0SPj5XZRYYXs5ajtQCoZhTUkkwpDV8\nRxXk8qGKiXwUxDO8GRvmvM82IOiXz5w2jy/h7b7soyIgdYiUydMq4Ja4ogB/xPZa\ngf4y0o+bremO15HFf1MkaU2UxPK5FFVUds05pKvpSIaQWbF5lw4LHHj4ZtVup7zF\nCLjPWs4Hs/oUkxLMqQDw0FBwlqa4uot8ItT8uq5BFpz196ZZ+4WXw5PVzfSxZibI\nC/nwcj0AS6qharXOs8yPnPFLPSZ7BbmWzFDgo3tpglRqo3LbSPsiZR+sLeivqydr\n0w4RK1btRda5Ws88uZMmW7+2aufposMKcbAdrApDEAVzHijbB/nolS5nsnFPHZoA\nKDPtFEk=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIICtzCCAj2gAwIBAgIQVZ5Y/KqjR4XLou8MCD5pOjAKBggqhkjOPQQDAzCBmzEL\nMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x\nEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTQwMgYDVQQDDCtBbWF6\nb24gUkRTIGFwLXNvdXRoZWFzdC00IFJvb3QgQ0EgRUNDMzg0IEcxMRAwDgYDVQQH\nDAdTZWF0dGxlMCAXDTIyMDUyNTE2NTgzM1oYDzIxMjIwNTI1MTc1ODMzWjCBmzEL\nMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x\nEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTQwMgYDVQQDDCtBbWF6\nb24gUkRTIGFwLXNvdXRoZWFzdC00IFJvb3QgQ0EgRUNDMzg0IEcxMRAwDgYDVQQH\nDAdTZWF0dGxlMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEbo473OmpD5vkckdJajXg\nbrhmNFyoSa0WCY1njuZC2zMFp3zP6rX4I1r3imrYnJd9pFH/aSiV/r6L5ACE5RPx\n4qdg5SQ7JJUaZc3DWsTOiOed7BCZSzM+KTYK/2QzDMApo0IwQDAPBgNVHRMBAf8E\nBTADAQH/MB0GA1UdDgQWBBTmogc06+1knsej1ltKUOdWFvwgsjAOBgNVHQ8BAf8E\nBAMCAYYwCgYIKoZIzj0EAwMDaAAwZQIxAIs7TlLMbGTWNXpGiKf9DxaM07d/iDHe\nF/Vv/wyWSTGdobxBL6iArQNVXz0Gr4dvPAIwd0rsoa6R0x5mtvhdRPtM37FYrbHJ\npbV+OMusQqcSLseunLBoCHenvJW0QOCQ8EDY\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIICvTCCAkOgAwIBAgIQCIY7E/bFvFN2lK9Kckb0dTAKBggqhkjOPQQDAzCBnjEL\nMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x\nEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTcwNQYDVQQDDC5BbWF6\nb24gUkRTIFByZXZpZXcgdXMtZWFzdC0yIFJvb3QgQ0EgRUNDMzg0IEcxMRAwDgYD\nVQQHDAdTZWF0dGxlMCAXDTIxMDUxODIxMDUxMFoYDzIxMjEwNTE4MjIwNTEwWjCB\nnjELMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIElu\nYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTcwNQYDVQQDDC5B\nbWF6b24gUkRTIFByZXZpZXcgdXMtZWFzdC0yIFJvb3QgQ0EgRUNDMzg0IEcxMRAw\nDgYDVQQHDAdTZWF0dGxlMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEMI0hzf1JCEOI\nEue4+DmcNnSs2i2UaJxHMrNGGfU7b42a7vwP53F7045ffHPBGP4jb9q02/bStZzd\nVHqfcgqkSRI7beBKjD2mfz82hF/wJSITTgCLs+NRpS6zKMFOFHUNo0IwQDAPBgNV\nHRMBAf8EBTADAQH/MB0GA1UdDgQWBBS8uF/6hk5mPLH4qaWv9NVZaMmyTjAOBgNV\nHQ8BAf8EBAMCAYYwCgYIKoZIzj0EAwMDaAAwZQIxAO7Pu9wzLyM0X7Q08uLIL+vL\nqaxe3UFuzFTWjM16MLJHbzLf1i9IDFKz+Q4hXCSiJwIwClMBsqT49BPUxVsJnjGr\nEbyEk6aOOVfY1p2yQL649zh3M4h8okLnwf+bYIb1YpeU\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIEADCCAuigAwIBAgIQY+JhwFEQTe36qyRlUlF8ozANBgkqhkiG9w0BAQsFADCB\nmDELMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIElu\nYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTEwLwYDVQQDDChB\nbWF6b24gUkRTIGFmLXNvdXRoLTEgUm9vdCBDQSBSU0EyMDQ4IEcxMRAwDgYDVQQH\nDAdTZWF0dGxlMCAXDTIxMDUxOTE5MjQxNloYDzIwNjEwNTE5MjAyNDE2WjCBmDEL\nMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x\nEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTEwLwYDVQQDDChBbWF6\nb24gUkRTIGFmLXNvdXRoLTEgUm9vdCBDQSBSU0EyMDQ4IEcxMRAwDgYDVQQHDAdT\nZWF0dGxlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnIye77j6ev40\n8wRPyN2OdKFSUfI9jB20Or2RLO+RDoL43+USXdrze0Wv4HMRLqaen9BcmCfaKMp0\nE4SFo47bXK/O17r6G8eyq1sqnHE+v288mWtYH9lAlSamNFRF6YwA7zncmE/iKL8J\n0vePHMHP/B6svw8LULZCk+nZk3tgxQn2+r0B4FOz+RmpkoVddfqqUPMbKUxhM2wf\nfO7F6bJaUXDNMBPhCn/3ayKCjYr49ErmnpYV2ZVs1i34S+LFq39J7kyv6zAgbHv9\n+/MtRMoRB1CjpqW0jIOZkHBdYcd1o9p1zFn591Do1wPkmMsWdjIYj+6e7UXcHvOB\n2+ScIRAcnwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQGtq2W\nYSyMMxpdQ3IZvcGE+nyZqTAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQAD\nggEBAEgoP3ixJsKSD5FN8dQ01RNHERl/IFbA7TRXfwC+L1yFocKnQh4Mp/msPRSV\n+OeHIvemPW/wtZDJzLTOFJ6eTolGekHK1GRTQ6ZqsWiU2fmiOP8ks4oSpI+tQ9Lw\nVrfZqTiEcS5wEIqyfUAZZfKDo7W1xp+dQWzfczSBuZJZwI5iaha7+ILM0r8Ckden\nTVTapc5pLSoO15v0ziRuQ2bT3V3nwu/U0MRK44z+VWOJdSiKxdnOYDs8hFNnKhfe\nklbTZF7kW7WbiNYB43OaAQBJ6BALZsIskEaqfeZT8FD71uN928TcEQyBDXdZpRN+\niGQZDGhht0r0URGMDSs9waJtTfA=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIF/jCCA+agAwIBAgIQXY/dmS+72lZPranO2JM9jjANBgkqhkiG9w0BAQwFADCB\nlzELMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIElu\nYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTAwLgYDVQQDDCdB\nbWF6b24gUkRTIGFwLWVhc3QtMSBSb290IENBIFJTQTQwOTYgRzExEDAOBgNVBAcM\nB1NlYXR0bGUwIBcNMjEwNTI1MjEzNDUxWhgPMjEyMTA1MjUyMjM0NTFaMIGXMQsw\nCQYDVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjET\nMBEGA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExMDAuBgNVBAMMJ0FtYXpv\nbiBSRFMgYXAtZWFzdC0xIFJvb3QgQ0EgUlNBNDA5NiBHMTEQMA4GA1UEBwwHU2Vh\ndHRsZTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMyW9kBJjD/hx8e8\nb5E1sF42bp8TXsz1htSYE3Tl3T1Aq379DfEhB+xa/ASDZxt7/vwa81BkNo4M6HYq\nokYIXeE7cu5SnSgjWXqcERhgPevtAwgmhdE3yREe8oz2DyOi2qKKZqah+1gpPaIQ\nfK0uAqoeQlyHosye3KZZKkDHBatjBsQ5kf8lhuf7wVulEZVRHY2bP2X7N98PfbpL\nQdH7mWXzDtJJ0LiwFwds47BrkgK1pkHx2p1mTo+HMkfX0P6Fq1atkVC2RHHtbB/X\niYyH7paaHBzviFrhr679zNqwXIOKlbf74w3mS11P76rFn9rS1BAH2Qm6eY5S/Fxe\nHEKXm4kjPN63Zy0p3yE5EjPt54yPkvumOnT+RqDGJ2HCI9k8Ehcbve0ogfdRKNqQ\nVHWYTy8V33ndQRHZlx/CuU1yN61TH4WSoMly1+q1ihTX9sApmlQ14B2pJi/9DnKW\ncwECrPy1jAowC2UJ45RtC8UC05CbP9yrIy/7Noj8gQDiDOepm+6w1g6aNlWoiuQS\nkyI6nzz1983GcnOHya73ga7otXo0Qfg9jPghlYiMomrgshlSLDHZG0Ib/3hb8cnR\n1OcN9FpzNmVK2Ll1SmTMLrIhuCkyNYX9O/bOknbcf706XeESxGduSkHEjIw/k1+2\nAtteoq5dT6cwjnJ9hyhiueVlVkiDAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8w\nHQYDVR0OBBYEFLUI+DD7RJs+0nRnjcwIVWzzYSsFMA4GA1UdDwEB/wQEAwIBhjAN\nBgkqhkiG9w0BAQwFAAOCAgEAb1mcCHv4qMQetLGTBH9IxsB2YUUhr5dda0D2BcHr\nUtDbfd0VQs4tux6h/6iKwHPx0Ew8fuuYj99WknG0ffgJfNc5/fMspxR/pc1jpdyU\n5zMQ+B9wi0lOZPO9uH7/pr+d2odcNEy8zAwqdv/ihsTwLmGP54is9fVbsgzNW1cm\nHKAVL2t/Ope+3QnRiRilKCN1lzhav4HHdLlN401TcWRWKbEuxF/FgxSO2Hmx86pj\ne726lweCTMmnq/cTsPOVY0WMjs0or3eHDVlyLgVeV5ldyN+ptg3Oit60T05SRa58\nAJPTaVKIcGQ/gKkKZConpu7GDofT67P/ox0YNY57LRbhsx9r5UY4ROgz7WMQ1yoS\nY+19xizm+mBm2PyjMUbfwZUyCxsdKMwVdOq5/UmTmdms+TR8+m1uBHPOTQ2vKR0s\nPd/THSzPuu+d3dbzRyDSLQbHFFneG760CUlD/ZmzFlQjJ89/HmAmz8IyENq+Sjhx\nJgzy+FjVZb8aRUoYLlnffpUpej1n87Ynlr1GrvC4GsRpNpOHlwuf6WD4W0qUTsC/\nC9JO+fBzUj/aWlJzNcLEW6pte1SB+EdkR2sZvWH+F88TxemeDrV0jKJw5R89CDf8\nZQNfkxJYjhns+YeV0moYjqQdc7tq4i04uggEQEtVzEhRLU5PE83nlh/K2NZZm8Kj\ndIA=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIID/zCCAuegAwIBAgIRAPVSMfFitmM5PhmbaOFoGfUwDQYJKoZIhvcNAQELBQAw\ngZcxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ\nbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTEwMC4GA1UEAwwn\nQW1hem9uIFJEUyB1cy1lYXN0LTEgUm9vdCBDQSBSU0EyMDQ4IEcxMRAwDgYDVQQH\nDAdTZWF0dGxlMCAXDTIxMDUyNTIyMzQ1N1oYDzIwNjEwNTI1MjMzNDU3WjCBlzEL\nMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x\nEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTAwLgYDVQQDDCdBbWF6\nb24gUkRTIHVzLWVhc3QtMSBSb290IENBIFJTQTIwNDggRzExEDAOBgNVBAcMB1Nl\nYXR0bGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDu9H7TBeGoDzMr\ndxN6H8COntJX4IR6dbyhnj5qMD4xl/IWvp50lt0VpmMd+z2PNZzx8RazeGC5IniV\n5nrLg0AKWRQ2A/lGGXbUrGXCSe09brMQCxWBSIYe1WZZ1iU1IJ/6Bp4D2YEHpXrW\nbPkOq5x3YPcsoitgm1Xh8ygz6vb7PsvJvPbvRMnkDg5IqEThapPjmKb8ZJWyEFEE\nQRrkCIRueB1EqQtJw0fvP4PKDlCJAKBEs/y049FoOqYpT3pRy0WKqPhWve+hScMd\n6obq8kxTFy1IHACjHc51nrGII5Bt76/MpTWhnJIJrCnq1/Uc3Qs8IVeb+sLaFC8K\nDI69Sw6bAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFE7PCopt\nlyOgtXX0Y1lObBUxuKaCMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOC\nAQEAFj+bX8gLmMNefr5jRJfHjrL3iuZCjf7YEZgn89pS4z8408mjj9z6Q5D1H7yS\njNETVV8QaJip1qyhh5gRzRaArgGAYvi2/r0zPsy+Tgf7v1KGL5Lh8NT8iCEGGXwF\ng3Ir+Nl3e+9XUp0eyyzBIjHtjLBm6yy8rGk9p6OtFDQnKF5OxwbAgip42CD75r/q\np421maEDDvvRFR4D+99JZxgAYDBGqRRceUoe16qDzbMvlz0A9paCZFclxeftAxv6\nQlR5rItMz/XdzpBJUpYhdzM0gCzAzdQuVO5tjJxmXhkSMcDP+8Q+Uv6FA9k2VpUV\nE/O5jgpqUJJ2Hc/5rs9VkAPXeA==\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIICrzCCAjWgAwIBAgIQW0yuFCle3uj4vWiGU0SaGzAKBggqhkjOPQQDAzCBlzEL\nMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x\nEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTAwLgYDVQQDDCdBbWF6\nb24gUkRTIGFmLXNvdXRoLTEgUm9vdCBDQSBFQ0MzODQgRzExEDAOBgNVBAcMB1Nl\nYXR0bGUwIBcNMjEwNTE5MTkzNTE2WhgPMjEyMTA1MTkyMDM1MTZaMIGXMQswCQYD\nVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjETMBEG\nA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExMDAuBgNVBAMMJ0FtYXpvbiBS\nRFMgYWYtc291dGgtMSBSb290IENBIEVDQzM4NCBHMTEQMA4GA1UEBwwHU2VhdHRs\nZTB2MBAGByqGSM49AgEGBSuBBAAiA2IABDPiKNZSaXs3Un/J/v+LTsFDANHpi7en\noL2qh0u0DoqNzEBTbBjvO23bLN3k599zh6CY3HKW0r2k1yaIdbWqt4upMCRCcUFi\nI4iedAmubgzh56wJdoMZztjXZRwDthTkJKNCMEAwDwYDVR0TAQH/BAUwAwEB/zAd\nBgNVHQ4EFgQUWbYkcrvVSnAWPR5PJhIzppcAnZIwDgYDVR0PAQH/BAQDAgGGMAoG\nCCqGSM49BAMDA2gAMGUCMCESGqpat93CjrSEjE7z+Hbvz0psZTHwqaxuiH64GKUm\nmYynIiwpKHyBrzjKBmeDoQIxANGrjIo6/b8Jl6sdIZQI18V0pAyLfLiZjlHVOnhM\nMOTVgr82ZuPoEHTX78MxeMnYlw==\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIECTCCAvGgAwIBAgIRAIbsx8XOl0sgTNiCN4O+18QwDQYJKoZIhvcNAQELBQAw\ngZwxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ\nbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTE1MDMGA1UEAwws\nQW1hem9uIFJEUyBhcC1ub3J0aGVhc3QtMSBSb290IENBIFJTQTIwNDggRzExEDAO\nBgNVBAcMB1NlYXR0bGUwIBcNMjEwNTI1MjE1NDU4WhgPMjA2MTA1MjUyMjU0NTha\nMIGcMQswCQYDVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywg\nSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExNTAzBgNVBAMM\nLEFtYXpvbiBSRFMgYXAtbm9ydGhlYXN0LTEgUm9vdCBDQSBSU0EyMDQ4IEcxMRAw\nDgYDVQQHDAdTZWF0dGxlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA\ntROxwXWCgn5R9gI/2Ivjzaxc0g95ysBjoJsnhPdJEHQb7w3y2kWrVWU3Y9fOitgb\nCEsnEC3PrhRnzNVW0fPsK6kbvOeCmjvY30rdbxbc8h+bjXfGmIOgAkmoULEr6Hc7\nG1Q/+tvv4lEwIs7bEaf+abSZxRJbZ0MBxhbHn7UHHDiMZYvzK+SV1MGCxx7JVhrm\nxWu3GC1zZCsGDhB9YqY9eR6PmjbqA5wy8vqbC57dZZa1QVtWIQn3JaRXn+faIzHx\nnLMN5CEWihsdmHBXhnRboXprE/OS4MFv1UrQF/XM/h5RBeCywpHePpC+Oe1T3LNC\niP8KzRFrjC1MX/WXJnmOVQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud\nDgQWBBS33XbXAUMs1znyZo4B0+B3D68WFTAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZI\nhvcNAQELBQADggEBADuadd2EmlpueY2VlrIIPC30QkoA1EOSoCmZgN6124apkoY1\nHiV4r+QNPljN4WP8gmcARnNkS7ZeR4fvWi8xPh5AxQCpiaBMw4gcbTMCuKDV68Pw\nP2dZCTMspvR3CDfM35oXCufdtFnxyU6PAyINUqF/wyTHguO3owRFPz64+sk3r2pT\nWHmJjG9E7V+KOh0s6REgD17Gqn6C5ijLchSrPUHB0wOIkeLJZndHxN/76h7+zhMt\nfFeNxPWHY2MfpcaLjz4UREzZPSB2U9k+y3pW1omCIcl6MQU9itGx/LpQE+H3ZeX2\nM2bdYd5L+ow+bdbGtsVKOuN+R9Dm17YpswF+vyQ=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIGATCCA+mgAwIBAgIRAKlQ+3JX9yHXyjP/Ja6kZhkwDQYJKoZIhvcNAQEMBQAw\ngZgxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ\nbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTExMC8GA1UEAwwo\nQW1hem9uIFJEUyBhcC1zb3V0aC0xIFJvb3QgQ0EgUlNBNDA5NiBHMTEQMA4GA1UE\nBwwHU2VhdHRsZTAgFw0yMTA1MTkxNzQ1MjBaGA8yMTIxMDUxOTE4NDUyMFowgZgx\nCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMu\nMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTExMC8GA1UEAwwoQW1h\nem9uIFJEUyBhcC1zb3V0aC0xIFJvb3QgQ0EgUlNBNDA5NiBHMTEQMA4GA1UEBwwH\nU2VhdHRsZTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKtahBrpUjQ6\nH2mni05BAKU6Z5USPZeSKmBBJN3YgD17rJ93ikJxSgzJ+CupGy5rvYQ0xznJyiV0\n91QeQN4P+G2MjGQR0RGeUuZcfcZitJro7iAg3UBvw8WIGkcDUg+MGVpRv/B7ry88\n7E4OxKb8CPNoa+a9j6ABjOaaxaI22Bb7j3OJ+JyMICs6CU2bgkJaj3VUV9FCNUOc\nh9PxD4jzT9yyGYm/sK9BAT1WOTPG8XQUkpcFqy/IerZDfiQkf1koiSd4s5VhBkUn\naQHOdri/stldT7a+HJFVyz2AXDGPDj+UBMOuLq0K6GAT6ThpkXCb2RIf4mdTy7ox\nN5BaJ+ih+Ro3ZwPkok60egnt/RN98jgbm+WstgjJWuLqSNInnMUgkuqjyBWwePqX\nKib+wdpyx/LOzhKPEFpeMIvHQ3A0sjlulIjnh+j+itezD+dp0UNxMERlW4Bn/IlS\nsYQVNfYutWkRPRLErXOZXtlxxkI98JWQtLjvGzQr+jywxTiw644FSLWdhKa6DtfU\n2JWBHqQPJicMElfZpmfaHZjtXuCZNdZQXWg7onZYohe281ZrdFPOqC4rUq7gYamL\nT+ZB+2P+YCPOLJ60bj/XSvcB7mesAdg8P0DNddPhHUFWx2dFqOs1HxIVB4FZVA9U\nPpbv4a484yxjTgG7zFZNqXHKTqze6rBBAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMB\nAf8wHQYDVR0OBBYEFCEAqjighncv/UnWzBjqu1Ka2Yb4MA4GA1UdDwEB/wQEAwIB\nhjANBgkqhkiG9w0BAQwFAAOCAgEAYyvumblckIXlohzi3QiShkZhqFzZultbFIu9\nGhA5CDar1IFMhJ9vJpO9nUK/camKs1VQRs8ZsBbXa0GFUM2p8y2cgUfLwFULAiC/\nsWETyW5lcX/xc4Pyf6dONhqFJt/ovVBxNZtcmMEWv/1D6Tf0nLeEb0P2i/pnSRR4\nOq99LVFjossXtyvtaq06OSiUUZ1zLPvV6AQINg8dWeBOWRcQYhYcEcC2wQ06KShZ\n0ahuu7ar5Gym3vuLK6nH+eQrkUievVomN/LpASrYhK32joQ5ypIJej3sICIgJUEP\nUoeswJ+Z16f3ECoL1OSnq4A0riiLj1ZGmVHNhM6m/gotKaHNMxsK9zsbqmuU6IT/\nP6cR0S+vdigQG8ZNFf5vEyVNXhl8KcaJn6lMD/gMB2rY0qpaeTg4gPfU5wcg8S4Y\nC9V//tw3hv0f2n+8kGNmqZrylOQDQWSSo8j8M2SRSXiwOHDoTASd1fyBEIqBAwzn\nLvXVg8wQd1WlmM3b0Vrsbzltyh6y4SuKSkmgufYYvC07NknQO5vqvZcNoYbLNea3\n76NkFaMHUekSbwVejZgG5HGwbaYBgNdJEdpbWlA3X4yGRVxknQSUyt4dZRnw/HrX\nk8x6/wvtw7wht0/DOqz1li7baSsMazqxx+jDdSr1h9xML416Q4loFCLgqQhil8Jq\nEm4Hy3A=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIGBTCCA+2gAwIBAgIRAJfKe4Zh4aWNt3bv6ZjQwogwDQYJKoZIhvcNAQEMBQAw\ngZoxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ\nbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTEzMDEGA1UEAwwq\nQW1hem9uIFJEUyBjYS1jZW50cmFsLTEgUm9vdCBDQSBSU0E0MDk2IEcxMRAwDgYD\nVQQHDAdTZWF0dGxlMCAXDTIxMDUyMTIyMDg1M1oYDzIxMjEwNTIxMjMwODUzWjCB\nmjELMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIElu\nYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTMwMQYDVQQDDCpB\nbWF6b24gUkRTIGNhLWNlbnRyYWwtMSBSb290IENBIFJTQTQwOTYgRzExEDAOBgNV\nBAcMB1NlYXR0bGUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCpgUH6\nCrzd8cOw9prAh2rkQqAOx2vtuI7xX4tmBG4I/um28eBjyVmgwQ1fpq0Zg2nCKS54\nNn0pCmT7f3h6Bvopxn0J45AzXEtajFqXf92NQ3iPth95GVfAJSD7gk2LWMhpmID9\nJGQyoGuDPg+hYyr292X6d0madzEktVVGO4mKTF989qEg+tY8+oN0U2fRTrqa2tZp\niYsmg350ynNopvntsJAfpCO/srwpsqHHLNFZ9jvhTU8uW90wgaKO9i31j/mHggCE\n+CAOaJCM3g+L8DPl/2QKsb6UkBgaaIwKyRgKSj1IlgrK+OdCBCOgM9jjId4Tqo2j\nZIrrPBGl6fbn1+etZX+2/tf6tegz+yV0HHQRAcKCpaH8AXF44bny9andslBoNjGx\nH6R/3ib4FhPrnBMElzZ5i4+eM/cuPC2huZMBXb/jKgRC/QN1Wm3/nah5FWq+yn+N\ntiAF10Ga0BYzVhHDEwZzN7gn38bcY5yi/CjDUNpY0OzEe2+dpaBKPlXTaFfn9Nba\nCBmXPRF0lLGGtPeTAgjcju+NEcVa82Ht1pqxyu2sDtbu3J5bxp4RKtj+ShwN8nut\nTkf5Ea9rSmHEY13fzgibZlQhXaiFSKA2ASUwgJP19Putm0XKlBCNSGCoECemewxL\n+7Y8FszS4Uu4eaIwvXVqUEE2yf+4ex0hqQ1acQIDAQABo0IwQDAPBgNVHRMBAf8E\nBTADAQH/MB0GA1UdDgQWBBSeUnXIRxNbYsZLtKomIz4Y1nOZEzAOBgNVHQ8BAf8E\nBAMCAYYwDQYJKoZIhvcNAQEMBQADggIBAIpRvxVS0dzoosBh/qw65ghPUGSbP2D4\ndm6oYCv5g/zJr4fR7NzEbHOXX5aOQnHbQL4M/7veuOCLNPOW1uXwywMg6gY+dbKe\nYtPVA1as8G9sUyadeXyGh2uXGsziMFXyaESwiAXZyiYyKChS3+g26/7jwECFo5vC\nXGhWpIO7Hp35Yglp8AnwnEAo/PnuXgyt2nvyTSrxlEYa0jus6GZEZd77pa82U1JH\nqFhIgmKPWWdvELA3+ra1nKnvpWM/xX0pnMznMej5B3RT3Y+k61+kWghJE81Ix78T\n+tG4jSotgbaL53BhtQWBD1yzbbilqsGE1/DXPXzHVf9yD73fwh2tGWSaVInKYinr\na4tcrB3KDN/PFq0/w5/21lpZjVFyu/eiPj6DmWDuHW73XnRwZpHo/2OFkei5R7cT\nrn/YdDD6c1dYtSw5YNnS6hdCQ3sOiB/xbPRN9VWJa6se79uZ9NLz6RMOr73DNnb2\nbhIR9Gf7XAA5lYKqQk+A+stoKbIT0F65RnkxrXi/6vSiXfCh/bV6B41cf7MY/6YW\nehserSdjhQamv35rTFdM+foJwUKz1QN9n9KZhPxeRmwqPitAV79PloksOnX25ElN\nSlyxdndIoA1wia1HRd26EFm2pqfZ2vtD2EjU3wD42CXX4H8fKVDna30nNFSYF0yn\njGKc3k6UNxpg\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIF/jCCA+agAwIBAgIQaRHaEqqacXN20e8zZJtmDDANBgkqhkiG9w0BAQwFADCB\nlzELMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIElu\nYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTAwLgYDVQQDDCdB\nbWF6b24gUkRTIHVzLWVhc3QtMSBSb290IENBIFJTQTQwOTYgRzExEDAOBgNVBAcM\nB1NlYXR0bGUwIBcNMjEwNTI1MjIzODM1WhgPMjEyMTA1MjUyMzM4MzVaMIGXMQsw\nCQYDVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjET\nMBEGA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExMDAuBgNVBAMMJ0FtYXpv\nbiBSRFMgdXMtZWFzdC0xIFJvb3QgQ0EgUlNBNDA5NiBHMTEQMA4GA1UEBwwHU2Vh\ndHRsZTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAInfBCaHuvj6Rb5c\nL5Wmn1jv2PHtEGMHm+7Z8dYosdwouG8VG2A+BCYCZfij9lIGszrTXkY4O7vnXgru\nJUNdxh0Q3M83p4X+bg+gODUs3jf+Z3Oeq7nTOk/2UYvQLcxP4FEXILxDInbQFcIx\nyen1ESHggGrjEodgn6nbKQNRfIhjhW+TKYaewfsVWH7EF2pfj+cjbJ6njjgZ0/M9\nVZifJFBgat6XUTOf3jwHwkCBh7T6rDpgy19A61laImJCQhdTnHKvzTpxcxiLRh69\nZObypR7W04OAUmFS88V7IotlPmCL8xf7kwxG+gQfvx31+A9IDMsiTqJ1Cc4fYEKg\nbL+Vo+2Ii4W2esCTGVYmHm73drznfeKwL+kmIC/Bq+DrZ+veTqKFYwSkpHRyJCEe\nU4Zym6POqQ/4LBSKwDUhWLJIlq99bjKX+hNTJykB+Lbcx0ScOP4IAZQoxmDxGWxN\nS+lQj+Cx2pwU3S/7+OxlRndZAX/FKgk7xSMkg88HykUZaZ/ozIiqJqSnGpgXCtED\noQ4OJw5ozAr+/wudOawaMwUWQl5asD8fuy/hl5S1nv9XxIc842QJOtJFxhyeMIXt\nLVECVw/dPekhMjS3Zo3wwRgYbnKG7YXXT5WMxJEnHu8+cYpMiRClzq2BEP6/MtI2\nAZQQUFu2yFjRGL2OZA6IYjxnXYiRAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8w\nHQYDVR0OBBYEFADCcQCPX2HmkqQcmuHfiQ2jjqnrMA4GA1UdDwEB/wQEAwIBhjAN\nBgkqhkiG9w0BAQwFAAOCAgEASXkGQ2eUmudIKPeOIF7RBryCoPmMOsqP0+1qxF8l\npGkwmrgNDGpmd9s0ArfIVBTc1jmpgB3oiRW9c6n2OmwBKL4UPuQ8O3KwSP0iD2sZ\nKMXoMEyphCEzW1I2GRvYDugL3Z9MWrnHkoaoH2l8YyTYvszTvdgxBPpM2x4pSkp+\n76d4/eRpJ5mVuQ93nC+YG0wXCxSq63hX4kyZgPxgCdAA+qgFfKIGyNqUIqWgeyTP\nn5OgKaboYk2141Rf2hGMD3/hsGm0rrJh7g3C0ZirPws3eeJfulvAOIy2IZzqHUSY\njkFzraz6LEH3IlArT3jUPvWKqvh2lJWnnp56aqxBR7qHH5voD49UpJWY1K0BjGnS\nOHcurpp0Yt/BIs4VZeWdCZwI7JaSeDcPMaMDBvND3Ia5Fga0thgYQTG6dE+N5fgF\nz+hRaujXO2nb0LmddVyvE8prYlWRMuYFv+Co8hcMdJ0lEZlfVNu0jbm9/GmwAZ+l\n9umeYO9yz/uC7edC8XJBglMAKUmVK9wNtOckUWAcCfnPWYLbYa/PqtXBYcxrso5j\niaS/A7iEW51uteHBGrViCy1afGG+hiUWwFlesli+Rq4dNstX3h6h2baWABaAxEVJ\ny1RnTQSz6mROT1VmZSgSVO37rgIyY0Hf0872ogcTS+FfvXgBxCxsNWEbiQ/XXva4\n0Ws=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIICtDCCAjqgAwIBAgIRAMyaTlVLN0ndGp4ffwKAfoMwCgYIKoZIzj0EAwMwgZkx\nCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMu\nMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTEyMDAGA1UEAwwpQW1h\nem9uIFJEUyBtZS1jZW50cmFsLTEgUm9vdCBDQSBFQ0MzODQgRzExEDAOBgNVBAcM\nB1NlYXR0bGUwIBcNMjIwNTA3MDA0NDM3WhgPMjEyMjA1MDcwMTQ0MzdaMIGZMQsw\nCQYDVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjET\nMBEGA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExMjAwBgNVBAMMKUFtYXpv\nbiBSRFMgbWUtY2VudHJhbC0xIFJvb3QgQ0EgRUNDMzg0IEcxMRAwDgYDVQQHDAdT\nZWF0dGxlMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE19nCV1nsI6CohSor13+B25cr\nzg+IHdi9Y3L7ziQnHWI6yjBazvnKD+oC71aRRlR8b5YXsYGUQxWzPLHN7EGPcSGv\nbzA9SLG1KQYCJaQ0m9Eg/iGrwKWOgylbhVw0bCxoo0IwQDAPBgNVHRMBAf8EBTAD\nAQH/MB0GA1UdDgQWBBS4KsknsJXM9+QPEkBdZxUPaLr11zAOBgNVHQ8BAf8EBAMC\nAYYwCgYIKoZIzj0EAwMDaAAwZQIxAJaRgrYIEfXQMZQQDxMTYS0azpyWSseQooXo\nL3nYq4OHGBgYyQ9gVjvRYWU85PXbfgIwdi82DtANQFkCu+j+BU0JBY/uRKPEeYzo\nJG92igKIcXPqCoxIJ7lJbbzmuf73gQu5\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIGATCCA+mgAwIBAgIRAJwCobx0Os8F7ihbJngxrR8wDQYJKoZIhvcNAQEMBQAw\ngZgxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ\nbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTExMC8GA1UEAwwo\nQW1hem9uIFJEUyBtZS1zb3V0aC0xIFJvb3QgQ0EgUlNBNDA5NiBHMTEQMA4GA1UE\nBwwHU2VhdHRsZTAgFw0yMTA1MjAxNzE1MzNaGA8yMTIxMDUyMDE4MTUzM1owgZgx\nCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMu\nMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTExMC8GA1UEAwwoQW1h\nem9uIFJEUyBtZS1zb3V0aC0xIFJvb3QgQ0EgUlNBNDA5NiBHMTEQMA4GA1UEBwwH\nU2VhdHRsZTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANukKwlm+ZaI\nY5MkWGbEVLApEyLmlrHLEg8PfiiEa9ts7jssQcin3bzEPdTqGr5jo91ONoZ3ccWq\nxJgg1W3bLu5CAO2CqIOXTXHRyCO/u0Ch1FGgWB8xETPSi3UHt/Vn1ltdO6DYdbDU\nmYgwzYrvLBdRCwxsb9o+BuYQHVFzUYonqk/y9ujz3gotzFq7r55UwDTA1ita3vb4\neDKjIb4b1M4Wr81M23WHonpje+9qkkrAkdQcHrkgvSCV046xsq/6NctzwCUUNsgF\n7Q1a8ut5qJEYpz5ta8vI1rqFqAMBqCbFjRYlmAoTTpFPOmzAVxV+YoqTrW5A16su\n/2SXlMYfJ/n/ad/QfBNPPAAQMpyOr2RCL/YiL/PFZPs7NxYjnZHNWxMLSPgFyI+/\nt2klnn5jR76KJK2qimmaXedB90EtFsMRUU1e4NxH9gDuyrihKPJ3aVnZ35mSipvR\n/1KB8t8gtFXp/VQaz2sg8+uxPMKB81O37fL4zz6Mg5K8+aq3ejBiyHucpFGnsnVB\n3kQWeD36ONkybngmgWoyPceuSWm1hQ0Z7VRAQX+KlxxSaHmSaIk1XxZu9h9riQHx\nfMuev6KXjRn/CjCoUTn+7eFrt0dT5GryQEIZP+nA0oq0LKxogigHNZlwAT4flrqb\nJUfZJrqgoce5HjZSXl10APbtPjJi0fW9AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMB\nAf8wHQYDVR0OBBYEFEfV+LztI29OVDRm0tqClP3NrmEWMA4GA1UdDwEB/wQEAwIB\nhjANBgkqhkiG9w0BAQwFAAOCAgEAvSNe+0wuk53KhWlRlRf2x/97H2Q76X3anzF0\n5fOSVm022ldALzXMzqOfdnoKIhAu2oVKiHHKs7mMas+T6TL+Mkphx0CYEVxFE3PG\n061q3CqJU+wMm9W9xsB79oB2XG47r1fIEywZZ3GaRsatAbjcNOT8uBaATPQAfJFN\nzjFe4XyN+rA4cFrYNvfHTeu5ftrYmvks7JlRaJgEGWsz+qXux7uvaEEVPqEumd2H\nuYeaRNOZ2V23R009X5lbgBFx9tq5VDTnKhQiTQ2SeT0rc1W3Dz5ik6SbQQNP3nSR\n0Ywy7r/sZ3fcDyfFiqnrVY4Ympfvb4YW2PZ6OsQJbzH6xjdnTG2HtzEU30ngxdp1\nWUEF4zt6rjJCp7QBUqXgdlHvJqYu6949qtWjEPiFN9uSsRV2i1YDjJqN52dLjAPn\nAipJKo8x1PHTwUzuITqnB9BdP+5TlTl8biJfkEf/+08eWDTLlDHr2VrZLOLompTh\nbS5OrhDmqA2Q+O+EWrTIhMflwwlCpR9QYM/Xwvlbad9H0FUHbJsCVNaru3wGOgWo\ntt3dNSK9Lqnv/Ej9K9v6CRr36in4ylJKivhJ5B9E7ABHg7EpBJ1xi7O5eNDkNoJG\n+pFyphJq3AkBR2U4ni2tUaTAtSW2tks7IaiDV+UMtqZyGabT5ISQfWLLtLHSWn2F\nTspdjbg=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIECTCCAvGgAwIBAgIRAJZFh4s9aZGzKaTMLrSb4acwDQYJKoZIhvcNAQELBQAw\ngZwxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ\nbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTE1MDMGA1UEAwws\nQW1hem9uIFJEUyBCZXRhIHVzLWVhc3QtMSBSb290IENBIFJTQTIwNDggRzExEDAO\nBgNVBAcMB1NlYXR0bGUwIBcNMjEwNTE4MjEyODQxWhgPMjA2MTA1MTgyMjI4NDFa\nMIGcMQswCQYDVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywg\nSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExNTAzBgNVBAMM\nLEFtYXpvbiBSRFMgQmV0YSB1cy1lYXN0LTEgUm9vdCBDQSBSU0EyMDQ4IEcxMRAw\nDgYDVQQHDAdTZWF0dGxlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA\n17i2yoU6diep+WrqxIn2CrDEO2NdJVwWTSckx4WMZlLpkQDoymSmkNHjq9ADIApD\nA31Cx+843apL7wub8QkFZD0Tk7/ThdHWJOzcAM3ov98QBPQfOC1W5zYIIRP2F+vQ\nTRETHQnLcW3rLv0NMk5oQvIKpJoC9ett6aeVrzu+4cU4DZVWYlJUoC/ljWzCluau\n8blfW0Vwin6OB7s0HCG5/wijQWJBU5SrP/KAIPeQi1GqG5efbqAXDr/ple0Ipwyo\nXjjl73LenGUgqpANlC9EAT4i7FkJcllLPeK3NcOHjuUG0AccLv1lGsHAxZLgjk/x\nz9ZcnVV9UFWZiyJTKxeKPwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud\nDgQWBBRWyMuZUo4gxCR3Luf9/bd2AqZ7CjAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZI\nhvcNAQELBQADggEBAIqN2DlIKlvDFPO0QUZQVFbsi/tLdYM98/vvzBpttlTGVMyD\ngJuQeHVz+MnhGIwoCGOlGU3OOUoIlLAut0+WG74qYczn43oA2gbMd7HoD7oL/IGg\nnjorBwJVcuuLv2G//SqM3nxGcLRtkRnQ+lvqPxMz9+0fKFUn6QcIDuF0QSfthLs2\nWSiGEPKO9c9RSXdRQ4pXA7c3hXng8P4A2ZmdciPne5Nu4I4qLDGZYRrRLRkNTrOi\nTyS6r2HNGUfgF7eOSeKt3NWL+mNChcYj71/Vycf5edeczpUgfnWy9WbPrK1svKyl\naAs2xg+X6O8qB+Mnj2dNBzm+lZIS3sIlm+nO9sg=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIICrjCCAjSgAwIBAgIRAPAlEk8VJPmEzVRRaWvTh2AwCgYIKoZIzj0EAwMwgZYx\nCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMu\nMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTEvMC0GA1UEAwwmQW1h\nem9uIFJEUyB1cy1lYXN0LTEgUm9vdCBDQSBFQ0MzODQgRzExEDAOBgNVBAcMB1Nl\nYXR0bGUwIBcNMjEwNTI1MjI0MTU1WhgPMjEyMTA1MjUyMzQxNTVaMIGWMQswCQYD\nVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjETMBEG\nA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExLzAtBgNVBAMMJkFtYXpvbiBS\nRFMgdXMtZWFzdC0xIFJvb3QgQ0EgRUNDMzg0IEcxMRAwDgYDVQQHDAdTZWF0dGxl\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEx5xjrup8II4HOJw15NTnS3H5yMrQGlbj\nEDA5MMGnE9DmHp5dACIxmPXPMe/99nO7wNdl7G71OYPCgEvWm0FhdvVUeTb3LVnV\nBnaXt32Ek7/oxGk1T+Df03C+W0vmuJ+wo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0G\nA1UdDgQWBBTGXmqBWN/1tkSea4pNw0oHrjk2UDAOBgNVHQ8BAf8EBAMCAYYwCgYI\nKoZIzj0EAwMDaAAwZQIxAIqqZWCSrIkZ7zsv/FygtAusW6yvlL935YAWYPVXU30m\njkMFLM+/RJ9GMvnO8jHfCgIwB+whlkcItzE9CRQ6CsMo/d5cEHDUu/QW6jSIh9BR\nOGh9pTYPVkUbBiKPA7lVVhre\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIF/zCCA+egAwIBAgIRAJGY9kZITwfSRaAS/bSBOw8wDQYJKoZIhvcNAQEMBQAw\ngZcxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ\nbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTEwMC4GA1UEAwwn\nQW1hem9uIFJEUyBzYS1lYXN0LTEgUm9vdCBDQSBSU0E0MDk2IEcxMRAwDgYDVQQH\nDAdTZWF0dGxlMCAXDTIxMDUxOTE4MTEyMFoYDzIxMjEwNTE5MTkxMTIwWjCBlzEL\nMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x\nEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTAwLgYDVQQDDCdBbWF6\nb24gUkRTIHNhLWVhc3QtMSBSb290IENBIFJTQTQwOTYgRzExEDAOBgNVBAcMB1Nl\nYXR0bGUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDe2vlDp6Eo4WQi\nWi32YJOgdXHhxTFrLjB9SRy22DYoMaWfginJIwJcSR8yse8ZDQuoNhERB9LRggAE\neng23mhrfvtL1yQkMlZfBu4vG1nOb22XiPFzk7X2wqz/WigdYNBCqa1kK3jrLqPx\nYUy7jk2oZle4GLVRTNGuMfcid6S2hs3UCdXfkJuM2z2wc3WUlvHoVNk37v2/jzR/\nhSCHZv5YHAtzL/kLb/e64QkqxKll5QmKhyI6d7vt6Lr1C0zb+DmwxUoJhseAS0hI\ndRk5DklMb4Aqpj6KN0ss0HAYqYERGRIQM7KKA4+hxDMUkJmt8KqWKZkAlCZgflzl\nm8NZ31o2cvBzf6g+VFHx+6iVrSkohVQydkCxx7NJ743iPKsh8BytSM4qU7xx4OnD\nH2yNXcypu+D5bZnVZr4Pywq0w0WqbTM2bpYthG9IC4JeVUvZ2mDc01lqOlbMeyfT\nog5BRPLDXdZK8lapo7se2teh64cIfXtCmM2lDSwm1wnH2iSK+AWZVIM3iE45WSGc\nvZ+drHfVgjJJ5u1YrMCWNL5C2utFbyF9Obw9ZAwm61MSbPQL9JwznhNlCh7F2ANW\nZHWQPNcOAJqzE4uVcJB1ZeVl28ORYY1668lx+s9yYeMXk3QQdj4xmdnvoBFggqRB\nZR6Z0D7ZohADXe024RzEo1TukrQgKQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/\nMB0GA1UdDgQWBBT7Vs4Y5uG/9aXnYGNMEs6ycPUT3jAOBgNVHQ8BAf8EBAMCAYYw\nDQYJKoZIhvcNAQEMBQADggIBACN4Htp2PvGcQA0/sAS+qUVWWJoAXSsu8Pgc6Gar\n7tKVlNJ/4W/a6pUV2Xo/Tz3msg4yiE8sMESp2k+USosD5n9Alai5s5qpWDQjrqrh\n76AGyF2nzve4kIN19GArYhm4Mz/EKEG1QHYvBDGgXi3kNvL/a2Zbybp+3LevG+q7\nxtx4Sz9yIyMzuT/6Y7ijtiMZ9XbuxGf5wab8UtwT3Xq1UradJy0KCkzRJAz/Wy/X\nHbTkEvKSaYKExH6sLo0jqdIjV/d2Io31gt4e0Ly1ER2wPyFa+pc/swu7HCzrN+iz\nA2ZM4+KX9nBvFyfkHLix4rALg+WTYJa/dIsObXkdZ3z8qPf5A9PXlULiaa1mcP4+\nrokw74IyLEYooQ8iSOjxumXhnkTS69MAdGzXYE5gnHokABtGD+BB5qLhtLt4fqAp\n8AyHpQWMyV42M9SJLzQ+iOz7kAgJOBOaVtJI3FV/iAg/eqWVm3yLuUTWDxSHrKuL\nN19+pSjF6TNvUSFXwEa2LJkfDqIOCE32iOuy85QY//3NsgrSQF6UkSPa95eJrSGI\n3hTRYYh3Up2GhBGl1KUy7/o0k3KRZTk4s38fylY8bZ3TakUOH5iIGoHyFVVcp361\nPyy25SzFSmNalWoQd9wZVc/Cps2ldxhcttM+WLkFNzprd0VJa8qTz8vYtHP0ouDN\nnWS0\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIGCTCCA/GgAwIBAgIRAOY7gfcBZgR2tqfBzMbFQCUwDQYJKoZIhvcNAQEMBQAw\ngZwxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ\nbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTE1MDMGA1UEAwws\nQW1hem9uIFJEUyBhcC1zb3V0aGVhc3QtNCBSb290IENBIFJTQTQwOTYgRzExEDAO\nBgNVBAcMB1NlYXR0bGUwIBcNMjIwNTI1MTY1NDU5WhgPMjEyMjA1MjUxNzU0NTla\nMIGcMQswCQYDVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywg\nSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExNTAzBgNVBAMM\nLEFtYXpvbiBSRFMgYXAtc291dGhlYXN0LTQgUm9vdCBDQSBSU0E0MDk2IEcxMRAw\nDgYDVQQHDAdTZWF0dGxlMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA\nlfxER43FuLRdL08bddF0YhbCP+XXKj1A/TFMXmd2My8XDei8rPXFYyyjMig9+xZw\nuAsIxLwz8uiA26CKA8bCZKg5VG2kTeOJAfvBJaLv1CZefs3Z4Uf1Sjvm6MF2yqEj\nGoORfyfL9HiZFTDuF/hcjWoKYCfMuG6M/wO8IbdICrX3n+BiYQJu/pFO660Mg3h/\n8YBBWYDbHoCiH/vkqqJugQ5BM3OI5nsElW51P1icEEqti4AZ7JmtSv9t7fIFBVyR\noaEyOgpp0sm193F/cDJQdssvjoOnaubsSYm1ep3awZAUyGN/X8MBrPY95d0hLhfH\nEhc5Icyg+hsosBljlAyksmt4hFQ9iBnWIz/ZTfGMck+6p3HVL9RDgvluez+rWv59\n8q7omUGsiPApy5PDdwI/Wt/KtC34/2sjslIJfvgifdAtkRPkhff1WEwER00ADrN9\neGGInaCpJfb1Rq8cV2n00jxg7DcEd65VR3dmIRb0bL+jWK62ni/WdEyomAOMfmGj\naWf78S/4rasHllWJ+QwnaUYY3u6N8Cgio0/ep4i34FxMXqMV3V0/qXdfhyabi/LM\nwCxNo1Dwt+s6OtPJbwO92JL+829QAxydfmaMTeHBsgMPkG7RwAekeuatKGHNsc2Z\nx2Q4C2wVvOGAhcHwxfM8JfZs3nDSZJndtVVnFlUY0UECAwEAAaNCMEAwDwYDVR0T\nAQH/BAUwAwEB/zAdBgNVHQ4EFgQUpnG7mWazy6k97/tb5iduRB3RXgQwDgYDVR0P\nAQH/BAQDAgGGMA0GCSqGSIb3DQEBDAUAA4ICAQCDLqq1Wwa9Tkuv7vxBnIeVvvFF\necTn+P+wJxl9Qa2ortzqTHZsBDyJO62d04AgBwiDXkJ9a+bthgG0H1J7Xee8xqv1\nxyX2yKj24ygHjspLotKP4eDMdDi5TYq+gdkbPmm9Q69B1+W6e049JVGXvWG8/7kU\nigxeuCYwtCCdUPRLf6D8y+1XMGgVv3/DSOHWvTg3MJ1wJ3n3+eve3rjGdRYWZeJu\nk21HLSZYzVrCtUsh2YAeLnUbSxVuT2Xr4JehYe9zW5HEQ8Je/OUfnCy9vzoN/ITw\nosAH+EBJQey7RxEDqMwCaRefH0yeHFcnOll0OXg/urnQmwbEYzQ1uutJaBPsjU0J\nQf06sMxI7GiB5nPE+CnI2sM6A9AW9kvwexGXpNJiLxF8dvPQthpOKGcYu6BFvRmt\n6ctfXd9b7JJoVqMWuf5cCY6ihpk1e9JTlAqu4Eb/7JNyGiGCR40iSLvV28un9wiE\nplrdYxwcNYq851BEu3r3AyYWw/UW1AKJ5tM+/Gtok+AphMC9ywT66o/Kfu44mOWm\nL3nSLSWEcgfUVgrikpnyGbUnGtgCmHiMlUtNVexcE7OtCIZoVAlCGKNu7tyuJf10\nQlk8oIIzfSIlcbHpOYoN79FkLoDNc2er4Gd+7w1oPQmdAB0jBJnA6t0OUBPKdDdE\nUfff2jrbfbzECn1ELg==\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIGCDCCA/CgAwIBAgIQIuO1A8LOnmc7zZ/vMm3TrDANBgkqhkiG9w0BAQwFADCB\nnDELMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIElu\nYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTUwMwYDVQQDDCxB\nbWF6b24gUkRTIGFwLXNvdXRoZWFzdC0yIFJvb3QgQ0EgUlNBNDA5NiBHMTEQMA4G\nA1UEBwwHU2VhdHRsZTAgFw0yMTA1MjQyMDQ2MThaGA8yMTIxMDUyNDIxNDYxOFow\ngZwxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ\nbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTE1MDMGA1UEAwws\nQW1hem9uIFJEUyBhcC1zb3V0aGVhc3QtMiBSb290IENBIFJTQTQwOTYgRzExEDAO\nBgNVBAcMB1NlYXR0bGUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDq\nqRHKbG8ZK6/GkGm2cenznEF06yHwI1gD5sdsHjTgekDZ2Dl9RwtDmUH2zFuIQwGj\nSeC7E2iKwrJRA5wYzL9/Vk8NOILEKQOP8OIKUHbc7q8rEtjs401KcU6pFBBEdO9G\nCTiRhogq+8mhC13AM/UriZJbKhwgM2UaDOzAneGMhQAGjH8z83NsNcPxpYVE7tqM\nsch5yLtIJLkJRusrmQQTeHUev16YNqyUa+LuFclFL0FzFCimkcxUhXlbfEKXbssS\nyPzjiv8wokGyo7+gA0SueceMO2UjfGfute3HlXZDcNvBbkSY+ver41jPydyRD6Qq\noEkh0tyIbPoa3oU74kwipJtz6KBEA3u3iq61OUR0ENhR2NeP7CSKrC24SnQJZ/92\nqxusrbyV/0w+U4m62ug/o4hWNK1lUcc2AqiBOvCSJ7qpdteTFxcEIzDwYfERDx6a\nd9+3IPvzMb0ZCxBIIUFMxLTF7yAxI9s6KZBBXSZ6tDcCCYIgEysEPRWMRAcG+ye/\nfZVn9Vnzsj4/2wchC2eQrYpb1QvG4eMXA4M5tFHKi+/8cOPiUzJRgwS222J8YuDj\nyEBval874OzXk8H8Mj0JXJ/jH66WuxcBbh5K7Rp5oJn7yju9yqX6qubY8gVeMZ1i\nu4oXCopefDqa35JplQNUXbWwSebi0qJ4EK0V8F9Q+QIDAQABo0IwQDAPBgNVHRMB\nAf8EBTADAQH/MB0GA1UdDgQWBBT4ysqCxaPe7y+g1KUIAenqu8PAgzAOBgNVHQ8B\nAf8EBAMCAYYwDQYJKoZIhvcNAQEMBQADggIBALU8WN35KAjPZEX65tobtCDQFkIO\nuJjv0alD7qLB0i9eY80C+kD87HKqdMDJv50a5fZdqOta8BrHutgFtDm+xo5F/1M3\nu5/Vva5lV4xy5DqPajcF4Mw52czYBmeiLRTnyPJsU93EQIC2Bp4Egvb6LI4cMOgm\n4pY2hL8DojOC5PXt4B1/7c1DNcJX3CMzHDm4SMwiv2MAxSuC/cbHXcWMk+qXdrVx\n+ayLUSh8acaAOy3KLs1MVExJ6j9iFIGsDVsO4vr4ZNsYQiyHjp+L8ops6YVBO5AT\nk/pI+axHIVsO5qiD4cFWvkGqmZ0gsVtgGUchZaacboyFsVmo6QPrl28l6LwxkIEv\nGGJYvIBW8sfqtGRspjfX5TlNy5IgW/VOwGBdHHsvg/xpRo31PR3HOFw7uPBi7cAr\nFiZRLJut7af98EB2UvovZnOh7uIEGPeecQWeOTQfJeWet2FqTzFYd0NUMgqPuJx1\nvLKferP+ajAZLJvVnW1J7Vccx/pm0rMiUJEf0LRb/6XFxx7T2RGjJTi0EzXODTYI\ngnLfBBjnolQqw+emf4pJ4pAtly0Gq1KoxTG2QN+wTd4lsCMjnelklFDjejwnl7Uy\nvtxzRBAu/hi/AqDkDFf94m6j+edIrjbi9/JDFtQ9EDlyeqPgw0qwi2fwtJyMD45V\nfejbXelUSJSzDIdY\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIGCTCCA/GgAwIBAgIRAN7Y9G9i4I+ZaslPobE7VL4wDQYJKoZIhvcNAQEMBQAw\ngZwxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ\nbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTE1MDMGA1UEAwws\nQW1hem9uIFJEUyBhcC1ub3J0aGVhc3QtMiBSb290IENBIFJTQTQwOTYgRzExEDAO\nBgNVBAcMB1NlYXR0bGUwIBcNMjEwNTIwMTYzMzIzWhgPMjEyMTA1MjAxNzMzMjNa\nMIGcMQswCQYDVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywg\nSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExNTAzBgNVBAMM\nLEFtYXpvbiBSRFMgYXAtbm9ydGhlYXN0LTIgUm9vdCBDQSBSU0E0MDk2IEcxMRAw\nDgYDVQQHDAdTZWF0dGxlMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA\n4BEPCiIfiK66Q/qa8k+eqf1Q3qsa6Xuu/fPkpuStXVBShhtXd3eqrM0iT4Xxs420\nVa0vSB3oZ7l86P9zYfa60n6PzRxdYFckYX330aI7L/oFIdaodB/C9szvROI0oLG+\n6RwmIF2zcprH0cTby8MiM7G3v9ykpq27g4WhDC1if2j8giOQL3oHpUaByekZNIHF\ndIllsI3RkXmR3xmmxoOxJM1B9MZi7e1CvuVtTGOnSGpNCQiqofehTGwxCN2wFSK8\nxysaWlw48G0VzZs7cbxoXMH9QbMpb4tpk0d+T8JfAPu6uWO9UwCLWWydf0CkmA/+\nD50/xd1t33X9P4FEaPSg5lYbHXzSLWn7oLbrN2UqMLaQrkoEBg/VGvzmfN0mbflw\n+T87bJ/VEOVNlG+gepyCTf89qIQVWOjuYMox4sK0PjzZGsYEuYiq1+OUT3vk/e5K\nag1fCcq2Isy4/iwB2xcXrsQ6ljwdk1fc+EmOnjGKrhuOHJY3S+RFv4ToQBsVyYhC\nXGaC3EkqIX0xaCpDimxYhFjWhpDXAjG/zJ+hRLDAMCMhl/LPGRk/D1kzSbPmdjpl\nlEMK5695PeBvEBTQdBQdOiYgOU3vWU6tzwwHfiM2/wgvess/q0FDAHfJhppbgbb9\n3vgsIUcsvoC5o29JvMsUxsDRvsAfEmMSDGkJoA/X6GECAwEAAaNCMEAwDwYDVR0T\nAQH/BAUwAwEB/zAdBgNVHQ4EFgQUgEWm1mZCbGD6ytbwk2UU1aLaOUUwDgYDVR0P\nAQH/BAQDAgGGMA0GCSqGSIb3DQEBDAUAA4ICAQBb4+ABTGBGwxK1U/q4g8JDqTQM\n1Wh8Oz8yAk4XtPJMAmCctxbd81cRnSnePWw/hxViLVtkZ/GsemvXfqAQyOn1coN7\nQeYSw+ZOlu0j2jEJVynmgsR7nIRqE7QkCyZAU+d2FTJUfmee+IiBiGyFGgxz9n7A\nJhBZ/eahBbiuoOik/APW2JWLh0xp0W0GznfJ8lAlaQTyDa8iDXmVtbJg9P9qzkvl\nFgPXQttzEOyooF8Pb2LCZO4kUz+1sbU7tHdr2YE+SXxt6D3SBv+Yf0FlvyWLiqVk\nGDEOlPPTDSjAWgKnqST8UJ0RDcZK/v1ixs7ayqQJU0GUQm1I7LGTErWXHMnCuHKe\nUKYuiSZwmTcJ06NgdhcCnGZgPq13ryMDqxPeltQc3n5eO7f1cL9ERYLDLOzm6A9P\noQ3MfcVOsbHgGHZWaPSeNrQRN9xefqBXH0ZPasgcH9WJdsLlEjVUXoultaHOKx3b\nUCCb+d3EfqF6pRT488ippOL6bk7zNubwhRa/+y4wjZtwe3kAX78ACJVcjPobH9jZ\nErySads5zdQeaoee5wRKdp3TOfvuCe4bwLRdhOLCHWzEcXzY3g/6+ppLvNom8o+h\nBh5X26G6KSfr9tqhQ3O9IcbARjnuPbvtJnoPY0gz3EHHGPhy0RNW8i2gl3nUp0ah\nPtjwbKW0hYAhIttT0Q==\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIICtzCCAj2gAwIBAgIQQRBQTs6Y3H1DDbpHGta3lzAKBggqhkjOPQQDAzCBmzEL\nMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x\nEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTQwMgYDVQQDDCtBbWF6\nb24gUkRTIGFwLXNvdXRoZWFzdC0zIFJvb3QgQ0EgRUNDMzg0IEcxMRAwDgYDVQQH\nDAdTZWF0dGxlMCAXDTIxMDYxMTAwMTI0M1oYDzIxMjEwNjExMDExMjQzWjCBmzEL\nMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x\nEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTQwMgYDVQQDDCtBbWF6\nb24gUkRTIGFwLXNvdXRoZWFzdC0zIFJvb3QgQ0EgRUNDMzg0IEcxMRAwDgYDVQQH\nDAdTZWF0dGxlMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEs0942Xj4m/gKA+WA6F5h\nAHYuek9eGpzTRoLJddM4rEV1T3eSueytMVKOSlS3Ub9IhyQrH2D8EHsLYk9ktnGR\npATk0kCYTqFbB7onNo070lmMJmGT/Q7NgwC8cySChFxbo0IwQDAPBgNVHRMBAf8E\nBTADAQH/MB0GA1UdDgQWBBQ20iKBKiNkcbIZRu0y1uoF1yJTEzAOBgNVHQ8BAf8E\nBAMCAYYwCgYIKoZIzj0EAwMDaAAwZQIwYv0wTSrpQTaPaarfLN8Xcqrqu3hzl07n\nFrESIoRw6Cx77ZscFi2/MV6AFyjCV/TlAjEAhpwJ3tpzPXpThRML8DMJYZ3YgMh3\nCMuLqhPpla3cL0PhybrD27hJWl29C4el6aMO\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIICrDCCAjOgAwIBAgIQGcztRyV40pyMKbNeSN+vXTAKBggqhkjOPQQDAzCBljEL\nMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x\nEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMS8wLQYDVQQDDCZBbWF6\nb24gUkRTIHVzLWVhc3QtMiBSb290IENBIEVDQzM4NCBHMTEQMA4GA1UEBwwHU2Vh\ndHRsZTAgFw0yMTA1MjEyMzE1NTZaGA8yMTIxMDUyMjAwMTU1NlowgZYxCzAJBgNV\nBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYD\nVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTEvMC0GA1UEAwwmQW1hem9uIFJE\nUyB1cy1lYXN0LTIgUm9vdCBDQSBFQ0MzODQgRzExEDAOBgNVBAcMB1NlYXR0bGUw\ndjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQfDcv+GGRESD9wT+I5YIPRsD3L+/jsiIis\nTr7t9RSbFl+gYpO7ZbDXvNbV5UGOC5lMJo/SnqFRTC6vL06NF7qOHfig3XO8QnQz\n6T5uhhrhnX2RSY3/10d2kTyHq3ZZg3+jQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD\nVR0OBBYEFLDyD3PRyNXpvKHPYYxjHXWOgfPnMA4GA1UdDwEB/wQEAwIBhjAKBggq\nhkjOPQQDAwNnADBkAjB20HQp6YL7CqYD82KaLGzgw305aUKw2aMrdkBR29J183jY\n6Ocj9+Wcif9xnRMS+7oCMAvrt03rbh4SU9BohpRUcQ2Pjkh7RoY0jDR4Xq4qzjNr\n5UFr3BXpFvACxXF51BksGQ==\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIICrjCCAjWgAwIBAgIQeKbS5zvtqDvRtwr5H48cAjAKBggqhkjOPQQDAzCBlzEL\nMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x\nEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTAwLgYDVQQDDCdBbWF6\nb24gUkRTIG1lLXNvdXRoLTEgUm9vdCBDQSBFQ0MzODQgRzExEDAOBgNVBAcMB1Nl\nYXR0bGUwIBcNMjEwNTIwMTcxOTU1WhgPMjEyMTA1MjAxODE5NTVaMIGXMQswCQYD\nVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjETMBEG\nA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExMDAuBgNVBAMMJ0FtYXpvbiBS\nRFMgbWUtc291dGgtMSBSb290IENBIEVDQzM4NCBHMTEQMA4GA1UEBwwHU2VhdHRs\nZTB2MBAGByqGSM49AgEGBSuBBAAiA2IABEKjgUaAPmUlRMEQdBC7BScAGosJ1zRV\nLDd38qTBjzgmwBfQJ5ZfGIvyEK5unB09MB4e/3qqK5I/L6Qn5Px/n5g4dq0c7MQZ\nu7G9GBYm90U3WRJBf7lQrPStXaRnS4A/O6NCMEAwDwYDVR0TAQH/BAUwAwEB/zAd\nBgNVHQ4EFgQUNKcAbGEIn03/vkwd8g6jNyiRdD4wDgYDVR0PAQH/BAQDAgGGMAoG\nCCqGSM49BAMDA2cAMGQCMHIeTrjenCSYuGC6txuBt/0ZwnM/ciO9kHGWVCoK8QLs\njGghb5/YSFGZbmQ6qpGlSAIwVOQgdFfTpEfe5i+Vs9frLJ4QKAfc27cTNYzRIM0I\nE+AJgK4C4+DiyyMzOpiCfmvq\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIGCDCCA/CgAwIBAgIQSFkEUzu9FYgC5dW+5lnTgjANBgkqhkiG9w0BAQwFADCB\nnDELMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIElu\nYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTUwMwYDVQQDDCxB\nbWF6b24gUkRTIGFwLXNvdXRoZWFzdC0zIFJvb3QgQ0EgUlNBNDA5NiBHMTEQMA4G\nA1UEBwwHU2VhdHRsZTAgFw0yMTA2MTEwMDA4MzZaGA8yMTIxMDYxMTAxMDgzNlow\ngZwxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ\nbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTE1MDMGA1UEAwws\nQW1hem9uIFJEUyBhcC1zb3V0aGVhc3QtMyBSb290IENBIFJTQTQwOTYgRzExEDAO\nBgNVBAcMB1NlYXR0bGUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDx\nmy5Qmd8zdwaI/KOKV9Xar9oNbhJP5ED0JCiigkuvCkg5qM36klszE8JhsUj40xpp\nvQw9wkYW4y+C8twBpzKGBvakqMnoaVUV7lOCKx0RofrnNwkZCboTBB4X/GCZ3fIl\nYTybS7Ehi1UuiaZspIT5A2jidoA8HiBPk+mTg1UUkoWS9h+MEAPa8L4DY6fGf4pO\nJ1Gk2cdePuNzzIrpm2yPto+I8MRROwZ3ha7ooyymOXKtz2c7jEHHJ314boCXAv9G\ncdo27WiebewZkHHH7Zx9iTIVuuk2abyVSzvLVeGv7Nuy4lmSqa5clWYqWsGXxvZ2\n0fZC5Gd+BDUMW1eSpW7QDTk3top6x/coNoWuLSfXiC5ZrJkIKimSp9iguULgpK7G\nabMMN4PR+O+vhcB8E879hcwmS2yd3IwcPTl3QXxufqeSV58/h2ibkqb/W4Bvggf6\n5JMHQPlPHOqMCVFIHP1IffIo+Of7clb30g9FD2j3F4qgV3OLwEDNg/zuO1DiAvH1\nL+OnmGHkfbtYz+AVApkAZrxMWwoYrwpauyBusvSzwRE24vLTd2i80ZDH422QBLXG\nrN7Zas8rwIiBKacJLYtBYETw8mfsNt8gb72aIQX6cZOsphqp6hUtKaiMTVgGazl7\ntBXqbB+sIv3S9X6bM4cZJKkMJOXbnyCCLZFYv8TurwIDAQABo0IwQDAPBgNVHRMB\nAf8EBTADAQH/MB0GA1UdDgQWBBTOVtaS1b/lz6yJDvNk65vEastbQTAOBgNVHQ8B\nAf8EBAMCAYYwDQYJKoZIhvcNAQEMBQADggIBABEONg+TmMZM/PrYGNAfB4S41zp1\n3CVjslZswh/pC4kgXSf8cPJiUOzMwUevuFQj7tCqxQtJEygJM2IFg4ViInIah2kh\nxlRakEGGw2dEVlxZAmmLWxlL1s1lN1565t5kgVwM0GVfwYM2xEvUaby6KDVJIkD3\naM6sFDBshvVA70qOggM6kU6mwTbivOROzfoIQDnVaT+LQjHqY/T+ok6IN0YXXCWl\nFavai8RDjzLDFwXSRvgIK+1c49vlFFY4W9Efp7Z9tPSZU1TvWUcKdAtV8P2fPHAS\nvAZ+g9JuNfeawhEibjXkwg6Z/yFUueQCQOs9TRXYogzp5CMMkfdNJF8byKYqHscs\nUosIcETnHwqwban99u35sWcoDZPr6aBIrz7LGKTJrL8Nis8qHqnqQBXu/fsQEN8u\nzJ2LBi8sievnzd0qI0kaWmg8GzZmYH1JCt1GXSqOFkI8FMy2bahP7TUQR1LBUKQ3\nhrOSqldkhN+cSAOnvbQcFzLr+iEYEk34+NhcMIFVE+51KJ1n6+zISOinr6mI3ckX\n6p2tmiCD4Shk2Xx/VTY/KGvQWKFcQApWezBSvDNlGe0yV71LtLf3dr1pr4ofo7cE\nrYucCJ40bfxEU/fmzYdBF32xP7AOD9U0FbOR3Mcthc6Z6w20WFC+zru8FGY08gPf\nWT1QcNdw7ntUJP/w\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIICrzCCAjWgAwIBAgIQARky6+5PNFRkFVOp3Ob1CTAKBggqhkjOPQQDAzCBlzEL\nMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x\nEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTAwLgYDVQQDDCdBbWF6\nb24gUkRTIGV1LXNvdXRoLTIgUm9vdCBDQSBFQ0MzODQgRzExEDAOBgNVBAcMB1Nl\nYXR0bGUwIBcNMjIwNTIzMTg0MTI4WhgPMjEyMjA1MjMxOTQxMjdaMIGXMQswCQYD\nVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjETMBEG\nA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExMDAuBgNVBAMMJ0FtYXpvbiBS\nRFMgZXUtc291dGgtMiBSb290IENBIEVDQzM4NCBHMTEQMA4GA1UEBwwHU2VhdHRs\nZTB2MBAGByqGSM49AgEGBSuBBAAiA2IABNVGL5oF7cfIBxKyWd2PVK/S5yQfaJY3\nQFHWvEdt6951n9JhiiPrHzfVHsxZp1CBjILRMzjgRbYWmc8qRoLkgGE7htGdwudJ\nFa/WuKzO574Prv4iZXUnVGTboC7JdvKbh6NCMEAwDwYDVR0TAQH/BAUwAwEB/zAd\nBgNVHQ4EFgQUgDeIIEKynwUbNXApdIPnmRWieZwwDgYDVR0PAQH/BAQDAgGGMAoG\nCCqGSM49BAMDA2gAMGUCMEOOJfucrST+FxuqJkMZyCM3gWGZaB+/w6+XUAJC6hFM\nuSTY0F44/bERkA4XhH+YGAIxAIpJQBakCA1/mXjsTnQ+0El9ty+LODp8ibkn031c\n8DKDS7pR9UK7ZYdR6zFg3ZCjQw==\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIICrjCCAjOgAwIBAgIQJvkWUcYLbnxtuwnyjMmntDAKBggqhkjOPQQDAzCBljEL\nMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x\nEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMS8wLQYDVQQDDCZBbWF6\nb24gUkRTIGV1LXdlc3QtMyBSb290IENBIEVDQzM4NCBHMTEQMA4GA1UEBwwHU2Vh\ndHRsZTAgFw0yMTA1MjUyMjI2MTJaGA8yMTIxMDUyNTIzMjYxMlowgZYxCzAJBgNV\nBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYD\nVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTEvMC0GA1UEAwwmQW1hem9uIFJE\nUyBldS13ZXN0LTMgUm9vdCBDQSBFQ0MzODQgRzExEDAOBgNVBAcMB1NlYXR0bGUw\ndjAQBgcqhkjOPQIBBgUrgQQAIgNiAARENn8uHCyjn1dFax4OeXxvbV861qsXFD9G\nDshumTmFzWWHN/69WN/AOsxy9XN5S7Cgad4gQgeYYYgZ5taw+tFo/jQvCLY//uR5\nuihcLuLJ78opvRPvD9kbWZ6oXfBtFkWjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD\nVR0OBBYEFKiK3LpoF+gDnqPldGSwChBPCYciMA4GA1UdDwEB/wQEAwIBhjAKBggq\nhkjOPQQDAwNpADBmAjEA+7qfvRlnvF1Aosyp9HzxxCbN7VKu+QXXPhLEBWa5oeWW\nUOcifunf/IVLC4/FGCsLAjEAte1AYp+iJyOHDB8UYkhBE/1sxnFaTiEPbvQBU0wZ\nSuwWVLhu2wWDuSW+K7tTuL8p\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIID/zCCAuegAwIBAgIRAKeDpqX5WFCGNo94M4v69sUwDQYJKoZIhvcNAQELBQAw\ngZcxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ\nbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTEwMC4GA1UEAwwn\nQW1hem9uIFJEUyBldS13ZXN0LTMgUm9vdCBDQSBSU0EyMDQ4IEcxMRAwDgYDVQQH\nDAdTZWF0dGxlMCAXDTIxMDUyNTIyMTgzM1oYDzIwNjEwNTI1MjMxODMzWjCBlzEL\nMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x\nEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTAwLgYDVQQDDCdBbWF6\nb24gUkRTIGV1LXdlc3QtMyBSb290IENBIFJTQTIwNDggRzExEDAOBgNVBAcMB1Nl\nYXR0bGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCcKOTEMTfzvs4H\nWtJR8gI7GXN6xesulWtZPv21oT+fLGwJ+9Bv8ADCGDDrDxfeH/HxJmzG9hgVAzVn\n4g97Bn7q07tGZM5pVi96/aNp11velZT7spOJKfJDZTlGns6DPdHmx48whpdO+dOb\n6+eR0VwCIv+Vl1fWXgoACXYCoKjhxJs+R+fwY//0JJ1YG8yjZ+ghLCJmvlkOJmE1\nTCPUyIENaEONd6T+FHGLVYRRxC2cPO65Jc4yQjsXvvQypoGgx7FwD5voNJnFMdyY\n754JGPOOe/SZdepN7Tz7UEq8kn7NQSbhmCsgA/Hkjkchz96qN/YJ+H/okiQUTNB0\neG9ogiVFAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFFjayw9Y\nMjbxfF14XAhMM2VPl0PfMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOC\nAQEAAtmx6d9+9CWlMoU0JCirtp4dSS41bBfb9Oor6GQ8WIr2LdfZLL6uES/ubJPE\n1Sh5Vu/Zon5/MbqLMVrfniv3UpQIof37jKXsjZJFE1JVD/qQfRzG8AlBkYgHNEiS\nVtD4lFxERmaCkY1tjKB4Dbd5hfhdrDy29618ZjbSP7NwAfnwb96jobCmMKgxVGiH\nUqsLSiEBZ33b2hI7PJ6iTJnYBWGuiDnsWzKRmheA4nxwbmcQSfjbrNwa93w3caL2\nv/4u54Kcasvcu3yFsUwJygt8z43jsGAemNZsS7GWESxVVlW93MJRn6M+MMakkl9L\ntWaXdHZ+KUV7LhfYLb0ajvb40w==\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIEBDCCAuygAwIBAgIQJ5oxPEjefCsaESSwrxk68DANBgkqhkiG9w0BAQsFADCB\nmjELMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIElu\nYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTMwMQYDVQQDDCpB\nbWF6b24gUkRTIGV1LWNlbnRyYWwtMiBSb290IENBIFJTQTIwNDggRzExEDAOBgNV\nBAcMB1NlYXR0bGUwIBcNMjIwNjA2MjExNzA1WhgPMjA2MjA2MDYyMjE3MDVaMIGa\nMQswCQYDVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5j\nLjETMBEGA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExMzAxBgNVBAMMKkFt\nYXpvbiBSRFMgZXUtY2VudHJhbC0yIFJvb3QgQ0EgUlNBMjA0OCBHMTEQMA4GA1UE\nBwwHU2VhdHRsZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALTQt5eX\ng+VP3BjO9VBkWJhE0GfLrU/QIk32I6WvrnejayTrlup9H1z4QWlXF7GNJrqScRMY\nKhJHlcP05aPsx1lYco6pdFOf42ybXyWHHJdShj4A5glU81GTT+VrXGzHSarLmtua\neozkQgPpDsSlPt0RefyTyel7r3Cq+5K/4vyjCTcIqbfgaGwTU36ffjM1LaPCuE4O\nnINMeD6YuImt2hU/mFl20FZ+IZQUIFZZU7pxGLqTRz/PWcH8tDDxnkYg7tNuXOeN\nJbTpXrw7St50/E9ZQ0llGS+MxJD8jGRAa/oL4G/cwnV8P2OEPVVkgN9xDDQeieo0\n3xkzolkDkmeKOnUCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU\nbwu8635iQGQMRanekesORM8Hkm4wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB\nCwUAA4IBAQAgN6LE9mUgjsj6xGCX1afYE69fnmCjjb0rC6eEe1mb/QZNcyw4XBIW\n6+zTXo4mjZ4ffoxb//R0/+vdTE7IvaLgfAZgFsLKJCtYDDstXZj8ujQnGR9Pig3R\nW+LpNacvOOSJSawNQq0Xrlcu55AU4buyD5VjcICnfF1dqBMnGTnh27m/scd/ZMx/\nkapHZ/fMoK2mAgSX/NvUKF3UkhT85vSSM2BTtET33DzCPDQTZQYxFBa4rFRmFi4c\nBLlmIReiCGyh3eJhuUUuYAbK6wLaRyPsyEcIOLMQmZe1+gAFm1+1/q5Ke9ugBmjf\nPbTWjsi/lfZ5CdVAhc5lmZj/l5aKqwaS\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIICrjCCAjSgAwIBAgIRAKKPTYKln9L4NTx9dpZGUjowCgYIKoZIzj0EAwMwgZYx\nCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMu\nMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTEvMC0GA1UEAwwmQW1h\nem9uIFJEUyBldS13ZXN0LTIgUm9vdCBDQSBFQ0MzODQgRzExEDAOBgNVBAcMB1Nl\nYXR0bGUwIBcNMjEwNTIxMjI1NTIxWhgPMjEyMTA1MjEyMzU1MjFaMIGWMQswCQYD\nVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjETMBEG\nA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExLzAtBgNVBAMMJkFtYXpvbiBS\nRFMgZXUtd2VzdC0yIFJvb3QgQ0EgRUNDMzg0IEcxMRAwDgYDVQQHDAdTZWF0dGxl\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE/owTReDvaRqdmbtTzXbyRmEpKCETNj6O\nhZMKH0F8oU9Tmn8RU7kQQj6xUKEyjLPrFBN7c+26TvrVO1KmJAvbc8bVliiJZMbc\nC0yV5PtJTalvlMZA1NnciZuhxaxrzlK1o0IwQDAPBgNVHRMBAf8EBTADAQH/MB0G\nA1UdDgQWBBT4i5HaoHtrs7Mi8auLhMbKM1XevDAOBgNVHQ8BAf8EBAMCAYYwCgYI\nKoZIzj0EAwMDaAAwZQIxAK9A+8/lFdX4XJKgfP+ZLy5ySXC2E0Spoy12Gv2GdUEZ\np1G7c1KbWVlyb1d6subzkQIwKyH0Naf/3usWfftkmq8SzagicKz5cGcEUaULq4tO\nGzA/AMpr63IDBAqkZbMDTCmH\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIICrzCCAjWgAwIBAgIQTgIvwTDuNWQo0Oe1sOPQEzAKBggqhkjOPQQDAzCBlzEL\nMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x\nEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTAwLgYDVQQDDCdBbWF6\nb24gUkRTIGV1LW5vcnRoLTEgUm9vdCBDQSBFQ0MzODQgRzExEDAOBgNVBAcMB1Nl\nYXR0bGUwIBcNMjEwNTI0MjEwNjM4WhgPMjEyMTA1MjQyMjA2MzhaMIGXMQswCQYD\nVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjETMBEG\nA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExMDAuBgNVBAMMJ0FtYXpvbiBS\nRFMgZXUtbm9ydGgtMSBSb290IENBIEVDQzM4NCBHMTEQMA4GA1UEBwwHU2VhdHRs\nZTB2MBAGByqGSM49AgEGBSuBBAAiA2IABJuzXLU8q6WwSKXBvx8BbdIi3mPhb7Xo\nrNJBfuMW1XRj5BcKH1ZoGaDGw+BIIwyBJg8qNmCK8kqIb4cH8/Hbo3Y+xBJyoXq/\ncuk8aPrxiNoRsKWwiDHCsVxaK9L7GhHHAqNCMEAwDwYDVR0TAQH/BAUwAwEB/zAd\nBgNVHQ4EFgQUYgcsdU4fm5xtuqLNppkfTHM2QMYwDgYDVR0PAQH/BAQDAgGGMAoG\nCCqGSM49BAMDA2gAMGUCMQDz/Rm89+QJOWJecYAmYcBWCcETASyoK1kbr4vw7Hsg\n7Ew3LpLeq4IRmTyuiTMl0gMCMAa0QSjfAnxBKGhAnYxcNJSntUyyMpaXzur43ec0\n3D8npJghwC4DuICtKEkQiI5cSg==\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIGATCCA+mgAwIBAgIRAORIGqQXLTcbbYT2upIsSnQwDQYJKoZIhvcNAQEMBQAw\ngZgxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ\nbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTExMC8GA1UEAwwo\nQW1hem9uIFJEUyBldS1zb3V0aC0yIFJvb3QgQ0EgUlNBNDA5NiBHMTEQMA4GA1UE\nBwwHU2VhdHRsZTAgFw0yMjA1MjMxODM0MjJaGA8yMTIyMDUyMzE5MzQyMlowgZgx\nCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMu\nMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTExMC8GA1UEAwwoQW1h\nem9uIFJEUyBldS1zb3V0aC0yIFJvb3QgQ0EgUlNBNDA5NiBHMTEQMA4GA1UEBwwH\nU2VhdHRsZTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAPKukwsW2s/h\n1k+Hf65pOP0knVBnOnMQyT1mopp2XHGdXznj9xS49S30jYoUnWccyXgD983A1bzu\nw4fuJRHg4MFdz/NWTgXvy+zy0Roe83OPIJjUmXnnzwUHQcBa9vl6XUO65iQ3pbSi\nfQfNDFXD8cvuXbkezeADoy+iFAlzhXTzV9MD44GTuo9Z3qAXNGHQCrgRSCL7uRYt\nt1nfwboCbsVRnElopn2cTigyVXE62HzBUmAw1GTbAZeFAqCn5giBWYAfHwTUldRL\n6eEa6atfsS2oPNus4ZENa1iQxXq7ft+pMdNt0qKXTCZiiCZjmLkY0V9kWwHTRRF8\nr+75oSL//3di43QnuSCgjwMRIeWNtMud5jf3eQzSBci+9njb6DrrSUbx7blP0srg\n94/C/fYOp/0/EHH34w99Th14VVuGWgDgKahT9/COychLOubXUT6vD1As47S9KxTv\nyYleVKwJnF9cVjepODN72fNlEf74BwzgSIhUmhksmZSeJBabrjSUj3pdyo/iRZN/\nCiYz9YPQ29eXHPQjBZVIUqWbOVfdwsx0/Xu5T1e7yyXByQ3/oDulahtcoKPAFQ3J\nee6NJK655MdS7pM9hJnU2Rzu3qZ/GkM6YK7xTlMXVouPUZov/VbiaCKbqYDs8Dg+\nUKdeNXAT6+BMleGQzly1X7vjhgeA8ugVAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMB\nAf8wHQYDVR0OBBYEFJdaPwpCf78UolFTEn6GO85/QwUIMA4GA1UdDwEB/wQEAwIB\nhjANBgkqhkiG9w0BAQwFAAOCAgEAWkxHIT3mers5YnZRSVjmpxCLivGj1jMB9VYC\niKqTAeIvD0940L0YaZgivQll5pue8UUcQ6M2uCdVVAsNJdmQ5XHIYiGOknYPtxzO\naO+bnZp7VIZw/vJ49hvH6RreA2bbxYMZO/ossYdcWsWbOKHFrRmAw0AhtK/my51g\nobV7eQg+WmlE5Iqc75ycUsoZdc3NimkjBi7LQoNP1HMvlLHlF71UZhQDdq+/WdV7\n0zmg+epkki1LjgMmuPyb+xWuYkFKT1/faX+Xs62hIm5BY+aI4if4RuQ+J//0pOSs\nUajrjTo+jLGB8A96jAe8HaFQenbwMjlaHRDAF0wvbkYrMr5a6EbneAB37V05QD0Y\nRh4L4RrSs9DX2hbSmS6iLDuPEjanHKzglF5ePEvnItbRvGGkynqDVlwF+Bqfnw8l\n0i8Hr1f1/LP1c075UjkvsHlUnGgPbLqA0rDdcxF8Fdlv1BunUjX0pVlz10Ha5M6P\nAdyWUOneOfaA5G7jjv7i9qg3r99JNs1/Lmyg/tV++gnWTAsSPFSSEte81kmPhlK3\n2UtAO47nOdTtk+q4VIRAwY1MaOR7wTFZPfer1mWs4RhKNu/odp8urEY87iIzbMWT\nQYO/4I6BGj9rEWNGncvR5XTowwIthMCj2KWKM3Z/JxvjVFylSf+s+FFfO1bNIm6h\nu3UBpZI=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIICtDCCAjmgAwIBAgIQenQbcP/Zbj9JxvZ+jXbRnTAKBggqhkjOPQQDAzCBmTEL\nMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x\nEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTIwMAYDVQQDDClBbWF6\nb24gUkRTIGV1LWNlbnRyYWwtMSBSb290IENBIEVDQzM4NCBHMTEQMA4GA1UEBwwH\nU2VhdHRsZTAgFw0yMTA1MjEyMjMzMjRaGA8yMTIxMDUyMTIzMzMyNFowgZkxCzAJ\nBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMw\nEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTEyMDAGA1UEAwwpQW1hem9u\nIFJEUyBldS1jZW50cmFsLTEgUm9vdCBDQSBFQ0MzODQgRzExEDAOBgNVBAcMB1Nl\nYXR0bGUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATlBHiEM9LoEb1Hdnd5j2VpCDOU\n5nGuFoBD8ROUCkFLFh5mHrHfPXwBc63heW9WrP3qnDEm+UZEUvW7ROvtWCTPZdLz\nZ4XaqgAlSqeE2VfUyZOZzBSgUUJk7OlznXfkCMOjQjBAMA8GA1UdEwEB/wQFMAMB\nAf8wHQYDVR0OBBYEFDT/ThjQZl42Nv/4Z/7JYaPNMly2MA4GA1UdDwEB/wQEAwIB\nhjAKBggqhkjOPQQDAwNpADBmAjEAnZWmSgpEbmq+oiCa13l5aGmxSlfp9h12Orvw\nDq/W5cENJz891QD0ufOsic5oGq1JAjEAp5kSJj0MxJBTHQze1Aa9gG4sjHBxXn98\n4MP1VGsQuhfndNHQb4V0Au7OWnOeiobq\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIID/zCCAuegAwIBAgIRAMgnyikWz46xY6yRgiYwZ3swDQYJKoZIhvcNAQELBQAw\ngZcxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ\nbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTEwMC4GA1UEAwwn\nQW1hem9uIFJEUyBldS13ZXN0LTEgUm9vdCBDQSBSU0EyMDQ4IEcxMRAwDgYDVQQH\nDAdTZWF0dGxlMCAXDTIxMDUyMDE2NDkxMloYDzIwNjEwNTIwMTc0OTEyWjCBlzEL\nMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x\nEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTAwLgYDVQQDDCdBbWF6\nb24gUkRTIGV1LXdlc3QtMSBSb290IENBIFJTQTIwNDggRzExEDAOBgNVBAcMB1Nl\nYXR0bGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCi8JYOc9cYSgZH\ngYPxLk6Xcc7HqzamvsnjYU98Dcb98y6iDqS46Ra2Ne02MITtU5MDL+qjxb8WGDZV\nRUA9ZS69tkTO3gldW8QdiSh3J6hVNJQW81F0M7ZWgV0gB3n76WCmfT4IWos0AXHM\n5v7M/M4tqVmCPViQnZb2kdVlM3/Xc9GInfSMCgNfwHPTXl+PXX+xCdNBePaP/A5C\n5S0oK3HiXaKGQAy3K7VnaQaYdiv32XUatlM4K2WS4AMKt+2cw3hTCjlmqKRHvYFQ\nveWCXAuc+U5PQDJ9SuxB1buFJZhT4VP3JagOuZbh5NWpIbOTxlAJOb5pGEDuJTKi\n1gQQQVEFAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNXm+N87\nOFxK9Af/bjSxDCiulGUzMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOC\nAQEAkqIbkgZ45spvrgRQ6n9VKzDLvNg+WciLtmVrqyohwwJbj4pYvWwnKQCkVc7c\nhUOSBmlSBa5REAPbH5o8bdt00FPRrD6BdXLXhaECKgjsHe1WW08nsequRKD8xVmc\n8bEX6sw/utBeBV3mB+3Zv7ejYAbDFM4vnRsWtO+XqgReOgrl+cwdA6SNQT9oW3e5\nrSQ+VaXgJtl9NhkiIysq9BeYigxqS/A13pHQp0COMwS8nz+kBPHhJTsajHCDc8F4\nHfLi6cgs9G0gaRhT8FCH66OdGSqn196sE7Y3bPFFFs/3U+vxvmQgoZC6jegQXAg5\nPrxd+VNXtNI/azitTysQPumH7A==\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIEBTCCAu2gAwIBAgIRAO8bekN7rUReuNPG8pSTKtEwDQYJKoZIhvcNAQELBQAw\ngZoxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ\nbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTEzMDEGA1UEAwwq\nQW1hem9uIFJEUyBldS1jZW50cmFsLTEgUm9vdCBDQSBSU0EyMDQ4IEcxMRAwDgYD\nVQQHDAdTZWF0dGxlMCAXDTIxMDUyMTIyMjM0N1oYDzIwNjEwNTIxMjMyMzQ3WjCB\nmjELMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIElu\nYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTMwMQYDVQQDDCpB\nbWF6b24gUkRTIGV1LWNlbnRyYWwtMSBSb290IENBIFJTQTIwNDggRzExEDAOBgNV\nBAcMB1NlYXR0bGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCTTYds\nTray+Q9VA5j5jTh5TunHKFQzn68ZbOzdqaoi/Rq4ohfC0xdLrxCpfqn2TGDHN6Zi\n2qGK1tWJZEd1H0trhzd9d1CtGK+3cjabUmz/TjSW/qBar7e9MA67/iJ74Gc+Ww43\nA0xPNIWcL4aLrHaLm7sHgAO2UCKsrBUpxErOAACERScVYwPAfu79xeFcX7DmcX+e\nlIqY16pQAvK2RIzrekSYfLFxwFq2hnlgKHaVgZ3keKP+nmXcXmRSHQYUUr72oYNZ\nHcNYl2+gxCc9ccPEHM7xncVEKmb5cWEWvVoaysgQ+osi5f5aQdzgC2X2g2daKbyA\nXL/z5FM9GHpS5BJjAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE\nFBDAiJ7Py9/A9etNa/ebOnx5l5MGMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0B\nAQsFAAOCAQEALMh/+81fFPdJV/RrJUeoUvFCGMp8iaANu97NpeJyKitNOv7RoeVP\nWjivS0KcCqZaDBs+p6IZ0sLI5ZH098LDzzytcfZg0PsGqUAb8a0MiU/LfgDCI9Ee\njsOiwaFB8k0tfUJK32NPcIoQYApTMT2e26lPzYORSkfuntme2PTHUnuC7ikiQrZk\nP+SZjWgRuMcp09JfRXyAYWIuix4Gy0eZ4rpRuaTK6mjAb1/LYoNK/iZ/gTeIqrNt\nl70OWRsWW8jEmSyNTIubGK/gGGyfuZGSyqoRX6OKHESkP6SSulbIZHyJ5VZkgtXo\n2XvyRyJ7w5pFyoofrL3Wv0UF8yt/GDszmg==\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIF/zCCA+egAwIBAgIRAMDk/F+rrhdn42SfE+ghPC8wDQYJKoZIhvcNAQEMBQAw\ngZcxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ\nbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTEwMC4GA1UEAwwn\nQW1hem9uIFJEUyBldS13ZXN0LTIgUm9vdCBDQSBSU0E0MDk2IEcxMRAwDgYDVQQH\nDAdTZWF0dGxlMCAXDTIxMDUyMTIyNTEyMloYDzIxMjEwNTIxMjM1MTIyWjCBlzEL\nMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x\nEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTAwLgYDVQQDDCdBbWF6\nb24gUkRTIGV1LXdlc3QtMiBSb290IENBIFJTQTQwOTYgRzExEDAOBgNVBAcMB1Nl\nYXR0bGUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2twMALVg9vRVu\nVNqsr6N8thmp3Dy8jEGTsm3GCQ+C5P2YcGlD/T/5icfWW84uF7Sx3ezcGlvsqFMf\nUkj9sQyqtz7qfFFugyy7pa/eH9f48kWFHLbQYm9GEgbYBIrWMp1cy3vyxuMCwQN4\nDCncqU+yNpy0CprQJEha3PzY+3yJOjDQtc3zr99lyECCFJTDUucxHzyQvX89eL74\nuh8la0lKH3v9wPpnEoftbrwmm5jHNFdzj7uXUHUJ41N7af7z7QUfghIRhlBDiKtx\n5lYZemPCXajTc3ryDKUZC/b+B6ViXZmAeMdmQoPE0jwyEp/uaUcdp+FlUQwCfsBk\nayPFEApTWgPiku2isjdeTVmEgL8bJTDUZ6FYFR7ZHcYAsDzcwHgIu3GGEMVRS3Uf\nILmioiyly9vcK4Sa01ondARmsi/I0s7pWpKflaekyv5boJKD/xqwz9lGejmJHelf\n8Od2TyqJScMpB7Q8c2ROxBwqwB72jMCEvYigB+Wnbb8RipliqNflIGx938FRCzKL\nUQUBmNAznR/yRRL0wHf9UAE/8v9a09uZABeiznzOFAl/frHpgdAbC00LkFlnwwgX\ng8YfEFlkp4fLx5B7LtoO6uVNFVimLxtwirpyKoj3G4M/kvSTux8bTw0heBCmWmKR\n57MS6k7ODzbv+Kpeht2hqVZCNFMxoQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/\nMB0GA1UdDgQWBBRuMnDhJjoj7DcKALj+HbxEqj3r6jAOBgNVHQ8BAf8EBAMCAYYw\nDQYJKoZIhvcNAQEMBQADggIBALSnXfx72C3ldhBP5kY4Mo2DDaGQ8FGpTOOiD95d\n0rf7I9LrsBGVqu/Nir+kqqP80PB70+Jy9fHFFigXwcPBX3MpKGxK8Cel7kVf8t1B\n4YD6A6bqlzP+OUL0uGWfZpdpDxwMDI2Flt4NEldHgXWPjvN1VblEKs0+kPnKowyg\njhRMgBbD/y+8yg0fIcjXUDTAw/+INcp21gWaMukKQr/8HswqC1yoqW9in2ijQkpK\n2RB9vcQ0/gXR0oJUbZQx0jn0OH8Agt7yfMAnJAdnHO4M3gjvlJLzIC5/4aGrRXZl\nJoZKfJ2fZRnrFMi0nhAYDeInoS+Rwx+QzaBk6fX5VPyCj8foZ0nmqvuYoydzD8W5\nmMlycgxFqS+DUmO+liWllQC4/MnVBlHGB1Cu3wTj5kgOvNs/k+FW3GXGzD3+rpv0\nQTLuwSbMr+MbEThxrSZRSXTCQzKfehyC+WZejgLb+8ylLJUA10e62o7H9PvCrwj+\nZDVmN7qj6amzvndCP98sZfX7CFZPLfcBd4wVIjHsFjSNEwWHOiFyLPPG7cdolGKA\nlOFvonvo4A1uRc13/zFeP0Xi5n5OZ2go8aOOeGYdI2vB2sgH9R2IASH/jHmr0gvY\n0dfBCcfXNgrS0toq0LX/y+5KkKOxh52vEYsJLdhqrveuZhQnsFEm/mFwjRXkyO7c\n2jpC\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIGADCCA+igAwIBAgIQYe0HgSuFFP9ivYM2vONTrTANBgkqhkiG9w0BAQwFADCB\nmDELMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIElu\nYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTEwLwYDVQQDDChB\nbWF6b24gUkRTIGV1LXNvdXRoLTEgUm9vdCBDQSBSU0E0MDk2IEcxMRAwDgYDVQQH\nDAdTZWF0dGxlMCAXDTIxMDUxOTE4MzMyMVoYDzIxMjEwNTE5MTkzMzIxWjCBmDEL\nMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x\nEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTEwLwYDVQQDDChBbWF6\nb24gUkRTIGV1LXNvdXRoLTEgUm9vdCBDQSBSU0E0MDk2IEcxMRAwDgYDVQQHDAdT\nZWF0dGxlMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAuO7QPKfPMTo2\nPOQWvzDLwi5f++X98hGjORI1zkN9kotCYH5pAzSBwBPoMNaIfedgmsIxGHj2fq5G\n4oXagNhNuGP79Zl6uKW5H7S74W7aWM8C0s8zuxMOI4GZy5h2IfQk3m/3AzZEX5w8\nUtNPkzo2feDVOkerHT+j+vjXgAxZ4wHnuMDcRT+K4r9EXlAH6X9b/RO0JlfEwmNz\nxlqqGxocq9qRC66N6W0HF2fNEAKP84n8H80xcZBOBthQORRi8HSmKcPdmrvwCuPz\nM+L+j18q6RAVaA0ABbD0jMWcTf0UvjUfBStn5mvu/wGlLjmmRkZsppUTRukfwqXK\nyltUsTq0tOIgCIpne5zA4v+MebbR5JBnsvd4gdh5BI01QH470yB7BkUefZ9bobOm\nOseAAVXcYFJKe4DAA6uLDrqOfFSxV+CzVvEp3IhLRaik4G5MwI/h2c/jEYDqkg2J\nHMflxc2gcSMdk7E5ByLz5f6QrFfSDFk02ZJTs4ssbbUEYohht9znPMQEaWVqATWE\n3n0VspqZyoBNkH/agE5GiGZ/k/QyeqzMNj+c9kr43Upu8DpLrz8v2uAp5xNj3YVg\nihaeD6GW8+PQoEjZ3mrCmH7uGLmHxh7Am59LfEyNrDn+8Rq95WvkmbyHSVxZnBmo\nh/6O3Jk+0/QhIXZ2hryMflPcYWeRGH0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB\n/zAdBgNVHQ4EFgQU2eFK7+R3x/me8roIBNxBrplkM6EwDgYDVR0PAQH/BAQDAgGG\nMA0GCSqGSIb3DQEBDAUAA4ICAQB5gWFe5s7ObQFj1fTO9L6gYgtFhnwdmxU0q8Ke\nHWCrdFmyXdC39qdAFOwM5/7fa9zKmiMrZvy9HNvCXEp4Z7z9mHhBmuqPZQx0qPgU\nuLdP8wGRuWryzp3g2oqkX9t31Z0JnkbIdp7kfRT6ME4I4VQsaY5Y3mh+hIHOUvcy\np+98i3UuEIcwJnVAV9wTTzrWusZl9iaQ1nSYbmkX9bBssJ2GmtW+T+VS/1hJ/Q4f\nAlE3dOQkLFoPPb3YRWBHr2n1LPIqMVwDNAuWavRA2dSfaLl+kzbn/dua7HTQU5D4\nb2Fu2vLhGirwRJe+V7zdef+tI7sngXqjgObyOeG5O2BY3s+um6D4fS0Th3QchMO7\n0+GwcIgSgcjIjlrt6/xJwJLE8cRkUUieYKq1C4McpZWTF30WnzOPUzRzLHkcNzNA\n0A7sKMK6QoYWo5Rmo8zewUxUqzc9oQSrYADP7PEwGncLtFe+dlRFx+PA1a+lcIgo\n1ZGfXigYtQ3VKkcknyYlJ+hN4eCMBHtD81xDy9iP2MLE41JhLnoB2rVEtewO5diF\n7o95Mwl84VMkLhhHPeGKSKzEbBtYYBifHNct+Bst8dru8UumTltgfX6urH3DN+/8\nJF+5h3U8oR2LL5y76cyeb+GWDXXy9zoQe2QvTyTy88LwZq1JzujYi2k8QiLLhFIf\nFEv9Bg==\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIICsDCCAjagAwIBAgIRAMgApnfGYPpK/fD0dbN2U4YwCgYIKoZIzj0EAwMwgZcx\nCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMu\nMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTEwMC4GA1UEAwwnQW1h\nem9uIFJEUyBldS1zb3V0aC0xIFJvb3QgQ0EgRUNDMzg0IEcxMRAwDgYDVQQHDAdT\nZWF0dGxlMCAXDTIxMDUxOTE4MzgxMVoYDzIxMjEwNTE5MTkzODExWjCBlzELMAkG\nA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4xEzAR\nBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTAwLgYDVQQDDCdBbWF6b24g\nUkRTIGV1LXNvdXRoLTEgUm9vdCBDQSBFQ0MzODQgRzExEDAOBgNVBAcMB1NlYXR0\nbGUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQfEWl6d4qSuIoECdZPp+39LaKsfsX7\nTHs3/RrtT0+h/jl3bjZ7Qc68k16x+HGcHbaayHfqD0LPdzH/kKtNSfQKqemdxDQh\nZ4pwkixJu8T1VpXZ5zzCvBXCl75UqgEFS92jQjBAMA8GA1UdEwEB/wQFMAMBAf8w\nHQYDVR0OBBYEFFPrSNtWS5JU+Tvi6ABV231XbjbEMA4GA1UdDwEB/wQEAwIBhjAK\nBggqhkjOPQQDAwNoADBlAjEA+a7hF1IrNkBd2N/l7IQYAQw8chnRZDzh4wiGsZsC\n6A83maaKFWUKIb3qZYXFSi02AjAbp3wxH3myAmF8WekDHhKcC2zDvyOiKLkg9Y6v\nZVmyMR043dscQbcsVoacOYv198c=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIICtDCCAjqgAwIBAgIRAPhVkIsQ51JFhD2kjFK5uAkwCgYIKoZIzj0EAwMwgZkx\nCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMu\nMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTEyMDAGA1UEAwwpQW1h\nem9uIFJEUyBldS1jZW50cmFsLTIgUm9vdCBDQSBFQ0MzODQgRzExEDAOBgNVBAcM\nB1NlYXR0bGUwIBcNMjIwNjA2MjEyOTE3WhgPMjEyMjA2MDYyMjI5MTdaMIGZMQsw\nCQYDVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjET\nMBEGA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExMjAwBgNVBAMMKUFtYXpv\nbiBSRFMgZXUtY2VudHJhbC0yIFJvb3QgQ0EgRUNDMzg0IEcxMRAwDgYDVQQHDAdT\nZWF0dGxlMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEA5xnIEBtG5b2nmbj49UEwQza\nyX0844fXjccYzZ8xCDUe9dS2XOUi0aZlGblgSe/3lwjg8fMcKXLObGGQfgIx1+5h\nAIBjORis/dlyN5q/yH4U5sjS8tcR0GDGVHrsRUZCo0IwQDAPBgNVHRMBAf8EBTAD\nAQH/MB0GA1UdDgQWBBRK+lSGutXf4DkTjR3WNfv4+KeNFTAOBgNVHQ8BAf8EBAMC\nAYYwCgYIKoZIzj0EAwMDaAAwZQIxAJ4NxQ1Gerqr70ZrnUqc62Vl8NNqTzInamCG\nKce3FTsMWbS9qkgrjZkO9QqOcGIw/gIwSLrwUT+PKr9+H9eHyGvpq9/3AIYSnFkb\nCf3dyWPiLKoAtLFwjzB/CkJlsAS1c8dS\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIF/jCCA+agAwIBAgIQGZH12Q7x41qIh9vDu9ikTjANBgkqhkiG9w0BAQwFADCB\nlzELMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIElu\nYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTAwLgYDVQQDDCdB\nbWF6b24gUkRTIGV1LXdlc3QtMyBSb290IENBIFJTQTQwOTYgRzExEDAOBgNVBAcM\nB1NlYXR0bGUwIBcNMjEwNTI1MjIyMjMzWhgPMjEyMTA1MjUyMzIyMzNaMIGXMQsw\nCQYDVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjET\nMBEGA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExMDAuBgNVBAMMJ0FtYXpv\nbiBSRFMgZXUtd2VzdC0zIFJvb3QgQ0EgUlNBNDA5NiBHMTEQMA4GA1UEBwwHU2Vh\ndHRsZTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMqE47sHXWzdpuqj\nJHb+6jM9tDbQLDFnYjDWpq4VpLPZhb7xPNh9gnYYTPKG4avG421EblAHqzy9D2pN\n1z90yKbIfUb/Sy2MhQbmZomsObhONEra06fJ0Dydyjswf1iYRp2kwpx5AgkVoNo7\n3dlws73zFjD7ImKvUx2C7B75bhnw2pJWkFnGcswl8fZt9B5Yt95sFOKEz2MSJE91\nkZlHtya19OUxZ/cSGci4MlOySzqzbGwUqGxEIDlY8I39VMwXaYQ8uXUN4G780VcL\nu46FeyRGxZGz2n3hMc805WAA1V5uir87vuirTvoSVREET97HVRGVVNJJ/FM6GXr1\nVKtptybbo81nefYJg9KBysxAa2Ao2x2ry/2ZxwhS6VZ6v1+90bpZA1BIYFEDXXn/\ndW07HSCFnYSlgPtSc+Muh15mdr94LspYeDqNIierK9i4tB6ep7llJAnq0BU91fM2\nJPeqyoTtc3m06QhLf68ccSxO4l8Hmq9kLSHO7UXgtdjfRVaffngopTNk8qK7bIb7\nLrgkqhiQw/PRCZjUdyXL153/fUcsj9nFNe25gM4vcFYwH6c5trd2tUl31NTi1MfG\nMgp3d2dqxQBIYANkEjtBDMy3SqQLIo9EymqmVP8xx2A/gCBgaxvMAsI6FSWRoC7+\nhqJ8XH4mFnXSHKtYMe6WPY+/XZgtAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8w\nHQYDVR0OBBYEFIkXqTnllT/VJnI2NqipA4XV8rh1MA4GA1UdDwEB/wQEAwIBhjAN\nBgkqhkiG9w0BAQwFAAOCAgEAKjSle8eenGeHgT8pltWCw/HzWyQruVKhfYIBfKJd\nMhV4EnH5BK7LxBIvpXGsFUrb0ThzSw0fn0zoA9jBs3i/Sj6KyeZ9qUF6b8ycDXd+\nwHonmJiQ7nk7UuMefaYAfs06vosgl1rI7eBHC0itexIQmKh0aX+821l4GEgEoSMf\nloMFTLXv2w36fPHHCsZ67ODldgcZbKNnpCTX0YrCwEYO3Pz/L398btiRcWGrewrK\njdxAAyietra8DRno1Zl87685tfqc6HsL9v8rVw58clAo9XAQvT+fmSOFw/PogRZ7\nOMHUat3gu/uQ1M5S64nkLLFsKu7jzudBuoNmcJysPlzIbqJ7vYc82OUGe9ucF3wi\n3tbKQ983hdJiTExVRBLX/fYjPsGbG3JtPTv89eg2tjWHlPhCDMMxyRKl6isu2RTq\n6VT489Z2zQrC33MYF8ZqO1NKjtyMAMIZwxVu4cGLkVsqFmEV2ScDHa5RadDyD3Ok\nm+mqybhvEVm5tPgY6p0ILPMN3yvJsMSPSvuBXhO/X5ppNnpw9gnxpwbjQKNhkFaG\nM5pkADZ14uRguOLM4VthSwUSEAr5VQYCFZhEwK+UOyJAGiB/nJz6IxL5XBNUXmRM\nHl8Xvz4riq48LMQbjcVQj0XvH941yPh+P8xOi00SGaQRaWp55Vyr4YKGbV0mEDz1\nr1o=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIF/zCCA+egAwIBAgIRAKwYju1QWxUZpn6D1gOtwgQwDQYJKoZIhvcNAQEMBQAw\ngZcxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ\nbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTEwMC4GA1UEAwwn\nQW1hem9uIFJEUyBldS13ZXN0LTEgUm9vdCBDQSBSU0E0MDk2IEcxMRAwDgYDVQQH\nDAdTZWF0dGxlMCAXDTIxMDUyMDE2NTM1NFoYDzIxMjEwNTIwMTc1MzU0WjCBlzEL\nMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x\nEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTAwLgYDVQQDDCdBbWF6\nb24gUkRTIGV1LXdlc3QtMSBSb290IENBIFJTQTQwOTYgRzExEDAOBgNVBAcMB1Nl\nYXR0bGUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCKdBP1U4lqWWkc\nCb25/BKRTsvNVnISiKocva8GAzJyKfcGRa85gmgu41U+Hz6+39K+XkRfM0YS4BvQ\nF1XxWT0bNyypuvwCvmYShSTjN1TY0ltncDddahTajE/4MdSOZb/c98u0yt03cH+G\nhVwRyT50h0v/UEol50VfwcVAEZEgcQQYhf1IFUFlIvKpmDOqLuFakOnc7c9akK+i\nivST+JO1tgowbnNkn2iLlSSgUWgb1gjaOsNfysagv1RXdlyPw3EyfwkFifAQvF2P\nQ0ayYZfYS640cccv7efM1MSVyFHR9PrrDsF/zr2S2sGPbeHr7R/HwLl+S5J/l9N9\ny0rk6IHAWV4dEkOvgpnuJKURwA48iu1Hhi9e4moNS6eqoK2KmY3VFpuiyWcA73nH\nGSmyaH+YuMrF7Fnuu7GEHZL/o6+F5cL3mj2SJJhL7sz0ryf5Cs5R4yN9BIEj/f49\nwh84pM6nexoI0Q4wiSFCxWiBpjSmOK6h7z6+2utaB5p20XDZHhxAlmlx4vMuWtjh\nXckgRFxc+ZpVMU3cAHUpVEoO49e/+qKEpPzp8Xg4cToKw2+AfTk3cmyyXQfGwXMQ\nZUHNZ3w9ILMWihGCM2aGUsLcGDRennvNmnmin/SENsOQ8Ku0/a3teEzwV9cmmdYz\n5iYs1YtgPvKFobY6+T2RXXh+A5kprwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/\nMB0GA1UdDgQWBBSyUrsQVnKmA8z6/2Ech0rCvqpNmTAOBgNVHQ8BAf8EBAMCAYYw\nDQYJKoZIhvcNAQEMBQADggIBAFlj3IFmgiFz5lvTzFTRizhVofhTJsGr14Yfkuc7\nUrXPuXOwJomd4uot2d/VIeGJpfnuS84qGdmQyGewGTJ9inatHsGZgHl9NHNWRwKZ\nlTKTbBiq7aqgtUSFa06v202wpzU+1kadxJJePrbABxiXVfOmIW/a1a4hPNcT3syH\nFIEg1+CGsp71UNjBuwg3JTKWna0sLSKcxLOSOvX1fzxK5djzVpEsvQMB4PSAzXca\nvENgg2ErTwgTA+4s6rRtiBF9pAusN1QVuBahYP3ftrY6f3ycS4K65GnqscyfvKt5\nYgjtEKO3ZeeX8NpubMbzC+0Z6tVKfPFk/9TXuJtwvVeqow0YMrLLyRiYvK7EzJ97\nrrkxoKnHYQSZ+rH2tZ5SE392/rfk1PJL0cdHnkpDkUDO+8cKsFjjYKAQSNC52sKX\n74AVh6wMwxYwVZZJf2/2XxkjMWWhKNejsZhUkTISSmiLs+qPe3L67IM7GyKm9/m6\nR3r8x6NGjhTsKH64iYJg7AeKeax4b2e4hBb6GXFftyOs7unpEOIVkJJgM6gh3mwn\nR7v4gwFbLKADKt1vHuerSZMiTuNTGhSfCeDM53XI/mjZl2HeuCKP1mCDLlaO+gZR\nQ/G+E0sBKgEX4xTkAc3kgkuQGfExdGtnN2U2ehF80lBHB8+2y2E+xWWXih/ZyIcW\nwOx+\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIGBDCCA+ygAwIBAgIQM4C8g5iFRucSWdC8EdqHeDANBgkqhkiG9w0BAQwFADCB\nmjELMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIElu\nYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTMwMQYDVQQDDCpB\nbWF6b24gUkRTIGV1LWNlbnRyYWwtMSBSb290IENBIFJTQTQwOTYgRzExEDAOBgNV\nBAcMB1NlYXR0bGUwIBcNMjEwNTIxMjIyODI2WhgPMjEyMTA1MjEyMzI4MjZaMIGa\nMQswCQYDVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5j\nLjETMBEGA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExMzAxBgNVBAMMKkFt\nYXpvbiBSRFMgZXUtY2VudHJhbC0xIFJvb3QgQ0EgUlNBNDA5NiBHMTEQMA4GA1UE\nBwwHU2VhdHRsZTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANeTsD/u\n6saPiY4Sg0GlJlMXMBltnrcGAEkwq34OKQ0bCXqcoNJ2rcAMmuFC5x9Ho1Y3YzB7\nNO2GpIh6bZaO76GzSv4cnimcv9n/sQSYXsGbPD+bAtnN/RvNW1avt4C0q0/ghgF1\nVFS8JihIrgPYIArAmDtGNEdl5PUrdi9y6QGggbRfidMDdxlRdZBe1C18ZdgERSEv\nUgSTPRlVczONG5qcQkUGCH83MMqL5MKQiby/Br5ZyPq6rxQMwRnQ7tROuElzyYzL\n7d6kke+PNzG1mYy4cbYdjebwANCtZ2qYRSUHAQsOgybRcSoarv2xqcjO9cEsDiRU\nl97ToadGYa4VVERuTaNZxQwrld4mvzpyKuirqZltOqg0eoy8VUsaRPL3dc5aChR0\ndSrBgRYmSAClcR2/2ZCWpXemikwgt031Dsc0A/+TmVurrsqszwbr0e5xqMow9LzO\nMI/JtLd0VFtoOkL/7GG2tN8a+7gnLFxpv+AQ0DH5n4k/BY/IyS+H1erqSJhOTQ11\nvDOFTM5YplB9hWV9fp5PRs54ILlHTlZLpWGs3I2BrJwzRtg/rOlvsosqcge9ryai\nAKm2j+JBg5wJ19R8oxRy8cfrNTftZePpISaLTyV2B16w/GsSjqixjTQe9LRN2DHk\ncC+HPqYyzW2a3pUVyTGHhW6a7YsPBs9yzt6hAgMBAAGjQjBAMA8GA1UdEwEB/wQF\nMAMBAf8wHQYDVR0OBBYEFIqA8QkOs2cSirOpCuKuOh9VDfJfMA4GA1UdDwEB/wQE\nAwIBhjANBgkqhkiG9w0BAQwFAAOCAgEAOUI90mEIsa+vNJku0iUwdBMnHiO4gm7E\n5JloP7JG0xUr7d0hypDorMM3zVDAL+aZRHsq8n934Cywj7qEp1304UF6538ByGdz\ntkfacJsUSYfdlNJE9KbA4T+U+7SNhj9jvePpVjdQbhgzxITE9f8CxY/eM40yluJJ\nPhbaWvOiRagzo74wttlcDerzLT6Y/JrVpWhnB7IY8HvzK+BwAdaCsBUPC3HF+kth\nCIqLq7J3YArTToejWZAp5OOI6DLPM1MEudyoejL02w0jq0CChmZ5i55ElEMnapRX\n7GQTARHmjgAOqa95FjbHEZzRPqZ72AtZAWKFcYFNk+grXSeWiDgPFOsq6mDg8DDB\n0kfbYwKLFFCC9YFmYzR2YrWw2NxAScccUc2chOWAoSNHiqBbHR8ofrlJSWrtmKqd\nYRCXzn8wqXnTS3NNHNccqJ6dN+iMr9NGnytw8zwwSchiev53Fpc1mGrJ7BKTWH0t\nZrA6m32wzpMymtKozlOPYoE5mtZEzrzHEXfa44Rns7XIHxVQSXVWyBHLtIsZOrvW\nU5F41rQaFEpEeUQ7sQvqUoISfTUVRNDn6GK6YaccEhCji14APLFIvhRQUDyYMIiM\n4vll0F/xgVRHTgDVQ8b8sxdhSYlqB4Wc2Ym41YRz+X2yPqk3typEZBpc4P5Tt1/N\n89cEIGdbjsA=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIEADCCAuigAwIBAgIQYjbPSg4+RNRD3zNxO1fuKDANBgkqhkiG9w0BAQsFADCB\nmDELMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIElu\nYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTEwLwYDVQQDDChB\nbWF6b24gUkRTIGV1LW5vcnRoLTEgUm9vdCBDQSBSU0EyMDQ4IEcxMRAwDgYDVQQH\nDAdTZWF0dGxlMCAXDTIxMDUyNDIwNTkyMVoYDzIwNjEwNTI0MjE1OTIxWjCBmDEL\nMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x\nEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTEwLwYDVQQDDChBbWF6\nb24gUkRTIGV1LW5vcnRoLTEgUm9vdCBDQSBSU0EyMDQ4IEcxMRAwDgYDVQQHDAdT\nZWF0dGxlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA179eQHxcV0YL\nXMkqEmhSBazHhnRVd8yICbMq82PitE3BZcnv1Z5Zs/oOgNmMkOKae4tCXO/41JCX\nwAgbs/eWWi+nnCfpQ/FqbLPg0h3dqzAgeszQyNl9IzTzX4Nd7JFRBVJXPIIKzlRf\n+GmFsAhi3rYgDgO27pz3ciahVSN+CuACIRYnA0K0s9lhYdddmrW/SYeWyoB7jPa2\nLmWpAs7bDOgS4LlP2H3eFepBPgNufRytSQUVA8f58lsE5w25vNiUSnrdlvDrIU5n\nQwzc7NIZCx4qJpRbSKWrUtbyJriWfAkGU7i0IoainHLn0eHp9bWkwb9D+C/tMk1X\nERZw2PDGkwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSFmR7s\ndAblusFN+xhf1ae0KUqhWTAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQAD\nggEBAHsXOpjPMyH9lDhPM61zYdja1ebcMVgfUvsDvt+w0xKMKPhBzYDMs/cFOi1N\nQ8LV79VNNfI2NuvFmGygcvTIR+4h0pqqZ+wjWl3Kk5jVxCrbHg3RBX02QLumKd/i\nkwGcEtTUvTssn3SM8bgM0/1BDXgImZPC567ciLvWDo0s/Fe9dJJC3E0G7d/4s09n\nOMdextcxFuWBZrBm/KK3QF0ByA8MG3//VXaGO9OIeeOJCpWn1G1PjT1UklYhkg61\nEbsTiZVA2DLd1BGzfU4o4M5mo68l0msse/ndR1nEY6IywwpgIFue7+rEleDh6b9d\nPYkG1rHVw2I0XDG4o17aOn5E94I=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIEADCCAuigAwIBAgIQC6W4HFghUkkgyQw14a6JljANBgkqhkiG9w0BAQsFADCB\nmDELMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIElu\nYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTEwLwYDVQQDDChB\nbWF6b24gUkRTIGV1LXNvdXRoLTIgUm9vdCBDQSBSU0EyMDQ4IEcxMRAwDgYDVQQH\nDAdTZWF0dGxlMCAXDTIyMDUyMzE4MTYzMloYDzIwNjIwNTIzMTkxNjMyWjCBmDEL\nMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x\nEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTEwLwYDVQQDDChBbWF6\nb24gUkRTIGV1LXNvdXRoLTIgUm9vdCBDQSBSU0EyMDQ4IEcxMRAwDgYDVQQHDAdT\nZWF0dGxlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAiM/t4FV2R9Nx\nUQG203UY83jInTa/6TMq0SPyg617FqYZxvz2kkx09x3dmxepUg9ttGMlPgjsRZM5\nLCFEi1FWk+hxHzt7vAdhHES5tdjwds3aIkgNEillmRDVrUsbrDwufLaa+MMDO2E1\nwQ/JYFXw16WBCCi2g1EtyQ2Xp+tZDX5IWOTnvhZpW8vVDptZ2AcJ5rMhfOYO3OsK\n5EF0GGA5ldzuezP+BkrBYGJ4wVKGxeaq9+5AT8iVZrypjwRkD7Y5CurywK3+aBwm\ns9Q5Nd8t45JCOUzYp92rFKsCriD86n/JnEvgDfdP6Hvtm0/DkwXK40Wz2q0Zrd0k\nmjP054NRPwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRR7yqd\nSfKcX2Q8GzhcVucReIpewTAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQAD\nggEBAEszBRDwXcZyNm07VcFwI1Im94oKwKccuKYeJEsizTBsVon8VpEiMwDs+yGu\n3p8kBhvkLwWybkD/vv6McH7T5b9jDX2DoOudqYnnaYeypsPH/00Vh3LvKagqzQza\norWLx+0tLo8xW4BtU+Wrn3JId8LvAhxyYXTn9bm+EwPcStp8xGLwu53OPD1RXYuy\nuu+3ps/2piP7GVfou7H6PRaqbFHNfiGg6Y+WA0HGHiJzn8uLmrRJ5YRdIOOG9/xi\nqTmAZloUNM7VNuurcMM2hWF494tQpsQ6ysg2qPjbBqzlGoOt3GfBTOZmqmwmqtam\nK7juWM/mdMQAJ3SMlE5wI8nVdx4=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIICrjCCAjSgAwIBAgIRAL9SdzVPcpq7GOpvdGoM80IwCgYIKoZIzj0EAwMwgZYx\nCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMu\nMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTEvMC0GA1UEAwwmQW1h\nem9uIFJEUyBldS13ZXN0LTEgUm9vdCBDQSBFQ0MzODQgRzExEDAOBgNVBAcMB1Nl\nYXR0bGUwIBcNMjEwNTIwMTY1ODA3WhgPMjEyMTA1MjAxNzU4MDdaMIGWMQswCQYD\nVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjETMBEG\nA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExLzAtBgNVBAMMJkFtYXpvbiBS\nRFMgZXUtd2VzdC0xIFJvb3QgQ0EgRUNDMzg0IEcxMRAwDgYDVQQHDAdTZWF0dGxl\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEJWDgXebvwjR+Ce+hxKOLbnsfN5W5dOlP\nZn8kwWnD+SLkU81Eac/BDJsXGrMk6jFD1vg16PEkoSevsuYWlC8xR6FmT6F6pmeh\nfsMGOyJpfK4fyoEPhKeQoT23lFIc5Orjo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0G\nA1UdDgQWBBSVNAN1CHAz0eZ77qz2adeqjm31TzAOBgNVHQ8BAf8EBAMCAYYwCgYI\nKoZIzj0EAwMDaAAwZQIxAMlQeHbcjor49jqmcJ9gRLWdEWpXG8thIf6zfYQ/OEAg\nd7GDh4fR/OUk0VfjsBUN/gIwZB0bGdXvK38s6AAE/9IT051cz/wMe9GIrX1MnL1T\n1F5OqnXJdiwfZRRTHsRQ/L00\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIGBDCCA+ygAwIBAgIQalr16vDfX4Rsr+gfQ4iVFDANBgkqhkiG9w0BAQwFADCB\nmjELMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIElu\nYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTMwMQYDVQQDDCpB\nbWF6b24gUkRTIGV1LWNlbnRyYWwtMiBSb290IENBIFJTQTQwOTYgRzExEDAOBgNV\nBAcMB1NlYXR0bGUwIBcNMjIwNjA2MjEyNTIzWhgPMjEyMjA2MDYyMjI1MjNaMIGa\nMQswCQYDVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5j\nLjETMBEGA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExMzAxBgNVBAMMKkFt\nYXpvbiBSRFMgZXUtY2VudHJhbC0yIFJvb3QgQ0EgUlNBNDA5NiBHMTEQMA4GA1UE\nBwwHU2VhdHRsZTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANbHbFg7\n2VhZor1YNtez0VlNFaobS3PwOMcEn45BE3y7HONnElIIWXGQa0811M8V2FnyqnE8\nZ5aO1EuvijvWf/3D8DPZkdmAkIfh5hlZYY6Aatr65kEOckwIAm7ZZzrwFogYuaFC\nz/q0CW+8gxNK+98H/zeFx+IxiVoPPPX6UlrLvn+R6XYNERyHMLNgoZbbS5gGHk43\nKhENVv3AWCCcCc85O4rVd+DGb2vMVt6IzXdTQt6Kih28+RGph+WDwYmf+3txTYr8\nxMcCBt1+whyCPlMbC+Yn/ivtCO4LRf0MPZDRQrqTTrFf0h/V0BGEUmMGwuKgmzf5\nKl9ILdWv6S956ioZin2WgAxhcn7+z//sN++zkqLreSf90Vgv+A7xPRqIpTdJ/nWG\nJaAOUofBfsDsk4X4SUFE7xJa1FZAiu2lqB/E+y7jnWOvFRalzxVJ2Y+D/ZfUfrnK\n4pfKtyD1C6ni1celrZrAwLrJ3PoXPSg4aJKh8+CHex477SRsGj8KP19FG8r0P5AG\n8lS1V+enFCNvT5KqEBpDZ/Y5SQAhAYFUX+zH4/n4ql0l/emS+x23kSRrF+yMkB9q\nlhC/fMk6Pi3tICBjrDQ8XAxv56hfud9w6+/ljYB2uQ1iUYtlE3JdIiuE+3ws26O8\ni7PLMD9zQmo+sVi12pLHfBHQ6RRHtdVRXbXRAgMBAAGjQjBAMA8GA1UdEwEB/wQF\nMAMBAf8wHQYDVR0OBBYEFBFot08ipEL9ZUXCG4lagmF53C0/MA4GA1UdDwEB/wQE\nAwIBhjANBgkqhkiG9w0BAQwFAAOCAgEAi2mcZi6cpaeqJ10xzMY0F3L2eOKYnlEQ\nh6QyhmNKCUF05q5u+cok5KtznzqMwy7TFOZtbVHl8uUX+xvgq/MQCxqFAnuStBXm\ngr2dg1h509ZwvTdk7TDxGdftvPCfnPNJBFbMSq4CZtNcOFBg9Rj8c3Yj+Qvwd56V\nzWs65BUkDNJrXmxdvhJZjUkMa9vi/oFN+M84xXeZTaC5YDYNZZeW9706QqDbAVES\n5ulvKLavB8waLI/lhRBK5/k0YykCMl0A8Togt8D1QsQ0eWWbIM8/HYJMPVFhJ8Wj\nvT1p/YVeDA3Bo1iKDOttgC5vILf5Rw1ZEeDxjf/r8A7VS13D3OLjBmc31zxRTs3n\nXvHKP9MieQHn9GE44tEYPjK3/yC6BDFzCBlvccYHmqGb+jvDEXEBXKzimdC9mcDl\nf4BBQWGJBH5jkbU9p6iti19L/zHhz7qU6UJWbxY40w92L9jS9Utljh4A0LCTjlnR\nNQUgjnGC6K+jkw8hj0LTC5Ip87oqoT9w7Av5EJ3VJ4hcnmNMXJJ1DkWYdnytcGpO\nDMVITQzzDZRwhbitCVPHagTN2wdi9TEuYE33J0VmFeTc6FSI50wP2aOAZ0Q1/8Aj\nbxeM5jS25eaHc2CQAuhrc/7GLnxOcPwdWQb2XWT8eHudhMnoRikVv/KSK3mf6om4\n1YfpdH2jp30=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIID/jCCAuagAwIBAgIQTDc+UgTRtYO7ZGTQ8UWKDDANBgkqhkiG9w0BAQsFADCB\nlzELMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIElu\nYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTAwLgYDVQQDDCdB\nbWF6b24gUkRTIGV1LXdlc3QtMiBSb290IENBIFJTQTIwNDggRzExEDAOBgNVBAcM\nB1NlYXR0bGUwIBcNMjEwNTIxMjI0NjI0WhgPMjA2MTA1MjEyMzQ2MjRaMIGXMQsw\nCQYDVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjET\nMBEGA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExMDAuBgNVBAMMJ0FtYXpv\nbiBSRFMgZXUtd2VzdC0yIFJvb3QgQ0EgUlNBMjA0OCBHMTEQMA4GA1UEBwwHU2Vh\ndHRsZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM1oGtthQ1YiVIC2\ni4u4swMAGxAjc/BZp0yq0eP5ZQFaxnxs7zFAPabEWsrjeDzrRhdVO0h7zskrertP\ngblGhfD20JfjvCHdP1RUhy/nzG+T+hn6Takan/GIgs8grlBMRHMgBYHW7tklhjaH\n3F7LujhceAHhhgp6IOrpb6YTaTTaJbF3GTmkqxSJ3l1LtEoWz8Al/nL/Ftzxrtez\nVs6ebpvd7sw37sxmXBWX2OlvUrPCTmladw9OrllGXtCFw4YyLe3zozBlZ3cHzQ0q\nlINhpRcajTMfZrsiGCkQtoJT+AqVJPS2sHjqsEH8yiySW9Jbq4zyMbM1yqQ2vnnx\nMJgoYMcCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUaQG88UnV\nJPTI+Pcti1P+q3H7pGYwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4IB\nAQBAkgr75V0sEJimC6QRiTVWEuj2Khy7unjSfudbM6zumhXEU2/sUaVLiYy6cA/x\n3v0laDle6T07x9g64j5YastE/4jbzrGgIINFlY0JnaYmR3KZEjgi1s1fkRRf3llL\nPJm9u4Q1mbwAMQK/ZjLuuRcL3uRIHJek18nRqT5h43GB26qXyvJqeYYpYfIjL9+/\nYiZAbSRRZG+Li23cmPWrbA1CJY121SB+WybCbysbOXzhD3Sl2KSZRwSw4p2HrFtV\n1Prk0dOBtZxCG9luf87ultuDZpfS0w6oNBAMXocgswk24ylcADkkFxBWW+7BETn1\nEpK+t1Lm37mU4sxtuha00XAi\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIEADCCAuigAwIBAgIQcY44/8NUvBwr6LlHfRy7KjANBgkqhkiG9w0BAQsFADCB\nmDELMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIElu\nYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTEwLwYDVQQDDChB\nbWF6b24gUkRTIGV1LXNvdXRoLTEgUm9vdCBDQSBSU0EyMDQ4IEcxMRAwDgYDVQQH\nDAdTZWF0dGxlMCAXDTIxMDUxOTE4MjcxOFoYDzIwNjEwNTE5MTkyNzE4WjCBmDEL\nMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x\nEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTEwLwYDVQQDDChBbWF6\nb24gUkRTIGV1LXNvdXRoLTEgUm9vdCBDQSBSU0EyMDQ4IEcxMRAwDgYDVQQHDAdT\nZWF0dGxlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0UaBeC+Usalu\nEtXnV7+PnH+gi7/71tI/jkKVGKuhD2JDVvqLVoqbMHRh3+wGMvqKCjbHPcC2XMWv\n566fpAj4UZ9CLB5fVzss+QVNTl+FH2XhEzigopp+872ajsNzcZxrMkifxGb4i0U+\nt0Zi+UrbL5tsfP2JonKR1crOrbS6/DlzHBjIiJazGOQcMsJjNuTOItLbMohLpraA\n/nApa3kOvI7Ufool1/34MG0+wL3UUA4YkZ6oBJVxjZvvs6tI7Lzz/SnhK2widGdc\nsnbLqBpHNIZQSorVoiwcFaRBGYX/uzYkiw44Yfa4cK2V/B5zgu1Fbr0gbI2am4eh\nyVYyg4jPawIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBS9gM1m\nIIjyh9O5H/7Vj0R/akI7UzAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQAD\nggEBAF0Sm9HC2AUyedBVnwgkVXMibnYChOzz7T+0Y+fOLXYAEXex2s8oqGeZdGYX\nJHkjBn7JXu7LM+TpTbPbFFDoc1sgMguD/ls+8XsqAl1CssW+amryIL+jfcfbgQ+P\nICwEUD9hGdjBgJ5WcuS+qqxHsEIlFNci3HxcxfBa9VsWs5TjI7Vsl4meL5lf7ZyL\nwDV7dHRuU+cImqG1MIvPRIlvPnT7EghrCYi2VCPhP2pM/UvShuwVnkz4MJ29ebIk\nWR9kpblFxFdE92D5UUvMCjC2kmtgzNiErvTcwIvOO9YCbBHzRB1fFiWrXUHhJWq9\nIkaxR5icb/IpAV0A1lYZEWMVsfQ=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIGATCCA+mgAwIBAgIRAMa0TPL+QgbWfUPpYXQkf8wwDQYJKoZIhvcNAQEMBQAw\ngZgxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ\nbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTExMC8GA1UEAwwo\nQW1hem9uIFJEUyBldS1ub3J0aC0xIFJvb3QgQ0EgUlNBNDA5NiBHMTEQMA4GA1UE\nBwwHU2VhdHRsZTAgFw0yMTA1MjQyMTAzMjBaGA8yMTIxMDUyNDIyMDMyMFowgZgx\nCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMu\nMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTExMC8GA1UEAwwoQW1h\nem9uIFJEUyBldS1ub3J0aC0xIFJvb3QgQ0EgUlNBNDA5NiBHMTEQMA4GA1UEBwwH\nU2VhdHRsZTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANhS9LJVJyWp\n6Rudy9t47y6kzvgnFYDrvJVtgEK0vFn5ifdlHE7xqMz4LZqWBFTnS+3oidwVRqo7\ntqsuuElsouStO8m315/YUzKZEPmkw8h5ufWt/lg3NTCoUZNkB4p4skr7TspyMUwE\nVdlKQuWTCOLtofwmWT+BnFF3To6xTh3XPlT3ssancw27Gob8kJegD7E0TSMVsecP\nB8je65+3b8CGwcD3QB3kCTGLy87tXuS2+07pncHvjMRMBdDQQQqhXWsRSeUNg0IP\nxdHTWcuwMldYPWK5zus9M4dCNBDlmZjKdcZZVUOKeBBAm7Uo7CbJCk8r/Fvfr6mw\nnXXDtuWhqn/WhJiI/y0QU27M+Hy5CQMxBwFsfAjJkByBpdXmyYxUgTmMpLf43p7H\noWfH1xN0cT0OQEVmAQjMakauow4AQLNkilV+X6uAAu3STQVFRSrpvMen9Xx3EPC3\nG9flHueTa71bU65Xe8ZmEmFhGeFYHY0GrNPAFhq9RThPRY0IPyCZe0Th8uGejkek\njQjm0FHPOqs5jc8CD8eJs4jSEFt9lasFLVDcAhx0FkacLKQjGHvKAnnbRwhN/dF3\nxt4oL8Z4JGPCLau056gKnYaEyviN7PgO+IFIVOVIdKEBu2ASGE8/+QJB5bcHefNj\n04hEkDW0UYJbSfPpVbGAR0gFI/QpycKnAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMB\nAf8wHQYDVR0OBBYEFFMXvvjoaGGUcul8GA3FT05DLbZcMA4GA1UdDwEB/wQEAwIB\nhjANBgkqhkiG9w0BAQwFAAOCAgEAQLwFhd2JKn4K/6salLyIA4mP58qbA/9BTB/r\nD9l0bEwDlVPSdY7R3gZCe6v7SWLfA9RjE5tdWDrQMi5IU6W2OVrVsZS/yGJfwnwe\na/9iUAYprA5QYKDg37h12XhVsDKlYCekHdC+qa5WwB1SL3YUprDLPWeaIQdg+Uh2\n+LxvpZGoxoEbca0fc7flwq9ke/3sXt/3V4wJDyY6AL2YNdjFzC+FtYjHHx8rYxHs\naesP7yunuN17KcfOZBBnSFRrx96k+Xm95VReTEEpwiBqAECqEpMbd+R0mFAayMb1\ncE77GaK5yeC2f67NLYGpkpIoPbO9p9rzoXLE5GpSizMjimnz6QCbXPFAFBDfSzim\nu6azp40kEUO6kWd7rBhqRwLc43D3TtNWQYxMve5mTRG4Od+eMKwYZmQz89BQCeqm\naZiJP9y9uwJw4p/A5V3lYHTDQqzmbOyhGUk6OdpdE8HXs/1ep1xTT20QDYOx3Ekt\nr4mmNYfH/8v9nHNRlYJOqFhmoh1i85IUl5IHhg6OT5ZTTwsGTSxvgQQXrmmHVrgZ\nrZIqyBKllCgVeB9sMEsntn4bGLig7CS/N1y2mYdW/745yCLZv2gj0NXhPqgEIdVV\nf9DhFD4ohE1C63XP0kOQee+LYg/MY5vH8swpCSWxQgX5icv5jVDz8YTdCKgUc5u8\nrM2p0kk=\n-----END CERTIFICATE-----\n"]}});var require_proxies=__commonJS({"node_modules/aws-ssl-profiles/lib/profiles/ca/proxies.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.proxies=void 0;exports2.proxies=["-----BEGIN CERTIFICATE-----\nMIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsF\nADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6\nb24gUm9vdCBDQSAxMB4XDTE1MDUyNjAwMDAwMFoXDTM4MDExNzAwMDAwMFowOTEL\nMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv\nb3QgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJ4gHHKeNXj\nca9HgFB0fW7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo3bSMgHFzZM\n9O6II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI2peVKVuRF4fn9tBb6dNqcmzU5L/qw\nIFAGbHrQgLKm+a/sRxmPUDgH3KKHOVj4utWp+UhnMJbulHheb4mjUcAwhmahRWa6\nVOujw5H5SNz/0egwLX0tdHA114gk957EWW67c4cX8jJGKLhD+rcdqsq08p8kDi1L\n93FcXmn/6pUCyziKrlA4b9v7LWIbxcceVOF34GfID5yHI9Y/QCB/IIDEgEw+OyQm\njgSubJrIqg0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC\nAYYwHQYDVR0OBBYEFIQYzIU07LwMlJQuCFmcx7IQTgoIMA0GCSqGSIb3DQEBCwUA\nA4IBAQCY8jdaQZChGsV2USggNiMOruYou6r4lK5IpDB/G/wkjUu0yKGX9rbxenDI\nU5PMCCjjmCXPI6T53iHTfIUJrU6adTrCC2qJeHZERxhlbI1Bjjt/msv0tadQ1wUs\nN+gDS63pYaACbvXy8MWy7Vu33PqUXHeeE6V/Uq2V8viTO96LXFvKWlJbYK8U90vv\no/ufQJVtMVT8QtPHRh8jrdkPSHCa2XV4cdFyQzR1bldZwgJcJmApzyMZFo6IQ6XU\n5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2xJNDd2ZhwLnoQdeXeGADbkpy\nrqXRfboQnoZsG4q5WTP468SQvvG5\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIFQTCCAymgAwIBAgITBmyf0pY1hp8KD+WGePhbJruKNzANBgkqhkiG9w0BAQwF\nADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6\nb24gUm9vdCBDQSAyMB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTEL\nMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv\nb3QgQ0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK2Wny2cSkxK\ngXlRmeyKy2tgURO8TW0G/LAIjd0ZEGrHJgw12MBvIITplLGbhQPDW9tK6Mj4kHbZ\nW0/jTOgGNk3Mmqw9DJArktQGGWCsN0R5hYGCrVo34A3MnaZMUnbqQ523BNFQ9lXg\n1dKmSYXpN+nKfq5clU1Imj+uIFptiJXZNLhSGkOQsL9sBbm2eLfq0OQ6PBJTYv9K\n8nu+NQWpEjTj82R0Yiw9AElaKP4yRLuH3WUnAnE72kr3H9rN9yFVkE8P7K6C4Z9r\n2UXTu/Bfh+08LDmG2j/e7HJV63mjrdvdfLC6HM783k81ds8P+HgfajZRRidhW+me\nz/CiVX18JYpvL7TFz4QuK/0NURBs+18bvBt+xa47mAExkv8LV/SasrlX6avvDXbR\n8O70zoan4G7ptGmh32n2M8ZpLpcTnqWHsFcQgTfJU7O7f/aS0ZzQGPSSbtqDT6Zj\nmUyl+17vIWR6IF9sZIUVyzfpYgwLKhbcAS4y2j5L9Z469hdAlO+ekQiG+r5jqFoz\n7Mt0Q5X5bGlSNscpb/xVA1wf+5+9R+vnSUeVC06JIglJ4PVhHvG/LopyboBZ/1c6\n+XUyo05f7O0oYtlNc/LMgRdg7c3r3NunysV+Ar3yVAhU/bQtCSwXVEqY0VThUWcI\n0u1ufm8/0i2BWSlmy5A5lREedCf+3euvAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMB\nAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSwDPBMMPQFWAJI/TPlUq9LhONm\nUjANBgkqhkiG9w0BAQwFAAOCAgEAqqiAjw54o+Ci1M3m9Zh6O+oAA7CXDpO8Wqj2\nLIxyh6mx/H9z/WNxeKWHWc8w4Q0QshNabYL1auaAn6AFC2jkR2vHat+2/XcycuUY\n+gn0oJMsXdKMdYV2ZZAMA3m3MSNjrXiDCYZohMr/+c8mmpJ5581LxedhpxfL86kS\nk5Nrp+gvU5LEYFiwzAJRGFuFjWJZY7attN6a+yb3ACfAXVU3dJnJUH/jWS5E4ywl\n7uxMMne0nxrpS10gxdr9HIcWxkPo1LsmmkVwXqkLN1PiRnsn/eBG8om3zEK2yygm\nbtmlyTrIQRNg91CMFa6ybRoVGld45pIq2WWQgj9sAq+uEjonljYE1x2igGOpm/Hl\nurR8FLBOybEfdF849lHqm/osohHUqS0nGkWxr7JOcQ3AWEbWaQbLU8uz/mtBzUF+\nfUwPfHJ5elnNXkoOrJupmHN5fLT0zLm4BwyydFy4x2+IoZCn9Kr5v2c69BoVYh63\nn749sSmvZ6ES8lgQGVMDMBu4Gon2nL2XA46jCfMdiyHxtN/kHNGfZQIG6lzWE7OE\n76KlXIx3KadowGuuQNKotOrN8I1LOJwZmhsoVLiJkO/KdYE+HvJkJMcYr07/R54H\n9jVlpNMKVv/1F2Rs76giJUmTtt8AF9pYfl3uxRuw0dFfIRDH+fO6AgonB8Xx1sfT\n4PsJYGw=\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIBtjCCAVugAwIBAgITBmyf1XSXNmY/Owua2eiedgPySjAKBggqhkjOPQQDAjA5\nMQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g\nUm9vdCBDQSAzMB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkG\nA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJvb3Qg\nQ0EgMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCmXp8ZBf8ANm+gBG1bG8lKl\nui2yEujSLtf6ycXYqm0fc4E7O5hrOXwzpcVOho6AF2hiRVd9RFgdszflZwjrZt6j\nQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSr\nttvXBp43rDCGB5Fwx5zEGbF4wDAKBggqhkjOPQQDAgNJADBGAiEA4IWSoxe3jfkr\nBqWTrBqYaGFy+uGh0PsceGCmQ5nFuMQCIQCcAu/xlJyzlvnrxir4tiz+OpAUFteM\nYyRIHN8wfdVoOw==\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIB8jCCAXigAwIBAgITBmyf18G7EEwpQ+Vxe3ssyBrBDjAKBggqhkjOPQQDAzA5\nMQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g\nUm9vdCBDQSA0MB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkG\nA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJvb3Qg\nQ0EgNDB2MBAGByqGSM49AgEGBSuBBAAiA2IABNKrijdPo1MN/sGKe0uoe0ZLY7Bi\n9i0b2whxIdIA6GO9mif78DluXeo9pcmBqqNbIJhFXRbb/egQbeOc4OO9X4Ri83Bk\nM6DLJC9wuoihKqB1+IGuYgbEgds5bimwHvouXKNCMEAwDwYDVR0TAQH/BAUwAwEB\n/zAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEFNPsxzplbszh2naaVvuc84ZtV+WB\nMAoGCCqGSM49BAMDA2gAMGUCMDqLIfG9fhGt0O9Yli/W651+kI0rz2ZVwyzjKKlw\nCkcO8DdZEv8tmZQoTipPNU0zWgIxAOp1AE47xDqUEpHJWEadIRNyp4iciuRMStuW\n1KyLa2tJElMzrdfkviT8tQp21KW8EA==\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMx\nEDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT\nHFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVs\nZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5\nMDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNVBAYTAlVTMRAwDgYD\nVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFy\nZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2Vy\ndmljZXMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI\nhvcNAQEBBQADggEPADCCAQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20p\nOsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm2\n8xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4PahHQUw2eeBGg6345AWh1K\nTs9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLPLJGmpufe\nhRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk\n6mFBrMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAw\nDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+q\nAdcwKziIorhtSpzyEZGDMA0GCSqGSIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMI\nbw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPPE95Dz+I0swSdHynVv/heyNXB\nve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTyxQGjhdByPq1z\nqwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd\niEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn\n0q23KXB56jzaYyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCN\nsSi6\n-----END CERTIFICATE-----\n"]}});var require_lib5=__commonJS({"node_modules/aws-ssl-profiles/lib/index.js"(exports2,module2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});var defaults_js_1=require_defaults();var proxies_js_1=require_proxies();var proxyBundle={ca:proxies_js_1.proxies};var profiles={ca:[...defaults_js_1.defaults,...proxies_js_1.proxies]};module2.exports=profiles;module2.exports.proxyBundle=proxyBundle;module2.exports.default=profiles}});var require_ssl_profiles=__commonJS({"node_modules/mysql2/lib/constants/ssl_profiles.js"(exports2){"use strict";var awsCaBundle=require_lib5();exports2["Amazon RDS"]={ca:awsCaBundle.ca}}});var require_connection_config=__commonJS({"node_modules/mysql2/lib/connection_config.js"(exports2,module2){"use strict";var{URL:URL3}=require("url");var ClientConstants=require_client();var Charsets=require_charsets();var{version}=require_package2();var SSLProfiles=null;var validOptions={authPlugins:1,authSwitchHandler:1,bigNumberStrings:1,charset:1,charsetNumber:1,compress:1,connectAttributes:1,connectTimeout:1,database:1,dateStrings:1,debug:1,decimalNumbers:1,enableKeepAlive:1,flags:1,host:1,insecureAuth:1,infileStreamFactory:1,isServer:1,keepAliveInitialDelay:1,localAddress:1,maxPreparedStatements:1,multipleStatements:1,namedPlaceholders:1,nestTables:1,password:1,password1:1,password2:1,password3:1,passwordSha1:1,pool:1,port:1,queryFormat:1,rowsAsArray:1,socketPath:1,ssl:1,stream:1,stringifyObjects:1,supportBigNumbers:1,timezone:1,trace:1,typeCast:1,uri:1,user:1,connectionLimit:1,maxIdle:1,idleTimeout:1,Promise:1,queueLimit:1,waitForConnections:1,jsonStrings:1};var ConnectionConfig=class _ConnectionConfig{constructor(options){if(typeof options==="string"){options=_ConnectionConfig.parseUrl(options)}else if(options&&options.uri){const uriOptions=_ConnectionConfig.parseUrl(options.uri);for(const key in uriOptions){if(!Object.prototype.hasOwnProperty.call(uriOptions,key))continue;if(options[key])continue;options[key]=uriOptions[key]}}for(const key in options){if(!Object.prototype.hasOwnProperty.call(options,key))continue;if(validOptions[key]!==1){console.error(`Ignoring invalid configuration option passed to Connection: ${key}. This is currently a warning, but in future versions of MySQL2, an error will be thrown if you pass an invalid configuration option to a Connection`)}}this.isServer=options.isServer;this.stream=options.stream;this.host=options.host||"localhost";this.port=(typeof options.port==="string"?parseInt(options.port,10):options.port)||3306;this.localAddress=options.localAddress;this.socketPath=options.socketPath;this.user=options.user||void 0;this.password=options.password||options.password1||void 0;this.password2=options.password2||void 0;this.password3=options.password3||void 0;this.passwordSha1=options.passwordSha1||void 0;this.database=options.database;this.connectTimeout=isNaN(options.connectTimeout)?10*1e3:options.connectTimeout;this.insecureAuth=options.insecureAuth||false;this.infileStreamFactory=options.infileStreamFactory||void 0;this.supportBigNumbers=options.supportBigNumbers||false;this.bigNumberStrings=options.bigNumberStrings||false;this.decimalNumbers=options.decimalNumbers||false;this.dateStrings=options.dateStrings||false;this.debug=options.debug;this.trace=options.trace!==false;this.stringifyObjects=options.stringifyObjects||false;this.enableKeepAlive=options.enableKeepAlive!==false;this.keepAliveInitialDelay=options.keepAliveInitialDelay;if(options.timezone&&!/^(?:local|Z|[ +-]\d\d:\d\d)$/.test(options.timezone)){console.error(`Ignoring invalid timezone passed to Connection: ${options.timezone}. This is currently a warning, but in future versions of MySQL2, an error will be thrown if you pass an invalid configuration option to a Connection`);this.timezone="Z"}else{this.timezone=options.timezone||"local"}this.queryFormat=options.queryFormat;this.pool=options.pool||void 0;this.ssl=typeof options.ssl==="string"?_ConnectionConfig.getSSLProfile(options.ssl):options.ssl||false;this.multipleStatements=options.multipleStatements||false;this.rowsAsArray=options.rowsAsArray||false;this.namedPlaceholders=options.namedPlaceholders||false;this.nestTables=options.nestTables===void 0?void 0:options.nestTables;this.typeCast=options.typeCast===void 0?true:options.typeCast;if(this.timezone[0]===" "){this.timezone=`+${this.timezone.slice(1)}`}if(this.ssl){if(typeof this.ssl!=="object"){throw new TypeError(`SSL profile must be an object, instead it's a ${typeof this.ssl}`)}this.ssl.rejectUnauthorized=this.ssl.rejectUnauthorized!==false}this.maxPacketSize=0;this.charsetNumber=options.charset?_ConnectionConfig.getCharsetNumber(options.charset):options.charsetNumber||Charsets.UTF8MB4_UNICODE_CI;this.compress=options.compress||false;this.authPlugins=options.authPlugins;this.authSwitchHandler=options.authSwitchHandler;this.clientFlags=_ConnectionConfig.mergeFlags(_ConnectionConfig.getDefaultFlags(options),options.flags||"");const defaultConnectAttributes={_client_name:"Node-MySQL-2",_client_version:version};this.connectAttributes={...defaultConnectAttributes,...options.connectAttributes||{}};this.maxPreparedStatements=options.maxPreparedStatements||16e3;this.jsonStrings=options.jsonStrings||false}static mergeFlags(default_flags,user_flags){let flags=0,i;if(!Array.isArray(user_flags)){user_flags=String(user_flags||"").toUpperCase().split(/\s*,+\s*/)}for(i in default_flags){if(user_flags.indexOf(`-${default_flags[i]}`)>=0){continue}flags|=ClientConstants[default_flags[i]]||0}for(i in user_flags){if(user_flags[i][0]==="-"){continue}if(default_flags.indexOf(user_flags[i])>=0){continue}flags|=ClientConstants[user_flags[i]]||0}return flags}static getDefaultFlags(options){const defaultFlags=["LONG_PASSWORD","FOUND_ROWS","LONG_FLAG","CONNECT_WITH_DB","ODBC","LOCAL_FILES","IGNORE_SPACE","PROTOCOL_41","IGNORE_SIGPIPE","TRANSACTIONS","RESERVED","SECURE_CONNECTION","MULTI_RESULTS","TRANSACTIONS","SESSION_TRACK","CONNECT_ATTRS"];if(options&&options.multipleStatements){defaultFlags.push("MULTI_STATEMENTS")}defaultFlags.push("PLUGIN_AUTH");defaultFlags.push("PLUGIN_AUTH_LENENC_CLIENT_DATA");return defaultFlags}static getCharsetNumber(charset){const num=Charsets[charset.toUpperCase()];if(num===void 0){throw new TypeError(`Unknown charset '${charset}'`)}return num}static getSSLProfile(name){if(!SSLProfiles){SSLProfiles=require_ssl_profiles()}const ssl=SSLProfiles[name];if(ssl===void 0){throw new TypeError(`Unknown SSL profile '${name}'`)}return ssl}static parseUrl(url){const parsedUrl=new URL3(url);const options={host:decodeURIComponent(parsedUrl.hostname),port:parseInt(parsedUrl.port,10),database:decodeURIComponent(parsedUrl.pathname.slice(1)),user:decodeURIComponent(parsedUrl.username),password:decodeURIComponent(parsedUrl.password)};parsedUrl.searchParams.forEach((value,key)=>{try{options[key]=JSON.parse(value)}catch(err){options[key]=value}});return options}};module2.exports=ConnectionConfig}});var require_lru_cache=__commonJS({"node_modules/named-placeholders/node_modules/lru-cache/index.js"(exports2,module2){var perf=typeof performance==="object"&&performance&&typeof performance.now==="function"?performance:Date;var hasAbortController=typeof AbortController==="function";var AC=hasAbortController?AbortController:class AbortController{constructor(){this.signal=new AS}abort(reason=new Error("This operation was aborted")){this.signal.reason=this.signal.reason||reason;this.signal.aborted=true;this.signal.dispatchEvent({type:"abort",target:this.signal})}};var hasAbortSignal=typeof AbortSignal==="function";var hasACAbortSignal=typeof AC.AbortSignal==="function";var AS=hasAbortSignal?AbortSignal:hasACAbortSignal?AC.AbortController:class AbortSignal{constructor(){this.reason=void 0;this.aborted=false;this._listeners=[]}dispatchEvent(e){if(e.type==="abort"){this.aborted=true;this.onabort(e);this._listeners.forEach(f=>f(e),this)}}onabort(){}addEventListener(ev,fn2){if(ev==="abort"){this._listeners.push(fn2)}}removeEventListener(ev,fn2){if(ev==="abort"){this._listeners=this._listeners.filter(f=>f!==fn2)}}};var warned=new Set;var deprecatedOption=(opt,instead)=>{const code=`LRU_CACHE_OPTION_${opt}`;if(shouldWarn(code)){warn(code,`${opt} option`,`options.${instead}`,LRUCache)}};var deprecatedMethod=(method2,instead)=>{const code=`LRU_CACHE_METHOD_${method2}`;if(shouldWarn(code)){const{prototype}=LRUCache;const{get:get4}=Object.getOwnPropertyDescriptor(prototype,method2);warn(code,`${method2} method`,`cache.${instead}()`,get4)}};var deprecatedProperty=(field,instead)=>{const code=`LRU_CACHE_PROPERTY_${field}`;if(shouldWarn(code)){const{prototype}=LRUCache;const{get:get4}=Object.getOwnPropertyDescriptor(prototype,field);warn(code,`${field} property`,`cache.${instead}`,get4)}};var emitWarning=(...a)=>{typeof process==="object"&&process&&typeof process.emitWarning==="function"?process.emitWarning(...a):console.error(...a)};var shouldWarn=code=>!warned.has(code);var warn=(code,what,instead,fn2)=>{warned.add(code);const msg=`The ${what} is deprecated. Please use ${instead} instead.`;emitWarning(msg,"DeprecationWarning",code,fn2)};var isPosInt=n=>n&&n===Math.floor(n)&&n>0&&isFinite(n);var getUintArray=max3=>!isPosInt(max3)?null:max3<=Math.pow(2,8)?Uint8Array:max3<=Math.pow(2,16)?Uint16Array:max3<=Math.pow(2,32)?Uint32Array:max3<=Number.MAX_SAFE_INTEGER?ZeroArray:null;var ZeroArray=class extends Array{constructor(size2){super(size2);this.fill(0)}};var Stack2=class{constructor(max3){if(max3===0){return[]}const UintArray=getUintArray(max3);this.heap=new UintArray(max3);this.length=0}push(n){this.heap[this.length++]=n}pop(){return this.heap[--this.length]}};var LRUCache=class _LRUCache{constructor(options={}){const{max:max3=0,ttl:ttl2,ttlResolution=1,ttlAutopurge,updateAgeOnGet,updateAgeOnHas,allowStale,dispose,disposeAfter,noDisposeOnSet,noUpdateTTL,maxSize=0,maxEntrySize=0,sizeCalculation,fetchMethod,fetchContext,noDeleteOnFetchRejection,noDeleteOnStaleGet,allowStaleOnFetchRejection,allowStaleOnFetchAbort,ignoreFetchAbort}=options;const{length,maxAge,stale}=options instanceof _LRUCache?{}:options;if(max3!==0&&!isPosInt(max3)){throw new TypeError("max option must be a nonnegative integer")}const UintArray=max3?getUintArray(max3):Array;if(!UintArray){throw new Error("invalid max value: "+max3)}this.max=max3;this.maxSize=maxSize;this.maxEntrySize=maxEntrySize||this.maxSize;this.sizeCalculation=sizeCalculation||length;if(this.sizeCalculation){if(!this.maxSize&&!this.maxEntrySize){throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize")}if(typeof this.sizeCalculation!=="function"){throw new TypeError("sizeCalculation set to non-function")}}this.fetchMethod=fetchMethod||null;if(this.fetchMethod&&typeof this.fetchMethod!=="function"){throw new TypeError("fetchMethod must be a function if specified")}this.fetchContext=fetchContext;if(!this.fetchMethod&&fetchContext!==void 0){throw new TypeError("cannot set fetchContext without fetchMethod")}this.keyMap=new Map;this.keyList=new Array(max3).fill(null);this.valList=new Array(max3).fill(null);this.next=new UintArray(max3);this.prev=new UintArray(max3);this.head=0;this.tail=0;this.free=new Stack2(max3);this.initialFill=1;this.size=0;if(typeof dispose==="function"){this.dispose=dispose}if(typeof disposeAfter==="function"){this.disposeAfter=disposeAfter;this.disposed=[]}else{this.disposeAfter=null;this.disposed=null}this.noDisposeOnSet=!!noDisposeOnSet;this.noUpdateTTL=!!noUpdateTTL;this.noDeleteOnFetchRejection=!!noDeleteOnFetchRejection;this.allowStaleOnFetchRejection=!!allowStaleOnFetchRejection;this.allowStaleOnFetchAbort=!!allowStaleOnFetchAbort;this.ignoreFetchAbort=!!ignoreFetchAbort;if(this.maxEntrySize!==0){if(this.maxSize!==0){if(!isPosInt(this.maxSize)){throw new TypeError("maxSize must be a positive integer if specified")}}if(!isPosInt(this.maxEntrySize)){throw new TypeError("maxEntrySize must be a positive integer if specified")}this.initializeSizeTracking()}this.allowStale=!!allowStale||!!stale;this.noDeleteOnStaleGet=!!noDeleteOnStaleGet;this.updateAgeOnGet=!!updateAgeOnGet;this.updateAgeOnHas=!!updateAgeOnHas;this.ttlResolution=isPosInt(ttlResolution)||ttlResolution===0?ttlResolution:1;this.ttlAutopurge=!!ttlAutopurge;this.ttl=ttl2||maxAge||0;if(this.ttl){if(!isPosInt(this.ttl)){throw new TypeError("ttl must be a positive integer if specified")}this.initializeTTLTracking()}if(this.max===0&&this.ttl===0&&this.maxSize===0){throw new TypeError("At least one of max, maxSize, or ttl is required")}if(!this.ttlAutopurge&&!this.max&&!this.maxSize){const code="LRU_CACHE_UNBOUNDED";if(shouldWarn(code)){warned.add(code);const msg="TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.";emitWarning(msg,"UnboundedCacheWarning",code,_LRUCache)}}if(stale){deprecatedOption("stale","allowStale")}if(maxAge){deprecatedOption("maxAge","ttl")}if(length){deprecatedOption("length","sizeCalculation")}}getRemainingTTL(key){return this.has(key,{updateAgeOnHas:false})?Infinity:0}initializeTTLTracking(){this.ttls=new ZeroArray(this.max);this.starts=new ZeroArray(this.max);this.setItemTTL=(index,ttl2,start=perf.now())=>{this.starts[index]=ttl2!==0?start:0;this.ttls[index]=ttl2;if(ttl2!==0&&this.ttlAutopurge){const t=setTimeout(()=>{if(this.isStale(index)){this.delete(this.keyList[index])}},ttl2+1);if(t.unref){t.unref()}}};this.updateItemAge=index=>{this.starts[index]=this.ttls[index]!==0?perf.now():0};this.statusTTL=(status,index)=>{if(status){status.ttl=this.ttls[index];status.start=this.starts[index];status.now=cachedNow||getNow();status.remainingTTL=status.now+status.ttl-status.start}};let cachedNow=0;const getNow=()=>{const n=perf.now();if(this.ttlResolution>0){cachedNow=n;const t=setTimeout(()=>cachedNow=0,this.ttlResolution);if(t.unref){t.unref()}}return n};this.getRemainingTTL=key=>{const index=this.keyMap.get(key);if(index===void 0){return 0}return this.ttls[index]===0||this.starts[index]===0?Infinity:this.starts[index]+this.ttls[index]-(cachedNow||getNow())};this.isStale=index=>{return this.ttls[index]!==0&&this.starts[index]!==0&&(cachedNow||getNow())-this.starts[index]>this.ttls[index]}}updateItemAge(_index){}statusTTL(_status,_index){}setItemTTL(_index,_ttl,_start){}isStale(_index){return false}initializeSizeTracking(){this.calculatedSize=0;this.sizes=new ZeroArray(this.max);this.removeItemSize=index=>{this.calculatedSize-=this.sizes[index];this.sizes[index]=0};this.requireSize=(k,v,size2,sizeCalculation)=>{if(this.isBackgroundFetch(v)){return 0}if(!isPosInt(size2)){if(sizeCalculation){if(typeof sizeCalculation!=="function"){throw new TypeError("sizeCalculation must be a function")}size2=sizeCalculation(v,k);if(!isPosInt(size2)){throw new TypeError("sizeCalculation return invalid (expect positive integer)")}}else{throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.")}}return size2};this.addItemSize=(index,size2,status)=>{this.sizes[index]=size2;if(this.maxSize){const maxSize=this.maxSize-this.sizes[index];while(this.calculatedSize>maxSize){this.evict(true)}}this.calculatedSize+=this.sizes[index];if(status){status.entrySize=size2;status.totalCalculatedSize=this.calculatedSize}}}removeItemSize(_index){}addItemSize(_index,_size){}requireSize(_k,_v,size2,sizeCalculation){if(size2||sizeCalculation){throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache")}}*indexes({allowStale=this.allowStale}={}){if(this.size){for(let i=this.tail;true;){if(!this.isValidIndex(i)){break}if(allowStale||!this.isStale(i)){yield i}if(i===this.head){break}else{i=this.prev[i]}}}}*rindexes({allowStale=this.allowStale}={}){if(this.size){for(let i=this.head;true;){if(!this.isValidIndex(i)){break}if(allowStale||!this.isStale(i)){yield i}if(i===this.tail){break}else{i=this.next[i]}}}}isValidIndex(index){return index!==void 0&&this.keyMap.get(this.keyList[index])===index}*entries(){for(const i of this.indexes()){if(this.valList[i]!==void 0&&this.keyList[i]!==void 0&&!this.isBackgroundFetch(this.valList[i])){yield[this.keyList[i],this.valList[i]]}}}*rentries(){for(const i of this.rindexes()){if(this.valList[i]!==void 0&&this.keyList[i]!==void 0&&!this.isBackgroundFetch(this.valList[i])){yield[this.keyList[i],this.valList[i]]}}}*keys(){for(const i of this.indexes()){if(this.keyList[i]!==void 0&&!this.isBackgroundFetch(this.valList[i])){yield this.keyList[i]}}}*rkeys(){for(const i of this.rindexes()){if(this.keyList[i]!==void 0&&!this.isBackgroundFetch(this.valList[i])){yield this.keyList[i]}}}*values(){for(const i of this.indexes()){if(this.valList[i]!==void 0&&!this.isBackgroundFetch(this.valList[i])){yield this.valList[i]}}}*rvalues(){for(const i of this.rindexes()){if(this.valList[i]!==void 0&&!this.isBackgroundFetch(this.valList[i])){yield this.valList[i]}}}[Symbol.iterator](){return this.entries()}find(fn2,getOptions){for(const i of this.indexes()){const v=this.valList[i];const value=this.isBackgroundFetch(v)?v.__staleWhileFetching:v;if(value===void 0)continue;if(fn2(value,this.keyList[i],this)){return this.get(this.keyList[i],getOptions)}}}forEach(fn2,thisp=this){for(const i of this.indexes()){const v=this.valList[i];const value=this.isBackgroundFetch(v)?v.__staleWhileFetching:v;if(value===void 0)continue;fn2.call(thisp,value,this.keyList[i],this)}}rforEach(fn2,thisp=this){for(const i of this.rindexes()){const v=this.valList[i];const value=this.isBackgroundFetch(v)?v.__staleWhileFetching:v;if(value===void 0)continue;fn2.call(thisp,value,this.keyList[i],this)}}get prune(){deprecatedMethod("prune","purgeStale");return this.purgeStale}purgeStale(){let deleted=false;for(const i of this.rindexes({allowStale:true})){if(this.isStale(i)){this.delete(this.keyList[i]);deleted=true}}return deleted}dump(){const arr=[];for(const i of this.indexes({allowStale:true})){const key=this.keyList[i];const v=this.valList[i];const value=this.isBackgroundFetch(v)?v.__staleWhileFetching:v;if(value===void 0)continue;const entry={value};if(this.ttls){entry.ttl=this.ttls[i];const age=perf.now()-this.starts[i];entry.start=Math.floor(Date.now()-age)}if(this.sizes){entry.size=this.sizes[i]}arr.unshift([key,entry])}return arr}load(arr){this.clear();for(const[key,entry]of arr){if(entry.start){const age=Date.now()-entry.start;entry.start=perf.now()-age}this.set(key,entry.value,entry)}}dispose(_v,_k,_reason){}set(k,v,{ttl:ttl2=this.ttl,start,noDisposeOnSet=this.noDisposeOnSet,size:size2=0,sizeCalculation=this.sizeCalculation,noUpdateTTL=this.noUpdateTTL,status}={}){size2=this.requireSize(k,v,size2,sizeCalculation);if(this.maxEntrySize&&size2>this.maxEntrySize){if(status){status.set="miss";status.maxEntrySizeExceeded=true}this.delete(k);return this}let index=this.size===0?void 0:this.keyMap.get(k);if(index===void 0){index=this.newIndex();this.keyList[index]=k;this.valList[index]=v;this.keyMap.set(k,index);this.next[this.tail]=index;this.prev[index]=this.tail;this.tail=index;this.size++;this.addItemSize(index,size2,status);if(status){status.set="add"}noUpdateTTL=false}else{this.moveToTail(index);const oldVal=this.valList[index];if(v!==oldVal){if(this.isBackgroundFetch(oldVal)){oldVal.__abortController.abort(new Error("replaced"))}else{if(!noDisposeOnSet){this.dispose(oldVal,k,"set");if(this.disposeAfter){this.disposed.push([oldVal,k,"set"])}}}this.removeItemSize(index);this.valList[index]=v;this.addItemSize(index,size2,status);if(status){status.set="replace";const oldValue=oldVal&&this.isBackgroundFetch(oldVal)?oldVal.__staleWhileFetching:oldVal;if(oldValue!==void 0)status.oldValue=oldValue}}else if(status){status.set="update"}}if(ttl2!==0&&this.ttl===0&&!this.ttls){this.initializeTTLTracking()}if(!noUpdateTTL){this.setItemTTL(index,ttl2,start)}this.statusTTL(status,index);if(this.disposeAfter){while(this.disposed.length){this.disposeAfter(...this.disposed.shift())}}return this}newIndex(){if(this.size===0){return this.tail}if(this.size===this.max&&this.max!==0){return this.evict(false)}if(this.free.length!==0){return this.free.pop()}return this.initialFill++}pop(){if(this.size){const val=this.valList[this.head];this.evict(true);return val}}evict(free){const head2=this.head;const k=this.keyList[head2];const v=this.valList[head2];if(this.isBackgroundFetch(v)){v.__abortController.abort(new Error("evicted"))}else{this.dispose(v,k,"evict");if(this.disposeAfter){this.disposed.push([v,k,"evict"])}}this.removeItemSize(head2);if(free){this.keyList[head2]=null;this.valList[head2]=null;this.free.push(head2)}this.head=this.next[head2];this.keyMap.delete(k);this.size--;return head2}has(k,{updateAgeOnHas=this.updateAgeOnHas,status}={}){const index=this.keyMap.get(k);if(index!==void 0){if(!this.isStale(index)){if(updateAgeOnHas){this.updateItemAge(index)}if(status)status.has="hit";this.statusTTL(status,index);return true}else if(status){status.has="stale";this.statusTTL(status,index)}}else if(status){status.has="miss"}return false}peek(k,{allowStale=this.allowStale}={}){const index=this.keyMap.get(k);if(index!==void 0&&(allowStale||!this.isStale(index))){const v=this.valList[index];return this.isBackgroundFetch(v)?v.__staleWhileFetching:v}}backgroundFetch(k,index,options,context){const v=index===void 0?void 0:this.valList[index];if(this.isBackgroundFetch(v)){return v}const ac=new AC;if(options.signal){options.signal.addEventListener("abort",()=>ac.abort(options.signal.reason))}const fetchOpts={signal:ac.signal,options,context};const cb=(v2,updateCache=false)=>{const{aborted}=ac.signal;const ignoreAbort=options.ignoreFetchAbort&&v2!==void 0;if(options.status){if(aborted&&!updateCache){options.status.fetchAborted=true;options.status.fetchError=ac.signal.reason;if(ignoreAbort)options.status.fetchAbortIgnored=true}else{options.status.fetchResolved=true}}if(aborted&&!ignoreAbort&&!updateCache){return fetchFail(ac.signal.reason)}if(this.valList[index]===p){if(v2===void 0){if(p.__staleWhileFetching){this.valList[index]=p.__staleWhileFetching}else{this.delete(k)}}else{if(options.status)options.status.fetchUpdated=true;this.set(k,v2,fetchOpts.options)}}return v2};const eb=er=>{if(options.status){options.status.fetchRejected=true;options.status.fetchError=er}return fetchFail(er)};const fetchFail=er=>{const{aborted}=ac.signal;const allowStaleAborted=aborted&&options.allowStaleOnFetchAbort;const allowStale=allowStaleAborted||options.allowStaleOnFetchRejection;const noDelete=allowStale||options.noDeleteOnFetchRejection;if(this.valList[index]===p){const del=!noDelete||p.__staleWhileFetching===void 0;if(del){this.delete(k)}else if(!allowStaleAborted){this.valList[index]=p.__staleWhileFetching}}if(allowStale){if(options.status&&p.__staleWhileFetching!==void 0){options.status.returnedStale=true}return p.__staleWhileFetching}else if(p.__returned===p){throw er}};const pcall=(res,rej)=>{this.fetchMethod(k,v,fetchOpts).then(v2=>res(v2),rej);ac.signal.addEventListener("abort",()=>{if(!options.ignoreFetchAbort||options.allowStaleOnFetchAbort){res();if(options.allowStaleOnFetchAbort){res=v2=>cb(v2,true)}}})};if(options.status)options.status.fetchDispatched=true;const p=new Promise(pcall).then(cb,eb);p.__abortController=ac;p.__staleWhileFetching=v;p.__returned=null;if(index===void 0){this.set(k,p,{...fetchOpts.options,status:void 0});index=this.keyMap.get(k)}else{this.valList[index]=p}return p}isBackgroundFetch(p){return p&&typeof p==="object"&&typeof p.then==="function"&&Object.prototype.hasOwnProperty.call(p,"__staleWhileFetching")&&Object.prototype.hasOwnProperty.call(p,"__returned")&&(p.__returned===p||p.__returned===null)}async fetch(k,{allowStale=this.allowStale,updateAgeOnGet=this.updateAgeOnGet,noDeleteOnStaleGet=this.noDeleteOnStaleGet,ttl:ttl2=this.ttl,noDisposeOnSet=this.noDisposeOnSet,size:size2=0,sizeCalculation=this.sizeCalculation,noUpdateTTL=this.noUpdateTTL,noDeleteOnFetchRejection=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection=this.allowStaleOnFetchRejection,ignoreFetchAbort=this.ignoreFetchAbort,allowStaleOnFetchAbort=this.allowStaleOnFetchAbort,fetchContext=this.fetchContext,forceRefresh=false,status,signal}={}){if(!this.fetchMethod){if(status)status.fetch="get";return this.get(k,{allowStale,updateAgeOnGet,noDeleteOnStaleGet,status})}const options={allowStale,updateAgeOnGet,noDeleteOnStaleGet,ttl:ttl2,noDisposeOnSet,size:size2,sizeCalculation,noUpdateTTL,noDeleteOnFetchRejection,allowStaleOnFetchRejection,allowStaleOnFetchAbort,ignoreFetchAbort,status,signal};let index=this.keyMap.get(k);if(index===void 0){if(status)status.fetch="miss";const p=this.backgroundFetch(k,index,options,fetchContext);return p.__returned=p}else{const v=this.valList[index];if(this.isBackgroundFetch(v)){const stale=allowStale&&v.__staleWhileFetching!==void 0;if(status){status.fetch="inflight";if(stale)status.returnedStale=true}return stale?v.__staleWhileFetching:v.__returned=v}const isStale=this.isStale(index);if(!forceRefresh&&!isStale){if(status)status.fetch="hit";this.moveToTail(index);if(updateAgeOnGet){this.updateItemAge(index)}this.statusTTL(status,index);return v}const p=this.backgroundFetch(k,index,options,fetchContext);const hasStale=p.__staleWhileFetching!==void 0;const staleVal=hasStale&&allowStale;if(status){status.fetch=hasStale&&isStale?"stale":"refresh";if(staleVal&&isStale)status.returnedStale=true}return staleVal?p.__staleWhileFetching:p.__returned=p}}get(k,{allowStale=this.allowStale,updateAgeOnGet=this.updateAgeOnGet,noDeleteOnStaleGet=this.noDeleteOnStaleGet,status}={}){const index=this.keyMap.get(k);if(index!==void 0){const value=this.valList[index];const fetching=this.isBackgroundFetch(value);this.statusTTL(status,index);if(this.isStale(index)){if(status)status.get="stale";if(!fetching){if(!noDeleteOnStaleGet){this.delete(k)}if(status)status.returnedStale=allowStale;return allowStale?value:void 0}else{if(status){status.returnedStale=allowStale&&value.__staleWhileFetching!==void 0}return allowStale?value.__staleWhileFetching:void 0}}else{if(status)status.get="hit";if(fetching){return value.__staleWhileFetching}this.moveToTail(index);if(updateAgeOnGet){this.updateItemAge(index)}return value}}else if(status){status.get="miss"}}connect(p,n){this.prev[n]=p;this.next[p]=n}moveToTail(index){if(index!==this.tail){if(index===this.head){this.head=this.next[index]}else{this.connect(this.prev[index],this.next[index])}this.connect(this.tail,index);this.tail=index}}get del(){deprecatedMethod("del","delete");return this.delete}delete(k){let deleted=false;if(this.size!==0){const index=this.keyMap.get(k);if(index!==void 0){deleted=true;if(this.size===1){this.clear()}else{this.removeItemSize(index);const v=this.valList[index];if(this.isBackgroundFetch(v)){v.__abortController.abort(new Error("deleted"))}else{this.dispose(v,k,"delete");if(this.disposeAfter){this.disposed.push([v,k,"delete"])}}this.keyMap.delete(k);this.keyList[index]=null;this.valList[index]=null;if(index===this.tail){this.tail=this.prev[index]}else if(index===this.head){this.head=this.next[index]}else{this.next[this.prev[index]]=this.next[index];this.prev[this.next[index]]=this.prev[index]}this.size--;this.free.push(index)}}}if(this.disposed){while(this.disposed.length){this.disposeAfter(...this.disposed.shift())}}return deleted}clear(){for(const index of this.rindexes({allowStale:true})){const v=this.valList[index];if(this.isBackgroundFetch(v)){v.__abortController.abort(new Error("deleted"))}else{const k=this.keyList[index];this.dispose(v,k,"delete");if(this.disposeAfter){this.disposed.push([v,k,"delete"])}}}this.keyMap.clear();this.valList.fill(null);this.keyList.fill(null);if(this.ttls){this.ttls.fill(0);this.starts.fill(0)}if(this.sizes){this.sizes.fill(0)}this.head=0;this.tail=0;this.initialFill=1;this.free.length=0;this.calculatedSize=0;this.size=0;if(this.disposed){while(this.disposed.length){this.disposeAfter(...this.disposed.shift())}}}get reset(){deprecatedMethod("reset","clear");return this.clear}get length(){deprecatedProperty("length","size");return this.size}static get AbortController(){return AC}static get AbortSignal(){return AS}};module2.exports=LRUCache}});var require_named_placeholders=__commonJS({"node_modules/named-placeholders/index.js"(exports2,module2){"use strict";var RE_PARAM=/(?:\?)|(?::(\d+|(?:[a-zA-Z][a-zA-Z0-9_]*)))/g;var DQUOTE=34;var SQUOTE=39;var BSLASH=92;function parse3(query){let ppos=RE_PARAM.exec(query);let curpos=0;let start=0;let end;const parts=[];let inQuote=false;let escape3=false;let qchr;const tokens=[];let qcnt=0;let lastTokenEndPos=0;let i;if(ppos){do{for(i=curpos,end=ppos.index;i<end;++i){let chr=query.charCodeAt(i);if(chr===BSLASH)escape3=!escape3;else{if(escape3){escape3=false;continue}if(inQuote&&chr===qchr){if(query.charCodeAt(i+1)===qchr){++i;continue}inQuote=false}else if(chr===DQUOTE||chr===SQUOTE){inQuote=true;qchr=chr}}}if(!inQuote){parts.push(query.substring(start,end));tokens.push(ppos[0].length===1?qcnt++:ppos[1]);start=end+ppos[0].length;lastTokenEndPos=start}curpos=end+ppos[0].length}while(ppos=RE_PARAM.exec(query));if(tokens.length){if(curpos<query.length){parts.push(query.substring(lastTokenEndPos))}return[parts,tokens]}}return[query]}function createCompiler(config){if(!config)config={};if(!config.placeholder){config.placeholder="?"}let ncache=100;let cache2;if(typeof config.cache==="number"){ncache=config.cache}if(typeof config.cache==="object"){cache2=config.cache}if(config.cache!==false&&!cache2){cache2=new(require_lru_cache())({max:ncache})}function toArrayParams(tree,params){const arr=[];if(tree.length==1){return[tree[0],[]]}if(typeof params=="undefined")throw new Error("Named query contains placeholders, but parameters object is undefined");const tokens=tree[1];for(let i=0;i<tokens.length;++i){arr.push(params[tokens[i]])}return[tree[0],arr]}function noTailingSemicolon(s){if(s.slice(-1)==":"){return s.slice(0,-1)}return s}function join4(tree){if(tree.length==1){return tree}let unnamed=noTailingSemicolon(tree[0][0]);for(let i=1;i<tree[0].length;++i){if(tree[0][i-1].slice(-1)==":"){unnamed+=config.placeholder}unnamed+=config.placeholder;unnamed+=noTailingSemicolon(tree[0][i])}const last2=tree[0][tree[0].length-1];if(tree[0].length==tree[1].length){if(last2.slice(-1)==":"){unnamed+=config.placeholder}unnamed+=config.placeholder}return[unnamed,tree[1]]}function compile(query,paramsObj){let tree;if(cache2&&(tree=cache2.get(query))){return toArrayParams(tree,paramsObj)}tree=join4(parse3(query));if(cache2){cache2.set(query,tree)}return toArrayParams(tree,paramsObj)}compile.parse=parse3;return compile}function toNumbered(q,params){const tree=parse3(q);const paramsArr=[];if(tree.length==1){return[tree[0],paramsArr]}const pIndexes={};let pLastIndex=0;let qs="";let varIndex;const varNames=[];for(let i=0;i<tree[0].length;++i){varIndex=pIndexes[tree[1][i]];if(!varIndex){varIndex=++pLastIndex;pIndexes[tree[1][i]]=varIndex}if(tree[1][i]){varNames[varIndex-1]=tree[1][i];qs+=tree[0][i]+"$"+varIndex}else{qs+=tree[0][i]}}return[qs,varNames.map(n=>params[n])]}module2.exports=createCompiler;module2.exports.toNumbered=toNumbered}});var require_connection=__commonJS({"node_modules/mysql2/lib/base/connection.js"(exports2,module2){"use strict";var Net=require("net");var Tls=require("tls");var Timers=require("timers");var EventEmitter3=require("events").EventEmitter;var Readable2=require("stream").Readable;var Queue=require_denque();var SqlString=require_sqlstring();var{createLRU}=require_lib3();var PacketParser=require_packet_parser();var Packets=require_packets();var Commands=require_commands2();var ConnectionConfig=require_connection_config();var CharsetToEncoding=require_charset_encodings();var _connectionId=0;var convertNamedPlaceholders=null;var BaseConnection=class _BaseConnection extends EventEmitter3{constructor(opts){super();this.config=opts.config;if(!opts.config.stream){if(opts.config.socketPath){this.stream=Net.connect(opts.config.socketPath)}else{this.stream=Net.connect(opts.config.port,opts.config.host);if(this.config.enableKeepAlive){this.stream.on("connect",()=>{this.stream.setKeepAlive(true,this.config.keepAliveInitialDelay)})}this.stream.setNoDelay(true)}}else if(typeof opts.config.stream==="function"){this.stream=opts.config.stream(opts)}else{this.stream=opts.config.stream}this._internalId=_connectionId++;this._commands=new Queue;this._command=null;this._paused=false;this._paused_packets=new Queue;this._statements=createLRU({max:this.config.maxPreparedStatements,onEviction:function(_,statement){statement.close()}});this.serverCapabilityFlags=0;this.authorized=false;this.sequenceId=0;this.compressedSequenceId=0;this.threadId=null;this._handshakePacket=null;this._fatalError=null;this._protocolError=null;this._outOfOrderPackets=[];this.clientEncoding=CharsetToEncoding[this.config.charsetNumber];this.stream.on("error",this._handleNetworkError.bind(this));this.packetParser=new PacketParser(p=>{this.handlePacket(p)});this.stream.on("data",data=>{if(this.connectTimeout){Timers.clearTimeout(this.connectTimeout);this.connectTimeout=null}this.packetParser.execute(data)});this.stream.on("end",()=>{this.emit("end")});this.stream.on("close",()=>{if(this._closing){return}if(!this._protocolError){this._protocolError=new Error("Connection lost: The server closed the connection.");this._protocolError.fatal=true;this._protocolError.code="PROTOCOL_CONNECTION_LOST"}this._notifyError(this._protocolError)});let handshakeCommand;if(!this.config.isServer){handshakeCommand=new Commands.ClientHandshake(this.config.clientFlags);handshakeCommand.on("end",()=>{if(!handshakeCommand.handshake||this._fatalError||this._protocolError){return}this._handshakePacket=handshakeCommand.handshake;this.threadId=handshakeCommand.handshake.connectionId;this.emit("connect",handshakeCommand.handshake)});handshakeCommand.on("error",err=>{this._closing=true;this._notifyError(err)});this.addCommand(handshakeCommand)}this.serverEncoding="utf8";if(this.config.connectTimeout){const timeoutHandler=this._handleTimeoutError.bind(this);this.connectTimeout=Timers.setTimeout(timeoutHandler,this.config.connectTimeout)}}_addCommandClosedState(cmd){const err=new Error("Can't add new command when connection is in closed state");err.fatal=true;if(cmd.onResult){cmd.onResult(err)}else{this.emit("error",err)}}_handleFatalError(err){err.fatal=true;this.stream.removeAllListeners("data");this.addCommand=this._addCommandClosedState;this.write=()=>{this.emit("error",new Error("Can't write in closed state"))};this._notifyError(err);this._fatalError=err}_handleNetworkError(err){if(this.connectTimeout){Timers.clearTimeout(this.connectTimeout);this.connectTimeout=null}if(err.code==="ECONNRESET"&&this._closing){return}this._handleFatalError(err)}_handleTimeoutError(){if(this.connectTimeout){Timers.clearTimeout(this.connectTimeout);this.connectTimeout=null}this.stream.destroy&&this.stream.destroy();const err=new Error("connect ETIMEDOUT");err.errorno="ETIMEDOUT";err.code="ETIMEDOUT";err.syscall="connect";this._handleNetworkError(err)}_notifyError(err){if(this.connectTimeout){Timers.clearTimeout(this.connectTimeout);this.connectTimeout=null}if(this._fatalError){return}let command;let bubbleErrorToConnection=!this._command;if(this._command&&this._command.onResult){this._command.onResult(err);this._command=null}else if(!(this._command&&this._command.constructor===Commands.ClientHandshake&&this._commands.length>0)){bubbleErrorToConnection=true}while(command=this._commands.shift()){if(command.onResult){command.onResult(err)}else{bubbleErrorToConnection=true}}if(bubbleErrorToConnection||this._pool){this.emit("error",err)}if(err.fatal){this.close()}}write(buffer){const result2=this.stream.write(buffer,err=>{if(err){this._handleNetworkError(err)}});if(!result2){this.stream.emit("pause")}}_resetSequenceId(){this.sequenceId=0;this.compressedSequenceId=0}_bumpCompressedSequenceId(numPackets){this.compressedSequenceId+=numPackets;this.compressedSequenceId%=256}_bumpSequenceId(numPackets){this.sequenceId+=numPackets;this.sequenceId%=256}writePacket(packet){const MAX_PACKET_LENGTH=16777215;const length=packet.length();let chunk2,offset,header2;if(length<MAX_PACKET_LENGTH){packet.writeHeader(this.sequenceId);if(this.config.debug){console.log(`${this._internalId} ${this.connectionId} <== ${this._command._commandName}#${this._command.stateName()}(${[this.sequenceId,packet._name,packet.length()].join(",")})`);console.log(`${this._internalId} ${this.connectionId} <== ${packet.buffer.toString("hex")}`)}this._bumpSequenceId(1);this.write(packet.buffer)}else{if(this.config.debug){console.log(`${this._internalId} ${this.connectionId} <== Writing large packet, raw content not written:`);console.log(`${this._internalId} ${this.connectionId} <== ${this._command._commandName}#${this._command.stateName()}(${[this.sequenceId,packet._name,packet.length()].join(",")})`)}for(offset=4;offset<4+length;offset+=MAX_PACKET_LENGTH){chunk2=packet.buffer.slice(offset,offset+MAX_PACKET_LENGTH);if(chunk2.length===MAX_PACKET_LENGTH){header2=Buffer.from([255,255,255,this.sequenceId])}else{header2=Buffer.from([chunk2.length&255,chunk2.length>>8&255,chunk2.length>>16&255,this.sequenceId])}this._bumpSequenceId(1);this.write(header2);this.write(chunk2)}}}startTLS(onSecure){if(this.config.debug){console.log("Upgrading connection to TLS")}const secureContext=Tls.createSecureContext({ca:this.config.ssl.ca,cert:this.config.ssl.cert,ciphers:this.config.ssl.ciphers,key:this.config.ssl.key,passphrase:this.config.ssl.passphrase,minVersion:this.config.ssl.minVersion,maxVersion:this.config.ssl.maxVersion});const rejectUnauthorized=this.config.ssl.rejectUnauthorized;const verifyIdentity=this.config.ssl.verifyIdentity;const servername=this.config.host;let secureEstablished=false;this.stream.removeAllListeners("data");const secureSocket=Tls.connect({rejectUnauthorized,requestCert:rejectUnauthorized,checkServerIdentity:verifyIdentity?Tls.checkServerIdentity:function(){return void 0},secureContext,isServer:false,socket:this.stream,servername},()=>{secureEstablished=true;if(rejectUnauthorized){if(typeof servername==="string"&&verifyIdentity){const cert=secureSocket.getPeerCertificate(true);const serverIdentityCheckError=Tls.checkServerIdentity(servername,cert);if(serverIdentityCheckError){onSecure(serverIdentityCheckError);return}}}onSecure()});secureSocket.on("error",err=>{if(secureEstablished){this._handleNetworkError(err)}else{onSecure(err)}});secureSocket.on("data",data=>{this.packetParser.execute(data)});this.write=buffer=>secureSocket.write(buffer)}protocolError(message3,code){if(this._closing){return}const err=new Error(message3);err.fatal=true;err.code=code||"PROTOCOL_ERROR";this.emit("error",err)}get fatalError(){return this._fatalError}handlePacket(packet){if(this._paused){this._paused_packets.push(packet);return}if(this.config.debug){if(packet){console.log(` raw: ${packet.buffer.slice(packet.offset,packet.offset+packet.length()).toString("hex")}`);console.trace();const commandName=this._command?this._command._commandName:"(no command)";const stateName=this._command?this._command.stateName():"(no command)";console.log(`${this._internalId} ${this.connectionId} ==> ${commandName}#${stateName}(${[packet.sequenceId,packet.type(),packet.length()].join(",")})`)}}if(!this._command){const marker=packet.peekByte();if(marker===255){const error=Packets.Error.fromPacket(packet);this.protocolError(error.message,error.code)}else{this.protocolError("Unexpected packet while no commands in the queue","PROTOCOL_UNEXPECTED_PACKET")}this.close();return}if(packet){if(this.sequenceId!==packet.sequenceId){const err=new Error(`Warning: got packets out of order. Expected ${this.sequenceId} but received ${packet.sequenceId}`);err.expected=this.sequenceId;err.received=packet.sequenceId;this.emit("warn",err);console.error(err.message)}this._bumpSequenceId(packet.numPackets)}try{if(this._fatalError){return}const done=this._command.execute(packet,this);if(done){this._command=this._commands.shift();if(this._command){this.sequenceId=0;this.compressedSequenceId=0;this.handlePacket()}}}catch(err){this._handleFatalError(err);this.stream.destroy()}}addCommand(cmd){if(this.config.debug){const commandName=cmd.constructor.name;console.log(`Add command: ${commandName}`);cmd._commandName=commandName}if(!this._command){this._command=cmd;this.handlePacket()}else{this._commands.push(cmd)}return cmd}format(sql,values2){if(typeof this.config.queryFormat==="function"){return this.config.queryFormat.call(this,sql,values2,this.config.timezone)}const opts={sql,values:values2};this._resolveNamedPlaceholders(opts);return SqlString.format(opts.sql,opts.values,this.config.stringifyObjects,this.config.timezone)}escape(value){return SqlString.escape(value,false,this.config.timezone)}escapeId(value){return SqlString.escapeId(value,false)}raw(sql){return SqlString.raw(sql)}_resolveNamedPlaceholders(options){let unnamed;if(this.config.namedPlaceholders||options.namedPlaceholders){if(Array.isArray(options.values)){return}if(convertNamedPlaceholders===null){convertNamedPlaceholders=require_named_placeholders()()}unnamed=convertNamedPlaceholders(options.sql,options.values);options.sql=unnamed[0];options.values=unnamed[1]}}query(sql,values2,cb){let cmdQuery;if(sql.constructor===Commands.Query){cmdQuery=sql}else{cmdQuery=_BaseConnection.createQuery(sql,values2,cb,this.config)}this._resolveNamedPlaceholders(cmdQuery);const rawSql=this.format(cmdQuery.sql,cmdQuery.values!==void 0?cmdQuery.values:[]);cmdQuery.sql=rawSql;return this.addCommand(cmdQuery)}pause(){this._paused=true;this.stream.pause()}resume(){let packet;this._paused=false;while(packet=this._paused_packets.shift()){this.handlePacket(packet);if(this._paused){return}}this.stream.resume()}prepare(options,cb){if(typeof options==="string"){options={sql:options}}return this.addCommand(new Commands.Prepare(options,cb))}unprepare(sql){let options={};if(typeof sql==="object"){options=sql}else{options.sql=sql}const key=_BaseConnection.statementKey(options);const stmt=this._statements.get(key);if(stmt){this._statements.delete(key);stmt.close()}return stmt}execute(sql,values2,cb){let options={infileStreamFactory:this.config.infileStreamFactory};if(typeof sql==="object"){options={...options,...sql,sql:sql.sql,values:sql.values};if(typeof values2==="function"){cb=values2}else{options.values=options.values||values2}}else if(typeof values2==="function"){cb=values2;options.sql=sql;options.values=void 0}else{options.sql=sql;options.values=values2}this._resolveNamedPlaceholders(options);if(options.values){if(!Array.isArray(options.values)){throw new TypeError("Bind parameters must be array if namedPlaceholders parameter is not enabled")}options.values.forEach(val=>{if(!Array.isArray(options.values)){throw new TypeError("Bind parameters must be array if namedPlaceholders parameter is not enabled")}if(val===void 0){throw new TypeError("Bind parameters must not contain undefined. To pass SQL NULL specify JS null")}if(typeof val==="function"){throw new TypeError("Bind parameters must not contain function(s). To pass the body of a function as a string call .toString() first")}})}const executeCommand=new Commands.Execute(options,cb);const prepareCommand=new Commands.Prepare(options,(err,stmt)=>{if(err){executeCommand.start=function(){return null};if(cb){cb(err)}else{executeCommand.emit("error",err)}executeCommand.emit("end");return}executeCommand.statement=stmt});this.addCommand(prepareCommand);this.addCommand(executeCommand);return executeCommand}changeUser(options,callback){if(!callback&&typeof options==="function"){callback=options;options={}}const charsetNumber=options.charset?ConnectionConfig.getCharsetNumber(options.charset):this.config.charsetNumber;return this.addCommand(new Commands.ChangeUser({user:options.user||this.config.user,password:options.password||options.password1||this.config.password||this.config.password1,password2:options.password2||this.config.password2,password3:options.password3||this.config.password3,passwordSha1:options.passwordSha1||this.config.passwordSha1,database:options.database||this.config.database,timeout:options.timeout,charsetNumber,currentConfig:this.config},err=>{if(err){err.fatal=true}if(callback){callback(err)}}))}beginTransaction(cb){return this.query("START TRANSACTION",cb)}commit(cb){return this.query("COMMIT",cb)}rollback(cb){return this.query("ROLLBACK",cb)}ping(cb){return this.addCommand(new Commands.Ping(cb))}_registerSlave(opts,cb){return this.addCommand(new Commands.RegisterSlave(opts,cb))}_binlogDump(opts,cb){return this.addCommand(new Commands.BinlogDump(opts,cb))}destroy(){this.close()}close(){if(this.connectTimeout){Timers.clearTimeout(this.connectTimeout);this.connectTimeout=null}this._closing=true;this.stream.end();this.addCommand=this._addCommandClosedState}createBinlogStream(opts){let test=1;const stream3=new Readable2({objectMode:true});stream3._read=function(){return{data:test++}};this._registerSlave(opts,()=>{const dumpCmd=this._binlogDump(opts);dumpCmd.on("event",ev=>{stream3.push(ev)});dumpCmd.on("eof",()=>{stream3.push(null);if(opts.flags&&opts.flags&1){this.close()}})});return stream3}connect(cb){if(!cb){return}if(this._fatalError||this._protocolError){return cb(this._fatalError||this._protocolError)}if(this._handshakePacket){return cb(null,this)}let connectCalled=0;function callbackOnce(isErrorHandler){return function(param){if(!connectCalled){if(isErrorHandler){cb(param)}else{cb(null,param)}}connectCalled=1}}this.once("error",callbackOnce(true));this.once("connect",callbackOnce(false))}writeColumns(columns){this.writePacket(Packets.ResultSetHeader.toPacket(columns.length));columns.forEach(column=>{this.writePacket(Packets.ColumnDefinition.toPacket(column,this.serverConfig.encoding))});this.writeEof()}writeTextRow(column){this.writePacket(Packets.TextRow.toPacket(column,this.serverConfig.encoding))}writeBinaryRow(column){this.writePacket(Packets.BinaryRow.toPacket(column,this.serverConfig.encoding))}writeTextResult(rows,columns,binary2=false){this.writeColumns(columns);rows.forEach(row=>{const arrayRow=new Array(columns.length);columns.forEach(column=>{arrayRow.push(row[column.name])});if(binary2){this.writeBinaryRow(arrayRow)}else this.writeTextRow(arrayRow)});this.writeEof()}writeEof(warnings,statusFlags){this.writePacket(Packets.EOF.toPacket(warnings,statusFlags))}writeOk(args2){if(!args2){args2={affectedRows:0}}this.writePacket(Packets.OK.toPacket(args2,this.serverConfig.encoding))}writeError(args2){const encoding=this.serverConfig?this.serverConfig.encoding:"cesu8";this.writePacket(Packets.Error.toPacket(args2,encoding))}serverHandshake(args2){this.serverConfig=args2;this.serverConfig.encoding=CharsetToEncoding[this.serverConfig.characterSet];return this.addCommand(new Commands.ServerHandshake(args2))}end(callback){if(this.config.isServer){this._closing=true;const quitCmd2=new EventEmitter3;setImmediate(()=>{this.stream.end();quitCmd2.emit("end")});return quitCmd2}const quitCmd=this.addCommand(new Commands.Quit(callback));this.addCommand=this._addCommandClosedState;return quitCmd}static createQuery(sql,values2,cb,config){let options={rowsAsArray:config.rowsAsArray,infileStreamFactory:config.infileStreamFactory};if(typeof sql==="object"){options={...options,...sql,sql:sql.sql,values:sql.values};if(typeof values2==="function"){cb=values2}else if(values2!==void 0){options.values=values2}}else if(typeof values2==="function"){cb=values2;options.sql=sql;options.values=void 0}else{options.sql=sql;options.values=values2}return new Commands.Query(options,cb)}static statementKey(options){return`${typeof options.nestTables}/${options.nestTables}/${options.rowsAsArray}${options.sql}`}};module2.exports=BaseConnection}});var require_pool_connection=__commonJS({"node_modules/mysql2/lib/base/pool_connection.js"(exports2,module2){"use strict";var BaseConnection=require_connection();var BasePoolConnection=class extends BaseConnection{constructor(pool2,options){super(options);this._pool=pool2;this.lastActiveTime=Date.now();this.once("end",()=>{this._removeFromPool()});this.once("error",()=>{this._removeFromPool()})}release(){if(!this._pool||this._pool._closed){return}this.lastActiveTime=Date.now();this._pool.releaseConnection(this)}end(){const err=new Error("Calling conn.end() to release a pooled connection is deprecated. In next version calling conn.end() will be restored to default conn.end() behavior. Use conn.release() instead.");this.emit("warn",err);console.warn(err.message);this.release()}destroy(){this._removeFromPool();super.destroy()}_removeFromPool(){if(!this._pool||this._pool._closed){return}const pool2=this._pool;this._pool=null;pool2._removeConnection(this)}};BasePoolConnection.statementKey=BaseConnection.statementKey;module2.exports=BasePoolConnection;BasePoolConnection.prototype._realEnd=BaseConnection.prototype.end}});var require_make_done_cb=__commonJS({"node_modules/mysql2/lib/promise/make_done_cb.js"(exports2,module2){"use strict";function makeDoneCb(resolve,reject2,localErr){return function(err,rows,fields){if(err){localErr.message=err.message;localErr.code=err.code;localErr.errno=err.errno;localErr.sql=err.sql;localErr.sqlState=err.sqlState;localErr.sqlMessage=err.sqlMessage;reject2(localErr)}else{resolve([rows,fields])}}}module2.exports=makeDoneCb}});var require_prepared_statement_info=__commonJS({"node_modules/mysql2/lib/promise/prepared_statement_info.js"(exports2,module2){"use strict";var makeDoneCb=require_make_done_cb();var PromisePreparedStatementInfo=class{constructor(statement,promiseImpl){this.statement=statement;this.Promise=promiseImpl}execute(parameters){const s=this.statement;const localErr=new Error;return new this.Promise((resolve,reject2)=>{const done=makeDoneCb(resolve,reject2,localErr);if(parameters){s.execute(parameters,done)}else{s.execute(done)}})}close(){return new this.Promise(resolve=>{this.statement.close();resolve()})}};module2.exports=PromisePreparedStatementInfo}});var require_inherit_events=__commonJS({"node_modules/mysql2/lib/promise/inherit_events.js"(exports2,module2){"use strict";function inheritEvents(source,target,events){const listeners={};target.on("newListener",eventName=>{if(events.indexOf(eventName)>=0&&!target.listenerCount(eventName)){source.on(eventName,listeners[eventName]=function(){const args2=[].slice.call(arguments);args2.unshift(eventName);target.emit.apply(target,args2)})}}).on("removeListener",eventName=>{if(events.indexOf(eventName)>=0&&!target.listenerCount(eventName)){source.removeListener(eventName,listeners[eventName]);delete listeners[eventName]}})}module2.exports=inheritEvents}});var require_connection2=__commonJS({"node_modules/mysql2/lib/promise/connection.js"(exports2,module2){"use strict";var EventEmitter3=require("events").EventEmitter;var PromisePreparedStatementInfo=require_prepared_statement_info();var makeDoneCb=require_make_done_cb();var inheritEvents=require_inherit_events();var BaseConnection=require_connection();var PromiseConnection=class extends EventEmitter3{constructor(connection,promiseImpl){super();this.connection=connection;this.Promise=promiseImpl||Promise;inheritEvents(connection,this,["error","drain","connect","end","enqueue"])}release(){this.connection.release()}query(query,params){const c=this.connection;const localErr=new Error;if(typeof params==="function"){throw new Error("Callback function is not available with promise clients.")}return new this.Promise((resolve,reject2)=>{const done=makeDoneCb(resolve,reject2,localErr);if(params!==void 0){c.query(query,params,done)}else{c.query(query,done)}})}execute(query,params){const c=this.connection;const localErr=new Error;if(typeof params==="function"){throw new Error("Callback function is not available with promise clients.")}return new this.Promise((resolve,reject2)=>{const done=makeDoneCb(resolve,reject2,localErr);if(params!==void 0){c.execute(query,params,done)}else{c.execute(query,done)}})}end(){return new this.Promise(resolve=>{this.connection.end(resolve)})}beginTransaction(){const c=this.connection;const localErr=new Error;return new this.Promise((resolve,reject2)=>{const done=makeDoneCb(resolve,reject2,localErr);c.beginTransaction(done)})}commit(){const c=this.connection;const localErr=new Error;return new this.Promise((resolve,reject2)=>{const done=makeDoneCb(resolve,reject2,localErr);c.commit(done)})}rollback(){const c=this.connection;const localErr=new Error;return new this.Promise((resolve,reject2)=>{const done=makeDoneCb(resolve,reject2,localErr);c.rollback(done)})}ping(){const c=this.connection;const localErr=new Error;return new this.Promise((resolve,reject2)=>{c.ping(err=>{if(err){localErr.message=err.message;localErr.code=err.code;localErr.errno=err.errno;localErr.sqlState=err.sqlState;localErr.sqlMessage=err.sqlMessage;reject2(localErr)}else{resolve(true)}})})}connect(){const c=this.connection;const localErr=new Error;return new this.Promise((resolve,reject2)=>{c.connect((err,param)=>{if(err){localErr.message=err.message;localErr.code=err.code;localErr.errno=err.errno;localErr.sqlState=err.sqlState;localErr.sqlMessage=err.sqlMessage;reject2(localErr)}else{resolve(param)}})})}prepare(options){const c=this.connection;const promiseImpl=this.Promise;const localErr=new Error;return new this.Promise((resolve,reject2)=>{c.prepare(options,(err,statement)=>{if(err){localErr.message=err.message;localErr.code=err.code;localErr.errno=err.errno;localErr.sqlState=err.sqlState;localErr.sqlMessage=err.sqlMessage;reject2(localErr)}else{const wrappedStatement=new PromisePreparedStatementInfo(statement,promiseImpl);resolve(wrappedStatement)}})})}changeUser(options){const c=this.connection;const localErr=new Error;return new this.Promise((resolve,reject2)=>{c.changeUser(options,err=>{if(err){localErr.message=err.message;localErr.code=err.code;localErr.errno=err.errno;localErr.sqlState=err.sqlState;localErr.sqlMessage=err.sqlMessage;reject2(localErr)}else{resolve()}})})}get config(){return this.connection.config}get threadId(){return this.connection.threadId}};(function(functionsToWrap){for(let i=0;functionsToWrap&&i<functionsToWrap.length;i++){const func=functionsToWrap[i];if(typeof BaseConnection.prototype[func]==="function"&&PromiseConnection.prototype[func]===void 0){PromiseConnection.prototype[func]=function factory(funcName){return function(){return BaseConnection.prototype[funcName].apply(this.connection,arguments)}}(func)}}})(["close","createBinlogStream","destroy","escape","escapeId","format","pause","pipe","resume","unprepare"]);module2.exports=PromiseConnection}});var require_pool_connection2=__commonJS({"node_modules/mysql2/lib/promise/pool_connection.js"(exports2,module2){"use strict";var PromiseConnection=require_connection2();var BasePoolConnection=require_pool_connection();var PromisePoolConnection=class extends PromiseConnection{constructor(connection,promiseImpl){super(connection,promiseImpl)}destroy(){return BasePoolConnection.prototype.destroy.apply(this.connection,arguments)}};module2.exports=PromisePoolConnection}});var require_pool_connection3=__commonJS({"node_modules/mysql2/lib/pool_connection.js"(exports2,module2){"use strict";var BasePoolConnection=require_pool_connection();var PoolConnection=class extends BasePoolConnection{promise(promiseImpl){const PromisePoolConnection=require_pool_connection2();return new PromisePoolConnection(this,promiseImpl)}};module2.exports=PoolConnection}});var require_pool=__commonJS({"node_modules/mysql2/lib/base/pool.js"(exports2,module2){"use strict";var process6=require("process");var SqlString=require_sqlstring();var EventEmitter3=require("events").EventEmitter;var PoolConnection=require_pool_connection3();var Queue=require_denque();var BaseConnection=require_connection();function spliceConnection(queue,connection){const len=queue.length;for(let i=0;i<len;i++){if(queue.get(i)===connection){queue.removeOne(i);break}}}var BasePool=class extends EventEmitter3{constructor(options){super();this.config=options.config;this.config.connectionConfig.pool=this;this._allConnections=new Queue;this._freeConnections=new Queue;this._connectionQueue=new Queue;this._closed=false;if(this.config.maxIdle<this.config.connectionLimit){this._removeIdleTimeoutConnections()}}getConnection(cb){if(this._closed){return process6.nextTick(()=>cb(new Error("Pool is closed.")))}let connection;if(this._freeConnections.length>0){connection=this._freeConnections.pop();this.emit("acquire",connection);return process6.nextTick(()=>cb(null,connection))}if(this.config.connectionLimit===0||this._allConnections.length<this.config.connectionLimit){connection=new PoolConnection(this,{config:this.config.connectionConfig});this._allConnections.push(connection);return connection.connect(err=>{if(this._closed){return cb(new Error("Pool is closed."))}if(err){return cb(err)}this.emit("connection",connection);this.emit("acquire",connection);return cb(null,connection)})}if(!this.config.waitForConnections){return process6.nextTick(()=>cb(new Error("No connections available.")))}if(this.config.queueLimit&&this._connectionQueue.length>=this.config.queueLimit){return cb(new Error("Queue limit reached."))}this.emit("enqueue");return this._connectionQueue.push(cb)}releaseConnection(connection){let cb;if(!connection._pool){if(this._connectionQueue.length){cb=this._connectionQueue.shift();process6.nextTick(this.getConnection.bind(this,cb))}}else if(this._connectionQueue.length){cb=this._connectionQueue.shift();process6.nextTick(cb.bind(null,null,connection))}else{this._freeConnections.push(connection);this.emit("release",connection)}}end(cb){this._closed=true;clearTimeout(this._removeIdleTimeoutConnectionsTimer);if(typeof cb!=="function"){cb=function(err){if(err){throw err}}}let calledBack=false;let closedConnections=0;let connection;const endCB=function(err){if(calledBack){return}if(err||++closedConnections>=this._allConnections.length){calledBack=true;cb(err);return}}.bind(this);if(this._allConnections.length===0){endCB();return}for(let i=0;i<this._allConnections.length;i++){connection=this._allConnections.get(i);connection._realEnd(endCB)}}query(sql,values2,cb){const cmdQuery=BaseConnection.createQuery(sql,values2,cb,this.config.connectionConfig);if(typeof cmdQuery.namedPlaceholders==="undefined"){cmdQuery.namedPlaceholders=this.config.connectionConfig.namedPlaceholders}this.getConnection((err,conn)=>{if(err){if(typeof cmdQuery.onResult==="function"){cmdQuery.onResult(err)}else{cmdQuery.emit("error",err)}return}try{conn.query(cmdQuery).once("end",()=>{conn.release()})}catch(e){conn.release();throw e}});return cmdQuery}execute(sql,values2,cb){if(typeof values2==="function"){cb=values2;values2=[]}this.getConnection((err,conn)=>{if(err){return cb(err)}try{conn.execute(sql,values2,cb).once("end",()=>{conn.release()})}catch(e){conn.release();return cb(e)}})}_removeConnection(connection){spliceConnection(this._allConnections,connection);spliceConnection(this._freeConnections,connection);this.releaseConnection(connection)}_removeIdleTimeoutConnections(){if(this._removeIdleTimeoutConnectionsTimer){clearTimeout(this._removeIdleTimeoutConnectionsTimer)}this._removeIdleTimeoutConnectionsTimer=setTimeout(()=>{try{while(this._freeConnections.length>this.config.maxIdle||this._freeConnections.length>0&&Date.now()-this._freeConnections.get(0).lastActiveTime>this.config.idleTimeout){this._freeConnections.get(0).destroy()}}finally{this._removeIdleTimeoutConnections()}},1e3)}format(sql,values2){return SqlString.format(sql,values2,this.config.connectionConfig.stringifyObjects,this.config.connectionConfig.timezone)}escape(value){return SqlString.escape(value,this.config.connectionConfig.stringifyObjects,this.config.connectionConfig.timezone)}escapeId(value){return SqlString.escapeId(value,false)}};module2.exports=BasePool}});var require_pool2=__commonJS({"node_modules/mysql2/lib/promise/pool.js"(exports2,module2){"use strict";var EventEmitter3=require("events").EventEmitter;var makeDoneCb=require_make_done_cb();var PromisePoolConnection=require_pool_connection2();var inheritEvents=require_inherit_events();var BasePool=require_pool();var PromisePool=class extends EventEmitter3{constructor(pool2,thePromise){super();this.pool=pool2;this.Promise=thePromise||Promise;inheritEvents(pool2,this,["acquire","connection","enqueue","release"])}getConnection(){const corePool=this.pool;return new this.Promise((resolve,reject2)=>{corePool.getConnection((err,coreConnection)=>{if(err){reject2(err)}else{resolve(new PromisePoolConnection(coreConnection,this.Promise))}})})}releaseConnection(connection){if(connection instanceof PromisePoolConnection)connection.release()}query(sql,args2){const corePool=this.pool;const localErr=new Error;if(typeof args2==="function"){throw new Error("Callback function is not available with promise clients.")}return new this.Promise((resolve,reject2)=>{const done=makeDoneCb(resolve,reject2,localErr);if(args2!==void 0){corePool.query(sql,args2,done)}else{corePool.query(sql,done)}})}execute(sql,args2){const corePool=this.pool;const localErr=new Error;if(typeof args2==="function"){throw new Error("Callback function is not available with promise clients.")}return new this.Promise((resolve,reject2)=>{const done=makeDoneCb(resolve,reject2,localErr);if(args2){corePool.execute(sql,args2,done)}else{corePool.execute(sql,done)}})}end(){const corePool=this.pool;const localErr=new Error;return new this.Promise((resolve,reject2)=>{corePool.end(err=>{if(err){localErr.message=err.message;localErr.code=err.code;localErr.errno=err.errno;localErr.sqlState=err.sqlState;localErr.sqlMessage=err.sqlMessage;reject2(localErr)}else{resolve()}})})}};(function(functionsToWrap){for(let i=0;functionsToWrap&&i<functionsToWrap.length;i++){const func=functionsToWrap[i];if(typeof BasePool.prototype[func]==="function"&&PromisePool.prototype[func]===void 0){PromisePool.prototype[func]=function factory(funcName){return function(){return BasePool.prototype[funcName].apply(this.pool,arguments)}}(func)}}})(["escape","escapeId","format"]);module2.exports=PromisePool}});var require_pool3=__commonJS({"node_modules/mysql2/lib/pool.js"(exports2,module2){"use strict";var BasePool=require_pool();var Pool=class extends BasePool{promise(promiseImpl){const PromisePool=require_pool2();return new PromisePool(this,promiseImpl)}};module2.exports=Pool}});var require_pool_config=__commonJS({"node_modules/mysql2/lib/pool_config.js"(exports2,module2){"use strict";var ConnectionConfig=require_connection_config();var PoolConfig=class{constructor(options){if(typeof options==="string"){options=ConnectionConfig.parseUrl(options)}this.connectionConfig=new ConnectionConfig(options);this.waitForConnections=options.waitForConnections===void 0?true:Boolean(options.waitForConnections);this.connectionLimit=isNaN(options.connectionLimit)?10:Number(options.connectionLimit);this.maxIdle=isNaN(options.maxIdle)?this.connectionLimit:Number(options.maxIdle);this.idleTimeout=isNaN(options.idleTimeout)?6e4:Number(options.idleTimeout);this.queueLimit=isNaN(options.queueLimit)?0:Number(options.queueLimit)}};module2.exports=PoolConfig}});var require_connection3=__commonJS({"node_modules/mysql2/lib/connection.js"(exports2,module2){"use strict";var BaseConnection=require_connection();var Connection=class extends BaseConnection{promise(promiseImpl){const PromiseConnection=require_connection2();return new PromiseConnection(this,promiseImpl)}};module2.exports=Connection}});var require_pool_cluster=__commonJS({"node_modules/mysql2/lib/pool_cluster.js"(exports2,module2){"use strict";var process6=require("process");var Pool=require_pool3();var PoolConfig=require_pool_config();var Connection=require_connection3();var EventEmitter3=require("events").EventEmitter;var makeSelector={RR(){let index=0;return clusterIds=>clusterIds[index++%clusterIds.length]},RANDOM(){return clusterIds=>clusterIds[Math.floor(Math.random()*clusterIds.length)]},ORDER(){return clusterIds=>clusterIds[0]}};var getMonotonicMilliseconds=function(){let ms;if(typeof process6.hrtime==="function"){ms=process6.hrtime();ms=ms[0]*1e3+ms[1]*1e-6}else{ms=process6.uptime()*1e3}return Math.floor(ms)};var PoolNamespace=class{constructor(cluster,pattern,selector){this._cluster=cluster;this._pattern=pattern;this._selector=makeSelector[selector]()}getConnection(cb){const clusterNode=this._getClusterNode();if(clusterNode===null){let err=new Error("Pool does Not exist.");err.code="POOL_NOEXIST";if(this._cluster._findNodeIds(this._pattern,true).length!==0){err=new Error("Pool does Not have online node.");err.code="POOL_NONEONLINE"}return cb(err)}return this._cluster._getConnection(clusterNode,(err,connection)=>{if(err){if(this._cluster._canRetry&&this._cluster._findNodeIds(this._pattern).length!==0){this._cluster.emit("warn",err);return this.getConnection(cb)}return cb(err)}return cb(null,connection)})}query(sql,values2,cb){const query=Connection.createQuery(sql,values2,cb,{});this.getConnection((err,conn)=>{if(err){if(typeof query.onResult==="function"){query.onResult(err)}else{query.emit("error",err)}return}try{conn.query(query).once("end",()=>{conn.release()})}catch(e){conn.release();throw e}});return query}execute(sql,values2,cb){if(typeof values2==="function"){cb=values2;values2=[]}this.getConnection((err,conn)=>{if(err){return cb(err)}try{conn.execute(sql,values2,cb).once("end",()=>{conn.release()})}catch(e){conn.release();throw e}})}_getClusterNode(){const foundNodeIds=this._cluster._findNodeIds(this._pattern);if(foundNodeIds.length===0){return null}const nodeId=foundNodeIds.length===1?foundNodeIds[0]:this._selector(foundNodeIds);return this._cluster._getNode(nodeId)}};var PoolCluster=class extends EventEmitter3{constructor(config){super();config=config||{};this._canRetry=typeof config.canRetry==="undefined"?true:config.canRetry;this._removeNodeErrorCount=config.removeNodeErrorCount||5;this._restoreNodeTimeout=config.restoreNodeTimeout||0;this._defaultSelector=config.defaultSelector||"RR";this._closed=false;this._lastId=0;this._nodes={};this._serviceableNodeIds=[];this._namespaces={};this._findCaches={}}of(pattern,selector){pattern=pattern||"*";selector=selector||this._defaultSelector;selector=selector.toUpperCase();if(!makeSelector[selector]==="undefined"){selector=this._defaultSelector}const key=pattern+selector;if(typeof this._namespaces[key]==="undefined"){this._namespaces[key]=new PoolNamespace(this,pattern,selector)}return this._namespaces[key]}add(id,config){if(typeof id==="object"){config=id;id=`CLUSTER::${++this._lastId}`}if(typeof this._nodes[id]==="undefined"){this._nodes[id]={id,errorCount:0,pool:new Pool({config:new PoolConfig(config)}),_offlineUntil:0};this._serviceableNodeIds.push(id);this._clearFindCaches()}}remove(pattern){const foundNodeIds=this._findNodeIds(pattern,true);for(let i=0;i<foundNodeIds.length;i++){const node=this._getNode(foundNodeIds[i]);if(node){this._removeNode(node)}}}getConnection(pattern,selector,cb){let namespace;if(typeof pattern==="function"){cb=pattern;namespace=this.of()}else{if(typeof selector==="function"){cb=selector;selector=this._defaultSelector}namespace=this.of(pattern,selector)}namespace.getConnection(cb)}end(callback){const cb=callback!==void 0?callback:err=>{if(err){throw err}};if(this._closed){process6.nextTick(cb);return}this._closed=true;let calledBack=false;let waitingClose=0;const onEnd=err=>{if(!calledBack&&(err||--waitingClose<=0)){calledBack=true;return cb(err)}};for(const id in this._nodes){waitingClose++;this._nodes[id].pool.end(onEnd)}if(waitingClose===0){process6.nextTick(onEnd)}}_findNodeIds(pattern,includeOffline){let currentTime=0;let foundNodeIds=this._findCaches[pattern];if(typeof this._findCaches[pattern]==="undefined"){if(pattern==="*"){foundNodeIds=this._serviceableNodeIds}else if(this._serviceableNodeIds.indexOf(pattern)!==-1){foundNodeIds=[pattern]}else{const keyword=pattern.substring(pattern.length-1,0);foundNodeIds=this._serviceableNodeIds.filter(id=>id.startsWith(keyword))}}this._findCaches[pattern]=foundNodeIds;if(includeOffline){return foundNodeIds}return foundNodeIds.filter(nodeId=>{const node=this._getNode(nodeId);if(!node._offlineUntil){return true}if(!currentTime){currentTime=getMonotonicMilliseconds()}return node._offlineUntil<=currentTime})}_getNode(id){return this._nodes[id]||null}_increaseErrorCount(node){const errorCount=++node.errorCount;if(this._removeNodeErrorCount>errorCount){return}if(this._restoreNodeTimeout>0){node._offlineUntil=getMonotonicMilliseconds()+this._restoreNodeTimeout;this.emit("offline",node.id);return}this._removeNode(node);this.emit("remove",node.id)}_decreaseErrorCount(node){let errorCount=node.errorCount;if(errorCount>this._removeNodeErrorCount){errorCount=this._removeNodeErrorCount}if(errorCount<1){errorCount=1}node.errorCount=errorCount-1;if(node._offlineUntil){node._offlineUntil=0;this.emit("online",node.id)}}_getConnection(node,cb){node.pool.getConnection((err,connection)=>{if(err){this._increaseErrorCount(node);return cb(err)}this._decreaseErrorCount(node);connection._clusterId=node.id;return cb(null,connection)})}_removeNode(node){const index=this._serviceableNodeIds.indexOf(node.id);if(index!==-1){this._serviceableNodeIds.splice(index,1);delete this._nodes[node.id];this._clearFindCaches();node.pool.end()}}_clearFindCaches(){this._findCaches={}}};module2.exports=PoolCluster}});var require_create_connection=__commonJS({"node_modules/mysql2/lib/create_connection.js"(exports2,module2){"use strict";var Connection=require_connection3();var ConnectionConfig=require_connection_config();function createConnection(opts){return new Connection({config:new ConnectionConfig(opts)})}module2.exports=createConnection}});var require_create_pool=__commonJS({"node_modules/mysql2/lib/create_pool.js"(exports2,module2){"use strict";var Pool=require_pool3();var PoolConfig=require_pool_config();function createPool(config){return new Pool({config:new PoolConfig(config)})}module2.exports=createPool}});var require_create_pool_cluster=__commonJS({"node_modules/mysql2/lib/create_pool_cluster.js"(exports2,module2){"use strict";var PoolCluster=require_pool_cluster();function createPoolCluster(config){return new PoolCluster(config)}module2.exports=createPoolCluster}});var require_promise2=__commonJS({"node_modules/mysql2/promise.js"(exports2){"use strict";var SqlString=require_sqlstring();var EventEmitter3=require("events").EventEmitter;var parserCache=require_parser_cache();var PoolCluster=require_pool_cluster();var createConnection=require_create_connection();var createPool=require_create_pool();var createPoolCluster=require_create_pool_cluster();var PromiseConnection=require_connection2();var PromisePool=require_pool2();var makeDoneCb=require_make_done_cb();var PromisePoolConnection=require_pool_connection2();var inheritEvents=require_inherit_events();function createConnectionPromise(opts){const coreConnection=createConnection(opts);const createConnectionErr=new Error;const thePromise=opts.Promise||Promise;if(!thePromise){throw new Error("no Promise implementation available.Use promise-enabled node version or pass userland Promise implementation as parameter, for example: { Promise: require('bluebird') }")}return new thePromise((resolve,reject2)=>{coreConnection.once("connect",()=>{resolve(new PromiseConnection(coreConnection,thePromise))});coreConnection.once("error",err=>{createConnectionErr.message=err.message;createConnectionErr.code=err.code;createConnectionErr.errno=err.errno;createConnectionErr.sqlState=err.sqlState;reject2(createConnectionErr)})})}function createPromisePool(opts){const corePool=createPool(opts);const thePromise=opts.Promise||Promise;if(!thePromise){throw new Error("no Promise implementation available.Use promise-enabled node version or pass userland Promise implementation as parameter, for example: { Promise: require('bluebird') }")}return new PromisePool(corePool,thePromise)}var PromisePoolCluster=class _PromisePoolCluster extends EventEmitter3{constructor(poolCluster,thePromise){super();this.poolCluster=poolCluster;this.Promise=thePromise||Promise;inheritEvents(poolCluster,this,["warn","remove","online","offline"])}getConnection(pattern,selector){const corePoolCluster=this.poolCluster;return new this.Promise((resolve,reject2)=>{corePoolCluster.getConnection(pattern,selector,(err,coreConnection)=>{if(err){reject2(err)}else{resolve(new PromisePoolConnection(coreConnection,this.Promise))}})})}query(sql,args2){const corePoolCluster=this.poolCluster;const localErr=new Error;if(typeof args2==="function"){throw new Error("Callback function is not available with promise clients.")}return new this.Promise((resolve,reject2)=>{const done=makeDoneCb(resolve,reject2,localErr);corePoolCluster.query(sql,args2,done)})}execute(sql,args2){const corePoolCluster=this.poolCluster;const localErr=new Error;if(typeof args2==="function"){throw new Error("Callback function is not available with promise clients.")}return new this.Promise((resolve,reject2)=>{const done=makeDoneCb(resolve,reject2,localErr);corePoolCluster.execute(sql,args2,done)})}of(pattern,selector){return new _PromisePoolCluster(this.poolCluster.of(pattern,selector),this.Promise)}end(){const corePoolCluster=this.poolCluster;const localErr=new Error;return new this.Promise((resolve,reject2)=>{corePoolCluster.end(err=>{if(err){localErr.message=err.message;localErr.code=err.code;localErr.errno=err.errno;localErr.sqlState=err.sqlState;localErr.sqlMessage=err.sqlMessage;reject2(localErr)}else{resolve()}})})}};(function(functionsToWrap){for(let i=0;functionsToWrap&&i<functionsToWrap.length;i++){const func=functionsToWrap[i];if(typeof PoolCluster.prototype[func]==="function"&&PromisePoolCluster.prototype[func]===void 0){PromisePoolCluster.prototype[func]=function factory(funcName){return function(){return PoolCluster.prototype[funcName].apply(this.poolCluster,arguments)}}(func)}}})(["add","remove"]);function createPromisePoolCluster(opts){const corePoolCluster=createPoolCluster(opts);const thePromise=opts&&opts.Promise||Promise;if(!thePromise){throw new Error("no Promise implementation available.Use promise-enabled node version or pass userland Promise implementation as parameter, for example: { Promise: require('bluebird') }")}return new PromisePoolCluster(corePoolCluster,thePromise)}exports2.createConnection=createConnectionPromise;exports2.createPool=createPromisePool;exports2.createPoolCluster=createPromisePoolCluster;exports2.escape=SqlString.escape;exports2.escapeId=SqlString.escapeId;exports2.format=SqlString.format;exports2.raw=SqlString.raw;exports2.PromisePool=PromisePool;exports2.PromiseConnection=PromiseConnection;exports2.PromisePoolConnection=PromisePoolConnection;exports2.__defineGetter__("Types",()=>require_types());exports2.__defineGetter__("Charsets",()=>require_charsets());exports2.__defineGetter__("CharsetToEncoding",()=>require_charset_encodings());exports2.setMaxParserCache=function(max3){parserCache.setMaxCache(max3)};exports2.clearParserCache=function(){parserCache.clearCache()}}});var require_errors3=__commonJS({"node_modules/openid-client/lib/errors.js"(exports2,module2){var{format:format2}=require("util");var OPError=class extends Error{constructor({error_description,error,error_uri,session_state,state,scope},response){super(!error_description?error:`${error} (${error_description})`);Object.assign(this,{error},error_description&&{error_description},error_uri&&{error_uri},state&&{state},scope&&{scope},session_state&&{session_state});if(response){Object.defineProperty(this,"response",{value:response})}this.name=this.constructor.name;Error.captureStackTrace(this,this.constructor)}};var RPError=class extends Error{constructor(...args2){if(typeof args2[0]==="string"){super(format2(...args2))}else{const{message:message3,printf,response,...rest2}=args2[0];if(printf){super(format2(...printf))}else{super(message3)}Object.assign(this,rest2);if(response){Object.defineProperty(this,"response",{value:response})}}this.name=this.constructor.name;Error.captureStackTrace(this,this.constructor)}};module2.exports={OPError,RPError}}});var require_digest=__commonJS({"node_modules/jose/dist/node/cjs/runtime/digest.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});var crypto_1=require("crypto");var digest2=(algorithm,data)=>(0,crypto_1.createHash)(algorithm).update(data).digest();exports2.default=digest2}});var require_buffer_utils=__commonJS({"node_modules/jose/dist/node/cjs/lib/buffer_utils.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.concatKdf=exports2.lengthAndInput=exports2.uint32be=exports2.uint64be=exports2.p2s=exports2.concat=exports2.decoder=exports2.encoder=void 0;var digest_js_1=require_digest();exports2.encoder=new TextEncoder;exports2.decoder=new TextDecoder;var MAX_INT322=2**32;function concat3(...buffers){const size2=buffers.reduce((acc,{length})=>acc+length,0);const buf=new Uint8Array(size2);let i=0;buffers.forEach(buffer=>{buf.set(buffer,i);i+=buffer.length});return buf}exports2.concat=concat3;function p2s2(alg,p2sInput){return concat3(exports2.encoder.encode(alg),new Uint8Array([0]),p2sInput)}exports2.p2s=p2s2;function writeUInt32BE2(buf,value,offset){if(value<0||value>=MAX_INT322){throw new RangeError(`value must be >= 0 and <= ${MAX_INT322-1}. Received ${value}`)}buf.set([value>>>24,value>>>16,value>>>8,value&255],offset)}function uint64be2(value){const high=Math.floor(value/MAX_INT322);const low=value%MAX_INT322;const buf=new Uint8Array(8);writeUInt32BE2(buf,high,0);writeUInt32BE2(buf,low,4);return buf}exports2.uint64be=uint64be2;function uint32be2(value){const buf=new Uint8Array(4);writeUInt32BE2(buf,value);return buf}exports2.uint32be=uint32be2;function lengthAndInput2(input){return concat3(uint32be2(input.length),input)}exports2.lengthAndInput=lengthAndInput2;async function concatKdf2(secret,bits,value){const iterations=Math.ceil((bits>>3)/32);const res=new Uint8Array(iterations*32);for(let iter=0;iter<iterations;iter++){const buf=new Uint8Array(4+secret.length+value.length);buf.set(uint32be2(iter+1));buf.set(secret,4);buf.set(value,4+secret.length);res.set(await(0,digest_js_1.default)("sha256",buf),iter*32)}return res.slice(0,bits>>3)}exports2.concatKdf=concatKdf2}});var require_base64url=__commonJS({"node_modules/jose/dist/node/cjs/runtime/base64url.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.decode=exports2.encode=exports2.encodeBase64=exports2.decodeBase64=void 0;var buffer_1=require("buffer");var buffer_utils_js_1=require_buffer_utils();var encode2;function normalize(input){let encoded=input;if(encoded instanceof Uint8Array){encoded=buffer_utils_js_1.decoder.decode(encoded)}return encoded}if(buffer_1.Buffer.isEncoding("base64url")){exports2.encode=encode2=input=>buffer_1.Buffer.from(input).toString("base64url")}else{exports2.encode=encode2=input=>buffer_1.Buffer.from(input).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}var decodeBase64=input=>buffer_1.Buffer.from(input,"base64");exports2.decodeBase64=decodeBase64;var encodeBase64=input=>buffer_1.Buffer.from(input).toString("base64");exports2.encodeBase64=encodeBase64;var decode=input=>buffer_1.Buffer.from(normalize(input),"base64");exports2.decode=decode}});var require_errors4=__commonJS({"node_modules/jose/dist/node/cjs/util/errors.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.JWSSignatureVerificationFailed=exports2.JWKSTimeout=exports2.JWKSMultipleMatchingKeys=exports2.JWKSNoMatchingKey=exports2.JWKSInvalid=exports2.JWKInvalid=exports2.JWTInvalid=exports2.JWSInvalid=exports2.JWEInvalid=exports2.JWEDecompressionFailed=exports2.JWEDecryptionFailed=exports2.JOSENotSupported=exports2.JOSEAlgNotAllowed=exports2.JWTExpired=exports2.JWTClaimValidationFailed=exports2.JOSEError=void 0;var JOSEError2=class extends Error{static get code(){return"ERR_JOSE_GENERIC"}constructor(message3){var _a12;super(message3);this.code="ERR_JOSE_GENERIC";this.name=this.constructor.name;(_a12=Error.captureStackTrace)===null||_a12===void 0?void 0:_a12.call(Error,this,this.constructor)}};exports2.JOSEError=JOSEError2;var JWTClaimValidationFailed=class extends JOSEError2{static get code(){return"ERR_JWT_CLAIM_VALIDATION_FAILED"}constructor(message3,claim="unspecified",reason="unspecified"){super(message3);this.code="ERR_JWT_CLAIM_VALIDATION_FAILED";this.claim=claim;this.reason=reason}};exports2.JWTClaimValidationFailed=JWTClaimValidationFailed;var JWTExpired=class extends JOSEError2{static get code(){return"ERR_JWT_EXPIRED"}constructor(message3,claim="unspecified",reason="unspecified"){super(message3);this.code="ERR_JWT_EXPIRED";this.claim=claim;this.reason=reason}};exports2.JWTExpired=JWTExpired;var JOSEAlgNotAllowed=class extends JOSEError2{constructor(){super(...arguments);this.code="ERR_JOSE_ALG_NOT_ALLOWED"}static get code(){return"ERR_JOSE_ALG_NOT_ALLOWED"}};exports2.JOSEAlgNotAllowed=JOSEAlgNotAllowed;var JOSENotSupported2=class extends JOSEError2{constructor(){super(...arguments);this.code="ERR_JOSE_NOT_SUPPORTED"}static get code(){return"ERR_JOSE_NOT_SUPPORTED"}};exports2.JOSENotSupported=JOSENotSupported2;var JWEDecryptionFailed=class extends JOSEError2{constructor(){super(...arguments);this.code="ERR_JWE_DECRYPTION_FAILED";this.message="decryption operation failed"}static get code(){return"ERR_JWE_DECRYPTION_FAILED"}};exports2.JWEDecryptionFailed=JWEDecryptionFailed;var JWEDecompressionFailed=class extends JOSEError2{constructor(){super(...arguments);this.code="ERR_JWE_DECOMPRESSION_FAILED";this.message="decompression operation failed"}static get code(){return"ERR_JWE_DECOMPRESSION_FAILED"}};exports2.JWEDecompressionFailed=JWEDecompressionFailed;var JWEInvalid2=class extends JOSEError2{constructor(){super(...arguments);this.code="ERR_JWE_INVALID"}static get code(){return"ERR_JWE_INVALID"}};exports2.JWEInvalid=JWEInvalid2;var JWSInvalid=class extends JOSEError2{constructor(){super(...arguments);this.code="ERR_JWS_INVALID"}static get code(){return"ERR_JWS_INVALID"}};exports2.JWSInvalid=JWSInvalid;var JWTInvalid=class extends JOSEError2{constructor(){super(...arguments);this.code="ERR_JWT_INVALID"}static get code(){return"ERR_JWT_INVALID"}};exports2.JWTInvalid=JWTInvalid;var JWKInvalid=class extends JOSEError2{constructor(){super(...arguments);this.code="ERR_JWK_INVALID"}static get code(){return"ERR_JWK_INVALID"}};exports2.JWKInvalid=JWKInvalid;var JWKSInvalid=class extends JOSEError2{constructor(){super(...arguments);this.code="ERR_JWKS_INVALID"}static get code(){return"ERR_JWKS_INVALID"}};exports2.JWKSInvalid=JWKSInvalid;var JWKSNoMatchingKey=class extends JOSEError2{constructor(){super(...arguments);this.code="ERR_JWKS_NO_MATCHING_KEY";this.message="no applicable key found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_NO_MATCHING_KEY"}};exports2.JWKSNoMatchingKey=JWKSNoMatchingKey;var JWKSMultipleMatchingKeys=class extends JOSEError2{constructor(){super(...arguments);this.code="ERR_JWKS_MULTIPLE_MATCHING_KEYS";this.message="multiple matching keys found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_MULTIPLE_MATCHING_KEYS"}};exports2.JWKSMultipleMatchingKeys=JWKSMultipleMatchingKeys;var JWKSTimeout=class extends JOSEError2{constructor(){super(...arguments);this.code="ERR_JWKS_TIMEOUT";this.message="request timed out"}static get code(){return"ERR_JWKS_TIMEOUT"}};exports2.JWKSTimeout=JWKSTimeout;var JWSSignatureVerificationFailed=class extends JOSEError2{constructor(){super(...arguments);this.code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";this.message="signature verification failed"}static get code(){return"ERR_JWS_SIGNATURE_VERIFICATION_FAILED"}};exports2.JWSSignatureVerificationFailed=JWSSignatureVerificationFailed}});var require_random=__commonJS({"node_modules/jose/dist/node/cjs/runtime/random.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.default=void 0;var crypto_1=require("crypto");Object.defineProperty(exports2,"default",{enumerable:true,get:function(){return crypto_1.randomFillSync}})}});var require_iv=__commonJS({"node_modules/jose/dist/node/cjs/lib/iv.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.bitLength=void 0;var errors_js_1=require_errors4();var random_js_1=require_random();function bitLength3(alg){switch(alg){case"A128GCM":case"A128GCMKW":case"A192GCM":case"A192GCMKW":case"A256GCM":case"A256GCMKW":return 96;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return 128;default:throw new errors_js_1.JOSENotSupported(`Unsupported JWE Algorithm: ${alg}`)}}exports2.bitLength=bitLength3;exports2.default=alg=>(0,random_js_1.default)(new Uint8Array(bitLength3(alg)>>3))}});var require_check_iv_length=__commonJS({"node_modules/jose/dist/node/cjs/lib/check_iv_length.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});var errors_js_1=require_errors4();var iv_js_1=require_iv();var checkIvLength2=(enc,iv)=>{if(iv.length<<3!==(0,iv_js_1.bitLength)(enc)){throw new errors_js_1.JWEInvalid("Invalid Initialization Vector length")}};exports2.default=checkIvLength2}});var require_is_key_object=__commonJS({"node_modules/jose/dist/node/cjs/runtime/is_key_object.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});var crypto_1=require("crypto");var util4=require("util");exports2.default=util4.types.isKeyObject?obj=>util4.types.isKeyObject(obj):obj=>obj!=null&&obj instanceof crypto_1.KeyObject}});var require_check_cek_length=__commonJS({"node_modules/jose/dist/node/cjs/runtime/check_cek_length.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});var errors_js_1=require_errors4();var is_key_object_js_1=require_is_key_object();var checkCekLength2=(enc,cek)=>{let expected;switch(enc){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":expected=parseInt(enc.slice(-3),10);break;case"A128GCM":case"A192GCM":case"A256GCM":expected=parseInt(enc.slice(1,4),10);break;default:throw new errors_js_1.JOSENotSupported(`Content Encryption Algorithm ${enc} is not supported either by JOSE or your javascript runtime`)}if(cek instanceof Uint8Array){const actual=cek.byteLength<<3;if(actual!==expected){throw new errors_js_1.JWEInvalid(`Invalid Content Encryption Key length. Expected ${expected} bits, got ${actual} bits`)}return}if((0,is_key_object_js_1.default)(cek)&&cek.type==="secret"){const actual=cek.symmetricKeySize<<3;if(actual!==expected){throw new errors_js_1.JWEInvalid(`Invalid Content Encryption Key length. Expected ${expected} bits, got ${actual} bits`)}return}throw new TypeError("Invalid Content Encryption Key type")};exports2.default=checkCekLength2}});var require_timing_safe_equal=__commonJS({"node_modules/jose/dist/node/cjs/runtime/timing_safe_equal.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});var crypto_1=require("crypto");var timingSafeEqual=crypto_1.timingSafeEqual;exports2.default=timingSafeEqual}});var require_cbc_tag=__commonJS({"node_modules/jose/dist/node/cjs/runtime/cbc_tag.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});var crypto_1=require("crypto");var buffer_utils_js_1=require_buffer_utils();function cbcTag2(aad,iv,ciphertext,macSize,macKey,keySize){const macData=(0,buffer_utils_js_1.concat)(aad,iv,ciphertext,(0,buffer_utils_js_1.uint64be)(aad.length<<3));const hmac=(0,crypto_1.createHmac)(`sha${macSize}`,macKey);hmac.update(macData);return hmac.digest().slice(0,keySize>>3)}exports2.default=cbcTag2}});var require_webcrypto=__commonJS({"node_modules/jose/dist/node/cjs/runtime/webcrypto.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.isCryptoKey=void 0;var crypto6=require("crypto");var util4=require("util");var webcrypto3=crypto6.webcrypto;exports2.default=webcrypto3;exports2.isCryptoKey=util4.types.isCryptoKey?key=>util4.types.isCryptoKey(key):key=>false}});var require_crypto_key=__commonJS({"node_modules/jose/dist/node/cjs/lib/crypto_key.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.checkEncCryptoKey=exports2.checkSigCryptoKey=void 0;function unusable2(name,prop="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${prop} must be ${name}`)}function isAlgorithm2(algorithm,name){return algorithm.name===name}function getHashLength2(hash){return parseInt(hash.name.slice(4),10)}function getNamedCurve2(alg){switch(alg){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}function checkUsage2(key,usages){if(usages.length&&!usages.some(expected=>key.usages.includes(expected))){let msg="CryptoKey does not support this operation, its usages must include ";if(usages.length>2){const last2=usages.pop();msg+=`one of ${usages.join(", ")}, or ${last2}.`}else if(usages.length===2){msg+=`one of ${usages[0]} or ${usages[1]}.`}else{msg+=`${usages[0]}.`}throw new TypeError(msg)}}function checkSigCryptoKey(key,alg,...usages){switch(alg){case"HS256":case"HS384":case"HS512":{if(!isAlgorithm2(key.algorithm,"HMAC"))throw unusable2("HMAC");const expected=parseInt(alg.slice(2),10);const actual=getHashLength2(key.algorithm.hash);if(actual!==expected)throw unusable2(`SHA-${expected}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!isAlgorithm2(key.algorithm,"RSASSA-PKCS1-v1_5"))throw unusable2("RSASSA-PKCS1-v1_5");const expected=parseInt(alg.slice(2),10);const actual=getHashLength2(key.algorithm.hash);if(actual!==expected)throw unusable2(`SHA-${expected}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!isAlgorithm2(key.algorithm,"RSA-PSS"))throw unusable2("RSA-PSS");const expected=parseInt(alg.slice(2),10);const actual=getHashLength2(key.algorithm.hash);if(actual!==expected)throw unusable2(`SHA-${expected}`,"algorithm.hash");break}case"EdDSA":{if(key.algorithm.name!=="Ed25519"&&key.algorithm.name!=="Ed448"){throw unusable2("Ed25519 or Ed448")}break}case"ES256":case"ES384":case"ES512":{if(!isAlgorithm2(key.algorithm,"ECDSA"))throw unusable2("ECDSA");const expected=getNamedCurve2(alg);const actual=key.algorithm.namedCurve;if(actual!==expected)throw unusable2(expected,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}checkUsage2(key,usages)}exports2.checkSigCryptoKey=checkSigCryptoKey;function checkEncCryptoKey2(key,alg,...usages){switch(alg){case"A128GCM":case"A192GCM":case"A256GCM":{if(!isAlgorithm2(key.algorithm,"AES-GCM"))throw unusable2("AES-GCM");const expected=parseInt(alg.slice(1,4),10);const actual=key.algorithm.length;if(actual!==expected)throw unusable2(expected,"algorithm.length");break}case"A128KW":case"A192KW":case"A256KW":{if(!isAlgorithm2(key.algorithm,"AES-KW"))throw unusable2("AES-KW");const expected=parseInt(alg.slice(1,4),10);const actual=key.algorithm.length;if(actual!==expected)throw unusable2(expected,"algorithm.length");break}case"ECDH":{switch(key.algorithm.name){case"ECDH":case"X25519":case"X448":break;default:throw unusable2("ECDH, X25519, or X448")}break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":if(!isAlgorithm2(key.algorithm,"PBKDF2"))throw unusable2("PBKDF2");break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(!isAlgorithm2(key.algorithm,"RSA-OAEP"))throw unusable2("RSA-OAEP");const expected=parseInt(alg.slice(9),10)||1;const actual=getHashLength2(key.algorithm.hash);if(actual!==expected)throw unusable2(`SHA-${expected}`,"algorithm.hash");break}default:throw new TypeError("CryptoKey does not support this operation")}checkUsage2(key,usages)}exports2.checkEncCryptoKey=checkEncCryptoKey2}});var require_invalid_key_input=__commonJS({"node_modules/jose/dist/node/cjs/lib/invalid_key_input.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.withAlg=void 0;function message3(msg,actual,...types6){if(types6.length>2){const last2=types6.pop();msg+=`one of type ${types6.join(", ")}, or ${last2}.`}else if(types6.length===2){msg+=`one of type ${types6[0]} or ${types6[1]}.`}else{msg+=`of type ${types6[0]}.`}if(actual==null){msg+=` Received ${actual}`}else if(typeof actual==="function"&&actual.name){msg+=` Received function ${actual.name}`}else if(typeof actual==="object"&&actual!=null){if(actual.constructor&&actual.constructor.name){msg+=` Received an instance of ${actual.constructor.name}`}}return msg}exports2.default=(actual,...types6)=>{return message3("Key must be ",actual,...types6)};function withAlg2(alg,actual,...types6){return message3(`Key for the ${alg} algorithm must be `,actual,...types6)}exports2.withAlg=withAlg2}});var require_ciphers=__commonJS({"node_modules/jose/dist/node/cjs/runtime/ciphers.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});var crypto_1=require("crypto");var ciphers2;exports2.default=algorithm=>{ciphers2||(ciphers2=new Set((0,crypto_1.getCiphers)()));return ciphers2.has(algorithm)}}});var require_is_key_like=__commonJS({"node_modules/jose/dist/node/cjs/runtime/is_key_like.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.types=void 0;var webcrypto_js_1=require_webcrypto();var is_key_object_js_1=require_is_key_object();exports2.default=key=>(0,is_key_object_js_1.default)(key)||(0,webcrypto_js_1.isCryptoKey)(key);var types6=["KeyObject"];exports2.types=types6;if(globalThis.CryptoKey||(webcrypto_js_1.default===null||webcrypto_js_1.default===void 0?void 0:webcrypto_js_1.default.CryptoKey)){types6.push("CryptoKey")}}});var require_decrypt=__commonJS({"node_modules/jose/dist/node/cjs/runtime/decrypt.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});var crypto_1=require("crypto");var check_iv_length_js_1=require_check_iv_length();var check_cek_length_js_1=require_check_cek_length();var buffer_utils_js_1=require_buffer_utils();var errors_js_1=require_errors4();var timing_safe_equal_js_1=require_timing_safe_equal();var cbc_tag_js_1=require_cbc_tag();var webcrypto_js_1=require_webcrypto();var crypto_key_js_1=require_crypto_key();var is_key_object_js_1=require_is_key_object();var invalid_key_input_js_1=require_invalid_key_input();var ciphers_js_1=require_ciphers();var is_key_like_js_1=require_is_key_like();function cbcDecrypt(enc,cek,ciphertext,iv,tag,aad){const keySize=parseInt(enc.slice(1,4),10);if((0,is_key_object_js_1.default)(cek)){cek=cek.export()}const encKey=cek.subarray(keySize>>3);const macKey=cek.subarray(0,keySize>>3);const macSize=parseInt(enc.slice(-3),10);const algorithm=`aes-${keySize}-cbc`;if(!(0,ciphers_js_1.default)(algorithm)){throw new errors_js_1.JOSENotSupported(`alg ${enc} is not supported by your javascript runtime`)}const expectedTag=(0,cbc_tag_js_1.default)(aad,iv,ciphertext,macSize,macKey,keySize);let macCheckPassed;try{macCheckPassed=(0,timing_safe_equal_js_1.default)(tag,expectedTag)}catch{}if(!macCheckPassed){throw new errors_js_1.JWEDecryptionFailed}let plaintext;try{const decipher=(0,crypto_1.createDecipheriv)(algorithm,encKey,iv);plaintext=(0,buffer_utils_js_1.concat)(decipher.update(ciphertext),decipher.final())}catch{}if(!plaintext){throw new errors_js_1.JWEDecryptionFailed}return plaintext}function gcmDecrypt(enc,cek,ciphertext,iv,tag,aad){const keySize=parseInt(enc.slice(1,4),10);const algorithm=`aes-${keySize}-gcm`;if(!(0,ciphers_js_1.default)(algorithm)){throw new errors_js_1.JOSENotSupported(`alg ${enc} is not supported by your javascript runtime`)}try{const decipher=(0,crypto_1.createDecipheriv)(algorithm,cek,iv,{authTagLength:16});decipher.setAuthTag(tag);if(aad.byteLength){decipher.setAAD(aad,{plaintextLength:ciphertext.length})}const plaintext=decipher.update(ciphertext);decipher.final();return plaintext}catch{throw new errors_js_1.JWEDecryptionFailed}}var decrypt=(enc,cek,ciphertext,iv,tag,aad)=>{let key;if((0,webcrypto_js_1.isCryptoKey)(cek)){(0,crypto_key_js_1.checkEncCryptoKey)(cek,enc,"decrypt");key=crypto_1.KeyObject.from(cek)}else if(cek instanceof Uint8Array||(0,is_key_object_js_1.default)(cek)){key=cek}else{throw new TypeError((0,invalid_key_input_js_1.default)(cek,...is_key_like_js_1.types,"Uint8Array"))}(0,check_cek_length_js_1.default)(enc,key);(0,check_iv_length_js_1.default)(enc,iv);switch(enc){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return cbcDecrypt(enc,key,ciphertext,iv,tag,aad);case"A128GCM":case"A192GCM":case"A256GCM":return gcmDecrypt(enc,key,ciphertext,iv,tag,aad);default:throw new errors_js_1.JOSENotSupported("Unsupported JWE Content Encryption Algorithm")}};exports2.default=decrypt}});var require_zlib=__commonJS({"node_modules/jose/dist/node/cjs/runtime/zlib.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.deflate=exports2.inflate=void 0;var util_1=require("util");var zlib_1=require("zlib");var errors_js_1=require_errors4();var inflateRaw2=(0,util_1.promisify)(zlib_1.inflateRaw);var deflateRaw2=(0,util_1.promisify)(zlib_1.deflateRaw);var inflate=input=>inflateRaw2(input,{maxOutputLength:25e4}).catch(()=>{throw new errors_js_1.JWEDecompressionFailed});exports2.inflate=inflate;var deflate2=input=>deflateRaw2(input);exports2.deflate=deflate2}});var require_is_disjoint=__commonJS({"node_modules/jose/dist/node/cjs/lib/is_disjoint.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});var isDisjoint2=(...headers)=>{const sources=headers.filter(Boolean);if(sources.length===0||sources.length===1){return true}let acc;for(const header2 of sources){const parameters=Object.keys(header2);if(!acc||acc.size===0){acc=new Set(parameters);continue}for(const parameter of parameters){if(acc.has(parameter)){return false}acc.add(parameter)}}return true};exports2.default=isDisjoint2}});var require_is_object=__commonJS({"node_modules/jose/dist/node/cjs/lib/is_object.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});function isObjectLike3(value){return typeof value==="object"&&value!==null}function isObject4(input){if(!isObjectLike3(input)||Object.prototype.toString.call(input)!=="[object Object]"){return false}if(Object.getPrototypeOf(input)===null){return true}let proto2=input;while(Object.getPrototypeOf(proto2)!==null){proto2=Object.getPrototypeOf(proto2)}return Object.getPrototypeOf(input)===proto2}exports2.default=isObject4}});var require_aeskw=__commonJS({"node_modules/jose/dist/node/cjs/runtime/aeskw.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.unwrap=exports2.wrap=void 0;var buffer_1=require("buffer");var crypto_1=require("crypto");var errors_js_1=require_errors4();var buffer_utils_js_1=require_buffer_utils();var webcrypto_js_1=require_webcrypto();var crypto_key_js_1=require_crypto_key();var is_key_object_js_1=require_is_key_object();var invalid_key_input_js_1=require_invalid_key_input();var ciphers_js_1=require_ciphers();var is_key_like_js_1=require_is_key_like();function checkKeySize2(key,alg){if(key.symmetricKeySize<<3!==parseInt(alg.slice(1,4),10)){throw new TypeError(`Invalid key size for alg: ${alg}`)}}function ensureKeyObject3(key,alg,usage){if((0,is_key_object_js_1.default)(key)){return key}if(key instanceof Uint8Array){return(0,crypto_1.createSecretKey)(key)}if((0,webcrypto_js_1.isCryptoKey)(key)){(0,crypto_key_js_1.checkEncCryptoKey)(key,alg,usage);return crypto_1.KeyObject.from(key)}throw new TypeError((0,invalid_key_input_js_1.default)(key,...is_key_like_js_1.types,"Uint8Array"))}var wrap4=(alg,key,cek)=>{const size2=parseInt(alg.slice(1,4),10);const algorithm=`aes${size2}-wrap`;if(!(0,ciphers_js_1.default)(algorithm)){throw new errors_js_1.JOSENotSupported(`alg ${alg} is not supported either by JOSE or your javascript runtime`)}const keyObject=ensureKeyObject3(key,alg,"wrapKey");checkKeySize2(keyObject,alg);const cipher=(0,crypto_1.createCipheriv)(algorithm,keyObject,buffer_1.Buffer.alloc(8,166));return(0,buffer_utils_js_1.concat)(cipher.update(cek),cipher.final())};exports2.wrap=wrap4;var unwrap2=(alg,key,encryptedKey)=>{const size2=parseInt(alg.slice(1,4),10);const algorithm=`aes${size2}-wrap`;if(!(0,ciphers_js_1.default)(algorithm)){throw new errors_js_1.JOSENotSupported(`alg ${alg} is not supported either by JOSE or your javascript runtime`)}const keyObject=ensureKeyObject3(key,alg,"unwrapKey");checkKeySize2(keyObject,alg);const cipher=(0,crypto_1.createDecipheriv)(algorithm,keyObject,buffer_1.Buffer.alloc(8,166));return(0,buffer_utils_js_1.concat)(cipher.update(encryptedKey),cipher.final())};exports2.unwrap=unwrap2}});var require_get_named_curve=__commonJS({"node_modules/jose/dist/node/cjs/runtime/get_named_curve.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.setCurve=exports2.weakMap=void 0;var buffer_1=require("buffer");var crypto_1=require("crypto");var errors_js_1=require_errors4();var webcrypto_js_1=require_webcrypto();var is_key_object_js_1=require_is_key_object();var invalid_key_input_js_1=require_invalid_key_input();var is_key_like_js_1=require_is_key_like();var p2562=buffer_1.Buffer.from([42,134,72,206,61,3,1,7]);var p3842=buffer_1.Buffer.from([43,129,4,0,34]);var p5212=buffer_1.Buffer.from([43,129,4,0,35]);var secp256k12=buffer_1.Buffer.from([43,129,4,0,10]);exports2.weakMap=new WeakMap;var namedCurveToJOSE2=namedCurve=>{switch(namedCurve){case"prime256v1":return"P-256";case"secp384r1":return"P-384";case"secp521r1":return"P-521";case"secp256k1":return"secp256k1";default:throw new errors_js_1.JOSENotSupported("Unsupported key curve for this operation")}};var getNamedCurve2=(kee,raw)=>{var _a12;let key;if((0,webcrypto_js_1.isCryptoKey)(kee)){key=crypto_1.KeyObject.from(kee)}else if((0,is_key_object_js_1.default)(kee)){key=kee}else{throw new TypeError((0,invalid_key_input_js_1.default)(kee,...is_key_like_js_1.types))}if(key.type==="secret"){throw new TypeError('only "private" or "public" type keys can be used for this operation')}switch(key.asymmetricKeyType){case"ed25519":case"ed448":return`Ed${key.asymmetricKeyType.slice(2)}`;case"x25519":case"x448":return`X${key.asymmetricKeyType.slice(1)}`;case"ec":{if(exports2.weakMap.has(key)){return exports2.weakMap.get(key)}let namedCurve=(_a12=key.asymmetricKeyDetails)===null||_a12===void 0?void 0:_a12.namedCurve;if(!namedCurve&&key.type==="private"){namedCurve=getNamedCurve2((0,crypto_1.createPublicKey)(key),true)}else if(!namedCurve){const buf=key.export({format:"der",type:"spki"});const i=buf[1]<128?14:15;const len=buf[i];const curveOid=buf.slice(i+1,i+1+len);if(curveOid.equals(p2562)){namedCurve="prime256v1"}else if(curveOid.equals(p3842)){namedCurve="secp384r1"}else if(curveOid.equals(p5212)){namedCurve="secp521r1"}else if(curveOid.equals(secp256k12)){namedCurve="secp256k1"}else{throw new errors_js_1.JOSENotSupported("Unsupported key curve for this operation")}}if(raw)return namedCurve;const curve=namedCurveToJOSE2(namedCurve);exports2.weakMap.set(key,curve);return curve}default:throw new TypeError("Invalid asymmetric key type for this operation")}};function setCurve(keyObject,curve){exports2.weakMap.set(keyObject,curve)}exports2.setCurve=setCurve;exports2.default=getNamedCurve2}});var require_ecdhes=__commonJS({"node_modules/jose/dist/node/cjs/runtime/ecdhes.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.ecdhAllowed=exports2.generateEpk=exports2.deriveKey=void 0;var crypto_1=require("crypto");var util_1=require("util");var get_named_curve_js_1=require_get_named_curve();var buffer_utils_js_1=require_buffer_utils();var errors_js_1=require_errors4();var webcrypto_js_1=require_webcrypto();var crypto_key_js_1=require_crypto_key();var is_key_object_js_1=require_is_key_object();var invalid_key_input_js_1=require_invalid_key_input();var is_key_like_js_1=require_is_key_like();var generateKeyPair2=(0,util_1.promisify)(crypto_1.generateKeyPair);async function deriveKey2(publicKee,privateKee,algorithm,keyLength,apu=new Uint8Array(0),apv=new Uint8Array(0)){let publicKey;if((0,webcrypto_js_1.isCryptoKey)(publicKee)){(0,crypto_key_js_1.checkEncCryptoKey)(publicKee,"ECDH");publicKey=crypto_1.KeyObject.from(publicKee)}else if((0,is_key_object_js_1.default)(publicKee)){publicKey=publicKee}else{throw new TypeError((0,invalid_key_input_js_1.default)(publicKee,...is_key_like_js_1.types))}let privateKey;if((0,webcrypto_js_1.isCryptoKey)(privateKee)){(0,crypto_key_js_1.checkEncCryptoKey)(privateKee,"ECDH","deriveBits");privateKey=crypto_1.KeyObject.from(privateKee)}else if((0,is_key_object_js_1.default)(privateKee)){privateKey=privateKee}else{throw new TypeError((0,invalid_key_input_js_1.default)(privateKee,...is_key_like_js_1.types))}const value=(0,buffer_utils_js_1.concat)((0,buffer_utils_js_1.lengthAndInput)(buffer_utils_js_1.encoder.encode(algorithm)),(0,buffer_utils_js_1.lengthAndInput)(apu),(0,buffer_utils_js_1.lengthAndInput)(apv),(0,buffer_utils_js_1.uint32be)(keyLength));const sharedSecret=(0,crypto_1.diffieHellman)({privateKey,publicKey});return(0,buffer_utils_js_1.concatKdf)(sharedSecret,keyLength,value)}exports2.deriveKey=deriveKey2;async function generateEpk2(kee){let key;if((0,webcrypto_js_1.isCryptoKey)(kee)){key=crypto_1.KeyObject.from(kee)}else if((0,is_key_object_js_1.default)(kee)){key=kee}else{throw new TypeError((0,invalid_key_input_js_1.default)(kee,...is_key_like_js_1.types))}switch(key.asymmetricKeyType){case"x25519":return generateKeyPair2("x25519");case"x448":{return generateKeyPair2("x448")}case"ec":{const namedCurve=(0,get_named_curve_js_1.default)(key);return generateKeyPair2("ec",{namedCurve})}default:throw new errors_js_1.JOSENotSupported("Invalid or unsupported EPK")}}exports2.generateEpk=generateEpk2;var ecdhAllowed2=key=>["P-256","P-384","P-521","X25519","X448"].includes((0,get_named_curve_js_1.default)(key));exports2.ecdhAllowed=ecdhAllowed2}});var require_check_p2s=__commonJS({"node_modules/jose/dist/node/cjs/lib/check_p2s.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});var errors_js_1=require_errors4();function checkP2s2(p2s2){if(!(p2s2 instanceof Uint8Array)||p2s2.length<8){throw new errors_js_1.JWEInvalid("PBES2 Salt Input must be 8 or more octets")}}exports2.default=checkP2s2}});var require_pbes2kw=__commonJS({"node_modules/jose/dist/node/cjs/runtime/pbes2kw.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.decrypt=exports2.encrypt=void 0;var util_1=require("util");var crypto_1=require("crypto");var random_js_1=require_random();var buffer_utils_js_1=require_buffer_utils();var base64url_js_1=require_base64url();var aeskw_js_1=require_aeskw();var check_p2s_js_1=require_check_p2s();var webcrypto_js_1=require_webcrypto();var crypto_key_js_1=require_crypto_key();var is_key_object_js_1=require_is_key_object();var invalid_key_input_js_1=require_invalid_key_input();var is_key_like_js_1=require_is_key_like();var pbkdf22=(0,util_1.promisify)(crypto_1.pbkdf2);function getPassword2(key,alg){if((0,is_key_object_js_1.default)(key)){return key.export()}if(key instanceof Uint8Array){return key}if((0,webcrypto_js_1.isCryptoKey)(key)){(0,crypto_key_js_1.checkEncCryptoKey)(key,alg,"deriveBits","deriveKey");return crypto_1.KeyObject.from(key).export()}throw new TypeError((0,invalid_key_input_js_1.default)(key,...is_key_like_js_1.types,"Uint8Array"))}var encrypt4=async(alg,key,cek,p2c=2048,p2s2=(0,random_js_1.default)(new Uint8Array(16)))=>{(0,check_p2s_js_1.default)(p2s2);const salt=(0,buffer_utils_js_1.p2s)(alg,p2s2);const keylen=parseInt(alg.slice(13,16),10)>>3;const password=getPassword2(key,alg);const derivedKey=await pbkdf22(password,salt,p2c,keylen,`sha${alg.slice(8,11)}`);const encryptedKey=await(0,aeskw_js_1.wrap)(alg.slice(-6),derivedKey,cek);return{encryptedKey,p2c,p2s:(0,base64url_js_1.encode)(p2s2)}};exports2.encrypt=encrypt4;var decrypt=async(alg,key,encryptedKey,p2c,p2s2)=>{(0,check_p2s_js_1.default)(p2s2);const salt=(0,buffer_utils_js_1.p2s)(alg,p2s2);const keylen=parseInt(alg.slice(13,16),10)>>3;const password=getPassword2(key,alg);const derivedKey=await pbkdf22(password,salt,p2c,keylen,`sha${alg.slice(8,11)}`);return(0,aeskw_js_1.unwrap)(alg.slice(-6),derivedKey,encryptedKey)};exports2.decrypt=decrypt}});var require_check_modulus_length=__commonJS({"node_modules/jose/dist/node/cjs/runtime/check_modulus_length.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.setModulusLength=exports2.weakMap=void 0;exports2.weakMap=new WeakMap;var getLength2=(buf,index)=>{let len=buf.readUInt8(1);if((len&128)===0){if(index===0){return len}return getLength2(buf.subarray(2+len),index-1)}const num=len&127;len=0;for(let i=0;i<num;i++){len<<=8;const j=buf.readUInt8(2+i);len|=j}if(index===0){return len}return getLength2(buf.subarray(2+len),index-1)};var getLengthOfSeqIndex2=(sequence,index)=>{const len=sequence.readUInt8(1);if((len&128)===0){return getLength2(sequence.subarray(2),index)}const num=len&127;return getLength2(sequence.subarray(2+num),index)};var getModulusLength2=key=>{var _a12,_b2;if(exports2.weakMap.has(key)){return exports2.weakMap.get(key)}const modulusLength=(_b2=(_a12=key.asymmetricKeyDetails)===null||_a12===void 0?void 0:_a12.modulusLength)!==null&&_b2!==void 0?_b2:getLengthOfSeqIndex2(key.export({format:"der",type:"pkcs1"}),key.type==="private"?1:0)-1<<3;exports2.weakMap.set(key,modulusLength);return modulusLength};var setModulusLength=(keyObject,modulusLength)=>{exports2.weakMap.set(keyObject,modulusLength)};exports2.setModulusLength=setModulusLength;exports2.default=(key,alg)=>{if(getModulusLength2(key)<2048){throw new TypeError(`${alg} requires key modulusLength to be 2048 bits or larger`)}}}});var require_rsaes=__commonJS({"node_modules/jose/dist/node/cjs/runtime/rsaes.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.decrypt=exports2.encrypt=void 0;var crypto_1=require("crypto");var check_modulus_length_js_1=require_check_modulus_length();var webcrypto_js_1=require_webcrypto();var crypto_key_js_1=require_crypto_key();var is_key_object_js_1=require_is_key_object();var invalid_key_input_js_1=require_invalid_key_input();var is_key_like_js_1=require_is_key_like();var checkKey2=(key,alg)=>{if(key.asymmetricKeyType!=="rsa"){throw new TypeError("Invalid key for this operation, its asymmetricKeyType must be rsa")}(0,check_modulus_length_js_1.default)(key,alg)};var resolvePadding2=alg=>{switch(alg){case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":return crypto_1.constants.RSA_PKCS1_OAEP_PADDING;case"RSA1_5":return crypto_1.constants.RSA_PKCS1_PADDING;default:return void 0}};var resolveOaepHash2=alg=>{switch(alg){case"RSA-OAEP":return"sha1";case"RSA-OAEP-256":return"sha256";case"RSA-OAEP-384":return"sha384";case"RSA-OAEP-512":return"sha512";default:return void 0}};function ensureKeyObject3(key,alg,...usages){if((0,is_key_object_js_1.default)(key)){return key}if((0,webcrypto_js_1.isCryptoKey)(key)){(0,crypto_key_js_1.checkEncCryptoKey)(key,alg,...usages);return crypto_1.KeyObject.from(key)}throw new TypeError((0,invalid_key_input_js_1.default)(key,...is_key_like_js_1.types))}var encrypt4=(alg,key,cek)=>{const padding=resolvePadding2(alg);const oaepHash=resolveOaepHash2(alg);const keyObject=ensureKeyObject3(key,alg,"wrapKey","encrypt");checkKey2(keyObject,alg);return(0,crypto_1.publicEncrypt)({key:keyObject,oaepHash,padding},cek)};exports2.encrypt=encrypt4;var decrypt=(alg,key,encryptedKey)=>{const padding=resolvePadding2(alg);const oaepHash=resolveOaepHash2(alg);const keyObject=ensureKeyObject3(key,alg,"unwrapKey","decrypt");checkKey2(keyObject,alg);return(0,crypto_1.privateDecrypt)({key:keyObject,oaepHash,padding},encryptedKey)};exports2.decrypt=decrypt}});var require_cek=__commonJS({"node_modules/jose/dist/node/cjs/lib/cek.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.bitLength=void 0;var errors_js_1=require_errors4();var random_js_1=require_random();function bitLength3(alg){switch(alg){case"A128GCM":return 128;case"A192GCM":return 192;case"A256GCM":case"A128CBC-HS256":return 256;case"A192CBC-HS384":return 384;case"A256CBC-HS512":return 512;default:throw new errors_js_1.JOSENotSupported(`Unsupported JWE Algorithm: ${alg}`)}}exports2.bitLength=bitLength3;exports2.default=alg=>(0,random_js_1.default)(new Uint8Array(bitLength3(alg)>>3))}});var require_asn1=__commonJS({"node_modules/jose/dist/node/cjs/runtime/asn1.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.fromX509=exports2.fromSPKI=exports2.fromPKCS8=exports2.toPKCS8=exports2.toSPKI=void 0;var crypto_1=require("crypto");var buffer_1=require("buffer");var webcrypto_js_1=require_webcrypto();var is_key_object_js_1=require_is_key_object();var invalid_key_input_js_1=require_invalid_key_input();var is_key_like_js_1=require_is_key_like();var genericExport=(keyType,keyFormat,key)=>{let keyObject;if((0,webcrypto_js_1.isCryptoKey)(key)){if(!key.extractable){throw new TypeError("CryptoKey is not extractable")}keyObject=crypto_1.KeyObject.from(key)}else if((0,is_key_object_js_1.default)(key)){keyObject=key}else{throw new TypeError((0,invalid_key_input_js_1.default)(key,...is_key_like_js_1.types))}if(keyObject.type!==keyType){throw new TypeError(`key is not a ${keyType} key`)}return keyObject.export({format:"pem",type:keyFormat})};var toSPKI=key=>{return genericExport("public","spki",key)};exports2.toSPKI=toSPKI;var toPKCS8=key=>{return genericExport("private","pkcs8",key)};exports2.toPKCS8=toPKCS8;var fromPKCS82=pem=>(0,crypto_1.createPrivateKey)({key:buffer_1.Buffer.from(pem.replace(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,""),"base64"),type:"pkcs8",format:"der"});exports2.fromPKCS8=fromPKCS82;var fromSPKI2=pem=>(0,crypto_1.createPublicKey)({key:buffer_1.Buffer.from(pem.replace(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,""),"base64"),type:"spki",format:"der"});exports2.fromSPKI=fromSPKI2;var fromX5092=pem=>(0,crypto_1.createPublicKey)({key:pem,type:"spki",format:"pem"});exports2.fromX509=fromX5092}});var require_asn1_sequence_encoder=__commonJS({"node_modules/jose/dist/node/cjs/runtime/asn1_sequence_encoder.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});var buffer_1=require("buffer");var errors_js_1=require_errors4();var tagInteger2=2;var tagBitStr=3;var tagOctStr=4;var tagSequence2=48;var bZero=buffer_1.Buffer.from([0]);var bTagInteger=buffer_1.Buffer.from([tagInteger2]);var bTagBitStr=buffer_1.Buffer.from([tagBitStr]);var bTagSequence=buffer_1.Buffer.from([tagSequence2]);var bTagOctStr=buffer_1.Buffer.from([tagOctStr]);var encodeLength=len=>{if(len<128)return buffer_1.Buffer.from([len]);const buffer=buffer_1.Buffer.alloc(5);buffer.writeUInt32BE(len,1);let offset=1;while(buffer[offset]===0)offset++;buffer[offset-1]=128|5-offset;return buffer.slice(offset-1)};var oids=new Map([["P-256",buffer_1.Buffer.from("06 08 2A 86 48 CE 3D 03 01 07".replace(/ /g,""),"hex")],["secp256k1",buffer_1.Buffer.from("06 05 2B 81 04 00 0A".replace(/ /g,""),"hex")],["P-384",buffer_1.Buffer.from("06 05 2B 81 04 00 22".replace(/ /g,""),"hex")],["P-521",buffer_1.Buffer.from("06 05 2B 81 04 00 23".replace(/ /g,""),"hex")],["ecPublicKey",buffer_1.Buffer.from("06 07 2A 86 48 CE 3D 02 01".replace(/ /g,""),"hex")],["X25519",buffer_1.Buffer.from("06 03 2B 65 6E".replace(/ /g,""),"hex")],["X448",buffer_1.Buffer.from("06 03 2B 65 6F".replace(/ /g,""),"hex")],["Ed25519",buffer_1.Buffer.from("06 03 2B 65 70".replace(/ /g,""),"hex")],["Ed448",buffer_1.Buffer.from("06 03 2B 65 71".replace(/ /g,""),"hex")]]);var DumbAsn1Encoder=class{constructor(){this.length=0;this.elements=[]}oidFor(oid){const bOid=oids.get(oid);if(!bOid){throw new errors_js_1.JOSENotSupported("Invalid or unsupported OID")}this.elements.push(bOid);this.length+=bOid.length}zero(){this.elements.push(bTagInteger,buffer_1.Buffer.from([1]),bZero);this.length+=3}one(){this.elements.push(bTagInteger,buffer_1.Buffer.from([1]),buffer_1.Buffer.from([1]));this.length+=3}unsignedInteger(integer){if(integer[0]&128){const len=encodeLength(integer.length+1);this.elements.push(bTagInteger,len,bZero,integer);this.length+=2+len.length+integer.length}else{let i=0;while(integer[i]===0&&(integer[i+1]&128)===0)i++;const len=encodeLength(integer.length-i);this.elements.push(bTagInteger,encodeLength(integer.length-i),integer.slice(i));this.length+=1+len.length+integer.length-i}}octStr(octStr){const len=encodeLength(octStr.length);this.elements.push(bTagOctStr,encodeLength(octStr.length),octStr);this.length+=1+len.length+octStr.length}bitStr(bitS){const len=encodeLength(bitS.length+1);this.elements.push(bTagBitStr,encodeLength(bitS.length+1),bZero,bitS);this.length+=1+len.length+bitS.length+1}add(seq2){this.elements.push(seq2);this.length+=seq2.length}end(tag=bTagSequence){const len=encodeLength(this.length);return buffer_1.Buffer.concat([tag,len,...this.elements],1+len.length+this.length)}};exports2.default=DumbAsn1Encoder}});var require_flags=__commonJS({"node_modules/jose/dist/node/cjs/runtime/flags.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.jwkImport=exports2.jwkExport=exports2.rsaPssParams=exports2.oneShotCallback=void 0;var[major3,minor3]=process.versions.node.split(".").map(str2=>parseInt(str2,10));exports2.oneShotCallback=major3>=16||major3===15&&minor3>=13;exports2.rsaPssParams=!("electron"in process.versions)&&(major3>=17||major3===16&&minor3>=9);exports2.jwkExport=major3>=16||major3===15&&minor3>=9;exports2.jwkImport=major3>=16||major3===15&&minor3>=12}});var require_jwk_to_key=__commonJS({"node_modules/jose/dist/node/cjs/runtime/jwk_to_key.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});var buffer_1=require("buffer");var crypto_1=require("crypto");var base64url_js_1=require_base64url();var errors_js_1=require_errors4();var get_named_curve_js_1=require_get_named_curve();var check_modulus_length_js_1=require_check_modulus_length();var asn1_sequence_encoder_js_1=require_asn1_sequence_encoder();var flags_js_1=require_flags();var parse3=jwk=>{if(flags_js_1.jwkImport&&jwk.kty!=="oct"){return jwk.d?(0,crypto_1.createPrivateKey)({format:"jwk",key:jwk}):(0,crypto_1.createPublicKey)({format:"jwk",key:jwk})}switch(jwk.kty){case"oct":{return(0,crypto_1.createSecretKey)((0,base64url_js_1.decode)(jwk.k))}case"RSA":{const enc=new asn1_sequence_encoder_js_1.default;const isPrivate=jwk.d!==void 0;const modulus=buffer_1.Buffer.from(jwk.n,"base64");const exponent=buffer_1.Buffer.from(jwk.e,"base64");if(isPrivate){enc.zero();enc.unsignedInteger(modulus);enc.unsignedInteger(exponent);enc.unsignedInteger(buffer_1.Buffer.from(jwk.d,"base64"));enc.unsignedInteger(buffer_1.Buffer.from(jwk.p,"base64"));enc.unsignedInteger(buffer_1.Buffer.from(jwk.q,"base64"));enc.unsignedInteger(buffer_1.Buffer.from(jwk.dp,"base64"));enc.unsignedInteger(buffer_1.Buffer.from(jwk.dq,"base64"));enc.unsignedInteger(buffer_1.Buffer.from(jwk.qi,"base64"))}else{enc.unsignedInteger(modulus);enc.unsignedInteger(exponent)}const der=enc.end();const createInput={key:der,format:"der",type:"pkcs1"};const keyObject=isPrivate?(0,crypto_1.createPrivateKey)(createInput):(0,crypto_1.createPublicKey)(createInput);(0,check_modulus_length_js_1.setModulusLength)(keyObject,modulus.length<<3);return keyObject}case"EC":{const enc=new asn1_sequence_encoder_js_1.default;const isPrivate=jwk.d!==void 0;const pub=buffer_1.Buffer.concat([buffer_1.Buffer.alloc(1,4),buffer_1.Buffer.from(jwk.x,"base64"),buffer_1.Buffer.from(jwk.y,"base64")]);if(isPrivate){enc.zero();const enc$12=new asn1_sequence_encoder_js_1.default;enc$12.oidFor("ecPublicKey");enc$12.oidFor(jwk.crv);enc.add(enc$12.end());const enc$2=new asn1_sequence_encoder_js_1.default;enc$2.one();enc$2.octStr(buffer_1.Buffer.from(jwk.d,"base64"));const enc$3=new asn1_sequence_encoder_js_1.default;enc$3.bitStr(pub);const f2=enc$3.end(buffer_1.Buffer.from([161]));enc$2.add(f2);const f=enc$2.end();const enc$4=new asn1_sequence_encoder_js_1.default;enc$4.add(f);const f3=enc$4.end(buffer_1.Buffer.from([4]));enc.add(f3);const der2=enc.end();const keyObject2=(0,crypto_1.createPrivateKey)({key:der2,format:"der",type:"pkcs8"});(0,get_named_curve_js_1.setCurve)(keyObject2,jwk.crv);return keyObject2}const enc$1=new asn1_sequence_encoder_js_1.default;enc$1.oidFor("ecPublicKey");enc$1.oidFor(jwk.crv);enc.add(enc$1.end());enc.bitStr(pub);const der=enc.end();const keyObject=(0,crypto_1.createPublicKey)({key:der,format:"der",type:"spki"});(0,get_named_curve_js_1.setCurve)(keyObject,jwk.crv);return keyObject}case"OKP":{const enc=new asn1_sequence_encoder_js_1.default;const isPrivate=jwk.d!==void 0;if(isPrivate){enc.zero();const enc$12=new asn1_sequence_encoder_js_1.default;enc$12.oidFor(jwk.crv);enc.add(enc$12.end());const enc$2=new asn1_sequence_encoder_js_1.default;enc$2.octStr(buffer_1.Buffer.from(jwk.d,"base64"));const f=enc$2.end(buffer_1.Buffer.from([4]));enc.add(f);const der2=enc.end();return(0,crypto_1.createPrivateKey)({key:der2,format:"der",type:"pkcs8"})}const enc$1=new asn1_sequence_encoder_js_1.default;enc$1.oidFor(jwk.crv);enc.add(enc$1.end());enc.bitStr(buffer_1.Buffer.from(jwk.x,"base64"));const der=enc.end();return(0,crypto_1.createPublicKey)({key:der,format:"der",type:"spki"})}default:throw new errors_js_1.JOSENotSupported('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}};exports2.default=parse3}});var require_import=__commonJS({"node_modules/jose/dist/node/cjs/key/import.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.importJWK=exports2.importPKCS8=exports2.importX509=exports2.importSPKI=void 0;var base64url_js_1=require_base64url();var asn1_js_1=require_asn1();var jwk_to_key_js_1=require_jwk_to_key();var errors_js_1=require_errors4();var is_object_js_1=require_is_object();async function importSPKI2(spki,alg,options){if(typeof spki!=="string"||spki.indexOf("-----BEGIN PUBLIC KEY-----")!==0){throw new TypeError('"spki" must be SPKI formatted string')}return(0,asn1_js_1.fromSPKI)(spki,alg,options)}exports2.importSPKI=importSPKI2;async function importX5092(x509,alg,options){if(typeof x509!=="string"||x509.indexOf("-----BEGIN CERTIFICATE-----")!==0){throw new TypeError('"x509" must be X.509 formatted string')}return(0,asn1_js_1.fromX509)(x509,alg,options)}exports2.importX509=importX5092;async function importPKCS82(pkcs8,alg,options){if(typeof pkcs8!=="string"||pkcs8.indexOf("-----BEGIN PRIVATE KEY-----")!==0){throw new TypeError('"pkcs8" must be PKCS#8 formatted string')}return(0,asn1_js_1.fromPKCS8)(pkcs8,alg,options)}exports2.importPKCS8=importPKCS82;async function importJWK2(jwk,alg,octAsKeyObject){var _a12;if(!(0,is_object_js_1.default)(jwk)){throw new TypeError("JWK must be an object")}alg||(alg=jwk.alg);switch(jwk.kty){case"oct":if(typeof jwk.k!=="string"||!jwk.k){throw new TypeError('missing "k" (Key Value) Parameter value')}octAsKeyObject!==null&&octAsKeyObject!==void 0?octAsKeyObject:octAsKeyObject=jwk.ext!==true;if(octAsKeyObject){return(0,jwk_to_key_js_1.default)({...jwk,alg,ext:(_a12=jwk.ext)!==null&&_a12!==void 0?_a12:false})}return(0,base64url_js_1.decode)(jwk.k);case"RSA":if(jwk.oth!==void 0){throw new errors_js_1.JOSENotSupported('RSA JWK "oth" (Other Primes Info) Parameter value is not supported')}case"EC":case"OKP":return(0,jwk_to_key_js_1.default)({...jwk,alg});default:throw new errors_js_1.JOSENotSupported('Unsupported "kty" (Key Type) Parameter value')}}exports2.importJWK=importJWK2}});var require_check_key_type=__commonJS({"node_modules/jose/dist/node/cjs/lib/check_key_type.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});var invalid_key_input_js_1=require_invalid_key_input();var is_key_like_js_1=require_is_key_like();var symmetricTypeCheck2=(alg,key)=>{if(key instanceof Uint8Array)return;if(!(0,is_key_like_js_1.default)(key)){throw new TypeError((0,invalid_key_input_js_1.withAlg)(alg,key,...is_key_like_js_1.types,"Uint8Array"))}if(key.type!=="secret"){throw new TypeError(`${is_key_like_js_1.types.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}};var asymmetricTypeCheck2=(alg,key,usage)=>{if(!(0,is_key_like_js_1.default)(key)){throw new TypeError((0,invalid_key_input_js_1.withAlg)(alg,key,...is_key_like_js_1.types))}if(key.type==="secret"){throw new TypeError(`${is_key_like_js_1.types.join(" or ")} instances for asymmetric algorithms must not be of type "secret"`)}if(usage==="sign"&&key.type==="public"){throw new TypeError(`${is_key_like_js_1.types.join(" or ")} instances for asymmetric algorithm signing must be of type "private"`)}if(usage==="decrypt"&&key.type==="public"){throw new TypeError(`${is_key_like_js_1.types.join(" or ")} instances for asymmetric algorithm decryption must be of type "private"`)}if(key.algorithm&&usage==="verify"&&key.type==="private"){throw new TypeError(`${is_key_like_js_1.types.join(" or ")} instances for asymmetric algorithm verifying must be of type "public"`)}if(key.algorithm&&usage==="encrypt"&&key.type==="private"){throw new TypeError(`${is_key_like_js_1.types.join(" or ")} instances for asymmetric algorithm encryption must be of type "public"`)}};var checkKeyType2=(alg,key,usage)=>{const symmetric=alg.startsWith("HS")||alg==="dir"||alg.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(alg);if(symmetric){symmetricTypeCheck2(alg,key)}else{asymmetricTypeCheck2(alg,key,usage)}};exports2.default=checkKeyType2}});var require_encrypt=__commonJS({"node_modules/jose/dist/node/cjs/runtime/encrypt.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});var crypto_1=require("crypto");var check_iv_length_js_1=require_check_iv_length();var check_cek_length_js_1=require_check_cek_length();var buffer_utils_js_1=require_buffer_utils();var cbc_tag_js_1=require_cbc_tag();var webcrypto_js_1=require_webcrypto();var crypto_key_js_1=require_crypto_key();var is_key_object_js_1=require_is_key_object();var invalid_key_input_js_1=require_invalid_key_input();var errors_js_1=require_errors4();var ciphers_js_1=require_ciphers();var is_key_like_js_1=require_is_key_like();function cbcEncrypt2(enc,plaintext,cek,iv,aad){const keySize=parseInt(enc.slice(1,4),10);if((0,is_key_object_js_1.default)(cek)){cek=cek.export()}const encKey=cek.subarray(keySize>>3);const macKey=cek.subarray(0,keySize>>3);const algorithm=`aes-${keySize}-cbc`;if(!(0,ciphers_js_1.default)(algorithm)){throw new errors_js_1.JOSENotSupported(`alg ${enc} is not supported by your javascript runtime`)}const cipher=(0,crypto_1.createCipheriv)(algorithm,encKey,iv);const ciphertext=(0,buffer_utils_js_1.concat)(cipher.update(plaintext),cipher.final());const macSize=parseInt(enc.slice(-3),10);const tag=(0,cbc_tag_js_1.default)(aad,iv,ciphertext,macSize,macKey,keySize);return{ciphertext,tag}}function gcmEncrypt2(enc,plaintext,cek,iv,aad){const keySize=parseInt(enc.slice(1,4),10);const algorithm=`aes-${keySize}-gcm`;if(!(0,ciphers_js_1.default)(algorithm)){throw new errors_js_1.JOSENotSupported(`alg ${enc} is not supported by your javascript runtime`)}const cipher=(0,crypto_1.createCipheriv)(algorithm,cek,iv,{authTagLength:16});if(aad.byteLength){cipher.setAAD(aad,{plaintextLength:plaintext.length})}const ciphertext=cipher.update(plaintext);cipher.final();const tag=cipher.getAuthTag();return{ciphertext,tag}}var encrypt4=(enc,plaintext,cek,iv,aad)=>{let key;if((0,webcrypto_js_1.isCryptoKey)(cek)){(0,crypto_key_js_1.checkEncCryptoKey)(cek,enc,"encrypt");key=crypto_1.KeyObject.from(cek)}else if(cek instanceof Uint8Array||(0,is_key_object_js_1.default)(cek)){key=cek}else{throw new TypeError((0,invalid_key_input_js_1.default)(cek,...is_key_like_js_1.types,"Uint8Array"))}(0,check_cek_length_js_1.default)(enc,key);(0,check_iv_length_js_1.default)(enc,iv);switch(enc){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return cbcEncrypt2(enc,plaintext,key,iv,aad);case"A128GCM":case"A192GCM":case"A256GCM":return gcmEncrypt2(enc,plaintext,key,iv,aad);default:throw new errors_js_1.JOSENotSupported("Unsupported JWE Content Encryption Algorithm")}};exports2.default=encrypt4}});var require_aesgcmkw=__commonJS({"node_modules/jose/dist/node/cjs/lib/aesgcmkw.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.unwrap=exports2.wrap=void 0;var encrypt_js_1=require_encrypt();var decrypt_js_1=require_decrypt();var iv_js_1=require_iv();var base64url_js_1=require_base64url();async function wrap4(alg,key,cek,iv){const jweAlgorithm=alg.slice(0,7);iv||(iv=(0,iv_js_1.default)(jweAlgorithm));const{ciphertext:encryptedKey,tag}=await(0,encrypt_js_1.default)(jweAlgorithm,cek,key,iv,new Uint8Array(0));return{encryptedKey,iv:(0,base64url_js_1.encode)(iv),tag:(0,base64url_js_1.encode)(tag)}}exports2.wrap=wrap4;async function unwrap2(alg,key,encryptedKey,iv,tag){const jweAlgorithm=alg.slice(0,7);return(0,decrypt_js_1.default)(jweAlgorithm,key,encryptedKey,iv,tag,new Uint8Array(0))}exports2.unwrap=unwrap2}});var require_decrypt_key_management=__commonJS({"node_modules/jose/dist/node/cjs/lib/decrypt_key_management.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});var aeskw_js_1=require_aeskw();var ECDH=require_ecdhes();var pbes2kw_js_1=require_pbes2kw();var rsaes_js_1=require_rsaes();var base64url_js_1=require_base64url();var errors_js_1=require_errors4();var cek_js_1=require_cek();var import_js_1=require_import();var check_key_type_js_1=require_check_key_type();var is_object_js_1=require_is_object();var aesgcmkw_js_1=require_aesgcmkw();async function decryptKeyManagement(alg,key,encryptedKey,joseHeader,options){(0,check_key_type_js_1.default)(alg,key,"decrypt");switch(alg){case"dir":{if(encryptedKey!==void 0)throw new errors_js_1.JWEInvalid("Encountered unexpected JWE Encrypted Key");return key}case"ECDH-ES":if(encryptedKey!==void 0)throw new errors_js_1.JWEInvalid("Encountered unexpected JWE Encrypted Key");case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!(0,is_object_js_1.default)(joseHeader.epk))throw new errors_js_1.JWEInvalid(`JOSE Header "epk" (Ephemeral Public Key) missing or invalid`);if(!ECDH.ecdhAllowed(key))throw new errors_js_1.JOSENotSupported("ECDH with the provided key is not allowed or not supported by your javascript runtime");const epk=await(0,import_js_1.importJWK)(joseHeader.epk,alg);let partyUInfo;let partyVInfo;if(joseHeader.apu!==void 0){if(typeof joseHeader.apu!=="string")throw new errors_js_1.JWEInvalid(`JOSE Header "apu" (Agreement PartyUInfo) invalid`);try{partyUInfo=(0,base64url_js_1.decode)(joseHeader.apu)}catch{throw new errors_js_1.JWEInvalid("Failed to base64url decode the apu")}}if(joseHeader.apv!==void 0){if(typeof joseHeader.apv!=="string")throw new errors_js_1.JWEInvalid(`JOSE Header "apv" (Agreement PartyVInfo) invalid`);try{partyVInfo=(0,base64url_js_1.decode)(joseHeader.apv)}catch{throw new errors_js_1.JWEInvalid("Failed to base64url decode the apv")}}const sharedSecret=await ECDH.deriveKey(epk,key,alg==="ECDH-ES"?joseHeader.enc:alg,alg==="ECDH-ES"?(0,cek_js_1.bitLength)(joseHeader.enc):parseInt(alg.slice(-5,-2),10),partyUInfo,partyVInfo);if(alg==="ECDH-ES")return sharedSecret;if(encryptedKey===void 0)throw new errors_js_1.JWEInvalid("JWE Encrypted Key missing");return(0,aeskw_js_1.unwrap)(alg.slice(-6),sharedSecret,encryptedKey)}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(encryptedKey===void 0)throw new errors_js_1.JWEInvalid("JWE Encrypted Key missing");return(0,rsaes_js_1.decrypt)(alg,key,encryptedKey)}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{if(encryptedKey===void 0)throw new errors_js_1.JWEInvalid("JWE Encrypted Key missing");if(typeof joseHeader.p2c!=="number")throw new errors_js_1.JWEInvalid(`JOSE Header "p2c" (PBES2 Count) missing or invalid`);const p2cLimit=(options===null||options===void 0?void 0:options.maxPBES2Count)||1e4;if(joseHeader.p2c>p2cLimit)throw new errors_js_1.JWEInvalid(`JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds`);if(typeof joseHeader.p2s!=="string")throw new errors_js_1.JWEInvalid(`JOSE Header "p2s" (PBES2 Salt) missing or invalid`);let p2s2;try{p2s2=(0,base64url_js_1.decode)(joseHeader.p2s)}catch{throw new errors_js_1.JWEInvalid("Failed to base64url decode the p2s")}return(0,pbes2kw_js_1.decrypt)(alg,key,encryptedKey,joseHeader.p2c,p2s2)}case"A128KW":case"A192KW":case"A256KW":{if(encryptedKey===void 0)throw new errors_js_1.JWEInvalid("JWE Encrypted Key missing");return(0,aeskw_js_1.unwrap)(alg,key,encryptedKey)}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{if(encryptedKey===void 0)throw new errors_js_1.JWEInvalid("JWE Encrypted Key missing");if(typeof joseHeader.iv!=="string")throw new errors_js_1.JWEInvalid(`JOSE Header "iv" (Initialization Vector) missing or invalid`);if(typeof joseHeader.tag!=="string")throw new errors_js_1.JWEInvalid(`JOSE Header "tag" (Authentication Tag) missing or invalid`);let iv;try{iv=(0,base64url_js_1.decode)(joseHeader.iv)}catch{throw new errors_js_1.JWEInvalid("Failed to base64url decode the iv")}let tag;try{tag=(0,base64url_js_1.decode)(joseHeader.tag)}catch{throw new errors_js_1.JWEInvalid("Failed to base64url decode the tag")}return(0,aesgcmkw_js_1.unwrap)(alg,key,encryptedKey,iv,tag)}default:{throw new errors_js_1.JOSENotSupported('Invalid or unsupported "alg" (JWE Algorithm) header value')}}}exports2.default=decryptKeyManagement}});var require_validate_crit=__commonJS({"node_modules/jose/dist/node/cjs/lib/validate_crit.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});var errors_js_1=require_errors4();function validateCrit2(Err,recognizedDefault,recognizedOption,protectedHeader,joseHeader){if(joseHeader.crit!==void 0&&protectedHeader.crit===void 0){throw new Err('"crit" (Critical) Header Parameter MUST be integrity protected')}if(!protectedHeader||protectedHeader.crit===void 0){return new Set}if(!Array.isArray(protectedHeader.crit)||protectedHeader.crit.length===0||protectedHeader.crit.some(input=>typeof input!=="string"||input.length===0)){throw new Err('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present')}let recognized;if(recognizedOption!==void 0){recognized=new Map([...Object.entries(recognizedOption),...recognizedDefault.entries()])}else{recognized=recognizedDefault}for(const parameter of protectedHeader.crit){if(!recognized.has(parameter)){throw new errors_js_1.JOSENotSupported(`Extension Header Parameter "${parameter}" is not recognized`)}if(joseHeader[parameter]===void 0){throw new Err(`Extension Header Parameter "${parameter}" is missing`)}else if(recognized.get(parameter)&&protectedHeader[parameter]===void 0){throw new Err(`Extension Header Parameter "${parameter}" MUST be integrity protected`)}}return new Set(protectedHeader.crit)}exports2.default=validateCrit2}});var require_validate_algorithms=__commonJS({"node_modules/jose/dist/node/cjs/lib/validate_algorithms.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});var validateAlgorithms=(option,algorithms)=>{if(algorithms!==void 0&&(!Array.isArray(algorithms)||algorithms.some(s=>typeof s!=="string"))){throw new TypeError(`"${option}" option must be an array of strings`)}if(!algorithms){return void 0}return new Set(algorithms)};exports2.default=validateAlgorithms}});var require_decrypt2=__commonJS({"node_modules/jose/dist/node/cjs/jwe/flattened/decrypt.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.flattenedDecrypt=void 0;var base64url_js_1=require_base64url();var decrypt_js_1=require_decrypt();var zlib_js_1=require_zlib();var errors_js_1=require_errors4();var is_disjoint_js_1=require_is_disjoint();var is_object_js_1=require_is_object();var decrypt_key_management_js_1=require_decrypt_key_management();var buffer_utils_js_1=require_buffer_utils();var cek_js_1=require_cek();var validate_crit_js_1=require_validate_crit();var validate_algorithms_js_1=require_validate_algorithms();async function flattenedDecrypt(jwe,key,options){var _a12;if(!(0,is_object_js_1.default)(jwe)){throw new errors_js_1.JWEInvalid("Flattened JWE must be an object")}if(jwe.protected===void 0&&jwe.header===void 0&&jwe.unprotected===void 0){throw new errors_js_1.JWEInvalid("JOSE Header missing")}if(typeof jwe.iv!=="string"){throw new errors_js_1.JWEInvalid("JWE Initialization Vector missing or incorrect type")}if(typeof jwe.ciphertext!=="string"){throw new errors_js_1.JWEInvalid("JWE Ciphertext missing or incorrect type")}if(typeof jwe.tag!=="string"){throw new errors_js_1.JWEInvalid("JWE Authentication Tag missing or incorrect type")}if(jwe.protected!==void 0&&typeof jwe.protected!=="string"){throw new errors_js_1.JWEInvalid("JWE Protected Header incorrect type")}if(jwe.encrypted_key!==void 0&&typeof jwe.encrypted_key!=="string"){throw new errors_js_1.JWEInvalid("JWE Encrypted Key incorrect type")}if(jwe.aad!==void 0&&typeof jwe.aad!=="string"){throw new errors_js_1.JWEInvalid("JWE AAD incorrect type")}if(jwe.header!==void 0&&!(0,is_object_js_1.default)(jwe.header)){throw new errors_js_1.JWEInvalid("JWE Shared Unprotected Header incorrect type")}if(jwe.unprotected!==void 0&&!(0,is_object_js_1.default)(jwe.unprotected)){throw new errors_js_1.JWEInvalid("JWE Per-Recipient Unprotected Header incorrect type")}let parsedProt;if(jwe.protected){try{const protectedHeader2=(0,base64url_js_1.decode)(jwe.protected);parsedProt=JSON.parse(buffer_utils_js_1.decoder.decode(protectedHeader2))}catch{throw new errors_js_1.JWEInvalid("JWE Protected Header is invalid")}}if(!(0,is_disjoint_js_1.default)(parsedProt,jwe.header,jwe.unprotected)){throw new errors_js_1.JWEInvalid("JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint")}const joseHeader={...parsedProt,...jwe.header,...jwe.unprotected};(0,validate_crit_js_1.default)(errors_js_1.JWEInvalid,new Map,options===null||options===void 0?void 0:options.crit,parsedProt,joseHeader);if(joseHeader.zip!==void 0){if(!parsedProt||!parsedProt.zip){throw new errors_js_1.JWEInvalid('JWE "zip" (Compression Algorithm) Header MUST be integrity protected')}if(joseHeader.zip!=="DEF"){throw new errors_js_1.JOSENotSupported('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}}const{alg,enc}=joseHeader;if(typeof alg!=="string"||!alg){throw new errors_js_1.JWEInvalid("missing JWE Algorithm (alg) in JWE Header")}if(typeof enc!=="string"||!enc){throw new errors_js_1.JWEInvalid("missing JWE Encryption Algorithm (enc) in JWE Header")}const keyManagementAlgorithms=options&&(0,validate_algorithms_js_1.default)("keyManagementAlgorithms",options.keyManagementAlgorithms);const contentEncryptionAlgorithms=options&&(0,validate_algorithms_js_1.default)("contentEncryptionAlgorithms",options.contentEncryptionAlgorithms);if(keyManagementAlgorithms&&!keyManagementAlgorithms.has(alg)){throw new errors_js_1.JOSEAlgNotAllowed('"alg" (Algorithm) Header Parameter not allowed')}if(contentEncryptionAlgorithms&&!contentEncryptionAlgorithms.has(enc)){throw new errors_js_1.JOSEAlgNotAllowed('"enc" (Encryption Algorithm) Header Parameter not allowed')}let encryptedKey;if(jwe.encrypted_key!==void 0){try{encryptedKey=(0,base64url_js_1.decode)(jwe.encrypted_key)}catch{throw new errors_js_1.JWEInvalid("Failed to base64url decode the encrypted_key")}}let resolvedKey=false;if(typeof key==="function"){key=await key(parsedProt,jwe);resolvedKey=true}let cek;try{cek=await(0,decrypt_key_management_js_1.default)(alg,key,encryptedKey,joseHeader,options)}catch(err){if(err instanceof TypeError||err instanceof errors_js_1.JWEInvalid||err instanceof errors_js_1.JOSENotSupported){throw err}cek=(0,cek_js_1.default)(enc)}let iv;let tag;try{iv=(0,base64url_js_1.decode)(jwe.iv)}catch{throw new errors_js_1.JWEInvalid("Failed to base64url decode the iv")}try{tag=(0,base64url_js_1.decode)(jwe.tag)}catch{throw new errors_js_1.JWEInvalid("Failed to base64url decode the tag")}const protectedHeader=buffer_utils_js_1.encoder.encode((_a12=jwe.protected)!==null&&_a12!==void 0?_a12:"");let additionalData;if(jwe.aad!==void 0){additionalData=(0,buffer_utils_js_1.concat)(protectedHeader,buffer_utils_js_1.encoder.encode("."),buffer_utils_js_1.encoder.encode(jwe.aad))}else{additionalData=protectedHeader}let ciphertext;try{ciphertext=(0,base64url_js_1.decode)(jwe.ciphertext)}catch{throw new errors_js_1.JWEInvalid("Failed to base64url decode the ciphertext")}let plaintext=await(0,decrypt_js_1.default)(enc,cek,ciphertext,iv,tag,additionalData);if(joseHeader.zip==="DEF"){plaintext=await((options===null||options===void 0?void 0:options.inflateRaw)||zlib_js_1.inflate)(plaintext)}const result2={plaintext};if(jwe.protected!==void 0){result2.protectedHeader=parsedProt}if(jwe.aad!==void 0){try{result2.additionalAuthenticatedData=(0,base64url_js_1.decode)(jwe.aad)}catch{throw new errors_js_1.JWEInvalid("Failed to base64url decode the aad")}}if(jwe.unprotected!==void 0){result2.sharedUnprotectedHeader=jwe.unprotected}if(jwe.header!==void 0){result2.unprotectedHeader=jwe.header}if(resolvedKey){return{...result2,key}}return result2}exports2.flattenedDecrypt=flattenedDecrypt}});var require_decrypt3=__commonJS({"node_modules/jose/dist/node/cjs/jwe/compact/decrypt.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.compactDecrypt=void 0;var decrypt_js_1=require_decrypt2();var errors_js_1=require_errors4();var buffer_utils_js_1=require_buffer_utils();async function compactDecrypt(jwe,key,options){if(jwe instanceof Uint8Array){jwe=buffer_utils_js_1.decoder.decode(jwe)}if(typeof jwe!=="string"){throw new errors_js_1.JWEInvalid("Compact JWE must be a string or Uint8Array")}const{0:protectedHeader,1:encryptedKey,2:iv,3:ciphertext,4:tag,length}=jwe.split(".");if(length!==5){throw new errors_js_1.JWEInvalid("Invalid Compact JWE")}const decrypted=await(0,decrypt_js_1.flattenedDecrypt)({ciphertext,iv:iv||void 0,protected:protectedHeader||void 0,tag:tag||void 0,encrypted_key:encryptedKey||void 0},key,options);const result2={plaintext:decrypted.plaintext,protectedHeader:decrypted.protectedHeader};if(typeof key==="function"){return{...result2,key:decrypted.key}}return result2}exports2.compactDecrypt=compactDecrypt}});var require_decrypt4=__commonJS({"node_modules/jose/dist/node/cjs/jwe/general/decrypt.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.generalDecrypt=void 0;var decrypt_js_1=require_decrypt2();var errors_js_1=require_errors4();var is_object_js_1=require_is_object();async function generalDecrypt(jwe,key,options){if(!(0,is_object_js_1.default)(jwe)){throw new errors_js_1.JWEInvalid("General JWE must be an object")}if(!Array.isArray(jwe.recipients)||!jwe.recipients.every(is_object_js_1.default)){throw new errors_js_1.JWEInvalid("JWE Recipients missing or incorrect type")}if(!jwe.recipients.length){throw new errors_js_1.JWEInvalid("JWE Recipients has no members")}for(const recipient of jwe.recipients){try{return await(0,decrypt_js_1.flattenedDecrypt)({aad:jwe.aad,ciphertext:jwe.ciphertext,encrypted_key:recipient.encrypted_key,header:recipient.header,iv:jwe.iv,protected:jwe.protected,tag:jwe.tag,unprotected:jwe.unprotected},key,options)}catch{}}throw new errors_js_1.JWEDecryptionFailed}exports2.generalDecrypt=generalDecrypt}});var require_asn1_sequence_decoder=__commonJS({"node_modules/jose/dist/node/cjs/runtime/asn1_sequence_decoder.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});var tagInteger2=2;var tagSequence2=48;var Asn1SequenceDecoder2=class{constructor(buffer){if(buffer[0]!==tagSequence2){throw new TypeError}this.buffer=buffer;this.offset=1;const len=this.decodeLength();if(len!==buffer.length-this.offset){throw new TypeError}}decodeLength(){let length=this.buffer[this.offset++];if(length&128){const nBytes=length&~128;length=0;for(let i=0;i<nBytes;i++)length=length<<8|this.buffer[this.offset+i];this.offset+=nBytes}return length}unsignedInteger(){if(this.buffer[this.offset++]!==tagInteger2){throw new TypeError}let length=this.decodeLength();if(this.buffer[this.offset]===0){this.offset++;length--}const result2=this.buffer.slice(this.offset,this.offset+length);this.offset+=length;return result2}end(){if(this.offset!==this.buffer.length){throw new TypeError}}};exports2.default=Asn1SequenceDecoder2}});var require_key_to_jwk=__commonJS({"node_modules/jose/dist/node/cjs/runtime/key_to_jwk.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});var crypto_1=require("crypto");var base64url_js_1=require_base64url();var asn1_sequence_decoder_js_1=require_asn1_sequence_decoder();var errors_js_1=require_errors4();var get_named_curve_js_1=require_get_named_curve();var webcrypto_js_1=require_webcrypto();var is_key_object_js_1=require_is_key_object();var invalid_key_input_js_1=require_invalid_key_input();var is_key_like_js_1=require_is_key_like();var flags_js_1=require_flags();var keyToJWK2=key=>{let keyObject;if((0,webcrypto_js_1.isCryptoKey)(key)){if(!key.extractable){throw new TypeError("CryptoKey is not extractable")}keyObject=crypto_1.KeyObject.from(key)}else if((0,is_key_object_js_1.default)(key)){keyObject=key}else if(key instanceof Uint8Array){return{kty:"oct",k:(0,base64url_js_1.encode)(key)}}else{throw new TypeError((0,invalid_key_input_js_1.default)(key,...is_key_like_js_1.types,"Uint8Array"))}if(flags_js_1.jwkExport){if(keyObject.type!=="secret"&&!["rsa","ec","ed25519","x25519","ed448","x448"].includes(keyObject.asymmetricKeyType)){throw new errors_js_1.JOSENotSupported("Unsupported key asymmetricKeyType")}return keyObject.export({format:"jwk"})}switch(keyObject.type){case"secret":return{kty:"oct",k:(0,base64url_js_1.encode)(keyObject.export())};case"private":case"public":{switch(keyObject.asymmetricKeyType){case"rsa":{const der=keyObject.export({format:"der",type:"pkcs1"});const dec=new asn1_sequence_decoder_js_1.default(der);if(keyObject.type==="private"){dec.unsignedInteger()}const n=(0,base64url_js_1.encode)(dec.unsignedInteger());const e=(0,base64url_js_1.encode)(dec.unsignedInteger());let jwk;if(keyObject.type==="private"){jwk={d:(0,base64url_js_1.encode)(dec.unsignedInteger()),p:(0,base64url_js_1.encode)(dec.unsignedInteger()),q:(0,base64url_js_1.encode)(dec.unsignedInteger()),dp:(0,base64url_js_1.encode)(dec.unsignedInteger()),dq:(0,base64url_js_1.encode)(dec.unsignedInteger()),qi:(0,base64url_js_1.encode)(dec.unsignedInteger())}}dec.end();return{kty:"RSA",n,e,...jwk}}case"ec":{const crv=(0,get_named_curve_js_1.default)(keyObject);let len;let offset;let correction;switch(crv){case"secp256k1":len=64;offset=31+2;correction=-1;break;case"P-256":len=64;offset=34+2;correction=-1;break;case"P-384":len=96;offset=33+2;correction=-3;break;case"P-521":len=132;offset=33+2;correction=-3;break;default:throw new errors_js_1.JOSENotSupported("Unsupported curve")}if(keyObject.type==="public"){const der2=keyObject.export({type:"spki",format:"der"});return{kty:"EC",crv,x:(0,base64url_js_1.encode)(der2.subarray(-len,-len/2)),y:(0,base64url_js_1.encode)(der2.subarray(-len/2))}}const der=keyObject.export({type:"pkcs8",format:"der"});if(der.length<100){offset+=correction}return{...keyToJWK2((0,crypto_1.createPublicKey)(keyObject)),d:(0,base64url_js_1.encode)(der.subarray(offset,offset+len/2))}}case"ed25519":case"x25519":{const crv=(0,get_named_curve_js_1.default)(keyObject);if(keyObject.type==="public"){const der2=keyObject.export({type:"spki",format:"der"});return{kty:"OKP",crv,x:(0,base64url_js_1.encode)(der2.subarray(-32))}}const der=keyObject.export({type:"pkcs8",format:"der"});return{...keyToJWK2((0,crypto_1.createPublicKey)(keyObject)),d:(0,base64url_js_1.encode)(der.subarray(-32))}}case"ed448":case"x448":{const crv=(0,get_named_curve_js_1.default)(keyObject);if(keyObject.type==="public"){const der2=keyObject.export({type:"spki",format:"der"});return{kty:"OKP",crv,x:(0,base64url_js_1.encode)(der2.subarray(crv==="Ed448"?-57:-56))}}const der=keyObject.export({type:"pkcs8",format:"der"});return{...keyToJWK2((0,crypto_1.createPublicKey)(keyObject)),d:(0,base64url_js_1.encode)(der.subarray(crv==="Ed448"?-57:-56))}}default:throw new errors_js_1.JOSENotSupported("Unsupported key asymmetricKeyType")}}default:throw new errors_js_1.JOSENotSupported("Unsupported key type")}};exports2.default=keyToJWK2}});var require_export=__commonJS({"node_modules/jose/dist/node/cjs/key/export.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.exportJWK=exports2.exportPKCS8=exports2.exportSPKI=void 0;var asn1_js_1=require_asn1();var asn1_js_2=require_asn1();var key_to_jwk_js_1=require_key_to_jwk();async function exportSPKI(key){return(0,asn1_js_1.toSPKI)(key)}exports2.exportSPKI=exportSPKI;async function exportPKCS8(key){return(0,asn1_js_2.toPKCS8)(key)}exports2.exportPKCS8=exportPKCS8;async function exportJWK2(key){return(0,key_to_jwk_js_1.default)(key)}exports2.exportJWK=exportJWK2}});var require_encrypt_key_management=__commonJS({"node_modules/jose/dist/node/cjs/lib/encrypt_key_management.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});var aeskw_js_1=require_aeskw();var ECDH=require_ecdhes();var pbes2kw_js_1=require_pbes2kw();var rsaes_js_1=require_rsaes();var base64url_js_1=require_base64url();var cek_js_1=require_cek();var errors_js_1=require_errors4();var export_js_1=require_export();var check_key_type_js_1=require_check_key_type();var aesgcmkw_js_1=require_aesgcmkw();async function encryptKeyManagement2(alg,enc,key,providedCek,providedParameters={}){let encryptedKey;let parameters;let cek;(0,check_key_type_js_1.default)(alg,key,"encrypt");switch(alg){case"dir":{cek=key;break}case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!ECDH.ecdhAllowed(key)){throw new errors_js_1.JOSENotSupported("ECDH with the provided key is not allowed or not supported by your javascript runtime")}const{apu,apv}=providedParameters;let{epk:ephemeralKey}=providedParameters;ephemeralKey||(ephemeralKey=(await ECDH.generateEpk(key)).privateKey);const{x,y,crv,kty}=await(0,export_js_1.exportJWK)(ephemeralKey);const sharedSecret=await ECDH.deriveKey(key,ephemeralKey,alg==="ECDH-ES"?enc:alg,alg==="ECDH-ES"?(0,cek_js_1.bitLength)(enc):parseInt(alg.slice(-5,-2),10),apu,apv);parameters={epk:{x,crv,kty}};if(kty==="EC")parameters.epk.y=y;if(apu)parameters.apu=(0,base64url_js_1.encode)(apu);if(apv)parameters.apv=(0,base64url_js_1.encode)(apv);if(alg==="ECDH-ES"){cek=sharedSecret;break}cek=providedCek||(0,cek_js_1.default)(enc);const kwAlg=alg.slice(-6);encryptedKey=await(0,aeskw_js_1.wrap)(kwAlg,sharedSecret,cek);break}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{cek=providedCek||(0,cek_js_1.default)(enc);encryptedKey=await(0,rsaes_js_1.encrypt)(alg,key,cek);break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{cek=providedCek||(0,cek_js_1.default)(enc);const{p2c,p2s:p2s2}=providedParameters;({encryptedKey,...parameters}=await(0,pbes2kw_js_1.encrypt)(alg,key,cek,p2c,p2s2));break}case"A128KW":case"A192KW":case"A256KW":{cek=providedCek||(0,cek_js_1.default)(enc);encryptedKey=await(0,aeskw_js_1.wrap)(alg,key,cek);break}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{cek=providedCek||(0,cek_js_1.default)(enc);const{iv}=providedParameters;({encryptedKey,...parameters}=await(0,aesgcmkw_js_1.wrap)(alg,key,cek,iv));break}default:{throw new errors_js_1.JOSENotSupported('Invalid or unsupported "alg" (JWE Algorithm) header value')}}return{cek,encryptedKey,parameters}}exports2.default=encryptKeyManagement2}});var require_encrypt2=__commonJS({"node_modules/jose/dist/node/cjs/jwe/flattened/encrypt.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.FlattenedEncrypt=exports2.unprotected=void 0;var base64url_js_1=require_base64url();var encrypt_js_1=require_encrypt();var zlib_js_1=require_zlib();var iv_js_1=require_iv();var encrypt_key_management_js_1=require_encrypt_key_management();var errors_js_1=require_errors4();var is_disjoint_js_1=require_is_disjoint();var buffer_utils_js_1=require_buffer_utils();var validate_crit_js_1=require_validate_crit();exports2.unprotected=Symbol();var FlattenedEncrypt2=class{constructor(plaintext){if(!(plaintext instanceof Uint8Array)){throw new TypeError("plaintext must be an instance of Uint8Array")}this._plaintext=plaintext}setKeyManagementParameters(parameters){if(this._keyManagementParameters){throw new TypeError("setKeyManagementParameters can only be called once")}this._keyManagementParameters=parameters;return this}setProtectedHeader(protectedHeader){if(this._protectedHeader){throw new TypeError("setProtectedHeader can only be called once")}this._protectedHeader=protectedHeader;return this}setSharedUnprotectedHeader(sharedUnprotectedHeader){if(this._sharedUnprotectedHeader){throw new TypeError("setSharedUnprotectedHeader can only be called once")}this._sharedUnprotectedHeader=sharedUnprotectedHeader;return this}setUnprotectedHeader(unprotectedHeader){if(this._unprotectedHeader){throw new TypeError("setUnprotectedHeader can only be called once")}this._unprotectedHeader=unprotectedHeader;return this}setAdditionalAuthenticatedData(aad){this._aad=aad;return this}setContentEncryptionKey(cek){if(this._cek){throw new TypeError("setContentEncryptionKey can only be called once")}this._cek=cek;return this}setInitializationVector(iv){if(this._iv){throw new TypeError("setInitializationVector can only be called once")}this._iv=iv;return this}async encrypt(key,options){if(!this._protectedHeader&&!this._unprotectedHeader&&!this._sharedUnprotectedHeader){throw new errors_js_1.JWEInvalid("either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()")}if(!(0,is_disjoint_js_1.default)(this._protectedHeader,this._unprotectedHeader,this._sharedUnprotectedHeader)){throw new errors_js_1.JWEInvalid("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint")}const joseHeader={...this._protectedHeader,...this._unprotectedHeader,...this._sharedUnprotectedHeader};(0,validate_crit_js_1.default)(errors_js_1.JWEInvalid,new Map,options===null||options===void 0?void 0:options.crit,this._protectedHeader,joseHeader);if(joseHeader.zip!==void 0){if(!this._protectedHeader||!this._protectedHeader.zip){throw new errors_js_1.JWEInvalid('JWE "zip" (Compression Algorithm) Header MUST be integrity protected')}if(joseHeader.zip!=="DEF"){throw new errors_js_1.JOSENotSupported('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}}const{alg,enc}=joseHeader;if(typeof alg!=="string"||!alg){throw new errors_js_1.JWEInvalid('JWE "alg" (Algorithm) Header Parameter missing or invalid')}if(typeof enc!=="string"||!enc){throw new errors_js_1.JWEInvalid('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid')}let encryptedKey;if(alg==="dir"){if(this._cek){throw new TypeError("setContentEncryptionKey cannot be called when using Direct Encryption")}}else if(alg==="ECDH-ES"){if(this._cek){throw new TypeError("setContentEncryptionKey cannot be called when using Direct Key Agreement")}}let cek;{let parameters;({cek,encryptedKey,parameters}=await(0,encrypt_key_management_js_1.default)(alg,enc,key,this._cek,this._keyManagementParameters));if(parameters){if(options&&exports2.unprotected in options){if(!this._unprotectedHeader){this.setUnprotectedHeader(parameters)}else{this._unprotectedHeader={...this._unprotectedHeader,...parameters}}}else{if(!this._protectedHeader){this.setProtectedHeader(parameters)}else{this._protectedHeader={...this._protectedHeader,...parameters}}}}}this._iv||(this._iv=(0,iv_js_1.default)(enc));let additionalData;let protectedHeader;let aadMember;if(this._protectedHeader){protectedHeader=buffer_utils_js_1.encoder.encode((0,base64url_js_1.encode)(JSON.stringify(this._protectedHeader)))}else{protectedHeader=buffer_utils_js_1.encoder.encode("")}if(this._aad){aadMember=(0,base64url_js_1.encode)(this._aad);additionalData=(0,buffer_utils_js_1.concat)(protectedHeader,buffer_utils_js_1.encoder.encode("."),buffer_utils_js_1.encoder.encode(aadMember))}else{additionalData=protectedHeader}let ciphertext;let tag;if(joseHeader.zip==="DEF"){const deflated=await((options===null||options===void 0?void 0:options.deflateRaw)||zlib_js_1.deflate)(this._plaintext);({ciphertext,tag}=await(0,encrypt_js_1.default)(enc,deflated,cek,this._iv,additionalData))}else{;({ciphertext,tag}=await(0,encrypt_js_1.default)(enc,this._plaintext,cek,this._iv,additionalData))}const jwe={ciphertext:(0,base64url_js_1.encode)(ciphertext),iv:(0,base64url_js_1.encode)(this._iv),tag:(0,base64url_js_1.encode)(tag)};if(encryptedKey){jwe.encrypted_key=(0,base64url_js_1.encode)(encryptedKey)}if(aadMember){jwe.aad=aadMember}if(this._protectedHeader){jwe.protected=buffer_utils_js_1.decoder.decode(protectedHeader)}if(this._sharedUnprotectedHeader){jwe.unprotected=this._sharedUnprotectedHeader}if(this._unprotectedHeader){jwe.header=this._unprotectedHeader}return jwe}};exports2.FlattenedEncrypt=FlattenedEncrypt2}});var require_encrypt3=__commonJS({"node_modules/jose/dist/node/cjs/jwe/general/encrypt.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.GeneralEncrypt=void 0;var encrypt_js_1=require_encrypt2();var errors_js_1=require_errors4();var cek_js_1=require_cek();var is_disjoint_js_1=require_is_disjoint();var encrypt_key_management_js_1=require_encrypt_key_management();var base64url_js_1=require_base64url();var validate_crit_js_1=require_validate_crit();var IndividualRecipient=class{constructor(enc,key,options){this.parent=enc;this.key=key;this.options=options}setUnprotectedHeader(unprotectedHeader){if(this.unprotectedHeader){throw new TypeError("setUnprotectedHeader can only be called once")}this.unprotectedHeader=unprotectedHeader;return this}addRecipient(...args2){return this.parent.addRecipient(...args2)}encrypt(...args2){return this.parent.encrypt(...args2)}done(){return this.parent}};var GeneralEncrypt=class{constructor(plaintext){this._recipients=[];this._plaintext=plaintext}addRecipient(key,options){const recipient=new IndividualRecipient(this,key,{crit:options===null||options===void 0?void 0:options.crit});this._recipients.push(recipient);return recipient}setProtectedHeader(protectedHeader){if(this._protectedHeader){throw new TypeError("setProtectedHeader can only be called once")}this._protectedHeader=protectedHeader;return this}setSharedUnprotectedHeader(sharedUnprotectedHeader){if(this._unprotectedHeader){throw new TypeError("setSharedUnprotectedHeader can only be called once")}this._unprotectedHeader=sharedUnprotectedHeader;return this}setAdditionalAuthenticatedData(aad){this._aad=aad;return this}async encrypt(options){var _a12,_b2,_c;if(!this._recipients.length){throw new errors_js_1.JWEInvalid("at least one recipient must be added")}options={deflateRaw:options===null||options===void 0?void 0:options.deflateRaw};if(this._recipients.length===1){const[recipient]=this._recipients;const flattened=await new encrypt_js_1.FlattenedEncrypt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(recipient.unprotectedHeader).encrypt(recipient.key,{...recipient.options,...options});let jwe2={ciphertext:flattened.ciphertext,iv:flattened.iv,recipients:[{}],tag:flattened.tag};if(flattened.aad)jwe2.aad=flattened.aad;if(flattened.protected)jwe2.protected=flattened.protected;if(flattened.unprotected)jwe2.unprotected=flattened.unprotected;if(flattened.encrypted_key)jwe2.recipients[0].encrypted_key=flattened.encrypted_key;if(flattened.header)jwe2.recipients[0].header=flattened.header;return jwe2}let enc;for(let i=0;i<this._recipients.length;i++){const recipient=this._recipients[i];if(!(0,is_disjoint_js_1.default)(this._protectedHeader,this._unprotectedHeader,recipient.unprotectedHeader)){throw new errors_js_1.JWEInvalid("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint")}const joseHeader={...this._protectedHeader,...this._unprotectedHeader,...recipient.unprotectedHeader};const{alg}=joseHeader;if(typeof alg!=="string"||!alg){throw new errors_js_1.JWEInvalid('JWE "alg" (Algorithm) Header Parameter missing or invalid')}if(alg==="dir"||alg==="ECDH-ES"){throw new errors_js_1.JWEInvalid('"dir" and "ECDH-ES" alg may only be used with a single recipient')}if(typeof joseHeader.enc!=="string"||!joseHeader.enc){throw new errors_js_1.JWEInvalid('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid')}if(!enc){enc=joseHeader.enc}else if(enc!==joseHeader.enc){throw new errors_js_1.JWEInvalid('JWE "enc" (Encryption Algorithm) Header Parameter must be the same for all recipients')}(0,validate_crit_js_1.default)(errors_js_1.JWEInvalid,new Map,recipient.options.crit,this._protectedHeader,joseHeader);if(joseHeader.zip!==void 0){if(!this._protectedHeader||!this._protectedHeader.zip){throw new errors_js_1.JWEInvalid('JWE "zip" (Compression Algorithm) Header MUST be integrity protected')}}}const cek=(0,cek_js_1.default)(enc);let jwe={ciphertext:"",iv:"",recipients:[],tag:""};for(let i=0;i<this._recipients.length;i++){const recipient=this._recipients[i];const target={};jwe.recipients.push(target);const joseHeader={...this._protectedHeader,...this._unprotectedHeader,...recipient.unprotectedHeader};const p2c=joseHeader.alg.startsWith("PBES2")?2048+i:void 0;if(i===0){const flattened=await new encrypt_js_1.FlattenedEncrypt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setContentEncryptionKey(cek).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(recipient.unprotectedHeader).setKeyManagementParameters({p2c}).encrypt(recipient.key,{...recipient.options,...options,[encrypt_js_1.unprotected]:true});jwe.ciphertext=flattened.ciphertext;jwe.iv=flattened.iv;jwe.tag=flattened.tag;if(flattened.aad)jwe.aad=flattened.aad;if(flattened.protected)jwe.protected=flattened.protected;if(flattened.unprotected)jwe.unprotected=flattened.unprotected;target.encrypted_key=flattened.encrypted_key;if(flattened.header)target.header=flattened.header;continue}const{encryptedKey,parameters}=await(0,encrypt_key_management_js_1.default)(((_a12=recipient.unprotectedHeader)===null||_a12===void 0?void 0:_a12.alg)||((_b2=this._protectedHeader)===null||_b2===void 0?void 0:_b2.alg)||((_c=this._unprotectedHeader)===null||_c===void 0?void 0:_c.alg),enc,recipient.key,cek,{p2c});target.encrypted_key=(0,base64url_js_1.encode)(encryptedKey);if(recipient.unprotectedHeader||parameters)target.header={...recipient.unprotectedHeader,...parameters}}return jwe}};exports2.GeneralEncrypt=GeneralEncrypt}});var require_dsa_digest=__commonJS({"node_modules/jose/dist/node/cjs/runtime/dsa_digest.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});var errors_js_1=require_errors4();function dsaDigest(alg){switch(alg){case"PS256":case"RS256":case"ES256":case"ES256K":return"sha256";case"PS384":case"RS384":case"ES384":return"sha384";case"PS512":case"RS512":case"ES512":return"sha512";case"EdDSA":return void 0;default:throw new errors_js_1.JOSENotSupported(`alg ${alg} is not supported either by JOSE or your javascript runtime`)}}exports2.default=dsaDigest}});var require_node_key=__commonJS({"node_modules/jose/dist/node/cjs/runtime/node_key.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});var crypto_1=require("crypto");var get_named_curve_js_1=require_get_named_curve();var errors_js_1=require_errors4();var check_modulus_length_js_1=require_check_modulus_length();var flags_js_1=require_flags();var PSS={padding:crypto_1.constants.RSA_PKCS1_PSS_PADDING,saltLength:crypto_1.constants.RSA_PSS_SALTLEN_DIGEST};var ecCurveAlgMap=new Map([["ES256","P-256"],["ES256K","secp256k1"],["ES384","P-384"],["ES512","P-521"]]);function keyForCrypto(alg,key){switch(alg){case"EdDSA":if(!["ed25519","ed448"].includes(key.asymmetricKeyType)){throw new TypeError("Invalid key for this operation, its asymmetricKeyType must be ed25519 or ed448")}return key;case"RS256":case"RS384":case"RS512":if(key.asymmetricKeyType!=="rsa"){throw new TypeError("Invalid key for this operation, its asymmetricKeyType must be rsa")}(0,check_modulus_length_js_1.default)(key,alg);return key;case(flags_js_1.rsaPssParams&&"PS256"):case(flags_js_1.rsaPssParams&&"PS384"):case(flags_js_1.rsaPssParams&&"PS512"):if(key.asymmetricKeyType==="rsa-pss"){const{hashAlgorithm,mgf1HashAlgorithm,saltLength}=key.asymmetricKeyDetails;const length=parseInt(alg.slice(-3),10);if(hashAlgorithm!==void 0&&(hashAlgorithm!==`sha${length}`||mgf1HashAlgorithm!==hashAlgorithm)){throw new TypeError(`Invalid key for this operation, its RSA-PSS parameters do not meet the requirements of "alg" ${alg}`)}if(saltLength!==void 0&&saltLength>length>>3){throw new TypeError(`Invalid key for this operation, its RSA-PSS parameter saltLength does not meet the requirements of "alg" ${alg}`)}}else if(key.asymmetricKeyType!=="rsa"){throw new TypeError("Invalid key for this operation, its asymmetricKeyType must be rsa or rsa-pss")}(0,check_modulus_length_js_1.default)(key,alg);return{key,...PSS};case(!flags_js_1.rsaPssParams&&"PS256"):case(!flags_js_1.rsaPssParams&&"PS384"):case(!flags_js_1.rsaPssParams&&"PS512"):if(key.asymmetricKeyType!=="rsa"){throw new TypeError("Invalid key for this operation, its asymmetricKeyType must be rsa")}(0,check_modulus_length_js_1.default)(key,alg);return{key,...PSS};case"ES256":case"ES256K":case"ES384":case"ES512":{if(key.asymmetricKeyType!=="ec"){throw new TypeError("Invalid key for this operation, its asymmetricKeyType must be ec")}const actual=(0,get_named_curve_js_1.default)(key);const expected=ecCurveAlgMap.get(alg);if(actual!==expected){throw new TypeError(`Invalid key curve for the algorithm, its curve must be ${expected}, got ${actual}`)}return{dsaEncoding:"ieee-p1363",key}}default:throw new errors_js_1.JOSENotSupported(`alg ${alg} is not supported either by JOSE or your javascript runtime`)}}exports2.default=keyForCrypto}});var require_hmac_digest=__commonJS({"node_modules/jose/dist/node/cjs/runtime/hmac_digest.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});var errors_js_1=require_errors4();function hmacDigest(alg){switch(alg){case"HS256":return"sha256";case"HS384":return"sha384";case"HS512":return"sha512";default:throw new errors_js_1.JOSENotSupported(`alg ${alg} is not supported either by JOSE or your javascript runtime`)}}exports2.default=hmacDigest}});var require_get_sign_verify_key=__commonJS({"node_modules/jose/dist/node/cjs/runtime/get_sign_verify_key.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});var crypto_1=require("crypto");var webcrypto_js_1=require_webcrypto();var crypto_key_js_1=require_crypto_key();var invalid_key_input_js_1=require_invalid_key_input();var is_key_like_js_1=require_is_key_like();function getSignVerifyKey(alg,key,usage){if(key instanceof Uint8Array){if(!alg.startsWith("HS")){throw new TypeError((0,invalid_key_input_js_1.default)(key,...is_key_like_js_1.types))}return(0,crypto_1.createSecretKey)(key)}if(key instanceof crypto_1.KeyObject){return key}if((0,webcrypto_js_1.isCryptoKey)(key)){(0,crypto_key_js_1.checkSigCryptoKey)(key,alg,usage);return crypto_1.KeyObject.from(key)}throw new TypeError((0,invalid_key_input_js_1.default)(key,...is_key_like_js_1.types,"Uint8Array"))}exports2.default=getSignVerifyKey}});var require_sign=__commonJS({"node_modules/jose/dist/node/cjs/runtime/sign.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});var crypto6=require("crypto");var util_1=require("util");var dsa_digest_js_1=require_dsa_digest();var hmac_digest_js_1=require_hmac_digest();var node_key_js_1=require_node_key();var get_sign_verify_key_js_1=require_get_sign_verify_key();var oneShotSign;if(crypto6.sign.length>3){oneShotSign=(0,util_1.promisify)(crypto6.sign)}else{oneShotSign=crypto6.sign}var sign=async(alg,key,data)=>{const keyObject=(0,get_sign_verify_key_js_1.default)(alg,key,"sign");if(alg.startsWith("HS")){const hmac=crypto6.createHmac((0,hmac_digest_js_1.default)(alg),keyObject);hmac.update(data);return hmac.digest()}return oneShotSign((0,dsa_digest_js_1.default)(alg),data,(0,node_key_js_1.default)(alg,keyObject))};exports2.default=sign}});var require_verify=__commonJS({"node_modules/jose/dist/node/cjs/runtime/verify.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});var crypto6=require("crypto");var util_1=require("util");var dsa_digest_js_1=require_dsa_digest();var node_key_js_1=require_node_key();var sign_js_1=require_sign();var get_sign_verify_key_js_1=require_get_sign_verify_key();var flags_js_1=require_flags();var oneShotVerify;if(crypto6.verify.length>4&&flags_js_1.oneShotCallback){oneShotVerify=(0,util_1.promisify)(crypto6.verify)}else{oneShotVerify=crypto6.verify}var verify=async(alg,key,signature,data)=>{const keyObject=(0,get_sign_verify_key_js_1.default)(alg,key,"verify");if(alg.startsWith("HS")){const expected=await(0,sign_js_1.default)(alg,keyObject,data);const actual=signature;try{return crypto6.timingSafeEqual(actual,expected)}catch{return false}}const algorithm=(0,dsa_digest_js_1.default)(alg);const keyInput=(0,node_key_js_1.default)(alg,keyObject);try{return await oneShotVerify(algorithm,data,keyInput,signature)}catch{return false}};exports2.default=verify}});var require_verify2=__commonJS({"node_modules/jose/dist/node/cjs/jws/flattened/verify.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.flattenedVerify=void 0;var base64url_js_1=require_base64url();var verify_js_1=require_verify();var errors_js_1=require_errors4();var buffer_utils_js_1=require_buffer_utils();var is_disjoint_js_1=require_is_disjoint();var is_object_js_1=require_is_object();var check_key_type_js_1=require_check_key_type();var validate_crit_js_1=require_validate_crit();var validate_algorithms_js_1=require_validate_algorithms();async function flattenedVerify(jws,key,options){var _a12;if(!(0,is_object_js_1.default)(jws)){throw new errors_js_1.JWSInvalid("Flattened JWS must be an object")}if(jws.protected===void 0&&jws.header===void 0){throw new errors_js_1.JWSInvalid('Flattened JWS must have either of the "protected" or "header" members')}if(jws.protected!==void 0&&typeof jws.protected!=="string"){throw new errors_js_1.JWSInvalid("JWS Protected Header incorrect type")}if(jws.payload===void 0){throw new errors_js_1.JWSInvalid("JWS Payload missing")}if(typeof jws.signature!=="string"){throw new errors_js_1.JWSInvalid("JWS Signature missing or incorrect type")}if(jws.header!==void 0&&!(0,is_object_js_1.default)(jws.header)){throw new errors_js_1.JWSInvalid("JWS Unprotected Header incorrect type")}let parsedProt={};if(jws.protected){try{const protectedHeader=(0,base64url_js_1.decode)(jws.protected);parsedProt=JSON.parse(buffer_utils_js_1.decoder.decode(protectedHeader))}catch{throw new errors_js_1.JWSInvalid("JWS Protected Header is invalid")}}if(!(0,is_disjoint_js_1.default)(parsedProt,jws.header)){throw new errors_js_1.JWSInvalid("JWS Protected and JWS Unprotected Header Parameter names must be disjoint")}const joseHeader={...parsedProt,...jws.header};const extensions2=(0,validate_crit_js_1.default)(errors_js_1.JWSInvalid,new Map([["b64",true]]),options===null||options===void 0?void 0:options.crit,parsedProt,joseHeader);let b64=true;if(extensions2.has("b64")){b64=parsedProt.b64;if(typeof b64!=="boolean"){throw new errors_js_1.JWSInvalid('The "b64" (base64url-encode payload) Header Parameter must be a boolean')}}const{alg}=joseHeader;if(typeof alg!=="string"||!alg){throw new errors_js_1.JWSInvalid('JWS "alg" (Algorithm) Header Parameter missing or invalid')}const algorithms=options&&(0,validate_algorithms_js_1.default)("algorithms",options.algorithms);if(algorithms&&!algorithms.has(alg)){throw new errors_js_1.JOSEAlgNotAllowed('"alg" (Algorithm) Header Parameter not allowed')}if(b64){if(typeof jws.payload!=="string"){throw new errors_js_1.JWSInvalid("JWS Payload must be a string")}}else if(typeof jws.payload!=="string"&&!(jws.payload instanceof Uint8Array)){throw new errors_js_1.JWSInvalid("JWS Payload must be a string or an Uint8Array instance")}let resolvedKey=false;if(typeof key==="function"){key=await key(parsedProt,jws);resolvedKey=true}(0,check_key_type_js_1.default)(alg,key,"verify");const data=(0,buffer_utils_js_1.concat)(buffer_utils_js_1.encoder.encode((_a12=jws.protected)!==null&&_a12!==void 0?_a12:""),buffer_utils_js_1.encoder.encode("."),typeof jws.payload==="string"?buffer_utils_js_1.encoder.encode(jws.payload):jws.payload);let signature;try{signature=(0,base64url_js_1.decode)(jws.signature)}catch{throw new errors_js_1.JWSInvalid("Failed to base64url decode the signature")}const verified=await(0,verify_js_1.default)(alg,key,signature,data);if(!verified){throw new errors_js_1.JWSSignatureVerificationFailed}let payload;if(b64){try{payload=(0,base64url_js_1.decode)(jws.payload)}catch{throw new errors_js_1.JWSInvalid("Failed to base64url decode the payload")}}else if(typeof jws.payload==="string"){payload=buffer_utils_js_1.encoder.encode(jws.payload)}else{payload=jws.payload}const result2={payload};if(jws.protected!==void 0){result2.protectedHeader=parsedProt}if(jws.header!==void 0){result2.unprotectedHeader=jws.header}if(resolvedKey){return{...result2,key}}return result2}exports2.flattenedVerify=flattenedVerify}});var require_verify3=__commonJS({"node_modules/jose/dist/node/cjs/jws/compact/verify.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.compactVerify=void 0;var verify_js_1=require_verify2();var errors_js_1=require_errors4();var buffer_utils_js_1=require_buffer_utils();async function compactVerify(jws,key,options){if(jws instanceof Uint8Array){jws=buffer_utils_js_1.decoder.decode(jws)}if(typeof jws!=="string"){throw new errors_js_1.JWSInvalid("Compact JWS must be a string or Uint8Array")}const{0:protectedHeader,1:payload,2:signature,length}=jws.split(".");if(length!==3){throw new errors_js_1.JWSInvalid("Invalid Compact JWS")}const verified=await(0,verify_js_1.flattenedVerify)({payload,protected:protectedHeader,signature},key,options);const result2={payload:verified.payload,protectedHeader:verified.protectedHeader};if(typeof key==="function"){return{...result2,key:verified.key}}return result2}exports2.compactVerify=compactVerify}});var require_verify4=__commonJS({"node_modules/jose/dist/node/cjs/jws/general/verify.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.generalVerify=void 0;var verify_js_1=require_verify2();var errors_js_1=require_errors4();var is_object_js_1=require_is_object();async function generalVerify(jws,key,options){if(!(0,is_object_js_1.default)(jws)){throw new errors_js_1.JWSInvalid("General JWS must be an object")}if(!Array.isArray(jws.signatures)||!jws.signatures.every(is_object_js_1.default)){throw new errors_js_1.JWSInvalid("JWS Signatures missing or incorrect type")}for(const signature of jws.signatures){try{return await(0,verify_js_1.flattenedVerify)({header:signature.header,payload:jws.payload,protected:signature.protected,signature:signature.signature},key,options)}catch{}}throw new errors_js_1.JWSSignatureVerificationFailed}exports2.generalVerify=generalVerify}});var require_epoch=__commonJS({"node_modules/jose/dist/node/cjs/lib/epoch.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.default=date=>Math.floor(date.getTime()/1e3)}});var require_secs=__commonJS({"node_modules/jose/dist/node/cjs/lib/secs.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});var minute=60;var hour=minute*60;var day=hour*24;var week=day*7;var year=day*365.25;var REGEX=/^(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$/i;exports2.default=str2=>{const matched=REGEX.exec(str2);if(!matched){throw new TypeError("Invalid time period format")}const value=parseFloat(matched[1]);const unit=matched[2].toLowerCase();switch(unit){case"sec":case"secs":case"second":case"seconds":case"s":return Math.round(value);case"minute":case"minutes":case"min":case"mins":case"m":return Math.round(value*minute);case"hour":case"hours":case"hr":case"hrs":case"h":return Math.round(value*hour);case"day":case"days":case"d":return Math.round(value*day);case"week":case"weeks":case"w":return Math.round(value*week);default:return Math.round(value*year)}}}});var require_jwt_claims_set=__commonJS({"node_modules/jose/dist/node/cjs/lib/jwt_claims_set.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});var errors_js_1=require_errors4();var buffer_utils_js_1=require_buffer_utils();var epoch_js_1=require_epoch();var secs_js_1=require_secs();var is_object_js_1=require_is_object();var normalizeTyp=value=>value.toLowerCase().replace(/^application\//,"");var checkAudiencePresence=(audPayload,audOption)=>{if(typeof audPayload==="string"){return audOption.includes(audPayload)}if(Array.isArray(audPayload)){return audOption.some(Set.prototype.has.bind(new Set(audPayload)))}return false};exports2.default=(protectedHeader,encodedPayload,options={})=>{const{typ}=options;if(typ&&(typeof protectedHeader.typ!=="string"||normalizeTyp(protectedHeader.typ)!==normalizeTyp(typ))){throw new errors_js_1.JWTClaimValidationFailed('unexpected "typ" JWT header value',"typ","check_failed")}let payload;try{payload=JSON.parse(buffer_utils_js_1.decoder.decode(encodedPayload))}catch{}if(!(0,is_object_js_1.default)(payload)){throw new errors_js_1.JWTInvalid("JWT Claims Set must be a top-level JSON object")}const{requiredClaims=[],issuer,subject,audience,maxTokenAge}=options;if(maxTokenAge!==void 0)requiredClaims.push("iat");if(audience!==void 0)requiredClaims.push("aud");if(subject!==void 0)requiredClaims.push("sub");if(issuer!==void 0)requiredClaims.push("iss");for(const claim of new Set(requiredClaims.reverse())){if(!(claim in payload)){throw new errors_js_1.JWTClaimValidationFailed(`missing required "${claim}" claim`,claim,"missing")}}if(issuer&&!(Array.isArray(issuer)?issuer:[issuer]).includes(payload.iss)){throw new errors_js_1.JWTClaimValidationFailed('unexpected "iss" claim value',"iss","check_failed")}if(subject&&payload.sub!==subject){throw new errors_js_1.JWTClaimValidationFailed('unexpected "sub" claim value',"sub","check_failed")}if(audience&&!checkAudiencePresence(payload.aud,typeof audience==="string"?[audience]:audience)){throw new errors_js_1.JWTClaimValidationFailed('unexpected "aud" claim value',"aud","check_failed")}let tolerance;switch(typeof options.clockTolerance){case"string":tolerance=(0,secs_js_1.default)(options.clockTolerance);break;case"number":tolerance=options.clockTolerance;break;case"undefined":tolerance=0;break;default:throw new TypeError("Invalid clockTolerance option type")}const{currentDate}=options;const now3=(0,epoch_js_1.default)(currentDate||new Date);if((payload.iat!==void 0||maxTokenAge)&&typeof payload.iat!=="number"){throw new errors_js_1.JWTClaimValidationFailed('"iat" claim must be a number',"iat","invalid")}if(payload.nbf!==void 0){if(typeof payload.nbf!=="number"){throw new errors_js_1.JWTClaimValidationFailed('"nbf" claim must be a number',"nbf","invalid")}if(payload.nbf>now3+tolerance){throw new errors_js_1.JWTClaimValidationFailed('"nbf" claim timestamp check failed',"nbf","check_failed")}}if(payload.exp!==void 0){if(typeof payload.exp!=="number"){throw new errors_js_1.JWTClaimValidationFailed('"exp" claim must be a number',"exp","invalid")}if(payload.exp<=now3-tolerance){throw new errors_js_1.JWTExpired('"exp" claim timestamp check failed',"exp","check_failed")}}if(maxTokenAge){const age=now3-payload.iat;const max3=typeof maxTokenAge==="number"?maxTokenAge:(0,secs_js_1.default)(maxTokenAge);if(age-tolerance>max3){throw new errors_js_1.JWTExpired('"iat" claim timestamp check failed (too far in the past)',"iat","check_failed")}if(age<0-tolerance){throw new errors_js_1.JWTClaimValidationFailed('"iat" claim timestamp check failed (it should be in the past)',"iat","check_failed")}}return payload}}});var require_verify5=__commonJS({"node_modules/jose/dist/node/cjs/jwt/verify.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.jwtVerify=void 0;var verify_js_1=require_verify3();var jwt_claims_set_js_1=require_jwt_claims_set();var errors_js_1=require_errors4();async function jwtVerify(jwt,key,options){var _a12;const verified=await(0,verify_js_1.compactVerify)(jwt,key,options);if(((_a12=verified.protectedHeader.crit)===null||_a12===void 0?void 0:_a12.includes("b64"))&&verified.protectedHeader.b64===false){throw new errors_js_1.JWTInvalid("JWTs MUST NOT use unencoded payload")}const payload=(0,jwt_claims_set_js_1.default)(verified.protectedHeader,verified.payload,options);const result2={payload,protectedHeader:verified.protectedHeader};if(typeof key==="function"){return{...result2,key:verified.key}}return result2}exports2.jwtVerify=jwtVerify}});var require_decrypt5=__commonJS({"node_modules/jose/dist/node/cjs/jwt/decrypt.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.jwtDecrypt=void 0;var decrypt_js_1=require_decrypt3();var jwt_claims_set_js_1=require_jwt_claims_set();var errors_js_1=require_errors4();async function jwtDecrypt(jwt,key,options){const decrypted=await(0,decrypt_js_1.compactDecrypt)(jwt,key,options);const payload=(0,jwt_claims_set_js_1.default)(decrypted.protectedHeader,decrypted.plaintext,options);const{protectedHeader}=decrypted;if(protectedHeader.iss!==void 0&&protectedHeader.iss!==payload.iss){throw new errors_js_1.JWTClaimValidationFailed('replicated "iss" claim header parameter mismatch',"iss","mismatch")}if(protectedHeader.sub!==void 0&&protectedHeader.sub!==payload.sub){throw new errors_js_1.JWTClaimValidationFailed('replicated "sub" claim header parameter mismatch',"sub","mismatch")}if(protectedHeader.aud!==void 0&&JSON.stringify(protectedHeader.aud)!==JSON.stringify(payload.aud)){throw new errors_js_1.JWTClaimValidationFailed('replicated "aud" claim header parameter mismatch',"aud","mismatch")}const result2={payload,protectedHeader};if(typeof key==="function"){return{...result2,key:decrypted.key}}return result2}exports2.jwtDecrypt=jwtDecrypt}});var require_encrypt4=__commonJS({"node_modules/jose/dist/node/cjs/jwe/compact/encrypt.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.CompactEncrypt=void 0;var encrypt_js_1=require_encrypt2();var CompactEncrypt2=class{constructor(plaintext){this._flattened=new encrypt_js_1.FlattenedEncrypt(plaintext)}setContentEncryptionKey(cek){this._flattened.setContentEncryptionKey(cek);return this}setInitializationVector(iv){this._flattened.setInitializationVector(iv);return this}setProtectedHeader(protectedHeader){this._flattened.setProtectedHeader(protectedHeader);return this}setKeyManagementParameters(parameters){this._flattened.setKeyManagementParameters(parameters);return this}async encrypt(key,options){const jwe=await this._flattened.encrypt(key,options);return[jwe.protected,jwe.encrypted_key,jwe.iv,jwe.ciphertext,jwe.tag].join(".")}};exports2.CompactEncrypt=CompactEncrypt2}});var require_sign2=__commonJS({"node_modules/jose/dist/node/cjs/jws/flattened/sign.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.FlattenedSign=void 0;var base64url_js_1=require_base64url();var sign_js_1=require_sign();var is_disjoint_js_1=require_is_disjoint();var errors_js_1=require_errors4();var buffer_utils_js_1=require_buffer_utils();var check_key_type_js_1=require_check_key_type();var validate_crit_js_1=require_validate_crit();var FlattenedSign=class{constructor(payload){if(!(payload instanceof Uint8Array)){throw new TypeError("payload must be an instance of Uint8Array")}this._payload=payload}setProtectedHeader(protectedHeader){if(this._protectedHeader){throw new TypeError("setProtectedHeader can only be called once")}this._protectedHeader=protectedHeader;return this}setUnprotectedHeader(unprotectedHeader){if(this._unprotectedHeader){throw new TypeError("setUnprotectedHeader can only be called once")}this._unprotectedHeader=unprotectedHeader;return this}async sign(key,options){if(!this._protectedHeader&&!this._unprotectedHeader){throw new errors_js_1.JWSInvalid("either setProtectedHeader or setUnprotectedHeader must be called before #sign()")}if(!(0,is_disjoint_js_1.default)(this._protectedHeader,this._unprotectedHeader)){throw new errors_js_1.JWSInvalid("JWS Protected and JWS Unprotected Header Parameter names must be disjoint")}const joseHeader={...this._protectedHeader,...this._unprotectedHeader};const extensions2=(0,validate_crit_js_1.default)(errors_js_1.JWSInvalid,new Map([["b64",true]]),options===null||options===void 0?void 0:options.crit,this._protectedHeader,joseHeader);let b64=true;if(extensions2.has("b64")){b64=this._protectedHeader.b64;if(typeof b64!=="boolean"){throw new errors_js_1.JWSInvalid('The "b64" (base64url-encode payload) Header Parameter must be a boolean')}}const{alg}=joseHeader;if(typeof alg!=="string"||!alg){throw new errors_js_1.JWSInvalid('JWS "alg" (Algorithm) Header Parameter missing or invalid')}(0,check_key_type_js_1.default)(alg,key,"sign");let payload=this._payload;if(b64){payload=buffer_utils_js_1.encoder.encode((0,base64url_js_1.encode)(payload))}let protectedHeader;if(this._protectedHeader){protectedHeader=buffer_utils_js_1.encoder.encode((0,base64url_js_1.encode)(JSON.stringify(this._protectedHeader)))}else{protectedHeader=buffer_utils_js_1.encoder.encode("")}const data=(0,buffer_utils_js_1.concat)(protectedHeader,buffer_utils_js_1.encoder.encode("."),payload);const signature=await(0,sign_js_1.default)(alg,key,data);const jws={signature:(0,base64url_js_1.encode)(signature),payload:""};if(b64){jws.payload=buffer_utils_js_1.decoder.decode(payload)}if(this._unprotectedHeader){jws.header=this._unprotectedHeader}if(this._protectedHeader){jws.protected=buffer_utils_js_1.decoder.decode(protectedHeader)}return jws}};exports2.FlattenedSign=FlattenedSign}});var require_sign3=__commonJS({"node_modules/jose/dist/node/cjs/jws/compact/sign.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.CompactSign=void 0;var sign_js_1=require_sign2();var CompactSign=class{constructor(payload){this._flattened=new sign_js_1.FlattenedSign(payload)}setProtectedHeader(protectedHeader){this._flattened.setProtectedHeader(protectedHeader);return this}async sign(key,options){const jws=await this._flattened.sign(key,options);if(jws.payload===void 0){throw new TypeError("use the flattened module for creating JWS with b64: false")}return`${jws.protected}.${jws.payload}.${jws.signature}`}};exports2.CompactSign=CompactSign}});var require_sign4=__commonJS({"node_modules/jose/dist/node/cjs/jws/general/sign.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.GeneralSign=void 0;var sign_js_1=require_sign2();var errors_js_1=require_errors4();var IndividualSignature=class{constructor(sig,key,options){this.parent=sig;this.key=key;this.options=options}setProtectedHeader(protectedHeader){if(this.protectedHeader){throw new TypeError("setProtectedHeader can only be called once")}this.protectedHeader=protectedHeader;return this}setUnprotectedHeader(unprotectedHeader){if(this.unprotectedHeader){throw new TypeError("setUnprotectedHeader can only be called once")}this.unprotectedHeader=unprotectedHeader;return this}addSignature(...args2){return this.parent.addSignature(...args2)}sign(...args2){return this.parent.sign(...args2)}done(){return this.parent}};var GeneralSign=class{constructor(payload){this._signatures=[];this._payload=payload}addSignature(key,options){const signature=new IndividualSignature(this,key,options);this._signatures.push(signature);return signature}async sign(){if(!this._signatures.length){throw new errors_js_1.JWSInvalid("at least one signature must be added")}const jws={signatures:[],payload:""};for(let i=0;i<this._signatures.length;i++){const signature=this._signatures[i];const flattened=new sign_js_1.FlattenedSign(this._payload);flattened.setProtectedHeader(signature.protectedHeader);flattened.setUnprotectedHeader(signature.unprotectedHeader);const{payload,...rest2}=await flattened.sign(signature.key,signature.options);if(i===0){jws.payload=payload}else if(jws.payload!==payload){throw new errors_js_1.JWSInvalid("inconsistent use of JWS Unencoded Payload (RFC7797)")}jws.signatures.push(rest2)}return jws}};exports2.GeneralSign=GeneralSign}});var require_produce=__commonJS({"node_modules/jose/dist/node/cjs/jwt/produce.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.ProduceJWT=void 0;var epoch_js_1=require_epoch();var is_object_js_1=require_is_object();var secs_js_1=require_secs();var ProduceJWT=class{constructor(payload){if(!(0,is_object_js_1.default)(payload)){throw new TypeError("JWT Claims Set MUST be an object")}this._payload=payload}setIssuer(issuer){this._payload={...this._payload,iss:issuer};return this}setSubject(subject){this._payload={...this._payload,sub:subject};return this}setAudience(audience){this._payload={...this._payload,aud:audience};return this}setJti(jwtId){this._payload={...this._payload,jti:jwtId};return this}setNotBefore(input){if(typeof input==="number"){this._payload={...this._payload,nbf:input}}else{this._payload={...this._payload,nbf:(0,epoch_js_1.default)(new Date)+(0,secs_js_1.default)(input)}}return this}setExpirationTime(input){if(typeof input==="number"){this._payload={...this._payload,exp:input}}else{this._payload={...this._payload,exp:(0,epoch_js_1.default)(new Date)+(0,secs_js_1.default)(input)}}return this}setIssuedAt(input){if(typeof input==="undefined"){this._payload={...this._payload,iat:(0,epoch_js_1.default)(new Date)}}else{this._payload={...this._payload,iat:input}}return this}};exports2.ProduceJWT=ProduceJWT}});var require_sign5=__commonJS({"node_modules/jose/dist/node/cjs/jwt/sign.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.SignJWT=void 0;var sign_js_1=require_sign3();var errors_js_1=require_errors4();var buffer_utils_js_1=require_buffer_utils();var produce_js_1=require_produce();var SignJWT=class extends produce_js_1.ProduceJWT{setProtectedHeader(protectedHeader){this._protectedHeader=protectedHeader;return this}async sign(key,options){var _a12;const sig=new sign_js_1.CompactSign(buffer_utils_js_1.encoder.encode(JSON.stringify(this._payload)));sig.setProtectedHeader(this._protectedHeader);if(Array.isArray((_a12=this._protectedHeader)===null||_a12===void 0?void 0:_a12.crit)&&this._protectedHeader.crit.includes("b64")&&this._protectedHeader.b64===false){throw new errors_js_1.JWTInvalid("JWTs MUST NOT use unencoded payload")}return sig.sign(key,options)}};exports2.SignJWT=SignJWT}});var require_encrypt5=__commonJS({"node_modules/jose/dist/node/cjs/jwt/encrypt.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.EncryptJWT=void 0;var encrypt_js_1=require_encrypt4();var buffer_utils_js_1=require_buffer_utils();var produce_js_1=require_produce();var EncryptJWT=class extends produce_js_1.ProduceJWT{setProtectedHeader(protectedHeader){if(this._protectedHeader){throw new TypeError("setProtectedHeader can only be called once")}this._protectedHeader=protectedHeader;return this}setKeyManagementParameters(parameters){if(this._keyManagementParameters){throw new TypeError("setKeyManagementParameters can only be called once")}this._keyManagementParameters=parameters;return this}setContentEncryptionKey(cek){if(this._cek){throw new TypeError("setContentEncryptionKey can only be called once")}this._cek=cek;return this}setInitializationVector(iv){if(this._iv){throw new TypeError("setInitializationVector can only be called once")}this._iv=iv;return this}replicateIssuerAsHeader(){this._replicateIssuerAsHeader=true;return this}replicateSubjectAsHeader(){this._replicateSubjectAsHeader=true;return this}replicateAudienceAsHeader(){this._replicateAudienceAsHeader=true;return this}async encrypt(key,options){const enc=new encrypt_js_1.CompactEncrypt(buffer_utils_js_1.encoder.encode(JSON.stringify(this._payload)));if(this._replicateIssuerAsHeader){this._protectedHeader={...this._protectedHeader,iss:this._payload.iss}}if(this._replicateSubjectAsHeader){this._protectedHeader={...this._protectedHeader,sub:this._payload.sub}}if(this._replicateAudienceAsHeader){this._protectedHeader={...this._protectedHeader,aud:this._payload.aud}}enc.setProtectedHeader(this._protectedHeader);if(this._iv){enc.setInitializationVector(this._iv)}if(this._cek){enc.setContentEncryptionKey(this._cek)}if(this._keyManagementParameters){enc.setKeyManagementParameters(this._keyManagementParameters)}return enc.encrypt(key,options)}};exports2.EncryptJWT=EncryptJWT}});var require_thumbprint=__commonJS({"node_modules/jose/dist/node/cjs/jwk/thumbprint.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.calculateJwkThumbprintUri=exports2.calculateJwkThumbprint=void 0;var digest_js_1=require_digest();var base64url_js_1=require_base64url();var errors_js_1=require_errors4();var buffer_utils_js_1=require_buffer_utils();var is_object_js_1=require_is_object();var check=(value,description)=>{if(typeof value!=="string"||!value){throw new errors_js_1.JWKInvalid(`${description} missing or invalid`)}};async function calculateJwkThumbprint(jwk,digestAlgorithm){if(!(0,is_object_js_1.default)(jwk)){throw new TypeError("JWK must be an object")}digestAlgorithm!==null&&digestAlgorithm!==void 0?digestAlgorithm:digestAlgorithm="sha256";if(digestAlgorithm!=="sha256"&&digestAlgorithm!=="sha384"&&digestAlgorithm!=="sha512"){throw new TypeError('digestAlgorithm must one of "sha256", "sha384", or "sha512"')}let components;switch(jwk.kty){case"EC":check(jwk.crv,'"crv" (Curve) Parameter');check(jwk.x,'"x" (X Coordinate) Parameter');check(jwk.y,'"y" (Y Coordinate) Parameter');components={crv:jwk.crv,kty:jwk.kty,x:jwk.x,y:jwk.y};break;case"OKP":check(jwk.crv,'"crv" (Subtype of Key Pair) Parameter');check(jwk.x,'"x" (Public Key) Parameter');components={crv:jwk.crv,kty:jwk.kty,x:jwk.x};break;case"RSA":check(jwk.e,'"e" (Exponent) Parameter');check(jwk.n,'"n" (Modulus) Parameter');components={e:jwk.e,kty:jwk.kty,n:jwk.n};break;case"oct":check(jwk.k,'"k" (Key Value) Parameter');components={k:jwk.k,kty:jwk.kty};break;default:throw new errors_js_1.JOSENotSupported('"kty" (Key Type) Parameter missing or unsupported')}const data=buffer_utils_js_1.encoder.encode(JSON.stringify(components));return(0,base64url_js_1.encode)(await(0,digest_js_1.default)(digestAlgorithm,data))}exports2.calculateJwkThumbprint=calculateJwkThumbprint;async function calculateJwkThumbprintUri(jwk,digestAlgorithm){digestAlgorithm!==null&&digestAlgorithm!==void 0?digestAlgorithm:digestAlgorithm="sha256";const thumbprint=await calculateJwkThumbprint(jwk,digestAlgorithm);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${digestAlgorithm.slice(-3)}:${thumbprint}`}exports2.calculateJwkThumbprintUri=calculateJwkThumbprintUri}});var require_embedded=__commonJS({"node_modules/jose/dist/node/cjs/jwk/embedded.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.EmbeddedJWK=void 0;var import_js_1=require_import();var is_object_js_1=require_is_object();var errors_js_1=require_errors4();async function EmbeddedJWK(protectedHeader,token3){const joseHeader={...protectedHeader,...token3===null||token3===void 0?void 0:token3.header};if(!(0,is_object_js_1.default)(joseHeader.jwk)){throw new errors_js_1.JWSInvalid('"jwk" (JSON Web Key) Header Parameter must be a JSON object')}const key=await(0,import_js_1.importJWK)({...joseHeader.jwk,ext:true},joseHeader.alg,true);if(key instanceof Uint8Array||key.type!=="public"){throw new errors_js_1.JWSInvalid('"jwk" (JSON Web Key) Header Parameter must be a public key')}return key}exports2.EmbeddedJWK=EmbeddedJWK}});var require_local=__commonJS({"node_modules/jose/dist/node/cjs/jwks/local.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.createLocalJWKSet=exports2.LocalJWKSet=exports2.isJWKSLike=void 0;var import_js_1=require_import();var errors_js_1=require_errors4();var is_object_js_1=require_is_object();function getKtyFromAlg(alg){switch(typeof alg==="string"&&alg.slice(0,2)){case"RS":case"PS":return"RSA";case"ES":return"EC";case"Ed":return"OKP";default:throw new errors_js_1.JOSENotSupported('Unsupported "alg" value for a JSON Web Key Set')}}function isJWKSLike(jwks){return jwks&&typeof jwks==="object"&&Array.isArray(jwks.keys)&&jwks.keys.every(isJWKLike)}exports2.isJWKSLike=isJWKSLike;function isJWKLike(key){return(0,is_object_js_1.default)(key)}function clone2(obj){if(typeof structuredClone==="function"){return structuredClone(obj)}return JSON.parse(JSON.stringify(obj))}var LocalJWKSet=class{constructor(jwks){this._cached=new WeakMap;if(!isJWKSLike(jwks)){throw new errors_js_1.JWKSInvalid("JSON Web Key Set malformed")}this._jwks=clone2(jwks)}async getKey(protectedHeader,token3){const{alg,kid}={...protectedHeader,...token3===null||token3===void 0?void 0:token3.header};const kty=getKtyFromAlg(alg);const candidates=this._jwks.keys.filter(jwk2=>{let candidate=kty===jwk2.kty;if(candidate&&typeof kid==="string"){candidate=kid===jwk2.kid}if(candidate&&typeof jwk2.alg==="string"){candidate=alg===jwk2.alg}if(candidate&&typeof jwk2.use==="string"){candidate=jwk2.use==="sig"}if(candidate&&Array.isArray(jwk2.key_ops)){candidate=jwk2.key_ops.includes("verify")}if(candidate&&alg==="EdDSA"){candidate=jwk2.crv==="Ed25519"||jwk2.crv==="Ed448"}if(candidate){switch(alg){case"ES256":candidate=jwk2.crv==="P-256";break;case"ES256K":candidate=jwk2.crv==="secp256k1";break;case"ES384":candidate=jwk2.crv==="P-384";break;case"ES512":candidate=jwk2.crv==="P-521";break}}return candidate});const{0:jwk,length}=candidates;if(length===0){throw new errors_js_1.JWKSNoMatchingKey}else if(length!==1){const error=new errors_js_1.JWKSMultipleMatchingKeys;const{_cached}=this;error[Symbol.asyncIterator]=async function*(){for(const jwk2 of candidates){try{yield await importWithAlgCache(_cached,jwk2,alg)}catch{continue}}};throw error}return importWithAlgCache(this._cached,jwk,alg)}};exports2.LocalJWKSet=LocalJWKSet;async function importWithAlgCache(cache2,jwk,alg){const cached=cache2.get(jwk)||cache2.set(jwk,{}).get(jwk);if(cached[alg]===void 0){const key=await(0,import_js_1.importJWK)({...jwk,ext:true},alg);if(key instanceof Uint8Array||key.type!=="public"){throw new errors_js_1.JWKSInvalid("JSON Web Key Set members must be public keys")}cached[alg]=key}return cached[alg]}function createLocalJWKSet(jwks){const set3=new LocalJWKSet(jwks);return async function(protectedHeader,token3){return set3.getKey(protectedHeader,token3)}}exports2.createLocalJWKSet=createLocalJWKSet}});var require_fetch_jwks=__commonJS({"node_modules/jose/dist/node/cjs/runtime/fetch_jwks.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});var http3=require("http");var https2=require("https");var events_1=require("events");var errors_js_1=require_errors4();var buffer_utils_js_1=require_buffer_utils();var fetchJwks=async(url,timeout,options)=>{let get4;switch(url.protocol){case"https:":get4=https2.get;break;case"http:":get4=http3.get;break;default:throw new TypeError("Unsupported URL protocol.")}const{agent,headers}=options;const req=get4(url.href,{agent,timeout,headers});const[response]=await Promise.race([(0,events_1.once)(req,"response"),(0,events_1.once)(req,"timeout")]);if(!response){req.destroy();throw new errors_js_1.JWKSTimeout}if(response.statusCode!==200){throw new errors_js_1.JOSEError("Expected 200 OK from the JSON Web Key Set HTTP response")}const parts=[];for await(const part of response){parts.push(part)}try{return JSON.parse(buffer_utils_js_1.decoder.decode((0,buffer_utils_js_1.concat)(...parts)))}catch{throw new errors_js_1.JOSEError("Failed to parse the JSON Web Key Set HTTP response as JSON")}};exports2.default=fetchJwks}});var require_remote=__commonJS({"node_modules/jose/dist/node/cjs/jwks/remote.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.createRemoteJWKSet=void 0;var fetch_jwks_js_1=require_fetch_jwks();var errors_js_1=require_errors4();var local_js_1=require_local();function isCloudflareWorkers(){return typeof WebSocketPair!=="undefined"||typeof navigator!=="undefined"&&navigator.userAgent==="Cloudflare-Workers"||typeof EdgeRuntime!=="undefined"&&EdgeRuntime==="vercel"}var RemoteJWKSet=class extends local_js_1.LocalJWKSet{constructor(url,options){super({keys:[]});this._jwks=void 0;if(!(url instanceof URL)){throw new TypeError("url must be an instance of URL")}this._url=new URL(url.href);this._options={agent:options===null||options===void 0?void 0:options.agent,headers:options===null||options===void 0?void 0:options.headers};this._timeoutDuration=typeof(options===null||options===void 0?void 0:options.timeoutDuration)==="number"?options===null||options===void 0?void 0:options.timeoutDuration:5e3;this._cooldownDuration=typeof(options===null||options===void 0?void 0:options.cooldownDuration)==="number"?options===null||options===void 0?void 0:options.cooldownDuration:3e4;this._cacheMaxAge=typeof(options===null||options===void 0?void 0:options.cacheMaxAge)==="number"?options===null||options===void 0?void 0:options.cacheMaxAge:6e5}coolingDown(){return typeof this._jwksTimestamp==="number"?Date.now()<this._jwksTimestamp+this._cooldownDuration:false}fresh(){return typeof this._jwksTimestamp==="number"?Date.now()<this._jwksTimestamp+this._cacheMaxAge:false}async getKey(protectedHeader,token3){if(!this._jwks||!this.fresh()){await this.reload()}try{return await super.getKey(protectedHeader,token3)}catch(err){if(err instanceof errors_js_1.JWKSNoMatchingKey){if(this.coolingDown()===false){await this.reload();return super.getKey(protectedHeader,token3)}}throw err}}async reload(){if(this._pendingFetch&&isCloudflareWorkers()){this._pendingFetch=void 0}this._pendingFetch||(this._pendingFetch=(0,fetch_jwks_js_1.default)(this._url,this._timeoutDuration,this._options).then(json2=>{if(!(0,local_js_1.isJWKSLike)(json2)){throw new errors_js_1.JWKSInvalid("JSON Web Key Set malformed")}this._jwks={keys:json2.keys};this._jwksTimestamp=Date.now();this._pendingFetch=void 0}).catch(err=>{this._pendingFetch=void 0;throw err}));await this._pendingFetch}};function createRemoteJWKSet(url,options){const set3=new RemoteJWKSet(url,options);return async function(protectedHeader,token3){return set3.getKey(protectedHeader,token3)}}exports2.createRemoteJWKSet=createRemoteJWKSet}});var require_unsecured=__commonJS({"node_modules/jose/dist/node/cjs/jwt/unsecured.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.UnsecuredJWT=void 0;var base64url=require_base64url();var buffer_utils_js_1=require_buffer_utils();var errors_js_1=require_errors4();var jwt_claims_set_js_1=require_jwt_claims_set();var produce_js_1=require_produce();var UnsecuredJWT=class extends produce_js_1.ProduceJWT{encode(){const header2=base64url.encode(JSON.stringify({alg:"none"}));const payload=base64url.encode(JSON.stringify(this._payload));return`${header2}.${payload}.`}static decode(jwt,options){if(typeof jwt!=="string"){throw new errors_js_1.JWTInvalid("Unsecured JWT must be a string")}const{0:encodedHeader,1:encodedPayload,2:signature,length}=jwt.split(".");if(length!==3||signature!==""){throw new errors_js_1.JWTInvalid("Invalid Unsecured JWT")}let header2;try{header2=JSON.parse(buffer_utils_js_1.decoder.decode(base64url.decode(encodedHeader)));if(header2.alg!=="none")throw new Error}catch{throw new errors_js_1.JWTInvalid("Invalid Unsecured JWT")}const payload=(0,jwt_claims_set_js_1.default)(header2,base64url.decode(encodedPayload),options);return{payload,header:header2}}};exports2.UnsecuredJWT=UnsecuredJWT}});var require_base64url2=__commonJS({"node_modules/jose/dist/node/cjs/util/base64url.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.decode=exports2.encode=void 0;var base64url=require_base64url();exports2.encode=base64url.encode;exports2.decode=base64url.decode}});var require_decode_protected_header=__commonJS({"node_modules/jose/dist/node/cjs/util/decode_protected_header.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.decodeProtectedHeader=void 0;var base64url_js_1=require_base64url2();var buffer_utils_js_1=require_buffer_utils();var is_object_js_1=require_is_object();function decodeProtectedHeader(token3){let protectedB64u;if(typeof token3==="string"){const parts=token3.split(".");if(parts.length===3||parts.length===5){;[protectedB64u]=parts}}else if(typeof token3==="object"&&token3){if("protected"in token3){protectedB64u=token3.protected}else{throw new TypeError("Token does not contain a Protected Header")}}try{if(typeof protectedB64u!=="string"||!protectedB64u){throw new Error}const result2=JSON.parse(buffer_utils_js_1.decoder.decode((0,base64url_js_1.decode)(protectedB64u)));if(!(0,is_object_js_1.default)(result2)){throw new Error}return result2}catch{throw new TypeError("Invalid Token or Protected Header formatting")}}exports2.decodeProtectedHeader=decodeProtectedHeader}});var require_decode_jwt=__commonJS({"node_modules/jose/dist/node/cjs/util/decode_jwt.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.decodeJwt=void 0;var base64url_js_1=require_base64url2();var buffer_utils_js_1=require_buffer_utils();var is_object_js_1=require_is_object();var errors_js_1=require_errors4();function decodeJwt(jwt){if(typeof jwt!=="string")throw new errors_js_1.JWTInvalid("JWTs must use Compact JWS serialization, JWT must be a string");const{1:payload,length}=jwt.split(".");if(length===5)throw new errors_js_1.JWTInvalid("Only JWTs using Compact JWS serialization can be decoded");if(length!==3)throw new errors_js_1.JWTInvalid("Invalid JWT");if(!payload)throw new errors_js_1.JWTInvalid("JWTs must contain a payload");let decoded;try{decoded=(0,base64url_js_1.decode)(payload)}catch{throw new errors_js_1.JWTInvalid("Failed to base64url decode the payload")}let result2;try{result2=JSON.parse(buffer_utils_js_1.decoder.decode(decoded))}catch{throw new errors_js_1.JWTInvalid("Failed to parse the decoded payload as JSON")}if(!(0,is_object_js_1.default)(result2))throw new errors_js_1.JWTInvalid("Invalid JWT Claims Set");return result2}exports2.decodeJwt=decodeJwt}});var require_generate=__commonJS({"node_modules/jose/dist/node/cjs/runtime/generate.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.generateKeyPair=exports2.generateSecret=void 0;var crypto_1=require("crypto");var util_1=require("util");var random_js_1=require_random();var check_modulus_length_js_1=require_check_modulus_length();var errors_js_1=require_errors4();var generate=(0,util_1.promisify)(crypto_1.generateKeyPair);async function generateSecret(alg,options){let length;switch(alg){case"HS256":case"HS384":case"HS512":case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":length=parseInt(alg.slice(-3),10);break;case"A128KW":case"A192KW":case"A256KW":case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":case"A128GCM":case"A192GCM":case"A256GCM":length=parseInt(alg.slice(1,4),10);break;default:throw new errors_js_1.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return(0,crypto_1.createSecretKey)((0,random_js_1.default)(new Uint8Array(length>>3)))}exports2.generateSecret=generateSecret;async function generateKeyPair2(alg,options){var _a12,_b2;switch(alg){case"RS256":case"RS384":case"RS512":case"PS256":case"PS384":case"PS512":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":case"RSA1_5":{const modulusLength=(_a12=options===null||options===void 0?void 0:options.modulusLength)!==null&&_a12!==void 0?_a12:2048;if(typeof modulusLength!=="number"||modulusLength<2048){throw new errors_js_1.JOSENotSupported("Invalid or unsupported modulusLength option provided, 2048 bits or larger keys must be used")}const keypair=await generate("rsa",{modulusLength,publicExponent:65537});(0,check_modulus_length_js_1.setModulusLength)(keypair.privateKey,modulusLength);(0,check_modulus_length_js_1.setModulusLength)(keypair.publicKey,modulusLength);return keypair}case"ES256":return generate("ec",{namedCurve:"P-256"});case"ES256K":return generate("ec",{namedCurve:"secp256k1"});case"ES384":return generate("ec",{namedCurve:"P-384"});case"ES512":return generate("ec",{namedCurve:"P-521"});case"EdDSA":{switch(options===null||options===void 0?void 0:options.crv){case void 0:case"Ed25519":return generate("ed25519");case"Ed448":return generate("ed448");default:throw new errors_js_1.JOSENotSupported("Invalid or unsupported crv option provided, supported values are Ed25519 and Ed448")}}case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":const crv=(_b2=options===null||options===void 0?void 0:options.crv)!==null&&_b2!==void 0?_b2:"P-256";switch(crv){case void 0:case"P-256":case"P-384":case"P-521":return generate("ec",{namedCurve:crv});case"X25519":return generate("x25519");case"X448":return generate("x448");default:throw new errors_js_1.JOSENotSupported("Invalid or unsupported crv option provided, supported values are P-256, P-384, P-521, X25519, and X448")}default:throw new errors_js_1.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}}exports2.generateKeyPair=generateKeyPair2}});var require_generate_key_pair=__commonJS({"node_modules/jose/dist/node/cjs/key/generate_key_pair.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.generateKeyPair=void 0;var generate_js_1=require_generate();async function generateKeyPair2(alg,options){return(0,generate_js_1.generateKeyPair)(alg,options)}exports2.generateKeyPair=generateKeyPair2}});var require_generate_secret=__commonJS({"node_modules/jose/dist/node/cjs/key/generate_secret.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.generateSecret=void 0;var generate_js_1=require_generate();async function generateSecret(alg,options){return(0,generate_js_1.generateSecret)(alg,options)}exports2.generateSecret=generateSecret}});var require_runtime=__commonJS({"node_modules/jose/dist/node/cjs/runtime/runtime.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.default="node:crypto"}});var require_runtime2=__commonJS({"node_modules/jose/dist/node/cjs/util/runtime.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});var runtime_js_1=require_runtime();exports2.default=runtime_js_1.default}});var require_cjs=__commonJS({"node_modules/jose/dist/node/cjs/index.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.cryptoRuntime=exports2.base64url=exports2.generateSecret=exports2.generateKeyPair=exports2.errors=exports2.decodeJwt=exports2.decodeProtectedHeader=exports2.importJWK=exports2.importX509=exports2.importPKCS8=exports2.importSPKI=exports2.exportJWK=exports2.exportSPKI=exports2.exportPKCS8=exports2.UnsecuredJWT=exports2.createRemoteJWKSet=exports2.createLocalJWKSet=exports2.EmbeddedJWK=exports2.calculateJwkThumbprintUri=exports2.calculateJwkThumbprint=exports2.EncryptJWT=exports2.SignJWT=exports2.GeneralSign=exports2.FlattenedSign=exports2.CompactSign=exports2.FlattenedEncrypt=exports2.CompactEncrypt=exports2.jwtDecrypt=exports2.jwtVerify=exports2.generalVerify=exports2.flattenedVerify=exports2.compactVerify=exports2.GeneralEncrypt=exports2.generalDecrypt=exports2.flattenedDecrypt=exports2.compactDecrypt=void 0;var decrypt_js_1=require_decrypt3();Object.defineProperty(exports2,"compactDecrypt",{enumerable:true,get:function(){return decrypt_js_1.compactDecrypt}});var decrypt_js_2=require_decrypt2();Object.defineProperty(exports2,"flattenedDecrypt",{enumerable:true,get:function(){return decrypt_js_2.flattenedDecrypt}});var decrypt_js_3=require_decrypt4();Object.defineProperty(exports2,"generalDecrypt",{enumerable:true,get:function(){return decrypt_js_3.generalDecrypt}});var encrypt_js_1=require_encrypt3();Object.defineProperty(exports2,"GeneralEncrypt",{enumerable:true,get:function(){return encrypt_js_1.GeneralEncrypt}});var verify_js_1=require_verify3();Object.defineProperty(exports2,"compactVerify",{enumerable:true,get:function(){return verify_js_1.compactVerify}});var verify_js_2=require_verify2();Object.defineProperty(exports2,"flattenedVerify",{enumerable:true,get:function(){return verify_js_2.flattenedVerify}});var verify_js_3=require_verify4();Object.defineProperty(exports2,"generalVerify",{enumerable:true,get:function(){return verify_js_3.generalVerify}});var verify_js_4=require_verify5();Object.defineProperty(exports2,"jwtVerify",{enumerable:true,get:function(){return verify_js_4.jwtVerify}});var decrypt_js_4=require_decrypt5();Object.defineProperty(exports2,"jwtDecrypt",{enumerable:true,get:function(){return decrypt_js_4.jwtDecrypt}});var encrypt_js_2=require_encrypt4();Object.defineProperty(exports2,"CompactEncrypt",{enumerable:true,get:function(){return encrypt_js_2.CompactEncrypt}});var encrypt_js_3=require_encrypt2();Object.defineProperty(exports2,"FlattenedEncrypt",{enumerable:true,get:function(){return encrypt_js_3.FlattenedEncrypt}});var sign_js_1=require_sign3();Object.defineProperty(exports2,"CompactSign",{enumerable:true,get:function(){return sign_js_1.CompactSign}});var sign_js_2=require_sign2();Object.defineProperty(exports2,"FlattenedSign",{enumerable:true,get:function(){return sign_js_2.FlattenedSign}});var sign_js_3=require_sign4();Object.defineProperty(exports2,"GeneralSign",{enumerable:true,get:function(){return sign_js_3.GeneralSign}});var sign_js_4=require_sign5();Object.defineProperty(exports2,"SignJWT",{enumerable:true,get:function(){return sign_js_4.SignJWT}});var encrypt_js_4=require_encrypt5();Object.defineProperty(exports2,"EncryptJWT",{enumerable:true,get:function(){return encrypt_js_4.EncryptJWT}});var thumbprint_js_1=require_thumbprint();Object.defineProperty(exports2,"calculateJwkThumbprint",{enumerable:true,get:function(){return thumbprint_js_1.calculateJwkThumbprint}});Object.defineProperty(exports2,"calculateJwkThumbprintUri",{enumerable:true,get:function(){return thumbprint_js_1.calculateJwkThumbprintUri}});var embedded_js_1=require_embedded();Object.defineProperty(exports2,"EmbeddedJWK",{enumerable:true,get:function(){return embedded_js_1.EmbeddedJWK}});var local_js_1=require_local();Object.defineProperty(exports2,"createLocalJWKSet",{enumerable:true,get:function(){return local_js_1.createLocalJWKSet}});var remote_js_1=require_remote();Object.defineProperty(exports2,"createRemoteJWKSet",{enumerable:true,get:function(){return remote_js_1.createRemoteJWKSet}});var unsecured_js_1=require_unsecured();Object.defineProperty(exports2,"UnsecuredJWT",{enumerable:true,get:function(){return unsecured_js_1.UnsecuredJWT}});var export_js_1=require_export();Object.defineProperty(exports2,"exportPKCS8",{enumerable:true,get:function(){return export_js_1.exportPKCS8}});Object.defineProperty(exports2,"exportSPKI",{enumerable:true,get:function(){return export_js_1.exportSPKI}});Object.defineProperty(exports2,"exportJWK",{enumerable:true,get:function(){return export_js_1.exportJWK}});var import_js_1=require_import();Object.defineProperty(exports2,"importSPKI",{enumerable:true,get:function(){return import_js_1.importSPKI}});Object.defineProperty(exports2,"importPKCS8",{enumerable:true,get:function(){return import_js_1.importPKCS8}});Object.defineProperty(exports2,"importX509",{enumerable:true,get:function(){return import_js_1.importX509}});Object.defineProperty(exports2,"importJWK",{enumerable:true,get:function(){return import_js_1.importJWK}});var decode_protected_header_js_1=require_decode_protected_header();Object.defineProperty(exports2,"decodeProtectedHeader",{enumerable:true,get:function(){return decode_protected_header_js_1.decodeProtectedHeader}});var decode_jwt_js_1=require_decode_jwt();Object.defineProperty(exports2,"decodeJwt",{enumerable:true,get:function(){return decode_jwt_js_1.decodeJwt}});exports2.errors=require_errors4();var generate_key_pair_js_1=require_generate_key_pair();Object.defineProperty(exports2,"generateKeyPair",{enumerable:true,get:function(){return generate_key_pair_js_1.generateKeyPair}});var generate_secret_js_1=require_generate_secret();Object.defineProperty(exports2,"generateSecret",{enumerable:true,get:function(){return generate_secret_js_1.generateSecret}});exports2.base64url=require_base64url2();var runtime_js_1=require_runtime2();Object.defineProperty(exports2,"cryptoRuntime",{enumerable:true,get:function(){return runtime_js_1.default}})}});var require_shake256=__commonJS({"node_modules/oidc-token-hash/lib/shake256.js"(exports2,module2){var crypto6=require("crypto");var[major3,minor3]=process.version.substring(1).split(".").map(x=>parseInt(x,10));var xofOutputLength=major3>12||major3===12&&minor3>=8;var shake256=xofOutputLength&&crypto6.getHashes().includes("shake256");module2.exports=shake256}});var require_lib6=__commonJS({"node_modules/oidc-token-hash/lib/index.js"(exports2,module2){var{strict:assert2}=require("assert");var{createHash:createHash4}=require("crypto");var{format:format2}=require("util");var shake256=require_shake256();var encode2;if(Buffer.isEncoding("base64url")){encode2=input=>input.toString("base64url")}else{const fromBase64=base64=>base64.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_");encode2=input=>fromBase64(input.toString("base64"))}function getHash(alg,crv){switch(alg){case"HS256":case"RS256":case"PS256":case"ES256":case"ES256K":return createHash4("sha256");case"HS384":case"RS384":case"PS384":case"ES384":return createHash4("sha384");case"HS512":case"RS512":case"PS512":case"ES512":return createHash4("sha512");case"EdDSA":switch(crv){case"Ed25519":return createHash4("sha512");case"Ed448":if(!shake256){throw new TypeError("Ed448 *_hash calculation is not supported in your Node.js runtime version")}return createHash4("shake256",{outputLength:114});default:throw new TypeError("unrecognized or invalid EdDSA curve provided")}default:throw new TypeError("unrecognized or invalid JWS algorithm provided")}}function generate(token3,alg,crv){const digest2=getHash(alg,crv).update(token3).digest();return encode2(digest2.slice(0,digest2.length/2))}function validate(names2,actual,source,alg,crv){if(typeof names2.claim!=="string"||!names2.claim){throw new TypeError("names.claim must be a non-empty string")}if(typeof names2.source!=="string"||!names2.source){throw new TypeError("names.source must be a non-empty string")}assert2(typeof actual==="string"&&actual,`${names2.claim} must be a non-empty string`);assert2(typeof source==="string"&&source,`${names2.source} must be a non-empty string`);let expected;let msg;try{expected=generate(source,alg,crv)}catch(err){msg=format2("%s could not be validated (%s)",names2.claim,err.message)}msg=msg||format2("%s mismatch, expected %s, got: %s",names2.claim,expected,actual);assert2.equal(expected,actual,msg)}module2.exports={validate,generate}}});var require_is_key_object2=__commonJS({"node_modules/openid-client/lib/helpers/is_key_object.js"(exports2,module2){var util4=require("util");var crypto6=require("crypto");module2.exports=util4.types.isKeyObject||(obj=>obj&&obj instanceof crypto6.KeyObject)}});var require_base64url3=__commonJS({"node_modules/openid-client/lib/helpers/base64url.js"(exports2,module2){var encode2;if(Buffer.isEncoding("base64url")){encode2=(input,encoding="utf8")=>Buffer.from(input,encoding).toString("base64url")}else{const fromBase64=base64=>base64.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_");encode2=(input,encoding="utf8")=>fromBase64(Buffer.from(input,encoding).toString("base64"))}var decode=input=>Buffer.from(input,"base64");module2.exports.decode=decode;module2.exports.encode=encode2}});var require_decode_jwt2=__commonJS({"node_modules/openid-client/lib/helpers/decode_jwt.js"(exports2,module2){var base64url=require_base64url3();module2.exports=token3=>{if(typeof token3!=="string"||!token3){throw new TypeError("JWT must be a string")}const{0:header2,1:payload,2:signature,length}=token3.split(".");if(length===5){throw new TypeError("encrypted JWTs cannot be decoded")}if(length!==3){throw new Error("JWTs must have three components")}try{return{header:JSON.parse(base64url.decode(header2)),payload:JSON.parse(base64url.decode(payload)),signature}}catch(err){throw new Error("JWT is malformed")}}}});var require_is_plain_object=__commonJS({"node_modules/openid-client/lib/helpers/is_plain_object.js"(exports2,module2){module2.exports=a=>!!a&&a.constructor===Object}});var require_defaults2=__commonJS({"node_modules/openid-client/lib/helpers/defaults.js"(exports2,module2){var isPlainObject3=require_is_plain_object();function defaults3(deep,target,...sources){for(const source of sources){if(!isPlainObject3(source)){continue}for(const[key,value]of Object.entries(source)){if(key==="__proto__"||key==="constructor"){continue}if(typeof target[key]==="undefined"&&typeof value!=="undefined"){target[key]=value}if(deep&&isPlainObject3(target[key])&&isPlainObject3(value)){defaults3(true,target[key],value)}}}return target}module2.exports=defaults3.bind(void 0,false);module2.exports.deep=defaults3.bind(void 0,true)}});var require_www_authenticate_parser=__commonJS({"node_modules/openid-client/lib/helpers/www_authenticate_parser.js"(exports2,module2){var REGEXP=/(\w+)=("[^"]*")/g;module2.exports=wwwAuthenticate=>{const params={};try{while(REGEXP.exec(wwwAuthenticate)!==null){if(RegExp.$1&&RegExp.$2){params[RegExp.$1]=RegExp.$2.slice(1,-1)}}}catch(err){}return params}}});var require_assert=__commonJS({"node_modules/openid-client/lib/helpers/assert.js"(exports2,module2){function assertSigningAlgValuesSupport(endpoint,issuer,properties){if(!issuer[`${endpoint}_endpoint`])return;const eam=`${endpoint}_endpoint_auth_method`;const easa=`${endpoint}_endpoint_auth_signing_alg`;const easavs=`${endpoint}_endpoint_auth_signing_alg_values_supported`;if(properties[eam]&&properties[eam].endsWith("_jwt")&&!properties[easa]&&!issuer[easavs]){throw new TypeError(`${easavs} must be configured on the issuer if ${easa} is not defined on a client`)}}function assertIssuerConfiguration(issuer,endpoint){if(!issuer[endpoint]){throw new TypeError(`${endpoint} must be configured on the issuer`)}}module2.exports={assertSigningAlgValuesSupport,assertIssuerConfiguration}}});var require_pick=__commonJS({"node_modules/openid-client/lib/helpers/pick.js"(exports2,module2){module2.exports=function pick2(object,...paths){const obj={};for(const path27 of paths){if(object[path27]!==void 0){obj[path27]=object[path27]}}return obj}}});var require_process_response=__commonJS({"node_modules/openid-client/lib/helpers/process_response.js"(exports2,module2){var{STATUS_CODES}=require("http");var{format:format2}=require("util");var{OPError}=require_errors3();var parseWwwAuthenticate=require_www_authenticate_parser();var throwAuthenticateErrors=response=>{const params=parseWwwAuthenticate(response.headers["www-authenticate"]);if(params.error){throw new OPError(params,response)}};var isStandardBodyError=response=>{let result2=false;try{let jsonbody;if(typeof response.body!=="object"||Buffer.isBuffer(response.body)){jsonbody=JSON.parse(response.body)}else{jsonbody=response.body}result2=typeof jsonbody.error==="string"&&jsonbody.error.length;if(result2)Object.defineProperty(response,"body",{value:jsonbody,configurable:true})}catch(err){}return result2};function processResponse(response,{statusCode=200,body=true,bearer=false}={}){if(response.statusCode!==statusCode){if(bearer){throwAuthenticateErrors(response)}if(isStandardBodyError(response)){throw new OPError(response.body,response)}throw new OPError({error:format2("expected %i %s, got: %i %s",statusCode,STATUS_CODES[statusCode],response.statusCode,STATUS_CODES[response.statusCode])},response)}if(body&&!response.body){throw new OPError({error:format2("expected %i %s with body but no body was returned",statusCode,STATUS_CODES[statusCode])},response)}return response.body}module2.exports=processResponse}});var require_unix_timestamp=__commonJS({"node_modules/openid-client/lib/helpers/unix_timestamp.js"(exports2,module2){module2.exports=()=>Math.floor(Date.now()/1e3)}});var require_token_set=__commonJS({"node_modules/openid-client/lib/token_set.js"(exports2,module2){var base64url=require_base64url3();var now3=require_unix_timestamp();var TokenSet2=class{constructor(values2){Object.assign(this,values2);const{constructor,...properties}=Object.getOwnPropertyDescriptors(this.constructor.prototype);Object.defineProperties(this,properties)}set expires_in(value){this.expires_at=now3()+Number(value)}get expires_in(){return Math.max.apply(null,[this.expires_at-now3(),0])}expired(){return this.expires_in===0}claims(){if(!this.id_token){throw new TypeError("id_token not present in TokenSet")}return JSON.parse(base64url.decode(this.id_token.split(".")[1]))}};module2.exports=TokenSet2}});var require_generators=__commonJS({"node_modules/openid-client/lib/helpers/generators.js"(exports2,module2){var{createHash:createHash4,randomBytes}=require("crypto");var base64url=require_base64url3();var random3=(bytes9=32)=>base64url.encode(randomBytes(bytes9));module2.exports={random:random3,state:random3,nonce:random3,codeVerifier:random3,codeChallenge:codeVerifier=>base64url.encode(createHash4("sha256").update(codeVerifier).digest())}}});var require_iterator=__commonJS({"node_modules/openid-client/node_modules/yallist/iterator.js"(exports2,module2){"use strict";module2.exports=function(Yallist){Yallist.prototype[Symbol.iterator]=function*(){for(let walker=this.head;walker;walker=walker.next){yield walker.value}}}}});var require_yallist=__commonJS({"node_modules/openid-client/node_modules/yallist/yallist.js"(exports2,module2){"use strict";module2.exports=Yallist;Yallist.Node=Node;Yallist.create=Yallist;function Yallist(list){var self2=this;if(!(self2 instanceof Yallist)){self2=new Yallist}self2.tail=null;self2.head=null;self2.length=0;if(list&&typeof list.forEach==="function"){list.forEach(function(item){self2.push(item)})}else if(arguments.length>0){for(var i=0,l=arguments.length;i<l;i++){self2.push(arguments[i])}}return self2}Yallist.prototype.removeNode=function(node){if(node.list!==this){throw new Error("removing node which does not belong to this list")}var next=node.next;var prev=node.prev;if(next){next.prev=prev}if(prev){prev.next=next}if(node===this.head){this.head=next}if(node===this.tail){this.tail=prev}node.list.length--;node.next=null;node.prev=null;node.list=null;return next};Yallist.prototype.unshiftNode=function(node){if(node===this.head){return}if(node.list){node.list.removeNode(node)}var head2=this.head;node.list=this;node.next=head2;if(head2){head2.prev=node}this.head=node;if(!this.tail){this.tail=node}this.length++};Yallist.prototype.pushNode=function(node){if(node===this.tail){return}if(node.list){node.list.removeNode(node)}var tail2=this.tail;node.list=this;node.prev=tail2;if(tail2){tail2.next=node}this.tail=node;if(!this.head){this.head=node}this.length++};Yallist.prototype.push=function(){for(var i=0,l=arguments.length;i<l;i++){push(this,arguments[i])}return this.length};Yallist.prototype.unshift=function(){for(var i=0,l=arguments.length;i<l;i++){unshift(this,arguments[i])}return this.length};Yallist.prototype.pop=function(){if(!this.tail){return void 0}var res=this.tail.value;this.tail=this.tail.prev;if(this.tail){this.tail.next=null}else{this.head=null}this.length--;return res};Yallist.prototype.shift=function(){if(!this.head){return void 0}var res=this.head.value;this.head=this.head.next;if(this.head){this.head.prev=null}else{this.tail=null}this.length--;return res};Yallist.prototype.forEach=function(fn2,thisp){thisp=thisp||this;for(var walker=this.head,i=0;walker!==null;i++){fn2.call(thisp,walker.value,i,this);walker=walker.next}};Yallist.prototype.forEachReverse=function(fn2,thisp){thisp=thisp||this;for(var walker=this.tail,i=this.length-1;walker!==null;i--){fn2.call(thisp,walker.value,i,this);walker=walker.prev}};Yallist.prototype.get=function(n){for(var i=0,walker=this.head;walker!==null&&i<n;i++){walker=walker.next}if(i===n&&walker!==null){return walker.value}};Yallist.prototype.getReverse=function(n){for(var i=0,walker=this.tail;walker!==null&&i<n;i++){walker=walker.prev}if(i===n&&walker!==null){return walker.value}};Yallist.prototype.map=function(fn2,thisp){thisp=thisp||this;var res=new Yallist;for(var walker=this.head;walker!==null;){res.push(fn2.call(thisp,walker.value,this));walker=walker.next}return res};Yallist.prototype.mapReverse=function(fn2,thisp){thisp=thisp||this;var res=new Yallist;for(var walker=this.tail;walker!==null;){res.push(fn2.call(thisp,walker.value,this));walker=walker.prev}return res};Yallist.prototype.reduce=function(fn2,initial2){var acc;var walker=this.head;if(arguments.length>1){acc=initial2}else if(this.head){walker=this.head.next;acc=this.head.value}else{throw new TypeError("Reduce of empty list with no initial value")}for(var i=0;walker!==null;i++){acc=fn2(acc,walker.value,i);walker=walker.next}return acc};Yallist.prototype.reduceReverse=function(fn2,initial2){var acc;var walker=this.tail;if(arguments.length>1){acc=initial2}else if(this.tail){walker=this.tail.prev;acc=this.tail.value}else{throw new TypeError("Reduce of empty list with no initial value")}for(var i=this.length-1;walker!==null;i--){acc=fn2(acc,walker.value,i);walker=walker.prev}return acc};Yallist.prototype.toArray=function(){var arr=new Array(this.length);for(var i=0,walker=this.head;walker!==null;i++){arr[i]=walker.value;walker=walker.next}return arr};Yallist.prototype.toArrayReverse=function(){var arr=new Array(this.length);for(var i=0,walker=this.tail;walker!==null;i++){arr[i]=walker.value;walker=walker.prev}return arr};Yallist.prototype.slice=function(from,to){to=to||this.length;if(to<0){to+=this.length}from=from||0;if(from<0){from+=this.length}var ret=new Yallist;if(to<from||to<0){return ret}if(from<0){from=0}if(to>this.length){to=this.length}for(var i=0,walker=this.head;walker!==null&&i<from;i++){walker=walker.next}for(;walker!==null&&i<to;i++,walker=walker.next){ret.push(walker.value)}return ret};Yallist.prototype.sliceReverse=function(from,to){to=to||this.length;if(to<0){to+=this.length}from=from||0;if(from<0){from+=this.length}var ret=new Yallist;if(to<from||to<0){return ret}if(from<0){from=0}if(to>this.length){to=this.length}for(var i=this.length,walker=this.tail;walker!==null&&i>to;i--){walker=walker.prev}for(;walker!==null&&i>from;i--,walker=walker.prev){ret.push(walker.value)}return ret};Yallist.prototype.splice=function(start,deleteCount,...nodes){if(start>this.length){start=this.length-1}if(start<0){start=this.length+start}for(var i=0,walker=this.head;walker!==null&&i<start;i++){walker=walker.next}var ret=[];for(var i=0;walker&&i<deleteCount;i++){ret.push(walker.value);walker=this.removeNode(walker)}if(walker===null){walker=this.tail}if(walker!==this.head&&walker!==this.tail){walker=walker.prev}for(var i=0;i<nodes.length;i++){walker=insert(this,walker,nodes[i])}return ret};Yallist.prototype.reverse=function(){var head2=this.head;var tail2=this.tail;for(var walker=head2;walker!==null;walker=walker.prev){var p=walker.prev;walker.prev=walker.next;walker.next=p}this.head=tail2;this.tail=head2;return this};function insert(self2,node,value){var inserted=node===self2.head?new Node(value,null,node,self2):new Node(value,node,node.next,self2);if(inserted.next===null){self2.tail=inserted}if(inserted.prev===null){self2.head=inserted}self2.length++;return inserted}function push(self2,item){self2.tail=new Node(item,self2.tail,null,self2);if(!self2.head){self2.head=self2.tail}self2.length++}function unshift(self2,item){self2.head=new Node(item,null,self2.head,self2);if(!self2.tail){self2.tail=self2.head}self2.length++}function Node(value,prev,next,list){if(!(this instanceof Node)){return new Node(value,prev,next,list)}this.list=list;this.value=value;if(prev){prev.next=this;this.prev=prev}else{this.prev=null}if(next){next.prev=this;this.next=next}else{this.next=null}}try{require_iterator()(Yallist)}catch(er){}}});var require_lru_cache2=__commonJS({"node_modules/openid-client/node_modules/lru-cache/index.js"(exports2,module2){"use strict";var Yallist=require_yallist();var MAX=Symbol("max");var LENGTH=Symbol("length");var LENGTH_CALCULATOR=Symbol("lengthCalculator");var ALLOW_STALE=Symbol("allowStale");var MAX_AGE=Symbol("maxAge");var DISPOSE=Symbol("dispose");var NO_DISPOSE_ON_SET=Symbol("noDisposeOnSet");var LRU_LIST=Symbol("lruList");var CACHE=Symbol("cache");var UPDATE_AGE_ON_GET=Symbol("updateAgeOnGet");var naiveLength=()=>1;var LRUCache=class{constructor(options){if(typeof options==="number")options={max:options};if(!options)options={};if(options.max&&(typeof options.max!=="number"||options.max<0))throw new TypeError("max must be a non-negative number");const max3=this[MAX]=options.max||Infinity;const lc=options.length||naiveLength;this[LENGTH_CALCULATOR]=typeof lc!=="function"?naiveLength:lc;this[ALLOW_STALE]=options.stale||false;if(options.maxAge&&typeof options.maxAge!=="number")throw new TypeError("maxAge must be a number");this[MAX_AGE]=options.maxAge||0;this[DISPOSE]=options.dispose;this[NO_DISPOSE_ON_SET]=options.noDisposeOnSet||false;this[UPDATE_AGE_ON_GET]=options.updateAgeOnGet||false;this.reset()}set max(mL){if(typeof mL!=="number"||mL<0)throw new TypeError("max must be a non-negative number");this[MAX]=mL||Infinity;trim2(this)}get max(){return this[MAX]}set allowStale(allowStale){this[ALLOW_STALE]=!!allowStale}get allowStale(){return this[ALLOW_STALE]}set maxAge(mA){if(typeof mA!=="number")throw new TypeError("maxAge must be a non-negative number");this[MAX_AGE]=mA;trim2(this)}get maxAge(){return this[MAX_AGE]}set lengthCalculator(lC){if(typeof lC!=="function")lC=naiveLength;if(lC!==this[LENGTH_CALCULATOR]){this[LENGTH_CALCULATOR]=lC;this[LENGTH]=0;this[LRU_LIST].forEach(hit=>{hit.length=this[LENGTH_CALCULATOR](hit.value,hit.key);this[LENGTH]+=hit.length})}trim2(this)}get lengthCalculator(){return this[LENGTH_CALCULATOR]}get length(){return this[LENGTH]}get itemCount(){return this[LRU_LIST].length}rforEach(fn2,thisp){thisp=thisp||this;for(let walker=this[LRU_LIST].tail;walker!==null;){const prev=walker.prev;forEachStep(this,fn2,walker,thisp);walker=prev}}forEach(fn2,thisp){thisp=thisp||this;for(let walker=this[LRU_LIST].head;walker!==null;){const next=walker.next;forEachStep(this,fn2,walker,thisp);walker=next}}keys(){return this[LRU_LIST].toArray().map(k=>k.key)}values(){return this[LRU_LIST].toArray().map(k=>k.value)}reset(){if(this[DISPOSE]&&this[LRU_LIST]&&this[LRU_LIST].length){this[LRU_LIST].forEach(hit=>this[DISPOSE](hit.key,hit.value))}this[CACHE]=new Map;this[LRU_LIST]=new Yallist;this[LENGTH]=0}dump(){return this[LRU_LIST].map(hit=>isStale(this,hit)?false:{k:hit.key,v:hit.value,e:hit.now+(hit.maxAge||0)}).toArray().filter(h=>h)}dumpLru(){return this[LRU_LIST]}set(key,value,maxAge){maxAge=maxAge||this[MAX_AGE];if(maxAge&&typeof maxAge!=="number")throw new TypeError("maxAge must be a number");const now3=maxAge?Date.now():0;const len=this[LENGTH_CALCULATOR](value,key);if(this[CACHE].has(key)){if(len>this[MAX]){del(this,this[CACHE].get(key));return false}const node=this[CACHE].get(key);const item=node.value;if(this[DISPOSE]){if(!this[NO_DISPOSE_ON_SET])this[DISPOSE](key,item.value)}item.now=now3;item.maxAge=maxAge;item.value=value;this[LENGTH]+=len-item.length;item.length=len;this.get(key);trim2(this);return true}const hit=new Entry(key,value,len,now3,maxAge);if(hit.length>this[MAX]){if(this[DISPOSE])this[DISPOSE](key,value);return false}this[LENGTH]+=hit.length;this[LRU_LIST].unshift(hit);this[CACHE].set(key,this[LRU_LIST].head);trim2(this);return true}has(key){if(!this[CACHE].has(key))return false;const hit=this[CACHE].get(key).value;return!isStale(this,hit)}get(key){return get4(this,key,true)}peek(key){return get4(this,key,false)}pop(){const node=this[LRU_LIST].tail;if(!node)return null;del(this,node);return node.value}del(key){del(this,this[CACHE].get(key))}load(arr){this.reset();const now3=Date.now();for(let l=arr.length-1;l>=0;l--){const hit=arr[l];const expiresAt=hit.e||0;if(expiresAt===0)this.set(hit.k,hit.v);else{const maxAge=expiresAt-now3;if(maxAge>0){this.set(hit.k,hit.v,maxAge)}}}}prune(){this[CACHE].forEach((value,key)=>get4(this,key,false))}};var get4=(self2,key,doUse)=>{const node=self2[CACHE].get(key);if(node){const hit=node.value;if(isStale(self2,hit)){del(self2,node);if(!self2[ALLOW_STALE])return void 0}else{if(doUse){if(self2[UPDATE_AGE_ON_GET])node.value.now=Date.now();self2[LRU_LIST].unshiftNode(node)}}return hit.value}};var isStale=(self2,hit)=>{if(!hit||!hit.maxAge&&!self2[MAX_AGE])return false;const diff=Date.now()-hit.now;return hit.maxAge?diff>hit.maxAge:self2[MAX_AGE]&&diff>self2[MAX_AGE]};var trim2=self2=>{if(self2[LENGTH]>self2[MAX]){for(let walker=self2[LRU_LIST].tail;self2[LENGTH]>self2[MAX]&&walker!==null;){const prev=walker.prev;del(self2,walker);walker=prev}}};var del=(self2,node)=>{if(node){const hit=node.value;if(self2[DISPOSE])self2[DISPOSE](hit.key,hit.value);self2[LENGTH]-=hit.length;self2[CACHE].delete(hit.key);self2[LRU_LIST].removeNode(node)}};var Entry=class{constructor(key,value,length,now3,maxAge){this.key=key;this.value=value;this.length=length;this.now=now3;this.maxAge=maxAge||0}};var forEachStep=(self2,fn2,node,thisp)=>{let hit=node.value;if(isStale(self2,hit)){del(self2,node);if(!self2[ALLOW_STALE])hit=void 0}if(hit)fn2.call(thisp,hit.value,hit.key,self2)};module2.exports=LRUCache}});var require_package3=__commonJS({"node_modules/openid-client/package.json"(exports2,module2){module2.exports={name:"openid-client",version:"5.7.1",description:"OpenID Connect Relying Party (RP, Client) implementation for Node.js runtime, supports passportjs",keywords:["auth","authentication","basic","certified","client","connect","dynamic","electron","hybrid","identity","implicit","oauth","oauth2","oidc","openid","passport","relying party","strategy"],homepage:"https://github.com/panva/openid-client",repository:"panva/openid-client",funding:{url:"https://github.com/sponsors/panva"},license:"MIT",author:"Filip Skokan <panva.ip@gmail.com>",exports:{types:"./types/index.d.ts",import:"./lib/index.mjs",require:"./lib/index.js"},main:"./lib/index.js",types:"./types/index.d.ts",files:["lib","types/index.d.ts"],scripts:{format:"npx prettier --loglevel silent --write ./lib ./test ./certification ./types",test:"mocha test/**/*.test.js"},dependencies:{jose:"^4.15.9","lru-cache":"^6.0.0","object-hash":"^2.2.0","oidc-token-hash":"^5.0.3"},devDependencies:{"@types/node":"^16.18.106","@types/passport":"^1.0.16",base64url:"^3.0.1",chai:"^4.5.0",mocha:"^10.7.3",nock:"^13.5.5",prettier:"^2.8.8","readable-mock-req":"^0.2.2",sinon:"^9.2.4",timekeeper:"^2.3.1"},"standard-version":{scripts:{postchangelog:"sed -i '' -e 's/### \\[/## [/g' CHANGELOG.md"},types:[{type:"feat",section:"Features"},{type:"fix",section:"Fixes"},{type:"chore",hidden:true},{type:"docs",hidden:true},{type:"style",hidden:true},{type:"refactor",section:"Refactor",hidden:false},{type:"perf",section:"Performance",hidden:false},{type:"test",hidden:true}]}}}});var require_consts=__commonJS({"node_modules/openid-client/lib/helpers/consts.js"(exports2,module2){var HTTP_OPTIONS=Symbol();var CLOCK_TOLERANCE=Symbol();module2.exports={CLOCK_TOLERANCE,HTTP_OPTIONS}}});var require_request=__commonJS({"node_modules/openid-client/lib/helpers/request.js"(exports2,module2){var assert2=require("assert");var querystring=require("querystring");var http3=require("http");var https2=require("https");var{once:once2}=require("events");var{URL:URL3}=require("url");var LRU=require_lru_cache2();var pkg=require_package3();var{RPError}=require_errors3();var pick2=require_pick();var{deep:defaultsDeep2}=require_defaults2();var{HTTP_OPTIONS}=require_consts();var DEFAULT_HTTP_OPTIONS;var NQCHAR=/^[\x21\x23-\x5B\x5D-\x7E]+$/;var allowed=["agent","ca","cert","crl","headers","key","lookup","passphrase","pfx","timeout"];var setDefaults=(props,options)=>{DEFAULT_HTTP_OPTIONS=defaultsDeep2({},props.length?pick2(options,...props):options,DEFAULT_HTTP_OPTIONS)};setDefaults([],{headers:{"User-Agent":`${pkg.name}/${pkg.version} (${pkg.homepage})`,"Accept-Encoding":"identity"},timeout:3500});function send(req,body,contentType){if(contentType){req.removeHeader("content-type");req.setHeader("content-type",contentType)}if(body){req.removeHeader("content-length");req.setHeader("content-length",Buffer.byteLength(body));req.write(body)}req.end()}var nonces=new LRU({max:100});module2.exports=async function request(options,{accessToken,mTLS=false,DPoP}={}){let url;try{url=new URL3(options.url);delete options.url;assert2(/^(https?:)$/.test(url.protocol))}catch(err){throw new TypeError("only valid absolute URLs can be requested")}const optsFn=this[HTTP_OPTIONS];let opts=options;const nonceKey=`${url.origin}${url.pathname}`;if(DPoP&&"dpopProof"in this){opts.headers=opts.headers||{};opts.headers.DPoP=await this.dpopProof({htu:`${url.origin}${url.pathname}`,htm:options.method||"GET",nonce:nonces.get(nonceKey)},DPoP,accessToken)}let userOptions;if(optsFn){userOptions=pick2(optsFn.call(this,url,defaultsDeep2({},opts,DEFAULT_HTTP_OPTIONS)),...allowed)}opts=defaultsDeep2({},userOptions,opts,DEFAULT_HTTP_OPTIONS);if(mTLS&&!opts.pfx&&!(opts.key&&opts.cert)){throw new TypeError("mutual-TLS certificate and key not set")}if(opts.searchParams){for(const[key,value]of Object.entries(opts.searchParams)){url.searchParams.delete(key);url.searchParams.set(key,value)}}let responseType;let form;let json2;let body;({form,responseType,json:json2,body,...opts}=opts);for(const[key,value]of Object.entries(opts.headers||{})){if(value===void 0){delete opts.headers[key]}}let response;const req=(url.protocol==="https:"?https2.request:http3.request)(url.href,opts);return(async()=>{if(json2){send(req,JSON.stringify(json2),"application/json")}else if(form){send(req,querystring.stringify(form),"application/x-www-form-urlencoded")}else if(body){send(req,body)}else{send(req)}[response]=await Promise.race([once2(req,"response"),once2(req,"timeout")]);if(!response){req.destroy();throw new RPError(`outgoing request timed out after ${opts.timeout}ms`)}const parts=[];for await(const part of response){parts.push(part)}if(parts.length){switch(responseType){case"json":{Object.defineProperty(response,"body",{get(){let value=Buffer.concat(parts);try{value=JSON.parse(value)}catch(err){Object.defineProperty(err,"response",{value:response});throw err}finally{Object.defineProperty(response,"body",{value,configurable:true})}return value},configurable:true});break}case void 0:case"buffer":{Object.defineProperty(response,"body",{get(){const value=Buffer.concat(parts);Object.defineProperty(response,"body",{value,configurable:true});return value},configurable:true});break}default:throw new TypeError("unsupported responseType request option")}}return response})().catch(err=>{if(response)Object.defineProperty(err,"response",{value:response});throw err}).finally(()=>{const dpopNonce=response&&response.headers["dpop-nonce"];if(dpopNonce&&NQCHAR.test(dpopNonce)){nonces.set(nonceKey,dpopNonce)}})};module2.exports.setDefaults=setDefaults.bind(void 0,allowed)}});var require_weak_cache=__commonJS({"node_modules/openid-client/lib/helpers/weak_cache.js"(exports2,module2){module2.exports.keystores=new WeakMap}});var require_deep_clone=__commonJS({"node_modules/openid-client/lib/helpers/deep_clone.js"(exports2,module2){module2.exports=globalThis.structuredClone||(obj=>JSON.parse(JSON.stringify(obj)))}});var require_keystore=__commonJS({"node_modules/openid-client/lib/helpers/keystore.js"(exports2,module2){var jose=require_cjs();var clone2=require_deep_clone();var isPlainObject3=require_is_plain_object();var internal=Symbol();var keyscore=(key,{alg,use})=>{let score=0;if(alg&&key.alg){score++}if(use&&key.use){score++}return score};function getKtyFromAlg(alg){switch(typeof alg==="string"&&alg.slice(0,2)){case"RS":case"PS":return"RSA";case"ES":return"EC";case"Ed":return"OKP";default:return void 0}}function getAlgorithms(use,alg,kty,crv){if(alg){return new Set([alg])}switch(kty){case"EC":{let algs=[];if(use==="enc"||use===void 0){algs=algs.concat(["ECDH-ES","ECDH-ES+A128KW","ECDH-ES+A192KW","ECDH-ES+A256KW"])}if(use==="sig"||use===void 0){switch(crv){case"P-256":case"P-384":algs=algs.concat([`ES${crv.slice(-3)}`]);break;case"P-521":algs=algs.concat(["ES512"]);break;case"secp256k1":if(jose.cryptoRuntime==="node:crypto"){algs=algs.concat(["ES256K"])}break}}return new Set(algs)}case"OKP":{return new Set(["ECDH-ES","ECDH-ES+A128KW","ECDH-ES+A192KW","ECDH-ES+A256KW"])}case"RSA":{let algs=[];if(use==="enc"||use===void 0){algs=algs.concat(["RSA-OAEP","RSA-OAEP-256","RSA-OAEP-384","RSA-OAEP-512"]);if(jose.cryptoRuntime==="node:crypto"){algs=algs.concat(["RSA1_5"])}}if(use==="sig"||use===void 0){algs=algs.concat(["PS256","PS384","PS512","RS256","RS384","RS512"])}return new Set(algs)}default:throw new Error("unreachable")}}module2.exports=class KeyStore{#keys;constructor(i,keys2){if(i!==internal)throw new Error("invalid constructor call");this.#keys=keys2}toJWKS(){return{keys:this.map(({jwk:{d,p,q,dp,dq,qi,...jwk}})=>jwk)}}all({alg,kid,use}={}){if(!use||!alg){throw new Error}const kty=getKtyFromAlg(alg);const search2={alg,use};return this.filter(key=>{let candidate=true;if(candidate&&kty!==void 0&&key.jwk.kty!==kty){candidate=false}if(candidate&&kid!==void 0&&key.jwk.kid!==kid){candidate=false}if(candidate&&use!==void 0&&key.jwk.use!==void 0&&key.jwk.use!==use){candidate=false}if(candidate&&key.jwk.alg&&key.jwk.alg!==alg){candidate=false}else if(!key.algorithms.has(alg)){candidate=false}return candidate}).sort((first,second)=>keyscore(second,search2)-keyscore(first,search2))}get(...args2){return this.all(...args2)[0]}static async fromJWKS(jwks,{onlyPublic=false,onlyPrivate=false}={}){if(!isPlainObject3(jwks)||!Array.isArray(jwks.keys)||jwks.keys.some(k=>!isPlainObject3(k)||!("kty"in k))){throw new TypeError("jwks must be a JSON Web Key Set formatted object")}const keys2=[];for(let jwk of jwks.keys){jwk=clone2(jwk);const{kty,kid,crv}=jwk;let{alg,use}=jwk;if(typeof kty!=="string"||!kty){continue}if(use!==void 0&&use!=="sig"&&use!=="enc"){continue}if(typeof alg!=="string"&&alg!==void 0){continue}if(typeof kid!=="string"&&kid!==void 0){continue}if(kty==="EC"&&use==="sig"){switch(crv){case"P-256":alg="ES256";break;case"P-384":alg="ES384";break;case"P-521":alg="ES512";break;default:break}}if(crv==="secp256k1"){use="sig";alg="ES256K"}if(kty==="OKP"){switch(crv){case"Ed25519":case"Ed448":use="sig";alg="EdDSA";break;case"X25519":case"X448":use="enc";break;default:break}}if(alg&&!use){switch(true){case alg.startsWith("ECDH"):use="enc";break;case alg.startsWith("RSA"):use="enc";break;default:break}}if(onlyPrivate&&(jwk.kty==="oct"||!jwk.d)){throw new Error("jwks must only contain private keys")}if(onlyPublic&&(jwk.d||jwk.k)){continue}keys2.push({jwk:{...jwk,alg,use},async keyObject(alg2){if(this[alg2]){return this[alg2]}const keyObject=await jose.importJWK(this.jwk,alg2);this[alg2]=keyObject;return keyObject},get algorithms(){Object.defineProperty(this,"algorithms",{value:getAlgorithms(this.jwk.use,this.jwk.alg,this.jwk.kty,this.jwk.crv),enumerable:true,configurable:false});return this.algorithms}})}return new this(internal,keys2)}filter(...args2){return this.#keys.filter(...args2)}find(...args2){return this.#keys.find(...args2)}every(...args2){return this.#keys.every(...args2)}some(...args2){return this.#keys.some(...args2)}map(...args2){return this.#keys.map(...args2)}forEach(...args2){return this.#keys.forEach(...args2)}reduce(...args2){return this.#keys.reduce(...args2)}sort(...args2){return this.#keys.sort(...args2)}*[Symbol.iterator](){for(const key of this.#keys){yield key}}}}});var require_merge=__commonJS({"node_modules/openid-client/lib/helpers/merge.js"(exports2,module2){var isPlainObject3=require_is_plain_object();function merge3(target,...sources){for(const source of sources){if(!isPlainObject3(source)){continue}for(const[key,value]of Object.entries(source)){if(key==="__proto__"||key==="constructor"){continue}if(isPlainObject3(target[key])&&isPlainObject3(value)){target[key]=merge3(target[key],value)}else if(typeof value!=="undefined"){target[key]=value}}}return target}module2.exports=merge3}});var require_client2=__commonJS({"node_modules/openid-client/lib/helpers/client.js"(exports2,module2){var jose=require_cjs();var{RPError}=require_errors3();var{assertIssuerConfiguration}=require_assert();var{random:random3}=require_generators();var now3=require_unix_timestamp();var request=require_request();var{keystores}=require_weak_cache();var merge3=require_merge();var formUrlEncode=value=>encodeURIComponent(value).replace(/%20/g,"+");async function clientAssertion(endpoint,payload){let alg=this[`${endpoint}_endpoint_auth_signing_alg`];if(!alg){assertIssuerConfiguration(this.issuer,`${endpoint}_endpoint_auth_signing_alg_values_supported`)}if(this[`${endpoint}_endpoint_auth_method`]==="client_secret_jwt"){if(!alg){const supported=this.issuer[`${endpoint}_endpoint_auth_signing_alg_values_supported`];alg=Array.isArray(supported)&&supported.find(signAlg=>/^HS(?:256|384|512)/.test(signAlg))}if(!alg){throw new RPError(`failed to determine a JWS Algorithm to use for ${this[`${endpoint}_endpoint_auth_method`]} Client Assertion`)}return new jose.CompactSign(Buffer.from(JSON.stringify(payload))).setProtectedHeader({alg}).sign(this.secretForAlg(alg))}const keystore=await keystores.get(this);if(!keystore){throw new TypeError("no client jwks provided for signing a client assertion with")}if(!alg){const supported=this.issuer[`${endpoint}_endpoint_auth_signing_alg_values_supported`];alg=Array.isArray(supported)&&supported.find(signAlg=>keystore.get({alg:signAlg,use:"sig"}))}if(!alg){throw new RPError(`failed to determine a JWS Algorithm to use for ${this[`${endpoint}_endpoint_auth_method`]} Client Assertion`)}const key=keystore.get({alg,use:"sig"});if(!key){throw new RPError(`no key found in client jwks to sign a client assertion with using alg ${alg}`)}return new jose.CompactSign(Buffer.from(JSON.stringify(payload))).setProtectedHeader({alg,kid:key.jwk&&key.jwk.kid}).sign(await key.keyObject(alg))}async function authFor(endpoint,{clientAssertionPayload}={}){const authMethod=this[`${endpoint}_endpoint_auth_method`];switch(authMethod){case"self_signed_tls_client_auth":case"tls_client_auth":case"none":return{form:{client_id:this.client_id}};case"client_secret_post":if(typeof this.client_secret!=="string"){throw new TypeError("client_secret_post client authentication method requires a client_secret")}return{form:{client_id:this.client_id,client_secret:this.client_secret}};case"private_key_jwt":case"client_secret_jwt":{const timestamp2=now3();const assertion=await clientAssertion.call(this,endpoint,{iat:timestamp2,exp:timestamp2+60,jti:random3(),iss:this.client_id,sub:this.client_id,aud:this.issuer.issuer,...clientAssertionPayload});return{form:{client_id:this.client_id,client_assertion:assertion,client_assertion_type:"urn:ietf:params:oauth:client-assertion-type:jwt-bearer"}}}case"client_secret_basic":{if(typeof this.client_secret!=="string"){throw new TypeError("client_secret_basic client authentication method requires a client_secret")}const encoded=`${formUrlEncode(this.client_id)}:${formUrlEncode(this.client_secret)}`;const value=Buffer.from(encoded).toString("base64");return{headers:{Authorization:`Basic ${value}`}}}default:{throw new TypeError(`missing, or unsupported, ${endpoint}_endpoint_auth_method`)}}}function resolveResponseType(){const{length,0:value}=this.response_types;if(length===1){return value}return void 0}function resolveRedirectUri(){const{length,0:value}=this.redirect_uris||[];if(length===1){return value}return void 0}async function authenticatedPost(endpoint,opts,{clientAssertionPayload,endpointAuthMethod=endpoint,DPoP}={}){const auth=await authFor.call(this,endpointAuthMethod,{clientAssertionPayload});const requestOpts=merge3(opts,auth);const mTLS=this[`${endpointAuthMethod}_endpoint_auth_method`].includes("tls_client_auth")||endpoint==="token"&&this.tls_client_certificate_bound_access_tokens;let targetUrl;if(mTLS&&this.issuer.mtls_endpoint_aliases){targetUrl=this.issuer.mtls_endpoint_aliases[`${endpoint}_endpoint`]}targetUrl=targetUrl||this.issuer[`${endpoint}_endpoint`];if("form"in requestOpts){for(const[key,value]of Object.entries(requestOpts.form)){if(typeof value==="undefined"){delete requestOpts.form[key]}}}return request.call(this,{...requestOpts,method:"POST",url:targetUrl,headers:{...endpoint!=="revocation"?{Accept:"application/json"}:void 0,...requestOpts.headers}},{mTLS,DPoP})}module2.exports={resolveResponseType,resolveRedirectUri,authFor,authenticatedPost}}});var require_object_hash=__commonJS({"node_modules/object-hash/index.js"(exports2,module2){"use strict";var crypto6=require("crypto");exports2=module2.exports=objectHash;function objectHash(object,options){options=applyDefaults(object,options);return hash(object,options)}exports2.sha1=function(object){return objectHash(object)};exports2.keys=function(object){return objectHash(object,{excludeValues:true,algorithm:"sha1",encoding:"hex"})};exports2.MD5=function(object){return objectHash(object,{algorithm:"md5",encoding:"hex"})};exports2.keysMD5=function(object){return objectHash(object,{algorithm:"md5",encoding:"hex",excludeValues:true})};var hashes=crypto6.getHashes?crypto6.getHashes().slice():["sha1","md5"];hashes.push("passthrough");var encodings=["buffer","hex","binary","base64"];function applyDefaults(object,sourceOptions){sourceOptions=sourceOptions||{};var options={};options.algorithm=sourceOptions.algorithm||"sha1";options.encoding=sourceOptions.encoding||"hex";options.excludeValues=sourceOptions.excludeValues?true:false;options.algorithm=options.algorithm.toLowerCase();options.encoding=options.encoding.toLowerCase();options.ignoreUnknown=sourceOptions.ignoreUnknown!==true?false:true;options.respectType=sourceOptions.respectType===false?false:true;options.respectFunctionNames=sourceOptions.respectFunctionNames===false?false:true;options.respectFunctionProperties=sourceOptions.respectFunctionProperties===false?false:true;options.unorderedArrays=sourceOptions.unorderedArrays!==true?false:true;options.unorderedSets=sourceOptions.unorderedSets===false?false:true;options.unorderedObjects=sourceOptions.unorderedObjects===false?false:true;options.replacer=sourceOptions.replacer||void 0;options.excludeKeys=sourceOptions.excludeKeys||void 0;if(typeof object==="undefined"){throw new Error("Object argument required.")}for(var i=0;i<hashes.length;++i){if(hashes[i].toLowerCase()===options.algorithm.toLowerCase()){options.algorithm=hashes[i]}}if(hashes.indexOf(options.algorithm)===-1){throw new Error('Algorithm "'+options.algorithm+'"  not supported. supported values: '+hashes.join(", "))}if(encodings.indexOf(options.encoding)===-1&&options.algorithm!=="passthrough"){throw new Error('Encoding "'+options.encoding+'"  not supported. supported values: '+encodings.join(", "))}return options}function isNativeFunction(f){if(typeof f!=="function"){return false}var exp=/^function\s+\w*\s*\(\s*\)\s*{\s+\[native code\]\s+}$/i;return exp.exec(Function.prototype.toString.call(f))!=null}function hash(object,options){var hashingStream;if(options.algorithm!=="passthrough"){hashingStream=crypto6.createHash(options.algorithm)}else{hashingStream=new PassThrough}if(typeof hashingStream.write==="undefined"){hashingStream.write=hashingStream.update;hashingStream.end=hashingStream.update}var hasher=typeHasher(options,hashingStream);hasher.dispatch(object);if(!hashingStream.update){hashingStream.end("")}if(hashingStream.digest){return hashingStream.digest(options.encoding==="buffer"?void 0:options.encoding)}var buf=hashingStream.read();if(options.encoding==="buffer"){return buf}return buf.toString(options.encoding)}exports2.writeToStream=function(object,options,stream3){if(typeof stream3==="undefined"){stream3=options;options={}}options=applyDefaults(object,options);return typeHasher(options,stream3).dispatch(object)};function typeHasher(options,writeTo,context){context=context||[];var write2=function(str2){if(writeTo.update){return writeTo.update(str2,"utf8")}else{return writeTo.write(str2,"utf8")}};return{dispatch:function(value){if(options.replacer){value=options.replacer(value)}var type2=typeof value;if(value===null){type2="null"}return this["_"+type2](value)},_object:function(object){var pattern=/\[object (.*)\]/i;var objString=Object.prototype.toString.call(object);var objType=pattern.exec(objString);if(!objType){objType="unknown:["+objString+"]"}else{objType=objType[1]}objType=objType.toLowerCase();var objectNumber=null;if((objectNumber=context.indexOf(object))>=0){return this.dispatch("[CIRCULAR:"+objectNumber+"]")}else{context.push(object)}if(typeof Buffer!=="undefined"&&Buffer.isBuffer&&Buffer.isBuffer(object)){write2("buffer:");return write2(object)}if(objType!=="object"&&objType!=="function"&&objType!=="asyncfunction"){if(this["_"+objType]){this["_"+objType](object)}else if(options.ignoreUnknown){return write2("["+objType+"]")}else{throw new Error('Unknown object type "'+objType+'"')}}else{var keys2=Object.keys(object);if(options.unorderedObjects){keys2=keys2.sort()}if(options.respectType!==false&&!isNativeFunction(object)){keys2.splice(0,0,"prototype","__proto__","constructor")}if(options.excludeKeys){keys2=keys2.filter(function(key){return!options.excludeKeys(key)})}write2("object:"+keys2.length+":");var self2=this;return keys2.forEach(function(key){self2.dispatch(key);write2(":");if(!options.excludeValues){self2.dispatch(object[key])}write2(",")})}},_array:function(arr,unordered){unordered=typeof unordered!=="undefined"?unordered:options.unorderedArrays!==false;var self2=this;write2("array:"+arr.length+":");if(!unordered||arr.length<=1){return arr.forEach(function(entry){return self2.dispatch(entry)})}var contextAdditions=[];var entries2=arr.map(function(entry){var strm=new PassThrough;var localContext=context.slice();var hasher=typeHasher(options,strm,localContext);hasher.dispatch(entry);contextAdditions=contextAdditions.concat(localContext.slice(context.length));return strm.read().toString()});context=context.concat(contextAdditions);entries2.sort();return this._array(entries2,false)},_date:function(date){return write2("date:"+date.toJSON())},_symbol:function(sym){return write2("symbol:"+sym.toString())},_error:function(err){return write2("error:"+err.toString())},_boolean:function(bool2){return write2("bool:"+bool2.toString())},_string:function(string){write2("string:"+string.length+":");write2(string.toString())},_function:function(fn2){write2("fn:");if(isNativeFunction(fn2)){this.dispatch("[native]")}else{this.dispatch(fn2.toString())}if(options.respectFunctionNames!==false){this.dispatch("function-name:"+String(fn2.name))}if(options.respectFunctionProperties){this._object(fn2)}},_number:function(number2){return write2("number:"+number2.toString())},_xml:function(xml){return write2("xml:"+xml.toString())},_null:function(){return write2("Null")},_undefined:function(){return write2("Undefined")},_regexp:function(regex3){return write2("regex:"+regex3.toString())},_uint8array:function(arr){write2("uint8array:");return this.dispatch(Array.prototype.slice.call(arr))},_uint8clampedarray:function(arr){write2("uint8clampedarray:");return this.dispatch(Array.prototype.slice.call(arr))},_int8array:function(arr){write2("uint8array:");return this.dispatch(Array.prototype.slice.call(arr))},_uint16array:function(arr){write2("uint16array:");return this.dispatch(Array.prototype.slice.call(arr))},_int16array:function(arr){write2("uint16array:");return this.dispatch(Array.prototype.slice.call(arr))},_uint32array:function(arr){write2("uint32array:");return this.dispatch(Array.prototype.slice.call(arr))},_int32array:function(arr){write2("uint32array:");return this.dispatch(Array.prototype.slice.call(arr))},_float32array:function(arr){write2("float32array:");return this.dispatch(Array.prototype.slice.call(arr))},_float64array:function(arr){write2("float64array:");return this.dispatch(Array.prototype.slice.call(arr))},_arraybuffer:function(arr){write2("arraybuffer:");return this.dispatch(new Uint8Array(arr))},_url:function(url){return write2("url:"+url.toString(),"utf8")},_map:function(map3){write2("map:");var arr=Array.from(map3);return this._array(arr,options.unorderedSets!==false)},_set:function(set3){write2("set:");var arr=Array.from(set3);return this._array(arr,options.unorderedSets!==false)},_file:function(file){write2("file:");return this.dispatch([file.name,file.size,file.type,file.lastModfied])},_blob:function(){if(options.ignoreUnknown){return write2("[blob]")}throw Error('Hashing Blob objects is currently not supported\n(see https://github.com/puleos/object-hash/issues/26)\nUse "options.replacer" or "options.ignoreUnknown"\n')},_domwindow:function(){return write2("domwindow")},_bigint:function(number2){return write2("bigint:"+number2.toString())},_process:function(){return write2("process")},_timer:function(){return write2("timer")},_pipe:function(){return write2("pipe")},_tcp:function(){return write2("tcp")},_udp:function(){return write2("udp")},_tty:function(){return write2("tty")},_statwatcher:function(){return write2("statwatcher")},_securecontext:function(){return write2("securecontext")},_connection:function(){return write2("connection")},_zlib:function(){return write2("zlib")},_context:function(){return write2("context")},_nodescript:function(){return write2("nodescript")},_httpparser:function(){return write2("httpparser")},_dataview:function(){return write2("dataview")},_signal:function(){return write2("signal")},_fsevent:function(){return write2("fsevent")},_tlswrap:function(){return write2("tlswrap")}}}function PassThrough(){return{buf:"",write:function(b){this.buf+=b},end:function(b){this.buf+=b},read:function(){return this.buf}}}}});var require_issuer=__commonJS({"node_modules/openid-client/lib/helpers/issuer.js"(exports2,module2){var objectHash=require_object_hash();var LRU=require_lru_cache2();var{RPError}=require_errors3();var{assertIssuerConfiguration}=require_assert();var KeyStore2=require_keystore();var{keystores}=require_weak_cache();var processResponse=require_process_response();var request=require_request();var inFlight=new WeakMap;var caches=new WeakMap;var lrus=ctx=>{if(!caches.has(ctx)){caches.set(ctx,new LRU({max:100}))}return caches.get(ctx)};async function getKeyStore(reload=false){assertIssuerConfiguration(this,"jwks_uri");const keystore=keystores.get(this);const cache2=lrus(this);if(reload||!keystore){if(inFlight.has(this)){return inFlight.get(this)}cache2.reset();inFlight.set(this,(async()=>{const response=await request.call(this,{method:"GET",responseType:"json",url:this.jwks_uri,headers:{Accept:"application/json, application/jwk-set+json"}}).finally(()=>{inFlight.delete(this)});const jwks=processResponse(response);const joseKeyStore=KeyStore2.fromJWKS(jwks,{onlyPublic:true});cache2.set("throttle",true,60*1e3);keystores.set(this,joseKeyStore);return joseKeyStore})());return inFlight.get(this)}return keystore}async function queryKeyStore({kid,kty,alg,use},{allowMulti=false}={}){const cache2=lrus(this);const def={kid,kty,alg,use};const defHash=objectHash(def,{algorithm:"sha256",ignoreUnknown:true,unorderedArrays:true,unorderedSets:true,respectType:false});const freshJwksUri=cache2.get(defHash)||cache2.get("throttle");const keystore=await getKeyStore.call(this,!freshJwksUri);const keys2=keystore.all(def);delete def.use;if(keys2.length===0){throw new RPError({printf:["no valid key found in issuer's jwks_uri for key parameters %j",def],jwks:keystore})}if(!allowMulti&&keys2.length>1&&!kid){throw new RPError({printf:["multiple matching keys found in issuer's jwks_uri for key parameters %j, kid must be provided in this case",def],jwks:keystore})}cache2.set(defHash,true);return keys2}module2.exports.queryKeyStore=queryKeyStore;module2.exports.keystore=getKeyStore}});var require_device_flow_handle=__commonJS({"node_modules/openid-client/lib/device_flow_handle.js"(exports2,module2){var{inspect:inspect3}=require("util");var{RPError,OPError}=require_errors3();var now3=require_unix_timestamp();var DeviceFlowHandle=class{#aborted;#client;#clientAssertionPayload;#DPoP;#exchangeBody;#expires_at;#interval;#maxAge;#response;constructor({client,exchangeBody,clientAssertionPayload,response,maxAge,DPoP}){["verification_uri","user_code","device_code"].forEach(prop=>{if(typeof response[prop]!=="string"||!response[prop]){throw new RPError(`expected ${prop} string to be returned by Device Authorization Response, got %j`,response[prop])}});if(!Number.isSafeInteger(response.expires_in)){throw new RPError("expected expires_in number to be returned by Device Authorization Response, got %j",response.expires_in)}this.#expires_at=now3()+response.expires_in;this.#client=client;this.#DPoP=DPoP;this.#maxAge=maxAge;this.#exchangeBody=exchangeBody;this.#clientAssertionPayload=clientAssertionPayload;this.#response=response;this.#interval=response.interval*1e3||5e3}abort(){this.#aborted=true}async poll({signal}={}){if(signal&&signal.aborted||this.#aborted){throw new RPError("polling aborted")}if(this.expired()){throw new RPError("the device code %j has expired and the device authorization session has concluded",this.device_code)}await new Promise(resolve=>setTimeout(resolve,this.#interval));let tokenset;try{tokenset=await this.#client.grant({...this.#exchangeBody,grant_type:"urn:ietf:params:oauth:grant-type:device_code",device_code:this.device_code},{clientAssertionPayload:this.#clientAssertionPayload,DPoP:this.#DPoP})}catch(err){switch(err instanceof OPError&&err.error){case"slow_down":this.#interval+=5e3;case"authorization_pending":return this.poll({signal});default:throw err}}if("id_token"in tokenset){await this.#client.decryptIdToken(tokenset);await this.#client.validateIdToken(tokenset,void 0,"token",this.#maxAge)}return tokenset}get device_code(){return this.#response.device_code}get user_code(){return this.#response.user_code}get verification_uri(){return this.#response.verification_uri}get verification_uri_complete(){return this.#response.verification_uri_complete}get expires_in(){return Math.max.apply(null,[this.#expires_at-now3(),0])}expired(){return this.expires_in===0}[inspect3.custom](){return`${this.constructor.name} ${inspect3(this.#response,{depth:Infinity,colors:process.stdout.isTTY,compact:false,sorted:true})}`}};module2.exports=DeviceFlowHandle}});var require_client3=__commonJS({"node_modules/openid-client/lib/client.js"(exports2,module2){var{inspect:inspect3}=require("util");var stdhttp=require("http");var crypto6=require("crypto");var{strict:assert2}=require("assert");var querystring=require("querystring");var url=require("url");var{URL:URL3,URLSearchParams:URLSearchParams2}=require("url");var jose=require_cjs();var tokenHash=require_lib6();var isKeyObject=require_is_key_object2();var decodeJWT=require_decode_jwt2();var base64url=require_base64url3();var defaults3=require_defaults2();var parseWwwAuthenticate=require_www_authenticate_parser();var{assertSigningAlgValuesSupport,assertIssuerConfiguration}=require_assert();var pick2=require_pick();var isPlainObject3=require_is_plain_object();var processResponse=require_process_response();var TokenSet2=require_token_set();var{OPError,RPError}=require_errors3();var now3=require_unix_timestamp();var{random:random3}=require_generators();var request=require_request();var{CLOCK_TOLERANCE}=require_consts();var{keystores}=require_weak_cache();var KeyStore2=require_keystore();var clone2=require_deep_clone();var{authenticatedPost,resolveResponseType,resolveRedirectUri}=require_client2();var{queryKeyStore}=require_issuer();var DeviceFlowHandle=require_device_flow_handle();var[major3,minor3]=process.version.slice(1).split(".").map(str2=>parseInt(str2,10));var rsaPssParams2=major3>=17||major3===16&&minor3>=9;var retryAttempt=Symbol();var skipNonceCheck=Symbol();var skipMaxAgeCheck=Symbol();function pickCb(input){return pick2(input,"access_token","code","error_description","error_uri","error","expires_in","id_token","iss","response","session_state","state","token_type")}function authorizationHeaderValue(token3,tokenType="Bearer"){return`${tokenType} ${token3}`}function getSearchParams(input){const parsed=url.parse(input);if(!parsed.search)return{};return querystring.parse(parsed.search.substring(1))}function verifyPresence(payload,jwt,prop){if(payload[prop]===void 0){throw new RPError({message:`missing required JWT property ${prop}`,jwt})}}function authorizationParams(params){const authParams={client_id:this.client_id,scope:"openid",response_type:resolveResponseType.call(this),redirect_uri:resolveRedirectUri.call(this),...params};Object.entries(authParams).forEach(([key,value])=>{if(value===null||value===void 0){delete authParams[key]}else if(key==="claims"&&typeof value==="object"){authParams[key]=JSON.stringify(value)}else if(key==="resource"&&Array.isArray(value)){authParams[key]=value}else if(typeof value!=="string"){authParams[key]=String(value)}});return authParams}function getKeystore(jwks){if(!isPlainObject3(jwks)||!Array.isArray(jwks.keys)||jwks.keys.some(k=>!isPlainObject3(k)||!("kty"in k))){throw new TypeError("jwks must be a JSON Web Key Set formatted object")}return KeyStore2.fromJWKS(jwks,{onlyPrivate:true})}function checkBasicSupport(client,properties){try{const supported=client.issuer.token_endpoint_auth_methods_supported;if(!supported.includes(properties.token_endpoint_auth_method)){if(supported.includes("client_secret_post")){properties.token_endpoint_auth_method="client_secret_post"}}}catch(err){}}function handleCommonMistakes(client,metadata,properties){if(!metadata.token_endpoint_auth_method){checkBasicSupport(client,properties)}if(metadata.redirect_uri){if(metadata.redirect_uris){throw new TypeError("provide a redirect_uri or redirect_uris, not both")}properties.redirect_uris=[metadata.redirect_uri];delete properties.redirect_uri}if(metadata.response_type){if(metadata.response_types){throw new TypeError("provide a response_type or response_types, not both")}properties.response_types=[metadata.response_type];delete properties.response_type}}function getDefaultsForEndpoint(endpoint,issuer,properties){if(!issuer[`${endpoint}_endpoint`])return;const tokenEndpointAuthMethod=properties.token_endpoint_auth_method;const tokenEndpointAuthSigningAlg=properties.token_endpoint_auth_signing_alg;const eam=`${endpoint}_endpoint_auth_method`;const easa=`${endpoint}_endpoint_auth_signing_alg`;if(properties[eam]===void 0&&properties[easa]===void 0){if(tokenEndpointAuthMethod!==void 0){properties[eam]=tokenEndpointAuthMethod}if(tokenEndpointAuthSigningAlg!==void 0){properties[easa]=tokenEndpointAuthSigningAlg}}}var BaseClient3=class{#metadata;#issuer;#aadIssValidation;#additionalAuthorizedParties;constructor(issuer,aadIssValidation,metadata={},jwks,options){this.#metadata=new Map;this.#issuer=issuer;this.#aadIssValidation=aadIssValidation;if(typeof metadata.client_id!=="string"||!metadata.client_id){throw new TypeError("client_id is required")}const properties={grant_types:["authorization_code"],id_token_signed_response_alg:"RS256",authorization_signed_response_alg:"RS256",response_types:["code"],token_endpoint_auth_method:"client_secret_basic",...this.fapi1()?{grant_types:["authorization_code","implicit"],id_token_signed_response_alg:"PS256",authorization_signed_response_alg:"PS256",response_types:["code id_token"],tls_client_certificate_bound_access_tokens:true,token_endpoint_auth_method:void 0}:void 0,...this.fapi2()?{id_token_signed_response_alg:"PS256",authorization_signed_response_alg:"PS256",token_endpoint_auth_method:void 0}:void 0,...metadata};if(this.fapi()){switch(properties.token_endpoint_auth_method){case"self_signed_tls_client_auth":case"tls_client_auth":break;case"private_key_jwt":if(!jwks){throw new TypeError("jwks is required")}break;case void 0:throw new TypeError("token_endpoint_auth_method is required");default:throw new TypeError("invalid or unsupported token_endpoint_auth_method")}}if(this.fapi2()){if(properties.tls_client_certificate_bound_access_tokens&&properties.dpop_bound_access_tokens){throw new TypeError("either tls_client_certificate_bound_access_tokens or dpop_bound_access_tokens must be set to true")}if(!properties.tls_client_certificate_bound_access_tokens&&!properties.dpop_bound_access_tokens){throw new TypeError("either tls_client_certificate_bound_access_tokens or dpop_bound_access_tokens must be set to true")}}handleCommonMistakes(this,metadata,properties);assertSigningAlgValuesSupport("token",this.issuer,properties);["introspection","revocation"].forEach(endpoint=>{getDefaultsForEndpoint(endpoint,this.issuer,properties);assertSigningAlgValuesSupport(endpoint,this.issuer,properties)});Object.entries(properties).forEach(([key,value])=>{this.#metadata.set(key,value);if(!this[key]){Object.defineProperty(this,key,{get(){return this.#metadata.get(key)},enumerable:true})}});if(jwks!==void 0){const keystore=getKeystore.call(this,jwks);keystores.set(this,keystore)}if(options!=null&&options.additionalAuthorizedParties){this.#additionalAuthorizedParties=clone2(options.additionalAuthorizedParties)}this[CLOCK_TOLERANCE]=0}authorizationUrl(params={}){if(!isPlainObject3(params)){throw new TypeError("params must be a plain object")}assertIssuerConfiguration(this.issuer,"authorization_endpoint");const target=new URL3(this.issuer.authorization_endpoint);for(const[name,value]of Object.entries(authorizationParams.call(this,params))){if(Array.isArray(value)){target.searchParams.delete(name);for(const member of value){target.searchParams.append(name,member)}}else{target.searchParams.set(name,value)}}return target.href.replace(/\+/g,"%20")}authorizationPost(params={}){if(!isPlainObject3(params)){throw new TypeError("params must be a plain object")}const inputs=authorizationParams.call(this,params);const formInputs=Object.keys(inputs).map(name=>`<input type="hidden" name="${name}" value="${inputs[name]}"/>`).join("\n");return`<!DOCTYPE html>
<head>
<title>Requesting Authorization</title>
</head>
<body onload="javascript:document.forms[0].submit()">
<form method="post" action="${this.issuer.authorization_endpoint}">
  ${formInputs}
</form>
</body>
</html>`}endSessionUrl(params={}){assertIssuerConfiguration(this.issuer,"end_session_endpoint");const{0:postLogout,length}=this.post_logout_redirect_uris||[];const{post_logout_redirect_uri=length===1?postLogout:void 0}=params;let id_token_hint;({id_token_hint,...params}=params);if(id_token_hint instanceof TokenSet2){if(!id_token_hint.id_token){throw new TypeError("id_token not present in TokenSet")}id_token_hint=id_token_hint.id_token}const target=url.parse(this.issuer.end_session_endpoint);const query=defaults3(getSearchParams(this.issuer.end_session_endpoint),params,{post_logout_redirect_uri,client_id:this.client_id},{id_token_hint});Object.entries(query).forEach(([key,value])=>{if(value===null||value===void 0){delete query[key]}});target.search=null;target.query=query;return url.format(target)}callbackParams(input){const isIncomingMessage=input instanceof stdhttp.IncomingMessage||input&&input.method&&input.url;const isString4=typeof input==="string";if(!isString4&&!isIncomingMessage){throw new TypeError("#callbackParams only accepts string urls, http.IncomingMessage or a lookalike")}if(isIncomingMessage){switch(input.method){case"GET":return pickCb(getSearchParams(input.url));case"POST":if(input.body===void 0){throw new TypeError("incoming message body missing, include a body parser prior to this method call")}switch(typeof input.body){case"object":case"string":if(Buffer.isBuffer(input.body)){return pickCb(querystring.parse(input.body.toString("utf-8")))}if(typeof input.body==="string"){return pickCb(querystring.parse(input.body))}return pickCb(input.body);default:throw new TypeError("invalid IncomingMessage body object")}default:throw new TypeError("invalid IncomingMessage method")}}else{return pickCb(getSearchParams(input))}}async callback(redirectUri,parameters,checks2={},{exchangeBody,clientAssertionPayload,DPoP}={}){let params=pickCb(parameters);if(checks2.jarm&&!("response"in parameters)){throw new RPError({message:"expected a JARM response",checks:checks2,params})}else if("response"in parameters){const decrypted=await this.decryptJARM(params.response);params=await this.validateJARM(decrypted)}if(this.default_max_age&&!checks2.max_age){checks2.max_age=this.default_max_age}if(params.state&&!checks2.state){throw new TypeError("checks.state argument is missing")}if(!params.state&&checks2.state){throw new RPError({message:"state missing from the response",checks:checks2,params})}if(checks2.state!==params.state){throw new RPError({printf:["state mismatch, expected %s, got: %s",checks2.state,params.state],checks:checks2,params})}if("iss"in params){assertIssuerConfiguration(this.issuer,"issuer");if(params.iss!==this.issuer.issuer){throw new RPError({printf:["iss mismatch, expected %s, got: %s",this.issuer.issuer,params.iss],params})}}else if(this.issuer.authorization_response_iss_parameter_supported&&!("id_token"in params)&&!("response"in parameters)){throw new RPError({message:"iss missing from the response",params})}if(params.error){throw new OPError(params)}const RESPONSE_TYPE_REQUIRED_PARAMS={code:["code"],id_token:["id_token"],token:["access_token","token_type"]};if(checks2.response_type){for(const type2 of checks2.response_type.split(" ")){if(type2==="none"){if(params.code||params.id_token||params.access_token){throw new RPError({message:'unexpected params encountered for "none" response',checks:checks2,params})}}else{for(const param of RESPONSE_TYPE_REQUIRED_PARAMS[type2]){if(!params[param]){throw new RPError({message:`${param} missing from response`,checks:checks2,params})}}}}}if(params.id_token){const tokenset=new TokenSet2(params);await this.decryptIdToken(tokenset);await this.validateIdToken(tokenset,checks2.nonce,"authorization",checks2.max_age,checks2.state);if(!params.code){return tokenset}}if(params.code){const tokenset=await this.grant({...exchangeBody,grant_type:"authorization_code",code:params.code,redirect_uri:redirectUri,code_verifier:checks2.code_verifier},{clientAssertionPayload,DPoP});await this.decryptIdToken(tokenset);await this.validateIdToken(tokenset,checks2.nonce,"token",checks2.max_age);if(params.session_state){tokenset.session_state=params.session_state}return tokenset}return new TokenSet2(params)}async oauthCallback(redirectUri,parameters,checks2={},{exchangeBody,clientAssertionPayload,DPoP}={}){let params=pickCb(parameters);if(checks2.jarm&&!("response"in parameters)){throw new RPError({message:"expected a JARM response",checks:checks2,params})}else if("response"in parameters){const decrypted=await this.decryptJARM(params.response);params=await this.validateJARM(decrypted)}if(params.state&&!checks2.state){throw new TypeError("checks.state argument is missing")}if(!params.state&&checks2.state){throw new RPError({message:"state missing from the response",checks:checks2,params})}if(checks2.state!==params.state){throw new RPError({printf:["state mismatch, expected %s, got: %s",checks2.state,params.state],checks:checks2,params})}if("iss"in params){assertIssuerConfiguration(this.issuer,"issuer");if(params.iss!==this.issuer.issuer){throw new RPError({printf:["iss mismatch, expected %s, got: %s",this.issuer.issuer,params.iss],params})}}else if(this.issuer.authorization_response_iss_parameter_supported&&!("id_token"in params)&&!("response"in parameters)){throw new RPError({message:"iss missing from the response",params})}if(params.error){throw new OPError(params)}if(typeof params.id_token==="string"&&params.id_token.length){throw new RPError({message:"id_token detected in the response, you must use client.callback() instead of client.oauthCallback()",params})}delete params.id_token;const RESPONSE_TYPE_REQUIRED_PARAMS={code:["code"],token:["access_token","token_type"]};if(checks2.response_type){for(const type2 of checks2.response_type.split(" ")){if(type2==="none"){if(params.code||params.id_token||params.access_token){throw new RPError({message:'unexpected params encountered for "none" response',checks:checks2,params})}}if(RESPONSE_TYPE_REQUIRED_PARAMS[type2]){for(const param of RESPONSE_TYPE_REQUIRED_PARAMS[type2]){if(!params[param]){throw new RPError({message:`${param} missing from response`,checks:checks2,params})}}}}}if(params.code){const tokenset=await this.grant({...exchangeBody,grant_type:"authorization_code",code:params.code,redirect_uri:redirectUri,code_verifier:checks2.code_verifier},{clientAssertionPayload,DPoP});if(typeof tokenset.id_token==="string"&&tokenset.id_token.length){throw new RPError({message:"id_token detected in the response, you must use client.callback() instead of client.oauthCallback()",params})}delete tokenset.id_token;return tokenset}return new TokenSet2(params)}async decryptIdToken(token3){if(!this.id_token_encrypted_response_alg){return token3}let idToken=token3;if(idToken instanceof TokenSet2){if(!idToken.id_token){throw new TypeError("id_token not present in TokenSet")}idToken=idToken.id_token}const expectedAlg=this.id_token_encrypted_response_alg;const expectedEnc=this.id_token_encrypted_response_enc;const result2=await this.decryptJWE(idToken,expectedAlg,expectedEnc);if(token3 instanceof TokenSet2){token3.id_token=result2;return token3}return result2}async validateJWTUserinfo(body){const expectedAlg=this.userinfo_signed_response_alg;return this.validateJWT(body,expectedAlg,[])}async decryptJARM(response){if(!this.authorization_encrypted_response_alg){return response}const expectedAlg=this.authorization_encrypted_response_alg;const expectedEnc=this.authorization_encrypted_response_enc;return this.decryptJWE(response,expectedAlg,expectedEnc)}async decryptJWTUserinfo(body){if(!this.userinfo_encrypted_response_alg){return body}const expectedAlg=this.userinfo_encrypted_response_alg;const expectedEnc=this.userinfo_encrypted_response_enc;return this.decryptJWE(body,expectedAlg,expectedEnc)}async decryptJWE(jwe,expectedAlg,expectedEnc="A128CBC-HS256"){const header2=JSON.parse(base64url.decode(jwe.split(".")[0]));if(header2.alg!==expectedAlg){throw new RPError({printf:["unexpected JWE alg received, expected %s, got: %s",expectedAlg,header2.alg],jwt:jwe})}if(header2.enc!==expectedEnc){throw new RPError({printf:["unexpected JWE enc received, expected %s, got: %s",expectedEnc,header2.enc],jwt:jwe})}const getPlaintext=result2=>new TextDecoder().decode(result2.plaintext);let plaintext;if(expectedAlg.match(/^(?:RSA|ECDH)/)){const keystore=await keystores.get(this);const protectedHeader=jose.decodeProtectedHeader(jwe);for(const key of keystore.all({...protectedHeader,use:"enc"})){plaintext=await jose.compactDecrypt(jwe,await key.keyObject(protectedHeader.alg)).then(getPlaintext,()=>{});if(plaintext)break}}else{plaintext=await jose.compactDecrypt(jwe,this.secretForAlg(expectedAlg==="dir"?expectedEnc:expectedAlg)).then(getPlaintext,()=>{})}if(!plaintext){throw new RPError({message:"failed to decrypt JWE",jwt:jwe})}return plaintext}async validateIdToken(tokenSet,nonce,returnedBy,maxAge,state){let idToken=tokenSet;const expectedAlg=this.id_token_signed_response_alg;const isTokenSet=idToken instanceof TokenSet2;if(isTokenSet){if(!idToken.id_token){throw new TypeError("id_token not present in TokenSet")}idToken=idToken.id_token}idToken=String(idToken);const timestamp2=now3();const{protected:header2,payload,key}=await this.validateJWT(idToken,expectedAlg);if(typeof maxAge==="number"||maxAge!==skipMaxAgeCheck&&this.require_auth_time){if(!payload.auth_time){throw new RPError({message:"missing required JWT property auth_time",jwt:idToken})}if(typeof payload.auth_time!=="number"){throw new RPError({message:"JWT auth_time claim must be a JSON numeric value",jwt:idToken})}}if(typeof maxAge==="number"&&payload.auth_time+maxAge<timestamp2-this[CLOCK_TOLERANCE]){throw new RPError({printf:["too much time has elapsed since the last End-User authentication, max_age %i, auth_time: %i, now %i",maxAge,payload.auth_time,timestamp2-this[CLOCK_TOLERANCE]],now:timestamp2,tolerance:this[CLOCK_TOLERANCE],auth_time:payload.auth_time,jwt:idToken})}if(nonce!==skipNonceCheck&&(payload.nonce||nonce!==void 0)&&payload.nonce!==nonce){throw new RPError({printf:["nonce mismatch, expected %s, got: %s",nonce,payload.nonce],jwt:idToken})}if(returnedBy==="authorization"){if(!payload.at_hash&&tokenSet.access_token){throw new RPError({message:"missing required property at_hash",jwt:idToken})}if(!payload.c_hash&&tokenSet.code){throw new RPError({message:"missing required property c_hash",jwt:idToken})}if(this.fapi1()){if(!payload.s_hash&&(tokenSet.state||state)){throw new RPError({message:"missing required property s_hash",jwt:idToken})}}if(payload.s_hash){if(!state){throw new TypeError('cannot verify s_hash, "checks.state" property not provided')}try{tokenHash.validate({claim:"s_hash",source:"state"},payload.s_hash,state,header2.alg,key.jwk&&key.jwk.crv)}catch(err){throw new RPError({message:err.message,jwt:idToken})}}}if(this.fapi()&&payload.iat<timestamp2-3600){throw new RPError({printf:["JWT issued too far in the past, now %i, iat %i",timestamp2,payload.iat],now:timestamp2,tolerance:this[CLOCK_TOLERANCE],iat:payload.iat,jwt:idToken})}if(tokenSet.access_token&&payload.at_hash!==void 0){try{tokenHash.validate({claim:"at_hash",source:"access_token"},payload.at_hash,tokenSet.access_token,header2.alg,key.jwk&&key.jwk.crv)}catch(err){throw new RPError({message:err.message,jwt:idToken})}}if(tokenSet.code&&payload.c_hash!==void 0){try{tokenHash.validate({claim:"c_hash",source:"code"},payload.c_hash,tokenSet.code,header2.alg,key.jwk&&key.jwk.crv)}catch(err){throw new RPError({message:err.message,jwt:idToken})}}return tokenSet}async validateJWT(jwt,expectedAlg,required=["iss","sub","aud","exp","iat"]){const isSelfIssued=this.issuer.issuer==="https://self-issued.me";const timestamp2=now3();let header2;let payload;try{({header:header2,payload}=decodeJWT(jwt,{complete:true}))}catch(err){throw new RPError({printf:["failed to decode JWT (%s: %s)",err.name,err.message],jwt})}if(header2.alg!==expectedAlg){throw new RPError({printf:["unexpected JWT alg received, expected %s, got: %s",expectedAlg,header2.alg],jwt})}if(isSelfIssued){required=[...required,"sub_jwk"]}required.forEach(verifyPresence.bind(void 0,payload,jwt));if(payload.iss!==void 0){let expectedIss=this.issuer.issuer;if(this.#aadIssValidation){expectedIss=this.issuer.issuer.replace("{tenantid}",payload.tid)}if(payload.iss!==expectedIss){throw new RPError({printf:["unexpected iss value, expected %s, got: %s",expectedIss,payload.iss],jwt})}}if(payload.iat!==void 0){if(typeof payload.iat!=="number"){throw new RPError({message:"JWT iat claim must be a JSON numeric value",jwt})}}if(payload.nbf!==void 0){if(typeof payload.nbf!=="number"){throw new RPError({message:"JWT nbf claim must be a JSON numeric value",jwt})}if(payload.nbf>timestamp2+this[CLOCK_TOLERANCE]){throw new RPError({printf:["JWT not active yet, now %i, nbf %i",timestamp2+this[CLOCK_TOLERANCE],payload.nbf],now:timestamp2,tolerance:this[CLOCK_TOLERANCE],nbf:payload.nbf,jwt})}}if(payload.exp!==void 0){if(typeof payload.exp!=="number"){throw new RPError({message:"JWT exp claim must be a JSON numeric value",jwt})}if(timestamp2-this[CLOCK_TOLERANCE]>=payload.exp){throw new RPError({printf:["JWT expired, now %i, exp %i",timestamp2-this[CLOCK_TOLERANCE],payload.exp],now:timestamp2,tolerance:this[CLOCK_TOLERANCE],exp:payload.exp,jwt})}}if(payload.aud!==void 0){if(Array.isArray(payload.aud)){if(payload.aud.length>1&&!payload.azp){throw new RPError({message:"missing required JWT property azp",jwt})}if(!payload.aud.includes(this.client_id)){throw new RPError({printf:["aud is missing the client_id, expected %s to be included in %j",this.client_id,payload.aud],jwt})}}else if(payload.aud!==this.client_id){throw new RPError({printf:["aud mismatch, expected %s, got: %s",this.client_id,payload.aud],jwt})}}if(payload.azp!==void 0){let additionalAuthorizedParties=this.#additionalAuthorizedParties;if(typeof additionalAuthorizedParties==="string"){additionalAuthorizedParties=[this.client_id,additionalAuthorizedParties]}else if(Array.isArray(additionalAuthorizedParties)){additionalAuthorizedParties=[this.client_id,...additionalAuthorizedParties]}else{additionalAuthorizedParties=[this.client_id]}if(!additionalAuthorizedParties.includes(payload.azp)){throw new RPError({printf:["azp mismatch, got: %s",payload.azp],jwt})}}let keys2;if(isSelfIssued){try{assert2(isPlainObject3(payload.sub_jwk));const key=await jose.importJWK(payload.sub_jwk,header2.alg);assert2.equal(key.type,"public");keys2=[{keyObject(){return key}}]}catch(err){throw new RPError({message:"failed to use sub_jwk claim as an asymmetric JSON Web Key",jwt})}if(await jose.calculateJwkThumbprint(payload.sub_jwk)!==payload.sub){throw new RPError({message:"failed to match the subject with sub_jwk",jwt})}}else if(header2.alg.startsWith("HS")){keys2=[this.secretForAlg(header2.alg)]}else if(header2.alg!=="none"){keys2=await queryKeyStore.call(this.issuer,{...header2,use:"sig"})}if(!keys2&&header2.alg==="none"){return{protected:header2,payload}}for(const key of keys2){const verified=await jose.compactVerify(jwt,key instanceof Uint8Array?key:await key.keyObject(header2.alg)).catch(()=>{});if(verified){return{payload,protected:verified.protectedHeader,key}}}throw new RPError({message:"failed to validate JWT signature",jwt})}async refresh(refreshToken,{exchangeBody,clientAssertionPayload,DPoP}={}){let token3=refreshToken;if(token3 instanceof TokenSet2){if(!token3.refresh_token){throw new TypeError("refresh_token not present in TokenSet")}token3=token3.refresh_token}const tokenset=await this.grant({...exchangeBody,grant_type:"refresh_token",refresh_token:String(token3)},{clientAssertionPayload,DPoP});if(tokenset.id_token){await this.decryptIdToken(tokenset);await this.validateIdToken(tokenset,skipNonceCheck,"token",skipMaxAgeCheck);if(refreshToken instanceof TokenSet2&&refreshToken.id_token){const expectedSub=refreshToken.claims().sub;const actualSub=tokenset.claims().sub;if(actualSub!==expectedSub){throw new RPError({printf:["sub mismatch, expected %s, got: %s",expectedSub,actualSub],jwt:tokenset.id_token})}}}return tokenset}async requestResource(resourceUrl,accessToken,{method:method2,headers,body,DPoP,tokenType=DPoP?"DPoP":accessToken instanceof TokenSet2?accessToken.token_type:"Bearer"}={},retry){if(accessToken instanceof TokenSet2){if(!accessToken.access_token){throw new TypeError("access_token not present in TokenSet")}accessToken=accessToken.access_token}if(!accessToken){throw new TypeError("no access token provided")}else if(typeof accessToken!=="string"){throw new TypeError("invalid access token provided")}const requestOpts={headers:{Authorization:authorizationHeaderValue(accessToken,tokenType),...headers},body};const mTLS=!!this.tls_client_certificate_bound_access_tokens;const response=await request.call(this,{...requestOpts,responseType:"buffer",method:method2,url:resourceUrl},{accessToken,mTLS,DPoP});const wwwAuthenticate=response.headers["www-authenticate"];if(retry!==retryAttempt&&wwwAuthenticate&&wwwAuthenticate.toLowerCase().startsWith("dpop ")&&parseWwwAuthenticate(wwwAuthenticate).error==="use_dpop_nonce"){return this.requestResource(resourceUrl,accessToken,{method:method2,headers,body,DPoP,tokenType})}return response}async userinfo(accessToken,{method:method2="GET",via="header",tokenType,params,DPoP}={}){assertIssuerConfiguration(this.issuer,"userinfo_endpoint");const options={tokenType,method:String(method2).toUpperCase(),DPoP};if(options.method!=="GET"&&options.method!=="POST"){throw new TypeError("#userinfo() method can only be POST or a GET")}if(via==="body"&&options.method!=="POST"){throw new TypeError("can only send body on POST")}const jwt=!!(this.userinfo_signed_response_alg||this.userinfo_encrypted_response_alg);if(jwt){options.headers={Accept:"application/jwt"}}else{options.headers={Accept:"application/json"}}const mTLS=!!this.tls_client_certificate_bound_access_tokens;let targetUrl;if(mTLS&&this.issuer.mtls_endpoint_aliases){targetUrl=this.issuer.mtls_endpoint_aliases.userinfo_endpoint}targetUrl=new URL3(targetUrl||this.issuer.userinfo_endpoint);if(via==="body"){options.headers.Authorization=void 0;options.headers["Content-Type"]="application/x-www-form-urlencoded";options.body=new URLSearchParams2;options.body.append("access_token",accessToken instanceof TokenSet2?accessToken.access_token:accessToken)}if(params){if(options.method==="GET"){Object.entries(params).forEach(([key,value])=>{targetUrl.searchParams.append(key,value)})}else if(options.body){Object.entries(params).forEach(([key,value])=>{options.body.append(key,value)})}else{options.body=new URLSearchParams2;options.headers["Content-Type"]="application/x-www-form-urlencoded";Object.entries(params).forEach(([key,value])=>{options.body.append(key,value)})}}if(options.body){options.body=options.body.toString()}const response=await this.requestResource(targetUrl,accessToken,options);let parsed=processResponse(response,{bearer:true});if(jwt){if(!/^application\/jwt/.test(response.headers["content-type"])){throw new RPError({message:"expected application/jwt response from the userinfo_endpoint",response})}const body=response.body.toString();const userinfo=await this.decryptJWTUserinfo(body);if(!this.userinfo_signed_response_alg){try{parsed=JSON.parse(userinfo);assert2(isPlainObject3(parsed))}catch(err){throw new RPError({message:"failed to parse userinfo JWE payload as JSON",jwt:userinfo})}}else{({payload:parsed}=await this.validateJWTUserinfo(userinfo))}}else{try{parsed=JSON.parse(response.body)}catch(err){Object.defineProperty(err,"response",{value:response});throw err}}if(accessToken instanceof TokenSet2&&accessToken.id_token){const expectedSub=accessToken.claims().sub;if(parsed.sub!==expectedSub){throw new RPError({printf:["userinfo sub mismatch, expected %s, got: %s",expectedSub,parsed.sub],body:parsed,jwt:accessToken.id_token})}}return parsed}encryptionSecret(len){const hash=len<=256?"sha256":len<=384?"sha384":len<=512?"sha512":false;if(!hash){throw new Error("unsupported symmetric encryption key derivation")}return crypto6.createHash(hash).update(this.client_secret).digest().slice(0,len/8)}secretForAlg(alg){if(!this.client_secret){throw new TypeError("client_secret is required")}if(/^A(\d{3})(?:GCM)?KW$/.test(alg)){return this.encryptionSecret(parseInt(RegExp.$1,10))}if(/^A(\d{3})(?:GCM|CBC-HS(\d{3}))$/.test(alg)){return this.encryptionSecret(parseInt(RegExp.$2||RegExp.$1,10))}return new TextEncoder().encode(this.client_secret)}async grant(body,{clientAssertionPayload,DPoP}={},retry){assertIssuerConfiguration(this.issuer,"token_endpoint");const response=await authenticatedPost.call(this,"token",{form:body,responseType:"json"},{clientAssertionPayload,DPoP});let responseBody;try{responseBody=processResponse(response)}catch(err){if(retry!==retryAttempt&&err instanceof OPError&&err.error==="use_dpop_nonce"){return this.grant(body,{clientAssertionPayload,DPoP},retryAttempt)}throw err}return new TokenSet2(responseBody)}async deviceAuthorization(params={},{exchangeBody,clientAssertionPayload,DPoP}={}){assertIssuerConfiguration(this.issuer,"device_authorization_endpoint");assertIssuerConfiguration(this.issuer,"token_endpoint");const body=authorizationParams.call(this,{client_id:this.client_id,redirect_uri:null,response_type:null,...params});const response=await authenticatedPost.call(this,"device_authorization",{responseType:"json",form:body},{clientAssertionPayload,endpointAuthMethod:"token"});const responseBody=processResponse(response);return new DeviceFlowHandle({client:this,exchangeBody,clientAssertionPayload,response:responseBody,maxAge:params.max_age,DPoP})}async revoke(token3,hint,{revokeBody,clientAssertionPayload}={}){assertIssuerConfiguration(this.issuer,"revocation_endpoint");if(hint!==void 0&&typeof hint!=="string"){throw new TypeError("hint must be a string")}const form={...revokeBody,token:token3};if(hint){form.token_type_hint=hint}const response=await authenticatedPost.call(this,"revocation",{form},{clientAssertionPayload});processResponse(response,{body:false})}async introspect(token3,hint,{introspectBody,clientAssertionPayload}={}){assertIssuerConfiguration(this.issuer,"introspection_endpoint");if(hint!==void 0&&typeof hint!=="string"){throw new TypeError("hint must be a string")}const form={...introspectBody,token:token3};if(hint){form.token_type_hint=hint}const response=await authenticatedPost.call(this,"introspection",{form,responseType:"json"},{clientAssertionPayload});const responseBody=processResponse(response);return responseBody}static async register(metadata,options={}){const{initialAccessToken,jwks,...clientOptions}=options;assertIssuerConfiguration(this.issuer,"registration_endpoint");if(jwks!==void 0&&!(metadata.jwks||metadata.jwks_uri)){const keystore=await getKeystore.call(this,jwks);metadata.jwks=keystore.toJWKS()}const response=await request.call(this,{headers:{Accept:"application/json",...initialAccessToken?{Authorization:authorizationHeaderValue(initialAccessToken)}:void 0},responseType:"json",json:metadata,url:this.issuer.registration_endpoint,method:"POST"});const responseBody=processResponse(response,{statusCode:201,bearer:true});return new this(responseBody,jwks,clientOptions)}get metadata(){return clone2(Object.fromEntries(this.#metadata.entries()))}static async fromUri(registrationClientUri,registrationAccessToken,jwks,clientOptions){const response=await request.call(this,{method:"GET",url:registrationClientUri,responseType:"json",headers:{Authorization:authorizationHeaderValue(registrationAccessToken),Accept:"application/json"}});const responseBody=processResponse(response,{bearer:true});return new this(responseBody,jwks,clientOptions)}async requestObject(requestObject={},{sign:signingAlgorithm=this.request_object_signing_alg||"none",encrypt:{alg:eKeyManagement=this.request_object_encryption_alg,enc:eContentEncryption=this.request_object_encryption_enc||"A128CBC-HS256"}={}}={}){if(!isPlainObject3(requestObject)){throw new TypeError("requestObject must be a plain object")}let signed;let key;const unix=now3();const header2={alg:signingAlgorithm,typ:"oauth-authz-req+jwt"};const payload=JSON.stringify(defaults3({},requestObject,{iss:this.client_id,aud:this.issuer.issuer,client_id:this.client_id,jti:random3(),iat:unix,exp:unix+300,...this.fapi()?{nbf:unix}:void 0}));if(signingAlgorithm==="none"){signed=[base64url.encode(JSON.stringify(header2)),base64url.encode(payload),""].join(".")}else{const symmetric=signingAlgorithm.startsWith("HS");if(symmetric){key=this.secretForAlg(signingAlgorithm)}else{const keystore=await keystores.get(this);if(!keystore){throw new TypeError(`no keystore present for client, cannot sign using alg ${signingAlgorithm}`)}key=keystore.get({alg:signingAlgorithm,use:"sig"});if(!key){throw new TypeError(`no key to sign with found for alg ${signingAlgorithm}`)}}signed=await new jose.CompactSign(new TextEncoder().encode(payload)).setProtectedHeader({...header2,kid:symmetric?void 0:key.jwk.kid}).sign(symmetric?key:await key.keyObject(signingAlgorithm))}if(!eKeyManagement){return signed}const fields={alg:eKeyManagement,enc:eContentEncryption,cty:"oauth-authz-req+jwt"};if(fields.alg.match(/^(RSA|ECDH)/)){[key]=await queryKeyStore.call(this.issuer,{alg:fields.alg,use:"enc"},{allowMulti:true})}else{key=this.secretForAlg(fields.alg==="dir"?fields.enc:fields.alg)}return new jose.CompactEncrypt(new TextEncoder().encode(signed)).setProtectedHeader({...fields,kid:key instanceof Uint8Array?void 0:key.jwk.kid}).encrypt(key instanceof Uint8Array?key:await key.keyObject(fields.alg))}async pushedAuthorizationRequest(params={},{clientAssertionPayload}={}){assertIssuerConfiguration(this.issuer,"pushed_authorization_request_endpoint");const body={..."request"in params?params:authorizationParams.call(this,params),client_id:this.client_id};const response=await authenticatedPost.call(this,"pushed_authorization_request",{responseType:"json",form:body},{clientAssertionPayload,endpointAuthMethod:"token"});const responseBody=processResponse(response,{statusCode:201});if(!("expires_in"in responseBody)){throw new RPError({message:"expected expires_in in Pushed Authorization Successful Response",response})}if(typeof responseBody.expires_in!=="number"){throw new RPError({message:"invalid expires_in value in Pushed Authorization Successful Response",response})}if(!("request_uri"in responseBody)){throw new RPError({message:"expected request_uri in Pushed Authorization Successful Response",response})}if(typeof responseBody.request_uri!=="string"){throw new RPError({message:"invalid request_uri value in Pushed Authorization Successful Response",response})}return responseBody}get issuer(){return this.#issuer}[inspect3.custom](){return`${this.constructor.name} ${inspect3(this.metadata,{depth:Infinity,colors:process.stdout.isTTY,compact:false,sorted:true})}`}fapi(){return this.fapi1()||this.fapi2()}fapi1(){return this.constructor.name==="FAPI1Client"}fapi2(){return this.constructor.name==="FAPI2Client"}async validateJARM(response){const expectedAlg=this.authorization_signed_response_alg;const{payload}=await this.validateJWT(response,expectedAlg,["iss","exp","aud"]);return pickCb(payload)}async dpopProof(payload,privateKeyInput,accessToken){if(!isPlainObject3(payload)){throw new TypeError("payload must be a plain object")}let privateKey;if(isKeyObject(privateKeyInput)){privateKey=privateKeyInput}else if(privateKeyInput[Symbol.toStringTag]==="CryptoKey"){privateKey=privateKeyInput}else if(jose.cryptoRuntime==="node:crypto"){privateKey=crypto6.createPrivateKey(privateKeyInput)}else{throw new TypeError("unrecognized crypto runtime")}if(privateKey.type!=="private"){throw new TypeError('"DPoP" option must be a private key')}let alg=determineDPoPAlgorithm.call(this,privateKey,privateKeyInput);if(!alg){throw new TypeError("could not determine DPoP JWS Algorithm")}return new jose.SignJWT({ath:accessToken?base64url.encode(crypto6.createHash("sha256").update(accessToken).digest()):void 0,...payload}).setProtectedHeader({alg,typ:"dpop+jwt",jwk:await getJwk(privateKey,privateKeyInput)}).setIssuedAt().setJti(random3()).sign(privateKey)}};function determineDPoPAlgorithmFromCryptoKey(cryptoKey){switch(cryptoKey.algorithm.name){case"Ed25519":case"Ed448":return"EdDSA";case"ECDSA":{switch(cryptoKey.algorithm.namedCurve){case"P-256":return"ES256";case"P-384":return"ES384";case"P-521":return"ES512";default:break}break}case"RSASSA-PKCS1-v1_5":return`RS${cryptoKey.algorithm.hash.name.slice(4)}`;case"RSA-PSS":return`PS${cryptoKey.algorithm.hash.name.slice(4)}`;default:throw new TypeError("unsupported DPoP private key")}}var determineDPoPAlgorithm;if(jose.cryptoRuntime==="node:crypto"){let determineRsaAlgorithm2=function(privateKey,privateKeyInput,valuesSupported){if(typeof privateKeyInput==="object"&&privateKeyInput.format==="jwk"&&privateKeyInput.key&&privateKeyInput.key.alg){return privateKeyInput.key.alg}if(Array.isArray(valuesSupported)){let candidates=valuesSupported.filter(RegExp.prototype.test.bind(RSPS));if(privateKey.asymmetricKeyType==="rsa-pss"){candidates=candidates.filter(value=>value.startsWith("PS"))}return["PS256","PS384","PS512","RS256","RS384","RS384"].find(preferred=>candidates.includes(preferred))}return"PS256"},determineEcAlgorithm2=function(privateKey,privateKeyInput){switch(typeof privateKeyInput==="object"&&typeof privateKeyInput.key==="object"&&privateKeyInput.key.crv){case"P-256":return"ES256";case"secp256k1":return"ES256K";case"P-384":return"ES384";case"P-512":return"ES512";default:break}const buf=privateKey.export({format:"der",type:"pkcs8"});const i=buf[1]<128?17:18;const len=buf[i];const curveOid=buf.slice(i+1,i+1+len);if(curveOid.equals(p2562)){return"ES256"}if(curveOid.equals(p3842)){return"ES384"}if(curveOid.equals(p5212)){return"ES512"}if(curveOid.equals(secp256k12)){return"ES256K"}throw new TypeError("unsupported DPoP private key curve")};determineRsaAlgorithm=determineRsaAlgorithm2,determineEcAlgorithm=determineEcAlgorithm2;determineDPoPAlgorithm=function(privateKey,privateKeyInput){if(privateKeyInput[Symbol.toStringTag]==="CryptoKey"){return determineDPoPAlgorithmFromCryptoKey(privateKey)}switch(privateKey.asymmetricKeyType){case"ed25519":case"ed448":return"EdDSA";case"ec":return determineEcAlgorithm2(privateKey,privateKeyInput);case"rsa":case(rsaPssParams2&&"rsa-pss"):return determineRsaAlgorithm2(privateKey,privateKeyInput,this.issuer.dpop_signing_alg_values_supported);default:throw new TypeError("unsupported DPoP private key")}};const RSPS=/^(?:RS|PS)(?:256|384|512)$/;const p2562=Buffer.from([42,134,72,206,61,3,1,7]);const p3842=Buffer.from([43,129,4,0,34]);const p5212=Buffer.from([43,129,4,0,35]);const secp256k12=Buffer.from([43,129,4,0,10])}else{determineDPoPAlgorithm=determineDPoPAlgorithmFromCryptoKey}var determineRsaAlgorithm;var determineEcAlgorithm;var jwkCache=new WeakMap;async function getJwk(keyObject,privateKeyInput){if(jose.cryptoRuntime==="node:crypto"&&typeof privateKeyInput==="object"&&typeof privateKeyInput.key==="object"&&privateKeyInput.format==="jwk"){return pick2(privateKeyInput.key,"kty","crv","x","y","e","n")}if(jwkCache.has(privateKeyInput)){return jwkCache.get(privateKeyInput)}const jwk=pick2(await jose.exportJWK(keyObject),"kty","crv","x","y","e","n");if(isKeyObject(privateKeyInput)||jose.cryptoRuntime==="WebCryptoAPI"){jwkCache.set(privateKeyInput,jwk)}return jwk}module2.exports=(issuer,aadIssValidation=false)=>class Client extends BaseClient3{constructor(...args2){super(issuer,aadIssValidation,...args2)}static get issuer(){return issuer}};module2.exports.BaseClient=BaseClient3}});var require_issuer_registry=__commonJS({"node_modules/openid-client/lib/issuer_registry.js"(exports2,module2){var LRU=require_lru_cache2();module2.exports=new LRU({max:100})}});var require_webfinger_normalize=__commonJS({"node_modules/openid-client/lib/helpers/webfinger_normalize.js"(exports2,module2){var PORT=/^\d+$/;function hasScheme(input){if(input.includes("://"))return true;const authority=input.replace(/(\/|\?)/g,"#").split("#")[0];if(authority.includes(":")){const index=authority.indexOf(":");const hostOrPort=authority.slice(index+1);if(!PORT.test(hostOrPort)){return true}}return false}function acctSchemeAssumed(input){if(!input.includes("@"))return false;const parts=input.split("@");const host=parts[parts.length-1];return!(host.includes(":")||host.includes("/")||host.includes("?"))}function normalize(input){if(typeof input!=="string"){throw new TypeError("input must be a string")}let output;if(hasScheme(input)){output=input}else if(acctSchemeAssumed(input)){output=`acct:${input}`}else{output=`https://${input}`}return output.split("#")[0]}module2.exports=normalize}});var require_issuer2=__commonJS({"node_modules/openid-client/lib/issuer.js"(exports2,module2){var{inspect:inspect3}=require("util");var url=require("url");var{RPError}=require_errors3();var getClient=require_client3();var registry=require_issuer_registry();var processResponse=require_process_response();var webfingerNormalize=require_webfinger_normalize();var request=require_request();var clone2=require_deep_clone();var{keystore}=require_issuer();var AAD_MULTITENANT_DISCOVERY=["https://login.microsoftonline.com/common/.well-known/openid-configuration","https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration","https://login.microsoftonline.com/organizations/v2.0/.well-known/openid-configuration","https://login.microsoftonline.com/consumers/v2.0/.well-known/openid-configuration"];var AAD_MULTITENANT=Symbol();var ISSUER_DEFAULTS={claim_types_supported:["normal"],claims_parameter_supported:false,grant_types_supported:["authorization_code","implicit"],request_parameter_supported:false,request_uri_parameter_supported:true,require_request_uri_registration:false,response_modes_supported:["query","fragment"],token_endpoint_auth_methods_supported:["client_secret_basic"]};var Issuer2=class _Issuer{#metadata;constructor(meta={}){const aadIssValidation=meta[AAD_MULTITENANT];delete meta[AAD_MULTITENANT];["introspection","revocation"].forEach(endpoint=>{if(meta[`${endpoint}_endpoint`]&&meta[`${endpoint}_endpoint_auth_methods_supported`]===void 0&&meta[`${endpoint}_endpoint_auth_signing_alg_values_supported`]===void 0){if(meta.token_endpoint_auth_methods_supported){meta[`${endpoint}_endpoint_auth_methods_supported`]=meta.token_endpoint_auth_methods_supported}if(meta.token_endpoint_auth_signing_alg_values_supported){meta[`${endpoint}_endpoint_auth_signing_alg_values_supported`]=meta.token_endpoint_auth_signing_alg_values_supported}}});this.#metadata=new Map;Object.entries(meta).forEach(([key,value])=>{this.#metadata.set(key,value);if(!this[key]){Object.defineProperty(this,key,{get(){return this.#metadata.get(key)},enumerable:true})}});registry.set(this.issuer,this);const Client3=getClient(this,aadIssValidation);Object.defineProperties(this,{Client:{value:Client3,enumerable:true},FAPI1Client:{value:class FAPI1Client extends Client3{},enumerable:true},FAPI2Client:{value:class FAPI2Client extends Client3{},enumerable:true}})}get metadata(){return clone2(Object.fromEntries(this.#metadata.entries()))}static async webfinger(input){const resource=webfingerNormalize(input);const{host}=url.parse(resource);const webfingerUrl=`https://${host}/.well-known/webfinger`;const response=await request.call(this,{method:"GET",url:webfingerUrl,responseType:"json",searchParams:{resource,rel:"http://openid.net/specs/connect/1.0/issuer"},headers:{Accept:"application/json"}});const body=processResponse(response);const location=Array.isArray(body.links)&&body.links.find(link=>typeof link==="object"&&link.rel==="http://openid.net/specs/connect/1.0/issuer"&&link.href);if(!location){throw new RPError({message:"no issuer found in webfinger response",body})}if(typeof location.href!=="string"||!location.href.startsWith("https://")){throw new RPError({printf:["invalid issuer location %s",location.href],body})}const expectedIssuer=location.href;if(registry.has(expectedIssuer)){return registry.get(expectedIssuer)}const issuer=await this.discover(expectedIssuer);if(issuer.issuer!==expectedIssuer){registry.del(issuer.issuer);throw new RPError("discovered issuer mismatch, expected %s, got: %s",expectedIssuer,issuer.issuer)}return issuer}static async discover(uri){const wellKnownUri=resolveWellKnownUri(uri);const response=await request.call(this,{method:"GET",responseType:"json",url:wellKnownUri,headers:{Accept:"application/json"}});const body=processResponse(response);return new _Issuer({...ISSUER_DEFAULTS,...body,[AAD_MULTITENANT]:!!AAD_MULTITENANT_DISCOVERY.find(discoveryURL=>wellKnownUri.startsWith(discoveryURL))})}async reloadJwksUri(){await keystore.call(this,true)}[inspect3.custom](){return`${this.constructor.name} ${inspect3(this.metadata,{depth:Infinity,colors:process.stdout.isTTY,compact:false,sorted:true})}`}};function resolveWellKnownUri(uri){const parsed=url.parse(uri);if(parsed.pathname.includes("/.well-known/")){return uri}else{let pathname;if(parsed.pathname.endsWith("/")){pathname=`${parsed.pathname}.well-known/openid-configuration`}else{pathname=`${parsed.pathname}/.well-known/openid-configuration`}return url.format({...parsed,pathname})}}module2.exports=Issuer2}});var require_passport_strategy=__commonJS({"node_modules/openid-client/lib/passport_strategy.js"(exports2,module2){var url=require("url");var{format:format2}=require("util");var cloneDeep3=require_deep_clone();var{RPError,OPError}=require_errors3();var{BaseClient:BaseClient3}=require_client3();var{random:random3,codeChallenge}=require_generators();var pick2=require_pick();var{resolveResponseType,resolveRedirectUri}=require_client2();function verified(err,user,info={}){if(err){this.error(err)}else if(!user){this.fail(info)}else{this.success(user,info)}}function OpenIDConnectStrategy({client,params={},passReqToCallback=false,sessionKey,usePKCE=true,extras={}}={},verify){if(!(client instanceof BaseClient3)){throw new TypeError("client must be an instance of openid-client Client")}if(typeof verify!=="function"){throw new TypeError("verify callback must be a function")}if(!client.issuer||!client.issuer.issuer){throw new TypeError("client must have an issuer with an identifier")}this._client=client;this._issuer=client.issuer;this._verify=verify;this._passReqToCallback=passReqToCallback;this._usePKCE=usePKCE;this._key=sessionKey||`oidc:${url.parse(this._issuer.issuer).hostname}`;this._params=cloneDeep3(params);delete this._params.state;delete this._params.nonce;this._extras=cloneDeep3(extras);if(!this._params.response_type)this._params.response_type=resolveResponseType.call(client);if(!this._params.redirect_uri)this._params.redirect_uri=resolveRedirectUri.call(client);if(!this._params.scope)this._params.scope="openid";if(this._usePKCE===true){const supportedMethods=Array.isArray(this._issuer.code_challenge_methods_supported)?this._issuer.code_challenge_methods_supported:false;if(supportedMethods&&supportedMethods.includes("S256")){this._usePKCE="S256"}else if(supportedMethods&&supportedMethods.includes("plain")){this._usePKCE="plain"}else if(supportedMethods){throw new TypeError("neither code_challenge_method supported by the client is supported by the issuer")}else{this._usePKCE="S256"}}else if(typeof this._usePKCE==="string"&&!["plain","S256"].includes(this._usePKCE)){throw new TypeError(`${this._usePKCE} is not valid/implemented PKCE code_challenge_method`)}this.name=url.parse(client.issuer.issuer).hostname}OpenIDConnectStrategy.prototype.authenticate=function authenticate(req,options){(async()=>{const client=this._client;if(!req.session){throw new TypeError("authentication requires session support")}const reqParams=client.callbackParams(req);const sessionKey=this._key;const{0:parameter,length}=Object.keys(reqParams);if(length===0||length===1&&parameter==="iss"){const params={state:random3(),...this._params,...options};if(!params.nonce&&params.response_type.includes("id_token")){params.nonce=random3()}req.session[sessionKey]=pick2(params,"nonce","state","max_age","response_type");if(this._usePKCE&&params.response_type.includes("code")){const verifier=random3();req.session[sessionKey].code_verifier=verifier;switch(this._usePKCE){case"S256":params.code_challenge=codeChallenge(verifier);params.code_challenge_method="S256";break;case"plain":params.code_challenge=verifier;break}}this.redirect(client.authorizationUrl(params));return}const session=req.session[sessionKey];if(Object.keys(session||{}).length===0){throw new Error(format2('did not find expected authorization request details in session, req.session["%s"] is %j',sessionKey,session))}const{state,nonce,max_age:maxAge,code_verifier:codeVerifier,response_type:responseType}=session;try{delete req.session[sessionKey]}catch(err){}const opts={redirect_uri:this._params.redirect_uri,...options};const checks2={state,nonce,max_age:maxAge,code_verifier:codeVerifier,response_type:responseType};const tokenset=await client.callback(opts.redirect_uri,reqParams,checks2,this._extras);const passReq=this._passReqToCallback;const loadUserinfo=this._verify.length>(passReq?3:2)&&client.issuer.userinfo_endpoint;const args2=[tokenset,verified.bind(this)];if(loadUserinfo){if(!tokenset.access_token){throw new RPError({message:"expected access_token to be returned when asking for userinfo in verify callback",tokenset})}const userinfo=await client.userinfo(tokenset);args2.splice(1,0,userinfo)}if(passReq){args2.unshift(req)}this._verify(...args2)})().catch(error=>{if(error instanceof OPError&&error.error!=="server_error"&&!error.error.startsWith("invalid")||error instanceof RPError){this.fail(error)}else{this.error(error)}})};module2.exports=OpenIDConnectStrategy}});var require_lib7=__commonJS({"node_modules/openid-client/lib/index.js"(exports2,module2){var Issuer2=require_issuer2();var{OPError,RPError}=require_errors3();var Strategy2=require_passport_strategy();var TokenSet2=require_token_set();var{CLOCK_TOLERANCE,HTTP_OPTIONS}=require_consts();var generators2=require_generators();var{setDefaults}=require_request();module2.exports={Issuer:Issuer2,Strategy:Strategy2,TokenSet:TokenSet2,errors:{OPError,RPError},custom:{setHttpOptionsDefaults:setDefaults,http_options:HTTP_OPTIONS,clock_tolerance:CLOCK_TOLERANCE},generators:generators2}}});var tslib_es6_exports={};__export(tslib_es6_exports,{__addDisposableResource:()=>__addDisposableResource,__assign:()=>__assign,__asyncDelegator:()=>__asyncDelegator,__asyncGenerator:()=>__asyncGenerator,__asyncValues:()=>__asyncValues,__await:()=>__await,__awaiter:()=>__awaiter,__classPrivateFieldGet:()=>__classPrivateFieldGet3,__classPrivateFieldIn:()=>__classPrivateFieldIn,__classPrivateFieldSet:()=>__classPrivateFieldSet3,__createBinding:()=>__createBinding,__decorate:()=>__decorate,__disposeResources:()=>__disposeResources,__esDecorate:()=>__esDecorate,__exportStar:()=>__exportStar,__extends:()=>__extends,__generator:()=>__generator,__importDefault:()=>__importDefault,__importStar:()=>__importStar,__makeTemplateObject:()=>__makeTemplateObject,__metadata:()=>__metadata,__param:()=>__param,__propKey:()=>__propKey,__read:()=>__read,__rest:()=>__rest,__rewriteRelativeImportExtension:()=>__rewriteRelativeImportExtension,__runInitializers:()=>__runInitializers,__setFunctionName:()=>__setFunctionName,__spread:()=>__spread,__spreadArray:()=>__spreadArray,__spreadArrays:()=>__spreadArrays,__values:()=>__values,default:()=>tslib_es6_default});function __extends(d,b){if(typeof b!=="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}function __rest(s,e){var t={};for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0)t[p]=s[p];if(s!=null&&typeof Object.getOwnPropertySymbols==="function")for(var i=0,p=Object.getOwnPropertySymbols(s);i<p.length;i++){if(e.indexOf(p[i])<0&&Object.prototype.propertyIsEnumerable.call(s,p[i]))t[p[i]]=s[p[i]]}return t}function __decorate(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r}function __param(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}}function __esDecorate(ctor,descriptorIn,decorators,contextIn,initializers,extraInitializers){function accept(f){if(f!==void 0&&typeof f!=="function")throw new TypeError("Function expected");return f}var kind=contextIn.kind,key=kind==="getter"?"get":kind==="setter"?"set":"value";var target=!descriptorIn&&ctor?contextIn["static"]?ctor:ctor.prototype:null;var descriptor=descriptorIn||(target?Object.getOwnPropertyDescriptor(target,contextIn.name):{});var _,done=false;for(var i=decorators.length-1;i>=0;i--){var context={};for(var p in contextIn)context[p]=p==="access"?{}:contextIn[p];for(var p in contextIn.access)context.access[p]=contextIn.access[p];context.addInitializer=function(f){if(done)throw new TypeError("Cannot add initializers after decoration has completed");extraInitializers.push(accept(f||null))};var result2=(0,decorators[i])(kind==="accessor"?{get:descriptor.get,set:descriptor.set}:descriptor[key],context);if(kind==="accessor"){if(result2===void 0)continue;if(result2===null||typeof result2!=="object")throw new TypeError("Object expected");if(_=accept(result2.get))descriptor.get=_;if(_=accept(result2.set))descriptor.set=_;if(_=accept(result2.init))initializers.unshift(_)}else if(_=accept(result2)){if(kind==="field")initializers.unshift(_);else descriptor[key]=_}}if(target)Object.defineProperty(target,contextIn.name,descriptor);done=true}function __runInitializers(thisArg,initializers,value){var useValue=arguments.length>2;for(var i=0;i<initializers.length;i++){value=useValue?initializers[i].call(thisArg,value):initializers[i].call(thisArg)}return useValue?value:void 0}function __propKey(x){return typeof x==="symbol"?x:"".concat(x)}function __setFunctionName(f,name,prefix){if(typeof name==="symbol")name=name.description?"[".concat(name.description,"]"):"";return Object.defineProperty(f,"name",{configurable:true,value:prefix?"".concat(prefix," ",name):name})}function __metadata(metadataKey,metadataValue){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(metadataKey,metadataValue)}function __awaiter(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P(function(resolve){resolve(value)})}return new(P||(P=Promise))(function(resolve,reject2){function fulfilled(value){try{step(generator.next(value))}catch(e){reject2(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject2(e)}}function step(result2){result2.done?resolve(result2.value):adopt(result2.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})}function __generator(thisArg,body){var _={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},f,y,t,g=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return g.next=verb(0),g["throw"]=verb(1),g["return"]=verb(2),typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}function __exportStar(m,o){for(var p in m)if(p!=="default"&&!Object.prototype.hasOwnProperty.call(o,p))__createBinding(o,m,p)}function __values(o){var s=typeof Symbol==="function"&&Symbol.iterator,m=s&&o[s],i=0;if(m)return m.call(o);if(o&&typeof o.length==="number")return{next:function(){if(o&&i>=o.length)o=void 0;return{value:o&&o[i++],done:!o}}};throw new TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")}function __read(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-- >0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar}function __spread(){for(var ar=[],i=0;i<arguments.length;i++)ar=ar.concat(__read(arguments[i]));return ar}function __spreadArrays(){for(var s=0,i=0,il=arguments.length;i<il;i++)s+=arguments[i].length;for(var r=Array(s),k=0,i=0;i<il;i++)for(var a=arguments[i],j=0,jl=a.length;j<jl;j++,k++)r[k]=a[j];return r}function __spreadArray(to,from,pack){if(pack||arguments.length===2)for(var i=0,l=from.length,ar;i<l;i++){if(ar||!(i in from)){if(!ar)ar=Array.prototype.slice.call(from,0,i);ar[i]=from[i]}}return to.concat(ar||Array.prototype.slice.call(from))}function __await(v){return this instanceof __await?(this.v=v,this):new __await(v)}function __asyncGenerator(thisArg,_arguments,generator){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var g=generator.apply(thisArg,_arguments||[]),i,q=[];return i=Object.create((typeof AsyncIterator==="function"?AsyncIterator:Object).prototype),verb("next"),verb("throw"),verb("return",awaitReturn),i[Symbol.asyncIterator]=function(){return this},i;function awaitReturn(f){return function(v){return Promise.resolve(v).then(f,reject2)}}function verb(n,f){if(g[n]){i[n]=function(v){return new Promise(function(a,b){q.push([n,v,a,b])>1||resume(n,v)})};if(f)i[n]=f(i[n])}}function resume(n,v){try{step(g[n](v))}catch(e){settle(q[0][3],e)}}function step(r){r.value instanceof __await?Promise.resolve(r.value.v).then(fulfill,reject2):settle(q[0][2],r)}function fulfill(value){resume("next",value)}function reject2(value){resume("throw",value)}function settle(f,v){if(f(v),q.shift(),q.length)resume(q[0][0],q[0][1])}}function __asyncDelegator(o){var i,p;return i={},verb("next"),verb("throw",function(e){throw e}),verb("return"),i[Symbol.iterator]=function(){return this},i;function verb(n,f){i[n]=o[n]?function(v){return(p=!p)?{value:__await(o[n](v)),done:false}:f?f(v):v}:f}}function __asyncValues(o){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var m=o[Symbol.asyncIterator],i;return m?m.call(o):(o=typeof __values==="function"?__values(o):o[Symbol.iterator](),i={},verb("next"),verb("throw"),verb("return"),i[Symbol.asyncIterator]=function(){return this},i);function verb(n){i[n]=o[n]&&function(v){return new Promise(function(resolve,reject2){v=o[n](v),settle(resolve,reject2,v.done,v.value)})}}function settle(resolve,reject2,d,v){Promise.resolve(v).then(function(v2){resolve({value:v2,done:d})},reject2)}}function __makeTemplateObject(cooked,raw){if(Object.defineProperty){Object.defineProperty(cooked,"raw",{value:raw})}else{cooked.raw=raw}return cooked}function __importStar(mod3){if(mod3&&mod3.__esModule)return mod3;var result2={};if(mod3!=null){for(var k=ownKeys(mod3),i=0;i<k.length;i++)if(k[i]!=="default")__createBinding(result2,mod3,k[i])}__setModuleDefault(result2,mod3);return result2}function __importDefault(mod3){return mod3&&mod3.__esModule?mod3:{default:mod3}}function __classPrivateFieldGet3(receiver,state,kind,f){if(kind==="a"&&!f)throw new TypeError("Private accessor was defined without a getter");if(typeof state==="function"?receiver!==state||!f:!state.has(receiver))throw new TypeError("Cannot read private member from an object whose class did not declare it");return kind==="m"?f:kind==="a"?f.call(receiver):f?f.value:state.get(receiver)}function __classPrivateFieldSet3(receiver,state,value,kind,f){if(kind==="m")throw new TypeError("Private method is not writable");if(kind==="a"&&!f)throw new TypeError("Private accessor was defined without a setter");if(typeof state==="function"?receiver!==state||!f:!state.has(receiver))throw new TypeError("Cannot write private member to an object whose class did not declare it");return kind==="a"?f.call(receiver,value):f?f.value=value:state.set(receiver,value),value}function __classPrivateFieldIn(state,receiver){if(receiver===null||typeof receiver!=="object"&&typeof receiver!=="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof state==="function"?receiver===state:state.has(receiver)}function __addDisposableResource(env2,value,async){if(value!==null&&value!==void 0){if(typeof value!=="object"&&typeof value!=="function")throw new TypeError("Object expected.");var dispose,inner;if(async){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");dispose=value[Symbol.asyncDispose]}if(dispose===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");dispose=value[Symbol.dispose];if(async)inner=dispose}if(typeof dispose!=="function")throw new TypeError("Object not disposable.");if(inner)dispose=function(){try{inner.call(this)}catch(e){return Promise.reject(e)}};env2.stack.push({value,dispose,async})}else if(async){env2.stack.push({async:true})}return value}function __disposeResources(env2){function fail(e){env2.error=env2.hasError?new _SuppressedError(e,env2.error,"An error was suppressed during disposal."):e;env2.hasError=true}var r,s=0;function next(){while(r=env2.stack.pop()){try{if(!r.async&&s===1)return s=0,env2.stack.push(r),Promise.resolve().then(next);if(r.dispose){var result2=r.dispose.call(r.value);if(r.async)return s|=2,Promise.resolve(result2).then(next,function(e){fail(e);return next()})}else s|=1}catch(e){fail(e)}}if(s===1)return env2.hasError?Promise.reject(env2.error):Promise.resolve();if(env2.hasError)throw env2.error}return next()}function __rewriteRelativeImportExtension(path27,preserveJsx){if(typeof path27==="string"&&/^\.\.?\//.test(path27)){return path27.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(m,tsx,d,ext,cm){return tsx?preserveJsx?".jsx":".js":d&&(!ext||!cm)?m:d+ext+"."+cm.toLowerCase()+"js"})}return path27}var extendStatics,__assign,__createBinding,__setModuleDefault,ownKeys,_SuppressedError,tslib_es6_default;var init_tslib_es6=__esm({"node_modules/tslib/tslib.es6.mjs"(){extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d2,b2){d2.__proto__=b2}||function(d2,b2){for(var p in b2)if(Object.prototype.hasOwnProperty.call(b2,p))d2[p]=b2[p]};return extendStatics(d,b)};__assign=function(){__assign=Object.assign||function __assign2(t){for(var s,i=1,n=arguments.length;i<n;i++){s=arguments[i];for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))t[p]=s[p]}return t};return __assign.apply(this,arguments)};__createBinding=Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable)){desc={enumerable:true,get:function(){return m[k]}}}Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]};__setModuleDefault=Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:true,value:v})}:function(o,v){o["default"]=v};ownKeys=function(o){ownKeys=Object.getOwnPropertyNames||function(o2){var ar=[];for(var k in o2)if(Object.prototype.hasOwnProperty.call(o2,k))ar[ar.length]=k;return ar};return ownKeys(o)};_SuppressedError=typeof SuppressedError==="function"?SuppressedError:function(error,suppressed,message3){var e=new Error(message3);return e.name="SuppressedError",e.error=error,e.suppressed=suppressed,e};tslib_es6_default={__extends,__assign,__rest,__decorate,__param,__esDecorate,__runInitializers,__propKey,__setFunctionName,__metadata,__awaiter,__generator,__createBinding,__exportStar,__values,__read,__spread,__spreadArrays,__spreadArray,__await,__asyncGenerator,__asyncDelegator,__asyncValues,__makeTemplateObject,__importStar,__importDefault,__classPrivateFieldGet:__classPrivateFieldGet3,__classPrivateFieldSet:__classPrivateFieldSet3,__classPrivateFieldIn,__addDisposableResource,__disposeResources,__rewriteRelativeImportExtension}}});var require_common=__commonJS({"node_modules/discord-api-types/gateway/common.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_v10=__commonJS({"node_modules/discord-api-types/gateway/v10.js"(exports2){"use strict";var __createBinding2=exports2&&exports2.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable)){desc={enumerable:true,get:function(){return m[k]}}}Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]});var __exportStar2=exports2&&exports2.__exportStar||function(m,exports3){for(var p in m)if(p!=="default"&&!Object.prototype.hasOwnProperty.call(exports3,p))__createBinding2(exports3,m,p)};Object.defineProperty(exports2,"__esModule",{value:true});exports2.VoiceChannelEffectSendAnimationType=exports2.GatewayDispatchEvents=exports2.GatewayIntentBits=exports2.GatewayCloseCodes=exports2.GatewayOpcodes=exports2.GatewayVersion=void 0;__exportStar2(require_common(),exports2);exports2.GatewayVersion="10";var GatewayOpcodes;(function(GatewayOpcodes2){GatewayOpcodes2[GatewayOpcodes2["Dispatch"]=0]="Dispatch";GatewayOpcodes2[GatewayOpcodes2["Heartbeat"]=1]="Heartbeat";GatewayOpcodes2[GatewayOpcodes2["Identify"]=2]="Identify";GatewayOpcodes2[GatewayOpcodes2["PresenceUpdate"]=3]="PresenceUpdate";GatewayOpcodes2[GatewayOpcodes2["VoiceStateUpdate"]=4]="VoiceStateUpdate";GatewayOpcodes2[GatewayOpcodes2["Resume"]=6]="Resume";GatewayOpcodes2[GatewayOpcodes2["Reconnect"]=7]="Reconnect";GatewayOpcodes2[GatewayOpcodes2["RequestGuildMembers"]=8]="RequestGuildMembers";GatewayOpcodes2[GatewayOpcodes2["InvalidSession"]=9]="InvalidSession";GatewayOpcodes2[GatewayOpcodes2["Hello"]=10]="Hello";GatewayOpcodes2[GatewayOpcodes2["HeartbeatAck"]=11]="HeartbeatAck";GatewayOpcodes2[GatewayOpcodes2["RequestSoundboardSounds"]=31]="RequestSoundboardSounds"})(GatewayOpcodes||(exports2.GatewayOpcodes=GatewayOpcodes={}));var GatewayCloseCodes;(function(GatewayCloseCodes2){GatewayCloseCodes2[GatewayCloseCodes2["UnknownError"]=4e3]="UnknownError";GatewayCloseCodes2[GatewayCloseCodes2["UnknownOpcode"]=4001]="UnknownOpcode";GatewayCloseCodes2[GatewayCloseCodes2["DecodeError"]=4002]="DecodeError";GatewayCloseCodes2[GatewayCloseCodes2["NotAuthenticated"]=4003]="NotAuthenticated";GatewayCloseCodes2[GatewayCloseCodes2["AuthenticationFailed"]=4004]="AuthenticationFailed";GatewayCloseCodes2[GatewayCloseCodes2["AlreadyAuthenticated"]=4005]="AlreadyAuthenticated";GatewayCloseCodes2[GatewayCloseCodes2["InvalidSeq"]=4007]="InvalidSeq";GatewayCloseCodes2[GatewayCloseCodes2["RateLimited"]=4008]="RateLimited";GatewayCloseCodes2[GatewayCloseCodes2["SessionTimedOut"]=4009]="SessionTimedOut";GatewayCloseCodes2[GatewayCloseCodes2["InvalidShard"]=4010]="InvalidShard";GatewayCloseCodes2[GatewayCloseCodes2["ShardingRequired"]=4011]="ShardingRequired";GatewayCloseCodes2[GatewayCloseCodes2["InvalidAPIVersion"]=4012]="InvalidAPIVersion";GatewayCloseCodes2[GatewayCloseCodes2["InvalidIntents"]=4013]="InvalidIntents";GatewayCloseCodes2[GatewayCloseCodes2["DisallowedIntents"]=4014]="DisallowedIntents"})(GatewayCloseCodes||(exports2.GatewayCloseCodes=GatewayCloseCodes={}));var GatewayIntentBits2;(function(GatewayIntentBits3){GatewayIntentBits3[GatewayIntentBits3["Guilds"]=1]="Guilds";GatewayIntentBits3[GatewayIntentBits3["GuildMembers"]=2]="GuildMembers";GatewayIntentBits3[GatewayIntentBits3["GuildModeration"]=4]="GuildModeration";GatewayIntentBits3[GatewayIntentBits3["GuildBans"]=4]="GuildBans";GatewayIntentBits3[GatewayIntentBits3["GuildExpressions"]=8]="GuildExpressions";GatewayIntentBits3[GatewayIntentBits3["GuildEmojisAndStickers"]=8]="GuildEmojisAndStickers";GatewayIntentBits3[GatewayIntentBits3["GuildIntegrations"]=16]="GuildIntegrations";GatewayIntentBits3[GatewayIntentBits3["GuildWebhooks"]=32]="GuildWebhooks";GatewayIntentBits3[GatewayIntentBits3["GuildInvites"]=64]="GuildInvites";GatewayIntentBits3[GatewayIntentBits3["GuildVoiceStates"]=128]="GuildVoiceStates";GatewayIntentBits3[GatewayIntentBits3["GuildPresences"]=256]="GuildPresences";GatewayIntentBits3[GatewayIntentBits3["GuildMessages"]=512]="GuildMessages";GatewayIntentBits3[GatewayIntentBits3["GuildMessageReactions"]=1024]="GuildMessageReactions";GatewayIntentBits3[GatewayIntentBits3["GuildMessageTyping"]=2048]="GuildMessageTyping";GatewayIntentBits3[GatewayIntentBits3["DirectMessages"]=4096]="DirectMessages";GatewayIntentBits3[GatewayIntentBits3["DirectMessageReactions"]=8192]="DirectMessageReactions";GatewayIntentBits3[GatewayIntentBits3["DirectMessageTyping"]=16384]="DirectMessageTyping";GatewayIntentBits3[GatewayIntentBits3["MessageContent"]=32768]="MessageContent";GatewayIntentBits3[GatewayIntentBits3["GuildScheduledEvents"]=65536]="GuildScheduledEvents";GatewayIntentBits3[GatewayIntentBits3["AutoModerationConfiguration"]=1048576]="AutoModerationConfiguration";GatewayIntentBits3[GatewayIntentBits3["AutoModerationExecution"]=2097152]="AutoModerationExecution";GatewayIntentBits3[GatewayIntentBits3["GuildMessagePolls"]=16777216]="GuildMessagePolls";GatewayIntentBits3[GatewayIntentBits3["DirectMessagePolls"]=33554432]="DirectMessagePolls"})(GatewayIntentBits2||(exports2.GatewayIntentBits=GatewayIntentBits2={}));var GatewayDispatchEvents;(function(GatewayDispatchEvents2){GatewayDispatchEvents2["ApplicationCommandPermissionsUpdate"]="APPLICATION_COMMAND_PERMISSIONS_UPDATE";GatewayDispatchEvents2["AutoModerationActionExecution"]="AUTO_MODERATION_ACTION_EXECUTION";GatewayDispatchEvents2["AutoModerationRuleCreate"]="AUTO_MODERATION_RULE_CREATE";GatewayDispatchEvents2["AutoModerationRuleDelete"]="AUTO_MODERATION_RULE_DELETE";GatewayDispatchEvents2["AutoModerationRuleUpdate"]="AUTO_MODERATION_RULE_UPDATE";GatewayDispatchEvents2["ChannelCreate"]="CHANNEL_CREATE";GatewayDispatchEvents2["ChannelDelete"]="CHANNEL_DELETE";GatewayDispatchEvents2["ChannelPinsUpdate"]="CHANNEL_PINS_UPDATE";GatewayDispatchEvents2["ChannelUpdate"]="CHANNEL_UPDATE";GatewayDispatchEvents2["EntitlementCreate"]="ENTITLEMENT_CREATE";GatewayDispatchEvents2["EntitlementDelete"]="ENTITLEMENT_DELETE";GatewayDispatchEvents2["EntitlementUpdate"]="ENTITLEMENT_UPDATE";GatewayDispatchEvents2["GuildAuditLogEntryCreate"]="GUILD_AUDIT_LOG_ENTRY_CREATE";GatewayDispatchEvents2["GuildBanAdd"]="GUILD_BAN_ADD";GatewayDispatchEvents2["GuildBanRemove"]="GUILD_BAN_REMOVE";GatewayDispatchEvents2["GuildCreate"]="GUILD_CREATE";GatewayDispatchEvents2["GuildDelete"]="GUILD_DELETE";GatewayDispatchEvents2["GuildEmojisUpdate"]="GUILD_EMOJIS_UPDATE";GatewayDispatchEvents2["GuildIntegrationsUpdate"]="GUILD_INTEGRATIONS_UPDATE";GatewayDispatchEvents2["GuildMemberAdd"]="GUILD_MEMBER_ADD";GatewayDispatchEvents2["GuildMemberRemove"]="GUILD_MEMBER_REMOVE";GatewayDispatchEvents2["GuildMembersChunk"]="GUILD_MEMBERS_CHUNK";GatewayDispatchEvents2["GuildMemberUpdate"]="GUILD_MEMBER_UPDATE";GatewayDispatchEvents2["GuildRoleCreate"]="GUILD_ROLE_CREATE";GatewayDispatchEvents2["GuildRoleDelete"]="GUILD_ROLE_DELETE";GatewayDispatchEvents2["GuildRoleUpdate"]="GUILD_ROLE_UPDATE";GatewayDispatchEvents2["GuildScheduledEventCreate"]="GUILD_SCHEDULED_EVENT_CREATE";GatewayDispatchEvents2["GuildScheduledEventDelete"]="GUILD_SCHEDULED_EVENT_DELETE";GatewayDispatchEvents2["GuildScheduledEventUpdate"]="GUILD_SCHEDULED_EVENT_UPDATE";GatewayDispatchEvents2["GuildScheduledEventUserAdd"]="GUILD_SCHEDULED_EVENT_USER_ADD";GatewayDispatchEvents2["GuildScheduledEventUserRemove"]="GUILD_SCHEDULED_EVENT_USER_REMOVE";GatewayDispatchEvents2["GuildSoundboardSoundCreate"]="GUILD_SOUNDBOARD_SOUND_CREATE";GatewayDispatchEvents2["GuildSoundboardSoundDelete"]="GUILD_SOUNDBOARD_SOUND_DELETE";GatewayDispatchEvents2["GuildSoundboardSoundsUpdate"]="GUILD_SOUNDBOARD_SOUNDS_UPDATE";GatewayDispatchEvents2["GuildSoundboardSoundUpdate"]="GUILD_SOUNDBOARD_SOUND_UPDATE";GatewayDispatchEvents2["SoundboardSounds"]="SOUNDBOARD_SOUNDS";GatewayDispatchEvents2["GuildStickersUpdate"]="GUILD_STICKERS_UPDATE";GatewayDispatchEvents2["GuildUpdate"]="GUILD_UPDATE";GatewayDispatchEvents2["IntegrationCreate"]="INTEGRATION_CREATE";GatewayDispatchEvents2["IntegrationDelete"]="INTEGRATION_DELETE";GatewayDispatchEvents2["IntegrationUpdate"]="INTEGRATION_UPDATE";GatewayDispatchEvents2["InteractionCreate"]="INTERACTION_CREATE";GatewayDispatchEvents2["InviteCreate"]="INVITE_CREATE";GatewayDispatchEvents2["InviteDelete"]="INVITE_DELETE";GatewayDispatchEvents2["MessageCreate"]="MESSAGE_CREATE";GatewayDispatchEvents2["MessageDelete"]="MESSAGE_DELETE";GatewayDispatchEvents2["MessageDeleteBulk"]="MESSAGE_DELETE_BULK";GatewayDispatchEvents2["MessagePollVoteAdd"]="MESSAGE_POLL_VOTE_ADD";GatewayDispatchEvents2["MessagePollVoteRemove"]="MESSAGE_POLL_VOTE_REMOVE";GatewayDispatchEvents2["MessageReactionAdd"]="MESSAGE_REACTION_ADD";GatewayDispatchEvents2["MessageReactionRemove"]="MESSAGE_REACTION_REMOVE";GatewayDispatchEvents2["MessageReactionRemoveAll"]="MESSAGE_REACTION_REMOVE_ALL";GatewayDispatchEvents2["MessageReactionRemoveEmoji"]="MESSAGE_REACTION_REMOVE_EMOJI";GatewayDispatchEvents2["MessageUpdate"]="MESSAGE_UPDATE";GatewayDispatchEvents2["PresenceUpdate"]="PRESENCE_UPDATE";GatewayDispatchEvents2["Ready"]="READY";GatewayDispatchEvents2["Resumed"]="RESUMED";GatewayDispatchEvents2["StageInstanceCreate"]="STAGE_INSTANCE_CREATE";GatewayDispatchEvents2["StageInstanceDelete"]="STAGE_INSTANCE_DELETE";GatewayDispatchEvents2["StageInstanceUpdate"]="STAGE_INSTANCE_UPDATE";GatewayDispatchEvents2["SubscriptionCreate"]="SUBSCRIPTION_CREATE";GatewayDispatchEvents2["SubscriptionDelete"]="SUBSCRIPTION_DELETE";GatewayDispatchEvents2["SubscriptionUpdate"]="SUBSCRIPTION_UPDATE";GatewayDispatchEvents2["ThreadCreate"]="THREAD_CREATE";GatewayDispatchEvents2["ThreadDelete"]="THREAD_DELETE";GatewayDispatchEvents2["ThreadListSync"]="THREAD_LIST_SYNC";GatewayDispatchEvents2["ThreadMembersUpdate"]="THREAD_MEMBERS_UPDATE";GatewayDispatchEvents2["ThreadMemberUpdate"]="THREAD_MEMBER_UPDATE";GatewayDispatchEvents2["ThreadUpdate"]="THREAD_UPDATE";GatewayDispatchEvents2["TypingStart"]="TYPING_START";GatewayDispatchEvents2["UserUpdate"]="USER_UPDATE";GatewayDispatchEvents2["VoiceChannelEffectSend"]="VOICE_CHANNEL_EFFECT_SEND";GatewayDispatchEvents2["VoiceServerUpdate"]="VOICE_SERVER_UPDATE";GatewayDispatchEvents2["VoiceStateUpdate"]="VOICE_STATE_UPDATE";GatewayDispatchEvents2["WebhooksUpdate"]="WEBHOOKS_UPDATE"})(GatewayDispatchEvents||(exports2.GatewayDispatchEvents=GatewayDispatchEvents={}));var VoiceChannelEffectSendAnimationType;(function(VoiceChannelEffectSendAnimationType2){VoiceChannelEffectSendAnimationType2[VoiceChannelEffectSendAnimationType2["Premium"]=0]="Premium";VoiceChannelEffectSendAnimationType2[VoiceChannelEffectSendAnimationType2["Basic"]=1]="Basic"})(VoiceChannelEffectSendAnimationType||(exports2.VoiceChannelEffectSendAnimationType=VoiceChannelEffectSendAnimationType={}))}});var require_globals=__commonJS({"node_modules/discord-api-types/globals.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.FormattingPatterns=void 0;exports2.FormattingPatterns={User:/<@(?<id>\d{17,20})>/,UserWithNickname:/<@!(?<id>\d{17,20})>/,UserWithOptionalNickname:/<@!?(?<id>\d{17,20})>/,Channel:/<#(?<id>\d{17,20})>/,Role:/<@&(?<id>\d{17,20})>/,SlashCommand:/<\/(?<fullName>(?<name>[-_\p{Letter}\p{Number}\p{sc=Deva}\p{sc=Thai}]{1,32})(?: (?<subcommandOrGroup>[-_\p{Letter}\p{Number}\p{sc=Deva}\p{sc=Thai}]{1,32}))?(?: (?<subcommand>[-_\p{Letter}\p{Number}\p{sc=Deva}\p{sc=Thai}]{1,32}))?):(?<id>\d{17,20})>/u,Emoji:/<(?<animated>a)?:(?<name>\w{2,32}):(?<id>\d{17,20})>/,AnimatedEmoji:/<(?<animated>a):(?<name>\w{2,32}):(?<id>\d{17,20})>/,StaticEmoji:/<:(?<name>\w{2,32}):(?<id>\d{17,20})>/,Timestamp:/<t:(?<timestamp>-?\d{1,13})(:(?<style>[DFRTdft]))?>/,DefaultStyledTimestamp:/<t:(?<timestamp>-?\d{1,13})>/,StyledTimestamp:/<t:(?<timestamp>-?\d{1,13}):(?<style>[DFRTdft])>/,GuildNavigation:/<id:(?<type>customize|browse|guide|linked-roles)>/,LinkedRole:/<id:linked-roles:(?<id>\d{17,20})>/};Object.freeze(exports2.FormattingPatterns)}});var require_common2=__commonJS({"node_modules/discord-api-types/payloads/common.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.PermissionFlagsBits=void 0;exports2.PermissionFlagsBits={CreateInstantInvite:1n<<0n,KickMembers:1n<<1n,BanMembers:1n<<2n,Administrator:1n<<3n,ManageChannels:1n<<4n,ManageGuild:1n<<5n,AddReactions:1n<<6n,ViewAuditLog:1n<<7n,PrioritySpeaker:1n<<8n,Stream:1n<<9n,ViewChannel:1n<<10n,SendMessages:1n<<11n,SendTTSMessages:1n<<12n,ManageMessages:1n<<13n,EmbedLinks:1n<<14n,AttachFiles:1n<<15n,ReadMessageHistory:1n<<16n,MentionEveryone:1n<<17n,UseExternalEmojis:1n<<18n,ViewGuildInsights:1n<<19n,Connect:1n<<20n,Speak:1n<<21n,MuteMembers:1n<<22n,DeafenMembers:1n<<23n,MoveMembers:1n<<24n,UseVAD:1n<<25n,ChangeNickname:1n<<26n,ManageNicknames:1n<<27n,ManageRoles:1n<<28n,ManageWebhooks:1n<<29n,ManageEmojisAndStickers:1n<<30n,ManageGuildExpressions:1n<<30n,UseApplicationCommands:1n<<31n,RequestToSpeak:1n<<32n,ManageEvents:1n<<33n,ManageThreads:1n<<34n,CreatePublicThreads:1n<<35n,CreatePrivateThreads:1n<<36n,UseExternalStickers:1n<<37n,SendMessagesInThreads:1n<<38n,UseEmbeddedActivities:1n<<39n,ModerateMembers:1n<<40n,ViewCreatorMonetizationAnalytics:1n<<41n,UseSoundboard:1n<<42n,CreateGuildExpressions:1n<<43n,CreateEvents:1n<<44n,UseExternalSounds:1n<<45n,SendVoiceMessages:1n<<46n,SendPolls:1n<<49n,UseExternalApps:1n<<50n};Object.freeze(exports2.PermissionFlagsBits)}});var require_application=__commonJS({"node_modules/discord-api-types/payloads/v10/application.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.ApplicationWebhookEventStatus=exports2.ApplicationRoleConnectionMetadataType=exports2.ApplicationFlags=void 0;var ApplicationFlags;(function(ApplicationFlags2){ApplicationFlags2[ApplicationFlags2["EmbeddedReleased"]=2]="EmbeddedReleased";ApplicationFlags2[ApplicationFlags2["ManagedEmoji"]=4]="ManagedEmoji";ApplicationFlags2[ApplicationFlags2["EmbeddedIAP"]=8]="EmbeddedIAP";ApplicationFlags2[ApplicationFlags2["GroupDMCreate"]=16]="GroupDMCreate";ApplicationFlags2[ApplicationFlags2["ApplicationAutoModerationRuleCreateBadge"]=64]="ApplicationAutoModerationRuleCreateBadge";ApplicationFlags2[ApplicationFlags2["RPCHasConnected"]=2048]="RPCHasConnected";ApplicationFlags2[ApplicationFlags2["GatewayPresence"]=4096]="GatewayPresence";ApplicationFlags2[ApplicationFlags2["GatewayPresenceLimited"]=8192]="GatewayPresenceLimited";ApplicationFlags2[ApplicationFlags2["GatewayGuildMembers"]=16384]="GatewayGuildMembers";ApplicationFlags2[ApplicationFlags2["GatewayGuildMembersLimited"]=32768]="GatewayGuildMembersLimited";ApplicationFlags2[ApplicationFlags2["VerificationPendingGuildLimit"]=65536]="VerificationPendingGuildLimit";ApplicationFlags2[ApplicationFlags2["Embedded"]=131072]="Embedded";ApplicationFlags2[ApplicationFlags2["GatewayMessageContent"]=262144]="GatewayMessageContent";ApplicationFlags2[ApplicationFlags2["GatewayMessageContentLimited"]=524288]="GatewayMessageContentLimited";ApplicationFlags2[ApplicationFlags2["EmbeddedFirstParty"]=1048576]="EmbeddedFirstParty";ApplicationFlags2[ApplicationFlags2["ApplicationCommandBadge"]=8388608]="ApplicationCommandBadge"})(ApplicationFlags||(exports2.ApplicationFlags=ApplicationFlags={}));var ApplicationRoleConnectionMetadataType;(function(ApplicationRoleConnectionMetadataType2){ApplicationRoleConnectionMetadataType2[ApplicationRoleConnectionMetadataType2["IntegerLessThanOrEqual"]=1]="IntegerLessThanOrEqual";ApplicationRoleConnectionMetadataType2[ApplicationRoleConnectionMetadataType2["IntegerGreaterThanOrEqual"]=2]="IntegerGreaterThanOrEqual";ApplicationRoleConnectionMetadataType2[ApplicationRoleConnectionMetadataType2["IntegerEqual"]=3]="IntegerEqual";ApplicationRoleConnectionMetadataType2[ApplicationRoleConnectionMetadataType2["IntegerNotEqual"]=4]="IntegerNotEqual";ApplicationRoleConnectionMetadataType2[ApplicationRoleConnectionMetadataType2["DatetimeLessThanOrEqual"]=5]="DatetimeLessThanOrEqual";ApplicationRoleConnectionMetadataType2[ApplicationRoleConnectionMetadataType2["DatetimeGreaterThanOrEqual"]=6]="DatetimeGreaterThanOrEqual";ApplicationRoleConnectionMetadataType2[ApplicationRoleConnectionMetadataType2["BooleanEqual"]=7]="BooleanEqual";ApplicationRoleConnectionMetadataType2[ApplicationRoleConnectionMetadataType2["BooleanNotEqual"]=8]="BooleanNotEqual"})(ApplicationRoleConnectionMetadataType||(exports2.ApplicationRoleConnectionMetadataType=ApplicationRoleConnectionMetadataType={}));var ApplicationWebhookEventStatus;(function(ApplicationWebhookEventStatus2){ApplicationWebhookEventStatus2[ApplicationWebhookEventStatus2["Disabled"]=1]="Disabled";ApplicationWebhookEventStatus2[ApplicationWebhookEventStatus2["Enabled"]=2]="Enabled";ApplicationWebhookEventStatus2[ApplicationWebhookEventStatus2["DisabledByDiscord"]=3]="DisabledByDiscord"})(ApplicationWebhookEventStatus||(exports2.ApplicationWebhookEventStatus=ApplicationWebhookEventStatus={}))}});var require_auditLog=__commonJS({"node_modules/discord-api-types/payloads/v10/auditLog.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.AuditLogOptionsType=exports2.AuditLogEvent=void 0;var AuditLogEvent;(function(AuditLogEvent2){AuditLogEvent2[AuditLogEvent2["GuildUpdate"]=1]="GuildUpdate";AuditLogEvent2[AuditLogEvent2["ChannelCreate"]=10]="ChannelCreate";AuditLogEvent2[AuditLogEvent2["ChannelUpdate"]=11]="ChannelUpdate";AuditLogEvent2[AuditLogEvent2["ChannelDelete"]=12]="ChannelDelete";AuditLogEvent2[AuditLogEvent2["ChannelOverwriteCreate"]=13]="ChannelOverwriteCreate";AuditLogEvent2[AuditLogEvent2["ChannelOverwriteUpdate"]=14]="ChannelOverwriteUpdate";AuditLogEvent2[AuditLogEvent2["ChannelOverwriteDelete"]=15]="ChannelOverwriteDelete";AuditLogEvent2[AuditLogEvent2["MemberKick"]=20]="MemberKick";AuditLogEvent2[AuditLogEvent2["MemberPrune"]=21]="MemberPrune";AuditLogEvent2[AuditLogEvent2["MemberBanAdd"]=22]="MemberBanAdd";AuditLogEvent2[AuditLogEvent2["MemberBanRemove"]=23]="MemberBanRemove";AuditLogEvent2[AuditLogEvent2["MemberUpdate"]=24]="MemberUpdate";AuditLogEvent2[AuditLogEvent2["MemberRoleUpdate"]=25]="MemberRoleUpdate";AuditLogEvent2[AuditLogEvent2["MemberMove"]=26]="MemberMove";AuditLogEvent2[AuditLogEvent2["MemberDisconnect"]=27]="MemberDisconnect";AuditLogEvent2[AuditLogEvent2["BotAdd"]=28]="BotAdd";AuditLogEvent2[AuditLogEvent2["RoleCreate"]=30]="RoleCreate";AuditLogEvent2[AuditLogEvent2["RoleUpdate"]=31]="RoleUpdate";AuditLogEvent2[AuditLogEvent2["RoleDelete"]=32]="RoleDelete";AuditLogEvent2[AuditLogEvent2["InviteCreate"]=40]="InviteCreate";AuditLogEvent2[AuditLogEvent2["InviteUpdate"]=41]="InviteUpdate";AuditLogEvent2[AuditLogEvent2["InviteDelete"]=42]="InviteDelete";AuditLogEvent2[AuditLogEvent2["WebhookCreate"]=50]="WebhookCreate";AuditLogEvent2[AuditLogEvent2["WebhookUpdate"]=51]="WebhookUpdate";AuditLogEvent2[AuditLogEvent2["WebhookDelete"]=52]="WebhookDelete";AuditLogEvent2[AuditLogEvent2["EmojiCreate"]=60]="EmojiCreate";AuditLogEvent2[AuditLogEvent2["EmojiUpdate"]=61]="EmojiUpdate";AuditLogEvent2[AuditLogEvent2["EmojiDelete"]=62]="EmojiDelete";AuditLogEvent2[AuditLogEvent2["MessageDelete"]=72]="MessageDelete";AuditLogEvent2[AuditLogEvent2["MessageBulkDelete"]=73]="MessageBulkDelete";AuditLogEvent2[AuditLogEvent2["MessagePin"]=74]="MessagePin";AuditLogEvent2[AuditLogEvent2["MessageUnpin"]=75]="MessageUnpin";AuditLogEvent2[AuditLogEvent2["IntegrationCreate"]=80]="IntegrationCreate";AuditLogEvent2[AuditLogEvent2["IntegrationUpdate"]=81]="IntegrationUpdate";AuditLogEvent2[AuditLogEvent2["IntegrationDelete"]=82]="IntegrationDelete";AuditLogEvent2[AuditLogEvent2["StageInstanceCreate"]=83]="StageInstanceCreate";AuditLogEvent2[AuditLogEvent2["StageInstanceUpdate"]=84]="StageInstanceUpdate";AuditLogEvent2[AuditLogEvent2["StageInstanceDelete"]=85]="StageInstanceDelete";AuditLogEvent2[AuditLogEvent2["StickerCreate"]=90]="StickerCreate";AuditLogEvent2[AuditLogEvent2["StickerUpdate"]=91]="StickerUpdate";AuditLogEvent2[AuditLogEvent2["StickerDelete"]=92]="StickerDelete";AuditLogEvent2[AuditLogEvent2["GuildScheduledEventCreate"]=100]="GuildScheduledEventCreate";AuditLogEvent2[AuditLogEvent2["GuildScheduledEventUpdate"]=101]="GuildScheduledEventUpdate";AuditLogEvent2[AuditLogEvent2["GuildScheduledEventDelete"]=102]="GuildScheduledEventDelete";AuditLogEvent2[AuditLogEvent2["ThreadCreate"]=110]="ThreadCreate";AuditLogEvent2[AuditLogEvent2["ThreadUpdate"]=111]="ThreadUpdate";AuditLogEvent2[AuditLogEvent2["ThreadDelete"]=112]="ThreadDelete";AuditLogEvent2[AuditLogEvent2["ApplicationCommandPermissionUpdate"]=121]="ApplicationCommandPermissionUpdate";AuditLogEvent2[AuditLogEvent2["SoundboardSoundCreate"]=130]="SoundboardSoundCreate";AuditLogEvent2[AuditLogEvent2["SoundboardSoundUpdate"]=131]="SoundboardSoundUpdate";AuditLogEvent2[AuditLogEvent2["SoundboardSoundDelete"]=132]="SoundboardSoundDelete";AuditLogEvent2[AuditLogEvent2["AutoModerationRuleCreate"]=140]="AutoModerationRuleCreate";AuditLogEvent2[AuditLogEvent2["AutoModerationRuleUpdate"]=141]="AutoModerationRuleUpdate";AuditLogEvent2[AuditLogEvent2["AutoModerationRuleDelete"]=142]="AutoModerationRuleDelete";AuditLogEvent2[AuditLogEvent2["AutoModerationBlockMessage"]=143]="AutoModerationBlockMessage";AuditLogEvent2[AuditLogEvent2["AutoModerationFlagToChannel"]=144]="AutoModerationFlagToChannel";AuditLogEvent2[AuditLogEvent2["AutoModerationUserCommunicationDisabled"]=145]="AutoModerationUserCommunicationDisabled";AuditLogEvent2[AuditLogEvent2["CreatorMonetizationRequestCreated"]=150]="CreatorMonetizationRequestCreated";AuditLogEvent2[AuditLogEvent2["CreatorMonetizationTermsAccepted"]=151]="CreatorMonetizationTermsAccepted";AuditLogEvent2[AuditLogEvent2["OnboardingPromptCreate"]=163]="OnboardingPromptCreate";AuditLogEvent2[AuditLogEvent2["OnboardingPromptUpdate"]=164]="OnboardingPromptUpdate";AuditLogEvent2[AuditLogEvent2["OnboardingPromptDelete"]=165]="OnboardingPromptDelete";AuditLogEvent2[AuditLogEvent2["OnboardingCreate"]=166]="OnboardingCreate";AuditLogEvent2[AuditLogEvent2["OnboardingUpdate"]=167]="OnboardingUpdate";AuditLogEvent2[AuditLogEvent2["HomeSettingsCreate"]=190]="HomeSettingsCreate";AuditLogEvent2[AuditLogEvent2["HomeSettingsUpdate"]=191]="HomeSettingsUpdate"})(AuditLogEvent||(exports2.AuditLogEvent=AuditLogEvent={}));var AuditLogOptionsType;(function(AuditLogOptionsType2){AuditLogOptionsType2["Role"]="0";AuditLogOptionsType2["Member"]="1"})(AuditLogOptionsType||(exports2.AuditLogOptionsType=AuditLogOptionsType={}))}});var require_autoModeration=__commonJS({"node_modules/discord-api-types/payloads/v10/autoModeration.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.AutoModerationActionType=exports2.AutoModerationRuleEventType=exports2.AutoModerationRuleKeywordPresetType=exports2.AutoModerationRuleTriggerType=void 0;var AutoModerationRuleTriggerType;(function(AutoModerationRuleTriggerType2){AutoModerationRuleTriggerType2[AutoModerationRuleTriggerType2["Keyword"]=1]="Keyword";AutoModerationRuleTriggerType2[AutoModerationRuleTriggerType2["Spam"]=3]="Spam";AutoModerationRuleTriggerType2[AutoModerationRuleTriggerType2["KeywordPreset"]=4]="KeywordPreset";AutoModerationRuleTriggerType2[AutoModerationRuleTriggerType2["MentionSpam"]=5]="MentionSpam";AutoModerationRuleTriggerType2[AutoModerationRuleTriggerType2["MemberProfile"]=6]="MemberProfile"})(AutoModerationRuleTriggerType||(exports2.AutoModerationRuleTriggerType=AutoModerationRuleTriggerType={}));var AutoModerationRuleKeywordPresetType;(function(AutoModerationRuleKeywordPresetType2){AutoModerationRuleKeywordPresetType2[AutoModerationRuleKeywordPresetType2["Profanity"]=1]="Profanity";AutoModerationRuleKeywordPresetType2[AutoModerationRuleKeywordPresetType2["SexualContent"]=2]="SexualContent";AutoModerationRuleKeywordPresetType2[AutoModerationRuleKeywordPresetType2["Slurs"]=3]="Slurs"})(AutoModerationRuleKeywordPresetType||(exports2.AutoModerationRuleKeywordPresetType=AutoModerationRuleKeywordPresetType={}));var AutoModerationRuleEventType;(function(AutoModerationRuleEventType2){AutoModerationRuleEventType2[AutoModerationRuleEventType2["MessageSend"]=1]="MessageSend";AutoModerationRuleEventType2[AutoModerationRuleEventType2["MemberUpdate"]=2]="MemberUpdate"})(AutoModerationRuleEventType||(exports2.AutoModerationRuleEventType=AutoModerationRuleEventType={}));var AutoModerationActionType;(function(AutoModerationActionType2){AutoModerationActionType2[AutoModerationActionType2["BlockMessage"]=1]="BlockMessage";AutoModerationActionType2[AutoModerationActionType2["SendAlertMessage"]=2]="SendAlertMessage";AutoModerationActionType2[AutoModerationActionType2["Timeout"]=3]="Timeout";AutoModerationActionType2[AutoModerationActionType2["BlockMemberInteraction"]=4]="BlockMemberInteraction"})(AutoModerationActionType||(exports2.AutoModerationActionType=AutoModerationActionType={}))}});var require_channel=__commonJS({"node_modules/discord-api-types/payloads/v10/channel.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.ChannelFlags=exports2.SelectMenuDefaultValueType=exports2.TextInputStyle=exports2.ButtonStyle=exports2.ComponentType=exports2.AllowedMentionsTypes=exports2.AttachmentFlags=exports2.EmbedType=exports2.ThreadMemberFlags=exports2.ThreadAutoArchiveDuration=exports2.OverwriteType=exports2.MessageFlags=exports2.MessageReferenceType=exports2.MessageActivityType=exports2.MessageType=exports2.VideoQualityMode=exports2.ChannelType=exports2.ForumLayoutType=exports2.SortOrderType=void 0;var SortOrderType;(function(SortOrderType2){SortOrderType2[SortOrderType2["LatestActivity"]=0]="LatestActivity";SortOrderType2[SortOrderType2["CreationDate"]=1]="CreationDate"})(SortOrderType||(exports2.SortOrderType=SortOrderType={}));var ForumLayoutType;(function(ForumLayoutType2){ForumLayoutType2[ForumLayoutType2["NotSet"]=0]="NotSet";ForumLayoutType2[ForumLayoutType2["ListView"]=1]="ListView";ForumLayoutType2[ForumLayoutType2["GalleryView"]=2]="GalleryView"})(ForumLayoutType||(exports2.ForumLayoutType=ForumLayoutType={}));var ChannelType3;(function(ChannelType4){ChannelType4[ChannelType4["GuildText"]=0]="GuildText";ChannelType4[ChannelType4["DM"]=1]="DM";ChannelType4[ChannelType4["GuildVoice"]=2]="GuildVoice";ChannelType4[ChannelType4["GroupDM"]=3]="GroupDM";ChannelType4[ChannelType4["GuildCategory"]=4]="GuildCategory";ChannelType4[ChannelType4["GuildAnnouncement"]=5]="GuildAnnouncement";ChannelType4[ChannelType4["AnnouncementThread"]=10]="AnnouncementThread";ChannelType4[ChannelType4["PublicThread"]=11]="PublicThread";ChannelType4[ChannelType4["PrivateThread"]=12]="PrivateThread";ChannelType4[ChannelType4["GuildStageVoice"]=13]="GuildStageVoice";ChannelType4[ChannelType4["GuildDirectory"]=14]="GuildDirectory";ChannelType4[ChannelType4["GuildForum"]=15]="GuildForum";ChannelType4[ChannelType4["GuildMedia"]=16]="GuildMedia";ChannelType4[ChannelType4["GuildNews"]=5]="GuildNews";ChannelType4[ChannelType4["GuildNewsThread"]=10]="GuildNewsThread";ChannelType4[ChannelType4["GuildPublicThread"]=11]="GuildPublicThread";ChannelType4[ChannelType4["GuildPrivateThread"]=12]="GuildPrivateThread"})(ChannelType3||(exports2.ChannelType=ChannelType3={}));var VideoQualityMode;(function(VideoQualityMode2){VideoQualityMode2[VideoQualityMode2["Auto"]=1]="Auto";VideoQualityMode2[VideoQualityMode2["Full"]=2]="Full"})(VideoQualityMode||(exports2.VideoQualityMode=VideoQualityMode={}));var MessageType;(function(MessageType2){MessageType2[MessageType2["Default"]=0]="Default";MessageType2[MessageType2["RecipientAdd"]=1]="RecipientAdd";MessageType2[MessageType2["RecipientRemove"]=2]="RecipientRemove";MessageType2[MessageType2["Call"]=3]="Call";MessageType2[MessageType2["ChannelNameChange"]=4]="ChannelNameChange";MessageType2[MessageType2["ChannelIconChange"]=5]="ChannelIconChange";MessageType2[MessageType2["ChannelPinnedMessage"]=6]="ChannelPinnedMessage";MessageType2[MessageType2["UserJoin"]=7]="UserJoin";MessageType2[MessageType2["GuildBoost"]=8]="GuildBoost";MessageType2[MessageType2["GuildBoostTier1"]=9]="GuildBoostTier1";MessageType2[MessageType2["GuildBoostTier2"]=10]="GuildBoostTier2";MessageType2[MessageType2["GuildBoostTier3"]=11]="GuildBoostTier3";MessageType2[MessageType2["ChannelFollowAdd"]=12]="ChannelFollowAdd";MessageType2[MessageType2["GuildDiscoveryDisqualified"]=14]="GuildDiscoveryDisqualified";MessageType2[MessageType2["GuildDiscoveryRequalified"]=15]="GuildDiscoveryRequalified";MessageType2[MessageType2["GuildDiscoveryGracePeriodInitialWarning"]=16]="GuildDiscoveryGracePeriodInitialWarning";MessageType2[MessageType2["GuildDiscoveryGracePeriodFinalWarning"]=17]="GuildDiscoveryGracePeriodFinalWarning";MessageType2[MessageType2["ThreadCreated"]=18]="ThreadCreated";MessageType2[MessageType2["Reply"]=19]="Reply";MessageType2[MessageType2["ChatInputCommand"]=20]="ChatInputCommand";MessageType2[MessageType2["ThreadStarterMessage"]=21]="ThreadStarterMessage";MessageType2[MessageType2["GuildInviteReminder"]=22]="GuildInviteReminder";MessageType2[MessageType2["ContextMenuCommand"]=23]="ContextMenuCommand";MessageType2[MessageType2["AutoModerationAction"]=24]="AutoModerationAction";MessageType2[MessageType2["RoleSubscriptionPurchase"]=25]="RoleSubscriptionPurchase";MessageType2[MessageType2["InteractionPremiumUpsell"]=26]="InteractionPremiumUpsell";MessageType2[MessageType2["StageStart"]=27]="StageStart";MessageType2[MessageType2["StageEnd"]=28]="StageEnd";MessageType2[MessageType2["StageSpeaker"]=29]="StageSpeaker";MessageType2[MessageType2["StageRaiseHand"]=30]="StageRaiseHand";MessageType2[MessageType2["StageTopic"]=31]="StageTopic";MessageType2[MessageType2["GuildApplicationPremiumSubscription"]=32]="GuildApplicationPremiumSubscription";MessageType2[MessageType2["GuildIncidentAlertModeEnabled"]=36]="GuildIncidentAlertModeEnabled";MessageType2[MessageType2["GuildIncidentAlertModeDisabled"]=37]="GuildIncidentAlertModeDisabled";MessageType2[MessageType2["GuildIncidentReportRaid"]=38]="GuildIncidentReportRaid";MessageType2[MessageType2["GuildIncidentReportFalseAlarm"]=39]="GuildIncidentReportFalseAlarm";MessageType2[MessageType2["PurchaseNotification"]=44]="PurchaseNotification";MessageType2[MessageType2["PollResult"]=46]="PollResult"})(MessageType||(exports2.MessageType=MessageType={}));var MessageActivityType;(function(MessageActivityType2){MessageActivityType2[MessageActivityType2["Join"]=1]="Join";MessageActivityType2[MessageActivityType2["Spectate"]=2]="Spectate";MessageActivityType2[MessageActivityType2["Listen"]=3]="Listen";MessageActivityType2[MessageActivityType2["JoinRequest"]=5]="JoinRequest"})(MessageActivityType||(exports2.MessageActivityType=MessageActivityType={}));var MessageReferenceType;(function(MessageReferenceType2){MessageReferenceType2[MessageReferenceType2["Default"]=0]="Default";MessageReferenceType2[MessageReferenceType2["Forward"]=1]="Forward"})(MessageReferenceType||(exports2.MessageReferenceType=MessageReferenceType={}));var MessageFlags;(function(MessageFlags2){MessageFlags2[MessageFlags2["Crossposted"]=1]="Crossposted";MessageFlags2[MessageFlags2["IsCrosspost"]=2]="IsCrosspost";MessageFlags2[MessageFlags2["SuppressEmbeds"]=4]="SuppressEmbeds";MessageFlags2[MessageFlags2["SourceMessageDeleted"]=8]="SourceMessageDeleted";MessageFlags2[MessageFlags2["Urgent"]=16]="Urgent";MessageFlags2[MessageFlags2["HasThread"]=32]="HasThread";MessageFlags2[MessageFlags2["Ephemeral"]=64]="Ephemeral";MessageFlags2[MessageFlags2["Loading"]=128]="Loading";MessageFlags2[MessageFlags2["FailedToMentionSomeRolesInThread"]=256]="FailedToMentionSomeRolesInThread";MessageFlags2[MessageFlags2["ShouldShowLinkNotDiscordWarning"]=1024]="ShouldShowLinkNotDiscordWarning";MessageFlags2[MessageFlags2["SuppressNotifications"]=4096]="SuppressNotifications";MessageFlags2[MessageFlags2["IsVoiceMessage"]=8192]="IsVoiceMessage"})(MessageFlags||(exports2.MessageFlags=MessageFlags={}));var OverwriteType;(function(OverwriteType2){OverwriteType2[OverwriteType2["Role"]=0]="Role";OverwriteType2[OverwriteType2["Member"]=1]="Member"})(OverwriteType||(exports2.OverwriteType=OverwriteType={}));var ThreadAutoArchiveDuration;(function(ThreadAutoArchiveDuration2){ThreadAutoArchiveDuration2[ThreadAutoArchiveDuration2["OneHour"]=60]="OneHour";ThreadAutoArchiveDuration2[ThreadAutoArchiveDuration2["OneDay"]=1440]="OneDay";ThreadAutoArchiveDuration2[ThreadAutoArchiveDuration2["ThreeDays"]=4320]="ThreeDays";ThreadAutoArchiveDuration2[ThreadAutoArchiveDuration2["OneWeek"]=10080]="OneWeek"})(ThreadAutoArchiveDuration||(exports2.ThreadAutoArchiveDuration=ThreadAutoArchiveDuration={}));var ThreadMemberFlags;(function(ThreadMemberFlags2){ThreadMemberFlags2[ThreadMemberFlags2["HasInteracted"]=1]="HasInteracted";ThreadMemberFlags2[ThreadMemberFlags2["AllMessages"]=2]="AllMessages";ThreadMemberFlags2[ThreadMemberFlags2["OnlyMentions"]=4]="OnlyMentions";ThreadMemberFlags2[ThreadMemberFlags2["NoMessages"]=8]="NoMessages"})(ThreadMemberFlags||(exports2.ThreadMemberFlags=ThreadMemberFlags={}));var EmbedType;(function(EmbedType2){EmbedType2["Rich"]="rich";EmbedType2["Image"]="image";EmbedType2["Video"]="video";EmbedType2["GIFV"]="gifv";EmbedType2["Article"]="article";EmbedType2["Link"]="link";EmbedType2["AutoModerationMessage"]="auto_moderation_message";EmbedType2["PollResult"]="poll_result"})(EmbedType||(exports2.EmbedType=EmbedType={}));var AttachmentFlags;(function(AttachmentFlags2){AttachmentFlags2[AttachmentFlags2["IsRemix"]=4]="IsRemix"})(AttachmentFlags||(exports2.AttachmentFlags=AttachmentFlags={}));var AllowedMentionsTypes;(function(AllowedMentionsTypes2){AllowedMentionsTypes2["Everyone"]="everyone";AllowedMentionsTypes2["Role"]="roles";AllowedMentionsTypes2["User"]="users"})(AllowedMentionsTypes||(exports2.AllowedMentionsTypes=AllowedMentionsTypes={}));var ComponentType;(function(ComponentType2){ComponentType2[ComponentType2["ActionRow"]=1]="ActionRow";ComponentType2[ComponentType2["Button"]=2]="Button";ComponentType2[ComponentType2["StringSelect"]=3]="StringSelect";ComponentType2[ComponentType2["TextInput"]=4]="TextInput";ComponentType2[ComponentType2["UserSelect"]=5]="UserSelect";ComponentType2[ComponentType2["RoleSelect"]=6]="RoleSelect";ComponentType2[ComponentType2["MentionableSelect"]=7]="MentionableSelect";ComponentType2[ComponentType2["ChannelSelect"]=8]="ChannelSelect";ComponentType2[ComponentType2["SelectMenu"]=3]="SelectMenu"})(ComponentType||(exports2.ComponentType=ComponentType={}));var ButtonStyle2;(function(ButtonStyle3){ButtonStyle3[ButtonStyle3["Primary"]=1]="Primary";ButtonStyle3[ButtonStyle3["Secondary"]=2]="Secondary";ButtonStyle3[ButtonStyle3["Success"]=3]="Success";ButtonStyle3[ButtonStyle3["Danger"]=4]="Danger";ButtonStyle3[ButtonStyle3["Link"]=5]="Link";ButtonStyle3[ButtonStyle3["Premium"]=6]="Premium"})(ButtonStyle2||(exports2.ButtonStyle=ButtonStyle2={}));var TextInputStyle;(function(TextInputStyle2){TextInputStyle2[TextInputStyle2["Short"]=1]="Short";TextInputStyle2[TextInputStyle2["Paragraph"]=2]="Paragraph"})(TextInputStyle||(exports2.TextInputStyle=TextInputStyle={}));var SelectMenuDefaultValueType;(function(SelectMenuDefaultValueType2){SelectMenuDefaultValueType2["Channel"]="channel";SelectMenuDefaultValueType2["Role"]="role";SelectMenuDefaultValueType2["User"]="user"})(SelectMenuDefaultValueType||(exports2.SelectMenuDefaultValueType=SelectMenuDefaultValueType={}));var ChannelFlags;(function(ChannelFlags2){ChannelFlags2[ChannelFlags2["GuildFeedRemoved"]=1]="GuildFeedRemoved";ChannelFlags2[ChannelFlags2["Pinned"]=2]="Pinned";ChannelFlags2[ChannelFlags2["ActiveChannelsRemoved"]=4]="ActiveChannelsRemoved";ChannelFlags2[ChannelFlags2["RequireTag"]=16]="RequireTag";ChannelFlags2[ChannelFlags2["IsSpam"]=32]="IsSpam";ChannelFlags2[ChannelFlags2["IsGuildResourceChannel"]=128]="IsGuildResourceChannel";ChannelFlags2[ChannelFlags2["ClydeAI"]=256]="ClydeAI";ChannelFlags2[ChannelFlags2["IsScheduledForDeletion"]=512]="IsScheduledForDeletion";ChannelFlags2[ChannelFlags2["HideMediaDownloadOptions"]=32768]="HideMediaDownloadOptions"})(ChannelFlags||(exports2.ChannelFlags=ChannelFlags={}))}});var require_emoji=__commonJS({"node_modules/discord-api-types/payloads/v10/emoji.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_gateway=__commonJS({"node_modules/discord-api-types/payloads/v10/gateway.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.ActivityFlags=exports2.ActivityType=exports2.ActivityPlatform=exports2.PresenceUpdateStatus=void 0;var PresenceUpdateStatus;(function(PresenceUpdateStatus2){PresenceUpdateStatus2["Online"]="online";PresenceUpdateStatus2["DoNotDisturb"]="dnd";PresenceUpdateStatus2["Idle"]="idle";PresenceUpdateStatus2["Invisible"]="invisible";PresenceUpdateStatus2["Offline"]="offline"})(PresenceUpdateStatus||(exports2.PresenceUpdateStatus=PresenceUpdateStatus={}));var ActivityPlatform;(function(ActivityPlatform2){ActivityPlatform2["Desktop"]="desktop";ActivityPlatform2["Xbox"]="xbox";ActivityPlatform2["Samsung"]="samsung";ActivityPlatform2["IOS"]="ios";ActivityPlatform2["Android"]="android";ActivityPlatform2["Embedded"]="embedded";ActivityPlatform2["PS4"]="ps4";ActivityPlatform2["PS5"]="ps5"})(ActivityPlatform||(exports2.ActivityPlatform=ActivityPlatform={}));var ActivityType2;(function(ActivityType3){ActivityType3[ActivityType3["Playing"]=0]="Playing";ActivityType3[ActivityType3["Streaming"]=1]="Streaming";ActivityType3[ActivityType3["Listening"]=2]="Listening";ActivityType3[ActivityType3["Watching"]=3]="Watching";ActivityType3[ActivityType3["Custom"]=4]="Custom";ActivityType3[ActivityType3["Competing"]=5]="Competing"})(ActivityType2||(exports2.ActivityType=ActivityType2={}));var ActivityFlags;(function(ActivityFlags2){ActivityFlags2[ActivityFlags2["Instance"]=1]="Instance";ActivityFlags2[ActivityFlags2["Join"]=2]="Join";ActivityFlags2[ActivityFlags2["Spectate"]=4]="Spectate";ActivityFlags2[ActivityFlags2["JoinRequest"]=8]="JoinRequest";ActivityFlags2[ActivityFlags2["Sync"]=16]="Sync";ActivityFlags2[ActivityFlags2["Play"]=32]="Play";ActivityFlags2[ActivityFlags2["PartyPrivacyFriends"]=64]="PartyPrivacyFriends";ActivityFlags2[ActivityFlags2["PartyPrivacyVoiceChannel"]=128]="PartyPrivacyVoiceChannel";ActivityFlags2[ActivityFlags2["Embedded"]=256]="Embedded"})(ActivityFlags||(exports2.ActivityFlags=ActivityFlags={}))}});var require_guild=__commonJS({"node_modules/discord-api-types/payloads/v10/guild.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.GuildOnboardingPromptType=exports2.GuildOnboardingMode=exports2.MembershipScreeningFieldType=exports2.GuildWidgetStyle=exports2.IntegrationExpireBehavior=exports2.GuildMemberFlags=exports2.GuildFeature=exports2.GuildSystemChannelFlags=exports2.GuildHubType=exports2.GuildPremiumTier=exports2.GuildVerificationLevel=exports2.GuildNSFWLevel=exports2.GuildMFALevel=exports2.GuildExplicitContentFilter=exports2.GuildDefaultMessageNotifications=void 0;var GuildDefaultMessageNotifications;(function(GuildDefaultMessageNotifications2){GuildDefaultMessageNotifications2[GuildDefaultMessageNotifications2["AllMessages"]=0]="AllMessages";GuildDefaultMessageNotifications2[GuildDefaultMessageNotifications2["OnlyMentions"]=1]="OnlyMentions"})(GuildDefaultMessageNotifications||(exports2.GuildDefaultMessageNotifications=GuildDefaultMessageNotifications={}));var GuildExplicitContentFilter;(function(GuildExplicitContentFilter2){GuildExplicitContentFilter2[GuildExplicitContentFilter2["Disabled"]=0]="Disabled";GuildExplicitContentFilter2[GuildExplicitContentFilter2["MembersWithoutRoles"]=1]="MembersWithoutRoles";GuildExplicitContentFilter2[GuildExplicitContentFilter2["AllMembers"]=2]="AllMembers"})(GuildExplicitContentFilter||(exports2.GuildExplicitContentFilter=GuildExplicitContentFilter={}));var GuildMFALevel;(function(GuildMFALevel2){GuildMFALevel2[GuildMFALevel2["None"]=0]="None";GuildMFALevel2[GuildMFALevel2["Elevated"]=1]="Elevated"})(GuildMFALevel||(exports2.GuildMFALevel=GuildMFALevel={}));var GuildNSFWLevel;(function(GuildNSFWLevel2){GuildNSFWLevel2[GuildNSFWLevel2["Default"]=0]="Default";GuildNSFWLevel2[GuildNSFWLevel2["Explicit"]=1]="Explicit";GuildNSFWLevel2[GuildNSFWLevel2["Safe"]=2]="Safe";GuildNSFWLevel2[GuildNSFWLevel2["AgeRestricted"]=3]="AgeRestricted"})(GuildNSFWLevel||(exports2.GuildNSFWLevel=GuildNSFWLevel={}));var GuildVerificationLevel;(function(GuildVerificationLevel2){GuildVerificationLevel2[GuildVerificationLevel2["None"]=0]="None";GuildVerificationLevel2[GuildVerificationLevel2["Low"]=1]="Low";GuildVerificationLevel2[GuildVerificationLevel2["Medium"]=2]="Medium";GuildVerificationLevel2[GuildVerificationLevel2["High"]=3]="High";GuildVerificationLevel2[GuildVerificationLevel2["VeryHigh"]=4]="VeryHigh"})(GuildVerificationLevel||(exports2.GuildVerificationLevel=GuildVerificationLevel={}));var GuildPremiumTier;(function(GuildPremiumTier2){GuildPremiumTier2[GuildPremiumTier2["None"]=0]="None";GuildPremiumTier2[GuildPremiumTier2["Tier1"]=1]="Tier1";GuildPremiumTier2[GuildPremiumTier2["Tier2"]=2]="Tier2";GuildPremiumTier2[GuildPremiumTier2["Tier3"]=3]="Tier3"})(GuildPremiumTier||(exports2.GuildPremiumTier=GuildPremiumTier={}));var GuildHubType;(function(GuildHubType2){GuildHubType2[GuildHubType2["Default"]=0]="Default";GuildHubType2[GuildHubType2["HighSchool"]=1]="HighSchool";GuildHubType2[GuildHubType2["College"]=2]="College"})(GuildHubType||(exports2.GuildHubType=GuildHubType={}));var GuildSystemChannelFlags;(function(GuildSystemChannelFlags2){GuildSystemChannelFlags2[GuildSystemChannelFlags2["SuppressJoinNotifications"]=1]="SuppressJoinNotifications";GuildSystemChannelFlags2[GuildSystemChannelFlags2["SuppressPremiumSubscriptions"]=2]="SuppressPremiumSubscriptions";GuildSystemChannelFlags2[GuildSystemChannelFlags2["SuppressGuildReminderNotifications"]=4]="SuppressGuildReminderNotifications";GuildSystemChannelFlags2[GuildSystemChannelFlags2["SuppressJoinNotificationReplies"]=8]="SuppressJoinNotificationReplies";GuildSystemChannelFlags2[GuildSystemChannelFlags2["SuppressRoleSubscriptionPurchaseNotifications"]=16]="SuppressRoleSubscriptionPurchaseNotifications";GuildSystemChannelFlags2[GuildSystemChannelFlags2["SuppressRoleSubscriptionPurchaseNotificationReplies"]=32]="SuppressRoleSubscriptionPurchaseNotificationReplies"})(GuildSystemChannelFlags||(exports2.GuildSystemChannelFlags=GuildSystemChannelFlags={}));var GuildFeature;(function(GuildFeature2){GuildFeature2["AnimatedBanner"]="ANIMATED_BANNER";GuildFeature2["AnimatedIcon"]="ANIMATED_ICON";GuildFeature2["ApplicationCommandPermissionsV2"]="APPLICATION_COMMAND_PERMISSIONS_V2";GuildFeature2["AutoModeration"]="AUTO_MODERATION";GuildFeature2["Banner"]="BANNER";GuildFeature2["Community"]="COMMUNITY";GuildFeature2["CreatorMonetizableProvisional"]="CREATOR_MONETIZABLE_PROVISIONAL";GuildFeature2["CreatorStorePage"]="CREATOR_STORE_PAGE";GuildFeature2["DeveloperSupportServer"]="DEVELOPER_SUPPORT_SERVER";GuildFeature2["Discoverable"]="DISCOVERABLE";GuildFeature2["Featurable"]="FEATURABLE";GuildFeature2["HasDirectoryEntry"]="HAS_DIRECTORY_ENTRY";GuildFeature2["Hub"]="HUB";GuildFeature2["InvitesDisabled"]="INVITES_DISABLED";GuildFeature2["InviteSplash"]="INVITE_SPLASH";GuildFeature2["LinkedToHub"]="LINKED_TO_HUB";GuildFeature2["MemberVerificationGateEnabled"]="MEMBER_VERIFICATION_GATE_ENABLED";GuildFeature2["MoreSoundboard"]="MORE_SOUNDBOARD";GuildFeature2["MonetizationEnabled"]="MONETIZATION_ENABLED";GuildFeature2["MoreStickers"]="MORE_STICKERS";GuildFeature2["News"]="NEWS";GuildFeature2["Partnered"]="PARTNERED";GuildFeature2["PreviewEnabled"]="PREVIEW_ENABLED";GuildFeature2["PrivateThreads"]="PRIVATE_THREADS";GuildFeature2["RaidAlertsDisabled"]="RAID_ALERTS_DISABLED";GuildFeature2["RelayEnabled"]="RELAY_ENABLED";GuildFeature2["RoleIcons"]="ROLE_ICONS";GuildFeature2["RoleSubscriptionsAvailableForPurchase"]="ROLE_SUBSCRIPTIONS_AVAILABLE_FOR_PURCHASE";GuildFeature2["RoleSubscriptionsEnabled"]="ROLE_SUBSCRIPTIONS_ENABLED";GuildFeature2["Soundboard"]="SOUNDBOARD";GuildFeature2["TicketedEventsEnabled"]="TICKETED_EVENTS_ENABLED";GuildFeature2["VanityURL"]="VANITY_URL";GuildFeature2["Verified"]="VERIFIED";GuildFeature2["VIPRegions"]="VIP_REGIONS";GuildFeature2["WelcomeScreenEnabled"]="WELCOME_SCREEN_ENABLED"})(GuildFeature||(exports2.GuildFeature=GuildFeature={}));var GuildMemberFlags;(function(GuildMemberFlags2){GuildMemberFlags2[GuildMemberFlags2["DidRejoin"]=1]="DidRejoin";GuildMemberFlags2[GuildMemberFlags2["CompletedOnboarding"]=2]="CompletedOnboarding";GuildMemberFlags2[GuildMemberFlags2["BypassesVerification"]=4]="BypassesVerification";GuildMemberFlags2[GuildMemberFlags2["StartedOnboarding"]=8]="StartedOnboarding";GuildMemberFlags2[GuildMemberFlags2["IsGuest"]=16]="IsGuest";GuildMemberFlags2[GuildMemberFlags2["StartedHomeActions"]=32]="StartedHomeActions";GuildMemberFlags2[GuildMemberFlags2["CompletedHomeActions"]=64]="CompletedHomeActions";GuildMemberFlags2[GuildMemberFlags2["AutomodQuarantinedUsernameOrGuildNickname"]=128]="AutomodQuarantinedUsernameOrGuildNickname";GuildMemberFlags2[GuildMemberFlags2["AutomodQuarantinedBio"]=256]="AutomodQuarantinedBio";GuildMemberFlags2[GuildMemberFlags2["DmSettingsUpsellAcknowledged"]=512]="DmSettingsUpsellAcknowledged"})(GuildMemberFlags||(exports2.GuildMemberFlags=GuildMemberFlags={}));var IntegrationExpireBehavior;(function(IntegrationExpireBehavior2){IntegrationExpireBehavior2[IntegrationExpireBehavior2["RemoveRole"]=0]="RemoveRole";IntegrationExpireBehavior2[IntegrationExpireBehavior2["Kick"]=1]="Kick"})(IntegrationExpireBehavior||(exports2.IntegrationExpireBehavior=IntegrationExpireBehavior={}));var GuildWidgetStyle;(function(GuildWidgetStyle2){GuildWidgetStyle2["Shield"]="shield";GuildWidgetStyle2["Banner1"]="banner1";GuildWidgetStyle2["Banner2"]="banner2";GuildWidgetStyle2["Banner3"]="banner3";GuildWidgetStyle2["Banner4"]="banner4"})(GuildWidgetStyle||(exports2.GuildWidgetStyle=GuildWidgetStyle={}));var MembershipScreeningFieldType;(function(MembershipScreeningFieldType2){MembershipScreeningFieldType2["Terms"]="TERMS"})(MembershipScreeningFieldType||(exports2.MembershipScreeningFieldType=MembershipScreeningFieldType={}));var GuildOnboardingMode;(function(GuildOnboardingMode2){GuildOnboardingMode2[GuildOnboardingMode2["OnboardingDefault"]=0]="OnboardingDefault";GuildOnboardingMode2[GuildOnboardingMode2["OnboardingAdvanced"]=1]="OnboardingAdvanced"})(GuildOnboardingMode||(exports2.GuildOnboardingMode=GuildOnboardingMode={}));var GuildOnboardingPromptType;(function(GuildOnboardingPromptType2){GuildOnboardingPromptType2[GuildOnboardingPromptType2["MultipleChoice"]=0]="MultipleChoice";GuildOnboardingPromptType2[GuildOnboardingPromptType2["Dropdown"]=1]="Dropdown"})(GuildOnboardingPromptType||(exports2.GuildOnboardingPromptType=GuildOnboardingPromptType={}))}});var require_guildScheduledEvent=__commonJS({"node_modules/discord-api-types/payloads/v10/guildScheduledEvent.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.GuildScheduledEventPrivacyLevel=exports2.GuildScheduledEventStatus=exports2.GuildScheduledEventEntityType=exports2.GuildScheduledEventRecurrenceRuleMonth=exports2.GuildScheduledEventRecurrenceRuleWeekday=exports2.GuildScheduledEventRecurrenceRuleFrequency=void 0;var GuildScheduledEventRecurrenceRuleFrequency;(function(GuildScheduledEventRecurrenceRuleFrequency2){GuildScheduledEventRecurrenceRuleFrequency2[GuildScheduledEventRecurrenceRuleFrequency2["Yearly"]=0]="Yearly";GuildScheduledEventRecurrenceRuleFrequency2[GuildScheduledEventRecurrenceRuleFrequency2["Monthly"]=1]="Monthly";GuildScheduledEventRecurrenceRuleFrequency2[GuildScheduledEventRecurrenceRuleFrequency2["Weekly"]=2]="Weekly";GuildScheduledEventRecurrenceRuleFrequency2[GuildScheduledEventRecurrenceRuleFrequency2["Daily"]=3]="Daily"})(GuildScheduledEventRecurrenceRuleFrequency||(exports2.GuildScheduledEventRecurrenceRuleFrequency=GuildScheduledEventRecurrenceRuleFrequency={}));var GuildScheduledEventRecurrenceRuleWeekday;(function(GuildScheduledEventRecurrenceRuleWeekday2){GuildScheduledEventRecurrenceRuleWeekday2[GuildScheduledEventRecurrenceRuleWeekday2["Monday"]=0]="Monday";GuildScheduledEventRecurrenceRuleWeekday2[GuildScheduledEventRecurrenceRuleWeekday2["Tuesday"]=1]="Tuesday";GuildScheduledEventRecurrenceRuleWeekday2[GuildScheduledEventRecurrenceRuleWeekday2["Wednesday"]=2]="Wednesday";GuildScheduledEventRecurrenceRuleWeekday2[GuildScheduledEventRecurrenceRuleWeekday2["Thursday"]=3]="Thursday";GuildScheduledEventRecurrenceRuleWeekday2[GuildScheduledEventRecurrenceRuleWeekday2["Friday"]=4]="Friday";GuildScheduledEventRecurrenceRuleWeekday2[GuildScheduledEventRecurrenceRuleWeekday2["Saturday"]=5]="Saturday";GuildScheduledEventRecurrenceRuleWeekday2[GuildScheduledEventRecurrenceRuleWeekday2["Sunday"]=6]="Sunday"})(GuildScheduledEventRecurrenceRuleWeekday||(exports2.GuildScheduledEventRecurrenceRuleWeekday=GuildScheduledEventRecurrenceRuleWeekday={}));var GuildScheduledEventRecurrenceRuleMonth;(function(GuildScheduledEventRecurrenceRuleMonth2){GuildScheduledEventRecurrenceRuleMonth2[GuildScheduledEventRecurrenceRuleMonth2["January"]=1]="January";GuildScheduledEventRecurrenceRuleMonth2[GuildScheduledEventRecurrenceRuleMonth2["February"]=2]="February";GuildScheduledEventRecurrenceRuleMonth2[GuildScheduledEventRecurrenceRuleMonth2["March"]=3]="March";GuildScheduledEventRecurrenceRuleMonth2[GuildScheduledEventRecurrenceRuleMonth2["April"]=4]="April";GuildScheduledEventRecurrenceRuleMonth2[GuildScheduledEventRecurrenceRuleMonth2["May"]=5]="May";GuildScheduledEventRecurrenceRuleMonth2[GuildScheduledEventRecurrenceRuleMonth2["June"]=6]="June";GuildScheduledEventRecurrenceRuleMonth2[GuildScheduledEventRecurrenceRuleMonth2["July"]=7]="July";GuildScheduledEventRecurrenceRuleMonth2[GuildScheduledEventRecurrenceRuleMonth2["August"]=8]="August";GuildScheduledEventRecurrenceRuleMonth2[GuildScheduledEventRecurrenceRuleMonth2["September"]=9]="September";GuildScheduledEventRecurrenceRuleMonth2[GuildScheduledEventRecurrenceRuleMonth2["October"]=10]="October";GuildScheduledEventRecurrenceRuleMonth2[GuildScheduledEventRecurrenceRuleMonth2["November"]=11]="November";GuildScheduledEventRecurrenceRuleMonth2[GuildScheduledEventRecurrenceRuleMonth2["December"]=12]="December"})(GuildScheduledEventRecurrenceRuleMonth||(exports2.GuildScheduledEventRecurrenceRuleMonth=GuildScheduledEventRecurrenceRuleMonth={}));var GuildScheduledEventEntityType;(function(GuildScheduledEventEntityType2){GuildScheduledEventEntityType2[GuildScheduledEventEntityType2["StageInstance"]=1]="StageInstance";GuildScheduledEventEntityType2[GuildScheduledEventEntityType2["Voice"]=2]="Voice";GuildScheduledEventEntityType2[GuildScheduledEventEntityType2["External"]=3]="External"})(GuildScheduledEventEntityType||(exports2.GuildScheduledEventEntityType=GuildScheduledEventEntityType={}));var GuildScheduledEventStatus;(function(GuildScheduledEventStatus2){GuildScheduledEventStatus2[GuildScheduledEventStatus2["Scheduled"]=1]="Scheduled";GuildScheduledEventStatus2[GuildScheduledEventStatus2["Active"]=2]="Active";GuildScheduledEventStatus2[GuildScheduledEventStatus2["Completed"]=3]="Completed";GuildScheduledEventStatus2[GuildScheduledEventStatus2["Canceled"]=4]="Canceled"})(GuildScheduledEventStatus||(exports2.GuildScheduledEventStatus=GuildScheduledEventStatus={}));var GuildScheduledEventPrivacyLevel;(function(GuildScheduledEventPrivacyLevel2){GuildScheduledEventPrivacyLevel2[GuildScheduledEventPrivacyLevel2["GuildOnly"]=2]="GuildOnly"})(GuildScheduledEventPrivacyLevel||(exports2.GuildScheduledEventPrivacyLevel=GuildScheduledEventPrivacyLevel={}))}});var require_attachment=__commonJS({"node_modules/discord-api-types/payloads/v10/_interactions/_applicationCommands/_chatInput/attachment.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_base=__commonJS({"node_modules/discord-api-types/payloads/v10/_interactions/_applicationCommands/_chatInput/base.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_boolean=__commonJS({"node_modules/discord-api-types/payloads/v10/_interactions/_applicationCommands/_chatInput/boolean.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_channel2=__commonJS({"node_modules/discord-api-types/payloads/v10/_interactions/_applicationCommands/_chatInput/channel.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_integer=__commonJS({"node_modules/discord-api-types/payloads/v10/_interactions/_applicationCommands/_chatInput/integer.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_mentionable=__commonJS({"node_modules/discord-api-types/payloads/v10/_interactions/_applicationCommands/_chatInput/mentionable.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_number=__commonJS({"node_modules/discord-api-types/payloads/v10/_interactions/_applicationCommands/_chatInput/number.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_role=__commonJS({"node_modules/discord-api-types/payloads/v10/_interactions/_applicationCommands/_chatInput/role.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_shared=__commonJS({"node_modules/discord-api-types/payloads/v10/_interactions/_applicationCommands/_chatInput/shared.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.ApplicationCommandOptionType=void 0;var ApplicationCommandOptionType2;(function(ApplicationCommandOptionType3){ApplicationCommandOptionType3[ApplicationCommandOptionType3["Subcommand"]=1]="Subcommand";ApplicationCommandOptionType3[ApplicationCommandOptionType3["SubcommandGroup"]=2]="SubcommandGroup";ApplicationCommandOptionType3[ApplicationCommandOptionType3["String"]=3]="String";ApplicationCommandOptionType3[ApplicationCommandOptionType3["Integer"]=4]="Integer";ApplicationCommandOptionType3[ApplicationCommandOptionType3["Boolean"]=5]="Boolean";ApplicationCommandOptionType3[ApplicationCommandOptionType3["User"]=6]="User";ApplicationCommandOptionType3[ApplicationCommandOptionType3["Channel"]=7]="Channel";ApplicationCommandOptionType3[ApplicationCommandOptionType3["Role"]=8]="Role";ApplicationCommandOptionType3[ApplicationCommandOptionType3["Mentionable"]=9]="Mentionable";ApplicationCommandOptionType3[ApplicationCommandOptionType3["Number"]=10]="Number";ApplicationCommandOptionType3[ApplicationCommandOptionType3["Attachment"]=11]="Attachment"})(ApplicationCommandOptionType2||(exports2.ApplicationCommandOptionType=ApplicationCommandOptionType2={}))}});var require_string2=__commonJS({"node_modules/discord-api-types/payloads/v10/_interactions/_applicationCommands/_chatInput/string.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_subcommand=__commonJS({"node_modules/discord-api-types/payloads/v10/_interactions/_applicationCommands/_chatInput/subcommand.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_subcommandGroup=__commonJS({"node_modules/discord-api-types/payloads/v10/_interactions/_applicationCommands/_chatInput/subcommandGroup.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_user=__commonJS({"node_modules/discord-api-types/payloads/v10/_interactions/_applicationCommands/_chatInput/user.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_chatInput=__commonJS({"node_modules/discord-api-types/payloads/v10/_interactions/_applicationCommands/chatInput.js"(exports2){"use strict";var __createBinding2=exports2&&exports2.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable)){desc={enumerable:true,get:function(){return m[k]}}}Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]});var __exportStar2=exports2&&exports2.__exportStar||function(m,exports3){for(var p in m)if(p!=="default"&&!Object.prototype.hasOwnProperty.call(exports3,p))__createBinding2(exports3,m,p)};Object.defineProperty(exports2,"__esModule",{value:true});__exportStar2(require_attachment(),exports2);__exportStar2(require_base(),exports2);__exportStar2(require_boolean(),exports2);__exportStar2(require_channel2(),exports2);__exportStar2(require_integer(),exports2);__exportStar2(require_mentionable(),exports2);__exportStar2(require_number(),exports2);__exportStar2(require_role(),exports2);__exportStar2(require_shared(),exports2);__exportStar2(require_string2(),exports2);__exportStar2(require_subcommand(),exports2);__exportStar2(require_subcommandGroup(),exports2);__exportStar2(require_user(),exports2)}});var require_contextMenu=__commonJS({"node_modules/discord-api-types/payloads/v10/_interactions/_applicationCommands/contextMenu.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_permissions=__commonJS({"node_modules/discord-api-types/payloads/v10/_interactions/_applicationCommands/permissions.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.APIApplicationCommandPermissionsConstant=exports2.ApplicationCommandPermissionType=void 0;var ApplicationCommandPermissionType;(function(ApplicationCommandPermissionType2){ApplicationCommandPermissionType2[ApplicationCommandPermissionType2["Role"]=1]="Role";ApplicationCommandPermissionType2[ApplicationCommandPermissionType2["User"]=2]="User";ApplicationCommandPermissionType2[ApplicationCommandPermissionType2["Channel"]=3]="Channel"})(ApplicationCommandPermissionType||(exports2.ApplicationCommandPermissionType=ApplicationCommandPermissionType={}));exports2.APIApplicationCommandPermissionsConstant={Everyone:guildId=>String(guildId),AllChannels:guildId=>String(BigInt(guildId)-1n)}}});var require_entryPoint=__commonJS({"node_modules/discord-api-types/payloads/v10/_interactions/_applicationCommands/entryPoint.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_applicationCommands=__commonJS({"node_modules/discord-api-types/payloads/v10/_interactions/applicationCommands.js"(exports2){"use strict";var __createBinding2=exports2&&exports2.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable)){desc={enumerable:true,get:function(){return m[k]}}}Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]});var __exportStar2=exports2&&exports2.__exportStar||function(m,exports3){for(var p in m)if(p!=="default"&&!Object.prototype.hasOwnProperty.call(exports3,p))__createBinding2(exports3,m,p)};Object.defineProperty(exports2,"__esModule",{value:true});exports2.EntryPointCommandHandlerType=exports2.InteractionContextType=exports2.ApplicationIntegrationType=exports2.ApplicationCommandType=void 0;__exportStar2(require_chatInput(),exports2);__exportStar2(require_contextMenu(),exports2);__exportStar2(require_permissions(),exports2);__exportStar2(require_entryPoint(),exports2);var ApplicationCommandType2;(function(ApplicationCommandType3){ApplicationCommandType3[ApplicationCommandType3["ChatInput"]=1]="ChatInput";ApplicationCommandType3[ApplicationCommandType3["User"]=2]="User";ApplicationCommandType3[ApplicationCommandType3["Message"]=3]="Message";ApplicationCommandType3[ApplicationCommandType3["PrimaryEntryPoint"]=4]="PrimaryEntryPoint"})(ApplicationCommandType2||(exports2.ApplicationCommandType=ApplicationCommandType2={}));var ApplicationIntegrationType;(function(ApplicationIntegrationType2){ApplicationIntegrationType2[ApplicationIntegrationType2["GuildInstall"]=0]="GuildInstall";ApplicationIntegrationType2[ApplicationIntegrationType2["UserInstall"]=1]="UserInstall"})(ApplicationIntegrationType||(exports2.ApplicationIntegrationType=ApplicationIntegrationType={}));var InteractionContextType;(function(InteractionContextType2){InteractionContextType2[InteractionContextType2["Guild"]=0]="Guild";InteractionContextType2[InteractionContextType2["BotDM"]=1]="BotDM";InteractionContextType2[InteractionContextType2["PrivateChannel"]=2]="PrivateChannel"})(InteractionContextType||(exports2.InteractionContextType=InteractionContextType={}));var EntryPointCommandHandlerType;(function(EntryPointCommandHandlerType2){EntryPointCommandHandlerType2[EntryPointCommandHandlerType2["AppHandler"]=1]="AppHandler";EntryPointCommandHandlerType2[EntryPointCommandHandlerType2["DiscordLaunchActivity"]=2]="DiscordLaunchActivity"})(EntryPointCommandHandlerType||(exports2.EntryPointCommandHandlerType=EntryPointCommandHandlerType={}))}});var require_autocomplete=__commonJS({"node_modules/discord-api-types/payloads/v10/_interactions/autocomplete.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_base2=__commonJS({"node_modules/discord-api-types/payloads/v10/_interactions/base.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_messageComponents=__commonJS({"node_modules/discord-api-types/payloads/v10/_interactions/messageComponents.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_modalSubmit=__commonJS({"node_modules/discord-api-types/payloads/v10/_interactions/modalSubmit.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_ping2=__commonJS({"node_modules/discord-api-types/payloads/v10/_interactions/ping.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_responses=__commonJS({"node_modules/discord-api-types/payloads/v10/_interactions/responses.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.InteractionResponseType=exports2.InteractionType=void 0;var InteractionType2;(function(InteractionType3){InteractionType3[InteractionType3["Ping"]=1]="Ping";InteractionType3[InteractionType3["ApplicationCommand"]=2]="ApplicationCommand";InteractionType3[InteractionType3["MessageComponent"]=3]="MessageComponent";InteractionType3[InteractionType3["ApplicationCommandAutocomplete"]=4]="ApplicationCommandAutocomplete";InteractionType3[InteractionType3["ModalSubmit"]=5]="ModalSubmit"})(InteractionType2||(exports2.InteractionType=InteractionType2={}));var InteractionResponseType;(function(InteractionResponseType2){InteractionResponseType2[InteractionResponseType2["Pong"]=1]="Pong";InteractionResponseType2[InteractionResponseType2["ChannelMessageWithSource"]=4]="ChannelMessageWithSource";InteractionResponseType2[InteractionResponseType2["DeferredChannelMessageWithSource"]=5]="DeferredChannelMessageWithSource";InteractionResponseType2[InteractionResponseType2["DeferredMessageUpdate"]=6]="DeferredMessageUpdate";InteractionResponseType2[InteractionResponseType2["UpdateMessage"]=7]="UpdateMessage";InteractionResponseType2[InteractionResponseType2["ApplicationCommandAutocompleteResult"]=8]="ApplicationCommandAutocompleteResult";InteractionResponseType2[InteractionResponseType2["Modal"]=9]="Modal";InteractionResponseType2[InteractionResponseType2["PremiumRequired"]=10]="PremiumRequired";InteractionResponseType2[InteractionResponseType2["LaunchActivity"]=12]="LaunchActivity"})(InteractionResponseType||(exports2.InteractionResponseType=InteractionResponseType={}))}});var require_interactions=__commonJS({"node_modules/discord-api-types/payloads/v10/interactions.js"(exports2){"use strict";var __createBinding2=exports2&&exports2.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable)){desc={enumerable:true,get:function(){return m[k]}}}Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]});var __exportStar2=exports2&&exports2.__exportStar||function(m,exports3){for(var p in m)if(p!=="default"&&!Object.prototype.hasOwnProperty.call(exports3,p))__createBinding2(exports3,m,p)};Object.defineProperty(exports2,"__esModule",{value:true});__exportStar2(require_applicationCommands(),exports2);__exportStar2(require_autocomplete(),exports2);__exportStar2(require_base2(),exports2);__exportStar2(require_messageComponents(),exports2);__exportStar2(require_modalSubmit(),exports2);__exportStar2(require_ping2(),exports2);__exportStar2(require_responses(),exports2)}});var require_invite=__commonJS({"node_modules/discord-api-types/payloads/v10/invite.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.InviteTargetType=exports2.InviteType=void 0;var InviteType;(function(InviteType2){InviteType2[InviteType2["Guild"]=0]="Guild";InviteType2[InviteType2["GroupDM"]=1]="GroupDM";InviteType2[InviteType2["Friend"]=2]="Friend"})(InviteType||(exports2.InviteType=InviteType={}));var InviteTargetType;(function(InviteTargetType2){InviteTargetType2[InviteTargetType2["Stream"]=1]="Stream";InviteTargetType2[InviteTargetType2["EmbeddedApplication"]=2]="EmbeddedApplication"})(InviteTargetType||(exports2.InviteTargetType=InviteTargetType={}))}});var require_monetization=__commonJS({"node_modules/discord-api-types/payloads/v10/monetization.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.SubscriptionStatus=exports2.SKUType=exports2.SKUFlags=exports2.EntitlementType=void 0;var EntitlementType;(function(EntitlementType2){EntitlementType2[EntitlementType2["Purchase"]=1]="Purchase";EntitlementType2[EntitlementType2["PremiumSubscription"]=2]="PremiumSubscription";EntitlementType2[EntitlementType2["DeveloperGift"]=3]="DeveloperGift";EntitlementType2[EntitlementType2["TestModePurchase"]=4]="TestModePurchase";EntitlementType2[EntitlementType2["FreePurchase"]=5]="FreePurchase";EntitlementType2[EntitlementType2["UserGift"]=6]="UserGift";EntitlementType2[EntitlementType2["PremiumPurchase"]=7]="PremiumPurchase";EntitlementType2[EntitlementType2["ApplicationSubscription"]=8]="ApplicationSubscription"})(EntitlementType||(exports2.EntitlementType=EntitlementType={}));var SKUFlags;(function(SKUFlags2){SKUFlags2[SKUFlags2["Available"]=4]="Available";SKUFlags2[SKUFlags2["GuildSubscription"]=128]="GuildSubscription";SKUFlags2[SKUFlags2["UserSubscription"]=256]="UserSubscription"})(SKUFlags||(exports2.SKUFlags=SKUFlags={}));var SKUType;(function(SKUType2){SKUType2[SKUType2["Durable"]=2]="Durable";SKUType2[SKUType2["Consumable"]=3]="Consumable";SKUType2[SKUType2["Subscription"]=5]="Subscription";SKUType2[SKUType2["SubscriptionGroup"]=6]="SubscriptionGroup"})(SKUType||(exports2.SKUType=SKUType={}));var SubscriptionStatus;(function(SubscriptionStatus2){SubscriptionStatus2[SubscriptionStatus2["Active"]=0]="Active";SubscriptionStatus2[SubscriptionStatus2["Ending"]=1]="Ending";SubscriptionStatus2[SubscriptionStatus2["Inactive"]=2]="Inactive"})(SubscriptionStatus||(exports2.SubscriptionStatus=SubscriptionStatus={}))}});var require_oauth2=__commonJS({"node_modules/discord-api-types/payloads/v10/oauth2.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.OAuth2Scopes=void 0;var OAuth2Scopes2;(function(OAuth2Scopes3){OAuth2Scopes3["Bot"]="bot";OAuth2Scopes3["Connections"]="connections";OAuth2Scopes3["DMChannelsRead"]="dm_channels.read";OAuth2Scopes3["Email"]="email";OAuth2Scopes3["Identify"]="identify";OAuth2Scopes3["Guilds"]="guilds";OAuth2Scopes3["GuildsJoin"]="guilds.join";OAuth2Scopes3["GuildsMembersRead"]="guilds.members.read";OAuth2Scopes3["GroupDMJoins"]="gdm.join";OAuth2Scopes3["MessagesRead"]="messages.read";OAuth2Scopes3["RoleConnectionsWrite"]="role_connections.write";OAuth2Scopes3["RPC"]="rpc";OAuth2Scopes3["RPCNotificationsRead"]="rpc.notifications.read";OAuth2Scopes3["WebhookIncoming"]="webhook.incoming";OAuth2Scopes3["Voice"]="voice";OAuth2Scopes3["ApplicationsBuildsUpload"]="applications.builds.upload";OAuth2Scopes3["ApplicationsBuildsRead"]="applications.builds.read";OAuth2Scopes3["ApplicationsStoreUpdate"]="applications.store.update";OAuth2Scopes3["ApplicationsEntitlements"]="applications.entitlements";OAuth2Scopes3["RelationshipsRead"]="relationships.read";OAuth2Scopes3["ActivitiesRead"]="activities.read";OAuth2Scopes3["ActivitiesWrite"]="activities.write";OAuth2Scopes3["ApplicationsCommands"]="applications.commands";OAuth2Scopes3["ApplicationsCommandsUpdate"]="applications.commands.update";OAuth2Scopes3["ApplicationCommandsPermissionsUpdate"]="applications.commands.permissions.update"})(OAuth2Scopes2||(exports2.OAuth2Scopes=OAuth2Scopes2={}))}});var require_permissions2=__commonJS({"node_modules/discord-api-types/payloads/v10/permissions.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.RoleFlags=void 0;var RoleFlags;(function(RoleFlags2){RoleFlags2[RoleFlags2["InPrompt"]=1]="InPrompt"})(RoleFlags||(exports2.RoleFlags=RoleFlags={}))}});var require_poll=__commonJS({"node_modules/discord-api-types/payloads/v10/poll.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.PollLayoutType=void 0;var PollLayoutType;(function(PollLayoutType2){PollLayoutType2[PollLayoutType2["Default"]=1]="Default"})(PollLayoutType||(exports2.PollLayoutType=PollLayoutType={}))}});var require_soundboard=__commonJS({"node_modules/discord-api-types/payloads/v10/soundboard.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_stageInstance=__commonJS({"node_modules/discord-api-types/payloads/v10/stageInstance.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.StageInstancePrivacyLevel=void 0;var StageInstancePrivacyLevel;(function(StageInstancePrivacyLevel2){StageInstancePrivacyLevel2[StageInstancePrivacyLevel2["Public"]=1]="Public";StageInstancePrivacyLevel2[StageInstancePrivacyLevel2["GuildOnly"]=2]="GuildOnly"})(StageInstancePrivacyLevel||(exports2.StageInstancePrivacyLevel=StageInstancePrivacyLevel={}))}});var require_sticker=__commonJS({"node_modules/discord-api-types/payloads/v10/sticker.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.StickerFormatType=exports2.StickerType=void 0;var StickerType;(function(StickerType2){StickerType2[StickerType2["Standard"]=1]="Standard";StickerType2[StickerType2["Guild"]=2]="Guild"})(StickerType||(exports2.StickerType=StickerType={}));var StickerFormatType;(function(StickerFormatType2){StickerFormatType2[StickerFormatType2["PNG"]=1]="PNG";StickerFormatType2[StickerFormatType2["APNG"]=2]="APNG";StickerFormatType2[StickerFormatType2["Lottie"]=3]="Lottie";StickerFormatType2[StickerFormatType2["GIF"]=4]="GIF"})(StickerFormatType||(exports2.StickerFormatType=StickerFormatType={}))}});var require_teams=__commonJS({"node_modules/discord-api-types/payloads/v10/teams.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.TeamMemberRole=exports2.TeamMemberMembershipState=void 0;var TeamMemberMembershipState;(function(TeamMemberMembershipState2){TeamMemberMembershipState2[TeamMemberMembershipState2["Invited"]=1]="Invited";TeamMemberMembershipState2[TeamMemberMembershipState2["Accepted"]=2]="Accepted"})(TeamMemberMembershipState||(exports2.TeamMemberMembershipState=TeamMemberMembershipState={}));var TeamMemberRole;(function(TeamMemberRole2){TeamMemberRole2["Admin"]="admin";TeamMemberRole2["Developer"]="developer";TeamMemberRole2["ReadOnly"]="read_only"})(TeamMemberRole||(exports2.TeamMemberRole=TeamMemberRole={}))}});var require_template=__commonJS({"node_modules/discord-api-types/payloads/v10/template.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_user2=__commonJS({"node_modules/discord-api-types/payloads/v10/user.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.ConnectionVisibility=exports2.ConnectionService=exports2.UserPremiumType=exports2.UserFlags=void 0;var UserFlags;(function(UserFlags2){UserFlags2[UserFlags2["Staff"]=1]="Staff";UserFlags2[UserFlags2["Partner"]=2]="Partner";UserFlags2[UserFlags2["Hypesquad"]=4]="Hypesquad";UserFlags2[UserFlags2["BugHunterLevel1"]=8]="BugHunterLevel1";UserFlags2[UserFlags2["MFASMS"]=16]="MFASMS";UserFlags2[UserFlags2["PremiumPromoDismissed"]=32]="PremiumPromoDismissed";UserFlags2[UserFlags2["HypeSquadOnlineHouse1"]=64]="HypeSquadOnlineHouse1";UserFlags2[UserFlags2["HypeSquadOnlineHouse2"]=128]="HypeSquadOnlineHouse2";UserFlags2[UserFlags2["HypeSquadOnlineHouse3"]=256]="HypeSquadOnlineHouse3";UserFlags2[UserFlags2["PremiumEarlySupporter"]=512]="PremiumEarlySupporter";UserFlags2[UserFlags2["TeamPseudoUser"]=1024]="TeamPseudoUser";UserFlags2[UserFlags2["HasUnreadUrgentMessages"]=8192]="HasUnreadUrgentMessages";UserFlags2[UserFlags2["BugHunterLevel2"]=16384]="BugHunterLevel2";UserFlags2[UserFlags2["VerifiedBot"]=65536]="VerifiedBot";UserFlags2[UserFlags2["VerifiedDeveloper"]=131072]="VerifiedDeveloper";UserFlags2[UserFlags2["CertifiedModerator"]=262144]="CertifiedModerator";UserFlags2[UserFlags2["BotHTTPInteractions"]=524288]="BotHTTPInteractions";UserFlags2[UserFlags2["Spammer"]=1048576]="Spammer";UserFlags2[UserFlags2["DisablePremium"]=2097152]="DisablePremium";UserFlags2[UserFlags2["ActiveDeveloper"]=4194304]="ActiveDeveloper";UserFlags2[UserFlags2["Quarantined"]=17592186044416]="Quarantined";UserFlags2[UserFlags2["Collaborator"]=0x4000000000000]="Collaborator";UserFlags2[UserFlags2["RestrictedCollaborator"]=0x8000000000000]="RestrictedCollaborator"})(UserFlags||(exports2.UserFlags=UserFlags={}));var UserPremiumType;(function(UserPremiumType2){UserPremiumType2[UserPremiumType2["None"]=0]="None";UserPremiumType2[UserPremiumType2["NitroClassic"]=1]="NitroClassic";UserPremiumType2[UserPremiumType2["Nitro"]=2]="Nitro";UserPremiumType2[UserPremiumType2["NitroBasic"]=3]="NitroBasic"})(UserPremiumType||(exports2.UserPremiumType=UserPremiumType={}));var ConnectionService;(function(ConnectionService2){ConnectionService2["AmazonMusic"]="amazon-music";ConnectionService2["BattleNet"]="battlenet";ConnectionService2["Bluesky"]="bluesky";ConnectionService2["BungieNet"]="bungie";ConnectionService2["Crunchyroll"]="crunchyroll";ConnectionService2["Domain"]="domain";ConnectionService2["eBay"]="ebay";ConnectionService2["EpicGames"]="epicgames";ConnectionService2["Facebook"]="facebook";ConnectionService2["GitHub"]="github";ConnectionService2["Instagram"]="instagram";ConnectionService2["LeagueOfLegends"]="leagueoflegends";ConnectionService2["Mastodon"]="mastodon";ConnectionService2["PayPal"]="paypal";ConnectionService2["PlayStationNetwork"]="playstation";ConnectionService2["Reddit"]="reddit";ConnectionService2["RiotGames"]="riotgames";ConnectionService2["Roblox"]="roblox";ConnectionService2["Spotify"]="spotify";ConnectionService2["Skype"]="skype";ConnectionService2["Steam"]="steam";ConnectionService2["TikTok"]="tiktok";ConnectionService2["Twitch"]="twitch";ConnectionService2["X"]="twitter";ConnectionService2["Twitter"]="twitter";ConnectionService2["Xbox"]="xbox";ConnectionService2["YouTube"]="youtube"})(ConnectionService||(exports2.ConnectionService=ConnectionService={}));var ConnectionVisibility;(function(ConnectionVisibility2){ConnectionVisibility2[ConnectionVisibility2["None"]=0]="None";ConnectionVisibility2[ConnectionVisibility2["Everyone"]=1]="Everyone"})(ConnectionVisibility||(exports2.ConnectionVisibility=ConnectionVisibility={}))}});var require_voice=__commonJS({"node_modules/discord-api-types/payloads/v10/voice.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_webhook=__commonJS({"node_modules/discord-api-types/payloads/v10/webhook.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.WebhookType=exports2.ApplicationWebhookEventType=exports2.ApplicationWebhookType=void 0;var ApplicationWebhookType;(function(ApplicationWebhookType2){ApplicationWebhookType2[ApplicationWebhookType2["Ping"]=0]="Ping";ApplicationWebhookType2[ApplicationWebhookType2["Event"]=1]="Event"})(ApplicationWebhookType||(exports2.ApplicationWebhookType=ApplicationWebhookType={}));var ApplicationWebhookEventType;(function(ApplicationWebhookEventType2){ApplicationWebhookEventType2["ApplicationAuthorized"]="APPLICATION_AUTHORIZED";ApplicationWebhookEventType2["EntitlementCreate"]="ENTITLEMENT_CREATE";ApplicationWebhookEventType2["QuestUserEnrollment"]="QUEST_USER_ENROLLMENT"})(ApplicationWebhookEventType||(exports2.ApplicationWebhookEventType=ApplicationWebhookEventType={}));var WebhookType;(function(WebhookType2){WebhookType2[WebhookType2["Incoming"]=1]="Incoming";WebhookType2[WebhookType2["ChannelFollower"]=2]="ChannelFollower";WebhookType2[WebhookType2["Application"]=3]="Application"})(WebhookType||(exports2.WebhookType=WebhookType={}))}});var require_v102=__commonJS({"node_modules/discord-api-types/payloads/v10/index.js"(exports2){"use strict";var __createBinding2=exports2&&exports2.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable)){desc={enumerable:true,get:function(){return m[k]}}}Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]});var __exportStar2=exports2&&exports2.__exportStar||function(m,exports3){for(var p in m)if(p!=="default"&&!Object.prototype.hasOwnProperty.call(exports3,p))__createBinding2(exports3,m,p)};Object.defineProperty(exports2,"__esModule",{value:true});__exportStar2(require_common2(),exports2);__exportStar2(require_application(),exports2);__exportStar2(require_auditLog(),exports2);__exportStar2(require_autoModeration(),exports2);__exportStar2(require_channel(),exports2);__exportStar2(require_emoji(),exports2);__exportStar2(require_gateway(),exports2);__exportStar2(require_guild(),exports2);__exportStar2(require_guildScheduledEvent(),exports2);__exportStar2(require_interactions(),exports2);__exportStar2(require_invite(),exports2);__exportStar2(require_monetization(),exports2);__exportStar2(require_oauth2(),exports2);__exportStar2(require_permissions2(),exports2);__exportStar2(require_poll(),exports2);__exportStar2(require_soundboard(),exports2);__exportStar2(require_stageInstance(),exports2);__exportStar2(require_sticker(),exports2);__exportStar2(require_teams(),exports2);__exportStar2(require_template(),exports2);__exportStar2(require_user2(),exports2);__exportStar2(require_voice(),exports2);__exportStar2(require_webhook(),exports2)}});var require_internals=__commonJS({"node_modules/discord-api-types/utils/internals.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.urlSafeCharacters=void 0;var pattern=/^[\d%A-Za-z-]+$/g;exports2.urlSafeCharacters={test(input){const result2=pattern.test(input);pattern.lastIndex=0;return result2}}}});var require_common3=__commonJS({"node_modules/discord-api-types/rest/common.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.Locale=exports2.RESTJSONErrorCodes=void 0;var RESTJSONErrorCodes;(function(RESTJSONErrorCodes2){RESTJSONErrorCodes2[RESTJSONErrorCodes2["GeneralError"]=0]="GeneralError";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownAccount"]=10001]="UnknownAccount";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownApplication"]=10002]="UnknownApplication";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownChannel"]=10003]="UnknownChannel";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownGuild"]=10004]="UnknownGuild";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownIntegration"]=10005]="UnknownIntegration";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownInvite"]=10006]="UnknownInvite";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownMember"]=10007]="UnknownMember";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownMessage"]=10008]="UnknownMessage";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownPermissionOverwrite"]=10009]="UnknownPermissionOverwrite";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownProvider"]=10010]="UnknownProvider";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownRole"]=10011]="UnknownRole";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownToken"]=10012]="UnknownToken";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownUser"]=10013]="UnknownUser";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownEmoji"]=10014]="UnknownEmoji";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownWebhook"]=10015]="UnknownWebhook";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownWebhookService"]=10016]="UnknownWebhookService";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownSession"]=10020]="UnknownSession";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownAsset"]=10021]="UnknownAsset";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownBan"]=10026]="UnknownBan";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownSKU"]=10027]="UnknownSKU";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownStoreListing"]=10028]="UnknownStoreListing";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownEntitlement"]=10029]="UnknownEntitlement";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownBuild"]=10030]="UnknownBuild";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownLobby"]=10031]="UnknownLobby";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownBranch"]=10032]="UnknownBranch";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownStoreDirectoryLayout"]=10033]="UnknownStoreDirectoryLayout";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownRedistributable"]=10036]="UnknownRedistributable";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownGiftCode"]=10038]="UnknownGiftCode";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownStream"]=10049]="UnknownStream";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownPremiumServerSubscribeCooldown"]=10050]="UnknownPremiumServerSubscribeCooldown";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownGuildTemplate"]=10057]="UnknownGuildTemplate";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownDiscoverableServerCategory"]=10059]="UnknownDiscoverableServerCategory";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownSticker"]=10060]="UnknownSticker";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownStickerPack"]=10061]="UnknownStickerPack";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownInteraction"]=10062]="UnknownInteraction";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownApplicationCommand"]=10063]="UnknownApplicationCommand";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownVoiceState"]=10065]="UnknownVoiceState";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownApplicationCommandPermissions"]=10066]="UnknownApplicationCommandPermissions";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownStageInstance"]=10067]="UnknownStageInstance";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownGuildMemberVerificationForm"]=10068]="UnknownGuildMemberVerificationForm";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownGuildWelcomeScreen"]=10069]="UnknownGuildWelcomeScreen";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownGuildScheduledEvent"]=10070]="UnknownGuildScheduledEvent";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownGuildScheduledEventUser"]=10071]="UnknownGuildScheduledEventUser";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownTag"]=10087]="UnknownTag";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnknownSound"]=10097]="UnknownSound";RESTJSONErrorCodes2[RESTJSONErrorCodes2["BotsCannotUseThisEndpoint"]=20001]="BotsCannotUseThisEndpoint";RESTJSONErrorCodes2[RESTJSONErrorCodes2["OnlyBotsCanUseThisEndpoint"]=20002]="OnlyBotsCanUseThisEndpoint";RESTJSONErrorCodes2[RESTJSONErrorCodes2["ExplicitContentCannotBeSentToTheDesiredRecipient"]=20009]="ExplicitContentCannotBeSentToTheDesiredRecipient";RESTJSONErrorCodes2[RESTJSONErrorCodes2["NotAuthorizedToPerformThisActionOnThisApplication"]=20012]="NotAuthorizedToPerformThisActionOnThisApplication";RESTJSONErrorCodes2[RESTJSONErrorCodes2["ActionCannotBePerformedDueToSlowmodeRateLimit"]=20016]="ActionCannotBePerformedDueToSlowmodeRateLimit";RESTJSONErrorCodes2[RESTJSONErrorCodes2["TheMazeIsntMeantForYou"]=20017]="TheMazeIsntMeantForYou";RESTJSONErrorCodes2[RESTJSONErrorCodes2["OnlyTheOwnerOfThisAccountCanPerformThisAction"]=20018]="OnlyTheOwnerOfThisAccountCanPerformThisAction";RESTJSONErrorCodes2[RESTJSONErrorCodes2["AnnouncementEditLimitExceeded"]=20022]="AnnouncementEditLimitExceeded";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UnderMinimumAge"]=20024]="UnderMinimumAge";RESTJSONErrorCodes2[RESTJSONErrorCodes2["ChannelSendRateLimit"]=20028]="ChannelSendRateLimit";RESTJSONErrorCodes2[RESTJSONErrorCodes2["ServerSendRateLimit"]=20029]="ServerSendRateLimit";RESTJSONErrorCodes2[RESTJSONErrorCodes2["StageTopicServerNameServerDescriptionOrChannelNamesContainDisallowedWords"]=20031]="StageTopicServerNameServerDescriptionOrChannelNamesContainDisallowedWords";RESTJSONErrorCodes2[RESTJSONErrorCodes2["GuildPremiumSubscriptionLevelTooLow"]=20035]="GuildPremiumSubscriptionLevelTooLow";RESTJSONErrorCodes2[RESTJSONErrorCodes2["MaximumNumberOfGuildsReached"]=30001]="MaximumNumberOfGuildsReached";RESTJSONErrorCodes2[RESTJSONErrorCodes2["MaximumNumberOfFriendsReached"]=30002]="MaximumNumberOfFriendsReached";RESTJSONErrorCodes2[RESTJSONErrorCodes2["MaximumNumberOfPinsReachedForTheChannel"]=30003]="MaximumNumberOfPinsReachedForTheChannel";RESTJSONErrorCodes2[RESTJSONErrorCodes2["MaximumNumberOfRecipientsReached"]=30004]="MaximumNumberOfRecipientsReached";RESTJSONErrorCodes2[RESTJSONErrorCodes2["MaximumNumberOfGuildRolesReached"]=30005]="MaximumNumberOfGuildRolesReached";RESTJSONErrorCodes2[RESTJSONErrorCodes2["MaximumNumberOfWebhooksReached"]=30007]="MaximumNumberOfWebhooksReached";RESTJSONErrorCodes2[RESTJSONErrorCodes2["MaximumNumberOfEmojisReached"]=30008]="MaximumNumberOfEmojisReached";RESTJSONErrorCodes2[RESTJSONErrorCodes2["MaximumNumberOfReactionsReached"]=30010]="MaximumNumberOfReactionsReached";RESTJSONErrorCodes2[RESTJSONErrorCodes2["MaximumNumberOfGroupDMsReached"]=30011]="MaximumNumberOfGroupDMsReached";RESTJSONErrorCodes2[RESTJSONErrorCodes2["MaximumNumberOfGuildChannelsReached"]=30013]="MaximumNumberOfGuildChannelsReached";RESTJSONErrorCodes2[RESTJSONErrorCodes2["MaximumNumberOfAttachmentsInAMessageReached"]=30015]="MaximumNumberOfAttachmentsInAMessageReached";RESTJSONErrorCodes2[RESTJSONErrorCodes2["MaximumNumberOfInvitesReached"]=30016]="MaximumNumberOfInvitesReached";RESTJSONErrorCodes2[RESTJSONErrorCodes2["MaximumNumberOfAnimatedEmojisReached"]=30018]="MaximumNumberOfAnimatedEmojisReached";RESTJSONErrorCodes2[RESTJSONErrorCodes2["MaximumNumberOfServerMembersReached"]=30019]="MaximumNumberOfServerMembersReached";RESTJSONErrorCodes2[RESTJSONErrorCodes2["MaximumNumberOfServerCategoriesReached"]=30030]="MaximumNumberOfServerCategoriesReached";RESTJSONErrorCodes2[RESTJSONErrorCodes2["GuildAlreadyHasTemplate"]=30031]="GuildAlreadyHasTemplate";RESTJSONErrorCodes2[RESTJSONErrorCodes2["MaximumNumberOfApplicationCommandsReached"]=30032]="MaximumNumberOfApplicationCommandsReached";RESTJSONErrorCodes2[RESTJSONErrorCodes2["MaximumThreadParticipantsReached"]=30033]="MaximumThreadParticipantsReached";RESTJSONErrorCodes2[RESTJSONErrorCodes2["MaximumDailyApplicationCommandCreatesReached"]=30034]="MaximumDailyApplicationCommandCreatesReached";RESTJSONErrorCodes2[RESTJSONErrorCodes2["MaximumNumberOfNonGuildMemberBansHasBeenExceeded"]=30035]="MaximumNumberOfNonGuildMemberBansHasBeenExceeded";RESTJSONErrorCodes2[RESTJSONErrorCodes2["MaximumNumberOfBanFetchesHasBeenReached"]=30037]="MaximumNumberOfBanFetchesHasBeenReached";RESTJSONErrorCodes2[RESTJSONErrorCodes2["MaximumNumberOfUncompletedGuildScheduledEventsReached"]=30038]="MaximumNumberOfUncompletedGuildScheduledEventsReached";RESTJSONErrorCodes2[RESTJSONErrorCodes2["MaximumNumberOfStickersReached"]=30039]="MaximumNumberOfStickersReached";RESTJSONErrorCodes2[RESTJSONErrorCodes2["MaximumNumberOfPruneRequestsHasBeenReached"]=30040]="MaximumNumberOfPruneRequestsHasBeenReached";RESTJSONErrorCodes2[RESTJSONErrorCodes2["MaximumNumberOfGuildWidgetSettingsUpdatesHasBeenReached"]=30042]="MaximumNumberOfGuildWidgetSettingsUpdatesHasBeenReached";RESTJSONErrorCodes2[RESTJSONErrorCodes2["MaximumNumberOfSoundboardSoundsReached"]=30045]="MaximumNumberOfSoundboardSoundsReached";RESTJSONErrorCodes2[RESTJSONErrorCodes2["MaximumNumberOfEditsToMessagesOlderThanOneHourReached"]=30046]="MaximumNumberOfEditsToMessagesOlderThanOneHourReached";RESTJSONErrorCodes2[RESTJSONErrorCodes2["MaximumNumberOfPinnedThreadsInForumHasBeenReached"]=30047]="MaximumNumberOfPinnedThreadsInForumHasBeenReached";RESTJSONErrorCodes2[RESTJSONErrorCodes2["MaximumNumberOfTagsInForumHasBeenReached"]=30048]="MaximumNumberOfTagsInForumHasBeenReached";RESTJSONErrorCodes2[RESTJSONErrorCodes2["BitrateIsTooHighForChannelOfThisType"]=30052]="BitrateIsTooHighForChannelOfThisType";RESTJSONErrorCodes2[RESTJSONErrorCodes2["MaximumNumberOfPremiumEmojisReached"]=30056]="MaximumNumberOfPremiumEmojisReached";RESTJSONErrorCodes2[RESTJSONErrorCodes2["MaximumNumberOfWebhooksPerGuildReached"]=30058]="MaximumNumberOfWebhooksPerGuildReached";RESTJSONErrorCodes2[RESTJSONErrorCodes2["MaximumNumberOfChannelPermissionOverwritesReached"]=30060]="MaximumNumberOfChannelPermissionOverwritesReached";RESTJSONErrorCodes2[RESTJSONErrorCodes2["TheChannelsForThisGuildAreTooLarge"]=30061]="TheChannelsForThisGuildAreTooLarge";RESTJSONErrorCodes2[RESTJSONErrorCodes2["Unauthorized"]=40001]="Unauthorized";RESTJSONErrorCodes2[RESTJSONErrorCodes2["VerifyYourAccount"]=40002]="VerifyYourAccount";RESTJSONErrorCodes2[RESTJSONErrorCodes2["OpeningDirectMessagesTooFast"]=40003]="OpeningDirectMessagesTooFast";RESTJSONErrorCodes2[RESTJSONErrorCodes2["SendMessagesHasBeenTemporarilyDisabled"]=40004]="SendMessagesHasBeenTemporarilyDisabled";RESTJSONErrorCodes2[RESTJSONErrorCodes2["RequestEntityTooLarge"]=40005]="RequestEntityTooLarge";RESTJSONErrorCodes2[RESTJSONErrorCodes2["FeatureTemporarilyDisabledServerSide"]=40006]="FeatureTemporarilyDisabledServerSide";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UserBannedFromThisGuild"]=40007]="UserBannedFromThisGuild";RESTJSONErrorCodes2[RESTJSONErrorCodes2["ConnectionHasBeenRevoked"]=40012]="ConnectionHasBeenRevoked";RESTJSONErrorCodes2[RESTJSONErrorCodes2["OnlyConsumableSKUsCanBeConsumed"]=40018]="OnlyConsumableSKUsCanBeConsumed";RESTJSONErrorCodes2[RESTJSONErrorCodes2["YouCanOnlyDeleteSandboxEntitlements"]=40019]="YouCanOnlyDeleteSandboxEntitlements";RESTJSONErrorCodes2[RESTJSONErrorCodes2["TargetUserIsNotConnectedToVoice"]=40032]="TargetUserIsNotConnectedToVoice";RESTJSONErrorCodes2[RESTJSONErrorCodes2["ThisMessageWasAlreadyCrossposted"]=40033]="ThisMessageWasAlreadyCrossposted";RESTJSONErrorCodes2[RESTJSONErrorCodes2["ApplicationCommandWithThatNameAlreadyExists"]=40041]="ApplicationCommandWithThatNameAlreadyExists";RESTJSONErrorCodes2[RESTJSONErrorCodes2["ApplicationInteractionFailedToSend"]=40043]="ApplicationInteractionFailedToSend";RESTJSONErrorCodes2[RESTJSONErrorCodes2["CannotSendAMessageInAForumChannel"]=40058]="CannotSendAMessageInAForumChannel";RESTJSONErrorCodes2[RESTJSONErrorCodes2["InteractionHasAlreadyBeenAcknowledged"]=40060]="InteractionHasAlreadyBeenAcknowledged";RESTJSONErrorCodes2[RESTJSONErrorCodes2["TagNamesMustBeUnique"]=40061]="TagNamesMustBeUnique";RESTJSONErrorCodes2[RESTJSONErrorCodes2["ServiceResourceIsBeingRateLimited"]=40062]="ServiceResourceIsBeingRateLimited";RESTJSONErrorCodes2[RESTJSONErrorCodes2["ThereAreNoTagsAvailableThatCanBeSetByNonModerators"]=40066]="ThereAreNoTagsAvailableThatCanBeSetByNonModerators";RESTJSONErrorCodes2[RESTJSONErrorCodes2["TagRequiredToCreateAForumPostInThisChannel"]=40067]="TagRequiredToCreateAForumPostInThisChannel";RESTJSONErrorCodes2[RESTJSONErrorCodes2["AnEntitlementHasAlreadyBeenGrantedForThisResource"]=40074]="AnEntitlementHasAlreadyBeenGrantedForThisResource";RESTJSONErrorCodes2[RESTJSONErrorCodes2["ThisInteractionHasHitTheMaximumNumberOfFollowUpMessages"]=40094]="ThisInteractionHasHitTheMaximumNumberOfFollowUpMessages";RESTJSONErrorCodes2[RESTJSONErrorCodes2["CloudflareIsBlockingYourRequest"]=40333]="CloudflareIsBlockingYourRequest";RESTJSONErrorCodes2[RESTJSONErrorCodes2["MissingAccess"]=50001]="MissingAccess";RESTJSONErrorCodes2[RESTJSONErrorCodes2["InvalidAccountType"]=50002]="InvalidAccountType";RESTJSONErrorCodes2[RESTJSONErrorCodes2["CannotExecuteActionOnDMChannel"]=50003]="CannotExecuteActionOnDMChannel";RESTJSONErrorCodes2[RESTJSONErrorCodes2["GuildWidgetDisabled"]=50004]="GuildWidgetDisabled";RESTJSONErrorCodes2[RESTJSONErrorCodes2["CannotEditMessageAuthoredByAnotherUser"]=50005]="CannotEditMessageAuthoredByAnotherUser";RESTJSONErrorCodes2[RESTJSONErrorCodes2["CannotSendAnEmptyMessage"]=50006]="CannotSendAnEmptyMessage";RESTJSONErrorCodes2[RESTJSONErrorCodes2["CannotSendMessagesToThisUser"]=50007]="CannotSendMessagesToThisUser";RESTJSONErrorCodes2[RESTJSONErrorCodes2["CannotSendMessagesInNonTextChannel"]=50008]="CannotSendMessagesInNonTextChannel";RESTJSONErrorCodes2[RESTJSONErrorCodes2["ChannelVerificationLevelTooHighForYouToGainAccess"]=50009]="ChannelVerificationLevelTooHighForYouToGainAccess";RESTJSONErrorCodes2[RESTJSONErrorCodes2["OAuth2ApplicationDoesNotHaveBot"]=50010]="OAuth2ApplicationDoesNotHaveBot";RESTJSONErrorCodes2[RESTJSONErrorCodes2["OAuth2ApplicationLimitReached"]=50011]="OAuth2ApplicationLimitReached";RESTJSONErrorCodes2[RESTJSONErrorCodes2["InvalidOAuth2State"]=50012]="InvalidOAuth2State";RESTJSONErrorCodes2[RESTJSONErrorCodes2["MissingPermissions"]=50013]="MissingPermissions";RESTJSONErrorCodes2[RESTJSONErrorCodes2["InvalidToken"]=50014]="InvalidToken";RESTJSONErrorCodes2[RESTJSONErrorCodes2["NoteWasTooLong"]=50015]="NoteWasTooLong";RESTJSONErrorCodes2[RESTJSONErrorCodes2["ProvidedTooFewOrTooManyMessagesToDelete"]=50016]="ProvidedTooFewOrTooManyMessagesToDelete";RESTJSONErrorCodes2[RESTJSONErrorCodes2["InvalidMFALevel"]=50017]="InvalidMFALevel";RESTJSONErrorCodes2[RESTJSONErrorCodes2["MessageCanOnlyBePinnedInTheChannelItWasSentIn"]=50019]="MessageCanOnlyBePinnedInTheChannelItWasSentIn";RESTJSONErrorCodes2[RESTJSONErrorCodes2["InviteCodeInvalidOrTaken"]=50020]="InviteCodeInvalidOrTaken";RESTJSONErrorCodes2[RESTJSONErrorCodes2["CannotExecuteActionOnSystemMessage"]=50021]="CannotExecuteActionOnSystemMessage";RESTJSONErrorCodes2[RESTJSONErrorCodes2["CannotExecuteActionOnThisChannelType"]=50024]="CannotExecuteActionOnThisChannelType";RESTJSONErrorCodes2[RESTJSONErrorCodes2["InvalidOAuth2AccessToken"]=50025]="InvalidOAuth2AccessToken";RESTJSONErrorCodes2[RESTJSONErrorCodes2["MissingRequiredOAuth2Scope"]=50026]="MissingRequiredOAuth2Scope";RESTJSONErrorCodes2[RESTJSONErrorCodes2["InvalidWebhookToken"]=50027]="InvalidWebhookToken";RESTJSONErrorCodes2[RESTJSONErrorCodes2["InvalidRole"]=50028]="InvalidRole";RESTJSONErrorCodes2[RESTJSONErrorCodes2["InvalidRecipients"]=50033]="InvalidRecipients";RESTJSONErrorCodes2[RESTJSONErrorCodes2["OneOfTheMessagesProvidedWasTooOldForBulkDelete"]=50034]="OneOfTheMessagesProvidedWasTooOldForBulkDelete";RESTJSONErrorCodes2[RESTJSONErrorCodes2["InvalidFormBodyOrContentType"]=50035]="InvalidFormBodyOrContentType";RESTJSONErrorCodes2[RESTJSONErrorCodes2["InviteAcceptedToGuildWithoutTheBotBeingIn"]=50036]="InviteAcceptedToGuildWithoutTheBotBeingIn";RESTJSONErrorCodes2[RESTJSONErrorCodes2["InvalidActivityAction"]=50039]="InvalidActivityAction";RESTJSONErrorCodes2[RESTJSONErrorCodes2["InvalidAPIVersion"]=50041]="InvalidAPIVersion";RESTJSONErrorCodes2[RESTJSONErrorCodes2["FileUploadedExceedsMaximumSize"]=50045]="FileUploadedExceedsMaximumSize";RESTJSONErrorCodes2[RESTJSONErrorCodes2["InvalidFileUploaded"]=50046]="InvalidFileUploaded";RESTJSONErrorCodes2[RESTJSONErrorCodes2["CannotSelfRedeemThisGift"]=50054]="CannotSelfRedeemThisGift";RESTJSONErrorCodes2[RESTJSONErrorCodes2["InvalidGuild"]=50055]="InvalidGuild";RESTJSONErrorCodes2[RESTJSONErrorCodes2["InvalidSKU"]=50057]="InvalidSKU";RESTJSONErrorCodes2[RESTJSONErrorCodes2["InvalidRequestOrigin"]=50067]="InvalidRequestOrigin";RESTJSONErrorCodes2[RESTJSONErrorCodes2["InvalidMessageType"]=50068]="InvalidMessageType";RESTJSONErrorCodes2[RESTJSONErrorCodes2["PaymentSourceRequiredToRedeemGift"]=50070]="PaymentSourceRequiredToRedeemGift";RESTJSONErrorCodes2[RESTJSONErrorCodes2["CannotModifyASystemWebhook"]=50073]="CannotModifyASystemWebhook";RESTJSONErrorCodes2[RESTJSONErrorCodes2["CannotDeleteChannelRequiredForCommunityGuilds"]=50074]="CannotDeleteChannelRequiredForCommunityGuilds";RESTJSONErrorCodes2[RESTJSONErrorCodes2["CannotEditStickersWithinMessage"]=50080]="CannotEditStickersWithinMessage";RESTJSONErrorCodes2[RESTJSONErrorCodes2["InvalidStickerSent"]=50081]="InvalidStickerSent";RESTJSONErrorCodes2[RESTJSONErrorCodes2["InvalidActionOnArchivedThread"]=50083]="InvalidActionOnArchivedThread";RESTJSONErrorCodes2[RESTJSONErrorCodes2["InvalidThreadNotificationSettings"]=50084]="InvalidThreadNotificationSettings";RESTJSONErrorCodes2[RESTJSONErrorCodes2["ParameterEarlierThanCreation"]=50085]="ParameterEarlierThanCreation";RESTJSONErrorCodes2[RESTJSONErrorCodes2["CommunityServerChannelsMustBeTextChannels"]=50086]="CommunityServerChannelsMustBeTextChannels";RESTJSONErrorCodes2[RESTJSONErrorCodes2["TheEntityTypeOfTheEventIsDifferentFromTheEntityYouAreTryingToStartTheEventFor"]=50091]="TheEntityTypeOfTheEventIsDifferentFromTheEntityYouAreTryingToStartTheEventFor";RESTJSONErrorCodes2[RESTJSONErrorCodes2["ServerNotAvailableInYourLocation"]=50095]="ServerNotAvailableInYourLocation";RESTJSONErrorCodes2[RESTJSONErrorCodes2["ServerNeedsMonetizationEnabledToPerformThisAction"]=50097]="ServerNeedsMonetizationEnabledToPerformThisAction";RESTJSONErrorCodes2[RESTJSONErrorCodes2["ServerNeedsMoreBoostsToPerformThisAction"]=50101]="ServerNeedsMoreBoostsToPerformThisAction";RESTJSONErrorCodes2[RESTJSONErrorCodes2["RequestBodyContainsInvalidJSON"]=50109]="RequestBodyContainsInvalidJSON";RESTJSONErrorCodes2[RESTJSONErrorCodes2["ProvidedFileIsInvalid"]=50110]="ProvidedFileIsInvalid";RESTJSONErrorCodes2[RESTJSONErrorCodes2["ProvidedFileTypeIsInvalid"]=50123]="ProvidedFileTypeIsInvalid";RESTJSONErrorCodes2[RESTJSONErrorCodes2["ProvidedFileDurationExceedsMaximumLength"]=50124]="ProvidedFileDurationExceedsMaximumLength";RESTJSONErrorCodes2[RESTJSONErrorCodes2["OwnerCannotBePendingMember"]=50131]="OwnerCannotBePendingMember";RESTJSONErrorCodes2[RESTJSONErrorCodes2["OwnershipCannotBeMovedToABotUser"]=50132]="OwnershipCannotBeMovedToABotUser";RESTJSONErrorCodes2[RESTJSONErrorCodes2["FailedToResizeAssetBelowTheMinimumSize"]=50138]="FailedToResizeAssetBelowTheMinimumSize";RESTJSONErrorCodes2[RESTJSONErrorCodes2["CannotMixSubscriptionAndNonSubscriptionRolesForAnEmoji"]=50144]="CannotMixSubscriptionAndNonSubscriptionRolesForAnEmoji";RESTJSONErrorCodes2[RESTJSONErrorCodes2["CannotConvertBetweenPremiumEmojiAndNormalEmoji"]=50145]="CannotConvertBetweenPremiumEmojiAndNormalEmoji";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UploadedFileNotFound"]=50146]="UploadedFileNotFound";RESTJSONErrorCodes2[RESTJSONErrorCodes2["SpecifiedEmojiIsInvalid"]=50151]="SpecifiedEmojiIsInvalid";RESTJSONErrorCodes2[RESTJSONErrorCodes2["VoiceMessagesDoNotSupportAdditionalContent"]=50159]="VoiceMessagesDoNotSupportAdditionalContent";RESTJSONErrorCodes2[RESTJSONErrorCodes2["VoiceMessagesMustHaveASingleAudioAttachment"]=50160]="VoiceMessagesMustHaveASingleAudioAttachment";RESTJSONErrorCodes2[RESTJSONErrorCodes2["VoiceMessagesMustHaveSupportingMetadata"]=50161]="VoiceMessagesMustHaveSupportingMetadata";RESTJSONErrorCodes2[RESTJSONErrorCodes2["VoiceMessagesCannotBeEdited"]=50162]="VoiceMessagesCannotBeEdited";RESTJSONErrorCodes2[RESTJSONErrorCodes2["CannotDeleteGuildSubscriptionIntegration"]=50163]="CannotDeleteGuildSubscriptionIntegration";RESTJSONErrorCodes2[RESTJSONErrorCodes2["YouCannotSendVoiceMessagesInThisChannel"]=50173]="YouCannotSendVoiceMessagesInThisChannel";RESTJSONErrorCodes2[RESTJSONErrorCodes2["TheUserAccountMustFirstBeVerified"]=50178]="TheUserAccountMustFirstBeVerified";RESTJSONErrorCodes2[RESTJSONErrorCodes2["ProvidedFileDoesNotHaveAValidDuration"]=50192]="ProvidedFileDoesNotHaveAValidDuration";RESTJSONErrorCodes2[RESTJSONErrorCodes2["YouDoNotHavePermissionToSendThisSticker"]=50600]="YouDoNotHavePermissionToSendThisSticker";RESTJSONErrorCodes2[RESTJSONErrorCodes2["TwoFactorAuthenticationIsRequired"]=60003]="TwoFactorAuthenticationIsRequired";RESTJSONErrorCodes2[RESTJSONErrorCodes2["NoUsersWithDiscordTagExist"]=80004]="NoUsersWithDiscordTagExist";RESTJSONErrorCodes2[RESTJSONErrorCodes2["ReactionWasBlocked"]=90001]="ReactionWasBlocked";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UserCannotUseBurstReactions"]=90002]="UserCannotUseBurstReactions";RESTJSONErrorCodes2[RESTJSONErrorCodes2["ApplicationNotYetAvailable"]=110001]="ApplicationNotYetAvailable";RESTJSONErrorCodes2[RESTJSONErrorCodes2["APIResourceOverloaded"]=13e4]="APIResourceOverloaded";RESTJSONErrorCodes2[RESTJSONErrorCodes2["TheStageIsAlreadyOpen"]=150006]="TheStageIsAlreadyOpen";RESTJSONErrorCodes2[RESTJSONErrorCodes2["CannotReplyWithoutPermissionToReadMessageHistory"]=160002]="CannotReplyWithoutPermissionToReadMessageHistory";RESTJSONErrorCodes2[RESTJSONErrorCodes2["ThreadAlreadyCreatedForMessage"]=160004]="ThreadAlreadyCreatedForMessage";RESTJSONErrorCodes2[RESTJSONErrorCodes2["ThreadLocked"]=160005]="ThreadLocked";RESTJSONErrorCodes2[RESTJSONErrorCodes2["MaximumActiveThreads"]=160006]="MaximumActiveThreads";RESTJSONErrorCodes2[RESTJSONErrorCodes2["MaximumActiveAnnouncementThreads"]=160007]="MaximumActiveAnnouncementThreads";RESTJSONErrorCodes2[RESTJSONErrorCodes2["InvalidJSONForUploadedLottieFile"]=170001]="InvalidJSONForUploadedLottieFile";RESTJSONErrorCodes2[RESTJSONErrorCodes2["UploadedLottiesCannotContainRasterizedImages"]=170002]="UploadedLottiesCannotContainRasterizedImages";RESTJSONErrorCodes2[RESTJSONErrorCodes2["StickerMaximumFramerateExceeded"]=170003]="StickerMaximumFramerateExceeded";RESTJSONErrorCodes2[RESTJSONErrorCodes2["StickerFrameCountExceedsMaximumOf1000Frames"]=170004]="StickerFrameCountExceedsMaximumOf1000Frames";RESTJSONErrorCodes2[RESTJSONErrorCodes2["LottieAnimationMaximumDimensionsExceeded"]=170005]="LottieAnimationMaximumDimensionsExceeded";RESTJSONErrorCodes2[RESTJSONErrorCodes2["StickerFramerateIsTooSmallOrTooLarge"]=170006]="StickerFramerateIsTooSmallOrTooLarge";RESTJSONErrorCodes2[RESTJSONErrorCodes2["StickerAnimationDurationExceedsMaximumOf5Seconds"]=170007]="StickerAnimationDurationExceedsMaximumOf5Seconds";RESTJSONErrorCodes2[RESTJSONErrorCodes2["CannotUpdateAFinishedEvent"]=18e4]="CannotUpdateAFinishedEvent";RESTJSONErrorCodes2[RESTJSONErrorCodes2["FailedToCreateStageNeededForStageEvent"]=180002]="FailedToCreateStageNeededForStageEvent";RESTJSONErrorCodes2[RESTJSONErrorCodes2["MessageWasBlockedByAutomaticModeration"]=2e5]="MessageWasBlockedByAutomaticModeration";RESTJSONErrorCodes2[RESTJSONErrorCodes2["TitleWasBlockedByAutomaticModeration"]=200001]="TitleWasBlockedByAutomaticModeration";RESTJSONErrorCodes2[RESTJSONErrorCodes2["WebhooksPostedToForumChannelsMustHaveAThreadNameOrThreadId"]=220001]="WebhooksPostedToForumChannelsMustHaveAThreadNameOrThreadId";RESTJSONErrorCodes2[RESTJSONErrorCodes2["WebhooksPostedToForumChannelsCannotHaveBothAThreadNameAndThreadId"]=220002]="WebhooksPostedToForumChannelsCannotHaveBothAThreadNameAndThreadId";RESTJSONErrorCodes2[RESTJSONErrorCodes2["WebhooksCanOnlyCreateThreadsInForumChannels"]=220003]="WebhooksCanOnlyCreateThreadsInForumChannels";RESTJSONErrorCodes2[RESTJSONErrorCodes2["WebhookServicesCannotBeUsedInForumChannels"]=220004]="WebhookServicesCannotBeUsedInForumChannels";RESTJSONErrorCodes2[RESTJSONErrorCodes2["MessageBlockedByHarmfulLinksFilter"]=24e4]="MessageBlockedByHarmfulLinksFilter";RESTJSONErrorCodes2[RESTJSONErrorCodes2["CannotEnableOnboardingRequirementsAreNotMet"]=35e4]="CannotEnableOnboardingRequirementsAreNotMet";RESTJSONErrorCodes2[RESTJSONErrorCodes2["CannotUpdateOnboardingWhileBelowRequirements"]=350001]="CannotUpdateOnboardingWhileBelowRequirements";RESTJSONErrorCodes2[RESTJSONErrorCodes2["FailedToBanUsers"]=5e5]="FailedToBanUsers";RESTJSONErrorCodes2[RESTJSONErrorCodes2["PollVotingBlocked"]=52e4]="PollVotingBlocked";RESTJSONErrorCodes2[RESTJSONErrorCodes2["PollExpired"]=520001]="PollExpired";RESTJSONErrorCodes2[RESTJSONErrorCodes2["InvalidChannelTypeForPollCreation"]=520002]="InvalidChannelTypeForPollCreation";RESTJSONErrorCodes2[RESTJSONErrorCodes2["CannotEditAPollMessage"]=520003]="CannotEditAPollMessage";RESTJSONErrorCodes2[RESTJSONErrorCodes2["CannotUseAnEmojiIncludedWithThePoll"]=520004]="CannotUseAnEmojiIncludedWithThePoll";RESTJSONErrorCodes2[RESTJSONErrorCodes2["CannotExpireANonPollMessage"]=520006]="CannotExpireANonPollMessage"})(RESTJSONErrorCodes||(exports2.RESTJSONErrorCodes=RESTJSONErrorCodes={}));var Locale;(function(Locale2){Locale2["Indonesian"]="id";Locale2["EnglishUS"]="en-US";Locale2["EnglishGB"]="en-GB";Locale2["Bulgarian"]="bg";Locale2["ChineseCN"]="zh-CN";Locale2["ChineseTW"]="zh-TW";Locale2["Croatian"]="hr";Locale2["Czech"]="cs";Locale2["Danish"]="da";Locale2["Dutch"]="nl";Locale2["Finnish"]="fi";Locale2["French"]="fr";Locale2["German"]="de";Locale2["Greek"]="el";Locale2["Hindi"]="hi";Locale2["Hungarian"]="hu";Locale2["Italian"]="it";Locale2["Japanese"]="ja";Locale2["Korean"]="ko";Locale2["Lithuanian"]="lt";Locale2["Norwegian"]="no";Locale2["Polish"]="pl";Locale2["PortugueseBR"]="pt-BR";Locale2["Romanian"]="ro";Locale2["Russian"]="ru";Locale2["SpanishES"]="es-ES";Locale2["SpanishLATAM"]="es-419";Locale2["Swedish"]="sv-SE";Locale2["Thai"]="th";Locale2["Turkish"]="tr";Locale2["Ukrainian"]="uk";Locale2["Vietnamese"]="vi"})(Locale||(exports2.Locale=Locale={}))}});var require_application2=__commonJS({"node_modules/discord-api-types/rest/v10/application.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_auditLog2=__commonJS({"node_modules/discord-api-types/rest/v10/auditLog.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_autoModeration2=__commonJS({"node_modules/discord-api-types/rest/v10/autoModeration.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_channel3=__commonJS({"node_modules/discord-api-types/rest/v10/channel.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.ReactionType=void 0;var ReactionType;(function(ReactionType2){ReactionType2[ReactionType2["Normal"]=0]="Normal";ReactionType2[ReactionType2["Super"]=1]="Super"})(ReactionType||(exports2.ReactionType=ReactionType={}))}});var require_emoji2=__commonJS({"node_modules/discord-api-types/rest/v10/emoji.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_gateway2=__commonJS({"node_modules/discord-api-types/rest/v10/gateway.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_guild2=__commonJS({"node_modules/discord-api-types/rest/v10/guild.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_guildScheduledEvent2=__commonJS({"node_modules/discord-api-types/rest/v10/guildScheduledEvent.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_interactions2=__commonJS({"node_modules/discord-api-types/rest/v10/interactions.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_invite2=__commonJS({"node_modules/discord-api-types/rest/v10/invite.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_monetization2=__commonJS({"node_modules/discord-api-types/rest/v10/monetization.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.EntitlementOwnerType=void 0;var EntitlementOwnerType;(function(EntitlementOwnerType2){EntitlementOwnerType2[EntitlementOwnerType2["Guild"]=1]="Guild";EntitlementOwnerType2[EntitlementOwnerType2["User"]=2]="User"})(EntitlementOwnerType||(exports2.EntitlementOwnerType=EntitlementOwnerType={}))}});var require_oauth22=__commonJS({"node_modules/discord-api-types/rest/v10/oauth2.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_poll2=__commonJS({"node_modules/discord-api-types/rest/v10/poll.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_soundboard2=__commonJS({"node_modules/discord-api-types/rest/v10/soundboard.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_stageInstance2=__commonJS({"node_modules/discord-api-types/rest/v10/stageInstance.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_sticker2=__commonJS({"node_modules/discord-api-types/rest/v10/sticker.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_template2=__commonJS({"node_modules/discord-api-types/rest/v10/template.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_user3=__commonJS({"node_modules/discord-api-types/rest/v10/user.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_voice2=__commonJS({"node_modules/discord-api-types/rest/v10/voice.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_webhook2=__commonJS({"node_modules/discord-api-types/rest/v10/webhook.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true})}});var require_v103=__commonJS({"node_modules/discord-api-types/rest/v10/index.js"(exports2){"use strict";var __createBinding2=exports2&&exports2.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable)){desc={enumerable:true,get:function(){return m[k]}}}Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]});var __exportStar2=exports2&&exports2.__exportStar||function(m,exports3){for(var p in m)if(p!=="default"&&!Object.prototype.hasOwnProperty.call(exports3,p))__createBinding2(exports3,m,p)};Object.defineProperty(exports2,"__esModule",{value:true});exports2.OAuth2Routes=exports2.RouteBases=exports2.CDNRoutes=exports2.ImageFormat=exports2.StickerPackApplicationId=exports2.Routes=exports2.APIVersion=void 0;var internals_1=require_internals();__exportStar2(require_common3(),exports2);__exportStar2(require_application2(),exports2);__exportStar2(require_auditLog2(),exports2);__exportStar2(require_autoModeration2(),exports2);__exportStar2(require_channel3(),exports2);__exportStar2(require_emoji2(),exports2);__exportStar2(require_gateway2(),exports2);__exportStar2(require_guild2(),exports2);__exportStar2(require_guildScheduledEvent2(),exports2);__exportStar2(require_interactions2(),exports2);__exportStar2(require_invite2(),exports2);__exportStar2(require_monetization2(),exports2);__exportStar2(require_oauth22(),exports2);__exportStar2(require_poll2(),exports2);__exportStar2(require_soundboard2(),exports2);__exportStar2(require_stageInstance2(),exports2);__exportStar2(require_sticker2(),exports2);__exportStar2(require_template2(),exports2);__exportStar2(require_user3(),exports2);__exportStar2(require_voice2(),exports2);__exportStar2(require_webhook2(),exports2);exports2.APIVersion="10";exports2.Routes={applicationRoleConnectionMetadata(applicationId){return`/applications/${applicationId}/role-connections/metadata`},guildAutoModerationRules(guildId){return`/guilds/${guildId}/auto-moderation/rules`},guildAutoModerationRule(guildId,ruleId){return`/guilds/${guildId}/auto-moderation/rules/${ruleId}`},guildAuditLog(guildId){return`/guilds/${guildId}/audit-logs`},channel(channelId){return`/channels/${channelId}`},channelMessages(channelId){return`/channels/${channelId}/messages`},channelMessage(channelId,messageId){return`/channels/${channelId}/messages/${messageId}`},channelMessageCrosspost(channelId,messageId){return`/channels/${channelId}/messages/${messageId}/crosspost`},channelMessageOwnReaction(channelId,messageId,emoji){return`/channels/${channelId}/messages/${messageId}/reactions/${emoji}/@me`},channelMessageUserReaction(channelId,messageId,emoji,userId){return`/channels/${channelId}/messages/${messageId}/reactions/${emoji}/${userId}`},channelMessageReaction(channelId,messageId,emoji){return`/channels/${channelId}/messages/${messageId}/reactions/${emoji}`},channelMessageAllReactions(channelId,messageId){return`/channels/${channelId}/messages/${messageId}/reactions`},channelBulkDelete(channelId){return`/channels/${channelId}/messages/bulk-delete`},channelPermission(channelId,overwriteId){return`/channels/${channelId}/permissions/${overwriteId}`},channelInvites(channelId){return`/channels/${channelId}/invites`},channelFollowers(channelId){return`/channels/${channelId}/followers`},channelTyping(channelId){return`/channels/${channelId}/typing`},channelPins(channelId){return`/channels/${channelId}/pins`},channelPin(channelId,messageId){return`/channels/${channelId}/pins/${messageId}`},channelRecipient(channelId,userId){return`/channels/${channelId}/recipients/${userId}`},guildEmojis(guildId){return`/guilds/${guildId}/emojis`},guildEmoji(guildId,emojiId){return`/guilds/${guildId}/emojis/${emojiId}`},guilds(){return"/guilds"},guild(guildId){return`/guilds/${guildId}`},guildPreview(guildId){return`/guilds/${guildId}/preview`},guildChannels(guildId){return`/guilds/${guildId}/channels`},guildMember(guildId,userId="@me"){return`/guilds/${guildId}/members/${userId}`},guildMembers(guildId){return`/guilds/${guildId}/members`},guildMembersSearch(guildId){return`/guilds/${guildId}/members/search`},guildCurrentMemberNickname(guildId){return`/guilds/${guildId}/members/@me/nick`},guildMemberRole(guildId,memberId,roleId){return`/guilds/${guildId}/members/${memberId}/roles/${roleId}`},guildMFA(guildId){return`/guilds/${guildId}/mfa`},guildBans(guildId){return`/guilds/${guildId}/bans`},guildBan(guildId,userId){return`/guilds/${guildId}/bans/${userId}`},guildRoles(guildId){return`/guilds/${guildId}/roles`},guildRole(guildId,roleId){return`/guilds/${guildId}/roles/${roleId}`},guildPrune(guildId){return`/guilds/${guildId}/prune`},guildVoiceRegions(guildId){return`/guilds/${guildId}/regions`},guildInvites(guildId){return`/guilds/${guildId}/invites`},guildIntegrations(guildId){return`/guilds/${guildId}/integrations`},guildIntegration(guildId,integrationId){return`/guilds/${guildId}/integrations/${integrationId}`},guildWidgetSettings(guildId){return`/guilds/${guildId}/widget`},guildWidgetJSON(guildId){return`/guilds/${guildId}/widget.json`},guildVanityUrl(guildId){return`/guilds/${guildId}/vanity-url`},guildWidgetImage(guildId){return`/guilds/${guildId}/widget.png`},invite(code){return`/invites/${code}`},template(code){return`/guilds/templates/${code}`},guildTemplates(guildId){return`/guilds/${guildId}/templates`},guildTemplate(guildId,code){return`/guilds/${guildId}/templates/${code}`},pollAnswerVoters(channelId,messageId,answerId){return`/channels/${channelId}/polls/${messageId}/answers/${answerId}`},expirePoll(channelId,messageId){return`/channels/${channelId}/polls/${messageId}/expire`},threads(parentId,messageId){const parts=["","channels",parentId];if(messageId)parts.push("messages",messageId);parts.push("threads");return parts.join("/")},guildActiveThreads(guildId){return`/guilds/${guildId}/threads/active`},channelThreads(channelId,archivedStatus){return`/channels/${channelId}/threads/archived/${archivedStatus}`},channelJoinedArchivedThreads(channelId){return`/channels/${channelId}/users/@me/threads/archived/private`},threadMembers(threadId,userId){const parts=["","channels",threadId,"thread-members"];if(userId)parts.push(userId);return parts.join("/")},user(userId="@me"){return`/users/${userId}`},userApplicationRoleConnection(applicationId){return`/users/@me/applications/${applicationId}/role-connection`},userGuilds(){return`/users/@me/guilds`},userGuildMember(guildId){return`/users/@me/guilds/${guildId}/member`},userGuild(guildId){return`/users/@me/guilds/${guildId}`},userChannels(){return`/users/@me/channels`},userConnections(){return`/users/@me/connections`},voiceRegions(){return`/voice/regions`},channelWebhooks(channelId){return`/channels/${channelId}/webhooks`},guildWebhooks(guildId){return`/guilds/${guildId}/webhooks`},webhook(webhookId,webhookToken){const parts=["","webhooks",webhookId];if(webhookToken)parts.push(webhookToken);return parts.join("/")},webhookMessage(webhookId,webhookToken,messageId="@original"){return`/webhooks/${webhookId}/${webhookToken}/messages/${messageId}`},webhookPlatform(webhookId,webhookToken,platform){return`/webhooks/${webhookId}/${webhookToken}/${platform}`},gateway(){return`/gateway`},gatewayBot(){return`/gateway/bot`},oauth2CurrentApplication(){return`/oauth2/applications/@me`},oauth2CurrentAuthorization(){return`/oauth2/@me`},oauth2Authorization(){return`/oauth2/authorize`},oauth2TokenExchange(){return`/oauth2/token`},oauth2TokenRevocation(){return`/oauth2/token/revoke`},applicationCommands(applicationId){return`/applications/${applicationId}/commands`},applicationCommand(applicationId,commandId){return`/applications/${applicationId}/commands/${commandId}`},applicationGuildCommands(applicationId,guildId){return`/applications/${applicationId}/guilds/${guildId}/commands`},applicationGuildCommand(applicationId,guildId,commandId){return`/applications/${applicationId}/guilds/${guildId}/commands/${commandId}`},interactionCallback(interactionId,interactionToken){return`/interactions/${interactionId}/${interactionToken}/callback`},guildMemberVerification(guildId){return`/guilds/${guildId}/member-verification`},guildVoiceState(guildId,userId="@me"){return`/guilds/${guildId}/voice-states/${userId}`},guildApplicationCommandsPermissions(applicationId,guildId){return`/applications/${applicationId}/guilds/${guildId}/commands/permissions`},applicationCommandPermissions(applicationId,guildId,commandId){return`/applications/${applicationId}/guilds/${guildId}/commands/${commandId}/permissions`},guildWelcomeScreen(guildId){return`/guilds/${guildId}/welcome-screen`},stageInstances(){return`/stage-instances`},stageInstance(channelId){return`/stage-instances/${channelId}`},sticker(stickerId){return`/stickers/${stickerId}`},stickerPacks(){return"/sticker-packs"},stickerPack(packId){return`/sticker-packs/${packId}`},nitroStickerPacks(){return"/sticker-packs"},guildStickers(guildId){return`/guilds/${guildId}/stickers`},guildSticker(guildId,stickerId){return`/guilds/${guildId}/stickers/${stickerId}`},guildScheduledEvents(guildId){return`/guilds/${guildId}/scheduled-events`},guildScheduledEvent(guildId,guildScheduledEventId){return`/guilds/${guildId}/scheduled-events/${guildScheduledEventId}`},guildScheduledEventUsers(guildId,guildScheduledEventId){return`/guilds/${guildId}/scheduled-events/${guildScheduledEventId}/users`},guildOnboarding(guildId){return`/guilds/${guildId}/onboarding`},currentApplication(){return"/applications/@me"},entitlements(applicationId){return`/applications/${applicationId}/entitlements`},entitlement(applicationId,entitlementId){return`/applications/${applicationId}/entitlements/${entitlementId}`},skus(applicationId){return`/applications/${applicationId}/skus`},guildBulkBan(guildId){return`/guilds/${guildId}/bulk-ban`},consumeEntitlement(applicationId,entitlementId){return`/applications/${applicationId}/entitlements/${entitlementId}/consume`},applicationEmojis(applicationId){return`/applications/${applicationId}/emojis`},applicationEmoji(applicationId,emojiId){return`/applications/${applicationId}/emojis/${emojiId}`},skuSubscriptions(skuId){return`/skus/${skuId}/subscriptions`},skuSubscription(skuId,subscriptionId){return`/skus/${skuId}/subscriptions/${subscriptionId}`},sendSoundboardSound(channelId){return`/channels/${channelId}/send-soundboard-sound`},soundboardDefaultSounds(){return"/soundboard-default-sounds"},guildSoundboardSounds(guildId){return`/guilds/${guildId}/soundboard-sounds`},guildSoundboardSound(guildId,soundId){return`/guilds/${guildId}/soundboard-sounds/${soundId}`}};for(const[key,fn2]of Object.entries(exports2.Routes)){exports2.Routes[key]=(...args2)=>{const escaped=args2.map(arg=>{if(arg){if(internals_1.urlSafeCharacters.test(String(arg))){return arg}return encodeURIComponent(arg)}return arg});return fn2.call(null,...escaped)}}Object.freeze(exports2.Routes);exports2.StickerPackApplicationId="710982414301790216";var ImageFormat;(function(ImageFormat2){ImageFormat2["JPEG"]="jpeg";ImageFormat2["PNG"]="png";ImageFormat2["WebP"]="webp";ImageFormat2["GIF"]="gif";ImageFormat2["Lottie"]="json"})(ImageFormat||(exports2.ImageFormat=ImageFormat={}));exports2.CDNRoutes={emoji(emojiId,format2){return`/emojis/${emojiId}.${format2}`},guildIcon(guildId,guildIcon,format2){return`/icons/${guildId}/${guildIcon}.${format2}`},guildSplash(guildId,guildSplash,format2){return`/splashes/${guildId}/${guildSplash}.${format2}`},guildDiscoverySplash(guildId,guildDiscoverySplash,format2){return`/discovery-splashes/${guildId}/${guildDiscoverySplash}.${format2}`},guildBanner(guildId,guildBanner,format2){return`/banners/${guildId}/${guildBanner}.${format2}`},userBanner(userId,userBanner,format2){return`/banners/${userId}/${userBanner}.${format2}`},defaultUserAvatar(index){return`/embed/avatars/${index}.png`},userAvatar(userId,userAvatar,format2){return`/avatars/${userId}/${userAvatar}.${format2}`},guildMemberAvatar(guildId,userId,memberAvatar,format2){return`/guilds/${guildId}/users/${userId}/avatars/${memberAvatar}.${format2}`},userAvatarDecoration(userId,userAvatarDecoration){return`/avatar-decorations/${userId}/${userAvatarDecoration}.png`},avatarDecoration(avatarDecorationDataAsset){return`/avatar-decoration-presets/${avatarDecorationDataAsset}.png`},applicationIcon(applicationId,applicationIcon,format2){return`/app-icons/${applicationId}/${applicationIcon}.${format2}`},applicationCover(applicationId,applicationCoverImage,format2){return`/app-icons/${applicationId}/${applicationCoverImage}.${format2}`},applicationAsset(applicationId,applicationAssetId,format2){return`/app-assets/${applicationId}/${applicationAssetId}.${format2}`},achievementIcon(applicationId,achievementId,achievementIconHash,format2){return`/app-assets/${applicationId}/achievements/${achievementId}/icons/${achievementIconHash}.${format2}`},stickerPackBanner(stickerPackBannerAssetId,format2){return`/app-assets/${exports2.StickerPackApplicationId}/store/${stickerPackBannerAssetId}.${format2}`},storePageAsset(applicationId,assetId,format2=ImageFormat.PNG){return`/app-assets/${applicationId}/store/${assetId}.${format2}`},teamIcon(teamId,teamIcon,format2){return`/team-icons/${teamId}/${teamIcon}.${format2}`},sticker(stickerId,format2){return`/stickers/${stickerId}.${format2}`},roleIcon(roleId,roleIcon,format2){return`/role-icons/${roleId}/${roleIcon}.${format2}`},guildScheduledEventCover(guildScheduledEventId,guildScheduledEventCoverImage,format2){return`/guild-events/${guildScheduledEventId}/${guildScheduledEventCoverImage}.${format2}`},guildMemberBanner(guildId,userId,guildMemberBanner,format2){return`/guilds/${guildId}/users/${userId}/banners/${guildMemberBanner}.${format2}`},soundboardSound(soundId){return`/soundboard-sounds/${soundId}`}};for(const[key,fn2]of Object.entries(exports2.CDNRoutes)){exports2.CDNRoutes[key]=(...args2)=>{const escaped=args2.map(arg=>{if(arg){if(internals_1.urlSafeCharacters.test(String(arg))){return arg}return encodeURIComponent(arg)}return arg});return fn2.call(null,...escaped)}}Object.freeze(exports2.CDNRoutes);exports2.RouteBases={api:`https://discord.com/api/v${exports2.APIVersion}`,cdn:"https://cdn.discordapp.com",media:"https://media.discordapp.net",invite:"https://discord.gg",template:"https://discord.new",gift:"https://discord.gift",scheduledEvent:"https://discord.com/events"};Object.freeze(exports2.RouteBases);exports2.OAuth2Routes={authorizationURL:`${exports2.RouteBases.api}${exports2.Routes.oauth2Authorization()}`,tokenURL:`${exports2.RouteBases.api}${exports2.Routes.oauth2TokenExchange()}`,tokenRevocationURL:`${exports2.RouteBases.api}${exports2.Routes.oauth2TokenRevocation()}`};Object.freeze(exports2.OAuth2Routes)}});var require_common4=__commonJS({"node_modules/discord-api-types/rpc/common.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.RPCCloseEventCodes=exports2.RPCErrorCodes=void 0;var RPCErrorCodes;(function(RPCErrorCodes2){RPCErrorCodes2[RPCErrorCodes2["UnknownError"]=1e3]="UnknownError";RPCErrorCodes2[RPCErrorCodes2["InvalidPayload"]=4e3]="InvalidPayload";RPCErrorCodes2[RPCErrorCodes2["InvalidCommand"]=4002]="InvalidCommand";RPCErrorCodes2[RPCErrorCodes2["InvalidGuild"]=4003]="InvalidGuild";RPCErrorCodes2[RPCErrorCodes2["InvalidEvent"]=4004]="InvalidEvent";RPCErrorCodes2[RPCErrorCodes2["InvalidChannel"]=4005]="InvalidChannel";RPCErrorCodes2[RPCErrorCodes2["InvalidPermissions"]=4006]="InvalidPermissions";RPCErrorCodes2[RPCErrorCodes2["InvalidClientId"]=4007]="InvalidClientId";RPCErrorCodes2[RPCErrorCodes2["InvalidOrigin"]=4008]="InvalidOrigin";RPCErrorCodes2[RPCErrorCodes2["InvalidToken"]=4009]="InvalidToken";RPCErrorCodes2[RPCErrorCodes2["InvalidUser"]=4010]="InvalidUser";RPCErrorCodes2[RPCErrorCodes2["OAuth2Error"]=5e3]="OAuth2Error";RPCErrorCodes2[RPCErrorCodes2["SelectChannelTimedOut"]=5001]="SelectChannelTimedOut";RPCErrorCodes2[RPCErrorCodes2["GetGuildTimedOut"]=5002]="GetGuildTimedOut";RPCErrorCodes2[RPCErrorCodes2["SelectVoiceForceRequired"]=5003]="SelectVoiceForceRequired";RPCErrorCodes2[RPCErrorCodes2["CaptureShortcutAlreadyListening"]=5004]="CaptureShortcutAlreadyListening"})(RPCErrorCodes||(exports2.RPCErrorCodes=RPCErrorCodes={}));var RPCCloseEventCodes;(function(RPCCloseEventCodes2){RPCCloseEventCodes2[RPCCloseEventCodes2["InvalidClientId"]=4e3]="InvalidClientId";RPCCloseEventCodes2[RPCCloseEventCodes2["InvalidOrigin"]=4001]="InvalidOrigin";RPCCloseEventCodes2[RPCCloseEventCodes2["RateLimited"]=4002]="RateLimited";RPCCloseEventCodes2[RPCCloseEventCodes2["TokenRevoked"]=4003]="TokenRevoked";RPCCloseEventCodes2[RPCCloseEventCodes2["InvalidVersion"]=4004]="InvalidVersion";RPCCloseEventCodes2[RPCCloseEventCodes2["InvalidEncoding"]=4005]="InvalidEncoding"})(RPCCloseEventCodes||(exports2.RPCCloseEventCodes=RPCCloseEventCodes={}))}});var require_v104=__commonJS({"node_modules/discord-api-types/rpc/v10.js"(exports2){"use strict";var __createBinding2=exports2&&exports2.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable)){desc={enumerable:true,get:function(){return m[k]}}}Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]});var __exportStar2=exports2&&exports2.__exportStar||function(m,exports3){for(var p in m)if(p!=="default"&&!Object.prototype.hasOwnProperty.call(exports3,p))__createBinding2(exports3,m,p)};Object.defineProperty(exports2,"__esModule",{value:true});__exportStar2(require_common4(),exports2)}});var require_v105=__commonJS({"node_modules/discord-api-types/utils/v10.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.isDMInteraction=isDMInteraction;exports2.isGuildInteraction=isGuildInteraction;exports2.isApplicationCommandDMInteraction=isApplicationCommandDMInteraction;exports2.isApplicationCommandGuildInteraction=isApplicationCommandGuildInteraction;exports2.isMessageComponentDMInteraction=isMessageComponentDMInteraction;exports2.isMessageComponentGuildInteraction=isMessageComponentGuildInteraction;exports2.isLinkButton=isLinkButton;exports2.isInteractionButton=isInteractionButton;exports2.isMessageComponentInteraction=isMessageComponentInteraction;exports2.isMessageComponentButtonInteraction=isMessageComponentButtonInteraction;exports2.isMessageComponentSelectMenuInteraction=isMessageComponentSelectMenuInteraction;exports2.isChatInputApplicationCommandInteraction=isChatInputApplicationCommandInteraction;exports2.isContextMenuApplicationCommandInteraction=isContextMenuApplicationCommandInteraction;var index_1=require_v102();function isDMInteraction(interaction){return Reflect.has(interaction,"user")}function isGuildInteraction(interaction){return Reflect.has(interaction,"guild_id")}function isApplicationCommandDMInteraction(interaction){return isDMInteraction(interaction)}function isApplicationCommandGuildInteraction(interaction){return isGuildInteraction(interaction)}function isMessageComponentDMInteraction(interaction){return isDMInteraction(interaction)}function isMessageComponentGuildInteraction(interaction){return isGuildInteraction(interaction)}function isLinkButton(component){return component.style===index_1.ButtonStyle.Link}function isInteractionButton(component){return![index_1.ButtonStyle.Link,index_1.ButtonStyle.Premium].includes(component.style)}function isMessageComponentInteraction(interaction){return interaction.type===index_1.InteractionType.MessageComponent}function isMessageComponentButtonInteraction(interaction){return interaction.data.component_type===index_1.ComponentType.Button}function isMessageComponentSelectMenuInteraction(interaction){return[index_1.ComponentType.StringSelect,index_1.ComponentType.UserSelect,index_1.ComponentType.RoleSelect,index_1.ComponentType.MentionableSelect,index_1.ComponentType.ChannelSelect].includes(interaction.data.component_type)}function isChatInputApplicationCommandInteraction(interaction){return interaction.data.type===index_1.ApplicationCommandType.ChatInput}function isContextMenuApplicationCommandInteraction(interaction){return interaction.data.type===index_1.ApplicationCommandType.Message||interaction.data.type===index_1.ApplicationCommandType.User}}});var require_v106=__commonJS({"node_modules/discord-api-types/v10.js"(exports2){"use strict";var __createBinding2=exports2&&exports2.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable)){desc={enumerable:true,get:function(){return m[k]}}}Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]});var __exportStar2=exports2&&exports2.__exportStar||function(m,exports3){for(var p in m)if(p!=="default"&&!Object.prototype.hasOwnProperty.call(exports3,p))__createBinding2(exports3,m,p)};Object.defineProperty(exports2,"__esModule",{value:true});exports2.Utils=void 0;__exportStar2(require_v10(),exports2);__exportStar2(require_globals(),exports2);__exportStar2(require_v102(),exports2);__exportStar2(require_v103(),exports2);__exportStar2(require_v104(),exports2);exports2.Utils=require_v105()}});var require_symbols=__commonJS({"node_modules/undici/lib/core/symbols.js"(exports2,module2){module2.exports={kClose:Symbol("close"),kDestroy:Symbol("destroy"),kDispatch:Symbol("dispatch"),kUrl:Symbol("url"),kWriting:Symbol("writing"),kResuming:Symbol("resuming"),kQueue:Symbol("queue"),kConnect:Symbol("connect"),kConnecting:Symbol("connecting"),kHeadersList:Symbol("headers list"),kKeepAliveDefaultTimeout:Symbol("default keep alive timeout"),kKeepAliveMaxTimeout:Symbol("max keep alive timeout"),kKeepAliveTimeoutThreshold:Symbol("keep alive timeout threshold"),kKeepAliveTimeoutValue:Symbol("keep alive timeout"),kKeepAlive:Symbol("keep alive"),kHeadersTimeout:Symbol("headers timeout"),kBodyTimeout:Symbol("body timeout"),kServerName:Symbol("server name"),kLocalAddress:Symbol("local address"),kHost:Symbol("host"),kNoRef:Symbol("no ref"),kBodyUsed:Symbol("used"),kRunning:Symbol("running"),kBlocking:Symbol("blocking"),kPending:Symbol("pending"),kSize:Symbol("size"),kBusy:Symbol("busy"),kQueued:Symbol("queued"),kFree:Symbol("free"),kConnected:Symbol("connected"),kClosed:Symbol("closed"),kNeedDrain:Symbol("need drain"),kReset:Symbol("reset"),kDestroyed:Symbol.for("nodejs.stream.destroyed"),kMaxHeadersSize:Symbol("max headers size"),kRunningIdx:Symbol("running index"),kPendingIdx:Symbol("pending index"),kError:Symbol("error"),kClients:Symbol("clients"),kClient:Symbol("client"),kParser:Symbol("parser"),kOnDestroyed:Symbol("destroy callbacks"),kPipelining:Symbol("pipelining"),kSocket:Symbol("socket"),kHostHeader:Symbol("host header"),kConnector:Symbol("connector"),kStrictContentLength:Symbol("strict content length"),kMaxRedirections:Symbol("maxRedirections"),kMaxRequests:Symbol("maxRequestsPerClient"),kProxy:Symbol("proxy agent options"),kCounter:Symbol("socket request counter"),kInterceptors:Symbol("dispatch interceptors"),kMaxResponseSize:Symbol("max response size"),kHTTP2Session:Symbol("http2Session"),kHTTP2SessionState:Symbol("http2Session state"),kHTTP2BuildRequest:Symbol("http2 build request"),kHTTP1BuildRequest:Symbol("http1 build request"),kHTTP2CopyHeaders:Symbol("http2 copy headers"),kHTTPConnVersion:Symbol("http connection version"),kRetryHandlerDefaultRetry:Symbol("retry agent default retry"),kConstruct:Symbol("constructable")}}});var require_errors5=__commonJS({"node_modules/undici/lib/core/errors.js"(exports2,module2){"use strict";var UndiciError=class extends Error{constructor(message3){super(message3);this.name="UndiciError";this.code="UND_ERR"}};var ConnectTimeoutError=class _ConnectTimeoutError extends UndiciError{constructor(message3){super(message3);Error.captureStackTrace(this,_ConnectTimeoutError);this.name="ConnectTimeoutError";this.message=message3||"Connect Timeout Error";this.code="UND_ERR_CONNECT_TIMEOUT"}};var HeadersTimeoutError=class _HeadersTimeoutError extends UndiciError{constructor(message3){super(message3);Error.captureStackTrace(this,_HeadersTimeoutError);this.name="HeadersTimeoutError";this.message=message3||"Headers Timeout Error";this.code="UND_ERR_HEADERS_TIMEOUT"}};var HeadersOverflowError=class _HeadersOverflowError extends UndiciError{constructor(message3){super(message3);Error.captureStackTrace(this,_HeadersOverflowError);this.name="HeadersOverflowError";this.message=message3||"Headers Overflow Error";this.code="UND_ERR_HEADERS_OVERFLOW"}};var BodyTimeoutError=class _BodyTimeoutError extends UndiciError{constructor(message3){super(message3);Error.captureStackTrace(this,_BodyTimeoutError);this.name="BodyTimeoutError";this.message=message3||"Body Timeout Error";this.code="UND_ERR_BODY_TIMEOUT"}};var ResponseStatusCodeError=class _ResponseStatusCodeError extends UndiciError{constructor(message3,statusCode,headers,body){super(message3);Error.captureStackTrace(this,_ResponseStatusCodeError);this.name="ResponseStatusCodeError";this.message=message3||"Response Status Code Error";this.code="UND_ERR_RESPONSE_STATUS_CODE";this.body=body;this.status=statusCode;this.statusCode=statusCode;this.headers=headers}};var InvalidArgumentError=class _InvalidArgumentError extends UndiciError{constructor(message3){super(message3);Error.captureStackTrace(this,_InvalidArgumentError);this.name="InvalidArgumentError";this.message=message3||"Invalid Argument Error";this.code="UND_ERR_INVALID_ARG"}};var InvalidReturnValueError=class _InvalidReturnValueError extends UndiciError{constructor(message3){super(message3);Error.captureStackTrace(this,_InvalidReturnValueError);this.name="InvalidReturnValueError";this.message=message3||"Invalid Return Value Error";this.code="UND_ERR_INVALID_RETURN_VALUE"}};var RequestAbortedError=class _RequestAbortedError extends UndiciError{constructor(message3){super(message3);Error.captureStackTrace(this,_RequestAbortedError);this.name="AbortError";this.message=message3||"Request aborted";this.code="UND_ERR_ABORTED"}};var InformationalError=class _InformationalError extends UndiciError{constructor(message3){super(message3);Error.captureStackTrace(this,_InformationalError);this.name="InformationalError";this.message=message3||"Request information";this.code="UND_ERR_INFO"}};var RequestContentLengthMismatchError=class _RequestContentLengthMismatchError extends UndiciError{constructor(message3){super(message3);Error.captureStackTrace(this,_RequestContentLengthMismatchError);this.name="RequestContentLengthMismatchError";this.message=message3||"Request body length does not match content-length header";this.code="UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"}};var ResponseContentLengthMismatchError=class _ResponseContentLengthMismatchError extends UndiciError{constructor(message3){super(message3);Error.captureStackTrace(this,_ResponseContentLengthMismatchError);this.name="ResponseContentLengthMismatchError";this.message=message3||"Response body length does not match content-length header";this.code="UND_ERR_RES_CONTENT_LENGTH_MISMATCH"}};var ClientDestroyedError=class _ClientDestroyedError extends UndiciError{constructor(message3){super(message3);Error.captureStackTrace(this,_ClientDestroyedError);this.name="ClientDestroyedError";this.message=message3||"The client is destroyed";this.code="UND_ERR_DESTROYED"}};var ClientClosedError=class _ClientClosedError extends UndiciError{constructor(message3){super(message3);Error.captureStackTrace(this,_ClientClosedError);this.name="ClientClosedError";this.message=message3||"The client is closed";this.code="UND_ERR_CLOSED"}};var SocketError=class _SocketError extends UndiciError{constructor(message3,socket){super(message3);Error.captureStackTrace(this,_SocketError);this.name="SocketError";this.message=message3||"Socket error";this.code="UND_ERR_SOCKET";this.socket=socket}};var NotSupportedError=class _NotSupportedError extends UndiciError{constructor(message3){super(message3);Error.captureStackTrace(this,_NotSupportedError);this.name="NotSupportedError";this.message=message3||"Not supported error";this.code="UND_ERR_NOT_SUPPORTED"}};var BalancedPoolMissingUpstreamError=class extends UndiciError{constructor(message3){super(message3);Error.captureStackTrace(this,NotSupportedError);this.name="MissingUpstreamError";this.message=message3||"No upstream has been added to the BalancedPool";this.code="UND_ERR_BPL_MISSING_UPSTREAM"}};var HTTPParserError=class _HTTPParserError extends Error{constructor(message3,code,data){super(message3);Error.captureStackTrace(this,_HTTPParserError);this.name="HTTPParserError";this.code=code?`HPE_${code}`:void 0;this.data=data?data.toString():void 0}};var ResponseExceededMaxSizeError=class _ResponseExceededMaxSizeError extends UndiciError{constructor(message3){super(message3);Error.captureStackTrace(this,_ResponseExceededMaxSizeError);this.name="ResponseExceededMaxSizeError";this.message=message3||"Response content exceeded max size";this.code="UND_ERR_RES_EXCEEDED_MAX_SIZE"}};var RequestRetryError=class _RequestRetryError extends UndiciError{constructor(message3,code,{headers,data}){super(message3);Error.captureStackTrace(this,_RequestRetryError);this.name="RequestRetryError";this.message=message3||"Request retry error";this.code="UND_ERR_REQ_RETRY";this.statusCode=code;this.data=data;this.headers=headers}};module2.exports={HTTPParserError,UndiciError,HeadersTimeoutError,HeadersOverflowError,BodyTimeoutError,RequestContentLengthMismatchError,ConnectTimeoutError,ResponseStatusCodeError,InvalidArgumentError,InvalidReturnValueError,RequestAbortedError,ClientDestroyedError,ClientClosedError,InformationalError,SocketError,NotSupportedError,ResponseContentLengthMismatchError,BalancedPoolMissingUpstreamError,ResponseExceededMaxSizeError,RequestRetryError}}});var require_constants=__commonJS({"node_modules/undici/lib/core/constants.js"(exports2,module2){"use strict";var headerNameLowerCasedRecord={};var wellknownHeaderNames=["Accept","Accept-Encoding","Accept-Language","Accept-Ranges","Access-Control-Allow-Credentials","Access-Control-Allow-Headers","Access-Control-Allow-Methods","Access-Control-Allow-Origin","Access-Control-Expose-Headers","Access-Control-Max-Age","Access-Control-Request-Headers","Access-Control-Request-Method","Age","Allow","Alt-Svc","Alt-Used","Authorization","Cache-Control","Clear-Site-Data","Connection","Content-Disposition","Content-Encoding","Content-Language","Content-Length","Content-Location","Content-Range","Content-Security-Policy","Content-Security-Policy-Report-Only","Content-Type","Cookie","Cross-Origin-Embedder-Policy","Cross-Origin-Opener-Policy","Cross-Origin-Resource-Policy","Date","Device-Memory","Downlink","ECT","ETag","Expect","Expect-CT","Expires","Forwarded","From","Host","If-Match","If-Modified-Since","If-None-Match","If-Range","If-Unmodified-Since","Keep-Alive","Last-Modified","Link","Location","Max-Forwards","Origin","Permissions-Policy","Pragma","Proxy-Authenticate","Proxy-Authorization","RTT","Range","Referer","Referrer-Policy","Refresh","Retry-After","Sec-WebSocket-Accept","Sec-WebSocket-Extensions","Sec-WebSocket-Key","Sec-WebSocket-Protocol","Sec-WebSocket-Version","Server","Server-Timing","Service-Worker-Allowed","Service-Worker-Navigation-Preload","Set-Cookie","SourceMap","Strict-Transport-Security","Supports-Loading-Mode","TE","Timing-Allow-Origin","Trailer","Transfer-Encoding","Upgrade","Upgrade-Insecure-Requests","User-Agent","Vary","Via","WWW-Authenticate","X-Content-Type-Options","X-DNS-Prefetch-Control","X-Frame-Options","X-Permitted-Cross-Domain-Policies","X-Powered-By","X-Requested-With","X-XSS-Protection"];for(let i=0;i<wellknownHeaderNames.length;++i){const key=wellknownHeaderNames[i];const lowerCasedKey=key.toLowerCase();headerNameLowerCasedRecord[key]=headerNameLowerCasedRecord[lowerCasedKey]=lowerCasedKey}Object.setPrototypeOf(headerNameLowerCasedRecord,null);module2.exports={wellknownHeaderNames,headerNameLowerCasedRecord}}});var require_util3=__commonJS({"node_modules/undici/lib/core/util.js"(exports2,module2){"use strict";var assert2=require("assert");var{kDestroyed,kBodyUsed}=require_symbols();var{IncomingMessage}=require("http");var stream3=require("stream");var net2=require("net");var{InvalidArgumentError}=require_errors5();var{Blob:Blob2}=require("buffer");var nodeUtil2=require("util");var{stringify}=require("querystring");var{headerNameLowerCasedRecord}=require_constants();var[nodeMajor,nodeMinor]=process.versions.node.split(".").map(v=>Number(v));function nop(){}function isStream(obj){return obj&&typeof obj==="object"&&typeof obj.pipe==="function"&&typeof obj.on==="function"}function isBlobLike(object){return Blob2&&object instanceof Blob2||object&&typeof object==="object"&&(typeof object.stream==="function"||typeof object.arrayBuffer==="function")&&/^(Blob|File)$/.test(object[Symbol.toStringTag])}function buildURL(url,queryParams){if(url.includes("?")||url.includes("#")){throw new Error('Query params cannot be passed when url already contains "?" or "#".')}const stringified=stringify(queryParams);if(stringified){url+="?"+stringified}return url}function parseURL(url){if(typeof url==="string"){url=new URL(url);if(!/^https?:/.test(url.origin||url.protocol)){throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.")}return url}if(!url||typeof url!=="object"){throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object.")}if(!/^https?:/.test(url.origin||url.protocol)){throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.")}if(!(url instanceof URL)){if(url.port!=null&&url.port!==""&&!Number.isFinite(parseInt(url.port))){throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer.")}if(url.path!=null&&typeof url.path!=="string"){throw new InvalidArgumentError("Invalid URL path: the path must be a string or null/undefined.")}if(url.pathname!=null&&typeof url.pathname!=="string"){throw new InvalidArgumentError("Invalid URL pathname: the pathname must be a string or null/undefined.")}if(url.hostname!=null&&typeof url.hostname!=="string"){throw new InvalidArgumentError("Invalid URL hostname: the hostname must be a string or null/undefined.")}if(url.origin!=null&&typeof url.origin!=="string"){throw new InvalidArgumentError("Invalid URL origin: the origin must be a string or null/undefined.")}const port=url.port!=null?url.port:url.protocol==="https:"?443:80;let origin=url.origin!=null?url.origin:`${url.protocol}//${url.hostname}:${port}`;let path27=url.path!=null?url.path:`${url.pathname||""}${url.search||""}`;if(origin.endsWith("/")){origin=origin.substring(0,origin.length-1)}if(path27&&!path27.startsWith("/")){path27=`/${path27}`}url=new URL(origin+path27)}return url}function parseOrigin(url){url=parseURL(url);if(url.pathname!=="/"||url.search||url.hash){throw new InvalidArgumentError("invalid url")}return url}function getHostname(host){if(host[0]==="["){const idx2=host.indexOf("]");assert2(idx2!==-1);return host.substring(1,idx2)}const idx=host.indexOf(":");if(idx===-1)return host;return host.substring(0,idx)}function getServerName(host){if(!host){return null}assert2.strictEqual(typeof host,"string");const servername=getHostname(host);if(net2.isIP(servername)){return""}return servername}function deepClone(obj){return JSON.parse(JSON.stringify(obj))}function isAsyncIterable2(obj){return!!(obj!=null&&typeof obj[Symbol.asyncIterator]==="function")}function isIterable2(obj){return!!(obj!=null&&(typeof obj[Symbol.iterator]==="function"||typeof obj[Symbol.asyncIterator]==="function"))}function bodyLength(body){if(body==null){return 0}else if(isStream(body)){const state=body._readableState;return state&&state.objectMode===false&&state.ended===true&&Number.isFinite(state.length)?state.length:null}else if(isBlobLike(body)){return body.size!=null?body.size:null}else if(isBuffer2(body)){return body.byteLength}return null}function isDestroyed(stream4){return!stream4||!!(stream4.destroyed||stream4[kDestroyed])}function isReadableAborted(stream4){const state=stream4&&stream4._readableState;return isDestroyed(stream4)&&state&&!state.endEmitted}function destroy(stream4,err){if(stream4==null||!isStream(stream4)||isDestroyed(stream4)){return}if(typeof stream4.destroy==="function"){if(Object.getPrototypeOf(stream4).constructor===IncomingMessage){stream4.socket=null}stream4.destroy(err)}else if(err){process.nextTick((stream5,err2)=>{stream5.emit("error",err2)},stream4,err)}if(stream4.destroyed!==true){stream4[kDestroyed]=true}}var KEEPALIVE_TIMEOUT_EXPR=/timeout=(\d+)/;function parseKeepAliveTimeout(val){const m=val.toString().match(KEEPALIVE_TIMEOUT_EXPR);return m?parseInt(m[1],10)*1e3:null}function headerNameToString(value){return headerNameLowerCasedRecord[value]||value.toLowerCase()}function parseHeaders(headers,obj={}){if(!Array.isArray(headers))return headers;for(let i=0;i<headers.length;i+=2){const key=headers[i].toString().toLowerCase();let val=obj[key];if(!val){if(Array.isArray(headers[i+1])){obj[key]=headers[i+1].map(x=>x.toString("utf8"))}else{obj[key]=headers[i+1].toString("utf8")}}else{if(!Array.isArray(val)){val=[val];obj[key]=val}val.push(headers[i+1].toString("utf8"))}}if("content-length"in obj&&"content-disposition"in obj){obj["content-disposition"]=Buffer.from(obj["content-disposition"]).toString("latin1")}return obj}function parseRawHeaders(headers){const ret=[];let hasContentLength=false;let contentDispositionIdx=-1;for(let n=0;n<headers.length;n+=2){const key=headers[n+0].toString();const val=headers[n+1].toString("utf8");if(key.length===14&&(key==="content-length"||key.toLowerCase()==="content-length")){ret.push(key,val);hasContentLength=true}else if(key.length===19&&(key==="content-disposition"||key.toLowerCase()==="content-disposition")){contentDispositionIdx=ret.push(key,val)-1}else{ret.push(key,val)}}if(hasContentLength&&contentDispositionIdx!==-1){ret[contentDispositionIdx]=Buffer.from(ret[contentDispositionIdx]).toString("latin1")}return ret}function isBuffer2(buffer){return buffer instanceof Uint8Array||Buffer.isBuffer(buffer)}function validateHandler(handler,method2,upgrade){if(!handler||typeof handler!=="object"){throw new InvalidArgumentError("handler must be an object")}if(typeof handler.onConnect!=="function"){throw new InvalidArgumentError("invalid onConnect method")}if(typeof handler.onError!=="function"){throw new InvalidArgumentError("invalid onError method")}if(typeof handler.onBodySent!=="function"&&handler.onBodySent!==void 0){throw new InvalidArgumentError("invalid onBodySent method")}if(upgrade||method2==="CONNECT"){if(typeof handler.onUpgrade!=="function"){throw new InvalidArgumentError("invalid onUpgrade method")}}else{if(typeof handler.onHeaders!=="function"){throw new InvalidArgumentError("invalid onHeaders method")}if(typeof handler.onData!=="function"){throw new InvalidArgumentError("invalid onData method")}if(typeof handler.onComplete!=="function"){throw new InvalidArgumentError("invalid onComplete method")}}}function isDisturbed(body){return!!(body&&(stream3.isDisturbed?stream3.isDisturbed(body)||body[kBodyUsed]:body[kBodyUsed]||body.readableDidRead||body._readableState&&body._readableState.dataEmitted||isReadableAborted(body)))}function isErrored(body){return!!(body&&(stream3.isErrored?stream3.isErrored(body):/state: 'errored'/.test(nodeUtil2.inspect(body))))}function isReadable(body){return!!(body&&(stream3.isReadable?stream3.isReadable(body):/state: 'readable'/.test(nodeUtil2.inspect(body))))}function getSocketInfo(socket){return{localAddress:socket.localAddress,localPort:socket.localPort,remoteAddress:socket.remoteAddress,remotePort:socket.remotePort,remoteFamily:socket.remoteFamily,timeout:socket.timeout,bytesWritten:socket.bytesWritten,bytesRead:socket.bytesRead}}async function*convertIterableToBuffer(iterable){for await(const chunk2 of iterable){yield Buffer.isBuffer(chunk2)?chunk2:Buffer.from(chunk2)}}var ReadableStream2;function ReadableStreamFrom(iterable){if(!ReadableStream2){ReadableStream2=require("stream/web").ReadableStream}if(ReadableStream2.from){return ReadableStream2.from(convertIterableToBuffer(iterable))}let iterator;return new ReadableStream2({async start(){iterator=iterable[Symbol.asyncIterator]()},async pull(controller){const{done,value}=await iterator.next();if(done){queueMicrotask(()=>{controller.close()})}else{const buf=Buffer.isBuffer(value)?value:Buffer.from(value);controller.enqueue(new Uint8Array(buf))}return controller.desiredSize>0},async cancel(reason){await iterator.return()}},0)}function isFormDataLike(object){return object&&typeof object==="object"&&typeof object.append==="function"&&typeof object.delete==="function"&&typeof object.get==="function"&&typeof object.getAll==="function"&&typeof object.has==="function"&&typeof object.set==="function"&&object[Symbol.toStringTag]==="FormData"}function throwIfAborted(signal){if(!signal){return}if(typeof signal.throwIfAborted==="function"){signal.throwIfAborted()}else{if(signal.aborted){const err=new Error("The operation was aborted");err.name="AbortError";throw err}}}function addAbortListener(signal,listener){if("addEventListener"in signal){signal.addEventListener("abort",listener,{once:true});return()=>signal.removeEventListener("abort",listener)}signal.addListener("abort",listener);return()=>signal.removeListener("abort",listener)}var hasToWellFormed=!!String.prototype.toWellFormed;function toUSVString(val){if(hasToWellFormed){return`${val}`.toWellFormed()}else if(nodeUtil2.toUSVString){return nodeUtil2.toUSVString(val)}return`${val}`}function parseRangeHeader(range2){if(range2==null||range2==="")return{start:0,end:null,size:null};const m=range2?range2.match(/^bytes (\d+)-(\d+)\/(\d+)?$/):null;return m?{start:parseInt(m[1]),end:m[2]?parseInt(m[2]):null,size:m[3]?parseInt(m[3]):null}:null}var kEnumerableProperty=Object.create(null);kEnumerableProperty.enumerable=true;module2.exports={kEnumerableProperty,nop,isDisturbed,isErrored,isReadable,toUSVString,isReadableAborted,isBlobLike,parseOrigin,parseURL,getServerName,isStream,isIterable:isIterable2,isAsyncIterable:isAsyncIterable2,isDestroyed,headerNameToString,parseRawHeaders,parseHeaders,parseKeepAliveTimeout,destroy,bodyLength,deepClone,ReadableStreamFrom,isBuffer:isBuffer2,validateHandler,getSocketInfo,isFormDataLike,buildURL,throwIfAborted,addAbortListener,parseRangeHeader,nodeMajor,nodeMinor,nodeHasAutoSelectFamily:nodeMajor>18||nodeMajor===18&&nodeMinor>=13,safeHTTPMethods:["GET","HEAD","OPTIONS","TRACE"]}}});var require_timers=__commonJS({"node_modules/undici/lib/timers.js"(exports2,module2){"use strict";var fastNow=Date.now();var fastNowTimeout;var fastTimers=[];function onTimeout(){fastNow=Date.now();let len=fastTimers.length;let idx=0;while(idx<len){const timer2=fastTimers[idx];if(timer2.state===0){timer2.state=fastNow+timer2.delay}else if(timer2.state>0&&fastNow>=timer2.state){timer2.state=-1;timer2.callback(timer2.opaque)}if(timer2.state===-1){timer2.state=-2;if(idx!==len-1){fastTimers[idx]=fastTimers.pop()}else{fastTimers.pop()}len-=1}else{idx+=1}}if(fastTimers.length>0){refreshTimeout()}}function refreshTimeout(){if(fastNowTimeout&&fastNowTimeout.refresh){fastNowTimeout.refresh()}else{clearTimeout(fastNowTimeout);fastNowTimeout=setTimeout(onTimeout,1e3);if(fastNowTimeout.unref){fastNowTimeout.unref()}}}var Timeout=class{constructor(callback,delay3,opaque){this.callback=callback;this.delay=delay3;this.opaque=opaque;this.state=-2;this.refresh()}refresh(){if(this.state===-2){fastTimers.push(this);if(!fastNowTimeout||fastTimers.length===1){refreshTimeout()}}this.state=0}clear(){this.state=-1}};module2.exports={setTimeout(callback,delay3,opaque){return delay3<1e3?setTimeout(callback,delay3,opaque):new Timeout(callback,delay3,opaque)},clearTimeout(timeout){if(timeout instanceof Timeout){timeout.clear()}else{clearTimeout(timeout)}}}}});var require_sbmh=__commonJS({"node_modules/@fastify/busboy/deps/streamsearch/sbmh.js"(exports2,module2){"use strict";var EventEmitter3=require("node:events").EventEmitter;var inherits=require("node:util").inherits;function SBMH(needle){if(typeof needle==="string"){needle=Buffer.from(needle)}if(!Buffer.isBuffer(needle)){throw new TypeError("The needle has to be a String or a Buffer.")}const needleLength=needle.length;if(needleLength===0){throw new Error("The needle cannot be an empty String/Buffer.")}if(needleLength>256){throw new Error("The needle cannot have a length bigger than 256.")}this.maxMatches=Infinity;this.matches=0;this._occ=new Array(256).fill(needleLength);this._lookbehind_size=0;this._needle=needle;this._bufpos=0;this._lookbehind=Buffer.alloc(needleLength);for(var i=0;i<needleLength-1;++i){this._occ[needle[i]]=needleLength-1-i}}inherits(SBMH,EventEmitter3);SBMH.prototype.reset=function(){this._lookbehind_size=0;this.matches=0;this._bufpos=0};SBMH.prototype.push=function(chunk2,pos){if(!Buffer.isBuffer(chunk2)){chunk2=Buffer.from(chunk2,"binary")}const chlen=chunk2.length;this._bufpos=pos||0;let r;while(r!==chlen&&this.matches<this.maxMatches){r=this._sbmh_feed(chunk2)}return r};SBMH.prototype._sbmh_feed=function(data){const len=data.length;const needle=this._needle;const needleLength=needle.length;const lastNeedleChar=needle[needleLength-1];let pos=-this._lookbehind_size;let ch;if(pos<0){while(pos<0&&pos<=len-needleLength){ch=this._sbmh_lookup_char(data,pos+needleLength-1);if(ch===lastNeedleChar&&this._sbmh_memcmp(data,pos,needleLength-1)){this._lookbehind_size=0;++this.matches;this.emit("info",true);return this._bufpos=pos+needleLength}pos+=this._occ[ch]}if(pos<0){while(pos<0&&!this._sbmh_memcmp(data,pos,len-pos)){++pos}}if(pos>=0){this.emit("info",false,this._lookbehind,0,this._lookbehind_size);this._lookbehind_size=0}else{const bytesToCutOff=this._lookbehind_size+pos;if(bytesToCutOff>0){this.emit("info",false,this._lookbehind,0,bytesToCutOff)}this._lookbehind.copy(this._lookbehind,0,bytesToCutOff,this._lookbehind_size-bytesToCutOff);this._lookbehind_size-=bytesToCutOff;data.copy(this._lookbehind,this._lookbehind_size);this._lookbehind_size+=len;this._bufpos=len;return len}}pos+=(pos>=0)*this._bufpos;if(data.indexOf(needle,pos)!==-1){pos=data.indexOf(needle,pos);++this.matches;if(pos>0){this.emit("info",true,data,this._bufpos,pos)}else{this.emit("info",true)}return this._bufpos=pos+needleLength}else{pos=len-needleLength}while(pos<len&&(data[pos]!==needle[0]||Buffer.compare(data.subarray(pos,pos+len-pos),needle.subarray(0,len-pos))!==0)){++pos}if(pos<len){data.copy(this._lookbehind,0,pos,pos+(len-pos));this._lookbehind_size=len-pos}if(pos>0){this.emit("info",false,data,this._bufpos,pos<len?pos:len)}this._bufpos=len;return len};SBMH.prototype._sbmh_lookup_char=function(data,pos){return pos<0?this._lookbehind[this._lookbehind_size+pos]:data[pos]};SBMH.prototype._sbmh_memcmp=function(data,pos,len){for(var i=0;i<len;++i){if(this._sbmh_lookup_char(data,pos+i)!==this._needle[i]){return false}}return true};module2.exports=SBMH}});var require_PartStream=__commonJS({"node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js"(exports2,module2){"use strict";var inherits=require("node:util").inherits;var ReadableStream2=require("node:stream").Readable;function PartStream(opts){ReadableStream2.call(this,opts)}inherits(PartStream,ReadableStream2);PartStream.prototype._read=function(n){};module2.exports=PartStream}});var require_getLimit=__commonJS({"node_modules/@fastify/busboy/lib/utils/getLimit.js"(exports2,module2){"use strict";module2.exports=function getLimit(limits,name,defaultLimit){if(!limits||limits[name]===void 0||limits[name]===null){return defaultLimit}if(typeof limits[name]!=="number"||isNaN(limits[name])){throw new TypeError("Limit "+name+" is not a valid number")}return limits[name]}}});var require_HeaderParser=__commonJS({"node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js"(exports2,module2){"use strict";var EventEmitter3=require("node:events").EventEmitter;var inherits=require("node:util").inherits;var getLimit=require_getLimit();var StreamSearch=require_sbmh();var B_DCRLF=Buffer.from("\r\n\r\n");var RE_CRLF=/\r\n/g;var RE_HDR=/^([^:]+):[ \t]?([\x00-\xFF]+)?$/;function HeaderParser(cfg){EventEmitter3.call(this);cfg=cfg||{};const self2=this;this.nread=0;this.maxed=false;this.npairs=0;this.maxHeaderPairs=getLimit(cfg,"maxHeaderPairs",2e3);this.maxHeaderSize=getLimit(cfg,"maxHeaderSize",80*1024);this.buffer="";this.header={};this.finished=false;this.ss=new StreamSearch(B_DCRLF);this.ss.on("info",function(isMatch2,data,start,end){if(data&&!self2.maxed){if(self2.nread+end-start>=self2.maxHeaderSize){end=self2.maxHeaderSize-self2.nread+start;self2.nread=self2.maxHeaderSize;self2.maxed=true}else{self2.nread+=end-start}self2.buffer+=data.toString("binary",start,end)}if(isMatch2){self2._finish()}})}inherits(HeaderParser,EventEmitter3);HeaderParser.prototype.push=function(data){const r=this.ss.push(data);if(this.finished){return r}};HeaderParser.prototype.reset=function(){this.finished=false;this.buffer="";this.header={};this.ss.reset()};HeaderParser.prototype._finish=function(){if(this.buffer){this._parseHeader()}this.ss.matches=this.ss.maxMatches;const header2=this.header;this.header={};this.buffer="";this.finished=true;this.nread=this.npairs=0;this.maxed=false;this.emit("header",header2)};HeaderParser.prototype._parseHeader=function(){if(this.npairs===this.maxHeaderPairs){return}const lines=this.buffer.split(RE_CRLF);const len=lines.length;let m,h;for(var i=0;i<len;++i){if(lines[i].length===0){continue}if(lines[i][0]==="	"||lines[i][0]===" "){if(h){this.header[h][this.header[h].length-1]+=lines[i];continue}}const posColon=lines[i].indexOf(":");if(posColon===-1||posColon===0){return}m=RE_HDR.exec(lines[i]);h=m[1].toLowerCase();this.header[h]=this.header[h]||[];this.header[h].push(m[2]||"");if(++this.npairs===this.maxHeaderPairs){break}}};module2.exports=HeaderParser}});var require_Dicer=__commonJS({"node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js"(exports2,module2){"use strict";var WritableStream=require("node:stream").Writable;var inherits=require("node:util").inherits;var StreamSearch=require_sbmh();var PartStream=require_PartStream();var HeaderParser=require_HeaderParser();var DASH=45;var B_ONEDASH=Buffer.from("-");var B_CRLF=Buffer.from("\r\n");var EMPTY_FN=function(){};function Dicer(cfg){if(!(this instanceof Dicer)){return new Dicer(cfg)}WritableStream.call(this,cfg);if(!cfg||!cfg.headerFirst&&typeof cfg.boundary!=="string"){throw new TypeError("Boundary required")}if(typeof cfg.boundary==="string"){this.setBoundary(cfg.boundary)}else{this._bparser=void 0}this._headerFirst=cfg.headerFirst;this._dashes=0;this._parts=0;this._finished=false;this._realFinish=false;this._isPreamble=true;this._justMatched=false;this._firstWrite=true;this._inHeader=true;this._part=void 0;this._cb=void 0;this._ignoreData=false;this._partOpts={highWaterMark:cfg.partHwm};this._pause=false;const self2=this;this._hparser=new HeaderParser(cfg);this._hparser.on("header",function(header2){self2._inHeader=false;self2._part.emit("header",header2)})}inherits(Dicer,WritableStream);Dicer.prototype.emit=function(ev){if(ev==="finish"&&!this._realFinish){if(!this._finished){const self2=this;process.nextTick(function(){self2.emit("error",new Error("Unexpected end of multipart data"));if(self2._part&&!self2._ignoreData){const type2=self2._isPreamble?"Preamble":"Part";self2._part.emit("error",new Error(type2+" terminated early due to unexpected end of multipart data"));self2._part.push(null);process.nextTick(function(){self2._realFinish=true;self2.emit("finish");self2._realFinish=false});return}self2._realFinish=true;self2.emit("finish");self2._realFinish=false})}}else{WritableStream.prototype.emit.apply(this,arguments)}};Dicer.prototype._write=function(data,encoding,cb){if(!this._hparser&&!this._bparser){return cb()}if(this._headerFirst&&this._isPreamble){if(!this._part){this._part=new PartStream(this._partOpts);if(this.listenerCount("preamble")!==0){this.emit("preamble",this._part)}else{this._ignore()}}const r=this._hparser.push(data);if(!this._inHeader&&r!==void 0&&r<data.length){data=data.slice(r)}else{return cb()}}if(this._firstWrite){this._bparser.push(B_CRLF);this._firstWrite=false}this._bparser.push(data);if(this._pause){this._cb=cb}else{cb()}};Dicer.prototype.reset=function(){this._part=void 0;this._bparser=void 0;this._hparser=void 0};Dicer.prototype.setBoundary=function(boundary){const self2=this;this._bparser=new StreamSearch("\r\n--"+boundary);this._bparser.on("info",function(isMatch2,data,start,end){self2._oninfo(isMatch2,data,start,end)})};Dicer.prototype._ignore=function(){if(this._part&&!this._ignoreData){this._ignoreData=true;this._part.on("error",EMPTY_FN);this._part.resume()}};Dicer.prototype._oninfo=function(isMatch2,data,start,end){let buf;const self2=this;let i=0;let r;let shouldWriteMore=true;if(!this._part&&this._justMatched&&data){while(this._dashes<2&&start+i<end){if(data[start+i]===DASH){++i;++this._dashes}else{if(this._dashes){buf=B_ONEDASH}this._dashes=0;break}}if(this._dashes===2){if(start+i<end&&this.listenerCount("trailer")!==0){this.emit("trailer",data.slice(start+i,end))}this.reset();this._finished=true;if(self2._parts===0){self2._realFinish=true;self2.emit("finish");self2._realFinish=false}}if(this._dashes){return}}if(this._justMatched){this._justMatched=false}if(!this._part){this._part=new PartStream(this._partOpts);this._part._read=function(n){self2._unpause()};if(this._isPreamble&&this.listenerCount("preamble")!==0){this.emit("preamble",this._part)}else if(this._isPreamble!==true&&this.listenerCount("part")!==0){this.emit("part",this._part)}else{this._ignore()}if(!this._isPreamble){this._inHeader=true}}if(data&&start<end&&!this._ignoreData){if(this._isPreamble||!this._inHeader){if(buf){shouldWriteMore=this._part.push(buf)}shouldWriteMore=this._part.push(data.slice(start,end));if(!shouldWriteMore){this._pause=true}}else if(!this._isPreamble&&this._inHeader){if(buf){this._hparser.push(buf)}r=this._hparser.push(data.slice(start,end));if(!this._inHeader&&r!==void 0&&r<end){this._oninfo(false,data,start+r,end)}}}if(isMatch2){this._hparser.reset();if(this._isPreamble){this._isPreamble=false}else{if(start!==end){++this._parts;this._part.on("end",function(){if(--self2._parts===0){if(self2._finished){self2._realFinish=true;self2.emit("finish");self2._realFinish=false}else{self2._unpause()}}})}}this._part.push(null);this._part=void 0;this._ignoreData=false;this._justMatched=true;this._dashes=0}};Dicer.prototype._unpause=function(){if(!this._pause){return}this._pause=false;if(this._cb){const cb=this._cb;this._cb=void 0;cb()}};module2.exports=Dicer}});var require_decodeText=__commonJS({"node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports2,module2){"use strict";var utf8Decoder=new TextDecoder("utf-8");var textDecoders=new Map([["utf-8",utf8Decoder],["utf8",utf8Decoder]]);function getDecoder(charset){let lc;while(true){switch(charset){case"utf-8":case"utf8":return decoders.utf8;case"latin1":case"ascii":case"us-ascii":case"iso-8859-1":case"iso8859-1":case"iso88591":case"iso_8859-1":case"windows-1252":case"iso_8859-1:1987":case"cp1252":case"x-cp1252":return decoders.latin1;case"utf16le":case"utf-16le":case"ucs2":case"ucs-2":return decoders.utf16le;case"base64":return decoders.base64;default:if(lc===void 0){lc=true;charset=charset.toLowerCase();continue}return decoders.other.bind(charset)}}}var decoders={utf8:(data,sourceEncoding)=>{if(data.length===0){return""}if(typeof data==="string"){data=Buffer.from(data,sourceEncoding)}return data.utf8Slice(0,data.length)},latin1:(data,sourceEncoding)=>{if(data.length===0){return""}if(typeof data==="string"){return data}return data.latin1Slice(0,data.length)},utf16le:(data,sourceEncoding)=>{if(data.length===0){return""}if(typeof data==="string"){data=Buffer.from(data,sourceEncoding)}return data.ucs2Slice(0,data.length)},base64:(data,sourceEncoding)=>{if(data.length===0){return""}if(typeof data==="string"){data=Buffer.from(data,sourceEncoding)}return data.base64Slice(0,data.length)},other:(data,sourceEncoding)=>{if(data.length===0){return""}if(typeof data==="string"){data=Buffer.from(data,sourceEncoding)}if(textDecoders.has(exports2.toString())){try{return textDecoders.get(exports2).decode(data)}catch{}}return typeof data==="string"?data:data.toString()}};function decodeText(text,sourceEncoding,destEncoding){if(text){return getDecoder(destEncoding)(text,sourceEncoding)}return text}module2.exports=decodeText}});var require_parseParams=__commonJS({"node_modules/@fastify/busboy/lib/utils/parseParams.js"(exports2,module2){"use strict";var decodeText=require_decodeText();var RE_ENCODED=/%[a-fA-F0-9][a-fA-F0-9]/g;var EncodedLookup={"%00":"\0","%01":"","%02":"","%03":"","%04":"","%05":"","%06":"","%07":"\x07","%08":"\b","%09":"	","%0a":"\n","%0A":"\n","%0b":"\v","%0B":"\v","%0c":"\f","%0C":"\f","%0d":"\r","%0D":"\r","%0e":"","%0E":"","%0f":"","%0F":"","%10":"","%11":"","%12":"","%13":"","%14":"","%15":"","%16":"","%17":"","%18":"","%19":"","%1a":"","%1A":"","%1b":"\x1B","%1B":"\x1B","%1c":"","%1C":"","%1d":"","%1D":"","%1e":"","%1E":"","%1f":"","%1F":"","%20":" ","%21":"!","%22":'"',"%23":"#","%24":"$","%25":"%","%26":"&","%27":"'","%28":"(","%29":")","%2a":"*","%2A":"*","%2b":"+","%2B":"+","%2c":",","%2C":",","%2d":"-","%2D":"-","%2e":".","%2E":".","%2f":"/","%2F":"/","%30":"0","%31":"1","%32":"2","%33":"3","%34":"4","%35":"5","%36":"6","%37":"7","%38":"8","%39":"9","%3a":":","%3A":":","%3b":";","%3B":";","%3c":"<","%3C":"<","%3d":"=","%3D":"=","%3e":">","%3E":">","%3f":"?","%3F":"?","%40":"@","%41":"A","%42":"B","%43":"C","%44":"D","%45":"E","%46":"F","%47":"G","%48":"H","%49":"I","%4a":"J","%4A":"J","%4b":"K","%4B":"K","%4c":"L","%4C":"L","%4d":"M","%4D":"M","%4e":"N","%4E":"N","%4f":"O","%4F":"O","%50":"P","%51":"Q","%52":"R","%53":"S","%54":"T","%55":"U","%56":"V","%57":"W","%58":"X","%59":"Y","%5a":"Z","%5A":"Z","%5b":"[","%5B":"[","%5c":"\\","%5C":"\\","%5d":"]","%5D":"]","%5e":"^","%5E":"^","%5f":"_","%5F":"_","%60":"`","%61":"a","%62":"b","%63":"c","%64":"d","%65":"e","%66":"f","%67":"g","%68":"h","%69":"i","%6a":"j","%6A":"j","%6b":"k","%6B":"k","%6c":"l","%6C":"l","%6d":"m","%6D":"m","%6e":"n","%6E":"n","%6f":"o","%6F":"o","%70":"p","%71":"q","%72":"r","%73":"s","%74":"t","%75":"u","%76":"v","%77":"w","%78":"x","%79":"y","%7a":"z","%7A":"z","%7b":"{","%7B":"{","%7c":"|","%7C":"|","%7d":"}","%7D":"}","%7e":"~","%7E":"~","%7f":"","%7F":"","%80":"","%81":"","%82":"","%83":"","%84":"","%85":"","%86":"","%87":"","%88":"","%89":"","%8a":"","%8A":"","%8b":"","%8B":"","%8c":"","%8C":"","%8d":"","%8D":"","%8e":"","%8E":"","%8f":"","%8F":"","%90":"","%91":"","%92":"","%93":"","%94":"","%95":"","%96":"","%97":"","%98":"","%99":"","%9a":"","%9A":"","%9b":"","%9B":"","%9c":"","%9C":"","%9d":"","%9D":"","%9e":"","%9E":"","%9f":"","%9F":"","%a0":" ","%A0":" ","%a1":"¡","%A1":"¡","%a2":"¢","%A2":"¢","%a3":"£","%A3":"£","%a4":"¤","%A4":"¤","%a5":"¥","%A5":"¥","%a6":"¦","%A6":"¦","%a7":"§","%A7":"§","%a8":"¨","%A8":"¨","%a9":"©","%A9":"©","%aa":"ª","%Aa":"ª","%aA":"ª","%AA":"ª","%ab":"«","%Ab":"«","%aB":"«","%AB":"«","%ac":"¬","%Ac":"¬","%aC":"¬","%AC":"¬","%ad":"­","%Ad":"­","%aD":"­","%AD":"­","%ae":"®","%Ae":"®","%aE":"®","%AE":"®","%af":"¯","%Af":"¯","%aF":"¯","%AF":"¯","%b0":"°","%B0":"°","%b1":"±","%B1":"±","%b2":"²","%B2":"²","%b3":"³","%B3":"³","%b4":"´","%B4":"´","%b5":"µ","%B5":"µ","%b6":"¶","%B6":"¶","%b7":"·","%B7":"·","%b8":"¸","%B8":"¸","%b9":"¹","%B9":"¹","%ba":"º","%Ba":"º","%bA":"º","%BA":"º","%bb":"»","%Bb":"»","%bB":"»","%BB":"»","%bc":"¼","%Bc":"¼","%bC":"¼","%BC":"¼","%bd":"½","%Bd":"½","%bD":"½","%BD":"½","%be":"¾","%Be":"¾","%bE":"¾","%BE":"¾","%bf":"¿","%Bf":"¿","%bF":"¿","%BF":"¿","%c0":"À","%C0":"À","%c1":"Á","%C1":"Á","%c2":"Â","%C2":"Â","%c3":"Ã","%C3":"Ã","%c4":"Ä","%C4":"Ä","%c5":"Å","%C5":"Å","%c6":"Æ","%C6":"Æ","%c7":"Ç","%C7":"Ç","%c8":"È","%C8":"È","%c9":"É","%C9":"É","%ca":"Ê","%Ca":"Ê","%cA":"Ê","%CA":"Ê","%cb":"Ë","%Cb":"Ë","%cB":"Ë","%CB":"Ë","%cc":"Ì","%Cc":"Ì","%cC":"Ì","%CC":"Ì","%cd":"Í","%Cd":"Í","%cD":"Í","%CD":"Í","%ce":"Î","%Ce":"Î","%cE":"Î","%CE":"Î","%cf":"Ï","%Cf":"Ï","%cF":"Ï","%CF":"Ï","%d0":"Ð","%D0":"Ð","%d1":"Ñ","%D1":"Ñ","%d2":"Ò","%D2":"Ò","%d3":"Ó","%D3":"Ó","%d4":"Ô","%D4":"Ô","%d5":"Õ","%D5":"Õ","%d6":"Ö","%D6":"Ö","%d7":"×","%D7":"×","%d8":"Ø","%D8":"Ø","%d9":"Ù","%D9":"Ù","%da":"Ú","%Da":"Ú","%dA":"Ú","%DA":"Ú","%db":"Û","%Db":"Û","%dB":"Û","%DB":"Û","%dc":"Ü","%Dc":"Ü","%dC":"Ü","%DC":"Ü","%dd":"Ý","%Dd":"Ý","%dD":"Ý","%DD":"Ý","%de":"Þ","%De":"Þ","%dE":"Þ","%DE":"Þ","%df":"ß","%Df":"ß","%dF":"ß","%DF":"ß","%e0":"à","%E0":"à","%e1":"á","%E1":"á","%e2":"â","%E2":"â","%e3":"ã","%E3":"ã","%e4":"ä","%E4":"ä","%e5":"å","%E5":"å","%e6":"æ","%E6":"æ","%e7":"ç","%E7":"ç","%e8":"è","%E8":"è","%e9":"é","%E9":"é","%ea":"ê","%Ea":"ê","%eA":"ê","%EA":"ê","%eb":"ë","%Eb":"ë","%eB":"ë","%EB":"ë","%ec":"ì","%Ec":"ì","%eC":"ì","%EC":"ì","%ed":"í","%Ed":"í","%eD":"í","%ED":"í","%ee":"î","%Ee":"î","%eE":"î","%EE":"î","%ef":"ï","%Ef":"ï","%eF":"ï","%EF":"ï","%f0":"ð","%F0":"ð","%f1":"ñ","%F1":"ñ","%f2":"ò","%F2":"ò","%f3":"ó","%F3":"ó","%f4":"ô","%F4":"ô","%f5":"õ","%F5":"õ","%f6":"ö","%F6":"ö","%f7":"÷","%F7":"÷","%f8":"ø","%F8":"ø","%f9":"ù","%F9":"ù","%fa":"ú","%Fa":"ú","%fA":"ú","%FA":"ú","%fb":"û","%Fb":"û","%fB":"û","%FB":"û","%fc":"ü","%Fc":"ü","%fC":"ü","%FC":"ü","%fd":"ý","%Fd":"ý","%fD":"ý","%FD":"ý","%fe":"þ","%Fe":"þ","%fE":"þ","%FE":"þ","%ff":"ÿ","%Ff":"ÿ","%fF":"ÿ","%FF":"ÿ"};function encodedReplacer(match){return EncodedLookup[match]}var STATE_KEY=0;var STATE_VALUE=1;var STATE_CHARSET=2;var STATE_LANG=3;function parseParams(str2){const res=[];let state=STATE_KEY;let charset="";let inquote=false;let escaping=false;let p=0;let tmp="";const len=str2.length;for(var i=0;i<len;++i){const char=str2[i];if(char==="\\"&&inquote){if(escaping){escaping=false}else{escaping=true;continue}}else if(char==='"'){if(!escaping){if(inquote){inquote=false;state=STATE_KEY}else{inquote=true}continue}else{escaping=false}}else{if(escaping&&inquote){tmp+="\\"}escaping=false;if((state===STATE_CHARSET||state===STATE_LANG)&&char==="'"){if(state===STATE_CHARSET){state=STATE_LANG;charset=tmp.substring(1)}else{state=STATE_VALUE}tmp="";continue}else if(state===STATE_KEY&&(char==="*"||char==="=")&&res.length){state=char==="*"?STATE_CHARSET:STATE_VALUE;res[p]=[tmp,void 0];tmp="";continue}else if(!inquote&&char===";"){state=STATE_KEY;if(charset){if(tmp.length){tmp=decodeText(tmp.replace(RE_ENCODED,encodedReplacer),"binary",charset)}charset=""}else if(tmp.length){tmp=decodeText(tmp,"binary","utf8")}if(res[p]===void 0){res[p]=tmp}else{res[p][1]=tmp}tmp="";++p;continue}else if(!inquote&&(char===" "||char==="	")){continue}}tmp+=char}if(charset&&tmp.length){tmp=decodeText(tmp.replace(RE_ENCODED,encodedReplacer),"binary",charset)}else if(tmp){tmp=decodeText(tmp,"binary","utf8")}if(res[p]===void 0){if(tmp){res[p]=tmp}}else{res[p][1]=tmp}return res}module2.exports=parseParams}});var require_basename=__commonJS({"node_modules/@fastify/busboy/lib/utils/basename.js"(exports2,module2){"use strict";module2.exports=function basename2(path27){if(typeof path27!=="string"){return""}for(var i=path27.length-1;i>=0;--i){switch(path27.charCodeAt(i)){case 47:case 92:path27=path27.slice(i+1);return path27===".."||path27==="."?"":path27}}return path27===".."||path27==="."?"":path27}}});var require_multipart=__commonJS({"node_modules/@fastify/busboy/lib/types/multipart.js"(exports2,module2){"use strict";var{Readable:Readable2}=require("node:stream");var{inherits}=require("node:util");var Dicer=require_Dicer();var parseParams=require_parseParams();var decodeText=require_decodeText();var basename2=require_basename();var getLimit=require_getLimit();var RE_BOUNDARY=/^boundary$/i;var RE_FIELD=/^form-data$/i;var RE_CHARSET=/^charset$/i;var RE_FILENAME=/^filename$/i;var RE_NAME=/^name$/i;Multipart.detect=/^multipart\/form-data/i;function Multipart(boy,cfg){let i;let len;const self2=this;let boundary;const limits=cfg.limits;const isPartAFile=cfg.isPartAFile||((fieldName,contentType,fileName)=>contentType==="application/octet-stream"||fileName!==void 0);const parsedConType=cfg.parsedConType||[];const defCharset=cfg.defCharset||"utf8";const preservePath=cfg.preservePath;const fileOpts={highWaterMark:cfg.fileHwm};for(i=0,len=parsedConType.length;i<len;++i){if(Array.isArray(parsedConType[i])&&RE_BOUNDARY.test(parsedConType[i][0])){boundary=parsedConType[i][1];break}}function checkFinished(){if(nends===0&&finished&&!boy._done){finished=false;self2.end()}}if(typeof boundary!=="string"){throw new Error("Multipart: Boundary not found")}const fieldSizeLimit=getLimit(limits,"fieldSize",1*1024*1024);const fileSizeLimit=getLimit(limits,"fileSize",Infinity);const filesLimit=getLimit(limits,"files",Infinity);const fieldsLimit=getLimit(limits,"fields",Infinity);const partsLimit=getLimit(limits,"parts",Infinity);const headerPairsLimit=getLimit(limits,"headerPairs",2e3);const headerSizeLimit=getLimit(limits,"headerSize",80*1024);let nfiles=0;let nfields=0;let nends=0;let curFile;let curField;let finished=false;this._needDrain=false;this._pause=false;this._cb=void 0;this._nparts=0;this._boy=boy;const parserCfg={boundary,maxHeaderPairs:headerPairsLimit,maxHeaderSize:headerSizeLimit,partHwm:fileOpts.highWaterMark,highWaterMark:cfg.highWaterMark};this.parser=new Dicer(parserCfg);this.parser.on("drain",function(){self2._needDrain=false;if(self2._cb&&!self2._pause){const cb=self2._cb;self2._cb=void 0;cb()}}).on("part",function onPart(part){if(++self2._nparts>partsLimit){self2.parser.removeListener("part",onPart);self2.parser.on("part",skipPart);boy.hitPartsLimit=true;boy.emit("partsLimit");return skipPart(part)}if(curField){const field=curField;field.emit("end");field.removeAllListeners("end")}part.on("header",function(header2){let contype;let fieldname;let parsed;let charset;let encoding;let filename;let nsize=0;if(header2["content-type"]){parsed=parseParams(header2["content-type"][0]);if(parsed[0]){contype=parsed[0].toLowerCase();for(i=0,len=parsed.length;i<len;++i){if(RE_CHARSET.test(parsed[i][0])){charset=parsed[i][1].toLowerCase();break}}}}if(contype===void 0){contype="text/plain"}if(charset===void 0){charset=defCharset}if(header2["content-disposition"]){parsed=parseParams(header2["content-disposition"][0]);if(!RE_FIELD.test(parsed[0])){return skipPart(part)}for(i=0,len=parsed.length;i<len;++i){if(RE_NAME.test(parsed[i][0])){fieldname=parsed[i][1]}else if(RE_FILENAME.test(parsed[i][0])){filename=parsed[i][1];if(!preservePath){filename=basename2(filename)}}}}else{return skipPart(part)}if(header2["content-transfer-encoding"]){encoding=header2["content-transfer-encoding"][0].toLowerCase()}else{encoding="7bit"}let onData,onEnd;if(isPartAFile(fieldname,contype,filename)){if(nfiles===filesLimit){if(!boy.hitFilesLimit){boy.hitFilesLimit=true;boy.emit("filesLimit")}return skipPart(part)}++nfiles;if(boy.listenerCount("file")===0){self2.parser._ignore();return}++nends;const file=new FileStream(fileOpts);curFile=file;file.on("end",function(){--nends;self2._pause=false;checkFinished();if(self2._cb&&!self2._needDrain){const cb=self2._cb;self2._cb=void 0;cb()}});file._read=function(n){if(!self2._pause){return}self2._pause=false;if(self2._cb&&!self2._needDrain){const cb=self2._cb;self2._cb=void 0;cb()}};boy.emit("file",fieldname,file,filename,encoding,contype);onData=function(data){if((nsize+=data.length)>fileSizeLimit){const extralen=fileSizeLimit-nsize+data.length;if(extralen>0){file.push(data.slice(0,extralen))}file.truncated=true;file.bytesRead=fileSizeLimit;part.removeAllListeners("data");file.emit("limit");return}else if(!file.push(data)){self2._pause=true}file.bytesRead=nsize};onEnd=function(){curFile=void 0;file.push(null)}}else{if(nfields===fieldsLimit){if(!boy.hitFieldsLimit){boy.hitFieldsLimit=true;boy.emit("fieldsLimit")}return skipPart(part)}++nfields;++nends;let buffer="";let truncated=false;curField=part;onData=function(data){if((nsize+=data.length)>fieldSizeLimit){const extralen=fieldSizeLimit-(nsize-data.length);buffer+=data.toString("binary",0,extralen);truncated=true;part.removeAllListeners("data")}else{buffer+=data.toString("binary")}};onEnd=function(){curField=void 0;if(buffer.length){buffer=decodeText(buffer,"binary",charset)}boy.emit("field",fieldname,buffer,false,truncated,encoding,contype);--nends;checkFinished()}}part._readableState.sync=false;part.on("data",onData);part.on("end",onEnd)}).on("error",function(err){if(curFile){curFile.emit("error",err)}})}).on("error",function(err){boy.emit("error",err)}).on("finish",function(){finished=true;checkFinished()})}Multipart.prototype.write=function(chunk2,cb){const r=this.parser.write(chunk2);if(r&&!this._pause){cb()}else{this._needDrain=!r;this._cb=cb}};Multipart.prototype.end=function(){const self2=this;if(self2.parser.writable){self2.parser.end()}else if(!self2._boy._done){process.nextTick(function(){self2._boy._done=true;self2._boy.emit("finish")})}};function skipPart(part){part.resume()}function FileStream(opts){Readable2.call(this,opts);this.bytesRead=0;this.truncated=false}inherits(FileStream,Readable2);FileStream.prototype._read=function(n){};module2.exports=Multipart}});var require_Decoder=__commonJS({"node_modules/@fastify/busboy/lib/utils/Decoder.js"(exports2,module2){"use strict";var RE_PLUS=/\+/g;var HEX=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];function Decoder(){this.buffer=void 0}Decoder.prototype.write=function(str2){str2=str2.replace(RE_PLUS," ");let res="";let i=0;let p=0;const len=str2.length;for(;i<len;++i){if(this.buffer!==void 0){if(!HEX[str2.charCodeAt(i)]){res+="%"+this.buffer;this.buffer=void 0;--i}else{this.buffer+=str2[i];++p;if(this.buffer.length===2){res+=String.fromCharCode(parseInt(this.buffer,16));this.buffer=void 0}}}else if(str2[i]==="%"){if(i>p){res+=str2.substring(p,i);p=i}this.buffer="";++p}}if(p<len&&this.buffer===void 0){res+=str2.substring(p)}return res};Decoder.prototype.reset=function(){this.buffer=void 0};module2.exports=Decoder}});var require_urlencoded=__commonJS({"node_modules/@fastify/busboy/lib/types/urlencoded.js"(exports2,module2){"use strict";var Decoder=require_Decoder();var decodeText=require_decodeText();var getLimit=require_getLimit();var RE_CHARSET=/^charset$/i;UrlEncoded.detect=/^application\/x-www-form-urlencoded/i;function UrlEncoded(boy,cfg){const limits=cfg.limits;const parsedConType=cfg.parsedConType;this.boy=boy;this.fieldSizeLimit=getLimit(limits,"fieldSize",1*1024*1024);this.fieldNameSizeLimit=getLimit(limits,"fieldNameSize",100);this.fieldsLimit=getLimit(limits,"fields",Infinity);let charset;for(var i=0,len=parsedConType.length;i<len;++i){if(Array.isArray(parsedConType[i])&&RE_CHARSET.test(parsedConType[i][0])){charset=parsedConType[i][1].toLowerCase();break}}if(charset===void 0){charset=cfg.defCharset||"utf8"}this.decoder=new Decoder;this.charset=charset;this._fields=0;this._state="key";this._checkingBytes=true;this._bytesKey=0;this._bytesVal=0;this._key="";this._val="";this._keyTrunc=false;this._valTrunc=false;this._hitLimit=false}UrlEncoded.prototype.write=function(data,cb){if(this._fields===this.fieldsLimit){if(!this.boy.hitFieldsLimit){this.boy.hitFieldsLimit=true;this.boy.emit("fieldsLimit")}return cb()}let idxeq;let idxamp;let i;let p=0;const len=data.length;while(p<len){if(this._state==="key"){idxeq=idxamp=void 0;for(i=p;i<len;++i){if(!this._checkingBytes){++p}if(data[i]===61){idxeq=i;break}else if(data[i]===38){idxamp=i;break}if(this._checkingBytes&&this._bytesKey===this.fieldNameSizeLimit){this._hitLimit=true;break}else if(this._checkingBytes){++this._bytesKey}}if(idxeq!==void 0){if(idxeq>p){this._key+=this.decoder.write(data.toString("binary",p,idxeq))}this._state="val";this._hitLimit=false;this._checkingBytes=true;this._val="";this._bytesVal=0;this._valTrunc=false;this.decoder.reset();p=idxeq+1}else if(idxamp!==void 0){++this._fields;let key;const keyTrunc=this._keyTrunc;if(idxamp>p){key=this._key+=this.decoder.write(data.toString("binary",p,idxamp))}else{key=this._key}this._hitLimit=false;this._checkingBytes=true;this._key="";this._bytesKey=0;this._keyTrunc=false;this.decoder.reset();if(key.length){this.boy.emit("field",decodeText(key,"binary",this.charset),"",keyTrunc,false)}p=idxamp+1;if(this._fields===this.fieldsLimit){return cb()}}else if(this._hitLimit){if(i>p){this._key+=this.decoder.write(data.toString("binary",p,i))}p=i;if((this._bytesKey=this._key.length)===this.fieldNameSizeLimit){this._checkingBytes=false;this._keyTrunc=true}}else{if(p<len){this._key+=this.decoder.write(data.toString("binary",p))}p=len}}else{idxamp=void 0;for(i=p;i<len;++i){if(!this._checkingBytes){++p}if(data[i]===38){idxamp=i;break}if(this._checkingBytes&&this._bytesVal===this.fieldSizeLimit){this._hitLimit=true;break}else if(this._checkingBytes){++this._bytesVal}}if(idxamp!==void 0){++this._fields;if(idxamp>p){this._val+=this.decoder.write(data.toString("binary",p,idxamp))}this.boy.emit("field",decodeText(this._key,"binary",this.charset),decodeText(this._val,"binary",this.charset),this._keyTrunc,this._valTrunc);this._state="key";this._hitLimit=false;this._checkingBytes=true;this._key="";this._bytesKey=0;this._keyTrunc=false;this.decoder.reset();p=idxamp+1;if(this._fields===this.fieldsLimit){return cb()}}else if(this._hitLimit){if(i>p){this._val+=this.decoder.write(data.toString("binary",p,i))}p=i;if(this._val===""&&this.fieldSizeLimit===0||(this._bytesVal=this._val.length)===this.fieldSizeLimit){this._checkingBytes=false;this._valTrunc=true}}else{if(p<len){this._val+=this.decoder.write(data.toString("binary",p))}p=len}}}cb()};UrlEncoded.prototype.end=function(){if(this.boy._done){return}if(this._state==="key"&&this._key.length>0){this.boy.emit("field",decodeText(this._key,"binary",this.charset),"",this._keyTrunc,false)}else if(this._state==="val"){this.boy.emit("field",decodeText(this._key,"binary",this.charset),decodeText(this._val,"binary",this.charset),this._keyTrunc,this._valTrunc)}this.boy._done=true;this.boy.emit("finish")};module2.exports=UrlEncoded}});var require_main2=__commonJS({"node_modules/@fastify/busboy/lib/main.js"(exports2,module2){"use strict";var WritableStream=require("node:stream").Writable;var{inherits}=require("node:util");var Dicer=require_Dicer();var MultipartParser=require_multipart();var UrlencodedParser=require_urlencoded();var parseParams=require_parseParams();function Busboy(opts){if(!(this instanceof Busboy)){return new Busboy(opts)}if(typeof opts!=="object"){throw new TypeError("Busboy expected an options-Object.")}if(typeof opts.headers!=="object"){throw new TypeError("Busboy expected an options-Object with headers-attribute.")}if(typeof opts.headers["content-type"]!=="string"){throw new TypeError("Missing Content-Type-header.")}const{headers,...streamOptions}=opts;this.opts={autoDestroy:false,...streamOptions};WritableStream.call(this,this.opts);this._done=false;this._parser=this.getParserByHeaders(headers);this._finished=false}inherits(Busboy,WritableStream);Busboy.prototype.emit=function(ev){var _a12;if(ev==="finish"){if(!this._done){(_a12=this._parser)==null?void 0:_a12.end();return}else if(this._finished){return}this._finished=true}WritableStream.prototype.emit.apply(this,arguments)};Busboy.prototype.getParserByHeaders=function(headers){const parsed=parseParams(headers["content-type"]);const cfg={defCharset:this.opts.defCharset,fileHwm:this.opts.fileHwm,headers,highWaterMark:this.opts.highWaterMark,isPartAFile:this.opts.isPartAFile,limits:this.opts.limits,parsedConType:parsed,preservePath:this.opts.preservePath};if(MultipartParser.detect.test(parsed[0])){return new MultipartParser(this,cfg)}if(UrlencodedParser.detect.test(parsed[0])){return new UrlencodedParser(this,cfg)}throw new Error("Unsupported Content-Type.")};Busboy.prototype._write=function(chunk2,encoding,cb){this._parser.write(chunk2,cb)};module2.exports=Busboy;module2.exports.default=Busboy;module2.exports.Busboy=Busboy;module2.exports.Dicer=Dicer}});var require_constants2=__commonJS({"node_modules/undici/lib/fetch/constants.js"(exports2,module2){"use strict";var{MessageChannel,receiveMessageOnPort}=require("worker_threads");var corsSafeListedMethods=["GET","HEAD","POST"];var corsSafeListedMethodsSet=new Set(corsSafeListedMethods);var nullBodyStatus=[101,204,205,304];var redirectStatus=[301,302,303,307,308];var redirectStatusSet=new Set(redirectStatus);var badPorts=["1","7","9","11","13","15","17","19","20","21","22","23","25","37","42","43","53","69","77","79","87","95","101","102","103","104","109","110","111","113","115","117","119","123","135","137","139","143","161","179","389","427","465","512","513","514","515","526","530","531","532","540","548","554","556","563","587","601","636","989","990","993","995","1719","1720","1723","2049","3659","4045","5060","5061","6000","6566","6665","6666","6667","6668","6669","6697","10080"];var badPortsSet=new Set(badPorts);var referrerPolicy=["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"];var referrerPolicySet=new Set(referrerPolicy);var requestRedirect=["follow","manual","error"];var safeMethods=["GET","HEAD","OPTIONS","TRACE"];var safeMethodsSet=new Set(safeMethods);var requestMode=["navigate","same-origin","no-cors","cors"];var requestCredentials=["omit","same-origin","include"];var requestCache=["default","no-store","reload","no-cache","force-cache","only-if-cached"];var requestBodyHeader=["content-encoding","content-language","content-location","content-type","content-length"];var requestDuplex=["half"];var forbiddenMethods=["CONNECT","TRACE","TRACK"];var forbiddenMethodsSet=new Set(forbiddenMethods);var subresource=["audio","audioworklet","font","image","manifest","paintworklet","script","style","track","video","xslt",""];var subresourceSet=new Set(subresource);var DOMException2=globalThis.DOMException??(()=>{try{atob("~")}catch(err){return Object.getPrototypeOf(err).constructor}})();var channel;var structuredClone2=globalThis.structuredClone??function structuredClone3(value,options=void 0){if(arguments.length===0){throw new TypeError("missing argument")}if(!channel){channel=new MessageChannel}channel.port1.unref();channel.port2.unref();channel.port1.postMessage(value,options==null?void 0:options.transfer);return receiveMessageOnPort(channel.port2).message};module2.exports={DOMException:DOMException2,structuredClone:structuredClone2,subresource,forbiddenMethods,requestBodyHeader,referrerPolicy,requestRedirect,requestMode,requestCredentials,requestCache,redirectStatus,corsSafeListedMethods,nullBodyStatus,safeMethods,badPorts,requestDuplex,subresourceSet,badPortsSet,redirectStatusSet,corsSafeListedMethodsSet,safeMethodsSet,forbiddenMethodsSet,referrerPolicySet}}});var require_global=__commonJS({"node_modules/undici/lib/fetch/global.js"(exports2,module2){"use strict";var globalOrigin=Symbol.for("undici.globalOrigin.1");function getGlobalOrigin(){return globalThis[globalOrigin]}function setGlobalOrigin(newOrigin){if(newOrigin===void 0){Object.defineProperty(globalThis,globalOrigin,{value:void 0,writable:true,enumerable:false,configurable:false});return}const parsedURL=new URL(newOrigin);if(parsedURL.protocol!=="http:"&&parsedURL.protocol!=="https:"){throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`)}Object.defineProperty(globalThis,globalOrigin,{value:parsedURL,writable:true,enumerable:false,configurable:false})}module2.exports={getGlobalOrigin,setGlobalOrigin}}});var require_util4=__commonJS({"node_modules/undici/lib/fetch/util.js"(exports2,module2){"use strict";var{redirectStatusSet,referrerPolicySet:referrerPolicyTokens,badPortsSet}=require_constants2();var{getGlobalOrigin}=require_global();var{performance:performance3}=require("perf_hooks");var{isBlobLike,toUSVString,ReadableStreamFrom}=require_util3();var assert2=require("assert");var{isUint8Array}=require("util/types");var supportedHashes=[];var crypto6;try{crypto6=require("crypto");const possibleRelevantHashes=["sha256","sha384","sha512"];supportedHashes=crypto6.getHashes().filter(hash=>possibleRelevantHashes.includes(hash))}catch{}function responseURL(response){const urlList=response.urlList;const length=urlList.length;return length===0?null:urlList[length-1].toString()}function responseLocationURL(response,requestFragment){if(!redirectStatusSet.has(response.status)){return null}let location=response.headersList.get("location");if(location!==null&&isValidHeaderValue(location)){location=new URL(location,responseURL(response))}if(location&&!location.hash){location.hash=requestFragment}return location}function requestCurrentURL(request){return request.urlList[request.urlList.length-1]}function requestBadPort(request){const url=requestCurrentURL(request);if(urlIsHttpHttpsScheme(url)&&badPortsSet.has(url.port)){return"blocked"}return"allowed"}function isErrorLike(object){var _a12,_b2;return object instanceof Error||(((_a12=object==null?void 0:object.constructor)==null?void 0:_a12.name)==="Error"||((_b2=object==null?void 0:object.constructor)==null?void 0:_b2.name)==="DOMException")}function isValidReasonPhrase(statusText){for(let i=0;i<statusText.length;++i){const c=statusText.charCodeAt(i);if(!(c===9||c>=32&&c<=126||c>=128&&c<=255)){return false}}return true}function isTokenCharCode(c){switch(c){case 34:case 40:case 41:case 44:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 123:case 125:return false;default:return c>=33&&c<=126}}function isValidHTTPToken(characters){if(characters.length===0){return false}for(let i=0;i<characters.length;++i){if(!isTokenCharCode(characters.charCodeAt(i))){return false}}return true}function isValidHeaderName(potentialValue){return isValidHTTPToken(potentialValue)}function isValidHeaderValue(potentialValue){if(potentialValue.startsWith("	")||potentialValue.startsWith(" ")||potentialValue.endsWith("	")||potentialValue.endsWith(" ")){return false}if(potentialValue.includes("\0")||potentialValue.includes("\r")||potentialValue.includes("\n")){return false}return true}function setRequestReferrerPolicyOnRedirect(request,actualResponse){const{headersList}=actualResponse;const policyHeader=(headersList.get("referrer-policy")??"").split(",");let policy="";if(policyHeader.length>0){for(let i=policyHeader.length;i!==0;i--){const token3=policyHeader[i-1].trim();if(referrerPolicyTokens.has(token3)){policy=token3;break}}}if(policy!==""){request.referrerPolicy=policy}}function crossOriginResourcePolicyCheck(){return"allowed"}function corsCheck(){return"success"}function TAOCheck(){return"success"}function appendFetchMetadata(httpRequest){let header2=null;header2=httpRequest.mode;httpRequest.headersList.set("sec-fetch-mode",header2)}function appendRequestOriginHeader(request){let serializedOrigin=request.origin;if(request.responseTainting==="cors"||request.mode==="websocket"){if(serializedOrigin){request.headersList.append("origin",serializedOrigin)}}else if(request.method!=="GET"&&request.method!=="HEAD"){switch(request.referrerPolicy){case"no-referrer":serializedOrigin=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":if(request.origin&&urlHasHttpsScheme(request.origin)&&!urlHasHttpsScheme(requestCurrentURL(request))){serializedOrigin=null}break;case"same-origin":if(!sameOrigin(request,requestCurrentURL(request))){serializedOrigin=null}break;default:}if(serializedOrigin){request.headersList.append("origin",serializedOrigin)}}}function coarsenedSharedCurrentTime(crossOriginIsolatedCapability){return performance3.now()}function createOpaqueTimingInfo(timingInfo){return{startTime:timingInfo.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:timingInfo.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}}function makePolicyContainer(){return{referrerPolicy:"strict-origin-when-cross-origin"}}function clonePolicyContainer(policyContainer){return{referrerPolicy:policyContainer.referrerPolicy}}function determineRequestsReferrer(request){const policy=request.referrerPolicy;assert2(policy);let referrerSource=null;if(request.referrer==="client"){const globalOrigin=getGlobalOrigin();if(!globalOrigin||globalOrigin.origin==="null"){return"no-referrer"}referrerSource=new URL(globalOrigin)}else if(request.referrer instanceof URL){referrerSource=request.referrer}let referrerURL=stripURLForReferrer(referrerSource);const referrerOrigin=stripURLForReferrer(referrerSource,true);if(referrerURL.toString().length>4096){referrerURL=referrerOrigin}const areSameOrigin=sameOrigin(request,referrerURL);const isNonPotentiallyTrustWorthy=isURLPotentiallyTrustworthy(referrerURL)&&!isURLPotentiallyTrustworthy(request.url);switch(policy){case"origin":return referrerOrigin!=null?referrerOrigin:stripURLForReferrer(referrerSource,true);case"unsafe-url":return referrerURL;case"same-origin":return areSameOrigin?referrerOrigin:"no-referrer";case"origin-when-cross-origin":return areSameOrigin?referrerURL:referrerOrigin;case"strict-origin-when-cross-origin":{const currentURL=requestCurrentURL(request);if(sameOrigin(referrerURL,currentURL)){return referrerURL}if(isURLPotentiallyTrustworthy(referrerURL)&&!isURLPotentiallyTrustworthy(currentURL)){return"no-referrer"}return referrerOrigin}case"strict-origin":case"no-referrer-when-downgrade":default:return isNonPotentiallyTrustWorthy?"no-referrer":referrerOrigin}}function stripURLForReferrer(url,originOnly){assert2(url instanceof URL);if(url.protocol==="file:"||url.protocol==="about:"||url.protocol==="blank:"){return"no-referrer"}url.username="";url.password="";url.hash="";if(originOnly){url.pathname="";url.search=""}return url}function isURLPotentiallyTrustworthy(url){if(!(url instanceof URL)){return false}if(url.href==="about:blank"||url.href==="about:srcdoc"){return true}if(url.protocol==="data:")return true;if(url.protocol==="file:")return true;return isOriginPotentiallyTrustworthy(url.origin);function isOriginPotentiallyTrustworthy(origin){if(origin==null||origin==="null")return false;const originAsURL=new URL(origin);if(originAsURL.protocol==="https:"||originAsURL.protocol==="wss:"){return true}if(/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(originAsURL.hostname)||(originAsURL.hostname==="localhost"||originAsURL.hostname.includes("localhost."))||originAsURL.hostname.endsWith(".localhost")){return true}return false}}function bytesMatch(bytes9,metadataList){if(crypto6===void 0){return true}const parsedMetadata=parseMetadata(metadataList);if(parsedMetadata==="no metadata"){return true}if(parsedMetadata.length===0){return true}const strongest=getStrongestMetadata(parsedMetadata);const metadata=filterMetadataListByAlgorithm(parsedMetadata,strongest);for(const item of metadata){const algorithm=item.algo;const expectedValue=item.hash;let actualValue=crypto6.createHash(algorithm).update(bytes9).digest("base64");if(actualValue[actualValue.length-1]==="="){if(actualValue[actualValue.length-2]==="="){actualValue=actualValue.slice(0,-2)}else{actualValue=actualValue.slice(0,-1)}}if(compareBase64Mixed(actualValue,expectedValue)){return true}}return false}var parseHashWithOptions=/(?<algo>sha256|sha384|sha512)-((?<hash>[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;function parseMetadata(metadata){const result2=[];let empty=true;for(const token3 of metadata.split(" ")){empty=false;const parsedToken=parseHashWithOptions.exec(token3);if(parsedToken===null||parsedToken.groups===void 0||parsedToken.groups.algo===void 0){continue}const algorithm=parsedToken.groups.algo.toLowerCase();if(supportedHashes.includes(algorithm)){result2.push(parsedToken.groups)}}if(empty===true){return"no metadata"}return result2}function getStrongestMetadata(metadataList){let algorithm=metadataList[0].algo;if(algorithm[3]==="5"){return algorithm}for(let i=1;i<metadataList.length;++i){const metadata=metadataList[i];if(metadata.algo[3]==="5"){algorithm="sha512";break}else if(algorithm[3]==="3"){continue}else if(metadata.algo[3]==="3"){algorithm="sha384"}}return algorithm}function filterMetadataListByAlgorithm(metadataList,algorithm){if(metadataList.length===1){return metadataList}let pos=0;for(let i=0;i<metadataList.length;++i){if(metadataList[i].algo===algorithm){metadataList[pos++]=metadataList[i]}}metadataList.length=pos;return metadataList}function compareBase64Mixed(actualValue,expectedValue){if(actualValue.length!==expectedValue.length){return false}for(let i=0;i<actualValue.length;++i){if(actualValue[i]!==expectedValue[i]){if(actualValue[i]==="+"&&expectedValue[i]==="-"||actualValue[i]==="/"&&expectedValue[i]==="_"){continue}return false}}return true}function tryUpgradeRequestToAPotentiallyTrustworthyURL(request){}function sameOrigin(A,B){if(A.origin===B.origin&&A.origin==="null"){return true}if(A.protocol===B.protocol&&A.hostname===B.hostname&&A.port===B.port){return true}return false}function createDeferredPromise(){let res;let rej;const promise=new Promise((resolve,reject2)=>{res=resolve;rej=reject2});return{promise,resolve:res,reject:rej}}function isAborted2(fetchParams){return fetchParams.controller.state==="aborted"}function isCancelled(fetchParams){return fetchParams.controller.state==="aborted"||fetchParams.controller.state==="terminated"}var normalizeMethodRecord={delete:"DELETE",DELETE:"DELETE",get:"GET",GET:"GET",head:"HEAD",HEAD:"HEAD",options:"OPTIONS",OPTIONS:"OPTIONS",post:"POST",POST:"POST",put:"PUT",PUT:"PUT"};Object.setPrototypeOf(normalizeMethodRecord,null);function normalizeMethod(method2){return normalizeMethodRecord[method2.toLowerCase()]??method2}function serializeJavascriptValueToJSONString(value){const result2=JSON.stringify(value);if(result2===void 0){throw new TypeError("Value is not JSON serializable")}assert2(typeof result2==="string");return result2}var esIteratorPrototype=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function makeIterator(iterator,name,kind){const object={index:0,kind,target:iterator};const i={next(){if(Object.getPrototypeOf(this)!==i){throw new TypeError(`'next' called on an object that does not implement interface ${name} Iterator.`)}const{index,kind:kind2,target}=object;const values2=target();const len=values2.length;if(index>=len){return{value:void 0,done:true}}const pair=values2[index];object.index=index+1;return iteratorResult(pair,kind2)},[Symbol.toStringTag]:`${name} Iterator`};Object.setPrototypeOf(i,esIteratorPrototype);return Object.setPrototypeOf({},i)}function iteratorResult(pair,kind){let result2;switch(kind){case"key":{result2=pair[0];break}case"value":{result2=pair[1];break}case"key+value":{result2=pair;break}}return{value:result2,done:false}}async function fullyReadBody(body,processBody,processBodyError){const successSteps=processBody;const errorSteps=processBodyError;let reader;try{reader=body.stream.getReader()}catch(e){errorSteps(e);return}try{const result2=await readAllBytes(reader);successSteps(result2)}catch(e){errorSteps(e)}}var ReadableStream2=globalThis.ReadableStream;function isReadableStreamLike(stream3){if(!ReadableStream2){ReadableStream2=require("stream/web").ReadableStream}return stream3 instanceof ReadableStream2||stream3[Symbol.toStringTag]==="ReadableStream"&&typeof stream3.tee==="function"}var MAXIMUM_ARGUMENT_LENGTH=65535;function isomorphicDecode(input){if(input.length<MAXIMUM_ARGUMENT_LENGTH){return String.fromCharCode(...input)}return input.reduce((previous,current)=>previous+String.fromCharCode(current),"")}function readableStreamClose(controller){try{controller.close()}catch(err){if(!err.message.includes("Controller is already closed")){throw err}}}function isomorphicEncode(input){for(let i=0;i<input.length;i++){assert2(input.charCodeAt(i)<=255)}return input}async function readAllBytes(reader){const bytes9=[];let byteLength=0;while(true){const{done,value:chunk2}=await reader.read();if(done){return Buffer.concat(bytes9,byteLength)}if(!isUint8Array(chunk2)){throw new TypeError("Received non-Uint8Array chunk")}bytes9.push(chunk2);byteLength+=chunk2.length}}function urlIsLocal(url){assert2("protocol"in url);const protocol=url.protocol;return protocol==="about:"||protocol==="blob:"||protocol==="data:"}function urlHasHttpsScheme(url){if(typeof url==="string"){return url.startsWith("https:")}return url.protocol==="https:"}function urlIsHttpHttpsScheme(url){assert2("protocol"in url);const protocol=url.protocol;return protocol==="http:"||protocol==="https:"}var hasOwn2=Object.hasOwn||((dict,key)=>Object.prototype.hasOwnProperty.call(dict,key));module2.exports={isAborted:isAborted2,isCancelled,createDeferredPromise,ReadableStreamFrom,toUSVString,tryUpgradeRequestToAPotentiallyTrustworthyURL,coarsenedSharedCurrentTime,determineRequestsReferrer,makePolicyContainer,clonePolicyContainer,appendFetchMetadata,appendRequestOriginHeader,TAOCheck,corsCheck,crossOriginResourcePolicyCheck,createOpaqueTimingInfo,setRequestReferrerPolicyOnRedirect,isValidHTTPToken,requestBadPort,requestCurrentURL,responseURL,responseLocationURL,isBlobLike,isURLPotentiallyTrustworthy,isValidReasonPhrase,sameOrigin,normalizeMethod,serializeJavascriptValueToJSONString,makeIterator,isValidHeaderName,isValidHeaderValue,hasOwn:hasOwn2,isErrorLike,fullyReadBody,bytesMatch,isReadableStreamLike,readableStreamClose,isomorphicEncode,isomorphicDecode,urlIsLocal,urlHasHttpsScheme,urlIsHttpHttpsScheme,readAllBytes,normalizeMethodRecord,parseMetadata}}});var require_symbols2=__commonJS({"node_modules/undici/lib/fetch/symbols.js"(exports2,module2){"use strict";module2.exports={kUrl:Symbol("url"),kHeaders:Symbol("headers"),kSignal:Symbol("signal"),kState:Symbol("state"),kGuard:Symbol("guard"),kRealm:Symbol("realm")}}});var require_webidl=__commonJS({"node_modules/undici/lib/fetch/webidl.js"(exports2,module2){"use strict";var{types:types6}=require("util");var{hasOwn:hasOwn2,toUSVString}=require_util4();var webidl={};webidl.converters={};webidl.util={};webidl.errors={};webidl.errors.exception=function(message3){return new TypeError(`${message3.header}: ${message3.message}`)};webidl.errors.conversionFailed=function(context){const plural=context.types.length===1?"":" one of";const message3=`${context.argument} could not be converted to${plural}: ${context.types.join(", ")}.`;return webidl.errors.exception({header:context.prefix,message:message3})};webidl.errors.invalidArgument=function(context){return webidl.errors.exception({header:context.prefix,message:`"${context.value}" is an invalid ${context.type}.`})};webidl.brandCheck=function(V,I,opts=void 0){if((opts==null?void 0:opts.strict)!==false&&!(V instanceof I)){throw new TypeError("Illegal invocation")}else{return(V==null?void 0:V[Symbol.toStringTag])===I.prototype[Symbol.toStringTag]}};webidl.argumentLengthCheck=function({length},min3,ctx){if(length<min3){throw webidl.errors.exception({message:`${min3} argument${min3!==1?"s":""} required, but${length?" only":""} ${length} found.`,...ctx})}};webidl.illegalConstructor=function(){throw webidl.errors.exception({header:"TypeError",message:"Illegal constructor"})};webidl.util.Type=function(V){switch(typeof V){case"undefined":return"Undefined";case"boolean":return"Boolean";case"string":return"String";case"symbol":return"Symbol";case"number":return"Number";case"bigint":return"BigInt";case"function":case"object":{if(V===null){return"Null"}return"Object"}}};webidl.util.ConvertToInt=function(V,bitLength3,signedness,opts={}){let upperBound;let lowerBound;if(bitLength3===64){upperBound=Math.pow(2,53)-1;if(signedness==="unsigned"){lowerBound=0}else{lowerBound=Math.pow(-2,53)+1}}else if(signedness==="unsigned"){lowerBound=0;upperBound=Math.pow(2,bitLength3)-1}else{lowerBound=Math.pow(-2,bitLength3)-1;upperBound=Math.pow(2,bitLength3-1)-1}let x=Number(V);if(x===0){x=0}if(opts.enforceRange===true){if(Number.isNaN(x)||x===Number.POSITIVE_INFINITY||x===Number.NEGATIVE_INFINITY){throw webidl.errors.exception({header:"Integer conversion",message:`Could not convert ${V} to an integer.`})}x=webidl.util.IntegerPart(x);if(x<lowerBound||x>upperBound){throw webidl.errors.exception({header:"Integer conversion",message:`Value must be between ${lowerBound}-${upperBound}, got ${x}.`})}return x}if(!Number.isNaN(x)&&opts.clamp===true){x=Math.min(Math.max(x,lowerBound),upperBound);if(Math.floor(x)%2===0){x=Math.floor(x)}else{x=Math.ceil(x)}return x}if(Number.isNaN(x)||x===0&&Object.is(0,x)||x===Number.POSITIVE_INFINITY||x===Number.NEGATIVE_INFINITY){return 0}x=webidl.util.IntegerPart(x);x=x%Math.pow(2,bitLength3);if(signedness==="signed"&&x>=Math.pow(2,bitLength3)-1){return x-Math.pow(2,bitLength3)}return x};webidl.util.IntegerPart=function(n){const r=Math.floor(Math.abs(n));if(n<0){return-1*r}return r};webidl.sequenceConverter=function(converter){return V=>{var _a12;if(webidl.util.Type(V)!=="Object"){throw webidl.errors.exception({header:"Sequence",message:`Value of type ${webidl.util.Type(V)} is not an Object.`})}const method2=(_a12=V==null?void 0:V[Symbol.iterator])==null?void 0:_a12.call(V);const seq2=[];if(method2===void 0||typeof method2.next!=="function"){throw webidl.errors.exception({header:"Sequence",message:"Object is not an iterator."})}while(true){const{done,value}=method2.next();if(done){break}seq2.push(converter(value))}return seq2}};webidl.recordConverter=function(keyConverter,valueConverter){return O=>{if(webidl.util.Type(O)!=="Object"){throw webidl.errors.exception({header:"Record",message:`Value of type ${webidl.util.Type(O)} is not an Object.`})}const result2={};if(!types6.isProxy(O)){const keys3=Object.keys(O);for(const key of keys3){const typedKey=keyConverter(key);const typedValue=valueConverter(O[key]);result2[typedKey]=typedValue}return result2}const keys2=Reflect.ownKeys(O);for(const key of keys2){const desc=Reflect.getOwnPropertyDescriptor(O,key);if(desc==null?void 0:desc.enumerable){const typedKey=keyConverter(key);const typedValue=valueConverter(O[key]);result2[typedKey]=typedValue}}return result2}};webidl.interfaceConverter=function(i){return(V,opts={})=>{if(opts.strict!==false&&!(V instanceof i)){throw webidl.errors.exception({header:i.name,message:`Expected ${V} to be an instance of ${i.name}.`})}return V}};webidl.dictionaryConverter=function(converters){return dictionary=>{const type2=webidl.util.Type(dictionary);const dict={};if(type2==="Null"||type2==="Undefined"){return dict}else if(type2!=="Object"){throw webidl.errors.exception({header:"Dictionary",message:`Expected ${dictionary} to be one of: Null, Undefined, Object.`})}for(const options of converters){const{key,defaultValue,required,converter}=options;if(required===true){if(!hasOwn2(dictionary,key)){throw webidl.errors.exception({header:"Dictionary",message:`Missing required key "${key}".`})}}let value=dictionary[key];const hasDefault=hasOwn2(options,"defaultValue");if(hasDefault&&value!==null){value=value??defaultValue}if(required||hasDefault||value!==void 0){value=converter(value);if(options.allowedValues&&!options.allowedValues.includes(value)){throw webidl.errors.exception({header:"Dictionary",message:`${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`})}dict[key]=value}}return dict}};webidl.nullableConverter=function(converter){return V=>{if(V===null){return V}return converter(V)}};webidl.converters.DOMString=function(V,opts={}){if(V===null&&opts.legacyNullToEmptyString){return""}if(typeof V==="symbol"){throw new TypeError("Could not convert argument of type symbol to string.")}return String(V)};webidl.converters.ByteString=function(V){const x=webidl.converters.DOMString(V);for(let index=0;index<x.length;index++){if(x.charCodeAt(index)>255){throw new TypeError(`Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x.charCodeAt(index)} which is greater than 255.`)}}return x};webidl.converters.USVString=toUSVString;webidl.converters.boolean=function(V){const x=Boolean(V);return x};webidl.converters.any=function(V){return V};webidl.converters["long long"]=function(V){const x=webidl.util.ConvertToInt(V,64,"signed");return x};webidl.converters["unsigned long long"]=function(V){const x=webidl.util.ConvertToInt(V,64,"unsigned");return x};webidl.converters["unsigned long"]=function(V){const x=webidl.util.ConvertToInt(V,32,"unsigned");return x};webidl.converters["unsigned short"]=function(V,opts){const x=webidl.util.ConvertToInt(V,16,"unsigned",opts);return x};webidl.converters.ArrayBuffer=function(V,opts={}){if(webidl.util.Type(V)!=="Object"||!types6.isAnyArrayBuffer(V)){throw webidl.errors.conversionFailed({prefix:`${V}`,argument:`${V}`,types:["ArrayBuffer"]})}if(opts.allowShared===false&&types6.isSharedArrayBuffer(V)){throw webidl.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}return V};webidl.converters.TypedArray=function(V,T,opts={}){if(webidl.util.Type(V)!=="Object"||!types6.isTypedArray(V)||V.constructor.name!==T.name){throw webidl.errors.conversionFailed({prefix:`${T.name}`,argument:`${V}`,types:[T.name]})}if(opts.allowShared===false&&types6.isSharedArrayBuffer(V.buffer)){throw webidl.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}return V};webidl.converters.DataView=function(V,opts={}){if(webidl.util.Type(V)!=="Object"||!types6.isDataView(V)){throw webidl.errors.exception({header:"DataView",message:"Object is not a DataView."})}if(opts.allowShared===false&&types6.isSharedArrayBuffer(V.buffer)){throw webidl.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}return V};webidl.converters.BufferSource=function(V,opts={}){if(types6.isAnyArrayBuffer(V)){return webidl.converters.ArrayBuffer(V,opts)}if(types6.isTypedArray(V)){return webidl.converters.TypedArray(V,V.constructor)}if(types6.isDataView(V)){return webidl.converters.DataView(V,opts)}throw new TypeError(`Could not convert ${V} to a BufferSource.`)};webidl.converters["sequence<ByteString>"]=webidl.sequenceConverter(webidl.converters.ByteString);webidl.converters["sequence<sequence<ByteString>>"]=webidl.sequenceConverter(webidl.converters["sequence<ByteString>"]);webidl.converters["record<ByteString, ByteString>"]=webidl.recordConverter(webidl.converters.ByteString,webidl.converters.ByteString);module2.exports={webidl}}});var require_dataURL=__commonJS({"node_modules/undici/lib/fetch/dataURL.js"(exports2,module2){var assert2=require("assert");var{atob:atob2}=require("buffer");var{isomorphicDecode}=require_util4();var encoder2=new TextEncoder;var HTTP_TOKEN_CODEPOINTS=/^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;var HTTP_WHITESPACE_REGEX=/(\u000A|\u000D|\u0009|\u0020)/;var HTTP_QUOTED_STRING_TOKENS=/[\u0009|\u0020-\u007E|\u0080-\u00FF]/;function dataURLProcessor(dataURL){assert2(dataURL.protocol==="data:");let input=URLSerializer(dataURL,true);input=input.slice(5);const position={position:0};let mimeType=collectASequenceOfCodePointsFast(",",input,position);const mimeTypeLength=mimeType.length;mimeType=removeASCIIWhitespace(mimeType,true,true);if(position.position>=input.length){return"failure"}position.position++;const encodedBody=input.slice(mimeTypeLength+1);let body=stringPercentDecode(encodedBody);if(/;(\u0020){0,}base64$/i.test(mimeType)){const stringBody=isomorphicDecode(body);body=forgivingBase64(stringBody);if(body==="failure"){return"failure"}mimeType=mimeType.slice(0,-6);mimeType=mimeType.replace(/(\u0020)+$/,"");mimeType=mimeType.slice(0,-1)}if(mimeType.startsWith(";")){mimeType="text/plain"+mimeType}let mimeTypeRecord=parseMIMEType(mimeType);if(mimeTypeRecord==="failure"){mimeTypeRecord=parseMIMEType("text/plain;charset=US-ASCII")}return{mimeType:mimeTypeRecord,body}}function URLSerializer(url,excludeFragment=false){if(!excludeFragment){return url.href}const href=url.href;const hashLength=url.hash.length;return hashLength===0?href:href.substring(0,href.length-hashLength)}function collectASequenceOfCodePoints(condition,input,position){let result2="";while(position.position<input.length&&condition(input[position.position])){result2+=input[position.position];position.position++}return result2}function collectASequenceOfCodePointsFast(char,input,position){const idx=input.indexOf(char,position.position);const start=position.position;if(idx===-1){position.position=input.length;return input.slice(start)}position.position=idx;return input.slice(start,position.position)}function stringPercentDecode(input){const bytes9=encoder2.encode(input);return percentDecode(bytes9)}function percentDecode(input){const output=[];for(let i=0;i<input.length;i++){const byte=input[i];if(byte!==37){output.push(byte)}else if(byte===37&&!/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i+1],input[i+2]))){output.push(37)}else{const nextTwoBytes=String.fromCharCode(input[i+1],input[i+2]);const bytePoint=Number.parseInt(nextTwoBytes,16);output.push(bytePoint);i+=2}}return Uint8Array.from(output)}function parseMIMEType(input){input=removeHTTPWhitespace(input,true,true);const position={position:0};const type2=collectASequenceOfCodePointsFast("/",input,position);if(type2.length===0||!HTTP_TOKEN_CODEPOINTS.test(type2)){return"failure"}if(position.position>input.length){return"failure"}position.position++;let subtype=collectASequenceOfCodePointsFast(";",input,position);subtype=removeHTTPWhitespace(subtype,false,true);if(subtype.length===0||!HTTP_TOKEN_CODEPOINTS.test(subtype)){return"failure"}const typeLowercase=type2.toLowerCase();const subtypeLowercase=subtype.toLowerCase();const mimeType={type:typeLowercase,subtype:subtypeLowercase,parameters:new Map,essence:`${typeLowercase}/${subtypeLowercase}`};while(position.position<input.length){position.position++;collectASequenceOfCodePoints(char=>HTTP_WHITESPACE_REGEX.test(char),input,position);let parameterName=collectASequenceOfCodePoints(char=>char!==";"&&char!=="=",input,position);parameterName=parameterName.toLowerCase();if(position.position<input.length){if(input[position.position]===";"){continue}position.position++}if(position.position>input.length){break}let parameterValue=null;if(input[position.position]==='"'){parameterValue=collectAnHTTPQuotedString(input,position,true);collectASequenceOfCodePointsFast(";",input,position)}else{parameterValue=collectASequenceOfCodePointsFast(";",input,position);parameterValue=removeHTTPWhitespace(parameterValue,false,true);if(parameterValue.length===0){continue}}if(parameterName.length!==0&&HTTP_TOKEN_CODEPOINTS.test(parameterName)&&(parameterValue.length===0||HTTP_QUOTED_STRING_TOKENS.test(parameterValue))&&!mimeType.parameters.has(parameterName)){mimeType.parameters.set(parameterName,parameterValue)}}return mimeType}function forgivingBase64(data){data=data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g,"");if(data.length%4===0){data=data.replace(/=?=$/,"")}if(data.length%4===1){return"failure"}if(/[^+/0-9A-Za-z]/.test(data)){return"failure"}const binary2=atob2(data);const bytes9=new Uint8Array(binary2.length);for(let byte=0;byte<binary2.length;byte++){bytes9[byte]=binary2.charCodeAt(byte)}return bytes9}function collectAnHTTPQuotedString(input,position,extractValue){const positionStart=position.position;let value="";assert2(input[position.position]==='"');position.position++;while(true){value+=collectASequenceOfCodePoints(char=>char!=='"'&&char!=="\\",input,position);if(position.position>=input.length){break}const quoteOrBackslash=input[position.position];position.position++;if(quoteOrBackslash==="\\"){if(position.position>=input.length){value+="\\";break}value+=input[position.position];position.position++}else{assert2(quoteOrBackslash==='"');break}}if(extractValue){return value}return input.slice(positionStart,position.position)}function serializeAMimeType(mimeType){assert2(mimeType!=="failure");const{parameters,essence}=mimeType;let serialization=essence;for(let[name,value]of parameters.entries()){serialization+=";";serialization+=name;serialization+="=";if(!HTTP_TOKEN_CODEPOINTS.test(value)){value=value.replace(/(\\|")/g,"\\$1");value='"'+value;value+='"'}serialization+=value}return serialization}function isHTTPWhiteSpace(char){return char==="\r"||char==="\n"||char==="	"||char===" "}function removeHTTPWhitespace(str2,leading=true,trailing=true){let lead=0;let trail=str2.length-1;if(leading){for(;lead<str2.length&&isHTTPWhiteSpace(str2[lead]);lead++);}if(trailing){for(;trail>0&&isHTTPWhiteSpace(str2[trail]);trail--);}return str2.slice(lead,trail+1)}function isASCIIWhitespace(char){return char==="\r"||char==="\n"||char==="	"||char==="\f"||char===" "}function removeASCIIWhitespace(str2,leading=true,trailing=true){let lead=0;let trail=str2.length-1;if(leading){for(;lead<str2.length&&isASCIIWhitespace(str2[lead]);lead++);}if(trailing){for(;trail>0&&isASCIIWhitespace(str2[trail]);trail--);}return str2.slice(lead,trail+1)}module2.exports={dataURLProcessor,URLSerializer,collectASequenceOfCodePoints,collectASequenceOfCodePointsFast,stringPercentDecode,parseMIMEType,collectAnHTTPQuotedString,serializeAMimeType}}});var require_file2=__commonJS({"node_modules/undici/lib/fetch/file.js"(exports2,module2){"use strict";var{Blob:Blob2,File:NativeFile}=require("buffer");var{types:types6}=require("util");var{kState}=require_symbols2();var{isBlobLike}=require_util4();var{webidl}=require_webidl();var{parseMIMEType,serializeAMimeType}=require_dataURL();var{kEnumerableProperty}=require_util3();var encoder2=new TextEncoder;var File2=class _File extends Blob2{constructor(fileBits,fileName,options={}){webidl.argumentLengthCheck(arguments,2,{header:"File constructor"});fileBits=webidl.converters["sequence<BlobPart>"](fileBits);fileName=webidl.converters.USVString(fileName);options=webidl.converters.FilePropertyBag(options);const n=fileName;let t=options.type;let d;substep:{if(t){t=parseMIMEType(t);if(t==="failure"){t="";break substep}t=serializeAMimeType(t).toLowerCase()}d=options.lastModified}super(processBlobParts(fileBits,options),{type:t});this[kState]={name:n,lastModified:d,type:t}}get name(){webidl.brandCheck(this,_File);return this[kState].name}get lastModified(){webidl.brandCheck(this,_File);return this[kState].lastModified}get type(){webidl.brandCheck(this,_File);return this[kState].type}};var FileLike=class _FileLike{constructor(blobLike,fileName,options={}){const n=fileName;const t=options.type;const d=options.lastModified??Date.now();this[kState]={blobLike,name:n,type:t,lastModified:d}}stream(...args2){webidl.brandCheck(this,_FileLike);return this[kState].blobLike.stream(...args2)}arrayBuffer(...args2){webidl.brandCheck(this,_FileLike);return this[kState].blobLike.arrayBuffer(...args2)}slice(...args2){webidl.brandCheck(this,_FileLike);return this[kState].blobLike.slice(...args2)}text(...args2){webidl.brandCheck(this,_FileLike);return this[kState].blobLike.text(...args2)}get size(){webidl.brandCheck(this,_FileLike);return this[kState].blobLike.size}get type(){webidl.brandCheck(this,_FileLike);return this[kState].blobLike.type}get name(){webidl.brandCheck(this,_FileLike);return this[kState].name}get lastModified(){webidl.brandCheck(this,_FileLike);return this[kState].lastModified}get[Symbol.toStringTag](){return"File"}};Object.defineProperties(File2.prototype,{[Symbol.toStringTag]:{value:"File",configurable:true},name:kEnumerableProperty,lastModified:kEnumerableProperty});webidl.converters.Blob=webidl.interfaceConverter(Blob2);webidl.converters.BlobPart=function(V,opts){if(webidl.util.Type(V)==="Object"){if(isBlobLike(V)){return webidl.converters.Blob(V,{strict:false})}if(ArrayBuffer.isView(V)||types6.isAnyArrayBuffer(V)){return webidl.converters.BufferSource(V,opts)}}return webidl.converters.USVString(V,opts)};webidl.converters["sequence<BlobPart>"]=webidl.sequenceConverter(webidl.converters.BlobPart);webidl.converters.FilePropertyBag=webidl.dictionaryConverter([{key:"lastModified",converter:webidl.converters["long long"],get defaultValue(){return Date.now()}},{key:"type",converter:webidl.converters.DOMString,defaultValue:""},{key:"endings",converter:value=>{value=webidl.converters.DOMString(value);value=value.toLowerCase();if(value!=="native"){value="transparent"}return value},defaultValue:"transparent"}]);function processBlobParts(parts,options){const bytes9=[];for(const element of parts){if(typeof element==="string"){let s=element;if(options.endings==="native"){s=convertLineEndingsNative(s)}bytes9.push(encoder2.encode(s))}else if(types6.isAnyArrayBuffer(element)||types6.isTypedArray(element)){if(!element.buffer){bytes9.push(new Uint8Array(element))}else{bytes9.push(new Uint8Array(element.buffer,element.byteOffset,element.byteLength))}}else if(isBlobLike(element)){bytes9.push(element)}}return bytes9}function convertLineEndingsNative(s){let nativeLineEnding="\n";if(process.platform==="win32"){nativeLineEnding="\r\n"}return s.replace(/\r?\n/g,nativeLineEnding)}function isFileLike(object){return NativeFile&&object instanceof NativeFile||object instanceof File2||object&&(typeof object.stream==="function"||typeof object.arrayBuffer==="function")&&object[Symbol.toStringTag]==="File"}module2.exports={File:File2,FileLike,isFileLike}}});var require_formdata=__commonJS({"node_modules/undici/lib/fetch/formdata.js"(exports2,module2){"use strict";var{isBlobLike,toUSVString,makeIterator}=require_util4();var{kState}=require_symbols2();var{File:UndiciFile,FileLike,isFileLike}=require_file2();var{webidl}=require_webidl();var{Blob:Blob2,File:NativeFile}=require("buffer");var File2=NativeFile??UndiciFile;var FormData=class _FormData{constructor(form){if(form!==void 0){throw webidl.errors.conversionFailed({prefix:"FormData constructor",argument:"Argument 1",types:["undefined"]})}this[kState]=[]}append(name,value,filename=void 0){webidl.brandCheck(this,_FormData);webidl.argumentLengthCheck(arguments,2,{header:"FormData.append"});if(arguments.length===3&&!isBlobLike(value)){throw new TypeError("Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'")}name=webidl.converters.USVString(name);value=isBlobLike(value)?webidl.converters.Blob(value,{strict:false}):webidl.converters.USVString(value);filename=arguments.length===3?webidl.converters.USVString(filename):void 0;const entry=makeEntry(name,value,filename);this[kState].push(entry)}delete(name){webidl.brandCheck(this,_FormData);webidl.argumentLengthCheck(arguments,1,{header:"FormData.delete"});name=webidl.converters.USVString(name);this[kState]=this[kState].filter(entry=>entry.name!==name)}get(name){webidl.brandCheck(this,_FormData);webidl.argumentLengthCheck(arguments,1,{header:"FormData.get"});name=webidl.converters.USVString(name);const idx=this[kState].findIndex(entry=>entry.name===name);if(idx===-1){return null}return this[kState][idx].value}getAll(name){webidl.brandCheck(this,_FormData);webidl.argumentLengthCheck(arguments,1,{header:"FormData.getAll"});name=webidl.converters.USVString(name);return this[kState].filter(entry=>entry.name===name).map(entry=>entry.value)}has(name){webidl.brandCheck(this,_FormData);webidl.argumentLengthCheck(arguments,1,{header:"FormData.has"});name=webidl.converters.USVString(name);return this[kState].findIndex(entry=>entry.name===name)!==-1}set(name,value,filename=void 0){webidl.brandCheck(this,_FormData);webidl.argumentLengthCheck(arguments,2,{header:"FormData.set"});if(arguments.length===3&&!isBlobLike(value)){throw new TypeError("Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'")}name=webidl.converters.USVString(name);value=isBlobLike(value)?webidl.converters.Blob(value,{strict:false}):webidl.converters.USVString(value);filename=arguments.length===3?toUSVString(filename):void 0;const entry=makeEntry(name,value,filename);const idx=this[kState].findIndex(entry2=>entry2.name===name);if(idx!==-1){this[kState]=[...this[kState].slice(0,idx),entry,...this[kState].slice(idx+1).filter(entry2=>entry2.name!==name)]}else{this[kState].push(entry)}}entries(){webidl.brandCheck(this,_FormData);return makeIterator(()=>this[kState].map(pair=>[pair.name,pair.value]),"FormData","key+value")}keys(){webidl.brandCheck(this,_FormData);return makeIterator(()=>this[kState].map(pair=>[pair.name,pair.value]),"FormData","key")}values(){webidl.brandCheck(this,_FormData);return makeIterator(()=>this[kState].map(pair=>[pair.name,pair.value]),"FormData","value")}forEach(callbackFn,thisArg=globalThis){webidl.brandCheck(this,_FormData);webidl.argumentLengthCheck(arguments,1,{header:"FormData.forEach"});if(typeof callbackFn!=="function"){throw new TypeError("Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'.")}for(const[key,value]of this){callbackFn.apply(thisArg,[value,key,this])}}};FormData.prototype[Symbol.iterator]=FormData.prototype.entries;Object.defineProperties(FormData.prototype,{[Symbol.toStringTag]:{value:"FormData",configurable:true}});function makeEntry(name,value,filename){name=Buffer.from(name).toString("utf8");if(typeof value==="string"){value=Buffer.from(value).toString("utf8")}else{if(!isFileLike(value)){value=value instanceof Blob2?new File2([value],"blob",{type:value.type}):new FileLike(value,"blob",{type:value.type})}if(filename!==void 0){const options={type:value.type,lastModified:value.lastModified};value=NativeFile&&value instanceof NativeFile||value instanceof UndiciFile?new File2([value],filename,options):new FileLike(value,filename,options)}}return{name,value}}module2.exports={FormData}}});var require_body=__commonJS({"node_modules/undici/lib/fetch/body.js"(exports2,module2){"use strict";var Busboy=require_main2();var util4=require_util3();var{ReadableStreamFrom,isBlobLike,isReadableStreamLike,readableStreamClose,createDeferredPromise,fullyReadBody}=require_util4();var{FormData}=require_formdata();var{kState}=require_symbols2();var{webidl}=require_webidl();var{DOMException:DOMException2,structuredClone:structuredClone2}=require_constants2();var{Blob:Blob2,File:NativeFile}=require("buffer");var{kBodyUsed}=require_symbols();var assert2=require("assert");var{isErrored}=require_util3();var{isUint8Array,isArrayBuffer:isArrayBuffer2}=require("util/types");var{File:UndiciFile}=require_file2();var{parseMIMEType,serializeAMimeType}=require_dataURL();var ReadableStream2=globalThis.ReadableStream;var File2=NativeFile??UndiciFile;var textEncoder=new TextEncoder;var textDecoder=new TextDecoder;function extractBody(object,keepalive=false){if(!ReadableStream2){ReadableStream2=require("stream/web").ReadableStream}let stream3=null;if(object instanceof ReadableStream2){stream3=object}else if(isBlobLike(object)){stream3=object.stream()}else{stream3=new ReadableStream2({async pull(controller){controller.enqueue(typeof source==="string"?textEncoder.encode(source):source);queueMicrotask(()=>readableStreamClose(controller))},start(){},type:void 0})}assert2(isReadableStreamLike(stream3));let action=null;let source=null;let length=null;let type2=null;if(typeof object==="string"){source=object;type2="text/plain;charset=UTF-8"}else if(object instanceof URLSearchParams){source=object.toString();type2="application/x-www-form-urlencoded;charset=UTF-8"}else if(isArrayBuffer2(object)){source=new Uint8Array(object.slice())}else if(ArrayBuffer.isView(object)){source=new Uint8Array(object.buffer.slice(object.byteOffset,object.byteOffset+object.byteLength))}else if(util4.isFormDataLike(object)){const boundary=`----formdata-undici-0${`${Math.floor(Math.random()*1e11)}`.padStart(11,"0")}`;const prefix=`--${boundary}\r
Content-Disposition: form-data`;const escape3=str2=>str2.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22");const normalizeLinefeeds=value=>value.replace(/\r?\n|\r/g,"\r\n");const blobParts=[];const rn=new Uint8Array([13,10]);length=0;let hasUnknownSizeValue=false;for(const[name,value]of object){if(typeof value==="string"){const chunk3=textEncoder.encode(prefix+`; name="${escape3(normalizeLinefeeds(name))}"\r
\r
${normalizeLinefeeds(value)}\r
`);blobParts.push(chunk3);length+=chunk3.byteLength}else{const chunk3=textEncoder.encode(`${prefix}; name="${escape3(normalizeLinefeeds(name))}"`+(value.name?`; filename="${escape3(value.name)}"`:"")+`\r
Content-Type: ${value.type||"application/octet-stream"}\r
\r
`);blobParts.push(chunk3,value,rn);if(typeof value.size==="number"){length+=chunk3.byteLength+value.size+rn.byteLength}else{hasUnknownSizeValue=true}}}const chunk2=textEncoder.encode(`--${boundary}--`);blobParts.push(chunk2);length+=chunk2.byteLength;if(hasUnknownSizeValue){length=null}source=object;action=async function*(){for(const part of blobParts){if(part.stream){yield*part.stream()}else{yield part}}};type2="multipart/form-data; boundary="+boundary}else if(isBlobLike(object)){source=object;length=object.size;if(object.type){type2=object.type}}else if(typeof object[Symbol.asyncIterator]==="function"){if(keepalive){throw new TypeError("keepalive")}if(util4.isDisturbed(object)||object.locked){throw new TypeError("Response body object should not be disturbed or locked")}stream3=object instanceof ReadableStream2?object:ReadableStreamFrom(object)}if(typeof source==="string"||util4.isBuffer(source)){length=Buffer.byteLength(source)}if(action!=null){let iterator;stream3=new ReadableStream2({async start(){iterator=action(object)[Symbol.asyncIterator]()},async pull(controller){const{value,done}=await iterator.next();if(done){queueMicrotask(()=>{controller.close()})}else{if(!isErrored(stream3)){controller.enqueue(new Uint8Array(value))}}return controller.desiredSize>0},async cancel(reason){await iterator.return()},type:void 0})}const body={stream:stream3,source,length};return[body,type2]}function safelyExtractBody(object,keepalive=false){if(!ReadableStream2){ReadableStream2=require("stream/web").ReadableStream}if(object instanceof ReadableStream2){assert2(!util4.isDisturbed(object),"The body has already been consumed.");assert2(!object.locked,"The stream is locked.")}return extractBody(object,keepalive)}function cloneBody(body){const[out1,out2]=body.stream.tee();const out2Clone=structuredClone2(out2,{transfer:[out2]});const[,finalClone]=out2Clone.tee();body.stream=out1;return{stream:finalClone,length:body.length,source:body.source}}async function*consumeBody(body){if(body){if(isUint8Array(body)){yield body}else{const stream3=body.stream;if(util4.isDisturbed(stream3)){throw new TypeError("The body has already been consumed.")}if(stream3.locked){throw new TypeError("The stream is locked.")}stream3[kBodyUsed]=true;yield*stream3}}}function throwIfAborted(state){if(state.aborted){throw new DOMException2("The operation was aborted.","AbortError")}}function bodyMixinMethods(instance){const methods={blob(){return specConsumeBody(this,bytes9=>{let mimeType=bodyMimeType(this);if(mimeType==="failure"){mimeType=""}else if(mimeType){mimeType=serializeAMimeType(mimeType)}return new Blob2([bytes9],{type:mimeType})},instance)},arrayBuffer(){return specConsumeBody(this,bytes9=>{return new Uint8Array(bytes9).buffer},instance)},text(){return specConsumeBody(this,utf8DecodeBytes,instance)},json(){return specConsumeBody(this,parseJSONFromBytes,instance)},async formData(){webidl.brandCheck(this,instance);throwIfAborted(this[kState]);const contentType=this.headers.get("Content-Type");if(/multipart\/form-data/.test(contentType)){const headers={};for(const[key,value]of this.headers)headers[key.toLowerCase()]=value;const responseFormData=new FormData;let busboy;try{busboy=new Busboy({headers,preservePath:true})}catch(err){throw new DOMException2(`${err}`,"AbortError")}busboy.on("field",(name,value)=>{responseFormData.append(name,value)});busboy.on("file",(name,value,filename,encoding,mimeType)=>{const chunks=[];if(encoding==="base64"||encoding.toLowerCase()==="base64"){let base64chunk="";value.on("data",chunk2=>{base64chunk+=chunk2.toString().replace(/[\r\n]/gm,"");const end=base64chunk.length-base64chunk.length%4;chunks.push(Buffer.from(base64chunk.slice(0,end),"base64"));base64chunk=base64chunk.slice(end)});value.on("end",()=>{chunks.push(Buffer.from(base64chunk,"base64"));responseFormData.append(name,new File2(chunks,filename,{type:mimeType}))})}else{value.on("data",chunk2=>{chunks.push(chunk2)});value.on("end",()=>{responseFormData.append(name,new File2(chunks,filename,{type:mimeType}))})}});const busboyResolve=new Promise((resolve,reject2)=>{busboy.on("finish",resolve);busboy.on("error",err=>reject2(new TypeError(err)))});if(this.body!==null)for await(const chunk2 of consumeBody(this[kState].body))busboy.write(chunk2);busboy.end();await busboyResolve;return responseFormData}else if(/application\/x-www-form-urlencoded/.test(contentType)){let entries2;try{let text="";const streamingDecoder=new TextDecoder("utf-8",{ignoreBOM:true});for await(const chunk2 of consumeBody(this[kState].body)){if(!isUint8Array(chunk2)){throw new TypeError("Expected Uint8Array chunk")}text+=streamingDecoder.decode(chunk2,{stream:true})}text+=streamingDecoder.decode();entries2=new URLSearchParams(text)}catch(err){throw Object.assign(new TypeError,{cause:err})}const formData=new FormData;for(const[name,value]of entries2){formData.append(name,value)}return formData}else{await Promise.resolve();throwIfAborted(this[kState]);throw webidl.errors.exception({header:`${instance.name}.formData`,message:"Could not parse content as FormData."})}}};return methods}function mixinBody(prototype){Object.assign(prototype.prototype,bodyMixinMethods(prototype))}async function specConsumeBody(object,convertBytesToJSValue,instance){webidl.brandCheck(object,instance);throwIfAborted(object[kState]);if(bodyUnusable(object[kState].body)){throw new TypeError("Body is unusable")}const promise=createDeferredPromise();const errorSteps=error=>promise.reject(error);const successSteps=data=>{try{promise.resolve(convertBytesToJSValue(data))}catch(e){errorSteps(e)}};if(object[kState].body==null){successSteps(new Uint8Array);return promise.promise}await fullyReadBody(object[kState].body,successSteps,errorSteps);return promise.promise}function bodyUnusable(body){return body!=null&&(body.stream.locked||util4.isDisturbed(body.stream))}function utf8DecodeBytes(buffer){if(buffer.length===0){return""}if(buffer[0]===239&&buffer[1]===187&&buffer[2]===191){buffer=buffer.subarray(3)}const output=textDecoder.decode(buffer);return output}function parseJSONFromBytes(bytes9){return JSON.parse(utf8DecodeBytes(bytes9))}function bodyMimeType(object){const{headersList}=object[kState];const contentType=headersList.get("content-type");if(contentType===null){return"failure"}return parseMIMEType(contentType)}module2.exports={extractBody,safelyExtractBody,cloneBody,mixinBody}}});var require_request2=__commonJS({"node_modules/undici/lib/core/request.js"(exports2,module2){"use strict";var{InvalidArgumentError,NotSupportedError}=require_errors5();var assert2=require("assert");var{kHTTP2BuildRequest,kHTTP2CopyHeaders,kHTTP1BuildRequest}=require_symbols();var util4=require_util3();var tokenRegExp=/^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;var headerCharRegex=/[^\t\x20-\x7e\x80-\xff]/;var invalidPathRegex=/[^\u0021-\u00ff]/;var kHandler=Symbol("handler");var channels={};var extractBody;try{const diagnosticsChannel=require("diagnostics_channel");channels.create=diagnosticsChannel.channel("undici:request:create");channels.bodySent=diagnosticsChannel.channel("undici:request:bodySent");channels.headers=diagnosticsChannel.channel("undici:request:headers");channels.trailers=diagnosticsChannel.channel("undici:request:trailers");channels.error=diagnosticsChannel.channel("undici:request:error")}catch{channels.create={hasSubscribers:false};channels.bodySent={hasSubscribers:false};channels.headers={hasSubscribers:false};channels.trailers={hasSubscribers:false};channels.error={hasSubscribers:false}}var Request2=class _Request{constructor(origin,{path:path27,method:method2,body,headers,query,idempotent,blocking,upgrade,headersTimeout,bodyTimeout,reset,throwOnError,expectContinue},handler){if(typeof path27!=="string"){throw new InvalidArgumentError("path must be a string")}else if(path27[0]!=="/"&&!(path27.startsWith("http://")||path27.startsWith("https://"))&&method2!=="CONNECT"){throw new InvalidArgumentError("path must be an absolute URL or start with a slash")}else if(invalidPathRegex.exec(path27)!==null){throw new InvalidArgumentError("invalid request path")}if(typeof method2!=="string"){throw new InvalidArgumentError("method must be a string")}else if(tokenRegExp.exec(method2)===null){throw new InvalidArgumentError("invalid request method")}if(upgrade&&typeof upgrade!=="string"){throw new InvalidArgumentError("upgrade must be a string")}if(headersTimeout!=null&&(!Number.isFinite(headersTimeout)||headersTimeout<0)){throw new InvalidArgumentError("invalid headersTimeout")}if(bodyTimeout!=null&&(!Number.isFinite(bodyTimeout)||bodyTimeout<0)){throw new InvalidArgumentError("invalid bodyTimeout")}if(reset!=null&&typeof reset!=="boolean"){throw new InvalidArgumentError("invalid reset")}if(expectContinue!=null&&typeof expectContinue!=="boolean"){throw new InvalidArgumentError("invalid expectContinue")}this.headersTimeout=headersTimeout;this.bodyTimeout=bodyTimeout;this.throwOnError=throwOnError===true;this.method=method2;this.abort=null;if(body==null){this.body=null}else if(util4.isStream(body)){this.body=body;const rState=this.body._readableState;if(!rState||!rState.autoDestroy){this.endHandler=function autoDestroy(){util4.destroy(this)};this.body.on("end",this.endHandler)}this.errorHandler=err=>{if(this.abort){this.abort(err)}else{this.error=err}};this.body.on("error",this.errorHandler)}else if(util4.isBuffer(body)){this.body=body.byteLength?body:null}else if(ArrayBuffer.isView(body)){this.body=body.buffer.byteLength?Buffer.from(body.buffer,body.byteOffset,body.byteLength):null}else if(body instanceof ArrayBuffer){this.body=body.byteLength?Buffer.from(body):null}else if(typeof body==="string"){this.body=body.length?Buffer.from(body):null}else if(util4.isFormDataLike(body)||util4.isIterable(body)||util4.isBlobLike(body)){this.body=body}else{throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable")}this.completed=false;this.aborted=false;this.upgrade=upgrade||null;this.path=query?util4.buildURL(path27,query):path27;this.origin=origin;this.idempotent=idempotent==null?method2==="HEAD"||method2==="GET":idempotent;this.blocking=blocking==null?false:blocking;this.reset=reset==null?null:reset;this.host=null;this.contentLength=null;this.contentType=null;this.headers="";this.expectContinue=expectContinue!=null?expectContinue:false;if(Array.isArray(headers)){if(headers.length%2!==0){throw new InvalidArgumentError("headers array must be even")}for(let i=0;i<headers.length;i+=2){processHeader(this,headers[i],headers[i+1])}}else if(headers&&typeof headers==="object"){const keys2=Object.keys(headers);for(let i=0;i<keys2.length;i++){const key=keys2[i];processHeader(this,key,headers[key])}}else if(headers!=null){throw new InvalidArgumentError("headers must be an object or an array")}if(util4.isFormDataLike(this.body)){if(util4.nodeMajor<16||util4.nodeMajor===16&&util4.nodeMinor<8){throw new InvalidArgumentError("Form-Data bodies are only supported in node v16.8 and newer.")}if(!extractBody){extractBody=require_body().extractBody}const[bodyStream,contentType]=extractBody(body);if(this.contentType==null){this.contentType=contentType;this.headers+=`content-type: ${contentType}\r
`}this.body=bodyStream.stream;this.contentLength=bodyStream.length}else if(util4.isBlobLike(body)&&this.contentType==null&&body.type){this.contentType=body.type;this.headers+=`content-type: ${body.type}\r
`}util4.validateHandler(handler,method2,upgrade);this.servername=util4.getServerName(this.host);this[kHandler]=handler;if(channels.create.hasSubscribers){channels.create.publish({request:this})}}onBodySent(chunk2){if(this[kHandler].onBodySent){try{return this[kHandler].onBodySent(chunk2)}catch(err){this.abort(err)}}}onRequestSent(){if(channels.bodySent.hasSubscribers){channels.bodySent.publish({request:this})}if(this[kHandler].onRequestSent){try{return this[kHandler].onRequestSent()}catch(err){this.abort(err)}}}onConnect(abort){assert2(!this.aborted);assert2(!this.completed);if(this.error){abort(this.error)}else{this.abort=abort;return this[kHandler].onConnect(abort)}}onHeaders(statusCode,headers,resume,statusText){assert2(!this.aborted);assert2(!this.completed);if(channels.headers.hasSubscribers){channels.headers.publish({request:this,response:{statusCode,headers,statusText}})}try{return this[kHandler].onHeaders(statusCode,headers,resume,statusText)}catch(err){this.abort(err)}}onData(chunk2){assert2(!this.aborted);assert2(!this.completed);try{return this[kHandler].onData(chunk2)}catch(err){this.abort(err);return false}}onUpgrade(statusCode,headers,socket){assert2(!this.aborted);assert2(!this.completed);return this[kHandler].onUpgrade(statusCode,headers,socket)}onComplete(trailers){this.onFinally();assert2(!this.aborted);this.completed=true;if(channels.trailers.hasSubscribers){channels.trailers.publish({request:this,trailers})}try{return this[kHandler].onComplete(trailers)}catch(err){this.onError(err)}}onError(error){this.onFinally();if(channels.error.hasSubscribers){channels.error.publish({request:this,error})}if(this.aborted){return}this.aborted=true;return this[kHandler].onError(error)}onFinally(){if(this.errorHandler){this.body.off("error",this.errorHandler);this.errorHandler=null}if(this.endHandler){this.body.off("end",this.endHandler);this.endHandler=null}}addHeader(key,value){processHeader(this,key,value);return this}static[kHTTP1BuildRequest](origin,opts,handler){return new _Request(origin,opts,handler)}static[kHTTP2BuildRequest](origin,opts,handler){const headers=opts.headers;opts={...opts,headers:null};const request=new _Request(origin,opts,handler);request.headers={};if(Array.isArray(headers)){if(headers.length%2!==0){throw new InvalidArgumentError("headers array must be even")}for(let i=0;i<headers.length;i+=2){processHeader(request,headers[i],headers[i+1],true)}}else if(headers&&typeof headers==="object"){const keys2=Object.keys(headers);for(let i=0;i<keys2.length;i++){const key=keys2[i];processHeader(request,key,headers[key],true)}}else if(headers!=null){throw new InvalidArgumentError("headers must be an object or an array")}return request}static[kHTTP2CopyHeaders](raw){const rawHeaders=raw.split("\r\n");const headers={};for(const header2 of rawHeaders){const[key,value]=header2.split(": ");if(value==null||value.length===0)continue;if(headers[key])headers[key]+=`,${value}`;else headers[key]=value}return headers}};function processHeaderValue(key,val,skipAppend){if(val&&typeof val==="object"){throw new InvalidArgumentError(`invalid ${key} header`)}val=val!=null?`${val}`:"";if(headerCharRegex.exec(val)!==null){throw new InvalidArgumentError(`invalid ${key} header`)}return skipAppend?val:`${key}: ${val}\r
`}function processHeader(request,key,val,skipAppend=false){if(val&&(typeof val==="object"&&!Array.isArray(val))){throw new InvalidArgumentError(`invalid ${key} header`)}else if(val===void 0){return}if(request.host===null&&key.length===4&&key.toLowerCase()==="host"){if(headerCharRegex.exec(val)!==null){throw new InvalidArgumentError(`invalid ${key} header`)}request.host=val}else if(request.contentLength===null&&key.length===14&&key.toLowerCase()==="content-length"){request.contentLength=parseInt(val,10);if(!Number.isFinite(request.contentLength)){throw new InvalidArgumentError("invalid content-length header")}}else if(request.contentType===null&&key.length===12&&key.toLowerCase()==="content-type"){request.contentType=val;if(skipAppend)request.headers[key]=processHeaderValue(key,val,skipAppend);else request.headers+=processHeaderValue(key,val)}else if(key.length===17&&key.toLowerCase()==="transfer-encoding"){throw new InvalidArgumentError("invalid transfer-encoding header")}else if(key.length===10&&key.toLowerCase()==="connection"){const value=typeof val==="string"?val.toLowerCase():null;if(value!=="close"&&value!=="keep-alive"){throw new InvalidArgumentError("invalid connection header")}else if(value==="close"){request.reset=true}}else if(key.length===10&&key.toLowerCase()==="keep-alive"){throw new InvalidArgumentError("invalid keep-alive header")}else if(key.length===7&&key.toLowerCase()==="upgrade"){throw new InvalidArgumentError("invalid upgrade header")}else if(key.length===6&&key.toLowerCase()==="expect"){throw new NotSupportedError("expect header not supported")}else if(tokenRegExp.exec(key)===null){throw new InvalidArgumentError("invalid header key")}else{if(Array.isArray(val)){for(let i=0;i<val.length;i++){if(skipAppend){if(request.headers[key])request.headers[key]+=`,${processHeaderValue(key,val[i],skipAppend)}`;else request.headers[key]=processHeaderValue(key,val[i],skipAppend)}else{request.headers+=processHeaderValue(key,val[i])}}}else{if(skipAppend)request.headers[key]=processHeaderValue(key,val,skipAppend);else request.headers+=processHeaderValue(key,val)}}}module2.exports=Request2}});var require_dispatcher=__commonJS({"node_modules/undici/lib/dispatcher.js"(exports2,module2){"use strict";var EventEmitter3=require("events");var Dispatcher=class extends EventEmitter3{dispatch(){throw new Error("not implemented")}close(){throw new Error("not implemented")}destroy(){throw new Error("not implemented")}};module2.exports=Dispatcher}});var require_dispatcher_base=__commonJS({"node_modules/undici/lib/dispatcher-base.js"(exports2,module2){"use strict";var Dispatcher=require_dispatcher();var{ClientDestroyedError,ClientClosedError,InvalidArgumentError}=require_errors5();var{kDestroy,kClose,kDispatch,kInterceptors}=require_symbols();var kDestroyed=Symbol("destroyed");var kClosed=Symbol("closed");var kOnDestroyed=Symbol("onDestroyed");var kOnClosed=Symbol("onClosed");var kInterceptedDispatch=Symbol("Intercepted Dispatch");var DispatcherBase=class extends Dispatcher{constructor(){super();this[kDestroyed]=false;this[kOnDestroyed]=null;this[kClosed]=false;this[kOnClosed]=[]}get destroyed(){return this[kDestroyed]}get closed(){return this[kClosed]}get interceptors(){return this[kInterceptors]}set interceptors(newInterceptors){if(newInterceptors){for(let i=newInterceptors.length-1;i>=0;i--){const interceptor=this[kInterceptors][i];if(typeof interceptor!=="function"){throw new InvalidArgumentError("interceptor must be an function")}}}this[kInterceptors]=newInterceptors}close(callback){if(callback===void 0){return new Promise((resolve,reject2)=>{this.close((err,data)=>{return err?reject2(err):resolve(data)})})}if(typeof callback!=="function"){throw new InvalidArgumentError("invalid callback")}if(this[kDestroyed]){queueMicrotask(()=>callback(new ClientDestroyedError,null));return}if(this[kClosed]){if(this[kOnClosed]){this[kOnClosed].push(callback)}else{queueMicrotask(()=>callback(null,null))}return}this[kClosed]=true;this[kOnClosed].push(callback);const onClosed=()=>{const callbacks=this[kOnClosed];this[kOnClosed]=null;for(let i=0;i<callbacks.length;i++){callbacks[i](null,null)}};this[kClose]().then(()=>this.destroy()).then(()=>{queueMicrotask(onClosed)})}destroy(err,callback){if(typeof err==="function"){callback=err;err=null}if(callback===void 0){return new Promise((resolve,reject2)=>{this.destroy(err,(err2,data)=>{return err2?reject2(err2):resolve(data)})})}if(typeof callback!=="function"){throw new InvalidArgumentError("invalid callback")}if(this[kDestroyed]){if(this[kOnDestroyed]){this[kOnDestroyed].push(callback)}else{queueMicrotask(()=>callback(null,null))}return}if(!err){err=new ClientDestroyedError}this[kDestroyed]=true;this[kOnDestroyed]=this[kOnDestroyed]||[];this[kOnDestroyed].push(callback);const onDestroyed=()=>{const callbacks=this[kOnDestroyed];this[kOnDestroyed]=null;for(let i=0;i<callbacks.length;i++){callbacks[i](null,null)}};this[kDestroy](err).then(()=>{queueMicrotask(onDestroyed)})}[kInterceptedDispatch](opts,handler){if(!this[kInterceptors]||this[kInterceptors].length===0){this[kInterceptedDispatch]=this[kDispatch];return this[kDispatch](opts,handler)}let dispatch=this[kDispatch].bind(this);for(let i=this[kInterceptors].length-1;i>=0;i--){dispatch=this[kInterceptors][i](dispatch)}this[kInterceptedDispatch]=dispatch;return dispatch(opts,handler)}dispatch(opts,handler){if(!handler||typeof handler!=="object"){throw new InvalidArgumentError("handler must be an object")}try{if(!opts||typeof opts!=="object"){throw new InvalidArgumentError("opts must be an object.")}if(this[kDestroyed]||this[kOnDestroyed]){throw new ClientDestroyedError}if(this[kClosed]){throw new ClientClosedError}return this[kInterceptedDispatch](opts,handler)}catch(err){if(typeof handler.onError!=="function"){throw new InvalidArgumentError("invalid onError method")}handler.onError(err);return false}}};module2.exports=DispatcherBase}});var require_connect=__commonJS({"node_modules/undici/lib/core/connect.js"(exports2,module2){"use strict";var net2=require("net");var assert2=require("assert");var util4=require_util3();var{InvalidArgumentError,ConnectTimeoutError}=require_errors5();var tls;var SessionCache;if(global.FinalizationRegistry&&!process.env.NODE_V8_COVERAGE){SessionCache=class WeakSessionCache{constructor(maxCachedSessions){this._maxCachedSessions=maxCachedSessions;this._sessionCache=new Map;this._sessionRegistry=new global.FinalizationRegistry(key=>{if(this._sessionCache.size<this._maxCachedSessions){return}const ref=this._sessionCache.get(key);if(ref!==void 0&&ref.deref()===void 0){this._sessionCache.delete(key)}})}get(sessionKey){const ref=this._sessionCache.get(sessionKey);return ref?ref.deref():null}set(sessionKey,session){if(this._maxCachedSessions===0){return}this._sessionCache.set(sessionKey,new WeakRef(session));this._sessionRegistry.register(session,sessionKey)}}}else{SessionCache=class SimpleSessionCache{constructor(maxCachedSessions){this._maxCachedSessions=maxCachedSessions;this._sessionCache=new Map}get(sessionKey){return this._sessionCache.get(sessionKey)}set(sessionKey,session){if(this._maxCachedSessions===0){return}if(this._sessionCache.size>=this._maxCachedSessions){const{value:oldestKey}=this._sessionCache.keys().next();this._sessionCache.delete(oldestKey)}this._sessionCache.set(sessionKey,session)}}}function buildConnector({allowH2,maxCachedSessions,socketPath,timeout,...opts}){if(maxCachedSessions!=null&&(!Number.isInteger(maxCachedSessions)||maxCachedSessions<0)){throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero")}const options={path:socketPath,...opts};const sessionCache=new SessionCache(maxCachedSessions==null?100:maxCachedSessions);timeout=timeout==null?1e4:timeout;allowH2=allowH2!=null?allowH2:false;return function connect({hostname,host,protocol,port,servername,localAddress,httpSocket},callback){let socket;if(protocol==="https:"){if(!tls){tls=require("tls")}servername=servername||options.servername||util4.getServerName(host)||null;const sessionKey=servername||hostname;const session=sessionCache.get(sessionKey)||null;assert2(sessionKey);socket=tls.connect({highWaterMark:16384,...options,servername,session,localAddress,ALPNProtocols:allowH2?["http/1.1","h2"]:["http/1.1"],socket:httpSocket,port:port||443,host:hostname});socket.on("session",function(session2){sessionCache.set(sessionKey,session2)})}else{assert2(!httpSocket,"httpSocket can only be sent on TLS update");socket=net2.connect({highWaterMark:64*1024,...options,localAddress,port:port||80,host:hostname})}if(options.keepAlive==null||options.keepAlive){const keepAliveInitialDelay=options.keepAliveInitialDelay===void 0?6e4:options.keepAliveInitialDelay;socket.setKeepAlive(true,keepAliveInitialDelay)}const cancelTimeout=setupTimeout(()=>onConnectTimeout(socket),timeout);socket.setNoDelay(true).once(protocol==="https:"?"secureConnect":"connect",function(){cancelTimeout();if(callback){const cb=callback;callback=null;cb(null,this)}}).on("error",function(err){cancelTimeout();if(callback){const cb=callback;callback=null;cb(err)}});return socket}}function setupTimeout(onConnectTimeout2,timeout){if(!timeout){return()=>{}}let s1=null;let s2=null;const timeoutId=setTimeout(()=>{s1=setImmediate(()=>{if(process.platform==="win32"){s2=setImmediate(()=>onConnectTimeout2())}else{onConnectTimeout2()}})},timeout);return()=>{clearTimeout(timeoutId);clearImmediate(s1);clearImmediate(s2)}}function onConnectTimeout(socket){util4.destroy(socket,new ConnectTimeoutError)}module2.exports=buildConnector}});var require_utils2=__commonJS({"node_modules/undici/lib/llhttp/utils.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.enumToMap=void 0;function enumToMap(obj){const res={};Object.keys(obj).forEach(key=>{const value=obj[key];if(typeof value==="number"){res[key]=value}});return res}exports2.enumToMap=enumToMap}});var require_constants3=__commonJS({"node_modules/undici/lib/llhttp/constants.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.SPECIAL_HEADERS=exports2.HEADER_STATE=exports2.MINOR=exports2.MAJOR=exports2.CONNECTION_TOKEN_CHARS=exports2.HEADER_CHARS=exports2.TOKEN=exports2.STRICT_TOKEN=exports2.HEX=exports2.URL_CHAR=exports2.STRICT_URL_CHAR=exports2.USERINFO_CHARS=exports2.MARK=exports2.ALPHANUM=exports2.NUM=exports2.HEX_MAP=exports2.NUM_MAP=exports2.ALPHA=exports2.FINISH=exports2.H_METHOD_MAP=exports2.METHOD_MAP=exports2.METHODS_RTSP=exports2.METHODS_ICE=exports2.METHODS_HTTP=exports2.METHODS=exports2.LENIENT_FLAGS=exports2.FLAGS=exports2.TYPE=exports2.ERROR=void 0;var utils_1=require_utils2();var ERROR;(function(ERROR2){ERROR2[ERROR2["OK"]=0]="OK";ERROR2[ERROR2["INTERNAL"]=1]="INTERNAL";ERROR2[ERROR2["STRICT"]=2]="STRICT";ERROR2[ERROR2["LF_EXPECTED"]=3]="LF_EXPECTED";ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"]=4]="UNEXPECTED_CONTENT_LENGTH";ERROR2[ERROR2["CLOSED_CONNECTION"]=5]="CLOSED_CONNECTION";ERROR2[ERROR2["INVALID_METHOD"]=6]="INVALID_METHOD";ERROR2[ERROR2["INVALID_URL"]=7]="INVALID_URL";ERROR2[ERROR2["INVALID_CONSTANT"]=8]="INVALID_CONSTANT";ERROR2[ERROR2["INVALID_VERSION"]=9]="INVALID_VERSION";ERROR2[ERROR2["INVALID_HEADER_TOKEN"]=10]="INVALID_HEADER_TOKEN";ERROR2[ERROR2["INVALID_CONTENT_LENGTH"]=11]="INVALID_CONTENT_LENGTH";ERROR2[ERROR2["INVALID_CHUNK_SIZE"]=12]="INVALID_CHUNK_SIZE";ERROR2[ERROR2["INVALID_STATUS"]=13]="INVALID_STATUS";ERROR2[ERROR2["INVALID_EOF_STATE"]=14]="INVALID_EOF_STATE";ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"]=15]="INVALID_TRANSFER_ENCODING";ERROR2[ERROR2["CB_MESSAGE_BEGIN"]=16]="CB_MESSAGE_BEGIN";ERROR2[ERROR2["CB_HEADERS_COMPLETE"]=17]="CB_HEADERS_COMPLETE";ERROR2[ERROR2["CB_MESSAGE_COMPLETE"]=18]="CB_MESSAGE_COMPLETE";ERROR2[ERROR2["CB_CHUNK_HEADER"]=19]="CB_CHUNK_HEADER";ERROR2[ERROR2["CB_CHUNK_COMPLETE"]=20]="CB_CHUNK_COMPLETE";ERROR2[ERROR2["PAUSED"]=21]="PAUSED";ERROR2[ERROR2["PAUSED_UPGRADE"]=22]="PAUSED_UPGRADE";ERROR2[ERROR2["PAUSED_H2_UPGRADE"]=23]="PAUSED_H2_UPGRADE";ERROR2[ERROR2["USER"]=24]="USER"})(ERROR=exports2.ERROR||(exports2.ERROR={}));var TYPE;(function(TYPE2){TYPE2[TYPE2["BOTH"]=0]="BOTH";TYPE2[TYPE2["REQUEST"]=1]="REQUEST";TYPE2[TYPE2["RESPONSE"]=2]="RESPONSE"})(TYPE=exports2.TYPE||(exports2.TYPE={}));var FLAGS;(function(FLAGS2){FLAGS2[FLAGS2["CONNECTION_KEEP_ALIVE"]=1]="CONNECTION_KEEP_ALIVE";FLAGS2[FLAGS2["CONNECTION_CLOSE"]=2]="CONNECTION_CLOSE";FLAGS2[FLAGS2["CONNECTION_UPGRADE"]=4]="CONNECTION_UPGRADE";FLAGS2[FLAGS2["CHUNKED"]=8]="CHUNKED";FLAGS2[FLAGS2["UPGRADE"]=16]="UPGRADE";FLAGS2[FLAGS2["CONTENT_LENGTH"]=32]="CONTENT_LENGTH";FLAGS2[FLAGS2["SKIPBODY"]=64]="SKIPBODY";FLAGS2[FLAGS2["TRAILING"]=128]="TRAILING";FLAGS2[FLAGS2["TRANSFER_ENCODING"]=512]="TRANSFER_ENCODING"})(FLAGS=exports2.FLAGS||(exports2.FLAGS={}));var LENIENT_FLAGS;(function(LENIENT_FLAGS2){LENIENT_FLAGS2[LENIENT_FLAGS2["HEADERS"]=1]="HEADERS";LENIENT_FLAGS2[LENIENT_FLAGS2["CHUNKED_LENGTH"]=2]="CHUNKED_LENGTH";LENIENT_FLAGS2[LENIENT_FLAGS2["KEEP_ALIVE"]=4]="KEEP_ALIVE"})(LENIENT_FLAGS=exports2.LENIENT_FLAGS||(exports2.LENIENT_FLAGS={}));var METHODS;(function(METHODS2){METHODS2[METHODS2["DELETE"]=0]="DELETE";METHODS2[METHODS2["GET"]=1]="GET";METHODS2[METHODS2["HEAD"]=2]="HEAD";METHODS2[METHODS2["POST"]=3]="POST";METHODS2[METHODS2["PUT"]=4]="PUT";METHODS2[METHODS2["CONNECT"]=5]="CONNECT";METHODS2[METHODS2["OPTIONS"]=6]="OPTIONS";METHODS2[METHODS2["TRACE"]=7]="TRACE";METHODS2[METHODS2["COPY"]=8]="COPY";METHODS2[METHODS2["LOCK"]=9]="LOCK";METHODS2[METHODS2["MKCOL"]=10]="MKCOL";METHODS2[METHODS2["MOVE"]=11]="MOVE";METHODS2[METHODS2["PROPFIND"]=12]="PROPFIND";METHODS2[METHODS2["PROPPATCH"]=13]="PROPPATCH";METHODS2[METHODS2["SEARCH"]=14]="SEARCH";METHODS2[METHODS2["UNLOCK"]=15]="UNLOCK";METHODS2[METHODS2["BIND"]=16]="BIND";METHODS2[METHODS2["REBIND"]=17]="REBIND";METHODS2[METHODS2["UNBIND"]=18]="UNBIND";METHODS2[METHODS2["ACL"]=19]="ACL";METHODS2[METHODS2["REPORT"]=20]="REPORT";METHODS2[METHODS2["MKACTIVITY"]=21]="MKACTIVITY";METHODS2[METHODS2["CHECKOUT"]=22]="CHECKOUT";METHODS2[METHODS2["MERGE"]=23]="MERGE";METHODS2[METHODS2["M-SEARCH"]=24]="M-SEARCH";METHODS2[METHODS2["NOTIFY"]=25]="NOTIFY";METHODS2[METHODS2["SUBSCRIBE"]=26]="SUBSCRIBE";METHODS2[METHODS2["UNSUBSCRIBE"]=27]="UNSUBSCRIBE";METHODS2[METHODS2["PATCH"]=28]="PATCH";METHODS2[METHODS2["PURGE"]=29]="PURGE";METHODS2[METHODS2["MKCALENDAR"]=30]="MKCALENDAR";METHODS2[METHODS2["LINK"]=31]="LINK";METHODS2[METHODS2["UNLINK"]=32]="UNLINK";METHODS2[METHODS2["SOURCE"]=33]="SOURCE";METHODS2[METHODS2["PRI"]=34]="PRI";METHODS2[METHODS2["DESCRIBE"]=35]="DESCRIBE";METHODS2[METHODS2["ANNOUNCE"]=36]="ANNOUNCE";METHODS2[METHODS2["SETUP"]=37]="SETUP";METHODS2[METHODS2["PLAY"]=38]="PLAY";METHODS2[METHODS2["PAUSE"]=39]="PAUSE";METHODS2[METHODS2["TEARDOWN"]=40]="TEARDOWN";METHODS2[METHODS2["GET_PARAMETER"]=41]="GET_PARAMETER";METHODS2[METHODS2["SET_PARAMETER"]=42]="SET_PARAMETER";METHODS2[METHODS2["REDIRECT"]=43]="REDIRECT";METHODS2[METHODS2["RECORD"]=44]="RECORD";METHODS2[METHODS2["FLUSH"]=45]="FLUSH"})(METHODS=exports2.METHODS||(exports2.METHODS={}));exports2.METHODS_HTTP=[METHODS.DELETE,METHODS.GET,METHODS.HEAD,METHODS.POST,METHODS.PUT,METHODS.CONNECT,METHODS.OPTIONS,METHODS.TRACE,METHODS.COPY,METHODS.LOCK,METHODS.MKCOL,METHODS.MOVE,METHODS.PROPFIND,METHODS.PROPPATCH,METHODS.SEARCH,METHODS.UNLOCK,METHODS.BIND,METHODS.REBIND,METHODS.UNBIND,METHODS.ACL,METHODS.REPORT,METHODS.MKACTIVITY,METHODS.CHECKOUT,METHODS.MERGE,METHODS["M-SEARCH"],METHODS.NOTIFY,METHODS.SUBSCRIBE,METHODS.UNSUBSCRIBE,METHODS.PATCH,METHODS.PURGE,METHODS.MKCALENDAR,METHODS.LINK,METHODS.UNLINK,METHODS.PRI,METHODS.SOURCE];exports2.METHODS_ICE=[METHODS.SOURCE];exports2.METHODS_RTSP=[METHODS.OPTIONS,METHODS.DESCRIBE,METHODS.ANNOUNCE,METHODS.SETUP,METHODS.PLAY,METHODS.PAUSE,METHODS.TEARDOWN,METHODS.GET_PARAMETER,METHODS.SET_PARAMETER,METHODS.REDIRECT,METHODS.RECORD,METHODS.FLUSH,METHODS.GET,METHODS.POST];exports2.METHOD_MAP=utils_1.enumToMap(METHODS);exports2.H_METHOD_MAP={};Object.keys(exports2.METHOD_MAP).forEach(key=>{if(/^H/.test(key)){exports2.H_METHOD_MAP[key]=exports2.METHOD_MAP[key]}});var FINISH;(function(FINISH2){FINISH2[FINISH2["SAFE"]=0]="SAFE";FINISH2[FINISH2["SAFE_WITH_CB"]=1]="SAFE_WITH_CB";FINISH2[FINISH2["UNSAFE"]=2]="UNSAFE"})(FINISH=exports2.FINISH||(exports2.FINISH={}));exports2.ALPHA=[];for(let i="A".charCodeAt(0);i<="Z".charCodeAt(0);i++){exports2.ALPHA.push(String.fromCharCode(i));exports2.ALPHA.push(String.fromCharCode(i+32))}exports2.NUM_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9};exports2.HEX_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15};exports2.NUM=["0","1","2","3","4","5","6","7","8","9"];exports2.ALPHANUM=exports2.ALPHA.concat(exports2.NUM);exports2.MARK=["-","_",".","!","~","*","'","(",")"];exports2.USERINFO_CHARS=exports2.ALPHANUM.concat(exports2.MARK).concat(["%",";",":","&","=","+","$",","]);exports2.STRICT_URL_CHAR=["!",'"',"$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","@","[","\\","]","^","_","`","{","|","}","~"].concat(exports2.ALPHANUM);exports2.URL_CHAR=exports2.STRICT_URL_CHAR.concat(["	","\f"]);for(let i=128;i<=255;i++){exports2.URL_CHAR.push(i)}exports2.HEX=exports2.NUM.concat(["a","b","c","d","e","f","A","B","C","D","E","F"]);exports2.STRICT_TOKEN=["!","#","$","%","&","'","*","+","-",".","^","_","`","|","~"].concat(exports2.ALPHANUM);exports2.TOKEN=exports2.STRICT_TOKEN.concat([" "]);exports2.HEADER_CHARS=["	"];for(let i=32;i<=255;i++){if(i!==127){exports2.HEADER_CHARS.push(i)}}exports2.CONNECTION_TOKEN_CHARS=exports2.HEADER_CHARS.filter(c=>c!==44);exports2.MAJOR=exports2.NUM_MAP;exports2.MINOR=exports2.MAJOR;var HEADER_STATE;(function(HEADER_STATE2){HEADER_STATE2[HEADER_STATE2["GENERAL"]=0]="GENERAL";HEADER_STATE2[HEADER_STATE2["CONNECTION"]=1]="CONNECTION";HEADER_STATE2[HEADER_STATE2["CONTENT_LENGTH"]=2]="CONTENT_LENGTH";HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING"]=3]="TRANSFER_ENCODING";HEADER_STATE2[HEADER_STATE2["UPGRADE"]=4]="UPGRADE";HEADER_STATE2[HEADER_STATE2["CONNECTION_KEEP_ALIVE"]=5]="CONNECTION_KEEP_ALIVE";HEADER_STATE2[HEADER_STATE2["CONNECTION_CLOSE"]=6]="CONNECTION_CLOSE";HEADER_STATE2[HEADER_STATE2["CONNECTION_UPGRADE"]=7]="CONNECTION_UPGRADE";HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING_CHUNKED"]=8]="TRANSFER_ENCODING_CHUNKED"})(HEADER_STATE=exports2.HEADER_STATE||(exports2.HEADER_STATE={}));exports2.SPECIAL_HEADERS={"connection":HEADER_STATE.CONNECTION,"content-length":HEADER_STATE.CONTENT_LENGTH,"proxy-connection":HEADER_STATE.CONNECTION,"transfer-encoding":HEADER_STATE.TRANSFER_ENCODING,"upgrade":HEADER_STATE.UPGRADE}}});var require_RedirectHandler=__commonJS({"node_modules/undici/lib/handler/RedirectHandler.js"(exports2,module2){"use strict";var util4=require_util3();var{kBodyUsed}=require_symbols();var assert2=require("assert");var{InvalidArgumentError}=require_errors5();var EE=require("events");var redirectableStatusCodes=[300,301,302,303,307,308];var kBody=Symbol("body");var BodyAsyncIterable=class{constructor(body){this[kBody]=body;this[kBodyUsed]=false}async*[Symbol.asyncIterator](){assert2(!this[kBodyUsed],"disturbed");this[kBodyUsed]=true;yield*this[kBody]}};var RedirectHandler=class{constructor(dispatch,maxRedirections,opts,handler){if(maxRedirections!=null&&(!Number.isInteger(maxRedirections)||maxRedirections<0)){throw new InvalidArgumentError("maxRedirections must be a positive number")}util4.validateHandler(handler,opts.method,opts.upgrade);this.dispatch=dispatch;this.location=null;this.abort=null;this.opts={...opts,maxRedirections:0};this.maxRedirections=maxRedirections;this.handler=handler;this.history=[];if(util4.isStream(this.opts.body)){if(util4.bodyLength(this.opts.body)===0){this.opts.body.on("data",function(){assert2(false)})}if(typeof this.opts.body.readableDidRead!=="boolean"){this.opts.body[kBodyUsed]=false;EE.prototype.on.call(this.opts.body,"data",function(){this[kBodyUsed]=true})}}else if(this.opts.body&&typeof this.opts.body.pipeTo==="function"){this.opts.body=new BodyAsyncIterable(this.opts.body)}else if(this.opts.body&&typeof this.opts.body!=="string"&&!ArrayBuffer.isView(this.opts.body)&&util4.isIterable(this.opts.body)){this.opts.body=new BodyAsyncIterable(this.opts.body)}}onConnect(abort){this.abort=abort;this.handler.onConnect(abort,{history:this.history})}onUpgrade(statusCode,headers,socket){this.handler.onUpgrade(statusCode,headers,socket)}onError(error){this.handler.onError(error)}onHeaders(statusCode,headers,resume,statusText){this.location=this.history.length>=this.maxRedirections||util4.isDisturbed(this.opts.body)?null:parseLocation(statusCode,headers);if(this.opts.origin){this.history.push(new URL(this.opts.path,this.opts.origin))}if(!this.location){return this.handler.onHeaders(statusCode,headers,resume,statusText)}const{origin,pathname,search:search2}=util4.parseURL(new URL(this.location,this.opts.origin&&new URL(this.opts.path,this.opts.origin)));const path27=search2?`${pathname}${search2}`:pathname;this.opts.headers=cleanRequestHeaders(this.opts.headers,statusCode===303,this.opts.origin!==origin);this.opts.path=path27;this.opts.origin=origin;this.opts.maxRedirections=0;this.opts.query=null;if(statusCode===303&&this.opts.method!=="HEAD"){this.opts.method="GET";this.opts.body=null}}onData(chunk2){if(this.location){}else{return this.handler.onData(chunk2)}}onComplete(trailers){if(this.location){this.location=null;this.abort=null;this.dispatch(this.opts,this)}else{this.handler.onComplete(trailers)}}onBodySent(chunk2){if(this.handler.onBodySent){this.handler.onBodySent(chunk2)}}};function parseLocation(statusCode,headers){if(redirectableStatusCodes.indexOf(statusCode)===-1){return null}for(let i=0;i<headers.length;i+=2){if(headers[i].toString().toLowerCase()==="location"){return headers[i+1]}}}function shouldRemoveHeader(header2,removeContent,unknownOrigin){if(header2.length===4){return util4.headerNameToString(header2)==="host"}if(removeContent&&util4.headerNameToString(header2).startsWith("content-")){return true}if(unknownOrigin&&(header2.length===13||header2.length===6||header2.length===19)){const name=util4.headerNameToString(header2);return name==="authorization"||name==="cookie"||name==="proxy-authorization"}return false}function cleanRequestHeaders(headers,removeContent,unknownOrigin){const ret=[];if(Array.isArray(headers)){for(let i=0;i<headers.length;i+=2){if(!shouldRemoveHeader(headers[i],removeContent,unknownOrigin)){ret.push(headers[i],headers[i+1])}}}else if(headers&&typeof headers==="object"){for(const key of Object.keys(headers)){if(!shouldRemoveHeader(key,removeContent,unknownOrigin)){ret.push(key,headers[key])}}}else{assert2(headers==null,"headers must be an object or an array")}return ret}module2.exports=RedirectHandler}});var require_redirectInterceptor=__commonJS({"node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports2,module2){"use strict";var RedirectHandler=require_RedirectHandler();function createRedirectInterceptor({maxRedirections:defaultMaxRedirections}){return dispatch=>{return function Intercept(opts,handler){const{maxRedirections=defaultMaxRedirections}=opts;if(!maxRedirections){return dispatch(opts,handler)}const redirectHandler=new RedirectHandler(dispatch,maxRedirections,opts,handler);opts={...opts,maxRedirections:0};return dispatch(opts,redirectHandler)}}}module2.exports=createRedirectInterceptor}});var require_llhttp_wasm=__commonJS({"node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2,module2){module2.exports=" "}});var require_llhttp_simd_wasm=__commonJS({"node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2,module2){module2.exports=" "}});var require_client4=__commonJS({"node_modules/undici/lib/client.js"(exports2,module2){"use strict";var assert2=require("assert");var net2=require("net");var http3=require("http");var{pipeline}=require("stream");var util4=require_util3();var timers=require_timers();var Request2=require_request2();var DispatcherBase=require_dispatcher_base();var{RequestContentLengthMismatchError,ResponseContentLengthMismatchError,InvalidArgumentError,RequestAbortedError,HeadersTimeoutError,HeadersOverflowError,SocketError,InformationalError,BodyTimeoutError,HTTPParserError,ResponseExceededMaxSizeError,ClientDestroyedError}=require_errors5();var buildConnector=require_connect();var{kUrl,kReset,kServerName,kClient,kBusy,kParser,kConnect,kBlocking,kResuming,kRunning,kPending,kSize,kWriting,kQueue,kConnected,kConnecting,kNeedDrain,kNoRef,kKeepAliveDefaultTimeout,kHostHeader,kPendingIdx,kRunningIdx,kError,kPipelining,kSocket,kKeepAliveTimeoutValue,kMaxHeadersSize,kKeepAliveMaxTimeout,kKeepAliveTimeoutThreshold,kHeadersTimeout,kBodyTimeout,kStrictContentLength,kConnector,kMaxRedirections,kMaxRequests,kCounter,kClose,kDestroy,kDispatch,kInterceptors,kLocalAddress,kMaxResponseSize,kHTTPConnVersion,kHost,kHTTP2Session,kHTTP2SessionState,kHTTP2BuildRequest,kHTTP2CopyHeaders,kHTTP1BuildRequest}=require_symbols();var http22;try{http22=require("http2")}catch{http22={constants:{}}}var{constants:{HTTP2_HEADER_AUTHORITY,HTTP2_HEADER_METHOD,HTTP2_HEADER_PATH,HTTP2_HEADER_SCHEME,HTTP2_HEADER_CONTENT_LENGTH,HTTP2_HEADER_EXPECT,HTTP2_HEADER_STATUS}}=http22;var h2ExperimentalWarned=false;var FastBuffer=Buffer[Symbol.species];var kClosedResolve=Symbol("kClosedResolve");var channels={};try{const diagnosticsChannel=require("diagnostics_channel");channels.sendHeaders=diagnosticsChannel.channel("undici:client:sendHeaders");channels.beforeConnect=diagnosticsChannel.channel("undici:client:beforeConnect");channels.connectError=diagnosticsChannel.channel("undici:client:connectError");channels.connected=diagnosticsChannel.channel("undici:client:connected")}catch{channels.sendHeaders={hasSubscribers:false};channels.beforeConnect={hasSubscribers:false};channels.connectError={hasSubscribers:false};channels.connected={hasSubscribers:false}}var Client3=class extends DispatcherBase{constructor(url,{interceptors,maxHeaderSize,headersTimeout,socketTimeout,requestTimeout,connectTimeout,bodyTimeout,idleTimeout,keepAlive,keepAliveTimeout,maxKeepAliveTimeout,keepAliveMaxTimeout,keepAliveTimeoutThreshold,socketPath,pipelining,tls,strictContentLength,maxCachedSessions,maxRedirections,connect:connect2,maxRequestsPerClient,localAddress,maxResponseSize,autoSelectFamily,autoSelectFamilyAttemptTimeout,allowH2,maxConcurrentStreams}={}){super();if(keepAlive!==void 0){throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead")}if(socketTimeout!==void 0){throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead")}if(requestTimeout!==void 0){throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead")}if(idleTimeout!==void 0){throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead")}if(maxKeepAliveTimeout!==void 0){throw new InvalidArgumentError("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead")}if(maxHeaderSize!=null&&!Number.isFinite(maxHeaderSize)){throw new InvalidArgumentError("invalid maxHeaderSize")}if(socketPath!=null&&typeof socketPath!=="string"){throw new InvalidArgumentError("invalid socketPath")}if(connectTimeout!=null&&(!Number.isFinite(connectTimeout)||connectTimeout<0)){throw new InvalidArgumentError("invalid connectTimeout")}if(keepAliveTimeout!=null&&(!Number.isFinite(keepAliveTimeout)||keepAliveTimeout<=0)){throw new InvalidArgumentError("invalid keepAliveTimeout")}if(keepAliveMaxTimeout!=null&&(!Number.isFinite(keepAliveMaxTimeout)||keepAliveMaxTimeout<=0)){throw new InvalidArgumentError("invalid keepAliveMaxTimeout")}if(keepAliveTimeoutThreshold!=null&&!Number.isFinite(keepAliveTimeoutThreshold)){throw new InvalidArgumentError("invalid keepAliveTimeoutThreshold")}if(headersTimeout!=null&&(!Number.isInteger(headersTimeout)||headersTimeout<0)){throw new InvalidArgumentError("headersTimeout must be a positive integer or zero")}if(bodyTimeout!=null&&(!Number.isInteger(bodyTimeout)||bodyTimeout<0)){throw new InvalidArgumentError("bodyTimeout must be a positive integer or zero")}if(connect2!=null&&typeof connect2!=="function"&&typeof connect2!=="object"){throw new InvalidArgumentError("connect must be a function or an object")}if(maxRedirections!=null&&(!Number.isInteger(maxRedirections)||maxRedirections<0)){throw new InvalidArgumentError("maxRedirections must be a positive number")}if(maxRequestsPerClient!=null&&(!Number.isInteger(maxRequestsPerClient)||maxRequestsPerClient<0)){throw new InvalidArgumentError("maxRequestsPerClient must be a positive number")}if(localAddress!=null&&(typeof localAddress!=="string"||net2.isIP(localAddress)===0)){throw new InvalidArgumentError("localAddress must be valid string IP address")}if(maxResponseSize!=null&&(!Number.isInteger(maxResponseSize)||maxResponseSize<-1)){throw new InvalidArgumentError("maxResponseSize must be a positive number")}if(autoSelectFamilyAttemptTimeout!=null&&(!Number.isInteger(autoSelectFamilyAttemptTimeout)||autoSelectFamilyAttemptTimeout<-1)){throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number")}if(allowH2!=null&&typeof allowH2!=="boolean"){throw new InvalidArgumentError("allowH2 must be a valid boolean value")}if(maxConcurrentStreams!=null&&(typeof maxConcurrentStreams!=="number"||maxConcurrentStreams<1)){throw new InvalidArgumentError("maxConcurrentStreams must be a possitive integer, greater than 0")}if(typeof connect2!=="function"){connect2=buildConnector({...tls,maxCachedSessions,allowH2,socketPath,timeout:connectTimeout,...util4.nodeHasAutoSelectFamily&&autoSelectFamily?{autoSelectFamily,autoSelectFamilyAttemptTimeout}:void 0,...connect2})}this[kInterceptors]=interceptors&&interceptors.Client&&Array.isArray(interceptors.Client)?interceptors.Client:[createRedirectInterceptor({maxRedirections})];this[kUrl]=util4.parseOrigin(url);this[kConnector]=connect2;this[kSocket]=null;this[kPipelining]=pipelining!=null?pipelining:1;this[kMaxHeadersSize]=maxHeaderSize||http3.maxHeaderSize;this[kKeepAliveDefaultTimeout]=keepAliveTimeout==null?4e3:keepAliveTimeout;this[kKeepAliveMaxTimeout]=keepAliveMaxTimeout==null?6e5:keepAliveMaxTimeout;this[kKeepAliveTimeoutThreshold]=keepAliveTimeoutThreshold==null?1e3:keepAliveTimeoutThreshold;this[kKeepAliveTimeoutValue]=this[kKeepAliveDefaultTimeout];this[kServerName]=null;this[kLocalAddress]=localAddress!=null?localAddress:null;this[kResuming]=0;this[kNeedDrain]=0;this[kHostHeader]=`host: ${this[kUrl].hostname}${this[kUrl].port?`:${this[kUrl].port}`:""}\r
`;this[kBodyTimeout]=bodyTimeout!=null?bodyTimeout:3e5;this[kHeadersTimeout]=headersTimeout!=null?headersTimeout:3e5;this[kStrictContentLength]=strictContentLength==null?true:strictContentLength;this[kMaxRedirections]=maxRedirections;this[kMaxRequests]=maxRequestsPerClient;this[kClosedResolve]=null;this[kMaxResponseSize]=maxResponseSize>-1?maxResponseSize:-1;this[kHTTPConnVersion]="h1";this[kHTTP2Session]=null;this[kHTTP2SessionState]=!allowH2?null:{openStreams:0,maxConcurrentStreams:maxConcurrentStreams!=null?maxConcurrentStreams:100};this[kHost]=`${this[kUrl].hostname}${this[kUrl].port?`:${this[kUrl].port}`:""}`;this[kQueue]=[];this[kRunningIdx]=0;this[kPendingIdx]=0}get pipelining(){return this[kPipelining]}set pipelining(value){this[kPipelining]=value;resume(this,true)}get[kPending](){return this[kQueue].length-this[kPendingIdx]}get[kRunning](){return this[kPendingIdx]-this[kRunningIdx]}get[kSize](){return this[kQueue].length-this[kRunningIdx]}get[kConnected](){return!!this[kSocket]&&!this[kConnecting]&&!this[kSocket].destroyed}get[kBusy](){const socket=this[kSocket];return socket&&(socket[kReset]||socket[kWriting]||socket[kBlocking])||this[kSize]>=(this[kPipelining]||1)||this[kPending]>0}[kConnect](cb){connect(this);this.once("connect",cb)}[kDispatch](opts,handler){const origin=opts.origin||this[kUrl].origin;const request=this[kHTTPConnVersion]==="h2"?Request2[kHTTP2BuildRequest](origin,opts,handler):Request2[kHTTP1BuildRequest](origin,opts,handler);this[kQueue].push(request);if(this[kResuming]){}else if(util4.bodyLength(request.body)==null&&util4.isIterable(request.body)){this[kResuming]=1;process.nextTick(resume,this)}else{resume(this,true)}if(this[kResuming]&&this[kNeedDrain]!==2&&this[kBusy]){this[kNeedDrain]=2}return this[kNeedDrain]<2}async[kClose](){return new Promise(resolve=>{if(!this[kSize]){resolve(null)}else{this[kClosedResolve]=resolve}})}async[kDestroy](err){return new Promise(resolve=>{const requests=this[kQueue].splice(this[kPendingIdx]);for(let i=0;i<requests.length;i++){const request=requests[i];errorRequest(this,request,err)}const callback=()=>{if(this[kClosedResolve]){this[kClosedResolve]();this[kClosedResolve]=null}resolve()};if(this[kHTTP2Session]!=null){util4.destroy(this[kHTTP2Session],err);this[kHTTP2Session]=null;this[kHTTP2SessionState]=null}if(!this[kSocket]){queueMicrotask(callback)}else{util4.destroy(this[kSocket].on("close",callback),err)}resume(this)})}};function onHttp2SessionError(err){assert2(err.code!=="ERR_TLS_CERT_ALTNAME_INVALID");this[kSocket][kError]=err;onError(this[kClient],err)}function onHttp2FrameError(type2,code,id){const err=new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);if(id===0){this[kSocket][kError]=err;onError(this[kClient],err)}}function onHttp2SessionEnd(){util4.destroy(this,new SocketError("other side closed"));util4.destroy(this[kSocket],new SocketError("other side closed"))}function onHTTP2GoAway(code){const client=this[kClient];const err=new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`);client[kSocket]=null;client[kHTTP2Session]=null;if(client.destroyed){assert2(this[kPending]===0);const requests=client[kQueue].splice(client[kRunningIdx]);for(let i=0;i<requests.length;i++){const request=requests[i];errorRequest(this,request,err)}}else if(client[kRunning]>0){const request=client[kQueue][client[kRunningIdx]];client[kQueue][client[kRunningIdx]++]=null;errorRequest(client,request,err)}client[kPendingIdx]=client[kRunningIdx];assert2(client[kRunning]===0);client.emit("disconnect",client[kUrl],[client],err);resume(client)}var constants3=require_constants3();var createRedirectInterceptor=require_redirectInterceptor();var EMPTY_BUF=Buffer.alloc(0);async function lazyllhttp(){const llhttpWasmData=process.env.JEST_WORKER_ID?require_llhttp_wasm():void 0;let mod3;try{mod3=await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm(),"base64"))}catch(e){mod3=await WebAssembly.compile(Buffer.from(llhttpWasmData||require_llhttp_wasm(),"base64"))}return await WebAssembly.instantiate(mod3,{env:{wasm_on_url:(p,at2,len)=>{return 0},wasm_on_status:(p,at2,len)=>{assert2.strictEqual(currentParser.ptr,p);const start=at2-currentBufferPtr+currentBufferRef.byteOffset;return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer,start,len))||0},wasm_on_message_begin:p=>{assert2.strictEqual(currentParser.ptr,p);return currentParser.onMessageBegin()||0},wasm_on_header_field:(p,at2,len)=>{assert2.strictEqual(currentParser.ptr,p);const start=at2-currentBufferPtr+currentBufferRef.byteOffset;return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer,start,len))||0},wasm_on_header_value:(p,at2,len)=>{assert2.strictEqual(currentParser.ptr,p);const start=at2-currentBufferPtr+currentBufferRef.byteOffset;return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer,start,len))||0},wasm_on_headers_complete:(p,statusCode,upgrade,shouldKeepAlive)=>{assert2.strictEqual(currentParser.ptr,p);return currentParser.onHeadersComplete(statusCode,Boolean(upgrade),Boolean(shouldKeepAlive))||0},wasm_on_body:(p,at2,len)=>{assert2.strictEqual(currentParser.ptr,p);const start=at2-currentBufferPtr+currentBufferRef.byteOffset;return currentParser.onBody(new FastBuffer(currentBufferRef.buffer,start,len))||0},wasm_on_message_complete:p=>{assert2.strictEqual(currentParser.ptr,p);return currentParser.onMessageComplete()||0}}})}var llhttpInstance=null;var llhttpPromise=lazyllhttp();llhttpPromise.catch();var currentParser=null;var currentBufferRef=null;var currentBufferSize=0;var currentBufferPtr=null;var TIMEOUT_HEADERS=1;var TIMEOUT_BODY=2;var TIMEOUT_IDLE=3;var Parser=class{constructor(client,socket,{exports:exports3}){assert2(Number.isFinite(client[kMaxHeadersSize])&&client[kMaxHeadersSize]>0);this.llhttp=exports3;this.ptr=this.llhttp.llhttp_alloc(constants3.TYPE.RESPONSE);this.client=client;this.socket=socket;this.timeout=null;this.timeoutValue=null;this.timeoutType=null;this.statusCode=null;this.statusText="";this.upgrade=false;this.headers=[];this.headersSize=0;this.headersMaxSize=client[kMaxHeadersSize];this.shouldKeepAlive=false;this.paused=false;this.resume=this.resume.bind(this);this.bytesRead=0;this.keepAlive="";this.contentLength="";this.connection="";this.maxResponseSize=client[kMaxResponseSize]}setTimeout(value,type2){this.timeoutType=type2;if(value!==this.timeoutValue){timers.clearTimeout(this.timeout);if(value){this.timeout=timers.setTimeout(onParserTimeout,value,this);if(this.timeout.unref){this.timeout.unref()}}else{this.timeout=null}this.timeoutValue=value}else if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}}resume(){if(this.socket.destroyed||!this.paused){return}assert2(this.ptr!=null);assert2(currentParser==null);this.llhttp.llhttp_resume(this.ptr);assert2(this.timeoutType===TIMEOUT_BODY);if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}this.paused=false;this.execute(this.socket.read()||EMPTY_BUF);this.readMore()}readMore(){while(!this.paused&&this.ptr){const chunk2=this.socket.read();if(chunk2===null){break}this.execute(chunk2)}}execute(data){assert2(this.ptr!=null);assert2(currentParser==null);assert2(!this.paused);const{socket,llhttp}=this;if(data.length>currentBufferSize){if(currentBufferPtr){llhttp.free(currentBufferPtr)}currentBufferSize=Math.ceil(data.length/4096)*4096;currentBufferPtr=llhttp.malloc(currentBufferSize)}new Uint8Array(llhttp.memory.buffer,currentBufferPtr,currentBufferSize).set(data);try{let ret;try{currentBufferRef=data;currentParser=this;ret=llhttp.llhttp_execute(this.ptr,currentBufferPtr,data.length)}catch(err){throw err}finally{currentParser=null;currentBufferRef=null}const offset=llhttp.llhttp_get_error_pos(this.ptr)-currentBufferPtr;if(ret===constants3.ERROR.PAUSED_UPGRADE){this.onUpgrade(data.slice(offset))}else if(ret===constants3.ERROR.PAUSED){this.paused=true;socket.unshift(data.slice(offset))}else if(ret!==constants3.ERROR.OK){const ptr=llhttp.llhttp_get_error_reason(this.ptr);let message3="";if(ptr){const len=new Uint8Array(llhttp.memory.buffer,ptr).indexOf(0);message3="Response does not match the HTTP/1.1 protocol ("+Buffer.from(llhttp.memory.buffer,ptr,len).toString()+")"}throw new HTTPParserError(message3,constants3.ERROR[ret],data.slice(offset))}}catch(err){util4.destroy(socket,err)}}destroy(){assert2(this.ptr!=null);assert2(currentParser==null);this.llhttp.llhttp_free(this.ptr);this.ptr=null;timers.clearTimeout(this.timeout);this.timeout=null;this.timeoutValue=null;this.timeoutType=null;this.paused=false}onStatus(buf){this.statusText=buf.toString()}onMessageBegin(){const{socket,client}=this;if(socket.destroyed){return-1}const request=client[kQueue][client[kRunningIdx]];if(!request){return-1}}onHeaderField(buf){const len=this.headers.length;if((len&1)===0){this.headers.push(buf)}else{this.headers[len-1]=Buffer.concat([this.headers[len-1],buf])}this.trackHeader(buf.length)}onHeaderValue(buf){let len=this.headers.length;if((len&1)===1){this.headers.push(buf);len+=1}else{this.headers[len-1]=Buffer.concat([this.headers[len-1],buf])}const key=this.headers[len-2];if(key.length===10&&key.toString().toLowerCase()==="keep-alive"){this.keepAlive+=buf.toString()}else if(key.length===10&&key.toString().toLowerCase()==="connection"){this.connection+=buf.toString()}else if(key.length===14&&key.toString().toLowerCase()==="content-length"){this.contentLength+=buf.toString()}this.trackHeader(buf.length)}trackHeader(len){this.headersSize+=len;if(this.headersSize>=this.headersMaxSize){util4.destroy(this.socket,new HeadersOverflowError)}}onUpgrade(head2){const{upgrade,client,socket,headers,statusCode}=this;assert2(upgrade);const request=client[kQueue][client[kRunningIdx]];assert2(request);assert2(!socket.destroyed);assert2(socket===client[kSocket]);assert2(!this.paused);assert2(request.upgrade||request.method==="CONNECT");this.statusCode=null;this.statusText="";this.shouldKeepAlive=null;assert2(this.headers.length%2===0);this.headers=[];this.headersSize=0;socket.unshift(head2);socket[kParser].destroy();socket[kParser]=null;socket[kClient]=null;socket[kError]=null;socket.removeListener("error",onSocketError).removeListener("readable",onSocketReadable).removeListener("end",onSocketEnd).removeListener("close",onSocketClose);client[kSocket]=null;client[kQueue][client[kRunningIdx]++]=null;client.emit("disconnect",client[kUrl],[client],new InformationalError("upgrade"));try{request.onUpgrade(statusCode,headers,socket)}catch(err){util4.destroy(socket,err)}resume(client)}onHeadersComplete(statusCode,upgrade,shouldKeepAlive){const{client,socket,headers,statusText}=this;if(socket.destroyed){return-1}const request=client[kQueue][client[kRunningIdx]];if(!request){return-1}assert2(!this.upgrade);assert2(this.statusCode<200);if(statusCode===100){util4.destroy(socket,new SocketError("bad response",util4.getSocketInfo(socket)));return-1}if(upgrade&&!request.upgrade){util4.destroy(socket,new SocketError("bad upgrade",util4.getSocketInfo(socket)));return-1}assert2.strictEqual(this.timeoutType,TIMEOUT_HEADERS);this.statusCode=statusCode;this.shouldKeepAlive=shouldKeepAlive||request.method==="HEAD"&&!socket[kReset]&&this.connection.toLowerCase()==="keep-alive";if(this.statusCode>=200){const bodyTimeout=request.bodyTimeout!=null?request.bodyTimeout:client[kBodyTimeout];this.setTimeout(bodyTimeout,TIMEOUT_BODY)}else if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}if(request.method==="CONNECT"){assert2(client[kRunning]===1);this.upgrade=true;return 2}if(upgrade){assert2(client[kRunning]===1);this.upgrade=true;return 2}assert2(this.headers.length%2===0);this.headers=[];this.headersSize=0;if(this.shouldKeepAlive&&client[kPipelining]){const keepAliveTimeout=this.keepAlive?util4.parseKeepAliveTimeout(this.keepAlive):null;if(keepAliveTimeout!=null){const timeout=Math.min(keepAliveTimeout-client[kKeepAliveTimeoutThreshold],client[kKeepAliveMaxTimeout]);if(timeout<=0){socket[kReset]=true}else{client[kKeepAliveTimeoutValue]=timeout}}else{client[kKeepAliveTimeoutValue]=client[kKeepAliveDefaultTimeout]}}else{socket[kReset]=true}const pause=request.onHeaders(statusCode,headers,this.resume,statusText)===false;if(request.aborted){return-1}if(request.method==="HEAD"){return 1}if(statusCode<200){return 1}if(socket[kBlocking]){socket[kBlocking]=false;resume(client)}return pause?constants3.ERROR.PAUSED:0}onBody(buf){const{client,socket,statusCode,maxResponseSize}=this;if(socket.destroyed){return-1}const request=client[kQueue][client[kRunningIdx]];assert2(request);assert2.strictEqual(this.timeoutType,TIMEOUT_BODY);if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}assert2(statusCode>=200);if(maxResponseSize>-1&&this.bytesRead+buf.length>maxResponseSize){util4.destroy(socket,new ResponseExceededMaxSizeError);return-1}this.bytesRead+=buf.length;if(request.onData(buf)===false){return constants3.ERROR.PAUSED}}onMessageComplete(){const{client,socket,statusCode,upgrade,headers,contentLength,bytesRead,shouldKeepAlive}=this;if(socket.destroyed&&(!statusCode||shouldKeepAlive)){return-1}if(upgrade){return}const request=client[kQueue][client[kRunningIdx]];assert2(request);assert2(statusCode>=100);this.statusCode=null;this.statusText="";this.bytesRead=0;this.contentLength="";this.keepAlive="";this.connection="";assert2(this.headers.length%2===0);this.headers=[];this.headersSize=0;if(statusCode<200){return}if(request.method!=="HEAD"&&contentLength&&bytesRead!==parseInt(contentLength,10)){util4.destroy(socket,new ResponseContentLengthMismatchError);return-1}request.onComplete(headers);client[kQueue][client[kRunningIdx]++]=null;if(socket[kWriting]){assert2.strictEqual(client[kRunning],0);util4.destroy(socket,new InformationalError("reset"));return constants3.ERROR.PAUSED}else if(!shouldKeepAlive){util4.destroy(socket,new InformationalError("reset"));return constants3.ERROR.PAUSED}else if(socket[kReset]&&client[kRunning]===0){util4.destroy(socket,new InformationalError("reset"));return constants3.ERROR.PAUSED}else if(client[kPipelining]===1){setImmediate(resume,client)}else{resume(client)}}};function onParserTimeout(parser){const{socket,timeoutType,client}=parser;if(timeoutType===TIMEOUT_HEADERS){if(!socket[kWriting]||socket.writableNeedDrain||client[kRunning]>1){assert2(!parser.paused,"cannot be paused while waiting for headers");util4.destroy(socket,new HeadersTimeoutError)}}else if(timeoutType===TIMEOUT_BODY){if(!parser.paused){util4.destroy(socket,new BodyTimeoutError)}}else if(timeoutType===TIMEOUT_IDLE){assert2(client[kRunning]===0&&client[kKeepAliveTimeoutValue]);util4.destroy(socket,new InformationalError("socket idle timeout"))}}function onSocketReadable(){const{[kParser]:parser}=this;if(parser){parser.readMore()}}function onSocketError(err){const{[kClient]:client,[kParser]:parser}=this;assert2(err.code!=="ERR_TLS_CERT_ALTNAME_INVALID");if(client[kHTTPConnVersion]!=="h2"){if(err.code==="ECONNRESET"&&parser.statusCode&&!parser.shouldKeepAlive){parser.onMessageComplete();return}}this[kError]=err;onError(this[kClient],err)}function onError(client,err){if(client[kRunning]===0&&err.code!=="UND_ERR_INFO"&&err.code!=="UND_ERR_SOCKET"){assert2(client[kPendingIdx]===client[kRunningIdx]);const requests=client[kQueue].splice(client[kRunningIdx]);for(let i=0;i<requests.length;i++){const request=requests[i];errorRequest(client,request,err)}assert2(client[kSize]===0)}}function onSocketEnd(){const{[kParser]:parser,[kClient]:client}=this;if(client[kHTTPConnVersion]!=="h2"){if(parser.statusCode&&!parser.shouldKeepAlive){parser.onMessageComplete();return}}util4.destroy(this,new SocketError("other side closed",util4.getSocketInfo(this)))}function onSocketClose(){const{[kClient]:client,[kParser]:parser}=this;if(client[kHTTPConnVersion]==="h1"&&parser){if(!this[kError]&&parser.statusCode&&!parser.shouldKeepAlive){parser.onMessageComplete()}this[kParser].destroy();this[kParser]=null}const err=this[kError]||new SocketError("closed",util4.getSocketInfo(this));client[kSocket]=null;if(client.destroyed){assert2(client[kPending]===0);const requests=client[kQueue].splice(client[kRunningIdx]);for(let i=0;i<requests.length;i++){const request=requests[i];errorRequest(client,request,err)}}else if(client[kRunning]>0&&err.code!=="UND_ERR_INFO"){const request=client[kQueue][client[kRunningIdx]];client[kQueue][client[kRunningIdx]++]=null;errorRequest(client,request,err)}client[kPendingIdx]=client[kRunningIdx];assert2(client[kRunning]===0);client.emit("disconnect",client[kUrl],[client],err);resume(client)}async function connect(client){assert2(!client[kConnecting]);assert2(!client[kSocket]);let{host,hostname,protocol,port}=client[kUrl];if(hostname[0]==="["){const idx=hostname.indexOf("]");assert2(idx!==-1);const ip=hostname.substring(1,idx);assert2(net2.isIP(ip));hostname=ip}client[kConnecting]=true;if(channels.beforeConnect.hasSubscribers){channels.beforeConnect.publish({connectParams:{host,hostname,protocol,port,servername:client[kServerName],localAddress:client[kLocalAddress]},connector:client[kConnector]})}try{const socket=await new Promise((resolve,reject2)=>{client[kConnector]({host,hostname,protocol,port,servername:client[kServerName],localAddress:client[kLocalAddress]},(err,socket2)=>{if(err){reject2(err)}else{resolve(socket2)}})});if(client.destroyed){util4.destroy(socket.on("error",()=>{}),new ClientDestroyedError);return}client[kConnecting]=false;assert2(socket);const isH2=socket.alpnProtocol==="h2";if(isH2){if(!h2ExperimentalWarned){h2ExperimentalWarned=true;process.emitWarning("H2 support is experimental, expect them to change at any time.",{code:"UNDICI-H2"})}const session=http22.connect(client[kUrl],{createConnection:()=>socket,peerMaxConcurrentStreams:client[kHTTP2SessionState].maxConcurrentStreams});client[kHTTPConnVersion]="h2";session[kClient]=client;session[kSocket]=socket;session.on("error",onHttp2SessionError);session.on("frameError",onHttp2FrameError);session.on("end",onHttp2SessionEnd);session.on("goaway",onHTTP2GoAway);session.on("close",onSocketClose);session.unref();client[kHTTP2Session]=session;socket[kHTTP2Session]=session}else{if(!llhttpInstance){llhttpInstance=await llhttpPromise;llhttpPromise=null}socket[kNoRef]=false;socket[kWriting]=false;socket[kReset]=false;socket[kBlocking]=false;socket[kParser]=new Parser(client,socket,llhttpInstance)}socket[kCounter]=0;socket[kMaxRequests]=client[kMaxRequests];socket[kClient]=client;socket[kError]=null;socket.on("error",onSocketError).on("readable",onSocketReadable).on("end",onSocketEnd).on("close",onSocketClose);client[kSocket]=socket;if(channels.connected.hasSubscribers){channels.connected.publish({connectParams:{host,hostname,protocol,port,servername:client[kServerName],localAddress:client[kLocalAddress]},connector:client[kConnector],socket})}client.emit("connect",client[kUrl],[client])}catch(err){if(client.destroyed){return}client[kConnecting]=false;if(channels.connectError.hasSubscribers){channels.connectError.publish({connectParams:{host,hostname,protocol,port,servername:client[kServerName],localAddress:client[kLocalAddress]},connector:client[kConnector],error:err})}if(err.code==="ERR_TLS_CERT_ALTNAME_INVALID"){assert2(client[kRunning]===0);while(client[kPending]>0&&client[kQueue][client[kPendingIdx]].servername===client[kServerName]){const request=client[kQueue][client[kPendingIdx]++];errorRequest(client,request,err)}}else{onError(client,err)}client.emit("connectionError",client[kUrl],[client],err)}resume(client)}function emitDrain(client){client[kNeedDrain]=0;client.emit("drain",client[kUrl],[client])}function resume(client,sync){if(client[kResuming]===2){return}client[kResuming]=2;_resume(client,sync);client[kResuming]=0;if(client[kRunningIdx]>256){client[kQueue].splice(0,client[kRunningIdx]);client[kPendingIdx]-=client[kRunningIdx];client[kRunningIdx]=0}}function _resume(client,sync){while(true){if(client.destroyed){assert2(client[kPending]===0);return}if(client[kClosedResolve]&&!client[kSize]){client[kClosedResolve]();client[kClosedResolve]=null;return}const socket=client[kSocket];if(socket&&!socket.destroyed&&socket.alpnProtocol!=="h2"){if(client[kSize]===0){if(!socket[kNoRef]&&socket.unref){socket.unref();socket[kNoRef]=true}}else if(socket[kNoRef]&&socket.ref){socket.ref();socket[kNoRef]=false}if(client[kSize]===0){if(socket[kParser].timeoutType!==TIMEOUT_IDLE){socket[kParser].setTimeout(client[kKeepAliveTimeoutValue],TIMEOUT_IDLE)}}else if(client[kRunning]>0&&socket[kParser].statusCode<200){if(socket[kParser].timeoutType!==TIMEOUT_HEADERS){const request2=client[kQueue][client[kRunningIdx]];const headersTimeout=request2.headersTimeout!=null?request2.headersTimeout:client[kHeadersTimeout];socket[kParser].setTimeout(headersTimeout,TIMEOUT_HEADERS)}}}if(client[kBusy]){client[kNeedDrain]=2}else if(client[kNeedDrain]===2){if(sync){client[kNeedDrain]=1;process.nextTick(emitDrain,client)}else{emitDrain(client)}continue}if(client[kPending]===0){return}if(client[kRunning]>=(client[kPipelining]||1)){return}const request=client[kQueue][client[kPendingIdx]];if(client[kUrl].protocol==="https:"&&client[kServerName]!==request.servername){if(client[kRunning]>0){return}client[kServerName]=request.servername;if(socket&&socket.servername!==request.servername){util4.destroy(socket,new InformationalError("servername changed"));return}}if(client[kConnecting]){return}if(!socket&&!client[kHTTP2Session]){connect(client);return}if(socket.destroyed||socket[kWriting]||socket[kReset]||socket[kBlocking]){return}if(client[kRunning]>0&&!request.idempotent){return}if(client[kRunning]>0&&(request.upgrade||request.method==="CONNECT")){return}if(client[kRunning]>0&&util4.bodyLength(request.body)!==0&&(util4.isStream(request.body)||util4.isAsyncIterable(request.body))){return}if(!request.aborted&&write2(client,request)){client[kPendingIdx]++}else{client[kQueue].splice(client[kPendingIdx],1)}}}function shouldSendContentLength(method2){return method2!=="GET"&&method2!=="HEAD"&&method2!=="OPTIONS"&&method2!=="TRACE"&&method2!=="CONNECT"}function write2(client,request){if(client[kHTTPConnVersion]==="h2"){writeH2(client,client[kHTTP2Session],request);return}const{body,method:method2,path:path27,host,upgrade,headers,blocking,reset}=request;const expectsPayload=method2==="PUT"||method2==="POST"||method2==="PATCH";if(body&&typeof body.read==="function"){body.read(0)}const bodyLength=util4.bodyLength(body);let contentLength=bodyLength;if(contentLength===null){contentLength=request.contentLength}if(contentLength===0&&!expectsPayload){contentLength=null}if(shouldSendContentLength(method2)&&contentLength>0&&request.contentLength!==null&&request.contentLength!==contentLength){if(client[kStrictContentLength]){errorRequest(client,request,new RequestContentLengthMismatchError);return false}process.emitWarning(new RequestContentLengthMismatchError)}const socket=client[kSocket];try{request.onConnect(err=>{if(request.aborted||request.completed){return}errorRequest(client,request,err||new RequestAbortedError);util4.destroy(socket,new InformationalError("aborted"))})}catch(err){errorRequest(client,request,err)}if(request.aborted){return false}if(method2==="HEAD"){socket[kReset]=true}if(upgrade||method2==="CONNECT"){socket[kReset]=true}if(reset!=null){socket[kReset]=reset}if(client[kMaxRequests]&&socket[kCounter]++>=client[kMaxRequests]){socket[kReset]=true}if(blocking){socket[kBlocking]=true}let header2=`${method2} ${path27} HTTP/1.1\r
`;if(typeof host==="string"){header2+=`host: ${host}\r
`}else{header2+=client[kHostHeader]}if(upgrade){header2+=`connection: upgrade\r
upgrade: ${upgrade}\r
`}else if(client[kPipelining]&&!socket[kReset]){header2+="connection: keep-alive\r\n"}else{header2+="connection: close\r\n"}if(headers){header2+=headers}if(channels.sendHeaders.hasSubscribers){channels.sendHeaders.publish({request,headers:header2,socket})}if(!body||bodyLength===0){if(contentLength===0){socket.write(`${header2}content-length: 0\r
\r
`,"latin1")}else{assert2(contentLength===null,"no body must not have content length");socket.write(`${header2}\r
`,"latin1")}request.onRequestSent()}else if(util4.isBuffer(body)){assert2(contentLength===body.byteLength,"buffer body must have content length");socket.cork();socket.write(`${header2}content-length: ${contentLength}\r
\r
`,"latin1");socket.write(body);socket.uncork();request.onBodySent(body);request.onRequestSent();if(!expectsPayload){socket[kReset]=true}}else if(util4.isBlobLike(body)){if(typeof body.stream==="function"){writeIterable({body:body.stream(),client,request,socket,contentLength,header:header2,expectsPayload})}else{writeBlob({body,client,request,socket,contentLength,header:header2,expectsPayload})}}else if(util4.isStream(body)){writeStream({body,client,request,socket,contentLength,header:header2,expectsPayload})}else if(util4.isIterable(body)){writeIterable({body,client,request,socket,contentLength,header:header2,expectsPayload})}else{assert2(false)}return true}function writeH2(client,session,request){const{body,method:method2,path:path27,host,upgrade,expectContinue,signal,headers:reqHeaders}=request;let headers;if(typeof reqHeaders==="string")headers=Request2[kHTTP2CopyHeaders](reqHeaders.trim());else headers=reqHeaders;if(upgrade){errorRequest(client,request,new Error("Upgrade not supported for H2"));return false}try{request.onConnect(err=>{if(request.aborted||request.completed){return}errorRequest(client,request,err||new RequestAbortedError)})}catch(err){errorRequest(client,request,err)}if(request.aborted){return false}let stream3;const h2State=client[kHTTP2SessionState];headers[HTTP2_HEADER_AUTHORITY]=host||client[kHost];headers[HTTP2_HEADER_METHOD]=method2;if(method2==="CONNECT"){session.ref();stream3=session.request(headers,{endStream:false,signal});if(stream3.id&&!stream3.pending){request.onUpgrade(null,null,stream3);++h2State.openStreams}else{stream3.once("ready",()=>{request.onUpgrade(null,null,stream3);++h2State.openStreams})}stream3.once("close",()=>{h2State.openStreams-=1;if(h2State.openStreams===0)session.unref()});return true}headers[HTTP2_HEADER_PATH]=path27;headers[HTTP2_HEADER_SCHEME]="https";const expectsPayload=method2==="PUT"||method2==="POST"||method2==="PATCH";if(body&&typeof body.read==="function"){body.read(0)}let contentLength=util4.bodyLength(body);if(contentLength==null){contentLength=request.contentLength}if(contentLength===0||!expectsPayload){contentLength=null}if(shouldSendContentLength(method2)&&contentLength>0&&request.contentLength!=null&&request.contentLength!==contentLength){if(client[kStrictContentLength]){errorRequest(client,request,new RequestContentLengthMismatchError);return false}process.emitWarning(new RequestContentLengthMismatchError)}if(contentLength!=null){assert2(body,"no body must not have content length");headers[HTTP2_HEADER_CONTENT_LENGTH]=`${contentLength}`}session.ref();const shouldEndStream=method2==="GET"||method2==="HEAD";if(expectContinue){headers[HTTP2_HEADER_EXPECT]="100-continue";stream3=session.request(headers,{endStream:shouldEndStream,signal});stream3.once("continue",writeBodyH2)}else{stream3=session.request(headers,{endStream:shouldEndStream,signal});writeBodyH2()}++h2State.openStreams;stream3.once("response",headers2=>{const{[HTTP2_HEADER_STATUS]:statusCode,...realHeaders}=headers2;if(request.onHeaders(Number(statusCode),realHeaders,stream3.resume.bind(stream3),"")===false){stream3.pause()}});stream3.once("end",()=>{request.onComplete([])});stream3.on("data",chunk2=>{if(request.onData(chunk2)===false){stream3.pause()}});stream3.once("close",()=>{h2State.openStreams-=1;if(h2State.openStreams===0){session.unref()}});stream3.once("error",function(err){if(client[kHTTP2Session]&&!client[kHTTP2Session].destroyed&&!this.closed&&!this.destroyed){h2State.streams-=1;util4.destroy(stream3,err)}});stream3.once("frameError",(type2,code)=>{const err=new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);errorRequest(client,request,err);if(client[kHTTP2Session]&&!client[kHTTP2Session].destroyed&&!this.closed&&!this.destroyed){h2State.streams-=1;util4.destroy(stream3,err)}});return true;function writeBodyH2(){if(!body){request.onRequestSent()}else if(util4.isBuffer(body)){assert2(contentLength===body.byteLength,"buffer body must have content length");stream3.cork();stream3.write(body);stream3.uncork();stream3.end();request.onBodySent(body);request.onRequestSent()}else if(util4.isBlobLike(body)){if(typeof body.stream==="function"){writeIterable({client,request,contentLength,h2stream:stream3,expectsPayload,body:body.stream(),socket:client[kSocket],header:""})}else{writeBlob({body,client,request,contentLength,expectsPayload,h2stream:stream3,header:"",socket:client[kSocket]})}}else if(util4.isStream(body)){writeStream({body,client,request,contentLength,expectsPayload,socket:client[kSocket],h2stream:stream3,header:""})}else if(util4.isIterable(body)){writeIterable({body,client,request,contentLength,expectsPayload,header:"",h2stream:stream3,socket:client[kSocket]})}else{assert2(false)}}}function writeStream({h2stream,body,client,request,socket,contentLength,header:header2,expectsPayload}){assert2(contentLength!==0||client[kRunning]===0,"stream body cannot be pipelined");if(client[kHTTPConnVersion]==="h2"){let onPipeData=function(chunk2){request.onBodySent(chunk2)};const pipe=pipeline(body,h2stream,err=>{if(err){util4.destroy(body,err);util4.destroy(h2stream,err)}else{request.onRequestSent()}});pipe.on("data",onPipeData);pipe.once("end",()=>{pipe.removeListener("data",onPipeData);util4.destroy(pipe)});return}let finished=false;const writer=new AsyncWriter({socket,request,contentLength,client,expectsPayload,header:header2});const onData=function(chunk2){if(finished){return}try{if(!writer.write(chunk2)&&this.pause){this.pause()}}catch(err){util4.destroy(this,err)}};const onDrain=function(){if(finished){return}if(body.resume){body.resume()}};const onAbort=function(){if(finished){return}const err=new RequestAbortedError;queueMicrotask(()=>onFinished(err))};const onFinished=function(err){if(finished){return}finished=true;assert2(socket.destroyed||socket[kWriting]&&client[kRunning]<=1);socket.off("drain",onDrain).off("error",onFinished);body.removeListener("data",onData).removeListener("end",onFinished).removeListener("error",onFinished).removeListener("close",onAbort);if(!err){try{writer.end()}catch(er){err=er}}writer.destroy(err);if(err&&(err.code!=="UND_ERR_INFO"||err.message!=="reset")){util4.destroy(body,err)}else{util4.destroy(body)}};body.on("data",onData).on("end",onFinished).on("error",onFinished).on("close",onAbort);if(body.resume){body.resume()}socket.on("drain",onDrain).on("error",onFinished)}async function writeBlob({h2stream,body,client,request,socket,contentLength,header:header2,expectsPayload}){assert2(contentLength===body.size,"blob body must have content length");const isH2=client[kHTTPConnVersion]==="h2";try{if(contentLength!=null&&contentLength!==body.size){throw new RequestContentLengthMismatchError}const buffer=Buffer.from(await body.arrayBuffer());if(isH2){h2stream.cork();h2stream.write(buffer);h2stream.uncork()}else{socket.cork();socket.write(`${header2}content-length: ${contentLength}\r
\r
`,"latin1");socket.write(buffer);socket.uncork()}request.onBodySent(buffer);request.onRequestSent();if(!expectsPayload){socket[kReset]=true}resume(client)}catch(err){util4.destroy(isH2?h2stream:socket,err)}}async function writeIterable({h2stream,body,client,request,socket,contentLength,header:header2,expectsPayload}){assert2(contentLength!==0||client[kRunning]===0,"iterator body cannot be pipelined");let callback=null;function onDrain(){if(callback){const cb=callback;callback=null;cb()}}const waitForDrain=()=>new Promise((resolve,reject2)=>{assert2(callback===null);if(socket[kError]){reject2(socket[kError])}else{callback=resolve}});if(client[kHTTPConnVersion]==="h2"){h2stream.on("close",onDrain).on("drain",onDrain);try{for await(const chunk2 of body){if(socket[kError]){throw socket[kError]}const res=h2stream.write(chunk2);request.onBodySent(chunk2);if(!res){await waitForDrain()}}}catch(err){h2stream.destroy(err)}finally{request.onRequestSent();h2stream.end();h2stream.off("close",onDrain).off("drain",onDrain)}return}socket.on("close",onDrain).on("drain",onDrain);const writer=new AsyncWriter({socket,request,contentLength,client,expectsPayload,header:header2});try{for await(const chunk2 of body){if(socket[kError]){throw socket[kError]}if(!writer.write(chunk2)){await waitForDrain()}}writer.end()}catch(err){writer.destroy(err)}finally{socket.off("close",onDrain).off("drain",onDrain)}}var AsyncWriter=class{constructor({socket,request,contentLength,client,expectsPayload,header:header2}){this.socket=socket;this.request=request;this.contentLength=contentLength;this.client=client;this.bytesWritten=0;this.expectsPayload=expectsPayload;this.header=header2;socket[kWriting]=true}write(chunk2){const{socket,request,contentLength,client,bytesWritten,expectsPayload,header:header2}=this;if(socket[kError]){throw socket[kError]}if(socket.destroyed){return false}const len=Buffer.byteLength(chunk2);if(!len){return true}if(contentLength!==null&&bytesWritten+len>contentLength){if(client[kStrictContentLength]){throw new RequestContentLengthMismatchError}process.emitWarning(new RequestContentLengthMismatchError)}socket.cork();if(bytesWritten===0){if(!expectsPayload){socket[kReset]=true}if(contentLength===null){socket.write(`${header2}transfer-encoding: chunked\r
`,"latin1")}else{socket.write(`${header2}content-length: ${contentLength}\r
\r
`,"latin1")}}if(contentLength===null){socket.write(`\r
${len.toString(16)}\r
`,"latin1")}this.bytesWritten+=len;const ret=socket.write(chunk2);socket.uncork();request.onBodySent(chunk2);if(!ret){if(socket[kParser].timeout&&socket[kParser].timeoutType===TIMEOUT_HEADERS){if(socket[kParser].timeout.refresh){socket[kParser].timeout.refresh()}}}return ret}end(){const{socket,contentLength,client,bytesWritten,expectsPayload,header:header2,request}=this;request.onRequestSent();socket[kWriting]=false;if(socket[kError]){throw socket[kError]}if(socket.destroyed){return}if(bytesWritten===0){if(expectsPayload){socket.write(`${header2}content-length: 0\r
\r
`,"latin1")}else{socket.write(`${header2}\r
`,"latin1")}}else if(contentLength===null){socket.write("\r\n0\r\n\r\n","latin1")}if(contentLength!==null&&bytesWritten!==contentLength){if(client[kStrictContentLength]){throw new RequestContentLengthMismatchError}else{process.emitWarning(new RequestContentLengthMismatchError)}}if(socket[kParser].timeout&&socket[kParser].timeoutType===TIMEOUT_HEADERS){if(socket[kParser].timeout.refresh){socket[kParser].timeout.refresh()}}resume(client)}destroy(err){const{socket,client}=this;socket[kWriting]=false;if(err){assert2(client[kRunning]<=1,"pipeline should only contain this request");util4.destroy(socket,err)}}};function errorRequest(client,request,err){try{request.onError(err);assert2(request.aborted)}catch(err2){client.emit("error",err2)}}module2.exports=Client3}});var require_fixed_queue=__commonJS({"node_modules/undici/lib/node/fixed-queue.js"(exports2,module2){"use strict";var kSize=2048;var kMask=kSize-1;var FixedCircularBuffer=class{constructor(){this.bottom=0;this.top=0;this.list=new Array(kSize);this.next=null}isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&kMask)===this.bottom}push(data){this.list[this.top]=data;this.top=this.top+1&kMask}shift(){const nextItem=this.list[this.bottom];if(nextItem===void 0)return null;this.list[this.bottom]=void 0;this.bottom=this.bottom+1&kMask;return nextItem}};module2.exports=class FixedQueue{constructor(){this.head=this.tail=new FixedCircularBuffer}isEmpty(){return this.head.isEmpty()}push(data){if(this.head.isFull()){this.head=this.head.next=new FixedCircularBuffer}this.head.push(data)}shift(){const tail2=this.tail;const next=tail2.shift();if(tail2.isEmpty()&&tail2.next!==null){this.tail=tail2.next}return next}}}});var require_pool_stats=__commonJS({"node_modules/undici/lib/pool-stats.js"(exports2,module2){var{kFree,kConnected,kPending,kQueued,kRunning,kSize}=require_symbols();var kPool=Symbol("pool");var PoolStats=class{constructor(pool2){this[kPool]=pool2}get connected(){return this[kPool][kConnected]}get free(){return this[kPool][kFree]}get pending(){return this[kPool][kPending]}get queued(){return this[kPool][kQueued]}get running(){return this[kPool][kRunning]}get size(){return this[kPool][kSize]}};module2.exports=PoolStats}});var require_pool_base=__commonJS({"node_modules/undici/lib/pool-base.js"(exports2,module2){"use strict";var DispatcherBase=require_dispatcher_base();var FixedQueue=require_fixed_queue();var{kConnected,kSize,kRunning,kPending,kQueued,kBusy,kFree,kUrl,kClose,kDestroy,kDispatch}=require_symbols();var PoolStats=require_pool_stats();var kClients=Symbol("clients");var kNeedDrain=Symbol("needDrain");var kQueue=Symbol("queue");var kClosedResolve=Symbol("closed resolve");var kOnDrain=Symbol("onDrain");var kOnConnect=Symbol("onConnect");var kOnDisconnect=Symbol("onDisconnect");var kOnConnectionError=Symbol("onConnectionError");var kGetDispatcher=Symbol("get dispatcher");var kAddClient=Symbol("add client");var kRemoveClient=Symbol("remove client");var kStats=Symbol("stats");var PoolBase=class extends DispatcherBase{constructor(){super();this[kQueue]=new FixedQueue;this[kClients]=[];this[kQueued]=0;const pool2=this;this[kOnDrain]=function onDrain(origin,targets){const queue=pool2[kQueue];let needDrain=false;while(!needDrain){const item=queue.shift();if(!item){break}pool2[kQueued]--;needDrain=!this.dispatch(item.opts,item.handler)}this[kNeedDrain]=needDrain;if(!this[kNeedDrain]&&pool2[kNeedDrain]){pool2[kNeedDrain]=false;pool2.emit("drain",origin,[pool2,...targets])}if(pool2[kClosedResolve]&&queue.isEmpty()){Promise.all(pool2[kClients].map(c=>c.close())).then(pool2[kClosedResolve])}};this[kOnConnect]=(origin,targets)=>{pool2.emit("connect",origin,[pool2,...targets])};this[kOnDisconnect]=(origin,targets,err)=>{pool2.emit("disconnect",origin,[pool2,...targets],err)};this[kOnConnectionError]=(origin,targets,err)=>{pool2.emit("connectionError",origin,[pool2,...targets],err)};this[kStats]=new PoolStats(this)}get[kBusy](){return this[kNeedDrain]}get[kConnected](){return this[kClients].filter(client=>client[kConnected]).length}get[kFree](){return this[kClients].filter(client=>client[kConnected]&&!client[kNeedDrain]).length}get[kPending](){let ret=this[kQueued];for(const{[kPending]:pending}of this[kClients]){ret+=pending}return ret}get[kRunning](){let ret=0;for(const{[kRunning]:running}of this[kClients]){ret+=running}return ret}get[kSize](){let ret=this[kQueued];for(const{[kSize]:size2}of this[kClients]){ret+=size2}return ret}get stats(){return this[kStats]}async[kClose](){if(this[kQueue].isEmpty()){return Promise.all(this[kClients].map(c=>c.close()))}else{return new Promise(resolve=>{this[kClosedResolve]=resolve})}}async[kDestroy](err){while(true){const item=this[kQueue].shift();if(!item){break}item.handler.onError(err)}return Promise.all(this[kClients].map(c=>c.destroy(err)))}[kDispatch](opts,handler){const dispatcher=this[kGetDispatcher]();if(!dispatcher){this[kNeedDrain]=true;this[kQueue].push({opts,handler});this[kQueued]++}else if(!dispatcher.dispatch(opts,handler)){dispatcher[kNeedDrain]=true;this[kNeedDrain]=!this[kGetDispatcher]()}return!this[kNeedDrain]}[kAddClient](client){client.on("drain",this[kOnDrain]).on("connect",this[kOnConnect]).on("disconnect",this[kOnDisconnect]).on("connectionError",this[kOnConnectionError]);this[kClients].push(client);if(this[kNeedDrain]){process.nextTick(()=>{if(this[kNeedDrain]){this[kOnDrain](client[kUrl],[this,client])}})}return this}[kRemoveClient](client){client.close(()=>{const idx=this[kClients].indexOf(client);if(idx!==-1){this[kClients].splice(idx,1)}});this[kNeedDrain]=this[kClients].some(dispatcher=>!dispatcher[kNeedDrain]&&dispatcher.closed!==true&&dispatcher.destroyed!==true)}};module2.exports={PoolBase,kClients,kNeedDrain,kAddClient,kRemoveClient,kGetDispatcher}}});var require_pool4=__commonJS({"node_modules/undici/lib/pool.js"(exports2,module2){"use strict";var{PoolBase,kClients,kNeedDrain,kAddClient,kGetDispatcher}=require_pool_base();var Client3=require_client4();var{InvalidArgumentError}=require_errors5();var util4=require_util3();var{kUrl,kInterceptors}=require_symbols();var buildConnector=require_connect();var kOptions=Symbol("options");var kConnections=Symbol("connections");var kFactory=Symbol("factory");function defaultFactory(origin,opts){return new Client3(origin,opts)}var Pool=class extends PoolBase{constructor(origin,{connections,factory=defaultFactory,connect,connectTimeout,tls,maxCachedSessions,socketPath,autoSelectFamily,autoSelectFamilyAttemptTimeout,allowH2,...options}={}){super();if(connections!=null&&(!Number.isFinite(connections)||connections<0)){throw new InvalidArgumentError("invalid connections")}if(typeof factory!=="function"){throw new InvalidArgumentError("factory must be a function.")}if(connect!=null&&typeof connect!=="function"&&typeof connect!=="object"){throw new InvalidArgumentError("connect must be a function or an object")}if(typeof connect!=="function"){connect=buildConnector({...tls,maxCachedSessions,allowH2,socketPath,timeout:connectTimeout,...util4.nodeHasAutoSelectFamily&&autoSelectFamily?{autoSelectFamily,autoSelectFamilyAttemptTimeout}:void 0,...connect})}this[kInterceptors]=options.interceptors&&options.interceptors.Pool&&Array.isArray(options.interceptors.Pool)?options.interceptors.Pool:[];this[kConnections]=connections||null;this[kUrl]=util4.parseOrigin(origin);this[kOptions]={...util4.deepClone(options),connect,allowH2};this[kOptions].interceptors=options.interceptors?{...options.interceptors}:void 0;this[kFactory]=factory}[kGetDispatcher](){let dispatcher=this[kClients].find(dispatcher2=>!dispatcher2[kNeedDrain]);if(dispatcher){return dispatcher}if(!this[kConnections]||this[kClients].length<this[kConnections]){dispatcher=this[kFactory](this[kUrl],this[kOptions]);this[kAddClient](dispatcher)}return dispatcher}};module2.exports=Pool}});var require_balanced_pool=__commonJS({"node_modules/undici/lib/balanced-pool.js"(exports2,module2){"use strict";var{BalancedPoolMissingUpstreamError,InvalidArgumentError}=require_errors5();var{PoolBase,kClients,kNeedDrain,kAddClient,kRemoveClient,kGetDispatcher}=require_pool_base();var Pool=require_pool4();var{kUrl,kInterceptors}=require_symbols();var{parseOrigin}=require_util3();var kFactory=Symbol("factory");var kOptions=Symbol("options");var kGreatestCommonDivisor=Symbol("kGreatestCommonDivisor");var kCurrentWeight=Symbol("kCurrentWeight");var kIndex=Symbol("kIndex");var kWeight=Symbol("kWeight");var kMaxWeightPerServer=Symbol("kMaxWeightPerServer");var kErrorPenalty=Symbol("kErrorPenalty");function getGreatestCommonDivisor(a,b){if(b===0)return a;return getGreatestCommonDivisor(b,a%b)}function defaultFactory(origin,opts){return new Pool(origin,opts)}var BalancedPool=class extends PoolBase{constructor(upstreams=[],{factory=defaultFactory,...opts}={}){super();this[kOptions]=opts;this[kIndex]=-1;this[kCurrentWeight]=0;this[kMaxWeightPerServer]=this[kOptions].maxWeightPerServer||100;this[kErrorPenalty]=this[kOptions].errorPenalty||15;if(!Array.isArray(upstreams)){upstreams=[upstreams]}if(typeof factory!=="function"){throw new InvalidArgumentError("factory must be a function.")}this[kInterceptors]=opts.interceptors&&opts.interceptors.BalancedPool&&Array.isArray(opts.interceptors.BalancedPool)?opts.interceptors.BalancedPool:[];this[kFactory]=factory;for(const upstream of upstreams){this.addUpstream(upstream)}this._updateBalancedPoolStats()}addUpstream(upstream){const upstreamOrigin=parseOrigin(upstream).origin;if(this[kClients].find(pool3=>pool3[kUrl].origin===upstreamOrigin&&pool3.closed!==true&&pool3.destroyed!==true)){return this}const pool2=this[kFactory](upstreamOrigin,Object.assign({},this[kOptions]));this[kAddClient](pool2);pool2.on("connect",()=>{pool2[kWeight]=Math.min(this[kMaxWeightPerServer],pool2[kWeight]+this[kErrorPenalty])});pool2.on("connectionError",()=>{pool2[kWeight]=Math.max(1,pool2[kWeight]-this[kErrorPenalty]);this._updateBalancedPoolStats()});pool2.on("disconnect",(...args2)=>{const err=args2[2];if(err&&err.code==="UND_ERR_SOCKET"){pool2[kWeight]=Math.max(1,pool2[kWeight]-this[kErrorPenalty]);this._updateBalancedPoolStats()}});for(const client of this[kClients]){client[kWeight]=this[kMaxWeightPerServer]}this._updateBalancedPoolStats();return this}_updateBalancedPoolStats(){this[kGreatestCommonDivisor]=this[kClients].map(p=>p[kWeight]).reduce(getGreatestCommonDivisor,0)}removeUpstream(upstream){const upstreamOrigin=parseOrigin(upstream).origin;const pool2=this[kClients].find(pool3=>pool3[kUrl].origin===upstreamOrigin&&pool3.closed!==true&&pool3.destroyed!==true);if(pool2){this[kRemoveClient](pool2)}return this}get upstreams(){return this[kClients].filter(dispatcher=>dispatcher.closed!==true&&dispatcher.destroyed!==true).map(p=>p[kUrl].origin)}[kGetDispatcher](){if(this[kClients].length===0){throw new BalancedPoolMissingUpstreamError}const dispatcher=this[kClients].find(dispatcher2=>!dispatcher2[kNeedDrain]&&dispatcher2.closed!==true&&dispatcher2.destroyed!==true);if(!dispatcher){return}const allClientsBusy=this[kClients].map(pool2=>pool2[kNeedDrain]).reduce((a,b)=>a&&b,true);if(allClientsBusy){return}let counter=0;let maxWeightIndex=this[kClients].findIndex(pool2=>!pool2[kNeedDrain]);while(counter++<this[kClients].length){this[kIndex]=(this[kIndex]+1)%this[kClients].length;const pool2=this[kClients][this[kIndex]];if(pool2[kWeight]>this[kClients][maxWeightIndex][kWeight]&&!pool2[kNeedDrain]){maxWeightIndex=this[kIndex]}if(this[kIndex]===0){this[kCurrentWeight]=this[kCurrentWeight]-this[kGreatestCommonDivisor];if(this[kCurrentWeight]<=0){this[kCurrentWeight]=this[kMaxWeightPerServer]}}if(pool2[kWeight]>=this[kCurrentWeight]&&!pool2[kNeedDrain]){return pool2}}this[kCurrentWeight]=this[kClients][maxWeightIndex][kWeight];this[kIndex]=maxWeightIndex;return this[kClients][maxWeightIndex]}};module2.exports=BalancedPool}});var require_dispatcher_weakref=__commonJS({"node_modules/undici/lib/compat/dispatcher-weakref.js"(exports2,module2){"use strict";var{kConnected,kSize}=require_symbols();var CompatWeakRef=class{constructor(value){this.value=value}deref(){return this.value[kConnected]===0&&this.value[kSize]===0?void 0:this.value}};var CompatFinalizer=class{constructor(finalizer){this.finalizer=finalizer}register(dispatcher,key){if(dispatcher.on){dispatcher.on("disconnect",()=>{if(dispatcher[kConnected]===0&&dispatcher[kSize]===0){this.finalizer(key)}})}}};module2.exports=function(){if(process.env.NODE_V8_COVERAGE){return{WeakRef:CompatWeakRef,FinalizationRegistry:CompatFinalizer}}return{WeakRef:global.WeakRef||CompatWeakRef,FinalizationRegistry:global.FinalizationRegistry||CompatFinalizer}}}});var require_agent2=__commonJS({"node_modules/undici/lib/agent.js"(exports2,module2){"use strict";var{InvalidArgumentError}=require_errors5();var{kClients,kRunning,kClose,kDestroy,kDispatch,kInterceptors}=require_symbols();var DispatcherBase=require_dispatcher_base();var Pool=require_pool4();var Client3=require_client4();var util4=require_util3();var createRedirectInterceptor=require_redirectInterceptor();var{WeakRef:WeakRef2,FinalizationRegistry:FinalizationRegistry2}=require_dispatcher_weakref()();var kOnConnect=Symbol("onConnect");var kOnDisconnect=Symbol("onDisconnect");var kOnConnectionError=Symbol("onConnectionError");var kMaxRedirections=Symbol("maxRedirections");var kOnDrain=Symbol("onDrain");var kFactory=Symbol("factory");var kFinalizer=Symbol("finalizer");var kOptions=Symbol("options");function defaultFactory(origin,opts){return opts&&opts.connections===1?new Client3(origin,opts):new Pool(origin,opts)}var Agent=class extends DispatcherBase{constructor({factory=defaultFactory,maxRedirections=0,connect,...options}={}){super();if(typeof factory!=="function"){throw new InvalidArgumentError("factory must be a function.")}if(connect!=null&&typeof connect!=="function"&&typeof connect!=="object"){throw new InvalidArgumentError("connect must be a function or an object")}if(!Number.isInteger(maxRedirections)||maxRedirections<0){throw new InvalidArgumentError("maxRedirections must be a positive number")}if(connect&&typeof connect!=="function"){connect={...connect}}this[kInterceptors]=options.interceptors&&options.interceptors.Agent&&Array.isArray(options.interceptors.Agent)?options.interceptors.Agent:[createRedirectInterceptor({maxRedirections})];this[kOptions]={...util4.deepClone(options),connect};this[kOptions].interceptors=options.interceptors?{...options.interceptors}:void 0;this[kMaxRedirections]=maxRedirections;this[kFactory]=factory;this[kClients]=new Map;this[kFinalizer]=new FinalizationRegistry2(key=>{const ref=this[kClients].get(key);if(ref!==void 0&&ref.deref()===void 0){this[kClients].delete(key)}});const agent=this;this[kOnDrain]=(origin,targets)=>{agent.emit("drain",origin,[agent,...targets])};this[kOnConnect]=(origin,targets)=>{agent.emit("connect",origin,[agent,...targets])};this[kOnDisconnect]=(origin,targets,err)=>{agent.emit("disconnect",origin,[agent,...targets],err)};this[kOnConnectionError]=(origin,targets,err)=>{agent.emit("connectionError",origin,[agent,...targets],err)}}get[kRunning](){let ret=0;for(const ref of this[kClients].values()){const client=ref.deref();if(client){ret+=client[kRunning]}}return ret}[kDispatch](opts,handler){let key;if(opts.origin&&(typeof opts.origin==="string"||opts.origin instanceof URL)){key=String(opts.origin)}else{throw new InvalidArgumentError("opts.origin must be a non-empty string or URL.")}const ref=this[kClients].get(key);let dispatcher=ref?ref.deref():null;if(!dispatcher){dispatcher=this[kFactory](opts.origin,this[kOptions]).on("drain",this[kOnDrain]).on("connect",this[kOnConnect]).on("disconnect",this[kOnDisconnect]).on("connectionError",this[kOnConnectionError]);this[kClients].set(key,new WeakRef2(dispatcher));this[kFinalizer].register(dispatcher,key)}return dispatcher.dispatch(opts,handler)}async[kClose](){const closePromises=[];for(const ref of this[kClients].values()){const client=ref.deref();if(client){closePromises.push(client.close())}}await Promise.all(closePromises)}async[kDestroy](err){const destroyPromises=[];for(const ref of this[kClients].values()){const client=ref.deref();if(client){destroyPromises.push(client.destroy(err))}}await Promise.all(destroyPromises)}};module2.exports=Agent}});var require_readable=__commonJS({"node_modules/undici/lib/api/readable.js"(exports2,module2){"use strict";var assert2=require("assert");var{Readable:Readable2}=require("stream");var{RequestAbortedError,NotSupportedError,InvalidArgumentError}=require_errors5();var util4=require_util3();var{ReadableStreamFrom,toUSVString}=require_util3();var Blob2;var kConsume=Symbol("kConsume");var kReading=Symbol("kReading");var kBody=Symbol("kBody");var kAbort=Symbol("abort");var kContentType=Symbol("kContentType");var noop4=()=>{};module2.exports=class BodyReadable extends Readable2{constructor({resume,abort,contentType="",highWaterMark=64*1024}){super({autoDestroy:true,read:resume,highWaterMark});this._readableState.dataEmitted=false;this[kAbort]=abort;this[kConsume]=null;this[kBody]=null;this[kContentType]=contentType;this[kReading]=false}destroy(err){if(this.destroyed){return this}if(!err&&!this._readableState.endEmitted){err=new RequestAbortedError}if(err){this[kAbort]()}return super.destroy(err)}emit(ev,...args2){if(ev==="data"){this._readableState.dataEmitted=true}else if(ev==="error"){this._readableState.errorEmitted=true}return super.emit(ev,...args2)}on(ev,...args2){if(ev==="data"||ev==="readable"){this[kReading]=true}return super.on(ev,...args2)}addListener(ev,...args2){return this.on(ev,...args2)}off(ev,...args2){const ret=super.off(ev,...args2);if(ev==="data"||ev==="readable"){this[kReading]=this.listenerCount("data")>0||this.listenerCount("readable")>0}return ret}removeListener(ev,...args2){return this.off(ev,...args2)}push(chunk2){if(this[kConsume]&&chunk2!==null&&this.readableLength===0){consumePush(this[kConsume],chunk2);return this[kReading]?super.push(chunk2):true}return super.push(chunk2)}async text(){return consume(this,"text")}async json(){return consume(this,"json")}async blob(){return consume(this,"blob")}async arrayBuffer(){return consume(this,"arrayBuffer")}async formData(){throw new NotSupportedError}get bodyUsed(){return util4.isDisturbed(this)}get body(){if(!this[kBody]){this[kBody]=ReadableStreamFrom(this);if(this[kConsume]){this[kBody].getReader();assert2(this[kBody].locked)}}return this[kBody]}dump(opts){let limit=opts&&Number.isFinite(opts.limit)?opts.limit:262144;const signal=opts&&opts.signal;if(signal){try{if(typeof signal!=="object"||!("aborted"in signal)){throw new InvalidArgumentError("signal must be an AbortSignal")}util4.throwIfAborted(signal)}catch(err){return Promise.reject(err)}}if(this.closed){return Promise.resolve(null)}return new Promise((resolve,reject2)=>{const signalListenerCleanup=signal?util4.addAbortListener(signal,()=>{this.destroy()}):noop4;this.on("close",function(){signalListenerCleanup();if(signal&&signal.aborted){reject2(signal.reason||Object.assign(new Error("The operation was aborted"),{name:"AbortError"}))}else{resolve(null)}}).on("error",noop4).on("data",function(chunk2){limit-=chunk2.length;if(limit<=0){this.destroy()}}).resume()})}};function isLocked(self2){return self2[kBody]&&self2[kBody].locked===true||self2[kConsume]}function isUnusable(self2){return util4.isDisturbed(self2)||isLocked(self2)}async function consume(stream3,type2){if(isUnusable(stream3)){throw new TypeError("unusable")}assert2(!stream3[kConsume]);return new Promise((resolve,reject2)=>{stream3[kConsume]={type:type2,stream:stream3,resolve,reject:reject2,length:0,body:[]};stream3.on("error",function(err){consumeFinish(this[kConsume],err)}).on("close",function(){if(this[kConsume].body!==null){consumeFinish(this[kConsume],new RequestAbortedError)}});process.nextTick(consumeStart,stream3[kConsume])})}function consumeStart(consume2){if(consume2.body===null){return}const{_readableState:state}=consume2.stream;for(const chunk2 of state.buffer){consumePush(consume2,chunk2)}if(state.endEmitted){consumeEnd(this[kConsume])}else{consume2.stream.on("end",function(){consumeEnd(this[kConsume])})}consume2.stream.resume();while(consume2.stream.read()!=null){}}function consumeEnd(consume2){const{type:type2,body,resolve,stream:stream3,length}=consume2;try{if(type2==="text"){resolve(toUSVString(Buffer.concat(body)))}else if(type2==="json"){resolve(JSON.parse(Buffer.concat(body)))}else if(type2==="arrayBuffer"){const dst=new Uint8Array(length);let pos=0;for(const buf of body){dst.set(buf,pos);pos+=buf.byteLength}resolve(dst.buffer)}else if(type2==="blob"){if(!Blob2){Blob2=require("buffer").Blob}resolve(new Blob2(body,{type:stream3[kContentType]}))}consumeFinish(consume2)}catch(err){stream3.destroy(err)}}function consumePush(consume2,chunk2){consume2.length+=chunk2.length;consume2.body.push(chunk2)}function consumeFinish(consume2,err){if(consume2.body===null){return}if(err){consume2.reject(err)}else{consume2.resolve()}consume2.type=null;consume2.stream=null;consume2.resolve=null;consume2.reject=null;consume2.length=0;consume2.body=null}}});var require_util5=__commonJS({"node_modules/undici/lib/api/util.js"(exports2,module2){var assert2=require("assert");var{ResponseStatusCodeError}=require_errors5();var{toUSVString}=require_util3();async function getResolveErrorBodyCallback({callback,body,contentType,statusCode,statusMessage,headers}){assert2(body);let chunks=[];let limit=0;for await(const chunk2 of body){chunks.push(chunk2);limit+=chunk2.length;if(limit>128*1024){chunks=null;break}}if(statusCode===204||!contentType||!chunks){process.nextTick(callback,new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage?`: ${statusMessage}`:""}`,statusCode,headers));return}try{if(contentType.startsWith("application/json")){const payload=JSON.parse(toUSVString(Buffer.concat(chunks)));process.nextTick(callback,new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage?`: ${statusMessage}`:""}`,statusCode,headers,payload));return}if(contentType.startsWith("text/")){const payload=toUSVString(Buffer.concat(chunks));process.nextTick(callback,new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage?`: ${statusMessage}`:""}`,statusCode,headers,payload));return}}catch(err){}process.nextTick(callback,new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage?`: ${statusMessage}`:""}`,statusCode,headers))}module2.exports={getResolveErrorBodyCallback}}});var require_abort_signal=__commonJS({"node_modules/undici/lib/api/abort-signal.js"(exports2,module2){var{addAbortListener}=require_util3();var{RequestAbortedError}=require_errors5();var kListener=Symbol("kListener");var kSignal=Symbol("kSignal");function abort(self2){if(self2.abort){self2.abort()}else{self2.onError(new RequestAbortedError)}}function addSignal(self2,signal){self2[kSignal]=null;self2[kListener]=null;if(!signal){return}if(signal.aborted){abort(self2);return}self2[kSignal]=signal;self2[kListener]=()=>{abort(self2)};addAbortListener(self2[kSignal],self2[kListener])}function removeSignal(self2){if(!self2[kSignal]){return}if("removeEventListener"in self2[kSignal]){self2[kSignal].removeEventListener("abort",self2[kListener])}else{self2[kSignal].removeListener("abort",self2[kListener])}self2[kSignal]=null;self2[kListener]=null}module2.exports={addSignal,removeSignal}}});var require_api_request=__commonJS({"node_modules/undici/lib/api/api-request.js"(exports2,module2){"use strict";var Readable2=require_readable();var{InvalidArgumentError,RequestAbortedError}=require_errors5();var util4=require_util3();var{getResolveErrorBodyCallback}=require_util5();var{AsyncResource}=require("async_hooks");var{addSignal,removeSignal}=require_abort_signal();var RequestHandler=class extends AsyncResource{constructor(opts,callback){if(!opts||typeof opts!=="object"){throw new InvalidArgumentError("invalid opts")}const{signal,method:method2,opaque,body,onInfo,responseHeaders,throwOnError,highWaterMark}=opts;try{if(typeof callback!=="function"){throw new InvalidArgumentError("invalid callback")}if(highWaterMark&&(typeof highWaterMark!=="number"||highWaterMark<0)){throw new InvalidArgumentError("invalid highWaterMark")}if(signal&&typeof signal.on!=="function"&&typeof signal.addEventListener!=="function"){throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget")}if(method2==="CONNECT"){throw new InvalidArgumentError("invalid method")}if(onInfo&&typeof onInfo!=="function"){throw new InvalidArgumentError("invalid onInfo callback")}super("UNDICI_REQUEST")}catch(err){if(util4.isStream(body)){util4.destroy(body.on("error",util4.nop),err)}throw err}this.responseHeaders=responseHeaders||null;this.opaque=opaque||null;this.callback=callback;this.res=null;this.abort=null;this.body=body;this.trailers={};this.context=null;this.onInfo=onInfo||null;this.throwOnError=throwOnError;this.highWaterMark=highWaterMark;if(util4.isStream(body)){body.on("error",err=>{this.onError(err)})}addSignal(this,signal)}onConnect(abort,context){if(!this.callback){throw new RequestAbortedError}this.abort=abort;this.context=context}onHeaders(statusCode,rawHeaders,resume,statusMessage){const{callback,opaque,abort,context,responseHeaders,highWaterMark}=this;const headers=responseHeaders==="raw"?util4.parseRawHeaders(rawHeaders):util4.parseHeaders(rawHeaders);if(statusCode<200){if(this.onInfo){this.onInfo({statusCode,headers})}return}const parsedHeaders=responseHeaders==="raw"?util4.parseHeaders(rawHeaders):headers;const contentType=parsedHeaders["content-type"];const body=new Readable2({resume,abort,contentType,highWaterMark});this.callback=null;this.res=body;if(callback!==null){if(this.throwOnError&&statusCode>=400){this.runInAsyncScope(getResolveErrorBodyCallback,null,{callback,body,contentType,statusCode,statusMessage,headers})}else{this.runInAsyncScope(callback,null,null,{statusCode,headers,trailers:this.trailers,opaque,body,context})}}}onData(chunk2){const{res}=this;return res.push(chunk2)}onComplete(trailers){const{res}=this;removeSignal(this);util4.parseHeaders(trailers,this.trailers);res.push(null)}onError(err){const{res,callback,body,opaque}=this;removeSignal(this);if(callback){this.callback=null;queueMicrotask(()=>{this.runInAsyncScope(callback,null,err,{opaque})})}if(res){this.res=null;queueMicrotask(()=>{util4.destroy(res,err)})}if(body){this.body=null;util4.destroy(body,err)}}};function request(opts,callback){if(callback===void 0){return new Promise((resolve,reject2)=>{request.call(this,opts,(err,data)=>{return err?reject2(err):resolve(data)})})}try{this.dispatch(opts,new RequestHandler(opts,callback))}catch(err){if(typeof callback!=="function"){throw err}const opaque=opts&&opts.opaque;queueMicrotask(()=>callback(err,{opaque}))}}module2.exports=request;module2.exports.RequestHandler=RequestHandler}});var require_api_stream=__commonJS({"node_modules/undici/lib/api/api-stream.js"(exports2,module2){"use strict";var{finished,PassThrough}=require("stream");var{InvalidArgumentError,InvalidReturnValueError,RequestAbortedError}=require_errors5();var util4=require_util3();var{getResolveErrorBodyCallback}=require_util5();var{AsyncResource}=require("async_hooks");var{addSignal,removeSignal}=require_abort_signal();var StreamHandler=class extends AsyncResource{constructor(opts,factory,callback){if(!opts||typeof opts!=="object"){throw new InvalidArgumentError("invalid opts")}const{signal,method:method2,opaque,body,onInfo,responseHeaders,throwOnError}=opts;try{if(typeof callback!=="function"){throw new InvalidArgumentError("invalid callback")}if(typeof factory!=="function"){throw new InvalidArgumentError("invalid factory")}if(signal&&typeof signal.on!=="function"&&typeof signal.addEventListener!=="function"){throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget")}if(method2==="CONNECT"){throw new InvalidArgumentError("invalid method")}if(onInfo&&typeof onInfo!=="function"){throw new InvalidArgumentError("invalid onInfo callback")}super("UNDICI_STREAM")}catch(err){if(util4.isStream(body)){util4.destroy(body.on("error",util4.nop),err)}throw err}this.responseHeaders=responseHeaders||null;this.opaque=opaque||null;this.factory=factory;this.callback=callback;this.res=null;this.abort=null;this.context=null;this.trailers=null;this.body=body;this.onInfo=onInfo||null;this.throwOnError=throwOnError||false;if(util4.isStream(body)){body.on("error",err=>{this.onError(err)})}addSignal(this,signal)}onConnect(abort,context){if(!this.callback){throw new RequestAbortedError}this.abort=abort;this.context=context}onHeaders(statusCode,rawHeaders,resume,statusMessage){const{factory,opaque,context,callback,responseHeaders}=this;const headers=responseHeaders==="raw"?util4.parseRawHeaders(rawHeaders):util4.parseHeaders(rawHeaders);if(statusCode<200){if(this.onInfo){this.onInfo({statusCode,headers})}return}this.factory=null;let res;if(this.throwOnError&&statusCode>=400){const parsedHeaders=responseHeaders==="raw"?util4.parseHeaders(rawHeaders):headers;const contentType=parsedHeaders["content-type"];res=new PassThrough;this.callback=null;this.runInAsyncScope(getResolveErrorBodyCallback,null,{callback,body:res,contentType,statusCode,statusMessage,headers})}else{if(factory===null){return}res=this.runInAsyncScope(factory,null,{statusCode,headers,opaque,context});if(!res||typeof res.write!=="function"||typeof res.end!=="function"||typeof res.on!=="function"){throw new InvalidReturnValueError("expected Writable")}finished(res,{readable:false},err=>{const{callback:callback2,res:res2,opaque:opaque2,trailers,abort}=this;this.res=null;if(err||!res2.readable){util4.destroy(res2,err)}this.callback=null;this.runInAsyncScope(callback2,null,err||null,{opaque:opaque2,trailers});if(err){abort()}})}res.on("drain",resume);this.res=res;const needDrain=res.writableNeedDrain!==void 0?res.writableNeedDrain:res._writableState&&res._writableState.needDrain;return needDrain!==true}onData(chunk2){const{res}=this;return res?res.write(chunk2):true}onComplete(trailers){const{res}=this;removeSignal(this);if(!res){return}this.trailers=util4.parseHeaders(trailers);res.end()}onError(err){const{res,callback,opaque,body}=this;removeSignal(this);this.factory=null;if(res){this.res=null;util4.destroy(res,err)}else if(callback){this.callback=null;queueMicrotask(()=>{this.runInAsyncScope(callback,null,err,{opaque})})}if(body){this.body=null;util4.destroy(body,err)}}};function stream3(opts,factory,callback){if(callback===void 0){return new Promise((resolve,reject2)=>{stream3.call(this,opts,factory,(err,data)=>{return err?reject2(err):resolve(data)})})}try{this.dispatch(opts,new StreamHandler(opts,factory,callback))}catch(err){if(typeof callback!=="function"){throw err}const opaque=opts&&opts.opaque;queueMicrotask(()=>callback(err,{opaque}))}}module2.exports=stream3}});var require_api_pipeline=__commonJS({"node_modules/undici/lib/api/api-pipeline.js"(exports2,module2){"use strict";var{Readable:Readable2,Duplex:Duplex2,PassThrough}=require("stream");var{InvalidArgumentError,InvalidReturnValueError,RequestAbortedError}=require_errors5();var util4=require_util3();var{AsyncResource}=require("async_hooks");var{addSignal,removeSignal}=require_abort_signal();var assert2=require("assert");var kResume=Symbol("resume");var PipelineRequest=class extends Readable2{constructor(){super({autoDestroy:true});this[kResume]=null}_read(){const{[kResume]:resume}=this;if(resume){this[kResume]=null;resume()}}_destroy(err,callback){this._read();callback(err)}};var PipelineResponse=class extends Readable2{constructor(resume){super({autoDestroy:true});this[kResume]=resume}_read(){this[kResume]()}_destroy(err,callback){if(!err&&!this._readableState.endEmitted){err=new RequestAbortedError}callback(err)}};var PipelineHandler=class extends AsyncResource{constructor(opts,handler){if(!opts||typeof opts!=="object"){throw new InvalidArgumentError("invalid opts")}if(typeof handler!=="function"){throw new InvalidArgumentError("invalid handler")}const{signal,method:method2,opaque,onInfo,responseHeaders}=opts;if(signal&&typeof signal.on!=="function"&&typeof signal.addEventListener!=="function"){throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget")}if(method2==="CONNECT"){throw new InvalidArgumentError("invalid method")}if(onInfo&&typeof onInfo!=="function"){throw new InvalidArgumentError("invalid onInfo callback")}super("UNDICI_PIPELINE");this.opaque=opaque||null;this.responseHeaders=responseHeaders||null;this.handler=handler;this.abort=null;this.context=null;this.onInfo=onInfo||null;this.req=new PipelineRequest().on("error",util4.nop);this.ret=new Duplex2({readableObjectMode:opts.objectMode,autoDestroy:true,read:()=>{const{body}=this;if(body&&body.resume){body.resume()}},write:(chunk2,encoding,callback)=>{const{req}=this;if(req.push(chunk2,encoding)||req._readableState.destroyed){callback()}else{req[kResume]=callback}},destroy:(err,callback)=>{const{body,req,res,ret,abort}=this;if(!err&&!ret._readableState.endEmitted){err=new RequestAbortedError}if(abort&&err){abort()}util4.destroy(body,err);util4.destroy(req,err);util4.destroy(res,err);removeSignal(this);callback(err)}}).on("prefinish",()=>{const{req}=this;req.push(null)});this.res=null;addSignal(this,signal)}onConnect(abort,context){const{ret,res}=this;assert2(!res,"pipeline cannot be retried");if(ret.destroyed){throw new RequestAbortedError}this.abort=abort;this.context=context}onHeaders(statusCode,rawHeaders,resume){const{opaque,handler,context}=this;if(statusCode<200){if(this.onInfo){const headers=this.responseHeaders==="raw"?util4.parseRawHeaders(rawHeaders):util4.parseHeaders(rawHeaders);this.onInfo({statusCode,headers})}return}this.res=new PipelineResponse(resume);let body;try{this.handler=null;const headers=this.responseHeaders==="raw"?util4.parseRawHeaders(rawHeaders):util4.parseHeaders(rawHeaders);body=this.runInAsyncScope(handler,null,{statusCode,headers,opaque,body:this.res,context})}catch(err){this.res.on("error",util4.nop);throw err}if(!body||typeof body.on!=="function"){throw new InvalidReturnValueError("expected Readable")}body.on("data",chunk2=>{const{ret,body:body2}=this;if(!ret.push(chunk2)&&body2.pause){body2.pause()}}).on("error",err=>{const{ret}=this;util4.destroy(ret,err)}).on("end",()=>{const{ret}=this;ret.push(null)}).on("close",()=>{const{ret}=this;if(!ret._readableState.ended){util4.destroy(ret,new RequestAbortedError)}});this.body=body}onData(chunk2){const{res}=this;return res.push(chunk2)}onComplete(trailers){const{res}=this;res.push(null)}onError(err){const{ret}=this;this.handler=null;util4.destroy(ret,err)}};function pipeline(opts,handler){try{const pipelineHandler=new PipelineHandler(opts,handler);this.dispatch({...opts,body:pipelineHandler.req},pipelineHandler);return pipelineHandler.ret}catch(err){return new PassThrough().destroy(err)}}module2.exports=pipeline}});var require_api_upgrade=__commonJS({"node_modules/undici/lib/api/api-upgrade.js"(exports2,module2){"use strict";var{InvalidArgumentError,RequestAbortedError,SocketError}=require_errors5();var{AsyncResource}=require("async_hooks");var util4=require_util3();var{addSignal,removeSignal}=require_abort_signal();var assert2=require("assert");var UpgradeHandler=class extends AsyncResource{constructor(opts,callback){if(!opts||typeof opts!=="object"){throw new InvalidArgumentError("invalid opts")}if(typeof callback!=="function"){throw new InvalidArgumentError("invalid callback")}const{signal,opaque,responseHeaders}=opts;if(signal&&typeof signal.on!=="function"&&typeof signal.addEventListener!=="function"){throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget")}super("UNDICI_UPGRADE");this.responseHeaders=responseHeaders||null;this.opaque=opaque||null;this.callback=callback;this.abort=null;this.context=null;addSignal(this,signal)}onConnect(abort,context){if(!this.callback){throw new RequestAbortedError}this.abort=abort;this.context=null}onHeaders(){throw new SocketError("bad upgrade",null)}onUpgrade(statusCode,rawHeaders,socket){const{callback,opaque,context}=this;assert2.strictEqual(statusCode,101);removeSignal(this);this.callback=null;const headers=this.responseHeaders==="raw"?util4.parseRawHeaders(rawHeaders):util4.parseHeaders(rawHeaders);this.runInAsyncScope(callback,null,null,{headers,socket,opaque,context})}onError(err){const{callback,opaque}=this;removeSignal(this);if(callback){this.callback=null;queueMicrotask(()=>{this.runInAsyncScope(callback,null,err,{opaque})})}}};function upgrade(opts,callback){if(callback===void 0){return new Promise((resolve,reject2)=>{upgrade.call(this,opts,(err,data)=>{return err?reject2(err):resolve(data)})})}try{const upgradeHandler=new UpgradeHandler(opts,callback);this.dispatch({...opts,method:opts.method||"GET",upgrade:opts.protocol||"Websocket"},upgradeHandler)}catch(err){if(typeof callback!=="function"){throw err}const opaque=opts&&opts.opaque;queueMicrotask(()=>callback(err,{opaque}))}}module2.exports=upgrade}});var require_api_connect=__commonJS({"node_modules/undici/lib/api/api-connect.js"(exports2,module2){"use strict";var{AsyncResource}=require("async_hooks");var{InvalidArgumentError,RequestAbortedError,SocketError}=require_errors5();var util4=require_util3();var{addSignal,removeSignal}=require_abort_signal();var ConnectHandler=class extends AsyncResource{constructor(opts,callback){if(!opts||typeof opts!=="object"){throw new InvalidArgumentError("invalid opts")}if(typeof callback!=="function"){throw new InvalidArgumentError("invalid callback")}const{signal,opaque,responseHeaders}=opts;if(signal&&typeof signal.on!=="function"&&typeof signal.addEventListener!=="function"){throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget")}super("UNDICI_CONNECT");this.opaque=opaque||null;this.responseHeaders=responseHeaders||null;this.callback=callback;this.abort=null;addSignal(this,signal)}onConnect(abort,context){if(!this.callback){throw new RequestAbortedError}this.abort=abort;this.context=context}onHeaders(){throw new SocketError("bad connect",null)}onUpgrade(statusCode,rawHeaders,socket){const{callback,opaque,context}=this;removeSignal(this);this.callback=null;let headers=rawHeaders;if(headers!=null){headers=this.responseHeaders==="raw"?util4.parseRawHeaders(rawHeaders):util4.parseHeaders(rawHeaders)}this.runInAsyncScope(callback,null,null,{statusCode,headers,socket,opaque,context})}onError(err){const{callback,opaque}=this;removeSignal(this);if(callback){this.callback=null;queueMicrotask(()=>{this.runInAsyncScope(callback,null,err,{opaque})})}}};function connect(opts,callback){if(callback===void 0){return new Promise((resolve,reject2)=>{connect.call(this,opts,(err,data)=>{return err?reject2(err):resolve(data)})})}try{const connectHandler=new ConnectHandler(opts,callback);this.dispatch({...opts,method:"CONNECT"},connectHandler)}catch(err){if(typeof callback!=="function"){throw err}const opaque=opts&&opts.opaque;queueMicrotask(()=>callback(err,{opaque}))}}module2.exports=connect}});var require_api=__commonJS({"node_modules/undici/lib/api/index.js"(exports2,module2){"use strict";module2.exports.request=require_api_request();module2.exports.stream=require_api_stream();module2.exports.pipeline=require_api_pipeline();module2.exports.upgrade=require_api_upgrade();module2.exports.connect=require_api_connect()}});var require_mock_errors=__commonJS({"node_modules/undici/lib/mock/mock-errors.js"(exports2,module2){"use strict";var{UndiciError}=require_errors5();var MockNotMatchedError=class _MockNotMatchedError extends UndiciError{constructor(message3){super(message3);Error.captureStackTrace(this,_MockNotMatchedError);this.name="MockNotMatchedError";this.message=message3||"The request does not match any registered mock dispatches";this.code="UND_MOCK_ERR_MOCK_NOT_MATCHED"}};module2.exports={MockNotMatchedError}}});var require_mock_symbols=__commonJS({"node_modules/undici/lib/mock/mock-symbols.js"(exports2,module2){"use strict";module2.exports={kAgent:Symbol("agent"),kOptions:Symbol("options"),kFactory:Symbol("factory"),kDispatches:Symbol("dispatches"),kDispatchKey:Symbol("dispatch key"),kDefaultHeaders:Symbol("default headers"),kDefaultTrailers:Symbol("default trailers"),kContentLength:Symbol("content length"),kMockAgent:Symbol("mock agent"),kMockAgentSet:Symbol("mock agent set"),kMockAgentGet:Symbol("mock agent get"),kMockDispatch:Symbol("mock dispatch"),kClose:Symbol("close"),kOriginalClose:Symbol("original agent close"),kOrigin:Symbol("origin"),kIsMockActive:Symbol("is mock active"),kNetConnect:Symbol("net connect"),kGetNetConnect:Symbol("get net connect"),kConnected:Symbol("connected")}}});var require_mock_utils=__commonJS({"node_modules/undici/lib/mock/mock-utils.js"(exports2,module2){"use strict";var{MockNotMatchedError}=require_mock_errors();var{kDispatches,kMockAgent,kOriginalDispatch,kOrigin,kGetNetConnect}=require_mock_symbols();var{buildURL,nop}=require_util3();var{STATUS_CODES}=require("http");var{types:{isPromise}}=require("util");function matchValue(match,value){if(typeof match==="string"){return match===value}if(match instanceof RegExp){return match.test(value)}if(typeof match==="function"){return match(value)===true}return false}function lowerCaseEntries(headers){return Object.fromEntries(Object.entries(headers).map(([headerName,headerValue])=>{return[headerName.toLocaleLowerCase(),headerValue]}))}function getHeaderByName(headers,key){if(Array.isArray(headers)){for(let i=0;i<headers.length;i+=2){if(headers[i].toLocaleLowerCase()===key.toLocaleLowerCase()){return headers[i+1]}}return void 0}else if(typeof headers.get==="function"){return headers.get(key)}else{return lowerCaseEntries(headers)[key.toLocaleLowerCase()]}}function buildHeadersFromArray(headers){const clone2=headers.slice();const entries2=[];for(let index=0;index<clone2.length;index+=2){entries2.push([clone2[index],clone2[index+1]])}return Object.fromEntries(entries2)}function matchHeaders(mockDispatch2,headers){if(typeof mockDispatch2.headers==="function"){if(Array.isArray(headers)){headers=buildHeadersFromArray(headers)}return mockDispatch2.headers(headers?lowerCaseEntries(headers):{})}if(typeof mockDispatch2.headers==="undefined"){return true}if(typeof headers!=="object"||typeof mockDispatch2.headers!=="object"){return false}for(const[matchHeaderName,matchHeaderValue]of Object.entries(mockDispatch2.headers)){const headerValue=getHeaderByName(headers,matchHeaderName);if(!matchValue(matchHeaderValue,headerValue)){return false}}return true}function safeUrl(path27){if(typeof path27!=="string"){return path27}const pathSegments=path27.split("?");if(pathSegments.length!==2){return path27}const qp=new URLSearchParams(pathSegments.pop());qp.sort();return[...pathSegments,qp.toString()].join("?")}function matchKey(mockDispatch2,{path:path27,method:method2,body,headers}){const pathMatch=matchValue(mockDispatch2.path,path27);const methodMatch=matchValue(mockDispatch2.method,method2);const bodyMatch=typeof mockDispatch2.body!=="undefined"?matchValue(mockDispatch2.body,body):true;const headersMatch=matchHeaders(mockDispatch2,headers);return pathMatch&&methodMatch&&bodyMatch&&headersMatch}function getResponseData(data){if(Buffer.isBuffer(data)){return data}else if(typeof data==="object"){return JSON.stringify(data)}else{return data.toString()}}function getMockDispatch(mockDispatches,key){const basePath2=key.query?buildURL(key.path,key.query):key.path;const resolvedPath=typeof basePath2==="string"?safeUrl(basePath2):basePath2;let matchedMockDispatches=mockDispatches.filter(({consumed})=>!consumed).filter(({path:path27})=>matchValue(safeUrl(path27),resolvedPath));if(matchedMockDispatches.length===0){throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`)}matchedMockDispatches=matchedMockDispatches.filter(({method:method2})=>matchValue(method2,key.method));if(matchedMockDispatches.length===0){throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`)}matchedMockDispatches=matchedMockDispatches.filter(({body})=>typeof body!=="undefined"?matchValue(body,key.body):true);if(matchedMockDispatches.length===0){throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`)}matchedMockDispatches=matchedMockDispatches.filter(mockDispatch2=>matchHeaders(mockDispatch2,key.headers));if(matchedMockDispatches.length===0){throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers==="object"?JSON.stringify(key.headers):key.headers}'`)}return matchedMockDispatches[0]}function addMockDispatch(mockDispatches,key,data){const baseData={timesInvoked:0,times:1,persist:false,consumed:false};const replyData=typeof data==="function"?{callback:data}:{...data};const newMockDispatch={...baseData,...key,pending:true,data:{error:null,...replyData}};mockDispatches.push(newMockDispatch);return newMockDispatch}function deleteMockDispatch(mockDispatches,key){const index=mockDispatches.findIndex(dispatch=>{if(!dispatch.consumed){return false}return matchKey(dispatch,key)});if(index!==-1){mockDispatches.splice(index,1)}}function buildKey(opts){const{path:path27,method:method2,body,headers,query}=opts;return{path:path27,method:method2,body,headers,query}}function generateKeyValues(data){return Object.entries(data).reduce((keyValuePairs,[key,value])=>[...keyValuePairs,Buffer.from(`${key}`),Array.isArray(value)?value.map(x=>Buffer.from(`${x}`)):Buffer.from(`${value}`)],[])}function getStatusText(statusCode){return STATUS_CODES[statusCode]||"unknown"}async function getResponse(body){const buffers=[];for await(const data of body){buffers.push(data)}return Buffer.concat(buffers).toString("utf8")}function mockDispatch(opts,handler){const key=buildKey(opts);const mockDispatch2=getMockDispatch(this[kDispatches],key);mockDispatch2.timesInvoked++;if(mockDispatch2.data.callback){mockDispatch2.data={...mockDispatch2.data,...mockDispatch2.data.callback(opts)}}const{data:{statusCode,data,headers,trailers,error},delay:delay3,persist}=mockDispatch2;const{timesInvoked,times:times2}=mockDispatch2;mockDispatch2.consumed=!persist&&timesInvoked>=times2;mockDispatch2.pending=timesInvoked<times2;if(error!==null){deleteMockDispatch(this[kDispatches],key);handler.onError(error);return true}if(typeof delay3==="number"&&delay3>0){setTimeout(()=>{handleReply(this[kDispatches])},delay3)}else{handleReply(this[kDispatches])}function handleReply(mockDispatches,_data=data){const optsHeaders=Array.isArray(opts.headers)?buildHeadersFromArray(opts.headers):opts.headers;const body=typeof _data==="function"?_data({...opts,headers:optsHeaders}):_data;if(isPromise(body)){body.then(newData=>handleReply(mockDispatches,newData));return}const responseData=getResponseData(body);const responseHeaders=generateKeyValues(headers);const responseTrailers=generateKeyValues(trailers);handler.abort=nop;handler.onHeaders(statusCode,responseHeaders,resume,getStatusText(statusCode));handler.onData(Buffer.from(responseData));handler.onComplete(responseTrailers);deleteMockDispatch(mockDispatches,key)}function resume(){}return true}function buildMockDispatch(){const agent=this[kMockAgent];const origin=this[kOrigin];const originalDispatch=this[kOriginalDispatch];return function dispatch(opts,handler){if(agent.isMockActive){try{mockDispatch.call(this,opts,handler)}catch(error){if(error instanceof MockNotMatchedError){const netConnect=agent[kGetNetConnect]();if(netConnect===false){throw new MockNotMatchedError(`${error.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)`)}if(checkNetConnect(netConnect,origin)){originalDispatch.call(this,opts,handler)}else{throw new MockNotMatchedError(`${error.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`)}}else{throw error}}}else{originalDispatch.call(this,opts,handler)}}}function checkNetConnect(netConnect,origin){const url=new URL(origin);if(netConnect===true){return true}else if(Array.isArray(netConnect)&&netConnect.some(matcher=>matchValue(matcher,url.host))){return true}return false}function buildMockOptions(opts){if(opts){const{agent,...mockOptions}=opts;return mockOptions}}module2.exports={getResponseData,getMockDispatch,addMockDispatch,deleteMockDispatch,buildKey,generateKeyValues,matchValue,getResponse,getStatusText,mockDispatch,buildMockDispatch,checkNetConnect,buildMockOptions,getHeaderByName}}});var require_mock_interceptor=__commonJS({"node_modules/undici/lib/mock/mock-interceptor.js"(exports2,module2){"use strict";var{getResponseData,buildKey,addMockDispatch}=require_mock_utils();var{kDispatches,kDispatchKey,kDefaultHeaders,kDefaultTrailers,kContentLength,kMockDispatch}=require_mock_symbols();var{InvalidArgumentError}=require_errors5();var{buildURL}=require_util3();var MockScope=class{constructor(mockDispatch){this[kMockDispatch]=mockDispatch}delay(waitInMs){if(typeof waitInMs!=="number"||!Number.isInteger(waitInMs)||waitInMs<=0){throw new InvalidArgumentError("waitInMs must be a valid integer > 0")}this[kMockDispatch].delay=waitInMs;return this}persist(){this[kMockDispatch].persist=true;return this}times(repeatTimes){if(typeof repeatTimes!=="number"||!Number.isInteger(repeatTimes)||repeatTimes<=0){throw new InvalidArgumentError("repeatTimes must be a valid integer > 0")}this[kMockDispatch].times=repeatTimes;return this}};var MockInterceptor=class{constructor(opts,mockDispatches){if(typeof opts!=="object"){throw new InvalidArgumentError("opts must be an object")}if(typeof opts.path==="undefined"){throw new InvalidArgumentError("opts.path must be defined")}if(typeof opts.method==="undefined"){opts.method="GET"}if(typeof opts.path==="string"){if(opts.query){opts.path=buildURL(opts.path,opts.query)}else{const parsedURL=new URL(opts.path,"data://");opts.path=parsedURL.pathname+parsedURL.search}}if(typeof opts.method==="string"){opts.method=opts.method.toUpperCase()}this[kDispatchKey]=buildKey(opts);this[kDispatches]=mockDispatches;this[kDefaultHeaders]={};this[kDefaultTrailers]={};this[kContentLength]=false}createMockScopeDispatchData(statusCode,data,responseOptions={}){const responseData=getResponseData(data);const contentLength=this[kContentLength]?{"content-length":responseData.length}:{};const headers={...this[kDefaultHeaders],...contentLength,...responseOptions.headers};const trailers={...this[kDefaultTrailers],...responseOptions.trailers};return{statusCode,data,headers,trailers}}validateReplyParameters(statusCode,data,responseOptions){if(typeof statusCode==="undefined"){throw new InvalidArgumentError("statusCode must be defined")}if(typeof data==="undefined"){throw new InvalidArgumentError("data must be defined")}if(typeof responseOptions!=="object"){throw new InvalidArgumentError("responseOptions must be an object")}}reply(replyData){if(typeof replyData==="function"){const wrappedDefaultsCallback=opts=>{const resolvedData=replyData(opts);if(typeof resolvedData!=="object"){throw new InvalidArgumentError("reply options callback must return an object")}const{statusCode:statusCode2,data:data2="",responseOptions:responseOptions2={}}=resolvedData;this.validateReplyParameters(statusCode2,data2,responseOptions2);return{...this.createMockScopeDispatchData(statusCode2,data2,responseOptions2)}};const newMockDispatch2=addMockDispatch(this[kDispatches],this[kDispatchKey],wrappedDefaultsCallback);return new MockScope(newMockDispatch2)}const[statusCode,data="",responseOptions={}]=[...arguments];this.validateReplyParameters(statusCode,data,responseOptions);const dispatchData=this.createMockScopeDispatchData(statusCode,data,responseOptions);const newMockDispatch=addMockDispatch(this[kDispatches],this[kDispatchKey],dispatchData);return new MockScope(newMockDispatch)}replyWithError(error){if(typeof error==="undefined"){throw new InvalidArgumentError("error must be defined")}const newMockDispatch=addMockDispatch(this[kDispatches],this[kDispatchKey],{error});return new MockScope(newMockDispatch)}defaultReplyHeaders(headers){if(typeof headers==="undefined"){throw new InvalidArgumentError("headers must be defined")}this[kDefaultHeaders]=headers;return this}defaultReplyTrailers(trailers){if(typeof trailers==="undefined"){throw new InvalidArgumentError("trailers must be defined")}this[kDefaultTrailers]=trailers;return this}replyContentLength(){this[kContentLength]=true;return this}};module2.exports.MockInterceptor=MockInterceptor;module2.exports.MockScope=MockScope}});var require_mock_client=__commonJS({"node_modules/undici/lib/mock/mock-client.js"(exports2,module2){"use strict";var{promisify:promisify9}=require("util");var Client3=require_client4();var{buildMockDispatch}=require_mock_utils();var{kDispatches,kMockAgent,kClose,kOriginalClose,kOrigin,kOriginalDispatch,kConnected}=require_mock_symbols();var{MockInterceptor}=require_mock_interceptor();var Symbols=require_symbols();var{InvalidArgumentError}=require_errors5();var MockClient=class extends Client3{constructor(origin,opts){super(origin,opts);if(!opts||!opts.agent||typeof opts.agent.dispatch!=="function"){throw new InvalidArgumentError("Argument opts.agent must implement Agent")}this[kMockAgent]=opts.agent;this[kOrigin]=origin;this[kDispatches]=[];this[kConnected]=1;this[kOriginalDispatch]=this.dispatch;this[kOriginalClose]=this.close.bind(this);this.dispatch=buildMockDispatch.call(this);this.close=this[kClose]}get[Symbols.kConnected](){return this[kConnected]}intercept(opts){return new MockInterceptor(opts,this[kDispatches])}async[kClose](){await promisify9(this[kOriginalClose])();this[kConnected]=0;this[kMockAgent][Symbols.kClients].delete(this[kOrigin])}};module2.exports=MockClient}});var require_mock_pool=__commonJS({"node_modules/undici/lib/mock/mock-pool.js"(exports2,module2){"use strict";var{promisify:promisify9}=require("util");var Pool=require_pool4();var{buildMockDispatch}=require_mock_utils();var{kDispatches,kMockAgent,kClose,kOriginalClose,kOrigin,kOriginalDispatch,kConnected}=require_mock_symbols();var{MockInterceptor}=require_mock_interceptor();var Symbols=require_symbols();var{InvalidArgumentError}=require_errors5();var MockPool=class extends Pool{constructor(origin,opts){super(origin,opts);if(!opts||!opts.agent||typeof opts.agent.dispatch!=="function"){throw new InvalidArgumentError("Argument opts.agent must implement Agent")}this[kMockAgent]=opts.agent;this[kOrigin]=origin;this[kDispatches]=[];this[kConnected]=1;this[kOriginalDispatch]=this.dispatch;this[kOriginalClose]=this.close.bind(this);this.dispatch=buildMockDispatch.call(this);this.close=this[kClose]}get[Symbols.kConnected](){return this[kConnected]}intercept(opts){return new MockInterceptor(opts,this[kDispatches])}async[kClose](){await promisify9(this[kOriginalClose])();this[kConnected]=0;this[kMockAgent][Symbols.kClients].delete(this[kOrigin])}};module2.exports=MockPool}});var require_pluralizer=__commonJS({"node_modules/undici/lib/mock/pluralizer.js"(exports2,module2){"use strict";var singulars={pronoun:"it",is:"is",was:"was",this:"this"};var plurals={pronoun:"they",is:"are",was:"were",this:"these"};module2.exports=class Pluralizer{constructor(singular,plural){this.singular=singular;this.plural=plural}pluralize(count){const one=count===1;const keys2=one?singulars:plurals;const noun=one?this.singular:this.plural;return{...keys2,count,noun}}}}});var require_pending_interceptors_formatter=__commonJS({"node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2,module2){"use strict";var{Transform}=require("stream");var{Console:Console2}=require("console");module2.exports=class PendingInterceptorsFormatter{constructor({disableColors}={}){this.transform=new Transform({transform(chunk2,_enc,cb){cb(null,chunk2)}});this.logger=new Console2({stdout:this.transform,inspectOptions:{colors:!disableColors&&!process.env.CI}})}format(pendingInterceptors){const withPrettyHeaders=pendingInterceptors.map(({method:method2,path:path27,data:{statusCode},persist,times:times2,timesInvoked,origin})=>({Method:method2,Origin:origin,Path:path27,"Status code":statusCode,Persistent:persist?"✅":"❌",Invocations:timesInvoked,Remaining:persist?Infinity:times2-timesInvoked}));this.logger.table(withPrettyHeaders);return this.transform.read().toString()}}}});var require_mock_agent=__commonJS({"node_modules/undici/lib/mock/mock-agent.js"(exports2,module2){"use strict";var{kClients}=require_symbols();var Agent=require_agent2();var{kAgent,kMockAgentSet,kMockAgentGet,kDispatches,kIsMockActive,kNetConnect,kGetNetConnect,kOptions,kFactory}=require_mock_symbols();var MockClient=require_mock_client();var MockPool=require_mock_pool();var{matchValue,buildMockOptions}=require_mock_utils();var{InvalidArgumentError,UndiciError}=require_errors5();var Dispatcher=require_dispatcher();var Pluralizer=require_pluralizer();var PendingInterceptorsFormatter=require_pending_interceptors_formatter();var FakeWeakRef=class{constructor(value){this.value=value}deref(){return this.value}};var MockAgent=class extends Dispatcher{constructor(opts){super(opts);this[kNetConnect]=true;this[kIsMockActive]=true;if(opts&&opts.agent&&typeof opts.agent.dispatch!=="function"){throw new InvalidArgumentError("Argument opts.agent must implement Agent")}const agent=opts&&opts.agent?opts.agent:new Agent(opts);this[kAgent]=agent;this[kClients]=agent[kClients];this[kOptions]=buildMockOptions(opts)}get(origin){let dispatcher=this[kMockAgentGet](origin);if(!dispatcher){dispatcher=this[kFactory](origin);this[kMockAgentSet](origin,dispatcher)}return dispatcher}dispatch(opts,handler){this.get(opts.origin);return this[kAgent].dispatch(opts,handler)}async close(){await this[kAgent].close();this[kClients].clear()}deactivate(){this[kIsMockActive]=false}activate(){this[kIsMockActive]=true}enableNetConnect(matcher){if(typeof matcher==="string"||typeof matcher==="function"||matcher instanceof RegExp){if(Array.isArray(this[kNetConnect])){this[kNetConnect].push(matcher)}else{this[kNetConnect]=[matcher]}}else if(typeof matcher==="undefined"){this[kNetConnect]=true}else{throw new InvalidArgumentError("Unsupported matcher. Must be one of String|Function|RegExp.")}}disableNetConnect(){this[kNetConnect]=false}get isMockActive(){return this[kIsMockActive]}[kMockAgentSet](origin,dispatcher){this[kClients].set(origin,new FakeWeakRef(dispatcher))}[kFactory](origin){const mockOptions=Object.assign({agent:this},this[kOptions]);return this[kOptions]&&this[kOptions].connections===1?new MockClient(origin,mockOptions):new MockPool(origin,mockOptions)}[kMockAgentGet](origin){const ref=this[kClients].get(origin);if(ref){return ref.deref()}if(typeof origin!=="string"){const dispatcher=this[kFactory]("http://localhost:9999");this[kMockAgentSet](origin,dispatcher);return dispatcher}for(const[keyMatcher,nonExplicitRef]of Array.from(this[kClients])){const nonExplicitDispatcher=nonExplicitRef.deref();if(nonExplicitDispatcher&&typeof keyMatcher!=="string"&&matchValue(keyMatcher,origin)){const dispatcher=this[kFactory](origin);this[kMockAgentSet](origin,dispatcher);dispatcher[kDispatches]=nonExplicitDispatcher[kDispatches];return dispatcher}}}[kGetNetConnect](){return this[kNetConnect]}pendingInterceptors(){const mockAgentClients=this[kClients];return Array.from(mockAgentClients.entries()).flatMap(([origin,scope])=>scope.deref()[kDispatches].map(dispatch=>({...dispatch,origin}))).filter(({pending})=>pending)}assertNoPendingInterceptors({pendingInterceptorsFormatter=new PendingInterceptorsFormatter}={}){const pending=this.pendingInterceptors();if(pending.length===0){return}const pluralizer=new Pluralizer("interceptor","interceptors").pluralize(pending.length);throw new UndiciError(`
${pluralizer.count} ${pluralizer.noun} ${pluralizer.is} pending:

${pendingInterceptorsFormatter.format(pending)}
`.trim())}};module2.exports=MockAgent}});var require_proxy_agent=__commonJS({"node_modules/undici/lib/proxy-agent.js"(exports2,module2){"use strict";var{kProxy,kClose,kDestroy,kInterceptors}=require_symbols();var{URL:URL3}=require("url");var Agent=require_agent2();var Pool=require_pool4();var DispatcherBase=require_dispatcher_base();var{InvalidArgumentError,RequestAbortedError}=require_errors5();var buildConnector=require_connect();var kAgent=Symbol("proxy agent");var kClient=Symbol("proxy client");var kProxyHeaders=Symbol("proxy headers");var kRequestTls=Symbol("request tls settings");var kProxyTls=Symbol("proxy tls settings");var kConnectEndpoint=Symbol("connect endpoint function");function defaultProtocolPort(protocol){return protocol==="https:"?443:80}function buildProxyOptions(opts){if(typeof opts==="string"){opts={uri:opts}}if(!opts||!opts.uri){throw new InvalidArgumentError("Proxy opts.uri is mandatory")}return{uri:opts.uri,protocol:opts.protocol||"https"}}function defaultFactory(origin,opts){return new Pool(origin,opts)}var ProxyAgent=class extends DispatcherBase{constructor(opts){super(opts);this[kProxy]=buildProxyOptions(opts);this[kAgent]=new Agent(opts);this[kInterceptors]=opts.interceptors&&opts.interceptors.ProxyAgent&&Array.isArray(opts.interceptors.ProxyAgent)?opts.interceptors.ProxyAgent:[];if(typeof opts==="string"){opts={uri:opts}}if(!opts||!opts.uri){throw new InvalidArgumentError("Proxy opts.uri is mandatory")}const{clientFactory=defaultFactory}=opts;if(typeof clientFactory!=="function"){throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.")}this[kRequestTls]=opts.requestTls;this[kProxyTls]=opts.proxyTls;this[kProxyHeaders]=opts.headers||{};const resolvedUrl=new URL3(opts.uri);const{origin,port,host,username,password}=resolvedUrl;if(opts.auth&&opts.token){throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token")}else if(opts.auth){this[kProxyHeaders]["proxy-authorization"]=`Basic ${opts.auth}`}else if(opts.token){this[kProxyHeaders]["proxy-authorization"]=opts.token}else if(username&&password){this[kProxyHeaders]["proxy-authorization"]=`Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`}const connect=buildConnector({...opts.proxyTls});this[kConnectEndpoint]=buildConnector({...opts.requestTls});this[kClient]=clientFactory(resolvedUrl,{connect});this[kAgent]=new Agent({...opts,connect:async(opts2,callback)=>{let requestedHost=opts2.host;if(!opts2.port){requestedHost+=`:${defaultProtocolPort(opts2.protocol)}`}try{const{socket,statusCode}=await this[kClient].connect({origin,port,path:requestedHost,signal:opts2.signal,headers:{...this[kProxyHeaders],host}});if(statusCode!==200){socket.on("error",()=>{}).destroy();callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`))}if(opts2.protocol!=="https:"){callback(null,socket);return}let servername;if(this[kRequestTls]){servername=this[kRequestTls].servername}else{servername=opts2.servername}this[kConnectEndpoint]({...opts2,servername,httpSocket:socket},callback)}catch(err){callback(err)}}})}dispatch(opts,handler){const{host}=new URL3(opts.origin);const headers=buildHeaders(opts.headers);throwIfProxyAuthIsSent(headers);return this[kAgent].dispatch({...opts,headers:{...headers,host}},handler)}async[kClose](){await this[kAgent].close();await this[kClient].close()}async[kDestroy](){await this[kAgent].destroy();await this[kClient].destroy()}};function buildHeaders(headers){if(Array.isArray(headers)){const headersPair={};for(let i=0;i<headers.length;i+=2){headersPair[headers[i]]=headers[i+1]}return headersPair}return headers}function throwIfProxyAuthIsSent(headers){const existProxyAuth=headers&&Object.keys(headers).find(key=>key.toLowerCase()==="proxy-authorization");if(existProxyAuth){throw new InvalidArgumentError("Proxy-Authorization should be sent in ProxyAgent constructor")}}module2.exports=ProxyAgent}});var require_RetryHandler=__commonJS({"node_modules/undici/lib/handler/RetryHandler.js"(exports2,module2){var assert2=require("assert");var{kRetryHandlerDefaultRetry}=require_symbols();var{RequestRetryError}=require_errors5();var{isDisturbed,parseHeaders,parseRangeHeader}=require_util3();function calculateRetryAfterHeader(retryAfter){const current=Date.now();const diff=new Date(retryAfter).getTime()-current;return diff}var RetryHandler=class _RetryHandler{constructor(opts,handlers3){const{retryOptions,...dispatchOpts}=opts;const{retry:retryFn,maxRetries,maxTimeout,minTimeout,timeoutFactor,methods,errorCodes,retryAfter,statusCodes}=retryOptions??{};this.dispatch=handlers3.dispatch;this.handler=handlers3.handler;this.opts=dispatchOpts;this.abort=null;this.aborted=false;this.retryOpts={retry:retryFn??_RetryHandler[kRetryHandlerDefaultRetry],retryAfter:retryAfter??true,maxTimeout:maxTimeout??30*1e3,timeout:minTimeout??500,timeoutFactor:timeoutFactor??2,maxRetries:maxRetries??5,methods:methods??["GET","HEAD","OPTIONS","PUT","DELETE","TRACE"],statusCodes:statusCodes??[500,502,503,504,429],errorCodes:errorCodes??["ECONNRESET","ECONNREFUSED","ENOTFOUND","ENETDOWN","ENETUNREACH","EHOSTDOWN","EHOSTUNREACH","EPIPE"]};this.retryCount=0;this.start=0;this.end=null;this.etag=null;this.resume=null;this.handler.onConnect(reason=>{this.aborted=true;if(this.abort){this.abort(reason)}else{this.reason=reason}})}onRequestSent(){if(this.handler.onRequestSent){this.handler.onRequestSent()}}onUpgrade(statusCode,headers,socket){if(this.handler.onUpgrade){this.handler.onUpgrade(statusCode,headers,socket)}}onConnect(abort){if(this.aborted){abort(this.reason)}else{this.abort=abort}}onBodySent(chunk2){if(this.handler.onBodySent)return this.handler.onBodySent(chunk2)}static[kRetryHandlerDefaultRetry](err,{state,opts},cb){const{statusCode,code,headers}=err;const{method:method2,retryOptions}=opts;const{maxRetries,timeout,maxTimeout,timeoutFactor,statusCodes,errorCodes,methods}=retryOptions;let{counter,currentTimeout}=state;currentTimeout=currentTimeout!=null&&currentTimeout>0?currentTimeout:timeout;if(code&&code!=="UND_ERR_REQ_RETRY"&&code!=="UND_ERR_SOCKET"&&!errorCodes.includes(code)){cb(err);return}if(Array.isArray(methods)&&!methods.includes(method2)){cb(err);return}if(statusCode!=null&&Array.isArray(statusCodes)&&!statusCodes.includes(statusCode)){cb(err);return}if(counter>maxRetries){cb(err);return}let retryAfterHeader=headers!=null&&headers["retry-after"];if(retryAfterHeader){retryAfterHeader=Number(retryAfterHeader);retryAfterHeader=isNaN(retryAfterHeader)?calculateRetryAfterHeader(retryAfterHeader):retryAfterHeader*1e3}const retryTimeout=retryAfterHeader>0?Math.min(retryAfterHeader,maxTimeout):Math.min(currentTimeout*timeoutFactor**counter,maxTimeout);state.currentTimeout=retryTimeout;setTimeout(()=>cb(null),retryTimeout)}onHeaders(statusCode,rawHeaders,resume,statusMessage){const headers=parseHeaders(rawHeaders);this.retryCount+=1;if(statusCode>=300){this.abort(new RequestRetryError("Request failed",statusCode,{headers,count:this.retryCount}));return false}if(this.resume!=null){this.resume=null;if(statusCode!==206){return true}const contentRange=parseRangeHeader(headers["content-range"]);if(!contentRange){this.abort(new RequestRetryError("Content-Range mismatch",statusCode,{headers,count:this.retryCount}));return false}if(this.etag!=null&&this.etag!==headers.etag){this.abort(new RequestRetryError("ETag mismatch",statusCode,{headers,count:this.retryCount}));return false}const{start,size:size2,end=size2}=contentRange;assert2(this.start===start,"content-range mismatch");assert2(this.end==null||this.end===end,"content-range mismatch");this.resume=resume;return true}if(this.end==null){if(statusCode===206){const range2=parseRangeHeader(headers["content-range"]);if(range2==null){return this.handler.onHeaders(statusCode,rawHeaders,resume,statusMessage)}const{start,size:size2,end=size2}=range2;assert2(start!=null&&Number.isFinite(start)&&this.start!==start,"content-range mismatch");assert2(Number.isFinite(start));assert2(end!=null&&Number.isFinite(end)&&this.end!==end,"invalid content-length");this.start=start;this.end=end}if(this.end==null){const contentLength=headers["content-length"];this.end=contentLength!=null?Number(contentLength):null}assert2(Number.isFinite(this.start));assert2(this.end==null||Number.isFinite(this.end),"invalid content-length");this.resume=resume;this.etag=headers.etag!=null?headers.etag:null;return this.handler.onHeaders(statusCode,rawHeaders,resume,statusMessage)}const err=new RequestRetryError("Request failed",statusCode,{headers,count:this.retryCount});this.abort(err);return false}onData(chunk2){this.start+=chunk2.length;return this.handler.onData(chunk2)}onComplete(rawTrailers){this.retryCount=0;return this.handler.onComplete(rawTrailers)}onError(err){if(this.aborted||isDisturbed(this.opts.body)){return this.handler.onError(err)}this.retryOpts.retry(err,{state:{counter:this.retryCount++,currentTimeout:this.retryAfter},opts:{retryOptions:this.retryOpts,...this.opts}},onRetry.bind(this));function onRetry(err2){if(err2!=null||this.aborted||isDisturbed(this.opts.body)){return this.handler.onError(err2)}if(this.start!==0){this.opts={...this.opts,headers:{...this.opts.headers,range:`bytes=${this.start}-${this.end??""}`}}}try{this.dispatch(this.opts,this)}catch(err3){this.handler.onError(err3)}}}};module2.exports=RetryHandler}});var require_global2=__commonJS({"node_modules/undici/lib/global.js"(exports2,module2){"use strict";var globalDispatcher=Symbol.for("undici.globalDispatcher.1");var{InvalidArgumentError}=require_errors5();var Agent=require_agent2();if(getGlobalDispatcher()===void 0){setGlobalDispatcher(new Agent)}function setGlobalDispatcher(agent){if(!agent||typeof agent.dispatch!=="function"){throw new InvalidArgumentError("Argument agent must implement Agent")}Object.defineProperty(globalThis,globalDispatcher,{value:agent,writable:true,enumerable:false,configurable:false})}function getGlobalDispatcher(){return globalThis[globalDispatcher]}module2.exports={setGlobalDispatcher,getGlobalDispatcher}}});var require_DecoratorHandler=__commonJS({"node_modules/undici/lib/handler/DecoratorHandler.js"(exports2,module2){"use strict";module2.exports=class DecoratorHandler{constructor(handler){this.handler=handler}onConnect(...args2){return this.handler.onConnect(...args2)}onError(...args2){return this.handler.onError(...args2)}onUpgrade(...args2){return this.handler.onUpgrade(...args2)}onHeaders(...args2){return this.handler.onHeaders(...args2)}onData(...args2){return this.handler.onData(...args2)}onComplete(...args2){return this.handler.onComplete(...args2)}onBodySent(...args2){return this.handler.onBodySent(...args2)}}}});var require_headers=__commonJS({"node_modules/undici/lib/fetch/headers.js"(exports2,module2){"use strict";var{kHeadersList,kConstruct}=require_symbols();var{kGuard}=require_symbols2();var{kEnumerableProperty}=require_util3();var{makeIterator,isValidHeaderName,isValidHeaderValue}=require_util4();var{webidl}=require_webidl();var assert2=require("assert");var kHeadersMap=Symbol("headers map");var kHeadersSortedMap=Symbol("headers map sorted");function isHTTPWhiteSpaceCharCode(code){return code===10||code===13||code===9||code===32}function headerValueNormalize(potentialValue){let i=0;let j=potentialValue.length;while(j>i&&isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(j-1)))--j;while(j>i&&isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(i)))++i;return i===0&&j===potentialValue.length?potentialValue:potentialValue.substring(i,j)}function fill2(headers,object){if(Array.isArray(object)){for(let i=0;i<object.length;++i){const header2=object[i];if(header2.length!==2){throw webidl.errors.exception({header:"Headers constructor",message:`expected name/value pair to be length 2, found ${header2.length}.`})}appendHeader(headers,header2[0],header2[1])}}else if(typeof object==="object"&&object!==null){const keys2=Object.keys(object);for(let i=0;i<keys2.length;++i){appendHeader(headers,keys2[i],object[keys2[i]])}}else{throw webidl.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence<sequence<ByteString>>","record<ByteString, ByteString>"]})}}function appendHeader(headers,name,value){value=headerValueNormalize(value);if(!isValidHeaderName(name)){throw webidl.errors.invalidArgument({prefix:"Headers.append",value:name,type:"header name"})}else if(!isValidHeaderValue(value)){throw webidl.errors.invalidArgument({prefix:"Headers.append",value,type:"header value"})}if(headers[kGuard]==="immutable"){throw new TypeError("immutable")}else if(headers[kGuard]==="request-no-cors"){}return headers[kHeadersList].append(name,value)}var HeadersList=class _HeadersList{cookies=null;constructor(init2){if(init2 instanceof _HeadersList){this[kHeadersMap]=new Map(init2[kHeadersMap]);this[kHeadersSortedMap]=init2[kHeadersSortedMap];this.cookies=init2.cookies===null?null:[...init2.cookies]}else{this[kHeadersMap]=new Map(init2);this[kHeadersSortedMap]=null}}contains(name){name=name.toLowerCase();return this[kHeadersMap].has(name)}clear(){this[kHeadersMap].clear();this[kHeadersSortedMap]=null;this.cookies=null}append(name,value){this[kHeadersSortedMap]=null;const lowercaseName=name.toLowerCase();const exists2=this[kHeadersMap].get(lowercaseName);if(exists2){const delimiter=lowercaseName==="cookie"?"; ":", ";this[kHeadersMap].set(lowercaseName,{name:exists2.name,value:`${exists2.value}${delimiter}${value}`})}else{this[kHeadersMap].set(lowercaseName,{name,value})}if(lowercaseName==="set-cookie"){this.cookies??=[];this.cookies.push(value)}}set(name,value){this[kHeadersSortedMap]=null;const lowercaseName=name.toLowerCase();if(lowercaseName==="set-cookie"){this.cookies=[value]}this[kHeadersMap].set(lowercaseName,{name,value})}delete(name){this[kHeadersSortedMap]=null;name=name.toLowerCase();if(name==="set-cookie"){this.cookies=null}this[kHeadersMap].delete(name)}get(name){const value=this[kHeadersMap].get(name.toLowerCase());return value===void 0?null:value.value}*[Symbol.iterator](){for(const[name,{value}]of this[kHeadersMap]){yield[name,value]}}get entries(){const headers={};if(this[kHeadersMap].size){for(const{name,value}of this[kHeadersMap].values()){headers[name]=value}}return headers}};var Headers=class _Headers{constructor(init2=void 0){if(init2===kConstruct){return}this[kHeadersList]=new HeadersList;this[kGuard]="none";if(init2!==void 0){init2=webidl.converters.HeadersInit(init2);fill2(this,init2)}}append(name,value){webidl.brandCheck(this,_Headers);webidl.argumentLengthCheck(arguments,2,{header:"Headers.append"});name=webidl.converters.ByteString(name);value=webidl.converters.ByteString(value);return appendHeader(this,name,value)}delete(name){webidl.brandCheck(this,_Headers);webidl.argumentLengthCheck(arguments,1,{header:"Headers.delete"});name=webidl.converters.ByteString(name);if(!isValidHeaderName(name)){throw webidl.errors.invalidArgument({prefix:"Headers.delete",value:name,type:"header name"})}if(this[kGuard]==="immutable"){throw new TypeError("immutable")}else if(this[kGuard]==="request-no-cors"){}if(!this[kHeadersList].contains(name)){return}this[kHeadersList].delete(name)}get(name){webidl.brandCheck(this,_Headers);webidl.argumentLengthCheck(arguments,1,{header:"Headers.get"});name=webidl.converters.ByteString(name);if(!isValidHeaderName(name)){throw webidl.errors.invalidArgument({prefix:"Headers.get",value:name,type:"header name"})}return this[kHeadersList].get(name)}has(name){webidl.brandCheck(this,_Headers);webidl.argumentLengthCheck(arguments,1,{header:"Headers.has"});name=webidl.converters.ByteString(name);if(!isValidHeaderName(name)){throw webidl.errors.invalidArgument({prefix:"Headers.has",value:name,type:"header name"})}return this[kHeadersList].contains(name)}set(name,value){webidl.brandCheck(this,_Headers);webidl.argumentLengthCheck(arguments,2,{header:"Headers.set"});name=webidl.converters.ByteString(name);value=webidl.converters.ByteString(value);value=headerValueNormalize(value);if(!isValidHeaderName(name)){throw webidl.errors.invalidArgument({prefix:"Headers.set",value:name,type:"header name"})}else if(!isValidHeaderValue(value)){throw webidl.errors.invalidArgument({prefix:"Headers.set",value,type:"header value"})}if(this[kGuard]==="immutable"){throw new TypeError("immutable")}else if(this[kGuard]==="request-no-cors"){}this[kHeadersList].set(name,value)}getSetCookie(){webidl.brandCheck(this,_Headers);const list=this[kHeadersList].cookies;if(list){return[...list]}return[]}get[kHeadersSortedMap](){if(this[kHeadersList][kHeadersSortedMap]){return this[kHeadersList][kHeadersSortedMap]}const headers=[];const names2=[...this[kHeadersList]].sort((a,b)=>a[0]<b[0]?-1:1);const cookies=this[kHeadersList].cookies;for(let i=0;i<names2.length;++i){const[name,value]=names2[i];if(name==="set-cookie"){for(let j=0;j<cookies.length;++j){headers.push([name,cookies[j]])}}else{assert2(value!==null);headers.push([name,value])}}this[kHeadersList][kHeadersSortedMap]=headers;return headers}keys(){webidl.brandCheck(this,_Headers);if(this[kGuard]==="immutable"){const value=this[kHeadersSortedMap];return makeIterator(()=>value,"Headers","key")}return makeIterator(()=>[...this[kHeadersSortedMap].values()],"Headers","key")}values(){webidl.brandCheck(this,_Headers);if(this[kGuard]==="immutable"){const value=this[kHeadersSortedMap];return makeIterator(()=>value,"Headers","value")}return makeIterator(()=>[...this[kHeadersSortedMap].values()],"Headers","value")}entries(){webidl.brandCheck(this,_Headers);if(this[kGuard]==="immutable"){const value=this[kHeadersSortedMap];return makeIterator(()=>value,"Headers","key+value")}return makeIterator(()=>[...this[kHeadersSortedMap].values()],"Headers","key+value")}forEach(callbackFn,thisArg=globalThis){webidl.brandCheck(this,_Headers);webidl.argumentLengthCheck(arguments,1,{header:"Headers.forEach"});if(typeof callbackFn!=="function"){throw new TypeError("Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'.")}for(const[key,value]of this){callbackFn.apply(thisArg,[value,key,this])}}[Symbol.for("nodejs.util.inspect.custom")](){webidl.brandCheck(this,_Headers);return this[kHeadersList]}};Headers.prototype[Symbol.iterator]=Headers.prototype.entries;Object.defineProperties(Headers.prototype,{append:kEnumerableProperty,delete:kEnumerableProperty,get:kEnumerableProperty,has:kEnumerableProperty,set:kEnumerableProperty,getSetCookie:kEnumerableProperty,keys:kEnumerableProperty,values:kEnumerableProperty,entries:kEnumerableProperty,forEach:kEnumerableProperty,[Symbol.iterator]:{enumerable:false},[Symbol.toStringTag]:{value:"Headers",configurable:true}});webidl.converters.HeadersInit=function(V){if(webidl.util.Type(V)==="Object"){if(V[Symbol.iterator]){return webidl.converters["sequence<sequence<ByteString>>"](V)}return webidl.converters["record<ByteString, ByteString>"](V)}throw webidl.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence<sequence<ByteString>>","record<ByteString, ByteString>"]})};module2.exports={fill:fill2,Headers,HeadersList}}});var require_response=__commonJS({"node_modules/undici/lib/fetch/response.js"(exports2,module2){"use strict";var{Headers,HeadersList,fill:fill2}=require_headers();var{extractBody,cloneBody,mixinBody}=require_body();var util4=require_util3();var{kEnumerableProperty}=util4;var{isValidReasonPhrase,isCancelled,isAborted:isAborted2,isBlobLike,serializeJavascriptValueToJSONString,isErrorLike,isomorphicEncode}=require_util4();var{redirectStatusSet,nullBodyStatus,DOMException:DOMException2}=require_constants2();var{kState,kHeaders,kGuard,kRealm}=require_symbols2();var{webidl}=require_webidl();var{FormData}=require_formdata();var{getGlobalOrigin}=require_global();var{URLSerializer}=require_dataURL();var{kHeadersList,kConstruct}=require_symbols();var assert2=require("assert");var{types:types6}=require("util");var ReadableStream2=globalThis.ReadableStream||require("stream/web").ReadableStream;var textEncoder=new TextEncoder("utf-8");var Response2=class _Response{static error(){const relevantRealm={settingsObject:{}};const responseObject=new _Response;responseObject[kState]=makeNetworkError();responseObject[kRealm]=relevantRealm;responseObject[kHeaders][kHeadersList]=responseObject[kState].headersList;responseObject[kHeaders][kGuard]="immutable";responseObject[kHeaders][kRealm]=relevantRealm;return responseObject}static json(data,init2={}){webidl.argumentLengthCheck(arguments,1,{header:"Response.json"});if(init2!==null){init2=webidl.converters.ResponseInit(init2)}const bytes9=textEncoder.encode(serializeJavascriptValueToJSONString(data));const body=extractBody(bytes9);const relevantRealm={settingsObject:{}};const responseObject=new _Response;responseObject[kRealm]=relevantRealm;responseObject[kHeaders][kGuard]="response";responseObject[kHeaders][kRealm]=relevantRealm;initializeResponse(responseObject,init2,{body:body[0],type:"application/json"});return responseObject}static redirect(url,status=302){const relevantRealm={settingsObject:{}};webidl.argumentLengthCheck(arguments,1,{header:"Response.redirect"});url=webidl.converters.USVString(url);status=webidl.converters["unsigned short"](status);let parsedURL;try{parsedURL=new URL(url,getGlobalOrigin())}catch(err){throw Object.assign(new TypeError("Failed to parse URL from "+url),{cause:err})}if(!redirectStatusSet.has(status)){throw new RangeError("Invalid status code "+status)}const responseObject=new _Response;responseObject[kRealm]=relevantRealm;responseObject[kHeaders][kGuard]="immutable";responseObject[kHeaders][kRealm]=relevantRealm;responseObject[kState].status=status;const value=isomorphicEncode(URLSerializer(parsedURL));responseObject[kState].headersList.append("location",value);return responseObject}constructor(body=null,init2={}){if(body!==null){body=webidl.converters.BodyInit(body)}init2=webidl.converters.ResponseInit(init2);this[kRealm]={settingsObject:{}};this[kState]=makeResponse({});this[kHeaders]=new Headers(kConstruct);this[kHeaders][kGuard]="response";this[kHeaders][kHeadersList]=this[kState].headersList;this[kHeaders][kRealm]=this[kRealm];let bodyWithType=null;if(body!=null){const[extractedBody,type2]=extractBody(body);bodyWithType={body:extractedBody,type:type2}}initializeResponse(this,init2,bodyWithType)}get type(){webidl.brandCheck(this,_Response);return this[kState].type}get url(){webidl.brandCheck(this,_Response);const urlList=this[kState].urlList;const url=urlList[urlList.length-1]??null;if(url===null){return""}return URLSerializer(url,true)}get redirected(){webidl.brandCheck(this,_Response);return this[kState].urlList.length>1}get status(){webidl.brandCheck(this,_Response);return this[kState].status}get ok(){webidl.brandCheck(this,_Response);return this[kState].status>=200&&this[kState].status<=299}get statusText(){webidl.brandCheck(this,_Response);return this[kState].statusText}get headers(){webidl.brandCheck(this,_Response);return this[kHeaders]}get body(){webidl.brandCheck(this,_Response);return this[kState].body?this[kState].body.stream:null}get bodyUsed(){webidl.brandCheck(this,_Response);return!!this[kState].body&&util4.isDisturbed(this[kState].body.stream)}clone(){webidl.brandCheck(this,_Response);if(this.bodyUsed||this.body&&this.body.locked){throw webidl.errors.exception({header:"Response.clone",message:"Body has already been consumed."})}const clonedResponse=cloneResponse2(this[kState]);const clonedResponseObject=new _Response;clonedResponseObject[kState]=clonedResponse;clonedResponseObject[kRealm]=this[kRealm];clonedResponseObject[kHeaders][kHeadersList]=clonedResponse.headersList;clonedResponseObject[kHeaders][kGuard]=this[kHeaders][kGuard];clonedResponseObject[kHeaders][kRealm]=this[kHeaders][kRealm];return clonedResponseObject}};mixinBody(Response2);Object.defineProperties(Response2.prototype,{type:kEnumerableProperty,url:kEnumerableProperty,status:kEnumerableProperty,ok:kEnumerableProperty,redirected:kEnumerableProperty,statusText:kEnumerableProperty,headers:kEnumerableProperty,clone:kEnumerableProperty,body:kEnumerableProperty,bodyUsed:kEnumerableProperty,[Symbol.toStringTag]:{value:"Response",configurable:true}});Object.defineProperties(Response2,{json:kEnumerableProperty,redirect:kEnumerableProperty,error:kEnumerableProperty});function cloneResponse2(response){if(response.internalResponse){return filterResponse(cloneResponse2(response.internalResponse),response.type)}const newResponse=makeResponse({...response,body:null});if(response.body!=null){newResponse.body=cloneBody(response.body)}return newResponse}function makeResponse(init2){return{aborted:false,rangeRequested:false,timingAllowPassed:false,requestIncludesCredentials:false,type:"default",status:200,timingInfo:null,cacheState:"",statusText:"",...init2,headersList:init2.headersList?new HeadersList(init2.headersList):new HeadersList,urlList:init2.urlList?[...init2.urlList]:[]}}function makeNetworkError(reason){const isError2=isErrorLike(reason);return makeResponse({type:"error",status:0,error:isError2?reason:new Error(reason?String(reason):reason),aborted:reason&&reason.name==="AbortError"})}function makeFilteredResponse(response,state){state={internalResponse:response,...state};return new Proxy(response,{get(target,p){return p in state?state[p]:target[p]},set(target,p,value){assert2(!(p in state));target[p]=value;return true}})}function filterResponse(response,type2){if(type2==="basic"){return makeFilteredResponse(response,{type:"basic",headersList:response.headersList})}else if(type2==="cors"){return makeFilteredResponse(response,{type:"cors",headersList:response.headersList})}else if(type2==="opaque"){return makeFilteredResponse(response,{type:"opaque",urlList:Object.freeze([]),status:0,statusText:"",body:null})}else if(type2==="opaqueredirect"){return makeFilteredResponse(response,{type:"opaqueredirect",status:0,statusText:"",headersList:[],body:null})}else{assert2(false)}}function makeAppropriateNetworkError(fetchParams,err=null){assert2(isCancelled(fetchParams));return isAborted2(fetchParams)?makeNetworkError(Object.assign(new DOMException2("The operation was aborted.","AbortError"),{cause:err})):makeNetworkError(Object.assign(new DOMException2("Request was cancelled."),{cause:err}))}function initializeResponse(response,init2,body){if(init2.status!==null&&(init2.status<200||init2.status>599)){throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.')}if("statusText"in init2&&init2.statusText!=null){if(!isValidReasonPhrase(String(init2.statusText))){throw new TypeError("Invalid statusText")}}if("status"in init2&&init2.status!=null){response[kState].status=init2.status}if("statusText"in init2&&init2.statusText!=null){response[kState].statusText=init2.statusText}if("headers"in init2&&init2.headers!=null){fill2(response[kHeaders],init2.headers)}if(body){if(nullBodyStatus.includes(response.status)){throw webidl.errors.exception({header:"Response constructor",message:"Invalid response status code "+response.status})}response[kState].body=body.body;if(body.type!=null&&!response[kState].headersList.contains("Content-Type")){response[kState].headersList.append("content-type",body.type)}}}webidl.converters.ReadableStream=webidl.interfaceConverter(ReadableStream2);webidl.converters.FormData=webidl.interfaceConverter(FormData);webidl.converters.URLSearchParams=webidl.interfaceConverter(URLSearchParams);webidl.converters.XMLHttpRequestBodyInit=function(V){if(typeof V==="string"){return webidl.converters.USVString(V)}if(isBlobLike(V)){return webidl.converters.Blob(V,{strict:false})}if(types6.isArrayBuffer(V)||types6.isTypedArray(V)||types6.isDataView(V)){return webidl.converters.BufferSource(V)}if(util4.isFormDataLike(V)){return webidl.converters.FormData(V,{strict:false})}if(V instanceof URLSearchParams){return webidl.converters.URLSearchParams(V)}return webidl.converters.DOMString(V)};webidl.converters.BodyInit=function(V){if(V instanceof ReadableStream2){return webidl.converters.ReadableStream(V)}if(V==null?void 0:V[Symbol.asyncIterator]){return V}return webidl.converters.XMLHttpRequestBodyInit(V)};webidl.converters.ResponseInit=webidl.dictionaryConverter([{key:"status",converter:webidl.converters["unsigned short"],defaultValue:200},{key:"statusText",converter:webidl.converters.ByteString,defaultValue:""},{key:"headers",converter:webidl.converters.HeadersInit}]);module2.exports={makeNetworkError,makeResponse,makeAppropriateNetworkError,filterResponse,Response:Response2,cloneResponse:cloneResponse2}}});var require_request3=__commonJS({"node_modules/undici/lib/fetch/request.js"(exports2,module2){"use strict";var{extractBody,mixinBody,cloneBody}=require_body();var{Headers,fill:fillHeaders,HeadersList}=require_headers();var{FinalizationRegistry:FinalizationRegistry2}=require_dispatcher_weakref()();var util4=require_util3();var{isValidHTTPToken,sameOrigin,normalizeMethod,makePolicyContainer,normalizeMethodRecord}=require_util4();var{forbiddenMethodsSet,corsSafeListedMethodsSet,referrerPolicy,requestRedirect,requestMode,requestCredentials,requestCache,requestDuplex}=require_constants2();var{kEnumerableProperty}=util4;var{kHeaders,kSignal,kState,kGuard,kRealm}=require_symbols2();var{webidl}=require_webidl();var{getGlobalOrigin}=require_global();var{URLSerializer}=require_dataURL();var{kHeadersList,kConstruct}=require_symbols();var assert2=require("assert");var{getMaxListeners,setMaxListeners,getEventListeners,defaultMaxListeners}=require("events");var TransformStream2=globalThis.TransformStream;var kAbortController=Symbol("abortController");var requestFinalizer=new FinalizationRegistry2(({signal,abort})=>{signal.removeEventListener("abort",abort)});var Request2=class _Request{constructor(input,init2={}){var _a12,_b2;if(input===kConstruct){return}webidl.argumentLengthCheck(arguments,1,{header:"Request constructor"});input=webidl.converters.RequestInfo(input);init2=webidl.converters.RequestInit(init2);this[kRealm]={settingsObject:{baseUrl:getGlobalOrigin(),get origin(){var _a13;return(_a13=this.baseUrl)==null?void 0:_a13.origin},policyContainer:makePolicyContainer()}};let request=null;let fallbackMode=null;const baseUrl=this[kRealm].settingsObject.baseUrl;let signal=null;if(typeof input==="string"){let parsedURL;try{parsedURL=new URL(input,baseUrl)}catch(err){throw new TypeError("Failed to parse URL from "+input,{cause:err})}if(parsedURL.username||parsedURL.password){throw new TypeError("Request cannot be constructed from a URL that includes credentials: "+input)}request=makeRequest({urlList:[parsedURL]});fallbackMode="cors"}else{assert2(input instanceof _Request);request=input[kState];signal=input[kSignal]}const origin=this[kRealm].settingsObject.origin;let window2="client";if(((_b2=(_a12=request.window)==null?void 0:_a12.constructor)==null?void 0:_b2.name)==="EnvironmentSettingsObject"&&sameOrigin(request.window,origin)){window2=request.window}if(init2.window!=null){throw new TypeError(`'window' option '${window2}' must be null`)}if("window"in init2){window2="no-window"}request=makeRequest({method:request.method,headersList:request.headersList,unsafeRequest:request.unsafeRequest,client:this[kRealm].settingsObject,window:window2,priority:request.priority,origin:request.origin,referrer:request.referrer,referrerPolicy:request.referrerPolicy,mode:request.mode,credentials:request.credentials,cache:request.cache,redirect:request.redirect,integrity:request.integrity,keepalive:request.keepalive,reloadNavigation:request.reloadNavigation,historyNavigation:request.historyNavigation,urlList:[...request.urlList]});const initHasKey=Object.keys(init2).length!==0;if(initHasKey){if(request.mode==="navigate"){request.mode="same-origin"}request.reloadNavigation=false;request.historyNavigation=false;request.origin="client";request.referrer="client";request.referrerPolicy="";request.url=request.urlList[request.urlList.length-1];request.urlList=[request.url]}if(init2.referrer!==void 0){const referrer=init2.referrer;if(referrer===""){request.referrer="no-referrer"}else{let parsedReferrer;try{parsedReferrer=new URL(referrer,baseUrl)}catch(err){throw new TypeError(`Referrer "${referrer}" is not a valid URL.`,{cause:err})}if(parsedReferrer.protocol==="about:"&&parsedReferrer.hostname==="client"||origin&&!sameOrigin(parsedReferrer,this[kRealm].settingsObject.baseUrl)){request.referrer="client"}else{request.referrer=parsedReferrer}}}if(init2.referrerPolicy!==void 0){request.referrerPolicy=init2.referrerPolicy}let mode2;if(init2.mode!==void 0){mode2=init2.mode}else{mode2=fallbackMode}if(mode2==="navigate"){throw webidl.errors.exception({header:"Request constructor",message:"invalid request mode navigate."})}if(mode2!=null){request.mode=mode2}if(init2.credentials!==void 0){request.credentials=init2.credentials}if(init2.cache!==void 0){request.cache=init2.cache}if(request.cache==="only-if-cached"&&request.mode!=="same-origin"){throw new TypeError("'only-if-cached' can be set only with 'same-origin' mode")}if(init2.redirect!==void 0){request.redirect=init2.redirect}if(init2.integrity!=null){request.integrity=String(init2.integrity)}if(init2.keepalive!==void 0){request.keepalive=Boolean(init2.keepalive)}if(init2.method!==void 0){let method2=init2.method;if(!isValidHTTPToken(method2)){throw new TypeError(`'${method2}' is not a valid HTTP method.`)}if(forbiddenMethodsSet.has(method2.toUpperCase())){throw new TypeError(`'${method2}' HTTP method is unsupported.`)}method2=normalizeMethodRecord[method2]??normalizeMethod(method2);request.method=method2}if(init2.signal!==void 0){signal=init2.signal}this[kState]=request;const ac=new AbortController;this[kSignal]=ac.signal;this[kSignal][kRealm]=this[kRealm];if(signal!=null){if(!signal||typeof signal.aborted!=="boolean"||typeof signal.addEventListener!=="function"){throw new TypeError("Failed to construct 'Request': member signal is not of type AbortSignal.")}if(signal.aborted){ac.abort(signal.reason)}else{this[kAbortController]=ac;const acRef=new WeakRef(ac);const abort=function(){const ac2=acRef.deref();if(ac2!==void 0){ac2.abort(this.reason)}};try{if(typeof getMaxListeners==="function"&&getMaxListeners(signal)===defaultMaxListeners){setMaxListeners(100,signal)}else if(getEventListeners(signal,"abort").length>=defaultMaxListeners){setMaxListeners(100,signal)}}catch{}util4.addAbortListener(signal,abort);requestFinalizer.register(ac,{signal,abort})}}this[kHeaders]=new Headers(kConstruct);this[kHeaders][kHeadersList]=request.headersList;this[kHeaders][kGuard]="request";this[kHeaders][kRealm]=this[kRealm];if(mode2==="no-cors"){if(!corsSafeListedMethodsSet.has(request.method)){throw new TypeError(`'${request.method} is unsupported in no-cors mode.`)}this[kHeaders][kGuard]="request-no-cors"}if(initHasKey){const headersList=this[kHeaders][kHeadersList];const headers=init2.headers!==void 0?init2.headers:new HeadersList(headersList);headersList.clear();if(headers instanceof HeadersList){for(const[key,val]of headers){headersList.append(key,val)}headersList.cookies=headers.cookies}else{fillHeaders(this[kHeaders],headers)}}const inputBody=input instanceof _Request?input[kState].body:null;if((init2.body!=null||inputBody!=null)&&(request.method==="GET"||request.method==="HEAD")){throw new TypeError("Request with GET/HEAD method cannot have body.")}let initBody=null;if(init2.body!=null){const[extractedBody,contentType]=extractBody(init2.body,request.keepalive);initBody=extractedBody;if(contentType&&!this[kHeaders][kHeadersList].contains("content-type")){this[kHeaders].append("content-type",contentType)}}const inputOrInitBody=initBody??inputBody;if(inputOrInitBody!=null&&inputOrInitBody.source==null){if(initBody!=null&&init2.duplex==null){throw new TypeError("RequestInit: duplex option is required when sending a body.")}if(request.mode!=="same-origin"&&request.mode!=="cors"){throw new TypeError('If request is made from ReadableStream, mode should be "same-origin" or "cors"')}request.useCORSPreflightFlag=true}let finalBody=inputOrInitBody;if(initBody==null&&inputBody!=null){if(util4.isDisturbed(inputBody.stream)||inputBody.stream.locked){throw new TypeError("Cannot construct a Request with a Request object that has already been used.")}if(!TransformStream2){TransformStream2=require("stream/web").TransformStream}const identityTransform=new TransformStream2;inputBody.stream.pipeThrough(identityTransform);finalBody={source:inputBody.source,length:inputBody.length,stream:identityTransform.readable}}this[kState].body=finalBody}get method(){webidl.brandCheck(this,_Request);return this[kState].method}get url(){webidl.brandCheck(this,_Request);return URLSerializer(this[kState].url)}get headers(){webidl.brandCheck(this,_Request);return this[kHeaders]}get destination(){webidl.brandCheck(this,_Request);return this[kState].destination}get referrer(){webidl.brandCheck(this,_Request);if(this[kState].referrer==="no-referrer"){return""}if(this[kState].referrer==="client"){return"about:client"}return this[kState].referrer.toString()}get referrerPolicy(){webidl.brandCheck(this,_Request);return this[kState].referrerPolicy}get mode(){webidl.brandCheck(this,_Request);return this[kState].mode}get credentials(){return this[kState].credentials}get cache(){webidl.brandCheck(this,_Request);return this[kState].cache}get redirect(){webidl.brandCheck(this,_Request);return this[kState].redirect}get integrity(){webidl.brandCheck(this,_Request);return this[kState].integrity}get keepalive(){webidl.brandCheck(this,_Request);return this[kState].keepalive}get isReloadNavigation(){webidl.brandCheck(this,_Request);return this[kState].reloadNavigation}get isHistoryNavigation(){webidl.brandCheck(this,_Request);return this[kState].historyNavigation}get signal(){webidl.brandCheck(this,_Request);return this[kSignal]}get body(){webidl.brandCheck(this,_Request);return this[kState].body?this[kState].body.stream:null}get bodyUsed(){webidl.brandCheck(this,_Request);return!!this[kState].body&&util4.isDisturbed(this[kState].body.stream)}get duplex(){webidl.brandCheck(this,_Request);return"half"}clone(){var _a12;webidl.brandCheck(this,_Request);if(this.bodyUsed||((_a12=this.body)==null?void 0:_a12.locked)){throw new TypeError("unusable")}const clonedRequest=cloneRequest(this[kState]);const clonedRequestObject=new _Request(kConstruct);clonedRequestObject[kState]=clonedRequest;clonedRequestObject[kRealm]=this[kRealm];clonedRequestObject[kHeaders]=new Headers(kConstruct);clonedRequestObject[kHeaders][kHeadersList]=clonedRequest.headersList;clonedRequestObject[kHeaders][kGuard]=this[kHeaders][kGuard];clonedRequestObject[kHeaders][kRealm]=this[kHeaders][kRealm];const ac=new AbortController;if(this.signal.aborted){ac.abort(this.signal.reason)}else{util4.addAbortListener(this.signal,()=>{ac.abort(this.signal.reason)})}clonedRequestObject[kSignal]=ac.signal;return clonedRequestObject}};mixinBody(Request2);function makeRequest(init2){const request={method:"GET",localURLsOnly:false,unsafeRequest:false,body:null,client:null,reservedClient:null,replacesClientId:"",window:"client",keepalive:false,serviceWorkers:"all",initiator:"",destination:"",priority:null,origin:"client",policyContainer:"client",referrer:"client",referrerPolicy:"",mode:"no-cors",useCORSPreflightFlag:false,credentials:"same-origin",useCredentials:false,cache:"default",redirect:"follow",integrity:"",cryptoGraphicsNonceMetadata:"",parserMetadata:"",reloadNavigation:false,historyNavigation:false,userActivation:false,taintedOrigin:false,redirectCount:0,responseTainting:"basic",preventNoCacheCacheControlHeaderModification:false,done:false,timingAllowFailed:false,...init2,headersList:init2.headersList?new HeadersList(init2.headersList):new HeadersList};request.url=request.urlList[0];return request}function cloneRequest(request){const newRequest=makeRequest({...request,body:null});if(request.body!=null){newRequest.body=cloneBody(request.body)}return newRequest}Object.defineProperties(Request2.prototype,{method:kEnumerableProperty,url:kEnumerableProperty,headers:kEnumerableProperty,redirect:kEnumerableProperty,clone:kEnumerableProperty,signal:kEnumerableProperty,duplex:kEnumerableProperty,destination:kEnumerableProperty,body:kEnumerableProperty,bodyUsed:kEnumerableProperty,isHistoryNavigation:kEnumerableProperty,isReloadNavigation:kEnumerableProperty,keepalive:kEnumerableProperty,integrity:kEnumerableProperty,cache:kEnumerableProperty,credentials:kEnumerableProperty,attribute:kEnumerableProperty,referrerPolicy:kEnumerableProperty,referrer:kEnumerableProperty,mode:kEnumerableProperty,[Symbol.toStringTag]:{value:"Request",configurable:true}});webidl.converters.Request=webidl.interfaceConverter(Request2);webidl.converters.RequestInfo=function(V){if(typeof V==="string"){return webidl.converters.USVString(V)}if(V instanceof Request2){return webidl.converters.Request(V)}return webidl.converters.USVString(V)};webidl.converters.AbortSignal=webidl.interfaceConverter(AbortSignal);webidl.converters.RequestInit=webidl.dictionaryConverter([{key:"method",converter:webidl.converters.ByteString},{key:"headers",converter:webidl.converters.HeadersInit},{key:"body",converter:webidl.nullableConverter(webidl.converters.BodyInit)},{key:"referrer",converter:webidl.converters.USVString},{key:"referrerPolicy",converter:webidl.converters.DOMString,allowedValues:referrerPolicy},{key:"mode",converter:webidl.converters.DOMString,allowedValues:requestMode},{key:"credentials",converter:webidl.converters.DOMString,allowedValues:requestCredentials},{key:"cache",converter:webidl.converters.DOMString,allowedValues:requestCache},{key:"redirect",converter:webidl.converters.DOMString,allowedValues:requestRedirect},{key:"integrity",converter:webidl.converters.DOMString},{key:"keepalive",converter:webidl.converters.boolean},{key:"signal",converter:webidl.nullableConverter(signal=>webidl.converters.AbortSignal(signal,{strict:false}))},{key:"window",converter:webidl.converters.any},{key:"duplex",converter:webidl.converters.DOMString,allowedValues:requestDuplex}]);module2.exports={Request:Request2,makeRequest}}});var require_fetch=__commonJS({"node_modules/undici/lib/fetch/index.js"(exports2,module2){"use strict";var{Response:Response2,makeNetworkError,makeAppropriateNetworkError,filterResponse,makeResponse}=require_response();var{Headers}=require_headers();var{Request:Request2,makeRequest}=require_request3();var zlib2=require("zlib");var{bytesMatch,makePolicyContainer,clonePolicyContainer,requestBadPort,TAOCheck,appendRequestOriginHeader,responseLocationURL,requestCurrentURL,setRequestReferrerPolicyOnRedirect,tryUpgradeRequestToAPotentiallyTrustworthyURL,createOpaqueTimingInfo,appendFetchMetadata,corsCheck,crossOriginResourcePolicyCheck,determineRequestsReferrer,coarsenedSharedCurrentTime,createDeferredPromise,isBlobLike,sameOrigin,isCancelled,isAborted:isAborted2,isErrorLike,fullyReadBody,readableStreamClose,isomorphicEncode,urlIsLocal,urlIsHttpHttpsScheme,urlHasHttpsScheme}=require_util4();var{kState,kHeaders,kGuard,kRealm}=require_symbols2();var assert2=require("assert");var{safelyExtractBody}=require_body();var{redirectStatusSet,nullBodyStatus,safeMethodsSet,requestBodyHeader,subresourceSet,DOMException:DOMException2}=require_constants2();var{kHeadersList}=require_symbols();var EE=require("events");var{Readable:Readable2,pipeline}=require("stream");var{addAbortListener,isErrored,isReadable,nodeMajor,nodeMinor}=require_util3();var{dataURLProcessor,serializeAMimeType}=require_dataURL();var{TransformStream:TransformStream2}=require("stream/web");var{getGlobalDispatcher}=require_global2();var{webidl}=require_webidl();var{STATUS_CODES}=require("http");var GET_OR_HEAD=["GET","HEAD"];var resolveObjectURL;var ReadableStream2=globalThis.ReadableStream;var Fetch=class extends EE{constructor(dispatcher){super();this.dispatcher=dispatcher;this.connection=null;this.dump=false;this.state="ongoing";this.setMaxListeners(21)}terminate(reason){var _a12;if(this.state!=="ongoing"){return}this.state="terminated";(_a12=this.connection)==null?void 0:_a12.destroy(reason);this.emit("terminated",reason)}abort(error){var _a12;if(this.state!=="ongoing"){return}this.state="aborted";if(!error){error=new DOMException2("The operation was aborted.","AbortError")}this.serializedAbortReason=error;(_a12=this.connection)==null?void 0:_a12.destroy(error);this.emit("terminated",error)}};function fetch(input,init2={}){var _a12;webidl.argumentLengthCheck(arguments,1,{header:"globalThis.fetch"});const p=createDeferredPromise();let requestObject;try{requestObject=new Request2(input,init2)}catch(e){p.reject(e);return p.promise}const request=requestObject[kState];if(requestObject.signal.aborted){abortFetch(p,request,null,requestObject.signal.reason);return p.promise}const globalObject=request.client.globalObject;if(((_a12=globalObject==null?void 0:globalObject.constructor)==null?void 0:_a12.name)==="ServiceWorkerGlobalScope"){request.serviceWorkers="none"}let responseObject=null;const relevantRealm=null;let locallyAborted=false;let controller=null;addAbortListener(requestObject.signal,()=>{locallyAborted=true;assert2(controller!=null);controller.abort(requestObject.signal.reason);abortFetch(p,request,responseObject,requestObject.signal.reason)});const handleFetchDone=response=>finalizeAndReportTiming(response,"fetch");const processResponse=response=>{if(locallyAborted){return Promise.resolve()}if(response.aborted){abortFetch(p,request,responseObject,controller.serializedAbortReason);return Promise.resolve()}if(response.type==="error"){p.reject(Object.assign(new TypeError("fetch failed"),{cause:response.error}));return Promise.resolve()}responseObject=new Response2;responseObject[kState]=response;responseObject[kRealm]=relevantRealm;responseObject[kHeaders][kHeadersList]=response.headersList;responseObject[kHeaders][kGuard]="immutable";responseObject[kHeaders][kRealm]=relevantRealm;p.resolve(responseObject)};controller=fetching({request,processResponseEndOfBody:handleFetchDone,processResponse,dispatcher:init2.dispatcher??getGlobalDispatcher()});return p.promise}function finalizeAndReportTiming(response,initiatorType="other"){var _a12;if(response.type==="error"&&response.aborted){return}if(!((_a12=response.urlList)==null?void 0:_a12.length)){return}const originalURL=response.urlList[0];let timingInfo=response.timingInfo;let cacheState=response.cacheState;if(!urlIsHttpHttpsScheme(originalURL)){return}if(timingInfo===null){return}if(!response.timingAllowPassed){timingInfo=createOpaqueTimingInfo({startTime:timingInfo.startTime});cacheState=""}timingInfo.endTime=coarsenedSharedCurrentTime();response.timingInfo=timingInfo;markResourceTiming(timingInfo,originalURL,initiatorType,globalThis,cacheState)}function markResourceTiming(timingInfo,originalURL,initiatorType,globalThis2,cacheState){if(nodeMajor>18||nodeMajor===18&&nodeMinor>=2){performance.markResourceTiming(timingInfo,originalURL.href,initiatorType,globalThis2,cacheState)}}function abortFetch(p,request,responseObject,error){var _a12,_b2;if(!error){error=new DOMException2("The operation was aborted.","AbortError")}p.reject(error);if(request.body!=null&&isReadable((_a12=request.body)==null?void 0:_a12.stream)){request.body.stream.cancel(error).catch(err=>{if(err.code==="ERR_INVALID_STATE"){return}throw err})}if(responseObject==null){return}const response=responseObject[kState];if(response.body!=null&&isReadable((_b2=response.body)==null?void 0:_b2.stream)){response.body.stream.cancel(error).catch(err=>{if(err.code==="ERR_INVALID_STATE"){return}throw err})}}function fetching({request,processRequestBodyChunkLength,processRequestEndOfBody,processResponse,processResponseEndOfBody,processResponseConsumeBody,useParallelQueue=false,dispatcher}){var _a12,_b2,_c,_d;let taskDestination=null;let crossOriginIsolatedCapability=false;if(request.client!=null){taskDestination=request.client.globalObject;crossOriginIsolatedCapability=request.client.crossOriginIsolatedCapability}const currenTime=coarsenedSharedCurrentTime(crossOriginIsolatedCapability);const timingInfo=createOpaqueTimingInfo({startTime:currenTime});const fetchParams={controller:new Fetch(dispatcher),request,timingInfo,processRequestBodyChunkLength,processRequestEndOfBody,processResponse,processResponseConsumeBody,processResponseEndOfBody,taskDestination,crossOriginIsolatedCapability};assert2(!request.body||request.body.stream);if(request.window==="client"){request.window=((_c=(_b2=(_a12=request.client)==null?void 0:_a12.globalObject)==null?void 0:_b2.constructor)==null?void 0:_c.name)==="Window"?request.client:"no-window"}if(request.origin==="client"){request.origin=(_d=request.client)==null?void 0:_d.origin}if(request.policyContainer==="client"){if(request.client!=null){request.policyContainer=clonePolicyContainer(request.client.policyContainer)}else{request.policyContainer=makePolicyContainer()}}if(!request.headersList.contains("accept")){const value="*/*";request.headersList.append("accept",value)}if(!request.headersList.contains("accept-language")){request.headersList.append("accept-language","*")}if(request.priority===null){}if(subresourceSet.has(request.destination)){}mainFetch(fetchParams).catch(err=>{fetchParams.controller.terminate(err)});return fetchParams.controller}async function mainFetch(fetchParams,recursive=false){const request=fetchParams.request;let response=null;if(request.localURLsOnly&&!urlIsLocal(requestCurrentURL(request))){response=makeNetworkError("local URLs only")}tryUpgradeRequestToAPotentiallyTrustworthyURL(request);if(requestBadPort(request)==="blocked"){response=makeNetworkError("bad port")}if(request.referrerPolicy===""){request.referrerPolicy=request.policyContainer.referrerPolicy}if(request.referrer!=="no-referrer"){request.referrer=determineRequestsReferrer(request)}if(response===null){response=await(async()=>{const currentURL=requestCurrentURL(request);if(sameOrigin(currentURL,request.url)&&request.responseTainting==="basic"||currentURL.protocol==="data:"||(request.mode==="navigate"||request.mode==="websocket")){request.responseTainting="basic";return await schemeFetch(fetchParams)}if(request.mode==="same-origin"){return makeNetworkError('request mode cannot be "same-origin"')}if(request.mode==="no-cors"){if(request.redirect!=="follow"){return makeNetworkError('redirect mode cannot be "follow" for "no-cors" request')}request.responseTainting="opaque";return await schemeFetch(fetchParams)}if(!urlIsHttpHttpsScheme(requestCurrentURL(request))){return makeNetworkError("URL scheme must be a HTTP(S) scheme")}request.responseTainting="cors";return await httpFetch(fetchParams)})()}if(recursive){return response}if(response.status!==0&&!response.internalResponse){if(request.responseTainting==="cors"){}if(request.responseTainting==="basic"){response=filterResponse(response,"basic")}else if(request.responseTainting==="cors"){response=filterResponse(response,"cors")}else if(request.responseTainting==="opaque"){response=filterResponse(response,"opaque")}else{assert2(false)}}let internalResponse=response.status===0?response:response.internalResponse;if(internalResponse.urlList.length===0){internalResponse.urlList.push(...request.urlList)}if(!request.timingAllowFailed){response.timingAllowPassed=true}if(response.type==="opaque"&&internalResponse.status===206&&internalResponse.rangeRequested&&!request.headers.contains("range")){response=internalResponse=makeNetworkError()}if(response.status!==0&&(request.method==="HEAD"||request.method==="CONNECT"||nullBodyStatus.includes(internalResponse.status))){internalResponse.body=null;fetchParams.controller.dump=true}if(request.integrity){const processBodyError=reason=>fetchFinale(fetchParams,makeNetworkError(reason));if(request.responseTainting==="opaque"||response.body==null){processBodyError(response.error);return}const processBody=bytes9=>{if(!bytesMatch(bytes9,request.integrity)){processBodyError("integrity mismatch");return}response.body=safelyExtractBody(bytes9)[0];fetchFinale(fetchParams,response)};await fullyReadBody(response.body,processBody,processBodyError)}else{fetchFinale(fetchParams,response)}}function schemeFetch(fetchParams){if(isCancelled(fetchParams)&&fetchParams.request.redirectCount===0){return Promise.resolve(makeAppropriateNetworkError(fetchParams))}const{request}=fetchParams;const{protocol:scheme}=requestCurrentURL(request);switch(scheme){case"about:":{return Promise.resolve(makeNetworkError("about scheme is not supported"))}case"blob:":{if(!resolveObjectURL){resolveObjectURL=require("buffer").resolveObjectURL}const blobURLEntry=requestCurrentURL(request);if(blobURLEntry.search.length!==0){return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."))}const blobURLEntryObject=resolveObjectURL(blobURLEntry.toString());if(request.method!=="GET"||!isBlobLike(blobURLEntryObject)){return Promise.resolve(makeNetworkError("invalid method"))}const bodyWithType=safelyExtractBody(blobURLEntryObject);const body=bodyWithType[0];const length=isomorphicEncode(`${body.length}`);const type2=bodyWithType[1]??"";const response=makeResponse({statusText:"OK",headersList:[["content-length",{name:"Content-Length",value:length}],["content-type",{name:"Content-Type",value:type2}]]});response.body=body;return Promise.resolve(response)}case"data:":{const currentURL=requestCurrentURL(request);const dataURLStruct=dataURLProcessor(currentURL);if(dataURLStruct==="failure"){return Promise.resolve(makeNetworkError("failed to fetch the data URL"))}const mimeType=serializeAMimeType(dataURLStruct.mimeType);return Promise.resolve(makeResponse({statusText:"OK",headersList:[["content-type",{name:"Content-Type",value:mimeType}]],body:safelyExtractBody(dataURLStruct.body)[0]}))}case"file:":{return Promise.resolve(makeNetworkError("not implemented... yet..."))}case"http:":case"https:":{return httpFetch(fetchParams).catch(err=>makeNetworkError(err))}default:{return Promise.resolve(makeNetworkError("unknown scheme"))}}}function finalizeResponse(fetchParams,response){fetchParams.request.done=true;if(fetchParams.processResponseDone!=null){queueMicrotask(()=>fetchParams.processResponseDone(response))}}function fetchFinale(fetchParams,response){if(response.type==="error"){response.urlList=[fetchParams.request.urlList[0]];response.timingInfo=createOpaqueTimingInfo({startTime:fetchParams.timingInfo.startTime})}const processResponseEndOfBody=()=>{fetchParams.request.done=true;if(fetchParams.processResponseEndOfBody!=null){queueMicrotask(()=>fetchParams.processResponseEndOfBody(response))}};if(fetchParams.processResponse!=null){queueMicrotask(()=>fetchParams.processResponse(response))}if(response.body==null){processResponseEndOfBody()}else{const identityTransformAlgorithm=(chunk2,controller)=>{controller.enqueue(chunk2)};const transformStream=new TransformStream2({start(){},transform:identityTransformAlgorithm,flush:processResponseEndOfBody},{size(){return 1}},{size(){return 1}});response.body={stream:response.body.stream.pipeThrough(transformStream)}}if(fetchParams.processResponseConsumeBody!=null){const processBody=nullOrBytes=>fetchParams.processResponseConsumeBody(response,nullOrBytes);const processBodyError=failure=>fetchParams.processResponseConsumeBody(response,failure);if(response.body==null){queueMicrotask(()=>processBody(null))}else{return fullyReadBody(response.body,processBody,processBodyError)}return Promise.resolve()}}async function httpFetch(fetchParams){const request=fetchParams.request;let response=null;let actualResponse=null;const timingInfo=fetchParams.timingInfo;if(request.serviceWorkers==="all"){}if(response===null){if(request.redirect==="follow"){request.serviceWorkers="none"}actualResponse=response=await httpNetworkOrCacheFetch(fetchParams);if(request.responseTainting==="cors"&&corsCheck(request,response)==="failure"){return makeNetworkError("cors failure")}if(TAOCheck(request,response)==="failure"){request.timingAllowFailed=true}}if((request.responseTainting==="opaque"||response.type==="opaque")&&crossOriginResourcePolicyCheck(request.origin,request.client,request.destination,actualResponse)==="blocked"){return makeNetworkError("blocked")}if(redirectStatusSet.has(actualResponse.status)){if(request.redirect!=="manual"){fetchParams.controller.connection.destroy()}if(request.redirect==="error"){response=makeNetworkError("unexpected redirect")}else if(request.redirect==="manual"){response=actualResponse}else if(request.redirect==="follow"){response=await httpRedirectFetch(fetchParams,response)}else{assert2(false)}}response.timingInfo=timingInfo;return response}function httpRedirectFetch(fetchParams,response){const request=fetchParams.request;const actualResponse=response.internalResponse?response.internalResponse:response;let locationURL;try{locationURL=responseLocationURL(actualResponse,requestCurrentURL(request).hash);if(locationURL==null){return response}}catch(err){return Promise.resolve(makeNetworkError(err))}if(!urlIsHttpHttpsScheme(locationURL)){return Promise.resolve(makeNetworkError("URL scheme must be a HTTP(S) scheme"))}if(request.redirectCount===20){return Promise.resolve(makeNetworkError("redirect count exceeded"))}request.redirectCount+=1;if(request.mode==="cors"&&(locationURL.username||locationURL.password)&&!sameOrigin(request,locationURL)){return Promise.resolve(makeNetworkError('cross origin not allowed for request mode "cors"'))}if(request.responseTainting==="cors"&&(locationURL.username||locationURL.password)){return Promise.resolve(makeNetworkError('URL cannot contain credentials for request mode "cors"'))}if(actualResponse.status!==303&&request.body!=null&&request.body.source==null){return Promise.resolve(makeNetworkError())}if([301,302].includes(actualResponse.status)&&request.method==="POST"||actualResponse.status===303&&!GET_OR_HEAD.includes(request.method)){request.method="GET";request.body=null;for(const headerName of requestBodyHeader){request.headersList.delete(headerName)}}if(!sameOrigin(requestCurrentURL(request),locationURL)){request.headersList.delete("authorization");request.headersList.delete("proxy-authorization",true);request.headersList.delete("cookie");request.headersList.delete("host")}if(request.body!=null){assert2(request.body.source!=null);request.body=safelyExtractBody(request.body.source)[0]}const timingInfo=fetchParams.timingInfo;timingInfo.redirectEndTime=timingInfo.postRedirectStartTime=coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);if(timingInfo.redirectStartTime===0){timingInfo.redirectStartTime=timingInfo.startTime}request.urlList.push(locationURL);setRequestReferrerPolicyOnRedirect(request,actualResponse);return mainFetch(fetchParams,true)}async function httpNetworkOrCacheFetch(fetchParams,isAuthenticationFetch=false,isNewConnectionFetch=false){const request=fetchParams.request;let httpFetchParams=null;let httpRequest=null;let response=null;const httpCache=null;const revalidatingFlag=false;if(request.window==="no-window"&&request.redirect==="error"){httpFetchParams=fetchParams;httpRequest=request}else{httpRequest=makeRequest(request);httpFetchParams={...fetchParams};httpFetchParams.request=httpRequest}const includeCredentials=request.credentials==="include"||request.credentials==="same-origin"&&request.responseTainting==="basic";const contentLength=httpRequest.body?httpRequest.body.length:null;let contentLengthHeaderValue=null;if(httpRequest.body==null&&["POST","PUT"].includes(httpRequest.method)){contentLengthHeaderValue="0"}if(contentLength!=null){contentLengthHeaderValue=isomorphicEncode(`${contentLength}`)}if(contentLengthHeaderValue!=null){httpRequest.headersList.append("content-length",contentLengthHeaderValue)}if(contentLength!=null&&httpRequest.keepalive){}if(httpRequest.referrer instanceof URL){httpRequest.headersList.append("referer",isomorphicEncode(httpRequest.referrer.href))}appendRequestOriginHeader(httpRequest);appendFetchMetadata(httpRequest);if(!httpRequest.headersList.contains("user-agent")){httpRequest.headersList.append("user-agent",typeof esbuildDetection==="undefined"?"undici":"node")}if(httpRequest.cache==="default"&&(httpRequest.headersList.contains("if-modified-since")||httpRequest.headersList.contains("if-none-match")||httpRequest.headersList.contains("if-unmodified-since")||httpRequest.headersList.contains("if-match")||httpRequest.headersList.contains("if-range"))){httpRequest.cache="no-store"}if(httpRequest.cache==="no-cache"&&!httpRequest.preventNoCacheCacheControlHeaderModification&&!httpRequest.headersList.contains("cache-control")){httpRequest.headersList.append("cache-control","max-age=0")}if(httpRequest.cache==="no-store"||httpRequest.cache==="reload"){if(!httpRequest.headersList.contains("pragma")){httpRequest.headersList.append("pragma","no-cache")}if(!httpRequest.headersList.contains("cache-control")){httpRequest.headersList.append("cache-control","no-cache")}}if(httpRequest.headersList.contains("range")){httpRequest.headersList.append("accept-encoding","identity")}if(!httpRequest.headersList.contains("accept-encoding")){if(urlHasHttpsScheme(requestCurrentURL(httpRequest))){httpRequest.headersList.append("accept-encoding","br, gzip, deflate")}else{httpRequest.headersList.append("accept-encoding","gzip, deflate")}}httpRequest.headersList.delete("host");if(includeCredentials){}if(httpCache==null){httpRequest.cache="no-store"}if(httpRequest.mode!=="no-store"&&httpRequest.mode!=="reload"){}if(response==null){if(httpRequest.mode==="only-if-cached"){return makeNetworkError("only if cached")}const forwardResponse=await httpNetworkFetch(httpFetchParams,includeCredentials,isNewConnectionFetch);if(!safeMethodsSet.has(httpRequest.method)&&forwardResponse.status>=200&&forwardResponse.status<=399){}if(revalidatingFlag&&forwardResponse.status===304){}if(response==null){response=forwardResponse}}response.urlList=[...httpRequest.urlList];if(httpRequest.headersList.contains("range")){response.rangeRequested=true}response.requestIncludesCredentials=includeCredentials;if(response.status===407){if(request.window==="no-window"){return makeNetworkError()}if(isCancelled(fetchParams)){return makeAppropriateNetworkError(fetchParams)}return makeNetworkError("proxy authentication required")}if(response.status===421&&!isNewConnectionFetch&&(request.body==null||request.body.source!=null)){if(isCancelled(fetchParams)){return makeAppropriateNetworkError(fetchParams)}fetchParams.controller.connection.destroy();response=await httpNetworkOrCacheFetch(fetchParams,isAuthenticationFetch,true)}if(isAuthenticationFetch){}return response}async function httpNetworkFetch(fetchParams,includeCredentials=false,forceNewConnection=false){assert2(!fetchParams.controller.connection||fetchParams.controller.connection.destroyed);fetchParams.controller.connection={abort:null,destroyed:false,destroy(err){var _a12;if(!this.destroyed){this.destroyed=true;(_a12=this.abort)==null?void 0:_a12.call(this,err??new DOMException2("The operation was aborted.","AbortError"))}}};const request=fetchParams.request;let response=null;const timingInfo=fetchParams.timingInfo;const httpCache=null;if(httpCache==null){request.cache="no-store"}const newConnection=forceNewConnection?"yes":"no";if(request.mode==="websocket"){}else{}let requestBody=null;if(request.body==null&&fetchParams.processRequestEndOfBody){queueMicrotask(()=>fetchParams.processRequestEndOfBody())}else if(request.body!=null){const processBodyChunk=async function*(bytes9){var _a12;if(isCancelled(fetchParams)){return}yield bytes9;(_a12=fetchParams.processRequestBodyChunkLength)==null?void 0:_a12.call(fetchParams,bytes9.byteLength)};const processEndOfBody=()=>{if(isCancelled(fetchParams)){return}if(fetchParams.processRequestEndOfBody){fetchParams.processRequestEndOfBody()}};const processBodyError=e=>{if(isCancelled(fetchParams)){return}if(e.name==="AbortError"){fetchParams.controller.abort()}else{fetchParams.controller.terminate(e)}};requestBody=async function*(){try{for await(const bytes9 of request.body.stream){yield*processBodyChunk(bytes9)}processEndOfBody()}catch(err){processBodyError(err)}}()}try{const{body,status,statusText,headersList,socket}=await dispatch({body:requestBody});if(socket){response=makeResponse({status,statusText,headersList,socket})}else{const iterator=body[Symbol.asyncIterator]();fetchParams.controller.next=()=>iterator.next();response=makeResponse({status,statusText,headersList})}}catch(err){if(err.name==="AbortError"){fetchParams.controller.connection.destroy();return makeAppropriateNetworkError(fetchParams,err)}return makeNetworkError(err)}const pullAlgorithm=()=>{fetchParams.controller.resume()};const cancelAlgorithm=reason=>{fetchParams.controller.abort(reason)};if(!ReadableStream2){ReadableStream2=require("stream/web").ReadableStream}const stream3=new ReadableStream2({async start(controller){fetchParams.controller.controller=controller},async pull(controller){await pullAlgorithm(controller)},async cancel(reason){await cancelAlgorithm(reason)}},{highWaterMark:0,size(){return 1}});response.body={stream:stream3};fetchParams.controller.on("terminated",onAborted);fetchParams.controller.resume=async()=>{while(true){let bytes9;let isFailure;try{const{done,value}=await fetchParams.controller.next();if(isAborted2(fetchParams)){break}bytes9=done?void 0:value}catch(err){if(fetchParams.controller.ended&&!timingInfo.encodedBodySize){bytes9=void 0}else{bytes9=err;isFailure=true}}if(bytes9===void 0){readableStreamClose(fetchParams.controller.controller);finalizeResponse(fetchParams,response);return}timingInfo.decodedBodySize+=(bytes9==null?void 0:bytes9.byteLength)??0;if(isFailure){fetchParams.controller.terminate(bytes9);return}fetchParams.controller.controller.enqueue(new Uint8Array(bytes9));if(isErrored(stream3)){fetchParams.controller.terminate();return}if(!fetchParams.controller.controller.desiredSize){return}}};function onAborted(reason){if(isAborted2(fetchParams)){response.aborted=true;if(isReadable(stream3)){fetchParams.controller.controller.error(fetchParams.controller.serializedAbortReason)}}else{if(isReadable(stream3)){fetchParams.controller.controller.error(new TypeError("terminated",{cause:isErrorLike(reason)?reason:void 0}))}}fetchParams.controller.connection.destroy()}return response;async function dispatch({body}){const url=requestCurrentURL(request);const agent=fetchParams.controller.dispatcher;return new Promise((resolve,reject2)=>agent.dispatch({path:url.pathname+url.search,origin:url.origin,method:request.method,body:fetchParams.controller.dispatcher.isMockActive?request.body&&(request.body.source||request.body.stream):body,headers:request.headersList.entries,maxRedirections:0,upgrade:request.mode==="websocket"?"websocket":void 0},{body:null,abort:null,onConnect(abort){const{connection}=fetchParams.controller;if(connection.destroyed){abort(new DOMException2("The operation was aborted.","AbortError"))}else{fetchParams.controller.on("terminated",abort);this.abort=connection.abort=abort}},onHeaders(status,headersList,resume,statusText){if(status<200){return}let codings=[];let location="";const headers=new Headers;if(Array.isArray(headersList)){for(let n=0;n<headersList.length;n+=2){const key=headersList[n+0].toString("latin1");const val=headersList[n+1].toString("latin1");if(key.toLowerCase()==="content-encoding"){codings=val.toLowerCase().split(",").map(x=>x.trim())}else if(key.toLowerCase()==="location"){location=val}headers[kHeadersList].append(key,val)}}else{const keys2=Object.keys(headersList);for(const key of keys2){const val=headersList[key];if(key.toLowerCase()==="content-encoding"){codings=val.toLowerCase().split(",").map(x=>x.trim()).reverse()}else if(key.toLowerCase()==="location"){location=val}headers[kHeadersList].append(key,val)}}this.body=new Readable2({read:resume});const decoders=[];const willFollow=request.redirect==="follow"&&location&&redirectStatusSet.has(status);if(request.method!=="HEAD"&&request.method!=="CONNECT"&&!nullBodyStatus.includes(status)&&!willFollow){for(const coding of codings){if(coding==="x-gzip"||coding==="gzip"){decoders.push(zlib2.createGunzip({flush:zlib2.constants.Z_SYNC_FLUSH,finishFlush:zlib2.constants.Z_SYNC_FLUSH}))}else if(coding==="deflate"){decoders.push(zlib2.createInflate())}else if(coding==="br"){decoders.push(zlib2.createBrotliDecompress())}else{decoders.length=0;break}}}resolve({status,statusText,headersList:headers[kHeadersList],body:decoders.length?pipeline(this.body,...decoders,()=>{}):this.body.on("error",()=>{})});return true},onData(chunk2){if(fetchParams.controller.dump){return}const bytes9=chunk2;timingInfo.encodedBodySize+=bytes9.byteLength;return this.body.push(bytes9)},onComplete(){if(this.abort){fetchParams.controller.off("terminated",this.abort)}fetchParams.controller.ended=true;this.body.push(null)},onError(error){var _a12;if(this.abort){fetchParams.controller.off("terminated",this.abort)}(_a12=this.body)==null?void 0:_a12.destroy(error);fetchParams.controller.terminate(error);reject2(error)},onUpgrade(status,headersList,socket){if(status!==101){return}const headers=new Headers;for(let n=0;n<headersList.length;n+=2){const key=headersList[n+0].toString("latin1");const val=headersList[n+1].toString("latin1");headers[kHeadersList].append(key,val)}resolve({status,statusText:STATUS_CODES[status],headersList:headers[kHeadersList],socket});return true}}))}}module2.exports={fetch,Fetch,fetching,finalizeAndReportTiming}}});var require_symbols3=__commonJS({"node_modules/undici/lib/fileapi/symbols.js"(exports2,module2){"use strict";module2.exports={kState:Symbol("FileReader state"),kResult:Symbol("FileReader result"),kError:Symbol("FileReader error"),kLastProgressEventFired:Symbol("FileReader last progress event fired timestamp"),kEvents:Symbol("FileReader events"),kAborted:Symbol("FileReader aborted")}}});var require_progressevent=__commonJS({"node_modules/undici/lib/fileapi/progressevent.js"(exports2,module2){"use strict";var{webidl}=require_webidl();var kState=Symbol("ProgressEvent state");var ProgressEvent=class _ProgressEvent extends Event{constructor(type2,eventInitDict={}){type2=webidl.converters.DOMString(type2);eventInitDict=webidl.converters.ProgressEventInit(eventInitDict??{});super(type2,eventInitDict);this[kState]={lengthComputable:eventInitDict.lengthComputable,loaded:eventInitDict.loaded,total:eventInitDict.total}}get lengthComputable(){webidl.brandCheck(this,_ProgressEvent);return this[kState].lengthComputable}get loaded(){webidl.brandCheck(this,_ProgressEvent);return this[kState].loaded}get total(){webidl.brandCheck(this,_ProgressEvent);return this[kState].total}};webidl.converters.ProgressEventInit=webidl.dictionaryConverter([{key:"lengthComputable",converter:webidl.converters.boolean,defaultValue:false},{key:"loaded",converter:webidl.converters["unsigned long long"],defaultValue:0},{key:"total",converter:webidl.converters["unsigned long long"],defaultValue:0},{key:"bubbles",converter:webidl.converters.boolean,defaultValue:false},{key:"cancelable",converter:webidl.converters.boolean,defaultValue:false},{key:"composed",converter:webidl.converters.boolean,defaultValue:false}]);module2.exports={ProgressEvent}}});var require_encoding=__commonJS({"node_modules/undici/lib/fileapi/encoding.js"(exports2,module2){"use strict";function getEncoding(label){if(!label){return"failure"}switch(label.trim().toLowerCase()){case"unicode-1-1-utf-8":case"unicode11utf8":case"unicode20utf8":case"utf-8":case"utf8":case"x-unicode20utf8":return"UTF-8";case"866":case"cp866":case"csibm866":case"ibm866":return"IBM866";case"csisolatin2":case"iso-8859-2":case"iso-ir-101":case"iso8859-2":case"iso88592":case"iso_8859-2":case"iso_8859-2:1987":case"l2":case"latin2":return"ISO-8859-2";case"csisolatin3":case"iso-8859-3":case"iso-ir-109":case"iso8859-3":case"iso88593":case"iso_8859-3":case"iso_8859-3:1988":case"l3":case"latin3":return"ISO-8859-3";case"csisolatin4":case"iso-8859-4":case"iso-ir-110":case"iso8859-4":case"iso88594":case"iso_8859-4":case"iso_8859-4:1988":case"l4":case"latin4":return"ISO-8859-4";case"csisolatincyrillic":case"cyrillic":case"iso-8859-5":case"iso-ir-144":case"iso8859-5":case"iso88595":case"iso_8859-5":case"iso_8859-5:1988":return"ISO-8859-5";case"arabic":case"asmo-708":case"csiso88596e":case"csiso88596i":case"csisolatinarabic":case"ecma-114":case"iso-8859-6":case"iso-8859-6-e":case"iso-8859-6-i":case"iso-ir-127":case"iso8859-6":case"iso88596":case"iso_8859-6":case"iso_8859-6:1987":return"ISO-8859-6";case"csisolatingreek":case"ecma-118":case"elot_928":case"greek":case"greek8":case"iso-8859-7":case"iso-ir-126":case"iso8859-7":case"iso88597":case"iso_8859-7":case"iso_8859-7:1987":case"sun_eu_greek":return"ISO-8859-7";case"csiso88598e":case"csisolatinhebrew":case"hebrew":case"iso-8859-8":case"iso-8859-8-e":case"iso-ir-138":case"iso8859-8":case"iso88598":case"iso_8859-8":case"iso_8859-8:1988":case"visual":return"ISO-8859-8";case"csiso88598i":case"iso-8859-8-i":case"logical":return"ISO-8859-8-I";case"csisolatin6":case"iso-8859-10":case"iso-ir-157":case"iso8859-10":case"iso885910":case"l6":case"latin6":return"ISO-8859-10";case"iso-8859-13":case"iso8859-13":case"iso885913":return"ISO-8859-13";case"iso-8859-14":case"iso8859-14":case"iso885914":return"ISO-8859-14";case"csisolatin9":case"iso-8859-15":case"iso8859-15":case"iso885915":case"iso_8859-15":case"l9":return"ISO-8859-15";case"iso-8859-16":return"ISO-8859-16";case"cskoi8r":case"koi":case"koi8":case"koi8-r":case"koi8_r":return"KOI8-R";case"koi8-ru":case"koi8-u":return"KOI8-U";case"csmacintosh":case"mac":case"macintosh":case"x-mac-roman":return"macintosh";case"iso-8859-11":case"iso8859-11":case"iso885911":case"tis-620":case"windows-874":return"windows-874";case"cp1250":case"windows-1250":case"x-cp1250":return"windows-1250";case"cp1251":case"windows-1251":case"x-cp1251":return"windows-1251";case"ansi_x3.4-1968":case"ascii":case"cp1252":case"cp819":case"csisolatin1":case"ibm819":case"iso-8859-1":case"iso-ir-100":case"iso8859-1":case"iso88591":case"iso_8859-1":case"iso_8859-1:1987":case"l1":case"latin1":case"us-ascii":case"windows-1252":case"x-cp1252":return"windows-1252";case"cp1253":case"windows-1253":case"x-cp1253":return"windows-1253";case"cp1254":case"csisolatin5":case"iso-8859-9":case"iso-ir-148":case"iso8859-9":case"iso88599":case"iso_8859-9":case"iso_8859-9:1989":case"l5":case"latin5":case"windows-1254":case"x-cp1254":return"windows-1254";case"cp1255":case"windows-1255":case"x-cp1255":return"windows-1255";case"cp1256":case"windows-1256":case"x-cp1256":return"windows-1256";case"cp1257":case"windows-1257":case"x-cp1257":return"windows-1257";case"cp1258":case"windows-1258":case"x-cp1258":return"windows-1258";case"x-mac-cyrillic":case"x-mac-ukrainian":return"x-mac-cyrillic";case"chinese":case"csgb2312":case"csiso58gb231280":case"gb2312":case"gb_2312":case"gb_2312-80":case"gbk":case"iso-ir-58":case"x-gbk":return"GBK";case"gb18030":return"gb18030";case"big5":case"big5-hkscs":case"cn-big5":case"csbig5":case"x-x-big5":return"Big5";case"cseucpkdfmtjapanese":case"euc-jp":case"x-euc-jp":return"EUC-JP";case"csiso2022jp":case"iso-2022-jp":return"ISO-2022-JP";case"csshiftjis":case"ms932":case"ms_kanji":case"shift-jis":case"shift_jis":case"sjis":case"windows-31j":case"x-sjis":return"Shift_JIS";case"cseuckr":case"csksc56011987":case"euc-kr":case"iso-ir-149":case"korean":case"ks_c_5601-1987":case"ks_c_5601-1989":case"ksc5601":case"ksc_5601":case"windows-949":return"EUC-KR";case"csiso2022kr":case"hz-gb-2312":case"iso-2022-cn":case"iso-2022-cn-ext":case"iso-2022-kr":case"replacement":return"replacement";case"unicodefffe":case"utf-16be":return"UTF-16BE";case"csunicode":case"iso-10646-ucs-2":case"ucs-2":case"unicode":case"unicodefeff":case"utf-16":case"utf-16le":return"UTF-16LE";case"x-user-defined":return"x-user-defined";default:return"failure"}}module2.exports={getEncoding}}});var require_util6=__commonJS({"node_modules/undici/lib/fileapi/util.js"(exports2,module2){"use strict";var{kState,kError,kResult,kAborted,kLastProgressEventFired}=require_symbols3();var{ProgressEvent}=require_progressevent();var{getEncoding}=require_encoding();var{DOMException:DOMException2}=require_constants2();var{serializeAMimeType,parseMIMEType}=require_dataURL();var{types:types6}=require("util");var{StringDecoder}=require("string_decoder");var{btoa:btoa2}=require("buffer");var staticPropertyDescriptors={enumerable:true,writable:false,configurable:false};function readOperation(fr,blob,type2,encodingName){if(fr[kState]==="loading"){throw new DOMException2("Invalid state","InvalidStateError")}fr[kState]="loading";fr[kResult]=null;fr[kError]=null;const stream3=blob.stream();const reader=stream3.getReader();const bytes9=[];let chunkPromise=reader.read();let isFirstChunk=true;(async()=>{while(!fr[kAborted]){try{const{done,value}=await chunkPromise;if(isFirstChunk&&!fr[kAborted]){queueMicrotask(()=>{fireAProgressEvent("loadstart",fr)})}isFirstChunk=false;if(!done&&types6.isUint8Array(value)){bytes9.push(value);if((fr[kLastProgressEventFired]===void 0||Date.now()-fr[kLastProgressEventFired]>=50)&&!fr[kAborted]){fr[kLastProgressEventFired]=Date.now();queueMicrotask(()=>{fireAProgressEvent("progress",fr)})}chunkPromise=reader.read()}else if(done){queueMicrotask(()=>{fr[kState]="done";try{const result2=packageData(bytes9,type2,blob.type,encodingName);if(fr[kAborted]){return}fr[kResult]=result2;fireAProgressEvent("load",fr)}catch(error){fr[kError]=error;fireAProgressEvent("error",fr)}if(fr[kState]!=="loading"){fireAProgressEvent("loadend",fr)}});break}}catch(error){if(fr[kAborted]){return}queueMicrotask(()=>{fr[kState]="done";fr[kError]=error;fireAProgressEvent("error",fr);if(fr[kState]!=="loading"){fireAProgressEvent("loadend",fr)}});break}}})()}function fireAProgressEvent(e,reader){const event=new ProgressEvent(e,{bubbles:false,cancelable:false});reader.dispatchEvent(event)}function packageData(bytes9,type2,mimeType,encodingName){switch(type2){case"DataURL":{let dataURL="data:";const parsed=parseMIMEType(mimeType||"application/octet-stream");if(parsed!=="failure"){dataURL+=serializeAMimeType(parsed)}dataURL+=";base64,";const decoder2=new StringDecoder("latin1");for(const chunk2 of bytes9){dataURL+=btoa2(decoder2.write(chunk2))}dataURL+=btoa2(decoder2.end());return dataURL}case"Text":{let encoding="failure";if(encodingName){encoding=getEncoding(encodingName)}if(encoding==="failure"&&mimeType){const type3=parseMIMEType(mimeType);if(type3!=="failure"){encoding=getEncoding(type3.parameters.get("charset"))}}if(encoding==="failure"){encoding="UTF-8"}return decode(bytes9,encoding)}case"ArrayBuffer":{const sequence=combineByteSequences(bytes9);return sequence.buffer}case"BinaryString":{let binaryString="";const decoder2=new StringDecoder("latin1");for(const chunk2 of bytes9){binaryString+=decoder2.write(chunk2)}binaryString+=decoder2.end();return binaryString}}}function decode(ioQueue,encoding){const bytes9=combineByteSequences(ioQueue);const BOMEncoding=BOMSniffing(bytes9);let slice2=0;if(BOMEncoding!==null){encoding=BOMEncoding;slice2=BOMEncoding==="UTF-8"?3:2}const sliced=bytes9.slice(slice2);return new TextDecoder(encoding).decode(sliced)}function BOMSniffing(ioQueue){const[a,b,c]=ioQueue;if(a===239&&b===187&&c===191){return"UTF-8"}else if(a===254&&b===255){return"UTF-16BE"}else if(a===255&&b===254){return"UTF-16LE"}return null}function combineByteSequences(sequences){const size2=sequences.reduce((a,b)=>{return a+b.byteLength},0);let offset=0;return sequences.reduce((a,b)=>{a.set(b,offset);offset+=b.byteLength;return a},new Uint8Array(size2))}module2.exports={staticPropertyDescriptors,readOperation,fireAProgressEvent}}});var require_filereader=__commonJS({"node_modules/undici/lib/fileapi/filereader.js"(exports2,module2){"use strict";var{staticPropertyDescriptors,readOperation,fireAProgressEvent}=require_util6();var{kState,kError,kResult,kEvents,kAborted}=require_symbols3();var{webidl}=require_webidl();var{kEnumerableProperty}=require_util3();var FileReader=class _FileReader extends EventTarget{constructor(){super();this[kState]="empty";this[kResult]=null;this[kError]=null;this[kEvents]={loadend:null,error:null,abort:null,load:null,progress:null,loadstart:null}}readAsArrayBuffer(blob){webidl.brandCheck(this,_FileReader);webidl.argumentLengthCheck(arguments,1,{header:"FileReader.readAsArrayBuffer"});blob=webidl.converters.Blob(blob,{strict:false});readOperation(this,blob,"ArrayBuffer")}readAsBinaryString(blob){webidl.brandCheck(this,_FileReader);webidl.argumentLengthCheck(arguments,1,{header:"FileReader.readAsBinaryString"});blob=webidl.converters.Blob(blob,{strict:false});readOperation(this,blob,"BinaryString")}readAsText(blob,encoding=void 0){webidl.brandCheck(this,_FileReader);webidl.argumentLengthCheck(arguments,1,{header:"FileReader.readAsText"});blob=webidl.converters.Blob(blob,{strict:false});if(encoding!==void 0){encoding=webidl.converters.DOMString(encoding)}readOperation(this,blob,"Text",encoding)}readAsDataURL(blob){webidl.brandCheck(this,_FileReader);webidl.argumentLengthCheck(arguments,1,{header:"FileReader.readAsDataURL"});blob=webidl.converters.Blob(blob,{strict:false});readOperation(this,blob,"DataURL")}abort(){if(this[kState]==="empty"||this[kState]==="done"){this[kResult]=null;return}if(this[kState]==="loading"){this[kState]="done";this[kResult]=null}this[kAborted]=true;fireAProgressEvent("abort",this);if(this[kState]!=="loading"){fireAProgressEvent("loadend",this)}}get readyState(){webidl.brandCheck(this,_FileReader);switch(this[kState]){case"empty":return this.EMPTY;case"loading":return this.LOADING;case"done":return this.DONE}}get result(){webidl.brandCheck(this,_FileReader);return this[kResult]}get error(){webidl.brandCheck(this,_FileReader);return this[kError]}get onloadend(){webidl.brandCheck(this,_FileReader);return this[kEvents].loadend}set onloadend(fn2){webidl.brandCheck(this,_FileReader);if(this[kEvents].loadend){this.removeEventListener("loadend",this[kEvents].loadend)}if(typeof fn2==="function"){this[kEvents].loadend=fn2;this.addEventListener("loadend",fn2)}else{this[kEvents].loadend=null}}get onerror(){webidl.brandCheck(this,_FileReader);return this[kEvents].error}set onerror(fn2){webidl.brandCheck(this,_FileReader);if(this[kEvents].error){this.removeEventListener("error",this[kEvents].error)}if(typeof fn2==="function"){this[kEvents].error=fn2;this.addEventListener("error",fn2)}else{this[kEvents].error=null}}get onloadstart(){webidl.brandCheck(this,_FileReader);return this[kEvents].loadstart}set onloadstart(fn2){webidl.brandCheck(this,_FileReader);if(this[kEvents].loadstart){this.removeEventListener("loadstart",this[kEvents].loadstart)}if(typeof fn2==="function"){this[kEvents].loadstart=fn2;this.addEventListener("loadstart",fn2)}else{this[kEvents].loadstart=null}}get onprogress(){webidl.brandCheck(this,_FileReader);return this[kEvents].progress}set onprogress(fn2){webidl.brandCheck(this,_FileReader);if(this[kEvents].progress){this.removeEventListener("progress",this[kEvents].progress)}if(typeof fn2==="function"){this[kEvents].progress=fn2;this.addEventListener("progress",fn2)}else{this[kEvents].progress=null}}get onload(){webidl.brandCheck(this,_FileReader);return this[kEvents].load}set onload(fn2){webidl.brandCheck(this,_FileReader);if(this[kEvents].load){this.removeEventListener("load",this[kEvents].load)}if(typeof fn2==="function"){this[kEvents].load=fn2;this.addEventListener("load",fn2)}else{this[kEvents].load=null}}get onabort(){webidl.brandCheck(this,_FileReader);return this[kEvents].abort}set onabort(fn2){webidl.brandCheck(this,_FileReader);if(this[kEvents].abort){this.removeEventListener("abort",this[kEvents].abort)}if(typeof fn2==="function"){this[kEvents].abort=fn2;this.addEventListener("abort",fn2)}else{this[kEvents].abort=null}}};FileReader.EMPTY=FileReader.prototype.EMPTY=0;FileReader.LOADING=FileReader.prototype.LOADING=1;FileReader.DONE=FileReader.prototype.DONE=2;Object.defineProperties(FileReader.prototype,{EMPTY:staticPropertyDescriptors,LOADING:staticPropertyDescriptors,DONE:staticPropertyDescriptors,readAsArrayBuffer:kEnumerableProperty,readAsBinaryString:kEnumerableProperty,readAsText:kEnumerableProperty,readAsDataURL:kEnumerableProperty,abort:kEnumerableProperty,readyState:kEnumerableProperty,result:kEnumerableProperty,error:kEnumerableProperty,onloadstart:kEnumerableProperty,onprogress:kEnumerableProperty,onload:kEnumerableProperty,onabort:kEnumerableProperty,onerror:kEnumerableProperty,onloadend:kEnumerableProperty,[Symbol.toStringTag]:{value:"FileReader",writable:false,enumerable:false,configurable:true}});Object.defineProperties(FileReader,{EMPTY:staticPropertyDescriptors,LOADING:staticPropertyDescriptors,DONE:staticPropertyDescriptors});module2.exports={FileReader}}});var require_symbols4=__commonJS({"node_modules/undici/lib/cache/symbols.js"(exports2,module2){"use strict";module2.exports={kConstruct:require_symbols().kConstruct}}});var require_util7=__commonJS({"node_modules/undici/lib/cache/util.js"(exports2,module2){"use strict";var assert2=require("assert");var{URLSerializer}=require_dataURL();var{isValidHeaderName}=require_util4();function urlEquals(A,B,excludeFragment=false){const serializedA=URLSerializer(A,excludeFragment);const serializedB=URLSerializer(B,excludeFragment);return serializedA===serializedB}function fieldValues(header2){assert2(header2!==null);const values2=[];for(let value of header2.split(",")){value=value.trim();if(!value.length){continue}else if(!isValidHeaderName(value)){continue}values2.push(value)}return values2}module2.exports={urlEquals,fieldValues}}});var require_cache=__commonJS({"node_modules/undici/lib/cache/cache.js"(exports2,module2){"use strict";var{kConstruct}=require_symbols4();var{urlEquals,fieldValues:getFieldValues}=require_util7();var{kEnumerableProperty,isDisturbed}=require_util3();var{kHeadersList}=require_symbols();var{webidl}=require_webidl();var{Response:Response2,cloneResponse:cloneResponse2}=require_response();var{Request:Request2}=require_request3();var{kState,kHeaders,kGuard,kRealm}=require_symbols2();var{fetching}=require_fetch();var{urlIsHttpHttpsScheme,createDeferredPromise,readAllBytes}=require_util4();var assert2=require("assert");var{getGlobalDispatcher}=require_global2();var Cache=class _Cache{#relevantRequestResponseList;constructor(){if(arguments[0]!==kConstruct){webidl.illegalConstructor()}this.#relevantRequestResponseList=arguments[1]}async match(request,options={}){webidl.brandCheck(this,_Cache);webidl.argumentLengthCheck(arguments,1,{header:"Cache.match"});request=webidl.converters.RequestInfo(request);options=webidl.converters.CacheQueryOptions(options);const p=await this.matchAll(request,options);if(p.length===0){return}return p[0]}async matchAll(request=void 0,options={}){var _a12;webidl.brandCheck(this,_Cache);if(request!==void 0)request=webidl.converters.RequestInfo(request);options=webidl.converters.CacheQueryOptions(options);let r=null;if(request!==void 0){if(request instanceof Request2){r=request[kState];if(r.method!=="GET"&&!options.ignoreMethod){return[]}}else if(typeof request==="string"){r=new Request2(request)[kState]}}const responses=[];if(request===void 0){for(const requestResponse of this.#relevantRequestResponseList){responses.push(requestResponse[1])}}else{const requestResponses=this.#queryCache(r,options);for(const requestResponse of requestResponses){responses.push(requestResponse[1])}}const responseList=[];for(const response of responses){const responseObject=new Response2(((_a12=response.body)==null?void 0:_a12.source)??null);const body=responseObject[kState].body;responseObject[kState]=response;responseObject[kState].body=body;responseObject[kHeaders][kHeadersList]=response.headersList;responseObject[kHeaders][kGuard]="immutable";responseList.push(responseObject)}return Object.freeze(responseList)}async add(request){webidl.brandCheck(this,_Cache);webidl.argumentLengthCheck(arguments,1,{header:"Cache.add"});request=webidl.converters.RequestInfo(request);const requests=[request];const responseArrayPromise=this.addAll(requests);return await responseArrayPromise}async addAll(requests){webidl.brandCheck(this,_Cache);webidl.argumentLengthCheck(arguments,1,{header:"Cache.addAll"});requests=webidl.converters["sequence<RequestInfo>"](requests);const responsePromises=[];const requestList=[];for(const request of requests){if(typeof request==="string"){continue}const r=request[kState];if(!urlIsHttpHttpsScheme(r.url)||r.method!=="GET"){throw webidl.errors.exception({header:"Cache.addAll",message:"Expected http/s scheme when method is not GET."})}}const fetchControllers=[];for(const request of requests){const r=new Request2(request)[kState];if(!urlIsHttpHttpsScheme(r.url)){throw webidl.errors.exception({header:"Cache.addAll",message:"Expected http/s scheme."})}r.initiator="fetch";r.destination="subresource";requestList.push(r);const responsePromise=createDeferredPromise();fetchControllers.push(fetching({request:r,dispatcher:getGlobalDispatcher(),processResponse(response){if(response.type==="error"||response.status===206||response.status<200||response.status>299){responsePromise.reject(webidl.errors.exception({header:"Cache.addAll",message:"Received an invalid status code or the request failed."}))}else if(response.headersList.contains("vary")){const fieldValues=getFieldValues(response.headersList.get("vary"));for(const fieldValue of fieldValues){if(fieldValue==="*"){responsePromise.reject(webidl.errors.exception({header:"Cache.addAll",message:"invalid vary field value"}));for(const controller of fetchControllers){controller.abort()}return}}}},processResponseEndOfBody(response){if(response.aborted){responsePromise.reject(new DOMException("aborted","AbortError"));return}responsePromise.resolve(response)}}));responsePromises.push(responsePromise.promise)}const p=Promise.all(responsePromises);const responses=await p;const operations=[];let index=0;for(const response of responses){const operation={type:"put",request:requestList[index],response};operations.push(operation);index++}const cacheJobPromise=createDeferredPromise();let errorData=null;try{this.#batchCacheOperations(operations)}catch(e){errorData=e}queueMicrotask(()=>{if(errorData===null){cacheJobPromise.resolve(void 0)}else{cacheJobPromise.reject(errorData)}});return cacheJobPromise.promise}async put(request,response){webidl.brandCheck(this,_Cache);webidl.argumentLengthCheck(arguments,2,{header:"Cache.put"});request=webidl.converters.RequestInfo(request);response=webidl.converters.Response(response);let innerRequest=null;if(request instanceof Request2){innerRequest=request[kState]}else{innerRequest=new Request2(request)[kState]}if(!urlIsHttpHttpsScheme(innerRequest.url)||innerRequest.method!=="GET"){throw webidl.errors.exception({header:"Cache.put",message:"Expected an http/s scheme when method is not GET"})}const innerResponse=response[kState];if(innerResponse.status===206){throw webidl.errors.exception({header:"Cache.put",message:"Got 206 status"})}if(innerResponse.headersList.contains("vary")){const fieldValues=getFieldValues(innerResponse.headersList.get("vary"));for(const fieldValue of fieldValues){if(fieldValue==="*"){throw webidl.errors.exception({header:"Cache.put",message:"Got * vary field value"})}}}if(innerResponse.body&&(isDisturbed(innerResponse.body.stream)||innerResponse.body.stream.locked)){throw webidl.errors.exception({header:"Cache.put",message:"Response body is locked or disturbed"})}const clonedResponse=cloneResponse2(innerResponse);const bodyReadPromise=createDeferredPromise();if(innerResponse.body!=null){const stream3=innerResponse.body.stream;const reader=stream3.getReader();readAllBytes(reader).then(bodyReadPromise.resolve,bodyReadPromise.reject)}else{bodyReadPromise.resolve(void 0)}const operations=[];const operation={type:"put",request:innerRequest,response:clonedResponse};operations.push(operation);const bytes9=await bodyReadPromise.promise;if(clonedResponse.body!=null){clonedResponse.body.source=bytes9}const cacheJobPromise=createDeferredPromise();let errorData=null;try{this.#batchCacheOperations(operations)}catch(e){errorData=e}queueMicrotask(()=>{if(errorData===null){cacheJobPromise.resolve()}else{cacheJobPromise.reject(errorData)}});return cacheJobPromise.promise}async delete(request,options={}){webidl.brandCheck(this,_Cache);webidl.argumentLengthCheck(arguments,1,{header:"Cache.delete"});request=webidl.converters.RequestInfo(request);options=webidl.converters.CacheQueryOptions(options);let r=null;if(request instanceof Request2){r=request[kState];if(r.method!=="GET"&&!options.ignoreMethod){return false}}else{assert2(typeof request==="string");r=new Request2(request)[kState]}const operations=[];const operation={type:"delete",request:r,options};operations.push(operation);const cacheJobPromise=createDeferredPromise();let errorData=null;let requestResponses;try{requestResponses=this.#batchCacheOperations(operations)}catch(e){errorData=e}queueMicrotask(()=>{if(errorData===null){cacheJobPromise.resolve(!!(requestResponses==null?void 0:requestResponses.length))}else{cacheJobPromise.reject(errorData)}});return cacheJobPromise.promise}async keys(request=void 0,options={}){webidl.brandCheck(this,_Cache);if(request!==void 0)request=webidl.converters.RequestInfo(request);options=webidl.converters.CacheQueryOptions(options);let r=null;if(request!==void 0){if(request instanceof Request2){r=request[kState];if(r.method!=="GET"&&!options.ignoreMethod){return[]}}else if(typeof request==="string"){r=new Request2(request)[kState]}}const promise=createDeferredPromise();const requests=[];if(request===void 0){for(const requestResponse of this.#relevantRequestResponseList){requests.push(requestResponse[0])}}else{const requestResponses=this.#queryCache(r,options);for(const requestResponse of requestResponses){requests.push(requestResponse[0])}}queueMicrotask(()=>{const requestList=[];for(const request2 of requests){const requestObject=new Request2("https://a");requestObject[kState]=request2;requestObject[kHeaders][kHeadersList]=request2.headersList;requestObject[kHeaders][kGuard]="immutable";requestObject[kRealm]=request2.client;requestList.push(requestObject)}promise.resolve(Object.freeze(requestList))});return promise.promise}#batchCacheOperations(operations){const cache2=this.#relevantRequestResponseList;const backupCache=[...cache2];const addedItems=[];const resultList=[];try{for(const operation of operations){if(operation.type!=="delete"&&operation.type!=="put"){throw webidl.errors.exception({header:"Cache.#batchCacheOperations",message:'operation type does not match "delete" or "put"'})}if(operation.type==="delete"&&operation.response!=null){throw webidl.errors.exception({header:"Cache.#batchCacheOperations",message:"delete operation should not have an associated response"})}if(this.#queryCache(operation.request,operation.options,addedItems).length){throw new DOMException("???","InvalidStateError")}let requestResponses;if(operation.type==="delete"){requestResponses=this.#queryCache(operation.request,operation.options);if(requestResponses.length===0){return[]}for(const requestResponse of requestResponses){const idx=cache2.indexOf(requestResponse);assert2(idx!==-1);cache2.splice(idx,1)}}else if(operation.type==="put"){if(operation.response==null){throw webidl.errors.exception({header:"Cache.#batchCacheOperations",message:"put operation should have an associated response"})}const r=operation.request;if(!urlIsHttpHttpsScheme(r.url)){throw webidl.errors.exception({header:"Cache.#batchCacheOperations",message:"expected http or https scheme"})}if(r.method!=="GET"){throw webidl.errors.exception({header:"Cache.#batchCacheOperations",message:"not get method"})}if(operation.options!=null){throw webidl.errors.exception({header:"Cache.#batchCacheOperations",message:"options must not be defined"})}requestResponses=this.#queryCache(operation.request);for(const requestResponse of requestResponses){const idx=cache2.indexOf(requestResponse);assert2(idx!==-1);cache2.splice(idx,1)}cache2.push([operation.request,operation.response]);addedItems.push([operation.request,operation.response])}resultList.push([operation.request,operation.response])}return resultList}catch(e){this.#relevantRequestResponseList.length=0;this.#relevantRequestResponseList=backupCache;throw e}}#queryCache(requestQuery,options,targetStorage){const resultList=[];const storage=targetStorage??this.#relevantRequestResponseList;for(const requestResponse of storage){const[cachedRequest,cachedResponse]=requestResponse;if(this.#requestMatchesCachedItem(requestQuery,cachedRequest,cachedResponse,options)){resultList.push(requestResponse)}}return resultList}#requestMatchesCachedItem(requestQuery,request,response=null,options){const queryURL=new URL(requestQuery.url);const cachedURL=new URL(request.url);if(options==null?void 0:options.ignoreSearch){cachedURL.search="";queryURL.search=""}if(!urlEquals(queryURL,cachedURL,true)){return false}if(response==null||(options==null?void 0:options.ignoreVary)||!response.headersList.contains("vary")){return true}const fieldValues=getFieldValues(response.headersList.get("vary"));for(const fieldValue of fieldValues){if(fieldValue==="*"){return false}const requestValue=request.headersList.get(fieldValue);const queryValue=requestQuery.headersList.get(fieldValue);if(requestValue!==queryValue){return false}}return true}};Object.defineProperties(Cache.prototype,{[Symbol.toStringTag]:{value:"Cache",configurable:true},match:kEnumerableProperty,matchAll:kEnumerableProperty,add:kEnumerableProperty,addAll:kEnumerableProperty,put:kEnumerableProperty,delete:kEnumerableProperty,keys:kEnumerableProperty});var cacheQueryOptionConverters=[{key:"ignoreSearch",converter:webidl.converters.boolean,defaultValue:false},{key:"ignoreMethod",converter:webidl.converters.boolean,defaultValue:false},{key:"ignoreVary",converter:webidl.converters.boolean,defaultValue:false}];webidl.converters.CacheQueryOptions=webidl.dictionaryConverter(cacheQueryOptionConverters);webidl.converters.MultiCacheQueryOptions=webidl.dictionaryConverter([...cacheQueryOptionConverters,{key:"cacheName",converter:webidl.converters.DOMString}]);webidl.converters.Response=webidl.interfaceConverter(Response2);webidl.converters["sequence<RequestInfo>"]=webidl.sequenceConverter(webidl.converters.RequestInfo);module2.exports={Cache}}});var require_cachestorage=__commonJS({"node_modules/undici/lib/cache/cachestorage.js"(exports2,module2){"use strict";var{kConstruct}=require_symbols4();var{Cache}=require_cache();var{webidl}=require_webidl();var{kEnumerableProperty}=require_util3();var CacheStorage=class _CacheStorage{#caches=new Map;constructor(){if(arguments[0]!==kConstruct){webidl.illegalConstructor()}}async match(request,options={}){webidl.brandCheck(this,_CacheStorage);webidl.argumentLengthCheck(arguments,1,{header:"CacheStorage.match"});request=webidl.converters.RequestInfo(request);options=webidl.converters.MultiCacheQueryOptions(options);if(options.cacheName!=null){if(this.#caches.has(options.cacheName)){const cacheList=this.#caches.get(options.cacheName);const cache2=new Cache(kConstruct,cacheList);return await cache2.match(request,options)}}else{for(const cacheList of this.#caches.values()){const cache2=new Cache(kConstruct,cacheList);const response=await cache2.match(request,options);if(response!==void 0){return response}}}}async has(cacheName){webidl.brandCheck(this,_CacheStorage);webidl.argumentLengthCheck(arguments,1,{header:"CacheStorage.has"});cacheName=webidl.converters.DOMString(cacheName);return this.#caches.has(cacheName)}async open(cacheName){webidl.brandCheck(this,_CacheStorage);webidl.argumentLengthCheck(arguments,1,{header:"CacheStorage.open"});cacheName=webidl.converters.DOMString(cacheName);if(this.#caches.has(cacheName)){const cache3=this.#caches.get(cacheName);return new Cache(kConstruct,cache3)}const cache2=[];this.#caches.set(cacheName,cache2);return new Cache(kConstruct,cache2)}async delete(cacheName){webidl.brandCheck(this,_CacheStorage);webidl.argumentLengthCheck(arguments,1,{header:"CacheStorage.delete"});cacheName=webidl.converters.DOMString(cacheName);return this.#caches.delete(cacheName)}async keys(){webidl.brandCheck(this,_CacheStorage);const keys2=this.#caches.keys();return[...keys2]}};Object.defineProperties(CacheStorage.prototype,{[Symbol.toStringTag]:{value:"CacheStorage",configurable:true},match:kEnumerableProperty,has:kEnumerableProperty,open:kEnumerableProperty,delete:kEnumerableProperty,keys:kEnumerableProperty});module2.exports={CacheStorage}}});var require_constants4=__commonJS({"node_modules/undici/lib/cookies/constants.js"(exports2,module2){"use strict";var maxAttributeValueSize=1024;var maxNameValuePairSize=4096;module2.exports={maxAttributeValueSize,maxNameValuePairSize}}});var require_util8=__commonJS({"node_modules/undici/lib/cookies/util.js"(exports2,module2){"use strict";var assert2=require("assert");var{kHeadersList}=require_symbols();function isCTLExcludingHtab(value){if(value.length===0){return false}for(const char of value){const code=char.charCodeAt(0);if(code>=0||code<=8||(code>=10||code<=31)||code===127){return false}}}function validateCookieName(name){for(const char of name){const code=char.charCodeAt(0);if(code<=32||code>127||char==="("||char===")"||char===">"||char==="<"||char==="@"||char===","||char===";"||char===":"||char==="\\"||char==='"'||char==="/"||char==="["||char==="]"||char==="?"||char==="="||char==="{"||char==="}"){throw new Error("Invalid cookie name")}}}function validateCookieValue(value){for(const char of value){const code=char.charCodeAt(0);if(code<33||code===34||code===44||code===59||code===92||code>126){throw new Error("Invalid header value")}}}function validateCookiePath(path27){for(const char of path27){const code=char.charCodeAt(0);if(code<33||char===";"){throw new Error("Invalid cookie path")}}}function validateCookieDomain(domain){if(domain.startsWith("-")||domain.endsWith(".")||domain.endsWith("-")){throw new Error("Invalid cookie domain")}}function toIMFDate(date){if(typeof date==="number"){date=new Date(date)}const days=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];const months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];const dayName=days[date.getUTCDay()];const day=date.getUTCDate().toString().padStart(2,"0");const month=months[date.getUTCMonth()];const year=date.getUTCFullYear();const hour=date.getUTCHours().toString().padStart(2,"0");const minute=date.getUTCMinutes().toString().padStart(2,"0");const second=date.getUTCSeconds().toString().padStart(2,"0");return`${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`}function validateCookieMaxAge(maxAge){if(maxAge<0){throw new Error("Invalid cookie max-age")}}function stringify(cookie){if(cookie.name.length===0){return null}validateCookieName(cookie.name);validateCookieValue(cookie.value);const out=[`${cookie.name}=${cookie.value}`];if(cookie.name.startsWith("__Secure-")){cookie.secure=true}if(cookie.name.startsWith("__Host-")){cookie.secure=true;cookie.domain=null;cookie.path="/"}if(cookie.secure){out.push("Secure")}if(cookie.httpOnly){out.push("HttpOnly")}if(typeof cookie.maxAge==="number"){validateCookieMaxAge(cookie.maxAge);out.push(`Max-Age=${cookie.maxAge}`)}if(cookie.domain){validateCookieDomain(cookie.domain);out.push(`Domain=${cookie.domain}`)}if(cookie.path){validateCookiePath(cookie.path);out.push(`Path=${cookie.path}`)}if(cookie.expires&&cookie.expires.toString()!=="Invalid Date"){out.push(`Expires=${toIMFDate(cookie.expires)}`)}if(cookie.sameSite){out.push(`SameSite=${cookie.sameSite}`)}for(const part of cookie.unparsed){if(!part.includes("=")){throw new Error("Invalid unparsed")}const[key,...value]=part.split("=");out.push(`${key.trim()}=${value.join("=")}`)}return out.join("; ")}var kHeadersListNode;function getHeadersList(headers){if(headers[kHeadersList]){return headers[kHeadersList]}if(!kHeadersListNode){kHeadersListNode=Object.getOwnPropertySymbols(headers).find(symbol=>symbol.description==="headers list");assert2(kHeadersListNode,"Headers cannot be parsed")}const headersList=headers[kHeadersListNode];assert2(headersList);return headersList}module2.exports={isCTLExcludingHtab,stringify,getHeadersList}}});var require_parse2=__commonJS({"node_modules/undici/lib/cookies/parse.js"(exports2,module2){"use strict";var{maxNameValuePairSize,maxAttributeValueSize}=require_constants4();var{isCTLExcludingHtab}=require_util8();var{collectASequenceOfCodePointsFast}=require_dataURL();var assert2=require("assert");function parseSetCookie(header2){if(isCTLExcludingHtab(header2)){return null}let nameValuePair="";let unparsedAttributes="";let name="";let value="";if(header2.includes(";")){const position={position:0};nameValuePair=collectASequenceOfCodePointsFast(";",header2,position);unparsedAttributes=header2.slice(position.position)}else{nameValuePair=header2}if(!nameValuePair.includes("=")){value=nameValuePair}else{const position={position:0};name=collectASequenceOfCodePointsFast("=",nameValuePair,position);value=nameValuePair.slice(position.position+1)}name=name.trim();value=value.trim();if(name.length+value.length>maxNameValuePairSize){return null}return{name,value,...parseUnparsedAttributes(unparsedAttributes)}}function parseUnparsedAttributes(unparsedAttributes,cookieAttributeList={}){if(unparsedAttributes.length===0){return cookieAttributeList}assert2(unparsedAttributes[0]===";");unparsedAttributes=unparsedAttributes.slice(1);let cookieAv="";if(unparsedAttributes.includes(";")){cookieAv=collectASequenceOfCodePointsFast(";",unparsedAttributes,{position:0});unparsedAttributes=unparsedAttributes.slice(cookieAv.length)}else{cookieAv=unparsedAttributes;unparsedAttributes=""}let attributeName="";let attributeValue="";if(cookieAv.includes("=")){const position={position:0};attributeName=collectASequenceOfCodePointsFast("=",cookieAv,position);attributeValue=cookieAv.slice(position.position+1)}else{attributeName=cookieAv}attributeName=attributeName.trim();attributeValue=attributeValue.trim();if(attributeValue.length>maxAttributeValueSize){return parseUnparsedAttributes(unparsedAttributes,cookieAttributeList)}const attributeNameLowercase=attributeName.toLowerCase();if(attributeNameLowercase==="expires"){const expiryTime=new Date(attributeValue);cookieAttributeList.expires=expiryTime}else if(attributeNameLowercase==="max-age"){const charCode=attributeValue.charCodeAt(0);if((charCode<48||charCode>57)&&attributeValue[0]!=="-"){return parseUnparsedAttributes(unparsedAttributes,cookieAttributeList)}if(!/^\d+$/.test(attributeValue)){return parseUnparsedAttributes(unparsedAttributes,cookieAttributeList)}const deltaSeconds=Number(attributeValue);cookieAttributeList.maxAge=deltaSeconds}else if(attributeNameLowercase==="domain"){let cookieDomain=attributeValue;if(cookieDomain[0]==="."){cookieDomain=cookieDomain.slice(1)}cookieDomain=cookieDomain.toLowerCase();cookieAttributeList.domain=cookieDomain}else if(attributeNameLowercase==="path"){let cookiePath="";if(attributeValue.length===0||attributeValue[0]!=="/"){cookiePath="/"}else{cookiePath=attributeValue}cookieAttributeList.path=cookiePath}else if(attributeNameLowercase==="secure"){cookieAttributeList.secure=true}else if(attributeNameLowercase==="httponly"){cookieAttributeList.httpOnly=true}else if(attributeNameLowercase==="samesite"){let enforcement="Default";const attributeValueLowercase=attributeValue.toLowerCase();if(attributeValueLowercase.includes("none")){enforcement="None"}if(attributeValueLowercase.includes("strict")){enforcement="Strict"}if(attributeValueLowercase.includes("lax")){enforcement="Lax"}cookieAttributeList.sameSite=enforcement}else{cookieAttributeList.unparsed??=[];cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`)}return parseUnparsedAttributes(unparsedAttributes,cookieAttributeList)}module2.exports={parseSetCookie,parseUnparsedAttributes}}});var require_cookies=__commonJS({"node_modules/undici/lib/cookies/index.js"(exports2,module2){"use strict";var{parseSetCookie}=require_parse2();var{stringify,getHeadersList}=require_util8();var{webidl}=require_webidl();var{Headers}=require_headers();function getCookies(headers){webidl.argumentLengthCheck(arguments,1,{header:"getCookies"});webidl.brandCheck(headers,Headers,{strict:false});const cookie=headers.get("cookie");const out={};if(!cookie){return out}for(const piece of cookie.split(";")){const[name,...value]=piece.split("=");out[name.trim()]=value.join("=")}return out}function deleteCookie(headers,name,attributes){webidl.argumentLengthCheck(arguments,2,{header:"deleteCookie"});webidl.brandCheck(headers,Headers,{strict:false});name=webidl.converters.DOMString(name);attributes=webidl.converters.DeleteCookieAttributes(attributes);setCookie(headers,{name,value:"",expires:new Date(0),...attributes})}function getSetCookies(headers){webidl.argumentLengthCheck(arguments,1,{header:"getSetCookies"});webidl.brandCheck(headers,Headers,{strict:false});const cookies=getHeadersList(headers).cookies;if(!cookies){return[]}return cookies.map(pair=>parseSetCookie(Array.isArray(pair)?pair[1]:pair))}function setCookie(headers,cookie){webidl.argumentLengthCheck(arguments,2,{header:"setCookie"});webidl.brandCheck(headers,Headers,{strict:false});cookie=webidl.converters.Cookie(cookie);const str2=stringify(cookie);if(str2){headers.append("Set-Cookie",stringify(cookie))}}webidl.converters.DeleteCookieAttributes=webidl.dictionaryConverter([{converter:webidl.nullableConverter(webidl.converters.DOMString),key:"path",defaultValue:null},{converter:webidl.nullableConverter(webidl.converters.DOMString),key:"domain",defaultValue:null}]);webidl.converters.Cookie=webidl.dictionaryConverter([{converter:webidl.converters.DOMString,key:"name"},{converter:webidl.converters.DOMString,key:"value"},{converter:webidl.nullableConverter(value=>{if(typeof value==="number"){return webidl.converters["unsigned long long"](value)}return new Date(value)}),key:"expires",defaultValue:null},{converter:webidl.nullableConverter(webidl.converters["long long"]),key:"maxAge",defaultValue:null},{converter:webidl.nullableConverter(webidl.converters.DOMString),key:"domain",defaultValue:null},{converter:webidl.nullableConverter(webidl.converters.DOMString),key:"path",defaultValue:null},{converter:webidl.nullableConverter(webidl.converters.boolean),key:"secure",defaultValue:null},{converter:webidl.nullableConverter(webidl.converters.boolean),key:"httpOnly",defaultValue:null},{converter:webidl.converters.USVString,key:"sameSite",allowedValues:["Strict","Lax","None"]},{converter:webidl.sequenceConverter(webidl.converters.DOMString),key:"unparsed",defaultValue:[]}]);module2.exports={getCookies,deleteCookie,getSetCookies,setCookie}}});var require_constants5=__commonJS({"node_modules/undici/lib/websocket/constants.js"(exports2,module2){"use strict";var uid="258EAFA5-E914-47DA-95CA-C5AB0DC85B11";var staticPropertyDescriptors={enumerable:true,writable:false,configurable:false};var states={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};var opcodes={CONTINUATION:0,TEXT:1,BINARY:2,CLOSE:8,PING:9,PONG:10};var maxUnsigned16Bit=2**16-1;var parserStates={INFO:0,PAYLOADLENGTH_16:2,PAYLOADLENGTH_64:3,READ_DATA:4};var emptyBuffer=Buffer.allocUnsafe(0);module2.exports={uid,staticPropertyDescriptors,states,opcodes,maxUnsigned16Bit,parserStates,emptyBuffer}}});var require_symbols5=__commonJS({"node_modules/undici/lib/websocket/symbols.js"(exports2,module2){"use strict";module2.exports={kWebSocketURL:Symbol("url"),kReadyState:Symbol("ready state"),kController:Symbol("controller"),kResponse:Symbol("response"),kBinaryType:Symbol("binary type"),kSentClose:Symbol("sent close"),kReceivedClose:Symbol("received close"),kByteParser:Symbol("byte parser")}}});var require_events=__commonJS({"node_modules/undici/lib/websocket/events.js"(exports2,module2){"use strict";var{webidl}=require_webidl();var{kEnumerableProperty}=require_util3();var{MessagePort}=require("worker_threads");var MessageEvent=class _MessageEvent extends Event{#eventInit;constructor(type2,eventInitDict={}){webidl.argumentLengthCheck(arguments,1,{header:"MessageEvent constructor"});type2=webidl.converters.DOMString(type2);eventInitDict=webidl.converters.MessageEventInit(eventInitDict);super(type2,eventInitDict);this.#eventInit=eventInitDict}get data(){webidl.brandCheck(this,_MessageEvent);return this.#eventInit.data}get origin(){webidl.brandCheck(this,_MessageEvent);return this.#eventInit.origin}get lastEventId(){webidl.brandCheck(this,_MessageEvent);return this.#eventInit.lastEventId}get source(){webidl.brandCheck(this,_MessageEvent);return this.#eventInit.source}get ports(){webidl.brandCheck(this,_MessageEvent);if(!Object.isFrozen(this.#eventInit.ports)){Object.freeze(this.#eventInit.ports)}return this.#eventInit.ports}initMessageEvent(type2,bubbles=false,cancelable=false,data=null,origin="",lastEventId="",source=null,ports=[]){webidl.brandCheck(this,_MessageEvent);webidl.argumentLengthCheck(arguments,1,{header:"MessageEvent.initMessageEvent"});return new _MessageEvent(type2,{bubbles,cancelable,data,origin,lastEventId,source,ports})}};var CloseEvent=class _CloseEvent extends Event{#eventInit;constructor(type2,eventInitDict={}){webidl.argumentLengthCheck(arguments,1,{header:"CloseEvent constructor"});type2=webidl.converters.DOMString(type2);eventInitDict=webidl.converters.CloseEventInit(eventInitDict);super(type2,eventInitDict);this.#eventInit=eventInitDict}get wasClean(){webidl.brandCheck(this,_CloseEvent);return this.#eventInit.wasClean}get code(){webidl.brandCheck(this,_CloseEvent);return this.#eventInit.code}get reason(){webidl.brandCheck(this,_CloseEvent);return this.#eventInit.reason}};var ErrorEvent=class _ErrorEvent extends Event{#eventInit;constructor(type2,eventInitDict){webidl.argumentLengthCheck(arguments,1,{header:"ErrorEvent constructor"});super(type2,eventInitDict);type2=webidl.converters.DOMString(type2);eventInitDict=webidl.converters.ErrorEventInit(eventInitDict??{});this.#eventInit=eventInitDict}get message(){webidl.brandCheck(this,_ErrorEvent);return this.#eventInit.message}get filename(){webidl.brandCheck(this,_ErrorEvent);return this.#eventInit.filename}get lineno(){webidl.brandCheck(this,_ErrorEvent);return this.#eventInit.lineno}get colno(){webidl.brandCheck(this,_ErrorEvent);return this.#eventInit.colno}get error(){webidl.brandCheck(this,_ErrorEvent);return this.#eventInit.error}};Object.defineProperties(MessageEvent.prototype,{[Symbol.toStringTag]:{value:"MessageEvent",configurable:true},data:kEnumerableProperty,origin:kEnumerableProperty,lastEventId:kEnumerableProperty,source:kEnumerableProperty,ports:kEnumerableProperty,initMessageEvent:kEnumerableProperty});Object.defineProperties(CloseEvent.prototype,{[Symbol.toStringTag]:{value:"CloseEvent",configurable:true},reason:kEnumerableProperty,code:kEnumerableProperty,wasClean:kEnumerableProperty});Object.defineProperties(ErrorEvent.prototype,{[Symbol.toStringTag]:{value:"ErrorEvent",configurable:true},message:kEnumerableProperty,filename:kEnumerableProperty,lineno:kEnumerableProperty,colno:kEnumerableProperty,error:kEnumerableProperty});webidl.converters.MessagePort=webidl.interfaceConverter(MessagePort);webidl.converters["sequence<MessagePort>"]=webidl.sequenceConverter(webidl.converters.MessagePort);var eventInit=[{key:"bubbles",converter:webidl.converters.boolean,defaultValue:false},{key:"cancelable",converter:webidl.converters.boolean,defaultValue:false},{key:"composed",converter:webidl.converters.boolean,defaultValue:false}];webidl.converters.MessageEventInit=webidl.dictionaryConverter([...eventInit,{key:"data",converter:webidl.converters.any,defaultValue:null},{key:"origin",converter:webidl.converters.USVString,defaultValue:""},{key:"lastEventId",converter:webidl.converters.DOMString,defaultValue:""},{key:"source",converter:webidl.nullableConverter(webidl.converters.MessagePort),defaultValue:null},{key:"ports",converter:webidl.converters["sequence<MessagePort>"],get defaultValue(){return[]}}]);webidl.converters.CloseEventInit=webidl.dictionaryConverter([...eventInit,{key:"wasClean",converter:webidl.converters.boolean,defaultValue:false},{key:"code",converter:webidl.converters["unsigned short"],defaultValue:0},{key:"reason",converter:webidl.converters.USVString,defaultValue:""}]);webidl.converters.ErrorEventInit=webidl.dictionaryConverter([...eventInit,{key:"message",converter:webidl.converters.DOMString,defaultValue:""},{key:"filename",converter:webidl.converters.USVString,defaultValue:""},{key:"lineno",converter:webidl.converters["unsigned long"],defaultValue:0},{key:"colno",converter:webidl.converters["unsigned long"],defaultValue:0},{key:"error",converter:webidl.converters.any}]);module2.exports={MessageEvent,CloseEvent,ErrorEvent}}});var require_util9=__commonJS({"node_modules/undici/lib/websocket/util.js"(exports2,module2){"use strict";var{kReadyState,kController,kResponse,kBinaryType,kWebSocketURL}=require_symbols5();var{states,opcodes}=require_constants5();var{MessageEvent,ErrorEvent}=require_events();function isEstablished(ws){return ws[kReadyState]===states.OPEN}function isClosing(ws){return ws[kReadyState]===states.CLOSING}function isClosed(ws){return ws[kReadyState]===states.CLOSED}function fireEvent(e,target,eventConstructor=Event,eventInitDict){const event=new eventConstructor(e,eventInitDict);target.dispatchEvent(event)}function websocketMessageReceived(ws,type2,data){if(ws[kReadyState]!==states.OPEN){return}let dataForEvent;if(type2===opcodes.TEXT){try{dataForEvent=new TextDecoder("utf-8",{fatal:true}).decode(data)}catch{failWebsocketConnection(ws,"Received invalid UTF-8 in text frame.");return}}else if(type2===opcodes.BINARY){if(ws[kBinaryType]==="blob"){dataForEvent=new Blob([data])}else{dataForEvent=new Uint8Array(data).buffer}}fireEvent("message",ws,MessageEvent,{origin:ws[kWebSocketURL].origin,data:dataForEvent})}function isValidSubprotocol(protocol){if(protocol.length===0){return false}for(const char of protocol){const code=char.charCodeAt(0);if(code<33||code>126||char==="("||char===")"||char==="<"||char===">"||char==="@"||char===","||char===";"||char===":"||char==="\\"||char==='"'||char==="/"||char==="["||char==="]"||char==="?"||char==="="||char==="{"||char==="}"||code===32||code===9){return false}}return true}function isValidStatusCode(code){if(code>=1e3&&code<1015){return code!==1004&&code!==1005&&code!==1006}return code>=3e3&&code<=4999}function failWebsocketConnection(ws,reason){const{[kController]:controller,[kResponse]:response}=ws;controller.abort();if((response==null?void 0:response.socket)&&!response.socket.destroyed){response.socket.destroy()}if(reason){fireEvent("error",ws,ErrorEvent,{error:new Error(reason)})}}module2.exports={isEstablished,isClosing,isClosed,fireEvent,isValidSubprotocol,isValidStatusCode,failWebsocketConnection,websocketMessageReceived}}});var require_connection4=__commonJS({"node_modules/undici/lib/websocket/connection.js"(exports2,module2){"use strict";var diagnosticsChannel=require("diagnostics_channel");var{uid,states}=require_constants5();var{kReadyState,kSentClose,kByteParser,kReceivedClose}=require_symbols5();var{fireEvent,failWebsocketConnection}=require_util9();var{CloseEvent}=require_events();var{makeRequest}=require_request3();var{fetching}=require_fetch();var{Headers}=require_headers();var{getGlobalDispatcher}=require_global2();var{kHeadersList}=require_symbols();var channels={};channels.open=diagnosticsChannel.channel("undici:websocket:open");channels.close=diagnosticsChannel.channel("undici:websocket:close");channels.socketError=diagnosticsChannel.channel("undici:websocket:socket_error");var crypto6;try{crypto6=require("crypto")}catch{}function establishWebSocketConnection(url,protocols,ws,onEstablish,options){const requestURL=url;requestURL.protocol=url.protocol==="ws:"?"http:":"https:";const request=makeRequest({urlList:[requestURL],serviceWorkers:"none",referrer:"no-referrer",mode:"websocket",credentials:"include",cache:"no-store",redirect:"error"});if(options.headers){const headersList=new Headers(options.headers)[kHeadersList];request.headersList=headersList}const keyValue=crypto6.randomBytes(16).toString("base64");request.headersList.append("sec-websocket-key",keyValue);request.headersList.append("sec-websocket-version","13");for(const protocol of protocols){request.headersList.append("sec-websocket-protocol",protocol)}const permessageDeflate="";const controller=fetching({request,useParallelQueue:true,dispatcher:options.dispatcher??getGlobalDispatcher(),processResponse(response){var _a12,_b2;if(response.type==="error"||response.status!==101){failWebsocketConnection(ws,"Received network error or non-101 status code.");return}if(protocols.length!==0&&!response.headersList.get("Sec-WebSocket-Protocol")){failWebsocketConnection(ws,"Server did not respond with sent protocols.");return}if(((_a12=response.headersList.get("Upgrade"))==null?void 0:_a12.toLowerCase())!=="websocket"){failWebsocketConnection(ws,'Server did not set Upgrade header to "websocket".');return}if(((_b2=response.headersList.get("Connection"))==null?void 0:_b2.toLowerCase())!=="upgrade"){failWebsocketConnection(ws,'Server did not set Connection header to "upgrade".');return}const secWSAccept=response.headersList.get("Sec-WebSocket-Accept");const digest2=crypto6.createHash("sha1").update(keyValue+uid).digest("base64");if(secWSAccept!==digest2){failWebsocketConnection(ws,"Incorrect hash received in Sec-WebSocket-Accept header.");return}const secExtension=response.headersList.get("Sec-WebSocket-Extensions");if(secExtension!==null&&secExtension!==permessageDeflate){failWebsocketConnection(ws,"Received different permessage-deflate than the one set.");return}const secProtocol=response.headersList.get("Sec-WebSocket-Protocol");if(secProtocol!==null&&secProtocol!==request.headersList.get("Sec-WebSocket-Protocol")){failWebsocketConnection(ws,"Protocol was not set in the opening handshake.");return}response.socket.on("data",onSocketData);response.socket.on("close",onSocketClose);response.socket.on("error",onSocketError);if(channels.open.hasSubscribers){channels.open.publish({address:response.socket.address(),protocol:secProtocol,extensions:secExtension})}onEstablish(response)}});return controller}function onSocketData(chunk2){if(!this.ws[kByteParser].write(chunk2)){this.pause()}}function onSocketClose(){const{ws}=this;const wasClean=ws[kSentClose]&&ws[kReceivedClose];let code=1005;let reason="";const result2=ws[kByteParser].closingInfo;if(result2){code=result2.code??1005;reason=result2.reason}else if(!ws[kSentClose]){code=1006}ws[kReadyState]=states.CLOSED;fireEvent("close",ws,CloseEvent,{wasClean,code,reason});if(channels.close.hasSubscribers){channels.close.publish({websocket:ws,code,reason})}}function onSocketError(error){const{ws}=this;ws[kReadyState]=states.CLOSING;if(channels.socketError.hasSubscribers){channels.socketError.publish(error)}this.destroy()}module2.exports={establishWebSocketConnection}}});var require_frame=__commonJS({"node_modules/undici/lib/websocket/frame.js"(exports2,module2){"use strict";var{maxUnsigned16Bit}=require_constants5();var crypto6;try{crypto6=require("crypto")}catch{}var WebsocketFrameSend=class{constructor(data){this.frameData=data;this.maskKey=crypto6.randomBytes(4)}createFrame(opcode){var _a12;const bodyLength=((_a12=this.frameData)==null?void 0:_a12.byteLength)??0;let payloadLength=bodyLength;let offset=6;if(bodyLength>maxUnsigned16Bit){offset+=8;payloadLength=127}else if(bodyLength>125){offset+=2;payloadLength=126}const buffer=Buffer.allocUnsafe(bodyLength+offset);buffer[0]=buffer[1]=0;buffer[0]|=128;buffer[0]=(buffer[0]&240)+opcode;buffer[offset-4]=this.maskKey[0];buffer[offset-3]=this.maskKey[1];buffer[offset-2]=this.maskKey[2];buffer[offset-1]=this.maskKey[3];buffer[1]=payloadLength;if(payloadLength===126){buffer.writeUInt16BE(bodyLength,2)}else if(payloadLength===127){buffer[2]=buffer[3]=0;buffer.writeUIntBE(bodyLength,4,6)}buffer[1]|=128;for(let i=0;i<bodyLength;i++){buffer[offset+i]=this.frameData[i]^this.maskKey[i%4]}return buffer}};module2.exports={WebsocketFrameSend}}});var require_receiver=__commonJS({"node_modules/undici/lib/websocket/receiver.js"(exports2,module2){"use strict";var{Writable:Writable4}=require("stream");var diagnosticsChannel=require("diagnostics_channel");var{parserStates,opcodes,states,emptyBuffer}=require_constants5();var{kReadyState,kSentClose,kResponse,kReceivedClose}=require_symbols5();var{isValidStatusCode,failWebsocketConnection,websocketMessageReceived}=require_util9();var{WebsocketFrameSend}=require_frame();var channels={};channels.ping=diagnosticsChannel.channel("undici:websocket:ping");channels.pong=diagnosticsChannel.channel("undici:websocket:pong");var ByteParser=class extends Writable4{#buffers=[];#byteOffset=0;#state=parserStates.INFO;#info={};#fragments=[];constructor(ws){super();this.ws=ws}_write(chunk2,_,callback){this.#buffers.push(chunk2);this.#byteOffset+=chunk2.length;this.run(callback)}run(callback){while(true){if(this.#state===parserStates.INFO){if(this.#byteOffset<2){return callback()}const buffer=this.consume(2);this.#info.fin=(buffer[0]&128)!==0;this.#info.opcode=buffer[0]&15;this.#info.originalOpcode??=this.#info.opcode;this.#info.fragmented=!this.#info.fin&&this.#info.opcode!==opcodes.CONTINUATION;if(this.#info.fragmented&&this.#info.opcode!==opcodes.BINARY&&this.#info.opcode!==opcodes.TEXT){failWebsocketConnection(this.ws,"Invalid frame type was fragmented.");return}const payloadLength=buffer[1]&127;if(payloadLength<=125){this.#info.payloadLength=payloadLength;this.#state=parserStates.READ_DATA}else if(payloadLength===126){this.#state=parserStates.PAYLOADLENGTH_16}else if(payloadLength===127){this.#state=parserStates.PAYLOADLENGTH_64}if(this.#info.fragmented&&payloadLength>125){failWebsocketConnection(this.ws,"Fragmented frame exceeded 125 bytes.");return}else if((this.#info.opcode===opcodes.PING||this.#info.opcode===opcodes.PONG||this.#info.opcode===opcodes.CLOSE)&&payloadLength>125){failWebsocketConnection(this.ws,"Payload length for control frame exceeded 125 bytes.");return}else if(this.#info.opcode===opcodes.CLOSE){if(payloadLength===1){failWebsocketConnection(this.ws,"Received close frame with a 1-byte body.");return}const body=this.consume(payloadLength);this.#info.closeInfo=this.parseCloseBody(false,body);if(!this.ws[kSentClose]){const body2=Buffer.allocUnsafe(2);body2.writeUInt16BE(this.#info.closeInfo.code,0);const closeFrame=new WebsocketFrameSend(body2);this.ws[kResponse].socket.write(closeFrame.createFrame(opcodes.CLOSE),err=>{if(!err){this.ws[kSentClose]=true}})}this.ws[kReadyState]=states.CLOSING;this.ws[kReceivedClose]=true;this.end();return}else if(this.#info.opcode===opcodes.PING){const body=this.consume(payloadLength);if(!this.ws[kReceivedClose]){const frame=new WebsocketFrameSend(body);this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));if(channels.ping.hasSubscribers){channels.ping.publish({payload:body})}}this.#state=parserStates.INFO;if(this.#byteOffset>0){continue}else{callback();return}}else if(this.#info.opcode===opcodes.PONG){const body=this.consume(payloadLength);if(channels.pong.hasSubscribers){channels.pong.publish({payload:body})}if(this.#byteOffset>0){continue}else{callback();return}}}else if(this.#state===parserStates.PAYLOADLENGTH_16){if(this.#byteOffset<2){return callback()}const buffer=this.consume(2);this.#info.payloadLength=buffer.readUInt16BE(0);this.#state=parserStates.READ_DATA}else if(this.#state===parserStates.PAYLOADLENGTH_64){if(this.#byteOffset<8){return callback()}const buffer=this.consume(8);const upper=buffer.readUInt32BE(0);if(upper>2**31-1){failWebsocketConnection(this.ws,"Received payload length > 2^31 bytes.");return}const lower=buffer.readUInt32BE(4);this.#info.payloadLength=(upper<<8)+lower;this.#state=parserStates.READ_DATA}else if(this.#state===parserStates.READ_DATA){if(this.#byteOffset<this.#info.payloadLength){return callback()}else if(this.#byteOffset>=this.#info.payloadLength){const body=this.consume(this.#info.payloadLength);this.#fragments.push(body);if(!this.#info.fragmented||this.#info.fin&&this.#info.opcode===opcodes.CONTINUATION){const fullMessage=Buffer.concat(this.#fragments);websocketMessageReceived(this.ws,this.#info.originalOpcode,fullMessage);this.#info={};this.#fragments.length=0}this.#state=parserStates.INFO}}if(this.#byteOffset>0){continue}else{callback();break}}}consume(n){if(n>this.#byteOffset){return null}else if(n===0){return emptyBuffer}if(this.#buffers[0].length===n){this.#byteOffset-=this.#buffers[0].length;return this.#buffers.shift()}const buffer=Buffer.allocUnsafe(n);let offset=0;while(offset!==n){const next=this.#buffers[0];const{length}=next;if(length+offset===n){buffer.set(this.#buffers.shift(),offset);break}else if(length+offset>n){buffer.set(next.subarray(0,n-offset),offset);this.#buffers[0]=next.subarray(n-offset);break}else{buffer.set(this.#buffers.shift(),offset);offset+=next.length}}this.#byteOffset-=n;return buffer}parseCloseBody(onlyCode,data){let code;if(data.length>=2){code=data.readUInt16BE(0)}if(onlyCode){if(!isValidStatusCode(code)){return null}return{code}}let reason=data.subarray(2);if(reason[0]===239&&reason[1]===187&&reason[2]===191){reason=reason.subarray(3)}if(code!==void 0&&!isValidStatusCode(code)){return null}try{reason=new TextDecoder("utf-8",{fatal:true}).decode(reason)}catch{return null}return{code,reason}}get closingInfo(){return this.#info.closeInfo}};module2.exports={ByteParser}}});var require_websocket=__commonJS({"node_modules/undici/lib/websocket/websocket.js"(exports2,module2){"use strict";var{webidl}=require_webidl();var{DOMException:DOMException2}=require_constants2();var{URLSerializer}=require_dataURL();var{getGlobalOrigin}=require_global();var{staticPropertyDescriptors,states,opcodes,emptyBuffer}=require_constants5();var{kWebSocketURL,kReadyState,kController,kBinaryType,kResponse,kSentClose,kByteParser}=require_symbols5();var{isEstablished,isClosing,isValidSubprotocol,failWebsocketConnection,fireEvent}=require_util9();var{establishWebSocketConnection}=require_connection4();var{WebsocketFrameSend}=require_frame();var{ByteParser}=require_receiver();var{kEnumerableProperty,isBlobLike}=require_util3();var{getGlobalDispatcher}=require_global2();var{types:types6}=require("util");var experimentalWarned=false;var WebSocket2=class _WebSocket extends EventTarget{#events={open:null,error:null,close:null,message:null};#bufferedAmount=0;#protocol="";#extensions="";constructor(url,protocols=[]){super();webidl.argumentLengthCheck(arguments,1,{header:"WebSocket constructor"});if(!experimentalWarned){experimentalWarned=true;process.emitWarning("WebSockets are experimental, expect them to change at any time.",{code:"UNDICI-WS"})}const options=webidl.converters["DOMString or sequence<DOMString> or WebSocketInit"](protocols);url=webidl.converters.USVString(url);protocols=options.protocols;const baseURL=getGlobalOrigin();let urlRecord;try{urlRecord=new URL(url,baseURL)}catch(e){throw new DOMException2(e,"SyntaxError")}if(urlRecord.protocol==="http:"){urlRecord.protocol="ws:"}else if(urlRecord.protocol==="https:"){urlRecord.protocol="wss:"}if(urlRecord.protocol!=="ws:"&&urlRecord.protocol!=="wss:"){throw new DOMException2(`Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,"SyntaxError")}if(urlRecord.hash||urlRecord.href.endsWith("#")){throw new DOMException2("Got fragment","SyntaxError")}if(typeof protocols==="string"){protocols=[protocols]}if(protocols.length!==new Set(protocols.map(p=>p.toLowerCase())).size){throw new DOMException2("Invalid Sec-WebSocket-Protocol value","SyntaxError")}if(protocols.length>0&&!protocols.every(p=>isValidSubprotocol(p))){throw new DOMException2("Invalid Sec-WebSocket-Protocol value","SyntaxError")}this[kWebSocketURL]=new URL(urlRecord.href);this[kController]=establishWebSocketConnection(urlRecord,protocols,this,response=>this.#onConnectionEstablished(response),options);this[kReadyState]=_WebSocket.CONNECTING;this[kBinaryType]="blob"}close(code=void 0,reason=void 0){webidl.brandCheck(this,_WebSocket);if(code!==void 0){code=webidl.converters["unsigned short"](code,{clamp:true})}if(reason!==void 0){reason=webidl.converters.USVString(reason)}if(code!==void 0){if(code!==1e3&&(code<3e3||code>4999)){throw new DOMException2("invalid code","InvalidAccessError")}}let reasonByteLength=0;if(reason!==void 0){reasonByteLength=Buffer.byteLength(reason);if(reasonByteLength>123){throw new DOMException2(`Reason must be less than 123 bytes; received ${reasonByteLength}`,"SyntaxError")}}if(this[kReadyState]===_WebSocket.CLOSING||this[kReadyState]===_WebSocket.CLOSED){}else if(!isEstablished(this)){failWebsocketConnection(this,"Connection was closed before it was established.");this[kReadyState]=_WebSocket.CLOSING}else if(!isClosing(this)){const frame=new WebsocketFrameSend;if(code!==void 0&&reason===void 0){frame.frameData=Buffer.allocUnsafe(2);frame.frameData.writeUInt16BE(code,0)}else if(code!==void 0&&reason!==void 0){frame.frameData=Buffer.allocUnsafe(2+reasonByteLength);frame.frameData.writeUInt16BE(code,0);frame.frameData.write(reason,2,"utf-8")}else{frame.frameData=emptyBuffer}const socket=this[kResponse].socket;socket.write(frame.createFrame(opcodes.CLOSE),err=>{if(!err){this[kSentClose]=true}});this[kReadyState]=states.CLOSING}else{this[kReadyState]=_WebSocket.CLOSING}}send(data){webidl.brandCheck(this,_WebSocket);webidl.argumentLengthCheck(arguments,1,{header:"WebSocket.send"});data=webidl.converters.WebSocketSendData(data);if(this[kReadyState]===_WebSocket.CONNECTING){throw new DOMException2("Sent before connected.","InvalidStateError")}if(!isEstablished(this)||isClosing(this)){return}const socket=this[kResponse].socket;if(typeof data==="string"){const value=Buffer.from(data);const frame=new WebsocketFrameSend(value);const buffer=frame.createFrame(opcodes.TEXT);this.#bufferedAmount+=value.byteLength;socket.write(buffer,()=>{this.#bufferedAmount-=value.byteLength})}else if(types6.isArrayBuffer(data)){const value=Buffer.from(data);const frame=new WebsocketFrameSend(value);const buffer=frame.createFrame(opcodes.BINARY);this.#bufferedAmount+=value.byteLength;socket.write(buffer,()=>{this.#bufferedAmount-=value.byteLength})}else if(ArrayBuffer.isView(data)){const ab=Buffer.from(data,data.byteOffset,data.byteLength);const frame=new WebsocketFrameSend(ab);const buffer=frame.createFrame(opcodes.BINARY);this.#bufferedAmount+=ab.byteLength;socket.write(buffer,()=>{this.#bufferedAmount-=ab.byteLength})}else if(isBlobLike(data)){const frame=new WebsocketFrameSend;data.arrayBuffer().then(ab=>{const value=Buffer.from(ab);frame.frameData=value;const buffer=frame.createFrame(opcodes.BINARY);this.#bufferedAmount+=value.byteLength;socket.write(buffer,()=>{this.#bufferedAmount-=value.byteLength})})}}get readyState(){webidl.brandCheck(this,_WebSocket);return this[kReadyState]}get bufferedAmount(){webidl.brandCheck(this,_WebSocket);return this.#bufferedAmount}get url(){webidl.brandCheck(this,_WebSocket);return URLSerializer(this[kWebSocketURL])}get extensions(){webidl.brandCheck(this,_WebSocket);return this.#extensions}get protocol(){webidl.brandCheck(this,_WebSocket);return this.#protocol}get onopen(){webidl.brandCheck(this,_WebSocket);return this.#events.open}set onopen(fn2){webidl.brandCheck(this,_WebSocket);if(this.#events.open){this.removeEventListener("open",this.#events.open)}if(typeof fn2==="function"){this.#events.open=fn2;this.addEventListener("open",fn2)}else{this.#events.open=null}}get onerror(){webidl.brandCheck(this,_WebSocket);return this.#events.error}set onerror(fn2){webidl.brandCheck(this,_WebSocket);if(this.#events.error){this.removeEventListener("error",this.#events.error)}if(typeof fn2==="function"){this.#events.error=fn2;this.addEventListener("error",fn2)}else{this.#events.error=null}}get onclose(){webidl.brandCheck(this,_WebSocket);return this.#events.close}set onclose(fn2){webidl.brandCheck(this,_WebSocket);if(this.#events.close){this.removeEventListener("close",this.#events.close)}if(typeof fn2==="function"){this.#events.close=fn2;this.addEventListener("close",fn2)}else{this.#events.close=null}}get onmessage(){webidl.brandCheck(this,_WebSocket);return this.#events.message}set onmessage(fn2){webidl.brandCheck(this,_WebSocket);if(this.#events.message){this.removeEventListener("message",this.#events.message)}if(typeof fn2==="function"){this.#events.message=fn2;this.addEventListener("message",fn2)}else{this.#events.message=null}}get binaryType(){webidl.brandCheck(this,_WebSocket);return this[kBinaryType]}set binaryType(type2){webidl.brandCheck(this,_WebSocket);if(type2!=="blob"&&type2!=="arraybuffer"){this[kBinaryType]="blob"}else{this[kBinaryType]=type2}}#onConnectionEstablished(response){this[kResponse]=response;const parser=new ByteParser(this);parser.on("drain",function onParserDrain(){this.ws[kResponse].socket.resume()});response.socket.ws=this;this[kByteParser]=parser;this[kReadyState]=states.OPEN;const extensions2=response.headersList.get("sec-websocket-extensions");if(extensions2!==null){this.#extensions=extensions2}const protocol=response.headersList.get("sec-websocket-protocol");if(protocol!==null){this.#protocol=protocol}fireEvent("open",this)}};WebSocket2.CONNECTING=WebSocket2.prototype.CONNECTING=states.CONNECTING;WebSocket2.OPEN=WebSocket2.prototype.OPEN=states.OPEN;WebSocket2.CLOSING=WebSocket2.prototype.CLOSING=states.CLOSING;WebSocket2.CLOSED=WebSocket2.prototype.CLOSED=states.CLOSED;Object.defineProperties(WebSocket2.prototype,{CONNECTING:staticPropertyDescriptors,OPEN:staticPropertyDescriptors,CLOSING:staticPropertyDescriptors,CLOSED:staticPropertyDescriptors,url:kEnumerableProperty,readyState:kEnumerableProperty,bufferedAmount:kEnumerableProperty,onopen:kEnumerableProperty,onerror:kEnumerableProperty,onclose:kEnumerableProperty,close:kEnumerableProperty,onmessage:kEnumerableProperty,binaryType:kEnumerableProperty,send:kEnumerableProperty,extensions:kEnumerableProperty,protocol:kEnumerableProperty,[Symbol.toStringTag]:{value:"WebSocket",writable:false,enumerable:false,configurable:true}});Object.defineProperties(WebSocket2,{CONNECTING:staticPropertyDescriptors,OPEN:staticPropertyDescriptors,CLOSING:staticPropertyDescriptors,CLOSED:staticPropertyDescriptors});webidl.converters["sequence<DOMString>"]=webidl.sequenceConverter(webidl.converters.DOMString);webidl.converters["DOMString or sequence<DOMString>"]=function(V){if(webidl.util.Type(V)==="Object"&&Symbol.iterator in V){return webidl.converters["sequence<DOMString>"](V)}return webidl.converters.DOMString(V)};webidl.converters.WebSocketInit=webidl.dictionaryConverter([{key:"protocols",converter:webidl.converters["DOMString or sequence<DOMString>"],get defaultValue(){return[]}},{key:"dispatcher",converter:V=>V,get defaultValue(){return getGlobalDispatcher()}},{key:"headers",converter:webidl.nullableConverter(webidl.converters.HeadersInit)}]);webidl.converters["DOMString or sequence<DOMString> or WebSocketInit"]=function(V){if(webidl.util.Type(V)==="Object"&&!(Symbol.iterator in V)){return webidl.converters.WebSocketInit(V)}return{protocols:webidl.converters["DOMString or sequence<DOMString>"](V)}};webidl.converters.WebSocketSendData=function(V){if(webidl.util.Type(V)==="Object"){if(isBlobLike(V)){return webidl.converters.Blob(V,{strict:false})}if(ArrayBuffer.isView(V)||types6.isAnyArrayBuffer(V)){return webidl.converters.BufferSource(V)}}return webidl.converters.USVString(V)};module2.exports={WebSocket:WebSocket2}}});var require_undici=__commonJS({"node_modules/undici/index.js"(exports2,module2){"use strict";var Client3=require_client4();var Dispatcher=require_dispatcher();var errors2=require_errors5();var Pool=require_pool4();var BalancedPool=require_balanced_pool();var Agent=require_agent2();var util4=require_util3();var{InvalidArgumentError}=errors2;var api=require_api();var buildConnector=require_connect();var MockClient=require_mock_client();var MockAgent=require_mock_agent();var MockPool=require_mock_pool();var mockErrors=require_mock_errors();var ProxyAgent=require_proxy_agent();var RetryHandler=require_RetryHandler();var{getGlobalDispatcher,setGlobalDispatcher}=require_global2();var DecoratorHandler=require_DecoratorHandler();var RedirectHandler=require_RedirectHandler();var createRedirectInterceptor=require_redirectInterceptor();var hasCrypto;try{require("crypto");hasCrypto=true}catch{hasCrypto=false}Object.assign(Dispatcher.prototype,api);module2.exports.Dispatcher=Dispatcher;module2.exports.Client=Client3;module2.exports.Pool=Pool;module2.exports.BalancedPool=BalancedPool;module2.exports.Agent=Agent;module2.exports.ProxyAgent=ProxyAgent;module2.exports.RetryHandler=RetryHandler;module2.exports.DecoratorHandler=DecoratorHandler;module2.exports.RedirectHandler=RedirectHandler;module2.exports.createRedirectInterceptor=createRedirectInterceptor;module2.exports.buildConnector=buildConnector;module2.exports.errors=errors2;function makeDispatcher(fn2){return(url,opts,handler)=>{if(typeof opts==="function"){handler=opts;opts=null}if(!url||typeof url!=="string"&&typeof url!=="object"&&!(url instanceof URL)){throw new InvalidArgumentError("invalid url")}if(opts!=null&&typeof opts!=="object"){throw new InvalidArgumentError("invalid opts")}if(opts&&opts.path!=null){if(typeof opts.path!=="string"){throw new InvalidArgumentError("invalid opts.path")}let path27=opts.path;if(!opts.path.startsWith("/")){path27=`/${path27}`}url=new URL(util4.parseOrigin(url).origin+path27)}else{if(!opts){opts=typeof url==="object"?url:{}}url=util4.parseURL(url)}const{agent,dispatcher=getGlobalDispatcher()}=opts;if(agent){throw new InvalidArgumentError("unsupported opts.agent. Did you mean opts.client?")}return fn2.call(dispatcher,{...opts,origin:url.origin,path:url.search?`${url.pathname}${url.search}`:url.pathname,method:opts.method||(opts.body?"PUT":"GET")},handler)}}module2.exports.setGlobalDispatcher=setGlobalDispatcher;module2.exports.getGlobalDispatcher=getGlobalDispatcher;if(util4.nodeMajor>16||util4.nodeMajor===16&&util4.nodeMinor>=8){let fetchImpl=null;module2.exports.fetch=async function fetch(resource){if(!fetchImpl){fetchImpl=require_fetch().fetch}try{return await fetchImpl(...arguments)}catch(err){if(typeof err==="object"){Error.captureStackTrace(err,this)}throw err}};module2.exports.Headers=require_headers().Headers;module2.exports.Response=require_response().Response;module2.exports.Request=require_request3().Request;module2.exports.FormData=require_formdata().FormData;module2.exports.File=require_file2().File;module2.exports.FileReader=require_filereader().FileReader;const{setGlobalOrigin,getGlobalOrigin}=require_global();module2.exports.setGlobalOrigin=setGlobalOrigin;module2.exports.getGlobalOrigin=getGlobalOrigin;const{CacheStorage}=require_cachestorage();const{kConstruct}=require_symbols4();module2.exports.caches=new CacheStorage(kConstruct)}if(util4.nodeMajor>=16){const{deleteCookie,getCookies,getSetCookies,setCookie}=require_cookies();module2.exports.deleteCookie=deleteCookie;module2.exports.getCookies=getCookies;module2.exports.getSetCookies=getSetCookies;module2.exports.setCookie=setCookie;const{parseMIMEType,serializeAMimeType}=require_dataURL();module2.exports.parseMIMEType=parseMIMEType;module2.exports.serializeAMimeType=serializeAMimeType}if(util4.nodeMajor>=18&&hasCrypto){const{WebSocket:WebSocket2}=require_websocket();module2.exports.WebSocket=WebSocket2}module2.exports.request=makeDispatcher(api.request);module2.exports.stream=makeDispatcher(api.stream);module2.exports.pipeline=makeDispatcher(api.pipeline);module2.exports.connect=makeDispatcher(api.connect);module2.exports.upgrade=makeDispatcher(api.upgrade);module2.exports.MockClient=MockClient;module2.exports.MockPool=MockPool;module2.exports.MockAgent=MockAgent;module2.exports.mockErrors=mockErrors}});var require_dist=__commonJS({"node_modules/@discordjs/collection/dist/index.js"(exports2,module2){"use strict";var __defProp2=Object.defineProperty;var __getOwnPropDesc2=Object.getOwnPropertyDescriptor;var __getOwnPropNames2=Object.getOwnPropertyNames;var __hasOwnProp2=Object.prototype.hasOwnProperty;var __name=(target,value)=>__defProp2(target,"name",{value,configurable:true});var __export2=(target,all2)=>{for(var name in all2)__defProp2(target,name,{get:all2[name],enumerable:true})};var __copyProps2=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames2(from))if(!__hasOwnProp2.call(to,key)&&key!==except)__defProp2(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc2(from,key))||desc.enumerable})}return to};var __toCommonJS2=mod3=>__copyProps2(__defProp2({},"__esModule",{value:true}),mod3);var src_exports2={};__export2(src_exports2,{Collection:()=>Collection2,version:()=>version});module2.exports=__toCommonJS2(src_exports2);var _a12;var Collection2=(_a12=class extends Map{ensure(key,defaultValueGenerator){if(this.has(key))return this.get(key);if(typeof defaultValueGenerator!=="function")throw new TypeError(`${defaultValueGenerator} is not a function`);const defaultValue=defaultValueGenerator(key,this);this.set(key,defaultValue);return defaultValue}hasAll(...keys2){return keys2.every(key=>super.has(key))}hasAny(...keys2){return keys2.some(key=>super.has(key))}first(amount){if(amount===void 0)return this.values().next().value;if(amount<0)return this.last(amount*-1);amount=Math.min(this.size,amount);const iter=this.values();return Array.from({length:amount},()=>iter.next().value)}firstKey(amount){if(amount===void 0)return this.keys().next().value;if(amount<0)return this.lastKey(amount*-1);amount=Math.min(this.size,amount);const iter=this.keys();return Array.from({length:amount},()=>iter.next().value)}last(amount){const arr=[...this.values()];if(amount===void 0)return arr[arr.length-1];if(amount<0)return this.first(amount*-1);if(!amount)return[];return arr.slice(-amount)}lastKey(amount){const arr=[...this.keys()];if(amount===void 0)return arr[arr.length-1];if(amount<0)return this.firstKey(amount*-1);if(!amount)return[];return arr.slice(-amount)}at(index){index=Math.floor(index);const arr=[...this.values()];return arr.at(index)}keyAt(index){index=Math.floor(index);const arr=[...this.keys()];return arr.at(index)}random(amount){const arr=[...this.values()];if(amount===void 0)return arr[Math.floor(Math.random()*arr.length)];if(!arr.length||!amount)return[];return Array.from({length:Math.min(amount,arr.length)},()=>arr.splice(Math.floor(Math.random()*arr.length),1)[0])}randomKey(amount){const arr=[...this.keys()];if(amount===void 0)return arr[Math.floor(Math.random()*arr.length)];if(!arr.length||!amount)return[];return Array.from({length:Math.min(amount,arr.length)},()=>arr.splice(Math.floor(Math.random()*arr.length),1)[0])}reverse(){const entries2=[...this.entries()].reverse();this.clear();for(const[key,value]of entries2)this.set(key,value);return this}find(fn2,thisArg){if(typeof fn2!=="function")throw new TypeError(`${fn2} is not a function`);if(thisArg!==void 0)fn2=fn2.bind(thisArg);for(const[key,val]of this){if(fn2(val,key,this))return val}return void 0}findKey(fn2,thisArg){if(typeof fn2!=="function")throw new TypeError(`${fn2} is not a function`);if(thisArg!==void 0)fn2=fn2.bind(thisArg);for(const[key,val]of this){if(fn2(val,key,this))return key}return void 0}sweep(fn2,thisArg){if(typeof fn2!=="function")throw new TypeError(`${fn2} is not a function`);if(thisArg!==void 0)fn2=fn2.bind(thisArg);const previousSize=this.size;for(const[key,val]of this){if(fn2(val,key,this))this.delete(key)}return previousSize-this.size}filter(fn2,thisArg){if(typeof fn2!=="function")throw new TypeError(`${fn2} is not a function`);if(thisArg!==void 0)fn2=fn2.bind(thisArg);const results=new this.constructor[Symbol.species];for(const[key,val]of this){if(fn2(val,key,this))results.set(key,val)}return results}partition(fn2,thisArg){if(typeof fn2!=="function")throw new TypeError(`${fn2} is not a function`);if(thisArg!==void 0)fn2=fn2.bind(thisArg);const results=[new this.constructor[Symbol.species],new this.constructor[Symbol.species]];for(const[key,val]of this){if(fn2(val,key,this)){results[0].set(key,val)}else{results[1].set(key,val)}}return results}flatMap(fn2,thisArg){const collections=this.map(fn2,thisArg);return new this.constructor[Symbol.species]().concat(...collections)}map(fn2,thisArg){if(typeof fn2!=="function")throw new TypeError(`${fn2} is not a function`);if(thisArg!==void 0)fn2=fn2.bind(thisArg);const iter=this.entries();return Array.from({length:this.size},()=>{const[key,value]=iter.next().value;return fn2(value,key,this)})}mapValues(fn2,thisArg){if(typeof fn2!=="function")throw new TypeError(`${fn2} is not a function`);if(thisArg!==void 0)fn2=fn2.bind(thisArg);const coll=new this.constructor[Symbol.species];for(const[key,val]of this)coll.set(key,fn2(val,key,this));return coll}some(fn2,thisArg){if(typeof fn2!=="function")throw new TypeError(`${fn2} is not a function`);if(thisArg!==void 0)fn2=fn2.bind(thisArg);for(const[key,val]of this){if(fn2(val,key,this))return true}return false}every(fn2,thisArg){if(typeof fn2!=="function")throw new TypeError(`${fn2} is not a function`);if(thisArg!==void 0)fn2=fn2.bind(thisArg);for(const[key,val]of this){if(!fn2(val,key,this))return false}return true}reduce(fn2,initialValue){if(typeof fn2!=="function")throw new TypeError(`${fn2} is not a function`);let accumulator;const iterator=this.entries();if(initialValue===void 0){if(this.size===0)throw new TypeError("Reduce of empty collection with no initial value");accumulator=iterator.next().value[1]}else{accumulator=initialValue}for(const[key,value]of iterator){accumulator=fn2(accumulator,value,key,this)}return accumulator}each(fn2,thisArg){if(typeof fn2!=="function")throw new TypeError(`${fn2} is not a function`);if(thisArg!==void 0)fn2=fn2.bind(thisArg);for(const[key,value]of this){fn2(value,key,this)}return this}tap(fn2,thisArg){if(typeof fn2!=="function")throw new TypeError(`${fn2} is not a function`);if(thisArg!==void 0)fn2=fn2.bind(thisArg);fn2(this);return this}clone(){return new this.constructor[Symbol.species](this)}concat(...collections){const newColl=this.clone();for(const coll of collections){for(const[key,val]of coll)newColl.set(key,val)}return newColl}equals(collection){if(!collection)return false;if(this===collection)return true;if(this.size!==collection.size)return false;for(const[key,value]of this){if(!collection.has(key)||value!==collection.get(key)){return false}}return true}sort(compareFunction=_a12.defaultSort){const entries2=[...this.entries()];entries2.sort((a,b)=>compareFunction(a[1],b[1],a[0],b[0]));super.clear();for(const[key,value]of entries2){super.set(key,value)}return this}intersect(other){const coll=new this.constructor[Symbol.species];for(const[key,value]of other){if(this.has(key)&&Object.is(value,this.get(key))){coll.set(key,value)}}return coll}subtract(other){const coll=new this.constructor[Symbol.species];for(const[key,value]of this){if(!other.has(key)||!Object.is(value,other.get(key))){coll.set(key,value)}}return coll}difference(other){const coll=new this.constructor[Symbol.species];for(const[key,value]of other){if(!this.has(key))coll.set(key,value)}for(const[key,value]of this){if(!other.has(key))coll.set(key,value)}return coll}merge(other,whenInSelf,whenInOther,whenInBoth){const coll=new this.constructor[Symbol.species];const keys2=new Set([...this.keys(),...other.keys()]);for(const key of keys2){const hasInSelf=this.has(key);const hasInOther=other.has(key);if(hasInSelf&&hasInOther){const result2=whenInBoth(this.get(key),other.get(key),key);if(result2.keep)coll.set(key,result2.value)}else if(hasInSelf){const result2=whenInSelf(this.get(key),key);if(result2.keep)coll.set(key,result2.value)}else if(hasInOther){const result2=whenInOther(other.get(key),key);if(result2.keep)coll.set(key,result2.value)}}return coll}sorted(compareFunction=_a12.defaultSort){return new this.constructor[Symbol.species](this).sort((av,bv,ak,bk)=>compareFunction(av,bv,ak,bk))}toJSON(){return[...this.values()]}static defaultSort(firstValue,secondValue){return Number(firstValue>secondValue)||Number(firstValue===secondValue)-1}static combineEntries(entries2,combine){const coll=new _a12;for(const[key,value]of entries2){if(coll.has(key)){coll.set(key,combine(coll.get(key),value,key))}else{coll.set(key,value)}}return coll}},__name(_a12,"Collection"),_a12);var version="1.5.3"}});var require_dist2=__commonJS({"node_modules/@discordjs/util/dist/index.js"(exports2,module2){"use strict";var __defProp2=Object.defineProperty;var __getOwnPropDesc2=Object.getOwnPropertyDescriptor;var __getOwnPropNames2=Object.getOwnPropertyNames;var __hasOwnProp2=Object.prototype.hasOwnProperty;var __name=(target,value)=>__defProp2(target,"name",{value,configurable:true});var __export2=(target,all2)=>{for(var name in all2)__defProp2(target,name,{get:all2[name],enumerable:true})};var __copyProps2=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames2(from))if(!__hasOwnProp2.call(to,key)&&key!==except)__defProp2(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc2(from,key))||desc.enumerable})}return to};var __toCommonJS2=mod3=>__copyProps2(__defProp2({},"__esModule",{value:true}),mod3);var src_exports2={};__export2(src_exports2,{calculateShardId:()=>calculateShardId,isEquatable:()=>isEquatable,isJSONEncodable:()=>isJSONEncodable,lazy:()=>lazy,range:()=>range2});module2.exports=__toCommonJS2(src_exports2);function lazy(cb){let defaultValue;return()=>defaultValue??=cb()}__name(lazy,"lazy");function*range2(range22){let rangeEnd;let start=0;let step=1;if(typeof range22==="number"){rangeEnd=range22}else{start=range22.start;rangeEnd=range22.end;step=range22.step??1}for(let index=start;index<rangeEnd;index+=step){yield index}}__name(range2,"range");function calculateShardId(guildId,shardCount){return Number(BigInt(guildId)>>22n)%shardCount}__name(calculateShardId,"calculateShardId");function isJSONEncodable(maybeEncodable){return maybeEncodable!==null&&typeof maybeEncodable==="object"&&"toJSON"in maybeEncodable}__name(isJSONEncodable,"isJSONEncodable");function isEquatable(maybeEquatable){return maybeEquatable!==null&&typeof maybeEquatable==="object"&&"equals"in maybeEquatable}__name(isEquatable,"isEquatable")}});var require_cjs2=__commonJS({"node_modules/@sapphire/snowflake/dist/cjs/index.cjs"(exports2){"use strict";var __defProp2=Object.defineProperty;var __defNormalProp=(obj,key,value)=>key in obj?__defProp2(obj,key,{enumerable:true,configurable:true,writable:true,value}):obj[key]=value;var __name=(target,value)=>__defProp2(target,"name",{value,configurable:true});var __publicField=(obj,key,value)=>__defNormalProp(obj,typeof key!=="symbol"?key+"":key,value);var IncrementSymbol=Symbol("@sapphire/snowflake.increment");var EpochSymbol=Symbol("@sapphire/snowflake.epoch");var EpochNumberSymbol=Symbol("@sapphire/snowflake.epoch.number");var ProcessIdSymbol=Symbol("@sapphire/snowflake.processId");var WorkerIdSymbol=Symbol("@sapphire/snowflake.workerId");var MaximumWorkerId=0b11111n;var MaximumProcessId=0b11111n;var MaximumIncrement=0b111111111111n;var TimestampFieldDivisor=2**22;var _a12;var _b2;var _c;var _d;var _e;_e=EpochSymbol,_d=EpochNumberSymbol,_c=IncrementSymbol,_b2=ProcessIdSymbol,_a12=WorkerIdSymbol;var _Snowflake=class _Snowflake{constructor(epoch){__publicField(this,"decode",this.deconstruct);__publicField(this,_e);__publicField(this,_d);__publicField(this,_c,0n);__publicField(this,_b2,1n);__publicField(this,_a12,0n);this[EpochSymbol]=BigInt(epoch instanceof Date?epoch.getTime():epoch);this[EpochNumberSymbol]=Number(this[EpochSymbol])}get epoch(){return this[EpochSymbol]}get epochNumber(){return this[EpochNumberSymbol]}get processId(){return this[ProcessIdSymbol]}set processId(value){this[ProcessIdSymbol]=BigInt(value)&MaximumProcessId}get workerId(){return this[WorkerIdSymbol]}set workerId(value){this[WorkerIdSymbol]=BigInt(value)&MaximumWorkerId}generate({increment,timestamp:timestamp2=Date.now(),workerId=this[WorkerIdSymbol],processId=this[ProcessIdSymbol]}={}){if(timestamp2 instanceof Date)timestamp2=BigInt(timestamp2.getTime());else if(typeof timestamp2==="number")timestamp2=BigInt(timestamp2);else if(typeof timestamp2!=="bigint"){throw new TypeError(`"timestamp" argument must be a number, bigint, or Date (received ${typeof timestamp2})`)}if(typeof increment!=="bigint"){increment=this[IncrementSymbol];this[IncrementSymbol]=increment+1n&MaximumIncrement}return timestamp2-this[EpochSymbol]<<22n|(workerId&MaximumWorkerId)<<17n|(processId&MaximumProcessId)<<12n|increment&MaximumIncrement}deconstruct(id){const bigIntId=BigInt(id);const epoch=this[EpochSymbol];return{id:bigIntId,timestamp:(bigIntId>>22n)+epoch,workerId:bigIntId>>17n&MaximumWorkerId,processId:bigIntId>>12n&MaximumProcessId,increment:bigIntId&MaximumIncrement,epoch}}timestampFrom(id){return Math.floor(Number(id)/TimestampFieldDivisor)+this[EpochNumberSymbol]}static compare(a,b){const typeA=typeof a;return typeA===typeof b?typeA==="string"?cmpString(a,b):cmpBigInt(a,b):cmpBigInt(BigInt(a),BigInt(b))}};__name(_Snowflake,"Snowflake");var Snowflake=_Snowflake;function cmpBigInt(a,b){return a===b?0:a<b?-1:1}__name(cmpBigInt,"cmpBigInt");function cmpString(a,b){return a===b?0:a.length<b.length?-1:a.length>b.length?1:a<b?-1:1}__name(cmpString,"cmpString");var DiscordSnowflake=new Snowflake(1420070400000n);var TwitterSnowflake=new Snowflake(1288834974657n);exports2.DiscordSnowflake=DiscordSnowflake;exports2.MaximumIncrement=MaximumIncrement;exports2.MaximumProcessId=MaximumProcessId;exports2.MaximumWorkerId=MaximumWorkerId;exports2.Snowflake=Snowflake;exports2.TwitterSnowflake=TwitterSnowflake}});var require_cjs3=__commonJS({"node_modules/@sapphire/async-queue/dist/cjs/index.cjs"(exports2){"use strict";var __defProp2=Object.defineProperty;var __defNormalProp=(obj,key,value)=>key in obj?__defProp2(obj,key,{enumerable:true,configurable:true,writable:true,value}):obj[key]=value;var __name=(target,value)=>__defProp2(target,"name",{value,configurable:true});var __publicField=(obj,key,value)=>__defNormalProp(obj,typeof key!=="symbol"?key+"":key,value);var _AsyncQueueEntry=class _AsyncQueueEntry{constructor(queue){__publicField(this,"promise");__publicField(this,"resolve");__publicField(this,"reject");__publicField(this,"queue");__publicField(this,"signal",null);__publicField(this,"signalListener",null);this.queue=queue;this.promise=new Promise((resolve,reject2)=>{this.resolve=resolve;this.reject=reject2})}setSignal(signal){if(signal.aborted)return this;this.signal=signal;this.signalListener=()=>{const index=this.queue["promises"].indexOf(this);if(index!==-1)this.queue["promises"].splice(index,1);this.reject(new Error("Request aborted manually"))};this.signal.addEventListener("abort",this.signalListener);return this}use(){this.dispose();this.resolve();return this}abort(){this.dispose();this.reject(new Error("Request aborted manually"));return this}dispose(){if(this.signal){this.signal.removeEventListener("abort",this.signalListener);this.signal=null;this.signalListener=null}}};__name(_AsyncQueueEntry,"AsyncQueueEntry");var AsyncQueueEntry=_AsyncQueueEntry;var _AsyncQueue=class _AsyncQueue{constructor(){__publicField(this,"promises",[])}get remaining(){return this.promises.length}get queued(){return this.remaining===0?0:this.remaining-1}wait(options){const entry=new AsyncQueueEntry(this);if(this.promises.length===0){this.promises.push(entry);return Promise.resolve()}this.promises.push(entry);if(options==null?void 0:options.signal)entry.setSignal(options.signal);return entry.promise}shift(){if(this.promises.length===0)return;if(this.promises.length===1){this.promises.shift();return}this.promises.shift();this.promises[0].use()}abortAll(){if(this.queued===0)return;for(let i=1;i<this.promises.length;++i){this.promises[i].abort()}this.promises.length=1}};__name(_AsyncQueue,"AsyncQueue");var AsyncQueue=_AsyncQueue;exports2.AsyncQueue=AsyncQueue}});var defaultMessages,EndOfStreamError;var init_EndOfStreamError=__esm({"node_modules/peek-readable/lib/EndOfStreamError.js"(){defaultMessages="End-Of-Stream";EndOfStreamError=class extends Error{constructor(){super(defaultMessages)}}}});var Deferred;var init_Deferred=__esm({"node_modules/peek-readable/lib/Deferred.js"(){Deferred=class{constructor(){this.resolve=()=>null;this.reject=()=>null;this.promise=new Promise((resolve,reject2)=>{this.reject=reject2;this.resolve=resolve})}}}});var AbstractStreamReader;var init_AbstractStreamReader=__esm({"node_modules/peek-readable/lib/AbstractStreamReader.js"(){init_EndOfStreamError();AbstractStreamReader=class{constructor(){this.maxStreamReadSize=1*1024*1024;this.endOfStream=false;this.peekQueue=[]}async peek(uint8Array,offset,length){const bytesRead=await this.read(uint8Array,offset,length);this.peekQueue.push(uint8Array.subarray(offset,offset+bytesRead));return bytesRead}async read(buffer,offset,length){if(length===0){return 0}let bytesRead=this.readFromPeekBuffer(buffer,offset,length);bytesRead+=await this.readRemainderFromStream(buffer,offset+bytesRead,length-bytesRead);if(bytesRead===0){throw new EndOfStreamError}return bytesRead}readFromPeekBuffer(buffer,offset,length){let remaining=length;let bytesRead=0;while(this.peekQueue.length>0&&remaining>0){const peekData=this.peekQueue.pop();if(!peekData)throw new Error("peekData should be defined");const lenCopy=Math.min(peekData.length,remaining);buffer.set(peekData.subarray(0,lenCopy),offset+bytesRead);bytesRead+=lenCopy;remaining-=lenCopy;if(lenCopy<peekData.length){this.peekQueue.push(peekData.subarray(lenCopy))}}return bytesRead}async readRemainderFromStream(buffer,offset,initialRemaining){let remaining=initialRemaining;let bytesRead=0;while(remaining>0&&!this.endOfStream){const reqLen=Math.min(remaining,this.maxStreamReadSize);const chunkLen=await this.readFromStream(buffer,offset+bytesRead,reqLen);if(chunkLen===0)break;bytesRead+=chunkLen;remaining-=chunkLen}return bytesRead}}}});var StreamReader;var init_StreamReader=__esm({"node_modules/peek-readable/lib/StreamReader.js"(){init_EndOfStreamError();init_Deferred();init_AbstractStreamReader();init_EndOfStreamError();StreamReader=class extends AbstractStreamReader{constructor(s){super();this.s=s;this.deferred=null;if(!s.read||!s.once){throw new Error("Expected an instance of stream.Readable")}this.s.once("end",()=>this.reject(new EndOfStreamError));this.s.once("error",err=>this.reject(err));this.s.once("close",()=>this.reject(new Error("Stream closed")))}async readFromStream(buffer,offset,length){if(this.endOfStream){return 0}const readBuffer=this.s.read(length);if(readBuffer){buffer.set(readBuffer,offset);return readBuffer.length}const request={buffer,offset,length,deferred:new Deferred};this.deferred=request.deferred;this.s.once("readable",()=>{this.readDeferred(request)});return request.deferred.promise}readDeferred(request){const readBuffer=this.s.read(request.length);if(readBuffer){request.buffer.set(readBuffer,request.offset);request.deferred.resolve(readBuffer.length);this.deferred=null}else{this.s.once("readable",()=>{this.readDeferred(request)})}}reject(err){this.endOfStream=true;if(this.deferred){this.deferred.reject(err);this.deferred=null}}async abort(){this.s.destroy()}}}});var init_WebStreamReader=__esm({"node_modules/peek-readable/lib/WebStreamReader.js"(){init_EndOfStreamError();init_EndOfStreamError();init_AbstractStreamReader()}});var init_lib=__esm({"node_modules/peek-readable/lib/index.js"(){init_EndOfStreamError();init_StreamReader();init_WebStreamReader()}});var AbstractTokenizer;var init_AbstractTokenizer=__esm({"node_modules/strtok3/lib/AbstractTokenizer.js"(){init_lib();AbstractTokenizer=class{constructor(fileInfo){this.position=0;this.numBuffer=new Uint8Array(8);this.fileInfo=fileInfo?fileInfo:{}}async readToken(token3,position=this.position){const uint8Array=new Uint8Array(token3.len);const len=await this.readBuffer(uint8Array,{position});if(len<token3.len)throw new EndOfStreamError;return token3.get(uint8Array,0)}async peekToken(token3,position=this.position){const uint8Array=new Uint8Array(token3.len);const len=await this.peekBuffer(uint8Array,{position});if(len<token3.len)throw new EndOfStreamError;return token3.get(uint8Array,0)}async readNumber(token3){const len=await this.readBuffer(this.numBuffer,{length:token3.len});if(len<token3.len)throw new EndOfStreamError;return token3.get(this.numBuffer,0)}async peekNumber(token3){const len=await this.peekBuffer(this.numBuffer,{length:token3.len});if(len<token3.len)throw new EndOfStreamError;return token3.get(this.numBuffer,0)}async ignore(length){if(this.fileInfo.size!==void 0){const bytesLeft=this.fileInfo.size-this.position;if(length>bytesLeft){this.position+=bytesLeft;return bytesLeft}}this.position+=length;return length}async close(){}normalizeOptions(uint8Array,options){if(options&&options.position!==void 0&&options.position<this.position){throw new Error("`options.position` must be equal or greater than `tokenizer.position`")}if(options){return{mayBeLess:options.mayBeLess===true,offset:options.offset?options.offset:0,length:options.length?options.length:uint8Array.length-(options.offset?options.offset:0),position:options.position?options.position:this.position}}return{mayBeLess:false,offset:0,length:uint8Array.length,position:this.position}}}}});var maxBufferSize,ReadStreamTokenizer;var init_ReadStreamTokenizer=__esm({"node_modules/strtok3/lib/ReadStreamTokenizer.js"(){init_AbstractTokenizer();init_lib();maxBufferSize=256e3;ReadStreamTokenizer=class extends AbstractTokenizer{constructor(streamReader,fileInfo){super(fileInfo);this.streamReader=streamReader}async getFileInfo(){return this.fileInfo}async readBuffer(uint8Array,options){const normOptions=this.normalizeOptions(uint8Array,options);const skipBytes=normOptions.position-this.position;if(skipBytes>0){await this.ignore(skipBytes);return this.readBuffer(uint8Array,options)}else if(skipBytes<0){throw new Error("`options.position` must be equal or greater than `tokenizer.position`")}if(normOptions.length===0){return 0}const bytesRead=await this.streamReader.read(uint8Array,normOptions.offset,normOptions.length);this.position+=bytesRead;if((!options||!options.mayBeLess)&&bytesRead<normOptions.length){throw new EndOfStreamError}return bytesRead}async peekBuffer(uint8Array,options){const normOptions=this.normalizeOptions(uint8Array,options);let bytesRead=0;if(normOptions.position){const skipBytes=normOptions.position-this.position;if(skipBytes>0){const skipBuffer=new Uint8Array(normOptions.length+skipBytes);bytesRead=await this.peekBuffer(skipBuffer,{mayBeLess:normOptions.mayBeLess});uint8Array.set(skipBuffer.subarray(skipBytes),normOptions.offset);return bytesRead-skipBytes}else if(skipBytes<0){throw new Error("Cannot peek from a negative offset in a stream")}}if(normOptions.length>0){try{bytesRead=await this.streamReader.peek(uint8Array,normOptions.offset,normOptions.length)}catch(err){if(options&&options.mayBeLess&&err instanceof EndOfStreamError){return 0}throw err}if(!normOptions.mayBeLess&&bytesRead<normOptions.length){throw new EndOfStreamError}}return bytesRead}async ignore(length){const bufSize=Math.min(maxBufferSize,length);const buf=new Uint8Array(bufSize);let totBytesRead=0;while(totBytesRead<length){const remaining=length-totBytesRead;const bytesRead=await this.readBuffer(buf,{length:Math.min(bufSize,remaining)});if(bytesRead<0){return bytesRead}totBytesRead+=bytesRead}return totBytesRead}}}});var BufferTokenizer;var init_BufferTokenizer=__esm({"node_modules/strtok3/lib/BufferTokenizer.js"(){init_lib();init_AbstractTokenizer();BufferTokenizer=class extends AbstractTokenizer{constructor(uint8Array,fileInfo){super(fileInfo);this.uint8Array=uint8Array;this.fileInfo.size=this.fileInfo.size?this.fileInfo.size:uint8Array.length}async readBuffer(uint8Array,options){if(options&&options.position){if(options.position<this.position){throw new Error("`options.position` must be equal or greater than `tokenizer.position`")}this.position=options.position}const bytesRead=await this.peekBuffer(uint8Array,options);this.position+=bytesRead;return bytesRead}async peekBuffer(uint8Array,options){const normOptions=this.normalizeOptions(uint8Array,options);const bytes2read=Math.min(this.uint8Array.length-normOptions.position,normOptions.length);if(!normOptions.mayBeLess&&bytes2read<normOptions.length){throw new EndOfStreamError}else{uint8Array.set(this.uint8Array.subarray(normOptions.position,normOptions.position+bytes2read),normOptions.offset);return bytes2read}}async close(){}}}});function fromStream(stream3,fileInfo){fileInfo=fileInfo?fileInfo:{};return new ReadStreamTokenizer(new StreamReader(stream3),fileInfo)}function fromBuffer(uint8Array,fileInfo){return new BufferTokenizer(uint8Array,fileInfo)}var init_core=__esm({"node_modules/strtok3/lib/core.js"(){init_ReadStreamTokenizer();init_BufferTokenizer();init_lib();init_lib()}});async function fromFile(sourceFilePath){const fileHandle=await(0,import_promises7.open)(sourceFilePath,"r");const stat3=await fileHandle.stat();return new FileTokenizer(fileHandle,{path:sourceFilePath,size:stat3.size})}var import_promises7,FileTokenizer;var init_FileTokenizer=__esm({"node_modules/strtok3/lib/FileTokenizer.js"(){init_AbstractTokenizer();init_lib();import_promises7=require("node:fs/promises");FileTokenizer=class extends AbstractTokenizer{constructor(fileHandle,fileInfo){super(fileInfo);this.fileHandle=fileHandle}async readBuffer(uint8Array,options){const normOptions=this.normalizeOptions(uint8Array,options);this.position=normOptions.position;const res=await this.fileHandle.read(uint8Array,normOptions.offset,normOptions.length,normOptions.position);this.position+=res.bytesRead;if(res.bytesRead<normOptions.length&&(!options||!options.mayBeLess)){throw new EndOfStreamError}return res.bytesRead}async peekBuffer(uint8Array,options){const normOptions=this.normalizeOptions(uint8Array,options);const res=await this.fileHandle.read(uint8Array,normOptions.offset,normOptions.length,normOptions.position);if(!normOptions.mayBeLess&&res.bytesRead<normOptions.length){throw new EndOfStreamError}return res.bytesRead}async close(){return this.fileHandle.close()}}}});var init_lib2=__esm({"node_modules/strtok3/lib/index.js"(){init_core();init_FileTokenizer();init_core()}});var require_ieee754=__commonJS({"node_modules/ieee754/index.js"(exports2){exports2.read=function(buffer,offset,isLE,mLen,nBytes){var e,m;var eLen=nBytes*8-mLen-1;var eMax=(1<<eLen)-1;var eBias=eMax>>1;var nBits=-7;var i=isLE?nBytes-1:0;var d=isLE?-1:1;var s=buffer[offset+i];i+=d;e=s&(1<<-nBits)-1;s>>=-nBits;nBits+=eLen;for(;nBits>0;e=e*256+buffer[offset+i],i+=d,nBits-=8){}m=e&(1<<-nBits)-1;e>>=-nBits;nBits+=mLen;for(;nBits>0;m=m*256+buffer[offset+i],i+=d,nBits-=8){}if(e===0){e=1-eBias}else if(e===eMax){return m?NaN:(s?-1:1)*Infinity}else{m=m+Math.pow(2,mLen);e=e-eBias}return(s?-1:1)*m*Math.pow(2,e-mLen)};exports2.write=function(buffer,value,offset,isLE,mLen,nBytes){var e,m,c;var eLen=nBytes*8-mLen-1;var eMax=(1<<eLen)-1;var eBias=eMax>>1;var rt=mLen===23?Math.pow(2,-24)-Math.pow(2,-77):0;var i=isLE?0:nBytes-1;var d=isLE?1:-1;var s=value<0||value===0&&1/value<0?1:0;value=Math.abs(value);if(isNaN(value)||value===Infinity){m=isNaN(value)?1:0;e=eMax}else{e=Math.floor(Math.log(value)/Math.LN2);if(value*(c=Math.pow(2,-e))<1){e--;c*=2}if(e+eBias>=1){value+=rt/c}else{value+=rt*Math.pow(2,1-eBias)}if(value*c>=2){e++;c/=2}if(e+eBias>=eMax){m=0;e=eMax}else if(e+eBias>=1){m=(value*c-1)*Math.pow(2,mLen);e=e+eBias}else{m=value*Math.pow(2,eBias-1)*Math.pow(2,mLen);e=0}}for(;mLen>=8;buffer[offset+i]=m&255,i+=d,m/=256,mLen-=8){}e=e<<mLen|m;eLen+=mLen;for(;eLen>0;buffer[offset+i]=e&255,i+=d,e/=256,eLen-=8){}buffer[offset+i-d]|=s*128}}});function dv(array){return new DataView(array.buffer,array.byteOffset)}var ieee754,import_node_buffer3,UINT8,UINT16_LE,UINT16_BE,UINT32_LE,UINT32_BE,INT32_BE,UINT64_LE,StringType,AnsiStringType;var init_lib3=__esm({"node_modules/token-types/lib/index.js"(){ieee754=__toESM(require_ieee754(),1);import_node_buffer3=require("node:buffer");UINT8={len:1,get(array,offset){return dv(array).getUint8(offset)},put(array,offset,value){dv(array).setUint8(offset,value);return offset+1}};UINT16_LE={len:2,get(array,offset){return dv(array).getUint16(offset,true)},put(array,offset,value){dv(array).setUint16(offset,value,true);return offset+2}};UINT16_BE={len:2,get(array,offset){return dv(array).getUint16(offset)},put(array,offset,value){dv(array).setUint16(offset,value);return offset+2}};UINT32_LE={len:4,get(array,offset){return dv(array).getUint32(offset,true)},put(array,offset,value){dv(array).setUint32(offset,value,true);return offset+4}};UINT32_BE={len:4,get(array,offset){return dv(array).getUint32(offset)},put(array,offset,value){dv(array).setUint32(offset,value);return offset+4}};INT32_BE={len:4,get(array,offset){return dv(array).getInt32(offset)},put(array,offset,value){dv(array).setInt32(offset,value);return offset+4}};UINT64_LE={len:8,get(array,offset){return dv(array).getBigUint64(offset,true)},put(array,offset,value){dv(array).setBigUint64(offset,value,true);return offset+8}};StringType=class{constructor(len,encoding){this.len=len;this.encoding=encoding}get(uint8Array,offset){return import_node_buffer3.Buffer.from(uint8Array).toString(this.encoding,offset,offset+this.len)}};AnsiStringType=class _AnsiStringType{constructor(len){this.len=len}static decode(buffer,offset,until){let str2="";for(let i=offset;i<until;++i){str2+=_AnsiStringType.codePointToString(_AnsiStringType.singleByteDecoder(buffer[i]))}return str2}static inRange(a,min3,max3){return min3<=a&&a<=max3}static codePointToString(cp){if(cp<=65535){return String.fromCharCode(cp)}else{cp-=65536;return String.fromCharCode((cp>>10)+55296,(cp&1023)+56320)}}static singleByteDecoder(bite){if(_AnsiStringType.inRange(bite,0,127)){return bite}const codePoint=_AnsiStringType.windows1252[bite-128];if(codePoint===null){throw Error("invaliding encoding")}return codePoint}get(buffer,offset=0){return _AnsiStringType.decode(buffer,offset,offset+this.len)}};AnsiStringType.windows1252=[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255]}});function stringToBytes(string){return[...string].map(character=>character.charCodeAt(0))}function tarHeaderChecksumMatches(buffer,offset=0){const readSum=Number.parseInt(buffer.toString("utf8",148,154).replace(/\0.*$/,"").trim(),8);if(Number.isNaN(readSum)){return false}let sum2=8*32;for(let index=offset;index<offset+148;index++){sum2+=buffer[index]}for(let index=offset+156;index<offset+512;index++){sum2+=buffer[index]}return readSum===sum2}var uint32SyncSafeToken;var init_util=__esm({"node_modules/file-type/util.js"(){uint32SyncSafeToken={get:(buffer,offset)=>buffer[offset+3]&127|buffer[offset+2]<<7|buffer[offset+1]<<14|buffer[offset]<<21,len:4}}});var extensions,mimeTypes;var init_supported=__esm({"node_modules/file-type/supported.js"(){extensions=["jpg","png","apng","gif","webp","flif","xcf","cr2","cr3","orf","arw","dng","nef","rw2","raf","tif","bmp","icns","jxr","psd","indd","zip","tar","rar","gz","bz2","7z","dmg","mp4","mid","mkv","webm","mov","avi","mpg","mp2","mp3","m4a","oga","ogg","ogv","opus","flac","wav","spx","amr","pdf","epub","elf","macho","exe","swf","rtf","wasm","woff","woff2","eot","ttf","otf","ico","flv","ps","xz","sqlite","nes","crx","xpi","cab","deb","ar","rpm","Z","lz","cfb","mxf","mts","blend","bpg","docx","pptx","xlsx","3gp","3g2","j2c","jp2","jpm","jpx","mj2","aif","qcp","odt","ods","odp","xml","mobi","heic","cur","ktx","ape","wv","dcm","ics","glb","pcap","dsf","lnk","alias","voc","ac3","m4v","m4p","m4b","f4v","f4p","f4b","f4a","mie","asf","ogm","ogx","mpc","arrow","shp","aac","mp1","it","s3m","xm","ai","skp","avif","eps","lzh","pgp","asar","stl","chm","3mf","zst","jxl","vcf","jls","pst","dwg","parquet","class","arj","cpio","ace","avro","icc","fbx"];mimeTypes=["image/jpeg","image/png","image/gif","image/webp","image/flif","image/x-xcf","image/x-canon-cr2","image/x-canon-cr3","image/tiff","image/bmp","image/vnd.ms-photo","image/vnd.adobe.photoshop","application/x-indesign","application/epub+zip","application/x-xpinstall","application/vnd.oasis.opendocument.text","application/vnd.oasis.opendocument.spreadsheet","application/vnd.oasis.opendocument.presentation","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/zip","application/x-tar","application/x-rar-compressed","application/gzip","application/x-bzip2","application/x-7z-compressed","application/x-apple-diskimage","application/x-apache-arrow","video/mp4","audio/midi","video/x-matroska","video/webm","video/quicktime","video/vnd.avi","audio/vnd.wave","audio/qcelp","audio/x-ms-asf","video/x-ms-asf","application/vnd.ms-asf","video/mpeg","video/3gpp","audio/mpeg","audio/mp4","audio/opus","video/ogg","audio/ogg","application/ogg","audio/x-flac","audio/ape","audio/wavpack","audio/amr","application/pdf","application/x-elf","application/x-mach-binary","application/x-msdownload","application/x-shockwave-flash","application/rtf","application/wasm","font/woff","font/woff2","application/vnd.ms-fontobject","font/ttf","font/otf","image/x-icon","video/x-flv","application/postscript","application/eps","application/x-xz","application/x-sqlite3","application/x-nintendo-nes-rom","application/x-google-chrome-extension","application/vnd.ms-cab-compressed","application/x-deb","application/x-unix-archive","application/x-rpm","application/x-compress","application/x-lzip","application/x-cfb","application/x-mie","application/mxf","video/mp2t","application/x-blender","image/bpg","image/j2c","image/jp2","image/jpx","image/jpm","image/mj2","audio/aiff","application/xml","application/x-mobipocket-ebook","image/heif","image/heif-sequence","image/heic","image/heic-sequence","image/icns","image/ktx","application/dicom","audio/x-musepack","text/calendar","text/vcard","model/gltf-binary","application/vnd.tcpdump.pcap","audio/x-dsf","application/x.ms.shortcut","application/x.apple.alias","audio/x-voc","audio/vnd.dolby.dd-raw","audio/x-m4a","image/apng","image/x-olympus-orf","image/x-sony-arw","image/x-adobe-dng","image/x-nikon-nef","image/x-panasonic-rw2","image/x-fujifilm-raf","video/x-m4v","video/3gpp2","application/x-esri-shape","audio/aac","audio/x-it","audio/x-s3m","audio/x-xm","video/MP1S","video/MP2P","application/vnd.sketchup.skp","image/avif","application/x-lzh-compressed","application/pgp-encrypted","application/x-asar","model/stl","application/vnd.ms-htmlhelp","model/3mf","image/jxl","application/zstd","image/jls","application/vnd.ms-outlook","image/vnd.dwg","application/x-parquet","application/java-vm","application/x-arj","application/x-cpio","application/x-ace-compressed","application/avro","application/vnd.iccprofile","application/x.autodesk.fbx"]}});async function fileTypeFromStream(stream3){return new FileTypeParser().fromStream(stream3)}async function fileTypeFromBuffer(input){return new FileTypeParser().fromBuffer(input)}async function fileTypeFromBlob(blob){return new FileTypeParser().fromBlob(blob)}function _check(buffer,headers,options){options={offset:0,...options};for(const[index,header2]of headers.entries()){if(options.mask){if(header2!==(options.mask[index]&buffer[index+options.offset])){return false}}else if(header2!==buffer[index+options.offset]){return false}}return true}async function fileTypeFromTokenizer(tokenizer){return new FileTypeParser().fromTokenizer(tokenizer)}async function fileTypeStream(readableStream,options={}){return new FileTypeParser().toDetectionStream(readableStream,options)}var import_node_buffer4,minimumBytes,FileTypeParser,supportedExtensions,supportedMimeTypes;var init_core2=__esm({"node_modules/file-type/core.js"(){import_node_buffer4=require("node:buffer");init_lib3();init_core();init_util();init_supported();minimumBytes=4100;FileTypeParser=class{constructor(options){this.detectors=options==null?void 0:options.customDetectors;this.fromTokenizer=this.fromTokenizer.bind(this);this.fromBuffer=this.fromBuffer.bind(this);this.parse=this.parse.bind(this)}async fromTokenizer(tokenizer){const initialPosition=tokenizer.position;for(const detector of this.detectors||[]){const fileType=await detector(tokenizer);if(fileType){return fileType}if(initialPosition!==tokenizer.position){return void 0}}return this.parse(tokenizer)}async fromBuffer(input){if(!(input instanceof Uint8Array||input instanceof ArrayBuffer)){throw new TypeError(`Expected the \`input\` argument to be of type \`Uint8Array\` or \`Buffer\` or \`ArrayBuffer\`, got \`${typeof input}\``)}const buffer=input instanceof Uint8Array?input:new Uint8Array(input);if(!((buffer==null?void 0:buffer.length)>1)){return}return this.fromTokenizer(fromBuffer(buffer))}async fromBlob(blob){const buffer=await blob.arrayBuffer();return this.fromBuffer(new Uint8Array(buffer))}async fromStream(stream3){const tokenizer=await fromStream(stream3);try{return await this.fromTokenizer(tokenizer)}finally{await tokenizer.close()}}async toDetectionStream(readableStream,options={}){const{default:stream3}=await import("node:stream");const{sampleSize:sampleSize2=minimumBytes}=options;return new Promise((resolve,reject2)=>{readableStream.on("error",reject2);readableStream.once("readable",()=>{(async()=>{try{const pass=new stream3.PassThrough;const outputStream=stream3.pipeline?stream3.pipeline(readableStream,pass,()=>{}):readableStream.pipe(pass);const chunk2=readableStream.read(sampleSize2)??readableStream.read()??import_node_buffer4.Buffer.alloc(0);try{pass.fileType=await this.fromBuffer(chunk2)}catch(error){if(error instanceof EndOfStreamError){pass.fileType=void 0}else{reject2(error)}}resolve(outputStream)}catch(error){reject2(error)}})()})})}check(header2,options){return _check(this.buffer,header2,options)}checkString(header2,options){return this.check(stringToBytes(header2),options)}async parse(tokenizer){this.buffer=import_node_buffer4.Buffer.alloc(minimumBytes);if(tokenizer.fileInfo.size===void 0){tokenizer.fileInfo.size=Number.MAX_SAFE_INTEGER}this.tokenizer=tokenizer;await tokenizer.peekBuffer(this.buffer,{length:12,mayBeLess:true});if(this.check([66,77])){return{ext:"bmp",mime:"image/bmp"}}if(this.check([11,119])){return{ext:"ac3",mime:"audio/vnd.dolby.dd-raw"}}if(this.check([120,1])){return{ext:"dmg",mime:"application/x-apple-diskimage"}}if(this.check([77,90])){return{ext:"exe",mime:"application/x-msdownload"}}if(this.check([37,33])){await tokenizer.peekBuffer(this.buffer,{length:24,mayBeLess:true});if(this.checkString("PS-Adobe-",{offset:2})&&this.checkString(" EPSF-",{offset:14})){return{ext:"eps",mime:"application/eps"}}return{ext:"ps",mime:"application/postscript"}}if(this.check([31,160])||this.check([31,157])){return{ext:"Z",mime:"application/x-compress"}}if(this.check([199,113])){return{ext:"cpio",mime:"application/x-cpio"}}if(this.check([96,234])){return{ext:"arj",mime:"application/x-arj"}}if(this.check([239,187,191])){this.tokenizer.ignore(3);return this.parse(tokenizer)}if(this.check([71,73,70])){return{ext:"gif",mime:"image/gif"}}if(this.check([73,73,188])){return{ext:"jxr",mime:"image/vnd.ms-photo"}}if(this.check([31,139,8])){return{ext:"gz",mime:"application/gzip"}}if(this.check([66,90,104])){return{ext:"bz2",mime:"application/x-bzip2"}}if(this.checkString("ID3")){await tokenizer.ignore(6);const id3HeaderLength=await tokenizer.readToken(uint32SyncSafeToken);if(tokenizer.position+id3HeaderLength>tokenizer.fileInfo.size){return{ext:"mp3",mime:"audio/mpeg"}}await tokenizer.ignore(id3HeaderLength);return this.fromTokenizer(tokenizer)}if(this.checkString("MP+")){return{ext:"mpc",mime:"audio/x-musepack"}}if((this.buffer[0]===67||this.buffer[0]===70)&&this.check([87,83],{offset:1})){return{ext:"swf",mime:"application/x-shockwave-flash"}}if(this.check([255,216,255])){if(this.check([247],{offset:3})){return{ext:"jls",mime:"image/jls"}}return{ext:"jpg",mime:"image/jpeg"}}if(this.check([79,98,106,1])){return{ext:"avro",mime:"application/avro"}}if(this.checkString("FLIF")){return{ext:"flif",mime:"image/flif"}}if(this.checkString("8BPS")){return{ext:"psd",mime:"image/vnd.adobe.photoshop"}}if(this.checkString("WEBP",{offset:8})){return{ext:"webp",mime:"image/webp"}}if(this.checkString("MPCK")){return{ext:"mpc",mime:"audio/x-musepack"}}if(this.checkString("FORM")){return{ext:"aif",mime:"audio/aiff"}}if(this.checkString("icns",{offset:0})){return{ext:"icns",mime:"image/icns"}}if(this.check([80,75,3,4])){try{while(tokenizer.position+30<tokenizer.fileInfo.size){await tokenizer.readBuffer(this.buffer,{length:30});const zipHeader={compressedSize:this.buffer.readUInt32LE(18),uncompressedSize:this.buffer.readUInt32LE(22),filenameLength:this.buffer.readUInt16LE(26),extraFieldLength:this.buffer.readUInt16LE(28)};zipHeader.filename=await tokenizer.readToken(new StringType(zipHeader.filenameLength,"utf-8"));await tokenizer.ignore(zipHeader.extraFieldLength);if(zipHeader.filename==="META-INF/mozilla.rsa"){return{ext:"xpi",mime:"application/x-xpinstall"}}if(zipHeader.filename.endsWith(".rels")||zipHeader.filename.endsWith(".xml")){const type2=zipHeader.filename.split("/")[0];switch(type2){case"_rels":break;case"word":return{ext:"docx",mime:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"};case"ppt":return{ext:"pptx",mime:"application/vnd.openxmlformats-officedocument.presentationml.presentation"};case"xl":return{ext:"xlsx",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"};default:break}}if(zipHeader.filename.startsWith("xl/")){return{ext:"xlsx",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}}if(zipHeader.filename.startsWith("3D/")&&zipHeader.filename.endsWith(".model")){return{ext:"3mf",mime:"model/3mf"}}if(zipHeader.filename==="mimetype"&&zipHeader.compressedSize===zipHeader.uncompressedSize){let mimeType=await tokenizer.readToken(new StringType(zipHeader.compressedSize,"utf-8"));mimeType=mimeType.trim();switch(mimeType){case"application/epub+zip":return{ext:"epub",mime:"application/epub+zip"};case"application/vnd.oasis.opendocument.text":return{ext:"odt",mime:"application/vnd.oasis.opendocument.text"};case"application/vnd.oasis.opendocument.spreadsheet":return{ext:"ods",mime:"application/vnd.oasis.opendocument.spreadsheet"};case"application/vnd.oasis.opendocument.presentation":return{ext:"odp",mime:"application/vnd.oasis.opendocument.presentation"};default:}}if(zipHeader.compressedSize===0){let nextHeaderIndex=-1;while(nextHeaderIndex<0&&tokenizer.position<tokenizer.fileInfo.size){await tokenizer.peekBuffer(this.buffer,{mayBeLess:true});nextHeaderIndex=this.buffer.indexOf("504B0304",0,"hex");await tokenizer.ignore(nextHeaderIndex>=0?nextHeaderIndex:this.buffer.length)}}else{await tokenizer.ignore(zipHeader.compressedSize)}}}catch(error){if(!(error instanceof EndOfStreamError)){throw error}}return{ext:"zip",mime:"application/zip"}}if(this.checkString("OggS")){await tokenizer.ignore(28);const type2=import_node_buffer4.Buffer.alloc(8);await tokenizer.readBuffer(type2);if(_check(type2,[79,112,117,115,72,101,97,100])){return{ext:"opus",mime:"audio/opus"}}if(_check(type2,[128,116,104,101,111,114,97])){return{ext:"ogv",mime:"video/ogg"}}if(_check(type2,[1,118,105,100,101,111,0])){return{ext:"ogm",mime:"video/ogg"}}if(_check(type2,[127,70,76,65,67])){return{ext:"oga",mime:"audio/ogg"}}if(_check(type2,[83,112,101,101,120,32,32])){return{ext:"spx",mime:"audio/ogg"}}if(_check(type2,[1,118,111,114,98,105,115])){return{ext:"ogg",mime:"audio/ogg"}}return{ext:"ogx",mime:"application/ogg"}}if(this.check([80,75])&&(this.buffer[2]===3||this.buffer[2]===5||this.buffer[2]===7)&&(this.buffer[3]===4||this.buffer[3]===6||this.buffer[3]===8)){return{ext:"zip",mime:"application/zip"}}if(this.checkString("ftyp",{offset:4})&&(this.buffer[8]&96)!==0){const brandMajor=this.buffer.toString("binary",8,12).replace("\0"," ").trim();switch(brandMajor){case"avif":case"avis":return{ext:"avif",mime:"image/avif"};case"mif1":return{ext:"heic",mime:"image/heif"};case"msf1":return{ext:"heic",mime:"image/heif-sequence"};case"heic":case"heix":return{ext:"heic",mime:"image/heic"};case"hevc":case"hevx":return{ext:"heic",mime:"image/heic-sequence"};case"qt":return{ext:"mov",mime:"video/quicktime"};case"M4V":case"M4VH":case"M4VP":return{ext:"m4v",mime:"video/x-m4v"};case"M4P":return{ext:"m4p",mime:"video/mp4"};case"M4B":return{ext:"m4b",mime:"audio/mp4"};case"M4A":return{ext:"m4a",mime:"audio/x-m4a"};case"F4V":return{ext:"f4v",mime:"video/mp4"};case"F4P":return{ext:"f4p",mime:"video/mp4"};case"F4A":return{ext:"f4a",mime:"audio/mp4"};case"F4B":return{ext:"f4b",mime:"audio/mp4"};case"crx":return{ext:"cr3",mime:"image/x-canon-cr3"};default:if(brandMajor.startsWith("3g")){if(brandMajor.startsWith("3g2")){return{ext:"3g2",mime:"video/3gpp2"}}return{ext:"3gp",mime:"video/3gpp"}}return{ext:"mp4",mime:"video/mp4"}}}if(this.checkString("MThd")){return{ext:"mid",mime:"audio/midi"}}if(this.checkString("wOFF")&&(this.check([0,1,0,0],{offset:4})||this.checkString("OTTO",{offset:4}))){return{ext:"woff",mime:"font/woff"}}if(this.checkString("wOF2")&&(this.check([0,1,0,0],{offset:4})||this.checkString("OTTO",{offset:4}))){return{ext:"woff2",mime:"font/woff2"}}if(this.check([212,195,178,161])||this.check([161,178,195,212])){return{ext:"pcap",mime:"application/vnd.tcpdump.pcap"}}if(this.checkString("DSD ")){return{ext:"dsf",mime:"audio/x-dsf"}}if(this.checkString("LZIP")){return{ext:"lz",mime:"application/x-lzip"}}if(this.checkString("fLaC")){return{ext:"flac",mime:"audio/x-flac"}}if(this.check([66,80,71,251])){return{ext:"bpg",mime:"image/bpg"}}if(this.checkString("wvpk")){return{ext:"wv",mime:"audio/wavpack"}}if(this.checkString("%PDF")){try{await tokenizer.ignore(1350);const maxBufferSize2=10*1024*1024;const buffer=import_node_buffer4.Buffer.alloc(Math.min(maxBufferSize2,tokenizer.fileInfo.size));await tokenizer.readBuffer(buffer,{mayBeLess:true});if(buffer.includes(import_node_buffer4.Buffer.from("AIPrivateData"))){return{ext:"ai",mime:"application/postscript"}}}catch(error){if(!(error instanceof EndOfStreamError)){throw error}}return{ext:"pdf",mime:"application/pdf"}}if(this.check([0,97,115,109])){return{ext:"wasm",mime:"application/wasm"}}if(this.check([73,73])){const fileType=await this.readTiffHeader(false);if(fileType){return fileType}}if(this.check([77,77])){const fileType=await this.readTiffHeader(true);if(fileType){return fileType}}if(this.checkString("MAC ")){return{ext:"ape",mime:"audio/ape"}}if(this.check([26,69,223,163])){async function readField(){const msb=await tokenizer.peekNumber(UINT8);let mask=128;let ic=0;while((msb&mask)===0&&mask!==0){++ic;mask>>=1}const id=import_node_buffer4.Buffer.alloc(ic+1);await tokenizer.readBuffer(id);return id}async function readElement(){const id=await readField();const lengthField=await readField();lengthField[0]^=128>>lengthField.length-1;const nrLength=Math.min(6,lengthField.length);return{id:id.readUIntBE(0,id.length),len:lengthField.readUIntBE(lengthField.length-nrLength,nrLength)}}async function readChildren(children){while(children>0){const element=await readElement();if(element.id===17026){const rawValue=await tokenizer.readToken(new StringType(element.len,"utf-8"));return rawValue.replace(/\00.*$/g,"")}await tokenizer.ignore(element.len);--children}}const re=await readElement();const docType=await readChildren(re.len);switch(docType){case"webm":return{ext:"webm",mime:"video/webm"};case"matroska":return{ext:"mkv",mime:"video/x-matroska"};default:return}}if(this.check([82,73,70,70])){if(this.check([65,86,73],{offset:8})){return{ext:"avi",mime:"video/vnd.avi"}}if(this.check([87,65,86,69],{offset:8})){return{ext:"wav",mime:"audio/vnd.wave"}}if(this.check([81,76,67,77],{offset:8})){return{ext:"qcp",mime:"audio/qcelp"}}}if(this.checkString("SQLi")){return{ext:"sqlite",mime:"application/x-sqlite3"}}if(this.check([78,69,83,26])){return{ext:"nes",mime:"application/x-nintendo-nes-rom"}}if(this.checkString("Cr24")){return{ext:"crx",mime:"application/x-google-chrome-extension"}}if(this.checkString("MSCF")||this.checkString("ISc(")){return{ext:"cab",mime:"application/vnd.ms-cab-compressed"}}if(this.check([237,171,238,219])){return{ext:"rpm",mime:"application/x-rpm"}}if(this.check([197,208,211,198])){return{ext:"eps",mime:"application/eps"}}if(this.check([40,181,47,253])){return{ext:"zst",mime:"application/zstd"}}if(this.check([127,69,76,70])){return{ext:"elf",mime:"application/x-elf"}}if(this.check([33,66,68,78])){return{ext:"pst",mime:"application/vnd.ms-outlook"}}if(this.checkString("PAR1")){return{ext:"parquet",mime:"application/x-parquet"}}if(this.check([207,250,237,254])){return{ext:"macho",mime:"application/x-mach-binary"}}if(this.check([79,84,84,79,0])){return{ext:"otf",mime:"font/otf"}}if(this.checkString("#!AMR")){return{ext:"amr",mime:"audio/amr"}}if(this.checkString("{\\rtf")){return{ext:"rtf",mime:"application/rtf"}}if(this.check([70,76,86,1])){return{ext:"flv",mime:"video/x-flv"}}if(this.checkString("IMPM")){return{ext:"it",mime:"audio/x-it"}}if(this.checkString("-lh0-",{offset:2})||this.checkString("-lh1-",{offset:2})||this.checkString("-lh2-",{offset:2})||this.checkString("-lh3-",{offset:2})||this.checkString("-lh4-",{offset:2})||this.checkString("-lh5-",{offset:2})||this.checkString("-lh6-",{offset:2})||this.checkString("-lh7-",{offset:2})||this.checkString("-lzs-",{offset:2})||this.checkString("-lz4-",{offset:2})||this.checkString("-lz5-",{offset:2})||this.checkString("-lhd-",{offset:2})){return{ext:"lzh",mime:"application/x-lzh-compressed"}}if(this.check([0,0,1,186])){if(this.check([33],{offset:4,mask:[241]})){return{ext:"mpg",mime:"video/MP1S"}}if(this.check([68],{offset:4,mask:[196]})){return{ext:"mpg",mime:"video/MP2P"}}}if(this.checkString("ITSF")){return{ext:"chm",mime:"application/vnd.ms-htmlhelp"}}if(this.check([202,254,186,190])){return{ext:"class",mime:"application/java-vm"}}if(this.check([253,55,122,88,90,0])){return{ext:"xz",mime:"application/x-xz"}}if(this.checkString("<?xml ")){return{ext:"xml",mime:"application/xml"}}if(this.check([55,122,188,175,39,28])){return{ext:"7z",mime:"application/x-7z-compressed"}}if(this.check([82,97,114,33,26,7])&&(this.buffer[6]===0||this.buffer[6]===1)){return{ext:"rar",mime:"application/x-rar-compressed"}}if(this.checkString("solid ")){return{ext:"stl",mime:"model/stl"}}if(this.checkString("AC")){const version=this.buffer.toString("binary",2,6);if(version.match("^d*")&&version>=1e3&&version<=1050){return{ext:"dwg",mime:"image/vnd.dwg"}}}if(this.checkString("070707")){return{ext:"cpio",mime:"application/x-cpio"}}if(this.checkString("BLENDER")){return{ext:"blend",mime:"application/x-blender"}}if(this.checkString("!<arch>")){await tokenizer.ignore(8);const string=await tokenizer.readToken(new StringType(13,"ascii"));if(string==="debian-binary"){return{ext:"deb",mime:"application/x-deb"}}return{ext:"ar",mime:"application/x-unix-archive"}}if(this.checkString("**ACE",{offset:7})){await tokenizer.peekBuffer(this.buffer,{length:14,mayBeLess:true});if(this.checkString("**",{offset:12})){return{ext:"ace",mime:"application/x-ace-compressed"}}}if(this.check([137,80,78,71,13,10,26,10])){await tokenizer.ignore(8);async function readChunkHeader(){return{length:await tokenizer.readToken(INT32_BE),type:await tokenizer.readToken(new StringType(4,"binary"))}}do{const chunk2=await readChunkHeader();if(chunk2.length<0){return}switch(chunk2.type){case"IDAT":return{ext:"png",mime:"image/png"};case"acTL":return{ext:"apng",mime:"image/apng"};default:await tokenizer.ignore(chunk2.length+4)}}while(tokenizer.position+8<tokenizer.fileInfo.size);return{ext:"png",mime:"image/png"}}if(this.check([65,82,82,79,87,49,0,0])){return{ext:"arrow",mime:"application/x-apache-arrow"}}if(this.check([103,108,84,70,2,0,0,0])){return{ext:"glb",mime:"model/gltf-binary"}}if(this.check([102,114,101,101],{offset:4})||this.check([109,100,97,116],{offset:4})||this.check([109,111,111,118],{offset:4})||this.check([119,105,100,101],{offset:4})){return{ext:"mov",mime:"video/quicktime"}}if(this.check([73,73,82,79,8,0,0,0,24])){return{ext:"orf",mime:"image/x-olympus-orf"}}if(this.checkString("gimp xcf ")){return{ext:"xcf",mime:"image/x-xcf"}}if(this.check([73,73,85,0,24,0,0,0,136,231,116,216])){return{ext:"rw2",mime:"image/x-panasonic-rw2"}}if(this.check([48,38,178,117,142,102,207,17,166,217])){async function readHeader(){const guid=import_node_buffer4.Buffer.alloc(16);await tokenizer.readBuffer(guid);return{id:guid,size:Number(await tokenizer.readToken(UINT64_LE))}}await tokenizer.ignore(30);while(tokenizer.position+24<tokenizer.fileInfo.size){const header2=await readHeader();let payload=header2.size-24;if(_check(header2.id,[145,7,220,183,183,169,207,17,142,230,0,192,12,32,83,101])){const typeId=import_node_buffer4.Buffer.alloc(16);payload-=await tokenizer.readBuffer(typeId);if(_check(typeId,[64,158,105,248,77,91,207,17,168,253,0,128,95,92,68,43])){return{ext:"asf",mime:"audio/x-ms-asf"}}if(_check(typeId,[192,239,25,188,77,91,207,17,168,253,0,128,95,92,68,43])){return{ext:"asf",mime:"video/x-ms-asf"}}break}await tokenizer.ignore(payload)}return{ext:"asf",mime:"application/vnd.ms-asf"}}if(this.check([171,75,84,88,32,49,49,187,13,10,26,10])){return{ext:"ktx",mime:"image/ktx"}}if((this.check([126,16,4])||this.check([126,24,4]))&&this.check([48,77,73,69],{offset:4})){return{ext:"mie",mime:"application/x-mie"}}if(this.check([39,10,0,0,0,0,0,0,0,0,0,0],{offset:2})){return{ext:"shp",mime:"application/x-esri-shape"}}if(this.check([255,79,255,81])){return{ext:"j2c",mime:"image/j2c"}}if(this.check([0,0,0,12,106,80,32,32,13,10,135,10])){await tokenizer.ignore(20);const type2=await tokenizer.readToken(new StringType(4,"ascii"));switch(type2){case"jp2 ":return{ext:"jp2",mime:"image/jp2"};case"jpx ":return{ext:"jpx",mime:"image/jpx"};case"jpm ":return{ext:"jpm",mime:"image/jpm"};case"mjp2":return{ext:"mj2",mime:"image/mj2"};default:return}}if(this.check([255,10])||this.check([0,0,0,12,74,88,76,32,13,10,135,10])){return{ext:"jxl",mime:"image/jxl"}}if(this.check([254,255])){if(this.check([0,60,0,63,0,120,0,109,0,108],{offset:2})){return{ext:"xml",mime:"application/xml"}}return void 0}if(this.check([0,0,1,186])||this.check([0,0,1,179])){return{ext:"mpg",mime:"video/mpeg"}}if(this.check([0,1,0,0,0])){return{ext:"ttf",mime:"font/ttf"}}if(this.check([0,0,1,0])){return{ext:"ico",mime:"image/x-icon"}}if(this.check([0,0,2,0])){return{ext:"cur",mime:"image/x-icon"}}if(this.check([208,207,17,224,161,177,26,225])){return{ext:"cfb",mime:"application/x-cfb"}}await tokenizer.peekBuffer(this.buffer,{length:Math.min(256,tokenizer.fileInfo.size),mayBeLess:true});if(this.check([97,99,115,112],{offset:36})){return{ext:"icc",mime:"application/vnd.iccprofile"}}if(this.checkString("BEGIN:")){if(this.checkString("VCARD",{offset:6})){return{ext:"vcf",mime:"text/vcard"}}if(this.checkString("VCALENDAR",{offset:6})){return{ext:"ics",mime:"text/calendar"}}}if(this.checkString("FUJIFILMCCD-RAW")){return{ext:"raf",mime:"image/x-fujifilm-raf"}}if(this.checkString("Extended Module:")){return{ext:"xm",mime:"audio/x-xm"}}if(this.checkString("Creative Voice File")){return{ext:"voc",mime:"audio/x-voc"}}if(this.check([4,0,0,0])&&this.buffer.length>=16){const jsonSize=this.buffer.readUInt32LE(12);if(jsonSize>12&&this.buffer.length>=jsonSize+16){try{const header2=this.buffer.slice(16,jsonSize+16).toString();const json2=JSON.parse(header2);if(json2.files){return{ext:"asar",mime:"application/x-asar"}}}catch{}}}if(this.check([6,14,43,52,2,5,1,1,13,1,2,1,1,2])){return{ext:"mxf",mime:"application/mxf"}}if(this.checkString("SCRM",{offset:44})){return{ext:"s3m",mime:"audio/x-s3m"}}if(this.check([71])&&this.check([71],{offset:188})){return{ext:"mts",mime:"video/mp2t"}}if(this.check([71],{offset:4})&&this.check([71],{offset:196})){return{ext:"mts",mime:"video/mp2t"}}if(this.check([66,79,79,75,77,79,66,73],{offset:60})){return{ext:"mobi",mime:"application/x-mobipocket-ebook"}}if(this.check([68,73,67,77],{offset:128})){return{ext:"dcm",mime:"application/dicom"}}if(this.check([76,0,0,0,1,20,2,0,0,0,0,0,192,0,0,0,0,0,0,70])){return{ext:"lnk",mime:"application/x.ms.shortcut"}}if(this.check([98,111,111,107,0,0,0,0,109,97,114,107,0,0,0,0])){return{ext:"alias",mime:"application/x.apple.alias"}}if(this.checkString("Kaydara FBX Binary  \0")){return{ext:"fbx",mime:"application/x.autodesk.fbx"}}if(this.check([76,80],{offset:34})&&(this.check([0,0,1],{offset:8})||this.check([1,0,2],{offset:8})||this.check([2,0,2],{offset:8}))){return{ext:"eot",mime:"application/vnd.ms-fontobject"}}if(this.check([6,6,237,245,216,29,70,229,189,49,239,231,254,116,183,29])){return{ext:"indd",mime:"application/x-indesign"}}await tokenizer.peekBuffer(this.buffer,{length:Math.min(512,tokenizer.fileInfo.size),mayBeLess:true});if(tarHeaderChecksumMatches(this.buffer)){return{ext:"tar",mime:"application/x-tar"}}if(this.check([255,254])){if(this.check([60,0,63,0,120,0,109,0,108,0],{offset:2})){return{ext:"xml",mime:"application/xml"}}if(this.check([255,14,83,0,107,0,101,0,116,0,99,0,104,0,85,0,112,0,32,0,77,0,111,0,100,0,101,0,108,0],{offset:2})){return{ext:"skp",mime:"application/vnd.sketchup.skp"}}return void 0}if(this.checkString("-----BEGIN PGP MESSAGE-----")){return{ext:"pgp",mime:"application/pgp-encrypted"}}if(this.buffer.length>=2&&this.check([255,224],{offset:0,mask:[255,224]})){if(this.check([16],{offset:1,mask:[22]})){if(this.check([8],{offset:1,mask:[8]})){return{ext:"aac",mime:"audio/aac"}}return{ext:"aac",mime:"audio/aac"}}if(this.check([2],{offset:1,mask:[6]})){return{ext:"mp3",mime:"audio/mpeg"}}if(this.check([4],{offset:1,mask:[6]})){return{ext:"mp2",mime:"audio/mpeg"}}if(this.check([6],{offset:1,mask:[6]})){return{ext:"mp1",mime:"audio/mpeg"}}}}async readTiffTag(bigEndian){const tagId=await this.tokenizer.readToken(bigEndian?UINT16_BE:UINT16_LE);this.tokenizer.ignore(10);switch(tagId){case 50341:return{ext:"arw",mime:"image/x-sony-arw"};case 50706:return{ext:"dng",mime:"image/x-adobe-dng"};default:}}async readTiffIFD(bigEndian){const numberOfTags=await this.tokenizer.readToken(bigEndian?UINT16_BE:UINT16_LE);for(let n=0;n<numberOfTags;++n){const fileType=await this.readTiffTag(bigEndian);if(fileType){return fileType}}}async readTiffHeader(bigEndian){const version=(bigEndian?UINT16_BE:UINT16_LE).get(this.buffer,2);const ifdOffset=(bigEndian?UINT32_BE:UINT32_LE).get(this.buffer,4);if(version===42){if(ifdOffset>=6){if(this.checkString("CR",{offset:8})){return{ext:"cr2",mime:"image/x-canon-cr2"}}if(ifdOffset>=8&&(this.check([28,0,254,0],{offset:8})||this.check([31,0,11,0],{offset:8}))){return{ext:"nef",mime:"image/x-nikon-nef"}}}await this.tokenizer.ignore(ifdOffset);const fileType=await this.readTiffIFD(bigEndian);return fileType??{ext:"tif",mime:"image/tiff"}}if(version===43){return{ext:"tif",mime:"image/tiff"}}}};supportedExtensions=new Set(extensions);supportedMimeTypes=new Set(mimeTypes)}});var file_type_exports={};__export(file_type_exports,{FileTypeParser:()=>FileTypeParser,fileTypeFromBlob:()=>fileTypeFromBlob,fileTypeFromBuffer:()=>fileTypeFromBuffer,fileTypeFromFile:()=>fileTypeFromFile,fileTypeFromStream:()=>fileTypeFromStream,fileTypeFromTokenizer:()=>fileTypeFromTokenizer,fileTypeStream:()=>fileTypeStream,supportedExtensions:()=>supportedExtensions,supportedMimeTypes:()=>supportedMimeTypes});async function fileTypeFromFile(path27,fileTypeOptions){const tokenizer=await fromFile(path27);try{const parser=new FileTypeParser(fileTypeOptions);return await parser.fromTokenizer(tokenizer)}finally{await tokenizer.close()}}var init_file_type=__esm({"node_modules/file-type/index.js"(){init_lib2();init_core2();init_core2()}});var require_dist3=__commonJS({"node_modules/@discordjs/rest/dist/index.js"(exports2,module2){"use strict";var __create2=Object.create;var __defProp2=Object.defineProperty;var __getOwnPropDesc2=Object.getOwnPropertyDescriptor;var __getOwnPropNames2=Object.getOwnPropertyNames;var __getProtoOf2=Object.getPrototypeOf;var __hasOwnProp2=Object.prototype.hasOwnProperty;var __name=(target,value)=>__defProp2(target,"name",{value,configurable:true});var __export2=(target,all2)=>{for(var name in all2)__defProp2(target,name,{get:all2[name],enumerable:true})};var __copyProps2=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames2(from))if(!__hasOwnProp2.call(to,key)&&key!==except)__defProp2(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc2(from,key))||desc.enumerable})}return to};var __toESM2=(mod3,isNodeMode,target)=>(target=mod3!=null?__create2(__getProtoOf2(mod3)):{},__copyProps2(isNodeMode||!mod3||!mod3.__esModule?__defProp2(target,"default",{value:mod3,enumerable:true}):target,mod3));var __toCommonJS2=mod3=>__copyProps2(__defProp2({},"__esModule",{value:true}),mod3);var src_exports2={};__export2(src_exports2,{ALLOWED_EXTENSIONS:()=>ALLOWED_EXTENSIONS,ALLOWED_SIZES:()=>ALLOWED_SIZES,ALLOWED_STICKER_EXTENSIONS:()=>ALLOWED_STICKER_EXTENSIONS,BurstHandlerMajorIdKey:()=>BurstHandlerMajorIdKey,CDN:()=>CDN,DefaultRestOptions:()=>DefaultRestOptions,DefaultUserAgent:()=>DefaultUserAgent,DefaultUserAgentAppendix:()=>DefaultUserAgentAppendix,DiscordAPIError:()=>DiscordAPIError,HTTPError:()=>HTTPError2,OverwrittenMimeTypes:()=>OverwrittenMimeTypes,REST:()=>REST,RESTEvents:()=>RESTEvents,RateLimitError:()=>RateLimitError,RequestManager:()=>RequestManager,RequestMethod:()=>RequestMethod,makeURLSearchParams:()=>makeURLSearchParams2,parseResponse:()=>parseResponse,version:()=>version});module2.exports=__toCommonJS2(src_exports2);var import_node_url4=require("url");var import_node_process5=__toESM2(require("process"));var import_v10=require_v106();var import_undici=require_undici();var DefaultUserAgent=`DiscordBot (https://discord.js.org, 1.7.1)`;var _a12;var DefaultUserAgentAppendix=((_a12=import_node_process5.default.release)==null?void 0:_a12.name)==="node"?`Node.js/${import_node_process5.default.version}`:"";var DefaultRestOptions={get agent(){return new import_undici.Agent({connect:{timeout:3e4}})},api:"https://discord.com/api",authPrefix:"Bot",cdn:"https://cdn.discordapp.com",headers:{},invalidRequestWarningInterval:0,globalRequestsPerSecond:50,offset:50,rejectOnRateLimit:null,retries:3,timeout:15e3,userAgentAppendix:DefaultUserAgentAppendix,version:import_v10.APIVersion,hashSweepInterval:144e5,hashLifetime:864e5,handlerSweepInterval:36e5};var RESTEvents=(RESTEvents2=>{RESTEvents2["Debug"]="restDebug";RESTEvents2["HandlerSweep"]="handlerSweep";RESTEvents2["HashSweep"]="hashSweep";RESTEvents2["InvalidRequestWarning"]="invalidRequestWarning";RESTEvents2["RateLimited"]="rateLimited";RESTEvents2["Response"]="response";return RESTEvents2})(RESTEvents||{});var ALLOWED_EXTENSIONS=["webp","png","jpg","jpeg","gif"];var ALLOWED_STICKER_EXTENSIONS=["png","json","gif"];var ALLOWED_SIZES=[16,32,64,128,256,512,1024,2048,4096];var OverwrittenMimeTypes={"image/apng":"image/png"};var BurstHandlerMajorIdKey="burst";var CDN=class{constructor(base=DefaultRestOptions.cdn){this.base=base}appAsset(clientId,assetHash,options){return this.makeURL(`/app-assets/${clientId}/${assetHash}`,options)}appIcon(clientId,iconHash,options){return this.makeURL(`/app-icons/${clientId}/${iconHash}`,options)}avatar(id,avatarHash,options){return this.dynamicMakeURL(`/avatars/${id}/${avatarHash}`,avatarHash,options)}banner(id,bannerHash,options){return this.dynamicMakeURL(`/banners/${id}/${bannerHash}`,bannerHash,options)}channelIcon(channelId,iconHash,options){return this.makeURL(`/channel-icons/${channelId}/${iconHash}`,options)}defaultAvatar(discriminator){return this.makeURL(`/embed/avatars/${discriminator}`,{extension:"png"})}discoverySplash(guildId,splashHash,options){return this.makeURL(`/discovery-splashes/${guildId}/${splashHash}`,options)}emoji(emojiId,extension){return this.makeURL(`/emojis/${emojiId}`,{extension})}guildMemberAvatar(guildId,userId,avatarHash,options){return this.dynamicMakeURL(`/guilds/${guildId}/users/${userId}/avatars/${avatarHash}`,avatarHash,options)}guildMemberBanner(guildId,userId,bannerHash,options){return this.dynamicMakeURL(`/guilds/${guildId}/users/${userId}/banner`,bannerHash,options)}icon(id,iconHash,options){return this.dynamicMakeURL(`/icons/${id}/${iconHash}`,iconHash,options)}roleIcon(roleId,roleIconHash,options){return this.makeURL(`/role-icons/${roleId}/${roleIconHash}`,options)}splash(guildId,splashHash,options){return this.makeURL(`/splashes/${guildId}/${splashHash}`,options)}sticker(stickerId,extension="png"){return this.makeURL(`/stickers/${stickerId}`,{allowedExtensions:ALLOWED_STICKER_EXTENSIONS,extension})}stickerPackBanner(bannerId,options){return this.makeURL(`/app-assets/710982414301790216/store/${bannerId}`,options)}teamIcon(teamId,iconHash,options){return this.makeURL(`/team-icons/${teamId}/${iconHash}`,options)}guildScheduledEventCover(scheduledEventId,coverHash,options){return this.makeURL(`/guild-events/${scheduledEventId}/${coverHash}`,options)}dynamicMakeURL(route,hash,{forceStatic=false,...options}={}){return this.makeURL(route,!forceStatic&&hash.startsWith("a_")?{...options,extension:"gif"}:options)}makeURL(route,{allowedExtensions=ALLOWED_EXTENSIONS,extension="webp",size:size2}={}){extension=String(extension).toLowerCase();if(!allowedExtensions.includes(extension)){throw new RangeError(`Invalid extension provided: ${extension}
Must be one of: ${allowedExtensions.join(", ")}`)}if(size2&&!ALLOWED_SIZES.includes(size2)){throw new RangeError(`Invalid size provided: ${size2}
Must be one of: ${ALLOWED_SIZES.join(", ")}`)}const url=new import_node_url4.URL(`${this.base}${route}.${extension}`);if(size2){url.searchParams.set("size",String(size2))}return url.toString()}};__name(CDN,"CDN");function isErrorGroupWrapper(error){return Reflect.has(error,"_errors")}__name(isErrorGroupWrapper,"isErrorGroupWrapper");function isErrorResponse(error){return typeof Reflect.get(error,"message")==="string"}__name(isErrorResponse,"isErrorResponse");var DiscordAPIError=class extends Error{constructor(rawError,code,status,method2,url,bodyData){super(DiscordAPIError.getMessage(rawError));this.rawError=rawError;this.code=code;this.status=status;this.method=method2;this.url=url;this.requestBody={files:bodyData.files,json:bodyData.body}}requestBody;get name(){return`${DiscordAPIError.name}[${this.code}]`}static getMessage(error){let flattened="";if("code"in error){if(error.errors){flattened=[...this.flattenDiscordError(error.errors)].join("\n")}return error.message&&flattened?`${error.message}
${flattened}`:error.message||flattened||"Unknown Error"}return error.error_description??"No Description"}static*flattenDiscordError(obj,key=""){if(isErrorResponse(obj)){return yield`${key.length?`${key}[${obj.code}]`:`${obj.code}`}: ${obj.message}`.trim()}for(const[otherKey,val]of Object.entries(obj)){const nextKey=otherKey.startsWith("_")?key:key?Number.isNaN(Number(otherKey))?`${key}.${otherKey}`:`${key}[${otherKey}]`:otherKey;if(typeof val==="string"){yield val}else if(isErrorGroupWrapper(val)){for(const error of val._errors){yield*this.flattenDiscordError(error,nextKey)}}else{yield*this.flattenDiscordError(val,nextKey)}}}};__name(DiscordAPIError,"DiscordAPIError");var import_node_http4=require("http");var HTTPError2=class extends Error{constructor(status,method2,url,bodyData){super(import_node_http4.STATUS_CODES[status]);this.status=status;this.method=method2;this.url=url;this.requestBody={files:bodyData.files,json:bodyData.body}}requestBody;name=HTTPError2.name};__name(HTTPError2,"HTTPError");var RateLimitError=class extends Error{timeToReset;limit;method;hash;url;route;majorParameter;global;constructor({timeToReset,limit,method:method2,hash,url,route,majorParameter,global:global2}){super();this.timeToReset=timeToReset;this.limit=limit;this.method=method2;this.hash=hash;this.url=url;this.route=route;this.majorParameter=majorParameter;this.global=global2}get name(){return`${RateLimitError.name}[${this.route}]`}};__name(RateLimitError,"RateLimitError");var import_node_buffer22=require("buffer");var import_node_events3=require("events");var import_node_timers2=require("timers");var import_collection2=require_dist();var import_util9=require_dist2();var import_snowflake=require_cjs2();var import_undici4=require_undici();var import_promises27=require("timers/promises");var import_node_buffer5=require("buffer");var import_node_url22=require("url");var import_node_util6=require("util");var import_undici2=require_undici();function parseHeader(header2){if(header2===void 0||typeof header2==="string"){return header2}return header2.join(";")}__name(parseHeader,"parseHeader");function serializeSearchParam(value){switch(typeof value){case"string":return value;case"number":case"bigint":case"boolean":return value.toString();case"object":if(value===null)return null;if(value instanceof Date){return Number.isNaN(value.getTime())?null:value.toISOString()}if(typeof value.toString==="function"&&value.toString!==Object.prototype.toString)return value.toString();return null;default:return null}}__name(serializeSearchParam,"serializeSearchParam");function makeURLSearchParams2(options){const params=new import_node_url22.URLSearchParams;if(!options)return params;for(const[key,value]of Object.entries(options)){const serialized=serializeSearchParam(value);if(serialized!==null)params.append(key,serialized)}return params}__name(makeURLSearchParams2,"makeURLSearchParams");async function parseResponse(res){const header2=parseHeader(res.headers["content-type"]);if(header2==null?void 0:header2.startsWith("application/json")){return res.body.json()}return res.body.arrayBuffer()}__name(parseResponse,"parseResponse");function hasSublimit(bucketRoute,body,method2){if(bucketRoute==="/channels/:id"){if(typeof body!=="object"||body===null)return false;if(method2!=="PATCH")return false;const castedBody=body;return["name","topic"].some(key=>Reflect.has(castedBody,key))}return true}__name(hasSublimit,"hasSublimit");async function resolveBody(body){if(body==null){return null}else if(typeof body==="string"){return body}else if(import_node_util6.types.isUint8Array(body)){return body}else if(import_node_util6.types.isArrayBuffer(body)){return new Uint8Array(body)}else if(body instanceof import_node_url22.URLSearchParams){return body.toString()}else if(body instanceof DataView){return new Uint8Array(body.buffer)}else if(body instanceof import_node_buffer5.Blob){return new Uint8Array(await body.arrayBuffer())}else if(body instanceof import_undici2.FormData){return body}else if(body[Symbol.iterator]){const chunks=[...body];const length=chunks.reduce((a,b)=>a+b.length,0);const uint8=new Uint8Array(length);let lengthUsed=0;return chunks.reduce((a,b)=>{a.set(b,lengthUsed);lengthUsed+=b.length;return a},uint8)}else if(body[Symbol.asyncIterator]){const chunks=[];for await(const chunk2 of body){chunks.push(chunk2)}return import_node_buffer5.Buffer.concat(chunks)}throw new TypeError(`Unable to resolve body.`)}__name(resolveBody,"resolveBody");function shouldRetry(error){if(error.name==="AbortError")return true;return"code"in error&&error.code==="ECONNRESET"||error.message.includes("ECONNRESET")}__name(shouldRetry,"shouldRetry");async function onRateLimit(manager,rateLimitData){const{options}=manager;if(!options.rejectOnRateLimit)return;const shouldThrow=typeof options.rejectOnRateLimit==="function"?await options.rejectOnRateLimit(rateLimitData):options.rejectOnRateLimit.some(route=>rateLimitData.route.startsWith(route.toLowerCase()));if(shouldThrow){throw new RateLimitError(rateLimitData)}}__name(onRateLimit,"onRateLimit");var import_node_timers=require("timers");var import_undici3=require_undici();var invalidCount=0;var invalidCountResetTime=null;function incrementInvalidCount(manager){if(!invalidCountResetTime||invalidCountResetTime<Date.now()){invalidCountResetTime=Date.now()+1e3*60*10;invalidCount=0}invalidCount++;const emitInvalid=manager.options.invalidRequestWarningInterval>0&&invalidCount%manager.options.invalidRequestWarningInterval===0;if(emitInvalid){manager.emit("invalidRequestWarning",{count:invalidCount,remainingTime:invalidCountResetTime-Date.now()})}}__name(incrementInvalidCount,"incrementInvalidCount");async function makeNetworkRequest(manager,routeId,url,options,requestData,retries){const controller=new AbortController;const timeout=(0,import_node_timers.setTimeout)(()=>controller.abort(),manager.options.timeout).unref();if(requestData.signal){const signal=requestData.signal;if(signal.aborted)controller.abort();else signal.addEventListener("abort",()=>controller.abort())}let res;try{res=await(0,import_undici3.request)(url,{...options,signal:controller.signal})}catch(error){if(!(error instanceof Error))throw error;if(shouldRetry(error)&&retries!==manager.options.retries){return null}throw error}finally{(0,import_node_timers.clearTimeout)(timeout)}if(manager.listenerCount("response")){manager.emit("response",{method:options.method??"get",path:routeId.original,route:routeId.bucketRoute,options,data:requestData,retries},{...res})}return res}__name(makeNetworkRequest,"makeNetworkRequest");async function handleErrors(manager,res,method2,url,requestData,retries){const status=res.statusCode;if(status>=500&&status<600){if(retries!==manager.options.retries){return null}throw new HTTPError2(status,method2,url,requestData)}else{if(status>=400&&status<500){if(status===401&&requestData.auth){manager.setToken(null)}const data=await parseResponse(res);throw new DiscordAPIError(data,"code"in data?data.code:data.error,status,method2,url,requestData)}return res}}__name(handleErrors,"handleErrors");var BurstHandler=class{constructor(manager,hash,majorParameter){this.manager=manager;this.hash=hash;this.majorParameter=majorParameter;this.id=`${hash}:${majorParameter}`}id;inactive=false;debug(message3){this.manager.emit("restDebug",`[REST ${this.id}] ${message3}`)}async queueRequest(routeId,url,options,requestData){return this.runRequest(routeId,url,options,requestData)}async runRequest(routeId,url,options,requestData,retries=0){const method2=options.method??"get";const res=await makeNetworkRequest(this.manager,routeId,url,options,requestData,retries);if(res===null){return this.runRequest(routeId,url,options,requestData,++retries)}const status=res.statusCode;let retryAfter=0;const retry=parseHeader(res.headers["retry-after"]);if(retry)retryAfter=Number(retry)*1e3+this.manager.options.offset;if(status===401||status===403||status===429){incrementInvalidCount(this.manager)}if(status>=200&&status<300){return res}else if(status===429){const isGlobal=res.headers["x-ratelimit-global"]!==void 0;await onRateLimit(this.manager,{timeToReset:retryAfter,limit:Number.POSITIVE_INFINITY,method:method2,hash:this.hash,url,route:routeId.bucketRoute,majorParameter:this.majorParameter,global:isGlobal});this.debug(["Encountered unexpected 429 rate limit",`  Global         : ${isGlobal}`,`  Method         : ${method2}`,`  URL            : ${url}`,`  Bucket         : ${routeId.bucketRoute}`,`  Major parameter: ${routeId.majorParameter}`,`  Hash           : ${this.hash}`,`  Limit          : ${Number.POSITIVE_INFINITY}`,`  Retry After    : ${retryAfter}ms`,`  Sublimit       : None`].join("\n"));await(0,import_promises27.setTimeout)(retryAfter);return this.runRequest(routeId,url,options,requestData,retries)}else{const handled=await handleErrors(this.manager,res,method2,url,requestData,retries);if(handled===null){return this.runRequest(routeId,url,options,requestData,++retries)}return handled}}};__name(BurstHandler,"BurstHandler");var import_promises28=require("timers/promises");var import_async_queue=require_cjs3();var SequentialHandler=class{constructor(manager,hash,majorParameter){this.manager=manager;this.hash=hash;this.majorParameter=majorParameter;this.id=`${hash}:${majorParameter}`}id;reset=-1;remaining=1;limit=Number.POSITIVE_INFINITY;#asyncQueue=new import_async_queue.AsyncQueue;#sublimitedQueue=null;#sublimitPromise=null;#shiftSublimit=false;get inactive(){return this.#asyncQueue.remaining===0&&(this.#sublimitedQueue===null||this.#sublimitedQueue.remaining===0)&&!this.limited}get globalLimited(){return this.manager.globalRemaining<=0&&Date.now()<this.manager.globalReset}get localLimited(){return this.remaining<=0&&Date.now()<this.reset}get limited(){return this.globalLimited||this.localLimited}get timeToReset(){return this.reset+this.manager.options.offset-Date.now()}debug(message3){this.manager.emit("restDebug",`[REST ${this.id}] ${message3}`)}async globalDelayFor(time){await(0,import_promises28.setTimeout)(time);this.manager.globalDelay=null}async queueRequest(routeId,url,options,requestData){var _a13,_b2,_c;let queue=this.#asyncQueue;let queueType=0;if(this.#sublimitedQueue&&hasSublimit(routeId.bucketRoute,requestData.body,options.method)){queue=this.#sublimitedQueue;queueType=1}await queue.wait({signal:requestData.signal});if(queueType===0){if(this.#sublimitedQueue&&hasSublimit(routeId.bucketRoute,requestData.body,options.method)){queue=this.#sublimitedQueue;const wait=queue.wait();this.#asyncQueue.shift();await wait}else if(this.#sublimitPromise){await this.#sublimitPromise.promise}}try{return await this.runRequest(routeId,url,options,requestData)}finally{queue.shift();if(this.#shiftSublimit){this.#shiftSublimit=false;(_a13=this.#sublimitedQueue)==null?void 0:_a13.shift()}if(((_b2=this.#sublimitedQueue)==null?void 0:_b2.remaining)===0){(_c=this.#sublimitPromise)==null?void 0:_c.resolve();this.#sublimitedQueue=null}}}async runRequest(routeId,url,options,requestData,retries=0){var _a13;while(this.limited){const isGlobal=this.globalLimited;let limit2;let timeout;let delay3;if(isGlobal){limit2=this.manager.options.globalRequestsPerSecond;timeout=this.manager.globalReset+this.manager.options.offset-Date.now();if(!this.manager.globalDelay){this.manager.globalDelay=this.globalDelayFor(timeout)}delay3=this.manager.globalDelay}else{limit2=this.limit;timeout=this.timeToReset;delay3=(0,import_promises28.setTimeout)(timeout)}const rateLimitData={timeToReset:timeout,limit:limit2,method:options.method??"get",hash:this.hash,url,route:routeId.bucketRoute,majorParameter:this.majorParameter,global:isGlobal};this.manager.emit("rateLimited",rateLimitData);await onRateLimit(this.manager,rateLimitData);if(isGlobal){this.debug(`Global rate limit hit, blocking all requests for ${timeout}ms`)}else{this.debug(`Waiting ${timeout}ms for rate limit to pass`)}await delay3}if(!this.manager.globalReset||this.manager.globalReset<Date.now()){this.manager.globalReset=Date.now()+1e3;this.manager.globalRemaining=this.manager.options.globalRequestsPerSecond}this.manager.globalRemaining--;const method2=options.method??"get";const res=await makeNetworkRequest(this.manager,routeId,url,options,requestData,retries);if(res===null){return this.runRequest(routeId,url,options,requestData,++retries)}const status=res.statusCode;let retryAfter=0;const limit=parseHeader(res.headers["x-ratelimit-limit"]);const remaining=parseHeader(res.headers["x-ratelimit-remaining"]);const reset=parseHeader(res.headers["x-ratelimit-reset-after"]);const hash=parseHeader(res.headers["x-ratelimit-bucket"]);const retry=parseHeader(res.headers["retry-after"]);this.limit=limit?Number(limit):Number.POSITIVE_INFINITY;this.remaining=remaining?Number(remaining):1;this.reset=reset?Number(reset)*1e3+Date.now()+this.manager.options.offset:Date.now();if(retry)retryAfter=Number(retry)*1e3+this.manager.options.offset;if(hash&&hash!==this.hash){this.debug(["Received bucket hash update",`  Old Hash  : ${this.hash}`,`  New Hash  : ${hash}`].join("\n"));this.manager.hashes.set(`${method2}:${routeId.bucketRoute}`,{value:hash,lastAccess:Date.now()})}else if(hash){const hashData=this.manager.hashes.get(`${method2}:${routeId.bucketRoute}`);if(hashData){hashData.lastAccess=Date.now()}}let sublimitTimeout=null;if(retryAfter>0){if(res.headers["x-ratelimit-global"]!==void 0){this.manager.globalRemaining=0;this.manager.globalReset=Date.now()+retryAfter}else if(!this.localLimited){sublimitTimeout=retryAfter}}if(status===401||status===403||status===429){incrementInvalidCount(this.manager)}if(status>=200&&status<300){return res}else if(status===429){const isGlobal=this.globalLimited;let limit2;let timeout;if(isGlobal){limit2=this.manager.options.globalRequestsPerSecond;timeout=this.manager.globalReset+this.manager.options.offset-Date.now()}else{limit2=this.limit;timeout=this.timeToReset}await onRateLimit(this.manager,{timeToReset:timeout,limit:limit2,method:method2,hash:this.hash,url,route:routeId.bucketRoute,majorParameter:this.majorParameter,global:isGlobal});this.debug(["Encountered unexpected 429 rate limit",`  Global         : ${isGlobal.toString()}`,`  Method         : ${method2}`,`  URL            : ${url}`,`  Bucket         : ${routeId.bucketRoute}`,`  Major parameter: ${routeId.majorParameter}`,`  Hash           : ${this.hash}`,`  Limit          : ${limit2}`,`  Retry After    : ${retryAfter}ms`,`  Sublimit       : ${sublimitTimeout?`${sublimitTimeout}ms`:"None"}`].join("\n"));if(sublimitTimeout){const firstSublimit=!this.#sublimitedQueue;if(firstSublimit){this.#sublimitedQueue=new import_async_queue.AsyncQueue;void this.#sublimitedQueue.wait();this.#asyncQueue.shift()}(_a13=this.#sublimitPromise)==null?void 0:_a13.resolve();this.#sublimitPromise=null;await(0,import_promises28.setTimeout)(sublimitTimeout);let resolve;const promise=new Promise(res2=>resolve=res2);this.#sublimitPromise={promise,resolve};if(firstSublimit){await this.#asyncQueue.wait();this.#shiftSublimit=true}}return this.runRequest(routeId,url,options,requestData,retries)}else{const handled=await handleErrors(this.manager,res,method2,url,requestData,retries);if(handled===null){return this.runRequest(routeId,url,options,requestData,++retries)}return handled}}};__name(SequentialHandler,"SequentialHandler");var getFileType=(0,import_util9.lazy)(async()=>Promise.resolve().then(()=>(init_file_type(),file_type_exports)));var RequestMethod=(RequestMethod2=>{RequestMethod2["Delete"]="DELETE";RequestMethod2["Get"]="GET";RequestMethod2["Patch"]="PATCH";RequestMethod2["Post"]="POST";RequestMethod2["Put"]="PUT";return RequestMethod2})(RequestMethod||{});var RequestManager=class extends import_node_events3.EventEmitter{agent=null;globalRemaining;globalDelay=null;globalReset=-1;hashes=new import_collection2.Collection;handlers=new import_collection2.Collection;#token=null;hashTimer;handlerTimer;options;constructor(options){super();this.options={...DefaultRestOptions,...options};this.options.offset=Math.max(0,this.options.offset);this.globalRemaining=this.options.globalRequestsPerSecond;this.agent=options.agent??null;this.setupSweepers()}setupSweepers(){const validateMaxInterval=__name(interval=>{if(interval>144e5){throw new Error("Cannot set an interval greater than 4 hours")}},"validateMaxInterval");if(this.options.hashSweepInterval!==0&&this.options.hashSweepInterval!==Number.POSITIVE_INFINITY){validateMaxInterval(this.options.hashSweepInterval);this.hashTimer=(0,import_node_timers2.setInterval)(()=>{const sweptHashes=new import_collection2.Collection;const currentDate=Date.now();this.hashes.sweep((val,key)=>{if(val.lastAccess===-1)return false;const shouldSweep=Math.floor(currentDate-val.lastAccess)>this.options.hashLifetime;if(shouldSweep){sweptHashes.set(key,val)}this.emit("restDebug",`Hash ${val.value} for ${key} swept due to lifetime being exceeded`);return shouldSweep});this.emit("hashSweep",sweptHashes)},this.options.hashSweepInterval).unref()}if(this.options.handlerSweepInterval!==0&&this.options.handlerSweepInterval!==Number.POSITIVE_INFINITY){validateMaxInterval(this.options.handlerSweepInterval);this.handlerTimer=(0,import_node_timers2.setInterval)(()=>{const sweptHandlers=new import_collection2.Collection;this.handlers.sweep((val,key)=>{const{inactive}=val;if(inactive){sweptHandlers.set(key,val)}this.emit("restDebug",`Handler ${val.id} for ${key} swept due to being inactive`);return inactive});this.emit("handlerSweep",sweptHandlers)},this.options.handlerSweepInterval).unref()}}setAgent(agent){this.agent=agent;return this}setToken(token3){this.#token=token3;return this}async queueRequest(request2){const routeId=RequestManager.generateRouteData(request2.fullRoute,request2.method);const hash=this.hashes.get(`${request2.method}:${routeId.bucketRoute}`)??{value:`Global(${request2.method}:${routeId.bucketRoute})`,lastAccess:-1};const handler=this.handlers.get(`${hash.value}:${routeId.majorParameter}`)??this.createHandler(hash.value,routeId.majorParameter);const{url,fetchOptions}=await this.resolveRequest(request2);return handler.queueRequest(routeId,url,fetchOptions,{body:request2.body,files:request2.files,auth:request2.auth!==false,signal:request2.signal})}createHandler(hash,majorParameter){const queue=majorParameter===BurstHandlerMajorIdKey?new BurstHandler(this,hash,majorParameter):new SequentialHandler(this,hash,majorParameter);this.handlers.set(queue.id,queue);return queue}async resolveRequest(request2){var _a13,_b2,_c;const{options}=this;let query="";if(request2.query){const resolvedQuery=request2.query.toString();if(resolvedQuery!==""){query=`?${resolvedQuery}`}}const headers={...this.options.headers,"User-Agent":`${DefaultUserAgent} ${options.userAgentAppendix}`.trim()};if(request2.auth!==false){if(!this.#token){throw new Error("Expected token to be set for this request, but none was present")}headers.Authorization=`${request2.authPrefix??this.options.authPrefix} ${this.#token}`}if((_a13=request2.reason)==null?void 0:_a13.length){headers["X-Audit-Log-Reason"]=encodeURIComponent(request2.reason)}const url=`${options.api}${request2.versioned===false?"":`/v${options.version}`}${request2.fullRoute}${query}`;let finalBody;let additionalHeaders={};if((_b2=request2.files)==null?void 0:_b2.length){const formData=new import_undici4.FormData;for(const[index,file]of request2.files.entries()){const fileKey=file.key??`files[${index}]`;if(import_node_buffer22.Buffer.isBuffer(file.data)){const{fileTypeFromBuffer:fileTypeFromBuffer2}=await getFileType();let contentType=file.contentType;if(!contentType){const parsedType=(_c=await fileTypeFromBuffer2(file.data))==null?void 0:_c.mime;if(parsedType){contentType=OverwrittenMimeTypes[parsedType]??parsedType}}formData.append(fileKey,new import_node_buffer22.Blob([file.data],{type:contentType}),file.name)}else{formData.append(fileKey,new import_node_buffer22.Blob([`${file.data}`],{type:file.contentType}),file.name)}}if(request2.body!=null){if(request2.appendToFormData){for(const[key,value]of Object.entries(request2.body)){formData.append(key,value)}}else{formData.append("payload_json",JSON.stringify(request2.body))}}finalBody=formData}else if(request2.body!=null){if(request2.passThroughBody){finalBody=request2.body}else{finalBody=JSON.stringify(request2.body);additionalHeaders={"Content-Type":"application/json"}}}finalBody=await resolveBody(finalBody);const fetchOptions={headers:{...request2.headers,...additionalHeaders,...headers},method:request2.method.toUpperCase()};if(finalBody!==void 0){fetchOptions.body=finalBody}fetchOptions.dispatcher=request2.dispatcher??this.agent??void 0;return{url,fetchOptions}}clearHashSweeper(){(0,import_node_timers2.clearInterval)(this.hashTimer)}clearHandlerSweeper(){(0,import_node_timers2.clearInterval)(this.handlerTimer)}static generateRouteData(endpoint,method2){if(endpoint.startsWith("/interactions/")&&endpoint.endsWith("/callback")){return{majorParameter:BurstHandlerMajorIdKey,bucketRoute:"/interactions/:id/:token/callback",original:endpoint}}const majorIdMatch=/^\/(?:channels|guilds|webhooks)\/(\d{17,19})/.exec(endpoint);const majorId=(majorIdMatch==null?void 0:majorIdMatch[1])??"global";const baseRoute=endpoint.replaceAll(/\d{17,19}/g,":id").replace(/\/reactions\/(.*)/,"/reactions/:reaction");let exceptions="";if(method2==="DELETE"&&baseRoute==="/channels/:id/messages/:id"){const id=/\d{17,19}$/.exec(endpoint)[0];const timestamp2=import_snowflake.DiscordSnowflake.timestampFrom(id);if(Date.now()-timestamp2>1e3*60*60*24*14){exceptions+="/Delete Old Message"}}return{majorParameter:majorId,bucketRoute:baseRoute+exceptions,original:endpoint}}};__name(RequestManager,"RequestManager");var import_node_events22=require("events");var REST=class extends import_node_events22.EventEmitter{cdn;requestManager;constructor(options={}){super();this.cdn=new CDN(options.cdn??DefaultRestOptions.cdn);this.requestManager=new RequestManager(options).on("restDebug",this.emit.bind(this,"restDebug")).on("rateLimited",this.emit.bind(this,"rateLimited")).on("invalidRequestWarning",this.emit.bind(this,"invalidRequestWarning")).on("hashSweep",this.emit.bind(this,"hashSweep"));this.on("newListener",(name,listener)=>{if(name==="response")this.requestManager.on(name,listener)});this.on("removeListener",(name,listener)=>{if(name==="response")this.requestManager.off(name,listener)})}getAgent(){return this.requestManager.agent}setAgent(agent){this.requestManager.setAgent(agent);return this}setToken(token3){this.requestManager.setToken(token3);return this}async get(fullRoute,options={}){return this.request({...options,fullRoute,method:"GET"})}async delete(fullRoute,options={}){return this.request({...options,fullRoute,method:"DELETE"})}async post(fullRoute,options={}){return this.request({...options,fullRoute,method:"POST"})}async put(fullRoute,options={}){return this.request({...options,fullRoute,method:"PUT"})}async patch(fullRoute,options={}){return this.request({...options,fullRoute,method:"PATCH"})}async request(options){const response=await this.raw(options);return parseResponse(response)}async raw(options){return this.requestManager.queueRequest(options)}};__name(REST,"REST");var version="1.7.1"}});var require_ErrorCodes=__commonJS({"node_modules/discord.js/src/errors/ErrorCodes.js"(exports2,module2){"use strict";var keys2=["ClientInvalidOption","ClientInvalidProvidedShards","ClientMissingIntents","ClientNotReady","TokenInvalid","TokenMissing","ApplicationCommandPermissionsTokenMissing","WSCloseRequested","WSConnectionExists","WSNotOpen","ManagerDestroyed","BitFieldInvalid","ShardingInvalid","ShardingRequired","InvalidIntents","DisallowedIntents","ShardingNoShards","ShardingInProcess","ShardingInvalidEvalBroadcast","ShardingShardNotFound","ShardingAlreadySpawned","ShardingProcessExists","ShardingWorkerExists","ShardingReadyTimeout","ShardingReadyDisconnected","ShardingReadyDied","ShardingNoChildExists","ShardingShardMiscalculation","ColorRange","ColorConvert","InviteOptionsMissingChannel","ButtonLabel","ButtonURL","ButtonCustomId","SelectMenuCustomId","SelectMenuPlaceholder","SelectOptionLabel","SelectOptionValue","SelectOptionDescription","InteractionCollectorError","FileNotFound","UserBannerNotFetched","UserNoDMChannel","VoiceNotStageChannel","VoiceStateNotOwn","VoiceStateInvalidType","ReqResourceType","ImageFormat","ImageSize","MessageBulkDeleteType","MessageNonceType","MessageContentType","SplitMaxLen","BanResolveId","FetchBanResolveId","PruneDaysType","GuildChannelResolve","GuildVoiceChannelResolve","GuildChannelOrphan","GuildChannelUnowned","GuildOwned","GuildMembersTimeout","GuildUncachedMe","ChannelNotCached","StageChannelResolve","GuildScheduledEventResolve","FetchOwnerId","InvalidType","InvalidElement","MessageThreadParent","MessageExistingThread","ThreadInvitableType","WebhookMessage","WebhookTokenUnavailable","WebhookURLInvalid","WebhookApplication","MessageReferenceMissing","EmojiType","EmojiManaged","MissingManageGuildExpressionsPermission","MissingManageEmojisAndStickersPermission","NotGuildSticker","ReactionResolveUser","VanityURL","InviteResolveCode","InviteNotFound","DeleteGroupDMChannel","FetchGroupDMChannel","MemberFetchNonceLength","GlobalCommandPermissions","GuildUncachedEntityResolve","InteractionAlreadyReplied","InteractionNotReplied","InteractionEphemeralReplied","CommandInteractionOptionNotFound","CommandInteractionOptionType","CommandInteractionOptionEmpty","CommandInteractionOptionNoSubcommand","CommandInteractionOptionNoSubcommandGroup","CommandInteractionOptionInvalidChannelType","AutocompleteInteractionOptionNoFocusedOption","ModalSubmitInteractionFieldNotFound","ModalSubmitInteractionFieldType","InvalidMissingScopes","InvalidScopesWithPermissions","NotImplemented","SweepFilterReturn","GuildForumMessageRequired"];module2.exports=Object.fromEntries(keys2.map(key=>[key,key]))}});var require_Messages=__commonJS({"node_modules/discord.js/src/errors/Messages.js"(exports2,module2){"use strict";var DjsErrorCodes=require_ErrorCodes();var Messages={[DjsErrorCodes.ClientInvalidOption]:(prop,must)=>`The ${prop} option must be ${must}`,[DjsErrorCodes.ClientInvalidProvidedShards]:"None of the provided shards were valid.",[DjsErrorCodes.ClientMissingIntents]:"Valid intents must be provided for the Client.",[DjsErrorCodes.ClientNotReady]:action=>`The client needs to be logged in to ${action}.`,[DjsErrorCodes.TokenInvalid]:"An invalid token was provided.",[DjsErrorCodes.TokenMissing]:"Request to use token, but token was unavailable to the client.",[DjsErrorCodes.ApplicationCommandPermissionsTokenMissing]:"Editing application command permissions requires an OAuth2 bearer token, but none was provided.",[DjsErrorCodes.WSCloseRequested]:"WebSocket closed due to user request.",[DjsErrorCodes.WSConnectionExists]:"There is already an existing WebSocket connection.",[DjsErrorCodes.WSNotOpen]:(data="data")=>`WebSocket not open to send ${data}`,[DjsErrorCodes.ManagerDestroyed]:"Manager was destroyed.",[DjsErrorCodes.BitFieldInvalid]:bit=>`Invalid bitfield flag or number: ${bit}.`,[DjsErrorCodes.ShardingInvalid]:"Invalid shard settings were provided.",[DjsErrorCodes.ShardingRequired]:"This session would have handled too many guilds - Sharding is required.",[DjsErrorCodes.InvalidIntents]:"Invalid intent provided for WebSocket intents.",[DjsErrorCodes.DisallowedIntents]:"Privileged intent provided is not enabled or whitelisted.",[DjsErrorCodes.ShardingNoShards]:"No shards have been spawned.",[DjsErrorCodes.ShardingInProcess]:"Shards are still being spawned.",[DjsErrorCodes.ShardingInvalidEvalBroadcast]:"Script to evaluate must be a function",[DjsErrorCodes.ShardingShardNotFound]:id=>`Shard ${id} could not be found.`,[DjsErrorCodes.ShardingAlreadySpawned]:count=>`Already spawned ${count} shards.`,[DjsErrorCodes.ShardingProcessExists]:id=>`Shard ${id} already has an active process.`,[DjsErrorCodes.ShardingWorkerExists]:id=>`Shard ${id} already has an active worker.`,[DjsErrorCodes.ShardingReadyTimeout]:id=>`Shard ${id}'s Client took too long to become ready.`,[DjsErrorCodes.ShardingReadyDisconnected]:id=>`Shard ${id}'s Client disconnected before becoming ready.`,[DjsErrorCodes.ShardingReadyDied]:id=>`Shard ${id}'s process exited before its Client became ready.`,[DjsErrorCodes.ShardingNoChildExists]:id=>`Shard ${id} has no active process or worker.`,[DjsErrorCodes.ShardingShardMiscalculation]:(shard,guild2,count)=>`Calculated invalid shard ${shard} for guild ${guild2} with ${count} shards.`,[DjsErrorCodes.ColorRange]:"Color must be within the range 0 - 16777215 (0xFFFFFF).",[DjsErrorCodes.ColorConvert]:"Unable to convert color to a number.",[DjsErrorCodes.InviteOptionsMissingChannel]:"A valid guild channel must be provided when GuildScheduledEvent is EXTERNAL.",[DjsErrorCodes.ButtonLabel]:"MessageButton label must be a string",[DjsErrorCodes.ButtonURL]:"MessageButton URL must be a string",[DjsErrorCodes.ButtonCustomId]:"MessageButton customId must be a string",[DjsErrorCodes.SelectMenuCustomId]:"MessageSelectMenu customId must be a string",[DjsErrorCodes.SelectMenuPlaceholder]:"MessageSelectMenu placeholder must be a string",[DjsErrorCodes.SelectOptionLabel]:"MessageSelectOption label must be a string",[DjsErrorCodes.SelectOptionValue]:"MessageSelectOption value must be a string",[DjsErrorCodes.SelectOptionDescription]:"MessageSelectOption description must be a string",[DjsErrorCodes.InteractionCollectorError]:reason=>`Collector received no interactions before ending with reason: ${reason}`,[DjsErrorCodes.FileNotFound]:file=>`File could not be found: ${file}`,[DjsErrorCodes.UserBannerNotFetched]:"You must fetch this user's banner before trying to generate its URL!",[DjsErrorCodes.UserNoDMChannel]:"No DM Channel exists!",[DjsErrorCodes.VoiceNotStageChannel]:"You are only allowed to do this in stage channels.",[DjsErrorCodes.VoiceStateNotOwn]:"You cannot self-deafen/mute/request to speak on VoiceStates that do not belong to the ClientUser.",[DjsErrorCodes.VoiceStateInvalidType]:name=>`${name} must be a boolean.`,[DjsErrorCodes.ReqResourceType]:"The resource must be a string, Buffer or a valid file stream.",[DjsErrorCodes.ImageFormat]:format2=>`Invalid image format: ${format2}`,[DjsErrorCodes.ImageSize]:size2=>`Invalid image size: ${size2}`,[DjsErrorCodes.MessageBulkDeleteType]:"The messages must be an Array, Collection, or number.",[DjsErrorCodes.MessageNonceType]:"Message nonce must be an integer or a string.",[DjsErrorCodes.MessageContentType]:"Message content must be a string.",[DjsErrorCodes.SplitMaxLen]:"Chunk exceeds the max length and contains no split characters.",[DjsErrorCodes.BanResolveId]:(ban=false)=>`Couldn't resolve the user id to ${ban?"ban":"unban"}.`,[DjsErrorCodes.FetchBanResolveId]:"Couldn't resolve the user id to fetch the ban.",[DjsErrorCodes.PruneDaysType]:"Days must be a number",[DjsErrorCodes.GuildChannelResolve]:"Could not resolve channel to a guild channel.",[DjsErrorCodes.GuildVoiceChannelResolve]:"Could not resolve channel to a guild voice channel.",[DjsErrorCodes.GuildChannelOrphan]:"Could not find a parent to this guild channel.",[DjsErrorCodes.GuildChannelUnowned]:"The fetched channel does not belong to this manager's guild.",[DjsErrorCodes.GuildOwned]:"Guild is owned by the client.",[DjsErrorCodes.GuildMembersTimeout]:"Members didn't arrive in time.",[DjsErrorCodes.GuildUncachedMe]:"The client user as a member of this guild is uncached.",[DjsErrorCodes.ChannelNotCached]:"Could not find the channel where this message came from in the cache!",[DjsErrorCodes.StageChannelResolve]:"Could not resolve channel to a stage channel.",[DjsErrorCodes.GuildScheduledEventResolve]:"Could not resolve the guild scheduled event.",[DjsErrorCodes.FetchOwnerId]:"Couldn't resolve the guild ownerId to fetch the member.",[DjsErrorCodes.InvalidType]:(name,expected,an=false)=>`Supplied ${name} is not a${an?"n":""} ${expected}.`,[DjsErrorCodes.InvalidElement]:(type2,name,elem)=>`Supplied ${type2} ${name} includes an invalid element: ${elem}`,[DjsErrorCodes.MessageThreadParent]:"The message was not sent in a guild text or news channel",[DjsErrorCodes.MessageExistingThread]:"The message already has a thread",[DjsErrorCodes.ThreadInvitableType]:type2=>`Invitable cannot be edited on ${type2}`,[DjsErrorCodes.WebhookMessage]:"The message was not sent by a webhook.",[DjsErrorCodes.WebhookTokenUnavailable]:"This action requires a webhook token, but none is available.",[DjsErrorCodes.WebhookURLInvalid]:"The provided webhook URL is not valid.",[DjsErrorCodes.WebhookApplication]:"This message webhook belongs to an application and cannot be fetched.",[DjsErrorCodes.MessageReferenceMissing]:"The message does not reference another message",[DjsErrorCodes.EmojiType]:"Emoji must be a string or GuildEmoji/ReactionEmoji",[DjsErrorCodes.EmojiManaged]:"Emoji is managed and has no Author.",[DjsErrorCodes.MissingManageGuildExpressionsPermission]:guild2=>`Client must have Manage Guild Expressions permission in guild ${guild2} to see emoji authors.`,[DjsErrorCodes.MissingManageEmojisAndStickersPermission]:guild2=>`Client must have Manage Emojis and Stickers permission in guild ${guild2} to see emoji authors.`,[DjsErrorCodes.NotGuildSticker]:"Sticker is a standard (non-guild) sticker and has no author.",[DjsErrorCodes.ReactionResolveUser]:"Couldn't resolve the user id to remove from the reaction.",[DjsErrorCodes.VanityURL]:"This guild does not have the vanity URL feature enabled.",[DjsErrorCodes.InviteResolveCode]:"Could not resolve the code to fetch the invite.",[DjsErrorCodes.InviteNotFound]:"Could not find the requested invite.",[DjsErrorCodes.DeleteGroupDMChannel]:"Bots don't have access to Group DM Channels and cannot delete them",[DjsErrorCodes.FetchGroupDMChannel]:"Bots don't have access to Group DM Channels and cannot fetch them",[DjsErrorCodes.MemberFetchNonceLength]:"Nonce length must not exceed 32 characters.",[DjsErrorCodes.GlobalCommandPermissions]:"Permissions for global commands may only be fetched or modified by providing a GuildResolvable or from a guild's application command manager.",[DjsErrorCodes.GuildUncachedEntityResolve]:type2=>`Cannot resolve ${type2} from an arbitrary guild, provide an id instead`,[DjsErrorCodes.InteractionAlreadyReplied]:"The reply to this interaction has already been sent or deferred.",[DjsErrorCodes.InteractionNotReplied]:"The reply to this interaction has not been sent or deferred.",[DjsErrorCodes.InteractionEphemeralReplied]:"Ephemeral responses cannot be deleted.",[DjsErrorCodes.CommandInteractionOptionNotFound]:name=>`Required option "${name}" not found.`,[DjsErrorCodes.CommandInteractionOptionType]:(name,type2,expected)=>`Option "${name}" is of type: ${type2}; expected ${expected}.`,[DjsErrorCodes.CommandInteractionOptionEmpty]:(name,type2)=>`Required option "${name}" is of type: ${type2}; expected a non-empty value.`,[DjsErrorCodes.CommandInteractionOptionNoSubcommand]:"No subcommand specified for interaction.",[DjsErrorCodes.CommandInteractionOptionNoSubcommandGroup]:"No subcommand group specified for interaction.",[DjsErrorCodes.CommandInteractionOptionInvalidChannelType]:(name,type2,expected)=>`The type of channel of the option "${name}" is: ${type2}; expected ${expected}.`,[DjsErrorCodes.AutocompleteInteractionOptionNoFocusedOption]:"No focused option for autocomplete interaction.",[DjsErrorCodes.ModalSubmitInteractionFieldNotFound]:customId=>`Required field with custom id "${customId}" not found.`,[DjsErrorCodes.ModalSubmitInteractionFieldType]:(customId,type2,expected)=>`Field with custom id "${customId}" is of type: ${type2}; expected ${expected}.`,[DjsErrorCodes.InvalidMissingScopes]:"At least one valid scope must be provided for the invite",[DjsErrorCodes.InvalidScopesWithPermissions]:"Permissions cannot be set without the bot scope.",[DjsErrorCodes.NotImplemented]:(what,name)=>`Method ${what} not implemented on ${name}.`,[DjsErrorCodes.SweepFilterReturn]:"The return value of the sweepFilter function was not false or a Function",[DjsErrorCodes.GuildForumMessageRequired]:"You must provide a message to create a guild forum thread"};module2.exports=Messages}});var require_DJSError=__commonJS({"node_modules/discord.js/src/errors/DJSError.js"(exports2,module2){"use strict";var ErrorCodes2=require_ErrorCodes();var Messages=require_Messages();function makeDiscordjsError(Base){return class DiscordjsError2 extends Base{constructor(code,...args2){var _a12;super(message3(code,args2));this.code=code;(_a12=Error.captureStackTrace)==null?void 0:_a12.call(Error,this,DiscordjsError2)}get name(){return`${super.name} [${this.code}]`}}}function message3(code,args2){if(!(code in ErrorCodes2))throw new Error("Error code must be a valid DiscordjsErrorCodes");const msg=Messages[code];if(!msg)throw new Error(`No message associated with error code: ${code}.`);if(typeof msg==="function")return msg(...args2);if(!(args2==null?void 0:args2.length))return msg;args2.unshift(msg);return String(...args2)}module2.exports={DiscordjsError:makeDiscordjsError(Error),DiscordjsTypeError:makeDiscordjsError(TypeError),DiscordjsRangeError:makeDiscordjsError(RangeError)}}});var require_errors6=__commonJS({"node_modules/discord.js/src/errors/index.js"(exports2,module2){"use strict";module2.exports=require_DJSError();module2.exports.ErrorCodes=require_ErrorCodes();module2.exports.Messages=require_Messages()}});var require_lodash2=__commonJS({"node_modules/lodash.snakecase/index.js"(exports2,module2){var INFINITY8=1/0;var symbolTag5="[object Symbol]";var reAsciiWord2=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;var reLatin2=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g;var rsAstralRange5="\\ud800-\\udfff";var rsComboMarksRange6="\\u0300-\\u036f\\ufe20-\\ufe23";var rsComboSymbolsRange6="\\u20d0-\\u20f0";var rsDingbatRange2="\\u2700-\\u27bf";var rsLowerRange2="a-z\\xdf-\\xf6\\xf8-\\xff";var rsMathOpRange2="\\xac\\xb1\\xd7\\xf7";var rsNonCharRange2="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf";var rsPunctuationRange2="\\u2000-\\u206f";var rsSpaceRange2=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000";var rsUpperRange2="A-Z\\xc0-\\xd6\\xd8-\\xde";var rsVarRange5="\\ufe0e\\ufe0f";var rsBreakRange2=rsMathOpRange2+rsNonCharRange2+rsPunctuationRange2+rsSpaceRange2;var rsApos3="['’]";var rsBreak2="["+rsBreakRange2+"]";var rsCombo5="["+rsComboMarksRange6+rsComboSymbolsRange6+"]";var rsDigits2="\\d+";var rsDingbat2="["+rsDingbatRange2+"]";var rsLower2="["+rsLowerRange2+"]";var rsMisc2="[^"+rsAstralRange5+rsBreakRange2+rsDigits2+rsDingbatRange2+rsLowerRange2+rsUpperRange2+"]";var rsFitz4="\\ud83c[\\udffb-\\udfff]";var rsModifier4="(?:"+rsCombo5+"|"+rsFitz4+")";var rsNonAstral4="[^"+rsAstralRange5+"]";var rsRegional4="(?:\\ud83c[\\udde6-\\uddff]){2}";var rsSurrPair4="[\\ud800-\\udbff][\\udc00-\\udfff]";var rsUpper2="["+rsUpperRange2+"]";var rsZWJ5="\\u200d";var rsLowerMisc="(?:"+rsLower2+"|"+rsMisc2+")";var rsUpperMisc="(?:"+rsUpper2+"|"+rsMisc2+")";var rsOptLowerContr="(?:"+rsApos3+"(?:d|ll|m|re|s|t|ve))?";var rsOptUpperContr="(?:"+rsApos3+"(?:D|LL|M|RE|S|T|VE))?";var reOptMod4=rsModifier4+"?";var rsOptVar4="["+rsVarRange5+"]?";var rsOptJoin4="(?:"+rsZWJ5+"(?:"+[rsNonAstral4,rsRegional4,rsSurrPair4].join("|")+")"+rsOptVar4+reOptMod4+")*";var rsSeq4=rsOptVar4+reOptMod4+rsOptJoin4;var rsEmoji2="(?:"+[rsDingbat2,rsRegional4,rsSurrPair4].join("|")+")"+rsSeq4;var reApos2=RegExp(rsApos3,"g");var reComboMark2=RegExp(rsCombo5,"g");var reUnicodeWord2=RegExp([rsUpper2+"?"+rsLower2+"+"+rsOptLowerContr+"(?="+[rsBreak2,rsUpper2,"$"].join("|")+")",rsUpperMisc+"+"+rsOptUpperContr+"(?="+[rsBreak2,rsUpper2+rsLowerMisc,"$"].join("|")+")",rsUpper2+"?"+rsLowerMisc+"+"+rsOptLowerContr,rsUpper2+"+"+rsOptUpperContr,rsDigits2,rsEmoji2].join("|"),"g");var reHasUnicodeWord2=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;var deburredLetters2={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","Ĳ":"IJ","ĳ":"ij","Œ":"Oe","œ":"oe","ŉ":"'n","ſ":"ss"};var freeGlobal2=typeof global=="object"&&global&&global.Object===Object&&global;var freeSelf2=typeof self=="object"&&self&&self.Object===Object&&self;var root2=freeGlobal2||freeSelf2||Function("return this")();function arrayReduce2(array,iteratee2,accumulator,initAccum){var index=-1,length=array?array.length:0;if(initAccum&&length){accumulator=array[++index]}while(++index<length){accumulator=iteratee2(accumulator,array[index],index,array)}return accumulator}function asciiWords2(string){return string.match(reAsciiWord2)||[]}function basePropertyOf2(object){return function(key){return object==null?void 0:object[key]}}var deburrLetter2=basePropertyOf2(deburredLetters2);function hasUnicodeWord2(string){return reHasUnicodeWord2.test(string)}function unicodeWords2(string){return string.match(reUnicodeWord2)||[]}var objectProto30=Object.prototype;var objectToString2=objectProto30.toString;var Symbol3=root2.Symbol;var symbolProto4=Symbol3?Symbol3.prototype:void 0;var symbolToString2=symbolProto4?symbolProto4.toString:void 0;function baseToString3(value){if(typeof value=="string"){return value}if(isSymbol2(value)){return symbolToString2?symbolToString2.call(value):""}var result2=value+"";return result2=="0"&&1/value==-INFINITY8?"-0":result2}function createCompounder2(callback){return function(string){return arrayReduce2(words2(deburr2(string).replace(reApos2,"")),callback,"")}}function isObjectLike3(value){return!!value&&typeof value=="object"}function isSymbol2(value){return typeof value=="symbol"||isObjectLike3(value)&&objectToString2.call(value)==symbolTag5}function toString5(value){return value==null?"":baseToString3(value)}function deburr2(string){string=toString5(string);return string&&string.replace(reLatin2,deburrLetter2).replace(reComboMark2,"")}var snakeCase2=createCompounder2(function(result2,word,index){return result2+(index?"_":"")+word.toLowerCase()});function words2(string,pattern,guard){string=toString5(string);pattern=guard?void 0:pattern;if(pattern===void 0){return hasUnicodeWord2(string)?unicodeWords2(string):asciiWords2(string)}return string.match(pattern)||[]}module2.exports=snakeCase2}});var require_Transformers=__commonJS({"node_modules/discord.js/src/util/Transformers.js"(exports2,module2){"use strict";var{isJSONEncodable}=require_dist2();var snakeCase2=require_lodash2();function toSnakeCase(obj){if(typeof obj!=="object"||!obj)return obj;if(obj instanceof Date)return obj;if(isJSONEncodable(obj))return toSnakeCase(obj.toJSON());if(Array.isArray(obj))return obj.map(toSnakeCase);return Object.fromEntries(Object.entries(obj).map(([key,value])=>[snakeCase2(key),toSnakeCase(value)]))}function _transformAPIAutoModerationAction(autoModerationAction){return{type:autoModerationAction.type,metadata:{durationSeconds:autoModerationAction.metadata.duration_seconds??null,channelId:autoModerationAction.metadata.channel_id??null,customMessage:autoModerationAction.metadata.custom_message??null}}}module2.exports={toSnakeCase,_transformAPIAutoModerationAction}}});var require_package4=__commonJS({"node_modules/discord.js/package.json"(exports2,module2){module2.exports={name:"discord.js",version:"14.11.0",description:"A powerful library for interacting with the Discord API",scripts:{test:"yarn docs:test && yarn test:typescript","test:typescript":"tsc --noEmit && tsd",lint:"prettier --check . && tslint typings/index.d.ts && eslint src --format=pretty",format:"prettier --write . && eslint src --fix --format=pretty",fmt:"yarn format",docs:"docgen -i './src/*.js' './src/**/*.js' -c ./docs/index.json -r ../../ -o ./docs/docs.json","docs:test":"docgen -i './src/*.js' './src/**/*.js' -c ./docs/index.json -r ../../",prepack:"yarn lint && yarn test",changelog:"git cliff --prepend ./CHANGELOG.md -u -c ./cliff.toml -r ../../ --include-path 'packages/discord.js/*'",release:"cliff-jumper"},main:"./src/index.js",types:"./typings/index.d.ts",directories:{lib:"src",test:"test"},files:["src","typings"],contributors:["Crawl <icrawltogo@gmail.com>","Amish Shah <amishshah.2k@gmail.com>","Vlad Frangu <kingdgrizzle@gmail.com>","SpaceEEC <spaceeec@yahoo.com>","Aura Román <kyradiscord@gmail.com>"],license:"Apache-2.0",keywords:["discord","api","bot","client","node","discordapp"],repository:{type:"git",url:"https://github.com/discordjs/discord.js.git",directory:"packages/discord.js"},bugs:{url:"https://github.com/discordjs/discord.js/issues"},homepage:"https://discord.js.org",dependencies:{"@discordjs/builders":"^1.6.3","@discordjs/collection":"^1.5.1","@discordjs/formatters":"^0.3.1","@discordjs/rest":"^1.7.1","@discordjs/util":"^0.3.1","@discordjs/ws":"^0.8.3","@sapphire/snowflake":"^3.4.2","@types/ws":"^8.5.4","discord-api-types":"^0.37.41","fast-deep-equal":"^3.1.3","lodash.snakecase":"^4.1.1",tslib:"^2.5.0",undici:"^5.22.0",ws:"^8.13.0"},devDependencies:{"@discordjs/docgen":"^0.12.1","@favware/cliff-jumper":"^2.0.0","@types/node":"16.18.25",dtslint:"^4.2.1",eslint:"^8.39.0","eslint-formatter-pretty":"^5.0.0",jest:"^29.5.0",prettier:"^2.8.8",tsd:"^0.28.1",tslint:"^6.1.3",turbo:"^1.9.4-canary.9",typescript:"^5.0.4"},engines:{node:">=16.9.0"}}}});var require_LimitedCollection=__commonJS({"node_modules/discord.js/src/util/LimitedCollection.js"(exports2,module2){"use strict";var{Collection:Collection2}=require_dist();var{DiscordjsTypeError:DiscordjsTypeError2,ErrorCodes:ErrorCodes2}=require_errors6();var LimitedCollection=class extends Collection2{constructor(options={},iterable){if(typeof options!=="object"||options===null){throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"options","object",true)}const{maxSize=Infinity,keepOverLimit=null}=options;if(typeof maxSize!=="number"){throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"maxSize","number")}if(keepOverLimit!==null&&typeof keepOverLimit!=="function"){throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"keepOverLimit","function")}super(iterable);this.maxSize=maxSize;this.keepOverLimit=keepOverLimit}set(key,value){var _a12;if(this.maxSize===0)return this;if(this.size>=this.maxSize&&!this.has(key)){for(const[k,v]of this.entries()){const keep=((_a12=this.keepOverLimit)==null?void 0:_a12.call(this,v,k,this))??false;if(!keep){this.delete(k);break}}}return super.set(key,value)}static get[Symbol.species](){return Collection2}};module2.exports=LimitedCollection}});var require_Options=__commonJS({"node_modules/discord.js/src/util/Options.js"(exports2,module2){"use strict";var{DefaultRestOptions,DefaultUserAgentAppendix}=require_dist3();var{toSnakeCase}=require_Transformers();var{version}=require_package4();var Options3=class extends null{static userAgentAppendix=`discord.js/${version} ${DefaultUserAgentAppendix}`.trimEnd();static createDefault(){return{closeTimeout:5e3,waitGuildTimeout:15e3,shardCount:1,makeCache:this.cacheWithLimits(this.DefaultMakeCacheSettings),partials:[],failIfNotExists:true,presence:{},sweepers:this.DefaultSweeperSettings,ws:{large_threshold:50,version:10},rest:{...DefaultRestOptions,userAgentAppendix:this.userAgentAppendix},jsonTransformer:toSnakeCase}}static cacheWithLimits(settings={}){const{Collection:Collection2}=require_dist();const LimitedCollection=require_LimitedCollection();return manager=>{const setting=settings[manager.name];if(setting==null){return new Collection2}if(typeof setting==="number"){if(setting===Infinity){return new Collection2}return new LimitedCollection({maxSize:setting})}const noLimit=setting.maxSize==null||setting.maxSize===Infinity;if(noLimit){return new Collection2}return new LimitedCollection(setting)}}static cacheEverything(){const{Collection:Collection2}=require_dist();return()=>new Collection2}static get DefaultMakeCacheSettings(){return{MessageManager:200}}static get DefaultSweeperSettings(){return{threads:{interval:3600,lifetime:14400}}}};module2.exports=Options3}});var require_Colors=__commonJS({"node_modules/discord.js/src/util/Colors.js"(exports2,module2){"use strict";module2.exports={Default:0,White:16777215,Aqua:1752220,Green:5763719,Blue:3447003,Yellow:16705372,Purple:10181046,LuminousVividPink:15277667,Fuchsia:15418782,Gold:15844367,Orange:15105570,Red:15548997,Grey:9807270,Navy:3426654,DarkAqua:1146986,DarkGreen:2067276,DarkBlue:2123412,DarkPurple:7419530,DarkVividPink:11342935,DarkGold:12745742,DarkOrange:11027200,DarkRed:10038562,DarkGrey:9936031,DarkerGrey:8359053,LightGrey:12370112,DarkNavy:2899536,Blurple:5793266,Greyple:10070709,DarkButNotBlack:2895667,NotQuiteBlack:2303786}}});var require_isArray=__commonJS({"node_modules/lodash/isArray.js"(exports2,module2){var isArray3=Array.isArray;module2.exports=isArray3}});var require_freeGlobal=__commonJS({"node_modules/lodash/_freeGlobal.js"(exports2,module2){var freeGlobal2=typeof global=="object"&&global&&global.Object===Object&&global;module2.exports=freeGlobal2}});var require_root=__commonJS({"node_modules/lodash/_root.js"(exports2,module2){var freeGlobal2=require_freeGlobal();var freeSelf2=typeof self=="object"&&self&&self.Object===Object&&self;var root2=freeGlobal2||freeSelf2||Function("return this")();module2.exports=root2}});var require_Symbol=__commonJS({"node_modules/lodash/_Symbol.js"(exports2,module2){var root2=require_root();var Symbol3=root2.Symbol;module2.exports=Symbol3}});var require_getRawTag=__commonJS({"node_modules/lodash/_getRawTag.js"(exports2,module2){var Symbol3=require_Symbol();var objectProto30=Object.prototype;var hasOwnProperty26=objectProto30.hasOwnProperty;var nativeObjectToString5=objectProto30.toString;var symToStringTag3=Symbol3?Symbol3.toStringTag:void 0;function getRawTag2(value){var isOwn=hasOwnProperty26.call(value,symToStringTag3),tag=value[symToStringTag3];try{value[symToStringTag3]=void 0;var unmasked=true}catch(e){}var result2=nativeObjectToString5.call(value);if(unmasked){if(isOwn){value[symToStringTag3]=tag}else{delete value[symToStringTag3]}}return result2}module2.exports=getRawTag2}});var require_objectToString=__commonJS({"node_modules/lodash/_objectToString.js"(exports2,module2){var objectProto30=Object.prototype;var nativeObjectToString5=objectProto30.toString;function objectToString2(value){return nativeObjectToString5.call(value)}module2.exports=objectToString2}});var require_baseGetTag=__commonJS({"node_modules/lodash/_baseGetTag.js"(exports2,module2){var Symbol3=require_Symbol();var getRawTag2=require_getRawTag();var objectToString2=require_objectToString();var nullTag2="[object Null]";var undefinedTag2="[object Undefined]";var symToStringTag3=Symbol3?Symbol3.toStringTag:void 0;function baseGetTag2(value){if(value==null){return value===void 0?undefinedTag2:nullTag2}return symToStringTag3&&symToStringTag3 in Object(value)?getRawTag2(value):objectToString2(value)}module2.exports=baseGetTag2}});var require_isObjectLike=__commonJS({"node_modules/lodash/isObjectLike.js"(exports2,module2){function isObjectLike3(value){return value!=null&&typeof value=="object"}module2.exports=isObjectLike3}});var require_isSymbol=__commonJS({"node_modules/lodash/isSymbol.js"(exports2,module2){var baseGetTag2=require_baseGetTag();var isObjectLike3=require_isObjectLike();var symbolTag5="[object Symbol]";function isSymbol2(value){return typeof value=="symbol"||isObjectLike3(value)&&baseGetTag2(value)==symbolTag5}module2.exports=isSymbol2}});var require_isKey=__commonJS({"node_modules/lodash/_isKey.js"(exports2,module2){var isArray3=require_isArray();var isSymbol2=require_isSymbol();var reIsDeepProp2=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/;var reIsPlainProp2=/^\w*$/;function isKey2(value,object){if(isArray3(value)){return false}var type2=typeof value;if(type2=="number"||type2=="symbol"||type2=="boolean"||value==null||isSymbol2(value)){return true}return reIsPlainProp2.test(value)||!reIsDeepProp2.test(value)||object!=null&&value in Object(object)}module2.exports=isKey2}});var require_isObject=__commonJS({"node_modules/lodash/isObject.js"(exports2,module2){function isObject4(value){var type2=typeof value;return value!=null&&(type2=="object"||type2=="function")}module2.exports=isObject4}});var require_isFunction=__commonJS({"node_modules/lodash/isFunction.js"(exports2,module2){var baseGetTag2=require_baseGetTag();var isObject4=require_isObject();var asyncTag2="[object AsyncFunction]";var funcTag4="[object Function]";var genTag3="[object GeneratorFunction]";var proxyTag2="[object Proxy]";function isFunction3(value){if(!isObject4(value)){return false}var tag=baseGetTag2(value);return tag==funcTag4||tag==genTag3||tag==asyncTag2||tag==proxyTag2}module2.exports=isFunction3}});var require_coreJsData=__commonJS({"node_modules/lodash/_coreJsData.js"(exports2,module2){var root2=require_root();var coreJsData2=root2["__core-js_shared__"];module2.exports=coreJsData2}});var require_isMasked=__commonJS({"node_modules/lodash/_isMasked.js"(exports2,module2){var coreJsData2=require_coreJsData();var maskSrcKey2=function(){var uid=/[^.]+$/.exec(coreJsData2&&coreJsData2.keys&&coreJsData2.keys.IE_PROTO||"");return uid?"Symbol(src)_1."+uid:""}();function isMasked2(func){return!!maskSrcKey2&&maskSrcKey2 in func}module2.exports=isMasked2}});var require_toSource=__commonJS({"node_modules/lodash/_toSource.js"(exports2,module2){var funcProto4=Function.prototype;var funcToString4=funcProto4.toString;function toSource2(func){if(func!=null){try{return funcToString4.call(func)}catch(e){}try{return func+""}catch(e){}}return""}module2.exports=toSource2}});var require_baseIsNative=__commonJS({"node_modules/lodash/_baseIsNative.js"(exports2,module2){var isFunction3=require_isFunction();var isMasked2=require_isMasked();var isObject4=require_isObject();var toSource2=require_toSource();var reRegExpChar3=/[\\^$.*+?()[\]{}|]/g;var reIsHostCtor2=/^\[object .+?Constructor\]$/;var funcProto4=Function.prototype;var objectProto30=Object.prototype;var funcToString4=funcProto4.toString;var hasOwnProperty26=objectProto30.hasOwnProperty;var reIsNative2=RegExp("^"+funcToString4.call(hasOwnProperty26).replace(reRegExpChar3,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function baseIsNative2(value){if(!isObject4(value)||isMasked2(value)){return false}var pattern=isFunction3(value)?reIsNative2:reIsHostCtor2;return pattern.test(toSource2(value))}module2.exports=baseIsNative2}});var require_getValue=__commonJS({"node_modules/lodash/_getValue.js"(exports2,module2){function getValue2(object,key){return object==null?void 0:object[key]}module2.exports=getValue2}});var require_getNative=__commonJS({"node_modules/lodash/_getNative.js"(exports2,module2){var baseIsNative2=require_baseIsNative();var getValue2=require_getValue();function getNative2(object,key){var value=getValue2(object,key);return baseIsNative2(value)?value:void 0}module2.exports=getNative2}});var require_nativeCreate=__commonJS({"node_modules/lodash/_nativeCreate.js"(exports2,module2){var getNative2=require_getNative();var nativeCreate2=getNative2(Object,"create");module2.exports=nativeCreate2}});var require_hashClear=__commonJS({"node_modules/lodash/_hashClear.js"(exports2,module2){var nativeCreate2=require_nativeCreate();function hashClear2(){this.__data__=nativeCreate2?nativeCreate2(null):{};this.size=0}module2.exports=hashClear2}});var require_hashDelete=__commonJS({"node_modules/lodash/_hashDelete.js"(exports2,module2){function hashDelete2(key){var result2=this.has(key)&&delete this.__data__[key];this.size-=result2?1:0;return result2}module2.exports=hashDelete2}});var require_hashGet=__commonJS({"node_modules/lodash/_hashGet.js"(exports2,module2){var nativeCreate2=require_nativeCreate();var HASH_UNDEFINED4="__lodash_hash_undefined__";var objectProto30=Object.prototype;var hasOwnProperty26=objectProto30.hasOwnProperty;function hashGet2(key){var data=this.__data__;if(nativeCreate2){var result2=data[key];return result2===HASH_UNDEFINED4?void 0:result2}return hasOwnProperty26.call(data,key)?data[key]:void 0}module2.exports=hashGet2}});var require_hashHas=__commonJS({"node_modules/lodash/_hashHas.js"(exports2,module2){var nativeCreate2=require_nativeCreate();var objectProto30=Object.prototype;var hasOwnProperty26=objectProto30.hasOwnProperty;function hashHas2(key){var data=this.__data__;return nativeCreate2?data[key]!==void 0:hasOwnProperty26.call(data,key)}module2.exports=hashHas2}});var require_hashSet=__commonJS({"node_modules/lodash/_hashSet.js"(exports2,module2){var nativeCreate2=require_nativeCreate();var HASH_UNDEFINED4="__lodash_hash_undefined__";function hashSet2(key,value){var data=this.__data__;this.size+=this.has(key)?0:1;data[key]=nativeCreate2&&value===void 0?HASH_UNDEFINED4:value;return this}module2.exports=hashSet2}});var require_Hash=__commonJS({"node_modules/lodash/_Hash.js"(exports2,module2){var hashClear2=require_hashClear();var hashDelete2=require_hashDelete();var hashGet2=require_hashGet();var hashHas2=require_hashHas();var hashSet2=require_hashSet();function Hash2(entries2){var index=-1,length=entries2==null?0:entries2.length;this.clear();while(++index<length){var entry=entries2[index];this.set(entry[0],entry[1])}}Hash2.prototype.clear=hashClear2;Hash2.prototype["delete"]=hashDelete2;Hash2.prototype.get=hashGet2;Hash2.prototype.has=hashHas2;Hash2.prototype.set=hashSet2;module2.exports=Hash2}});var require_listCacheClear=__commonJS({"node_modules/lodash/_listCacheClear.js"(exports2,module2){function listCacheClear2(){this.__data__=[];this.size=0}module2.exports=listCacheClear2}});var require_eq=__commonJS({"node_modules/lodash/eq.js"(exports2,module2){function eq2(value,other){return value===other||value!==value&&other!==other}module2.exports=eq2}});var require_assocIndexOf=__commonJS({"node_modules/lodash/_assocIndexOf.js"(exports2,module2){var eq2=require_eq();function assocIndexOf2(array,key){var length=array.length;while(length--){if(eq2(array[length][0],key)){return length}}return-1}module2.exports=assocIndexOf2}});var require_listCacheDelete=__commonJS({"node_modules/lodash/_listCacheDelete.js"(exports2,module2){var assocIndexOf2=require_assocIndexOf();var arrayProto7=Array.prototype;var splice4=arrayProto7.splice;function listCacheDelete2(key){var data=this.__data__,index=assocIndexOf2(data,key);if(index<0){return false}var lastIndex=data.length-1;if(index==lastIndex){data.pop()}else{splice4.call(data,index,1)}--this.size;return true}module2.exports=listCacheDelete2}});var require_listCacheGet=__commonJS({"node_modules/lodash/_listCacheGet.js"(exports2,module2){var assocIndexOf2=require_assocIndexOf();function listCacheGet2(key){var data=this.__data__,index=assocIndexOf2(data,key);return index<0?void 0:data[index][1]}module2.exports=listCacheGet2}});var require_listCacheHas=__commonJS({"node_modules/lodash/_listCacheHas.js"(exports2,module2){var assocIndexOf2=require_assocIndexOf();function listCacheHas2(key){return assocIndexOf2(this.__data__,key)>-1}module2.exports=listCacheHas2}});var require_listCacheSet=__commonJS({"node_modules/lodash/_listCacheSet.js"(exports2,module2){var assocIndexOf2=require_assocIndexOf();function listCacheSet2(key,value){var data=this.__data__,index=assocIndexOf2(data,key);if(index<0){++this.size;data.push([key,value])}else{data[index][1]=value}return this}module2.exports=listCacheSet2}});var require_ListCache=__commonJS({"node_modules/lodash/_ListCache.js"(exports2,module2){var listCacheClear2=require_listCacheClear();var listCacheDelete2=require_listCacheDelete();var listCacheGet2=require_listCacheGet();var listCacheHas2=require_listCacheHas();var listCacheSet2=require_listCacheSet();function ListCache2(entries2){var index=-1,length=entries2==null?0:entries2.length;this.clear();while(++index<length){var entry=entries2[index];this.set(entry[0],entry[1])}}ListCache2.prototype.clear=listCacheClear2;ListCache2.prototype["delete"]=listCacheDelete2;ListCache2.prototype.get=listCacheGet2;ListCache2.prototype.has=listCacheHas2;ListCache2.prototype.set=listCacheSet2;module2.exports=ListCache2}});var require_Map=__commonJS({"node_modules/lodash/_Map.js"(exports2,module2){var getNative2=require_getNative();var root2=require_root();var Map3=getNative2(root2,"Map");module2.exports=Map3}});var require_mapCacheClear=__commonJS({"node_modules/lodash/_mapCacheClear.js"(exports2,module2){var Hash2=require_Hash();var ListCache2=require_ListCache();var Map3=require_Map();function mapCacheClear2(){this.size=0;this.__data__={"hash":new Hash2,"map":new(Map3||ListCache2),"string":new Hash2}}module2.exports=mapCacheClear2}});var require_isKeyable=__commonJS({"node_modules/lodash/_isKeyable.js"(exports2,module2){function isKeyable2(value){var type2=typeof value;return type2=="string"||type2=="number"||type2=="symbol"||type2=="boolean"?value!=="__proto__":value===null}module2.exports=isKeyable2}});var require_getMapData=__commonJS({"node_modules/lodash/_getMapData.js"(exports2,module2){var isKeyable2=require_isKeyable();function getMapData2(map3,key){var data=map3.__data__;return isKeyable2(key)?data[typeof key=="string"?"string":"hash"]:data.map}module2.exports=getMapData2}});var require_mapCacheDelete=__commonJS({"node_modules/lodash/_mapCacheDelete.js"(exports2,module2){var getMapData2=require_getMapData();function mapCacheDelete2(key){var result2=getMapData2(this,key)["delete"](key);this.size-=result2?1:0;return result2}module2.exports=mapCacheDelete2}});var require_mapCacheGet=__commonJS({"node_modules/lodash/_mapCacheGet.js"(exports2,module2){var getMapData2=require_getMapData();function mapCacheGet2(key){return getMapData2(this,key).get(key)}module2.exports=mapCacheGet2}});var require_mapCacheHas=__commonJS({"node_modules/lodash/_mapCacheHas.js"(exports2,module2){var getMapData2=require_getMapData();function mapCacheHas2(key){return getMapData2(this,key).has(key)}module2.exports=mapCacheHas2}});var require_mapCacheSet=__commonJS({"node_modules/lodash/_mapCacheSet.js"(exports2,module2){var getMapData2=require_getMapData();function mapCacheSet2(key,value){var data=getMapData2(this,key),size2=data.size;data.set(key,value);this.size+=data.size==size2?0:1;return this}module2.exports=mapCacheSet2}});var require_MapCache=__commonJS({"node_modules/lodash/_MapCache.js"(exports2,module2){var mapCacheClear2=require_mapCacheClear();var mapCacheDelete2=require_mapCacheDelete();var mapCacheGet2=require_mapCacheGet();var mapCacheHas2=require_mapCacheHas();var mapCacheSet2=require_mapCacheSet();function MapCache2(entries2){var index=-1,length=entries2==null?0:entries2.length;this.clear();while(++index<length){var entry=entries2[index];this.set(entry[0],entry[1])}}MapCache2.prototype.clear=mapCacheClear2;MapCache2.prototype["delete"]=mapCacheDelete2;MapCache2.prototype.get=mapCacheGet2;MapCache2.prototype.has=mapCacheHas2;MapCache2.prototype.set=mapCacheSet2;module2.exports=MapCache2}});var require_memoize=__commonJS({"node_modules/lodash/memoize.js"(exports2,module2){var MapCache2=require_MapCache();var FUNC_ERROR_TEXT13="Expected a function";function memoize2(func,resolver){if(typeof func!="function"||resolver!=null&&typeof resolver!="function"){throw new TypeError(FUNC_ERROR_TEXT13)}var memoized=function(){var args2=arguments,key=resolver?resolver.apply(this,args2):args2[0],cache2=memoized.cache;if(cache2.has(key)){return cache2.get(key)}var result2=func.apply(this,args2);memoized.cache=cache2.set(key,result2)||cache2;return result2};memoized.cache=new(memoize2.Cache||MapCache2);return memoized}memoize2.Cache=MapCache2;module2.exports=memoize2}});var require_memoizeCapped=__commonJS({"node_modules/lodash/_memoizeCapped.js"(exports2,module2){var memoize2=require_memoize();var MAX_MEMOIZE_SIZE2=500;function memoizeCapped2(func){var result2=memoize2(func,function(key){if(cache2.size===MAX_MEMOIZE_SIZE2){cache2.clear()}return key});var cache2=result2.cache;return result2}module2.exports=memoizeCapped2}});var require_stringToPath=__commonJS({"node_modules/lodash/_stringToPath.js"(exports2,module2){var memoizeCapped2=require_memoizeCapped();var rePropName2=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;var reEscapeChar2=/\\(\\)?/g;var stringToPath2=memoizeCapped2(function(string){var result2=[];if(string.charCodeAt(0)===46){result2.push("")}string.replace(rePropName2,function(match,number2,quote,subString){result2.push(quote?subString.replace(reEscapeChar2,"$1"):number2||match)});return result2});module2.exports=stringToPath2}});var require_arrayMap=__commonJS({"node_modules/lodash/_arrayMap.js"(exports2,module2){function arrayMap2(array,iteratee2){var index=-1,length=array==null?0:array.length,result2=Array(length);while(++index<length){result2[index]=iteratee2(array[index],index,array)}return result2}module2.exports=arrayMap2}});var require_baseToString=__commonJS({"node_modules/lodash/_baseToString.js"(exports2,module2){var Symbol3=require_Symbol();var arrayMap2=require_arrayMap();var isArray3=require_isArray();var isSymbol2=require_isSymbol();var INFINITY8=1/0;var symbolProto4=Symbol3?Symbol3.prototype:void 0;var symbolToString2=symbolProto4?symbolProto4.toString:void 0;function baseToString3(value){if(typeof value=="string"){return value}if(isArray3(value)){return arrayMap2(value,baseToString3)+""}if(isSymbol2(value)){return symbolToString2?symbolToString2.call(value):""}var result2=value+"";return result2=="0"&&1/value==-INFINITY8?"-0":result2}module2.exports=baseToString3}});var require_toString=__commonJS({"node_modules/lodash/toString.js"(exports2,module2){var baseToString3=require_baseToString();function toString5(value){return value==null?"":baseToString3(value)}module2.exports=toString5}});var require_castPath=__commonJS({"node_modules/lodash/_castPath.js"(exports2,module2){var isArray3=require_isArray();var isKey2=require_isKey();var stringToPath2=require_stringToPath();var toString5=require_toString();function castPath2(value,object){if(isArray3(value)){return value}return isKey2(value,object)?[value]:stringToPath2(toString5(value))}module2.exports=castPath2}});var require_toKey=__commonJS({"node_modules/lodash/_toKey.js"(exports2,module2){var isSymbol2=require_isSymbol();var INFINITY8=1/0;function toKey2(value){if(typeof value=="string"||isSymbol2(value)){return value}var result2=value+"";return result2=="0"&&1/value==-INFINITY8?"-0":result2}module2.exports=toKey2}});var require_baseGet=__commonJS({"node_modules/lodash/_baseGet.js"(exports2,module2){var castPath2=require_castPath();var toKey2=require_toKey();function baseGet2(object,path27){path27=castPath2(path27,object);var index=0,length=path27.length;while(object!=null&&index<length){object=object[toKey2(path27[index++])]}return index&&index==length?object:void 0}module2.exports=baseGet2}});var require_get2=__commonJS({"node_modules/lodash/get.js"(exports2,module2){var baseGet2=require_baseGet();function get4(object,path27,defaultValue){var result2=object==null?void 0:baseGet2(object,path27);return result2===void 0?defaultValue:result2}module2.exports=get4}});var require_es6=__commonJS({"node_modules/fast-deep-equal/es6/index.js"(exports2,module2){"use strict";module2.exports=function equal(a,b){if(a===b)return true;if(a&&b&&typeof a=="object"&&typeof b=="object"){if(a.constructor!==b.constructor)return false;var length,i,keys2;if(Array.isArray(a)){length=a.length;if(length!=b.length)return false;for(i=length;i--!==0;)if(!equal(a[i],b[i]))return false;return true}if(a instanceof Map&&b instanceof Map){if(a.size!==b.size)return false;for(i of a.entries())if(!b.has(i[0]))return false;for(i of a.entries())if(!equal(i[1],b.get(i[0])))return false;return true}if(a instanceof Set&&b instanceof Set){if(a.size!==b.size)return false;for(i of a.entries())if(!b.has(i[0]))return false;return true}if(ArrayBuffer.isView(a)&&ArrayBuffer.isView(b)){length=a.length;if(length!=b.length)return false;for(i=length;i--!==0;)if(a[i]!==b[i])return false;return true}if(a.constructor===RegExp)return a.source===b.source&&a.flags===b.flags;if(a.valueOf!==Object.prototype.valueOf)return a.valueOf()===b.valueOf();if(a.toString!==Object.prototype.toString)return a.toString()===b.toString();keys2=Object.keys(a);length=keys2.length;if(length!==Object.keys(b).length)return false;for(i=length;i--!==0;)if(!Object.prototype.hasOwnProperty.call(b,keys2[i]))return false;for(i=length;i--!==0;){var key=keys2[i];if(!equal(a[key],b[key]))return false}return true}return a!==a&&b!==b}}});var require_setCacheAdd=__commonJS({"node_modules/lodash/_setCacheAdd.js"(exports2,module2){var HASH_UNDEFINED4="__lodash_hash_undefined__";function setCacheAdd2(value){this.__data__.set(value,HASH_UNDEFINED4);return this}module2.exports=setCacheAdd2}});var require_setCacheHas=__commonJS({"node_modules/lodash/_setCacheHas.js"(exports2,module2){function setCacheHas2(value){return this.__data__.has(value)}module2.exports=setCacheHas2}});var require_SetCache=__commonJS({"node_modules/lodash/_SetCache.js"(exports2,module2){var MapCache2=require_MapCache();var setCacheAdd2=require_setCacheAdd();var setCacheHas2=require_setCacheHas();function SetCache2(values2){var index=-1,length=values2==null?0:values2.length;this.__data__=new MapCache2;while(++index<length){this.add(values2[index])}}SetCache2.prototype.add=SetCache2.prototype.push=setCacheAdd2;SetCache2.prototype.has=setCacheHas2;module2.exports=SetCache2}});var require_baseFindIndex=__commonJS({"node_modules/lodash/_baseFindIndex.js"(exports2,module2){function baseFindIndex2(array,predicate,fromIndex,fromRight){var length=array.length,index=fromIndex+(fromRight?1:-1);while(fromRight?index--:++index<length){if(predicate(array[index],index,array)){return index}}return-1}module2.exports=baseFindIndex2}});var require_baseIsNaN=__commonJS({"node_modules/lodash/_baseIsNaN.js"(exports2,module2){function baseIsNaN2(value){return value!==value}module2.exports=baseIsNaN2}});var require_strictIndexOf=__commonJS({"node_modules/lodash/_strictIndexOf.js"(exports2,module2){function strictIndexOf2(array,value,fromIndex){var index=fromIndex-1,length=array.length;while(++index<length){if(array[index]===value){return index}}return-1}module2.exports=strictIndexOf2}});var require_baseIndexOf=__commonJS({"node_modules/lodash/_baseIndexOf.js"(exports2,module2){var baseFindIndex2=require_baseFindIndex();var baseIsNaN2=require_baseIsNaN();var strictIndexOf2=require_strictIndexOf();function baseIndexOf2(array,value,fromIndex){return value===value?strictIndexOf2(array,value,fromIndex):baseFindIndex2(array,baseIsNaN2,fromIndex)}module2.exports=baseIndexOf2}});var require_arrayIncludes=__commonJS({"node_modules/lodash/_arrayIncludes.js"(exports2,module2){var baseIndexOf2=require_baseIndexOf();function arrayIncludes2(array,value){var length=array==null?0:array.length;return!!length&&baseIndexOf2(array,value,0)>-1}module2.exports=arrayIncludes2}});var require_arrayIncludesWith=__commonJS({"node_modules/lodash/_arrayIncludesWith.js"(exports2,module2){function arrayIncludesWith2(array,value,comparator){var index=-1,length=array==null?0:array.length;while(++index<length){if(comparator(value,array[index])){return true}}return false}module2.exports=arrayIncludesWith2}});var require_cacheHas=__commonJS({"node_modules/lodash/_cacheHas.js"(exports2,module2){function cacheHas2(cache2,key){return cache2.has(key)}module2.exports=cacheHas2}});var require_Set=__commonJS({"node_modules/lodash/_Set.js"(exports2,module2){var getNative2=require_getNative();var root2=require_root();var Set3=getNative2(root2,"Set");module2.exports=Set3}});var require_noop=__commonJS({"node_modules/lodash/noop.js"(exports2,module2){function noop4(){}module2.exports=noop4}});var require_setToArray=__commonJS({"node_modules/lodash/_setToArray.js"(exports2,module2){function setToArray2(set3){var index=-1,result2=Array(set3.size);set3.forEach(function(value){result2[++index]=value});return result2}module2.exports=setToArray2}});var require_createSet=__commonJS({"node_modules/lodash/_createSet.js"(exports2,module2){var Set3=require_Set();var noop4=require_noop();var setToArray2=require_setToArray();var INFINITY8=1/0;var createSet2=!(Set3&&1/setToArray2(new Set3([,-0]))[1]==INFINITY8)?noop4:function(values2){return new Set3(values2)};module2.exports=createSet2}});var require_baseUniq=__commonJS({"node_modules/lodash/_baseUniq.js"(exports2,module2){var SetCache2=require_SetCache();var arrayIncludes2=require_arrayIncludes();var arrayIncludesWith2=require_arrayIncludesWith();var cacheHas2=require_cacheHas();var createSet2=require_createSet();var setToArray2=require_setToArray();var LARGE_ARRAY_SIZE4=200;function baseUniq2(array,iteratee2,comparator){var index=-1,includes2=arrayIncludes2,length=array.length,isCommon=true,result2=[],seen=result2;if(comparator){isCommon=false;includes2=arrayIncludesWith2}else if(length>=LARGE_ARRAY_SIZE4){var set3=iteratee2?null:createSet2(array);if(set3){return setToArray2(set3)}isCommon=false;includes2=cacheHas2;seen=new SetCache2}else{seen=iteratee2?[]:result2}outer:while(++index<length){var value=array[index],computed=iteratee2?iteratee2(value):value;value=comparator||value!==0?value:0;if(isCommon&&computed===computed){var seenIndex=seen.length;while(seenIndex--){if(seen[seenIndex]===computed){continue outer}}if(iteratee2){seen.push(computed)}result2.push(value)}else if(!includes2(seen,computed,comparator)){if(seen!==result2){seen.push(computed)}result2.push(value)}}return result2}module2.exports=baseUniq2}});var require_uniqWith=__commonJS({"node_modules/lodash/uniqWith.js"(exports2,module2){var baseUniq2=require_baseUniq();function uniqWith2(array,comparator){comparator=typeof comparator=="function"?comparator:void 0;return array&&array.length?baseUniq2(array,void 0,comparator):[]}module2.exports=uniqWith2}});var require_cjs4=__commonJS({"node_modules/@sapphire/shapeshift/dist/cjs/index.cjs"(exports2){"use strict";var get4=require_get2();var fastDeepEqual=require_es6();var uniqWith2=require_uniqWith();function _interopDefault(e3){return e3&&e3.__esModule?e3:{default:e3}}var get__default=_interopDefault(get4);var fastDeepEqual__default=_interopDefault(fastDeepEqual);var uniqWith__default=_interopDefault(uniqWith2);var __defProp2=Object.defineProperty;var __name=(target,value)=>__defProp2(target,"name",{value,configurable:true});var e;var t;var n;var r="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:globalThis;var o=e={};function i(){throw new Error("setTimeout has not been defined")}__name(i,"i");function u(){throw new Error("clearTimeout has not been defined")}__name(u,"u");function c(e3){if(t===setTimeout)return setTimeout(e3,0);if((t===i||!t)&&setTimeout)return t=setTimeout,setTimeout(e3,0);try{return t(e3,0)}catch(n3){try{return t.call(null,e3,0)}catch(n4){return t.call(this||r,e3,0)}}}__name(c,"c");!function(){try{t="function"==typeof setTimeout?setTimeout:i}catch(e3){t=i}try{n="function"==typeof clearTimeout?clearTimeout:u}catch(e3){n=u}}();var l;var s=[];var f=false;var a=-1;function h(){f&&l&&(f=false,l.length?s=l.concat(s):a=-1,s.length&&d())}__name(h,"h");function d(){if(!f){var e3=c(h);f=true;for(var t3=s.length;t3;){for(l=s,s=[];++a<t3;)l&&l[a].run();a=-1,t3=s.length}l=null,f=false,function(e4){if(n===clearTimeout)return clearTimeout(e4);if((n===u||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e4);try{n(e4)}catch(t4){try{return n.call(null,e4)}catch(t5){return n.call(this||r,e4)}}}(e3)}}__name(d,"d");function m(e3,t3){(this||r).fun=e3,(this||r).array=t3}__name(m,"m");function p(){}__name(p,"p");o.nextTick=function(e3){var t3=new Array(arguments.length-1);if(arguments.length>1)for(var n3=1;n3<arguments.length;n3++)t3[n3-1]=arguments[n3];s.push(new m(e3,t3)),1!==s.length||f||c(d)},m.prototype.run=function(){(this||r).fun.apply(null,(this||r).array)},o.title="browser",o.browser=true,o.env={},o.argv=[],o.version="",o.versions={},o.on=p,o.addListener=p,o.once=p,o.off=p,o.removeListener=p,o.removeAllListeners=p,o.emit=p,o.prependListener=p,o.prependOnceListener=p,o.listeners=function(e3){return[]},o.binding=function(e3){throw new Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(e3){throw new Error("process.chdir is not supported")},o.umask=function(){return 0};var T=e;T.addListener;T.argv;T.binding;T.browser;T.chdir;T.cwd;T.emit;T.env;T.listeners;T.nextTick;T.off;T.on;T.once;T.prependListener;T.prependOnceListener;T.removeAllListeners;T.removeListener;T.title;T.umask;T.version;T.versions;var t2="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag;var e2=Object.prototype.toString;var o2=__name(function(o3){return!(t2&&o3&&"object"==typeof o3&&Symbol.toStringTag in o3)&&"[object Arguments]"===e2.call(o3)},"o");var n2=__name(function(t3){return!!o2(t3)||null!==t3&&"object"==typeof t3&&"number"==typeof t3.length&&t3.length>=0&&"[object Array]"!==e2.call(t3)&&"[object Function]"===e2.call(t3.callee)},"n");var r2=function(){return o2(arguments)}();o2.isLegacyArguments=n2;var l2=r2?o2:n2;var t$1=Object.prototype.toString;var o$1=Function.prototype.toString;var n$1=/^\s*(?:function)?\*/;var e$1="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag;var r$1=Object.getPrototypeOf;var c2=function(){if(!e$1)return false;try{return Function("return function*() {}")()}catch(t3){}}();var u2=c2?r$1(c2):{};var i2=__name(function(c3){return"function"==typeof c3&&(!!n$1.test(o$1.call(c3))||(e$1?r$1(c3)===u2:"[object GeneratorFunction]"===t$1.call(c3)))},"i");var t$2="function"==typeof Object.create?function(t3,e3){e3&&(t3.super_=e3,t3.prototype=Object.create(e3.prototype,{constructor:{value:t3,enumerable:false,writable:true,configurable:true}}))}:function(t3,e3){if(e3){t3.super_=e3;var o3=__name(function(){},"o");o3.prototype=e3.prototype,t3.prototype=new o3,t3.prototype.constructor=t3}};var i$1=__name(function(e3){return e3&&"object"==typeof e3&&"function"==typeof e3.copy&&"function"==typeof e3.fill&&"function"==typeof e3.readUInt8},"i$1");var o$2={};var u$1=i$1;var f2=l2;var a2=i2;function c$1(e3){return e3.call.bind(e3)}__name(c$1,"c$1");var s2="undefined"!=typeof BigInt;var p2="undefined"!=typeof Symbol;var y=p2&&void 0!==Symbol.toStringTag;var l$1="undefined"!=typeof Uint8Array;var d2="undefined"!=typeof ArrayBuffer;if(l$1&&y)var g=Object.getPrototypeOf(Uint8Array.prototype),b=c$1(Object.getOwnPropertyDescriptor(g,Symbol.toStringTag).get);var m2=c$1(Object.prototype.toString);var h2=c$1(Number.prototype.valueOf);var j=c$1(String.prototype.valueOf);var A=c$1(Boolean.prototype.valueOf);if(s2)var w=c$1(BigInt.prototype.valueOf);if(p2)var v=c$1(Symbol.prototype.valueOf);function O(e3,t3){if("object"!=typeof e3)return false;try{return t3(e3),true}catch(e4){return false}}__name(O,"O");function S(e3){return l$1&&y?void 0!==b(e3):B(e3)||k(e3)||E(e3)||D(e3)||U(e3)||P(e3)||x(e3)||I(e3)||M(e3)||z2(e3)||F(e3)}__name(S,"S");function B(e3){return l$1&&y?"Uint8Array"===b(e3):"[object Uint8Array]"===m2(e3)||u$1(e3)&&void 0!==e3.buffer}__name(B,"B");function k(e3){return l$1&&y?"Uint8ClampedArray"===b(e3):"[object Uint8ClampedArray]"===m2(e3)}__name(k,"k");function E(e3){return l$1&&y?"Uint16Array"===b(e3):"[object Uint16Array]"===m2(e3)}__name(E,"E");function D(e3){return l$1&&y?"Uint32Array"===b(e3):"[object Uint32Array]"===m2(e3)}__name(D,"D");function U(e3){return l$1&&y?"Int8Array"===b(e3):"[object Int8Array]"===m2(e3)}__name(U,"U");function P(e3){return l$1&&y?"Int16Array"===b(e3):"[object Int16Array]"===m2(e3)}__name(P,"P");function x(e3){return l$1&&y?"Int32Array"===b(e3):"[object Int32Array]"===m2(e3)}__name(x,"x");function I(e3){return l$1&&y?"Float32Array"===b(e3):"[object Float32Array]"===m2(e3)}__name(I,"I");function M(e3){return l$1&&y?"Float64Array"===b(e3):"[object Float64Array]"===m2(e3)}__name(M,"M");function z2(e3){return l$1&&y?"BigInt64Array"===b(e3):"[object BigInt64Array]"===m2(e3)}__name(z2,"z");function F(e3){return l$1&&y?"BigUint64Array"===b(e3):"[object BigUint64Array]"===m2(e3)}__name(F,"F");function T2(e3){return"[object Map]"===m2(e3)}__name(T2,"T");function N(e3){return"[object Set]"===m2(e3)}__name(N,"N");function W(e3){return"[object WeakMap]"===m2(e3)}__name(W,"W");function $(e3){return"[object WeakSet]"===m2(e3)}__name($,"$");function C(e3){return"[object ArrayBuffer]"===m2(e3)}__name(C,"C");function V(e3){return"undefined"!=typeof ArrayBuffer&&(C.working?C(e3):e3 instanceof ArrayBuffer)}__name(V,"V");function G(e3){return"[object DataView]"===m2(e3)}__name(G,"G");function R(e3){return"undefined"!=typeof DataView&&(G.working?G(e3):e3 instanceof DataView)}__name(R,"R");function J(e3){return"[object SharedArrayBuffer]"===m2(e3)}__name(J,"J");function _(e3){return"undefined"!=typeof SharedArrayBuffer&&(J.working?J(e3):e3 instanceof SharedArrayBuffer)}__name(_,"_");function H(e3){return O(e3,h2)}__name(H,"H");function Z(e3){return O(e3,j)}__name(Z,"Z");function q(e3){return O(e3,A)}__name(q,"q");function K(e3){return s2&&O(e3,w)}__name(K,"K");function L(e3){return p2&&O(e3,v)}__name(L,"L");o$2.isArgumentsObject=f2,o$2.isGeneratorFunction=a2,o$2.isPromise=function(e3){return"undefined"!=typeof Promise&&e3 instanceof Promise||null!==e3&&"object"==typeof e3&&"function"==typeof e3.then&&"function"==typeof e3.catch},o$2.isArrayBufferView=function(e3){return d2&&ArrayBuffer.isView?ArrayBuffer.isView(e3):S(e3)||R(e3)},o$2.isTypedArray=S,o$2.isUint8Array=B,o$2.isUint8ClampedArray=k,o$2.isUint16Array=E,o$2.isUint32Array=D,o$2.isInt8Array=U,o$2.isInt16Array=P,o$2.isInt32Array=x,o$2.isFloat32Array=I,o$2.isFloat64Array=M,o$2.isBigInt64Array=z2,o$2.isBigUint64Array=F,T2.working="undefined"!=typeof Map&&T2(new Map),o$2.isMap=function(e3){return"undefined"!=typeof Map&&(T2.working?T2(e3):e3 instanceof Map)},N.working="undefined"!=typeof Set&&N(new Set),o$2.isSet=function(e3){return"undefined"!=typeof Set&&(N.working?N(e3):e3 instanceof Set)},W.working="undefined"!=typeof WeakMap&&W(new WeakMap),o$2.isWeakMap=function(e3){return"undefined"!=typeof WeakMap&&(W.working?W(e3):e3 instanceof WeakMap)},$.working="undefined"!=typeof WeakSet&&$(new WeakSet),o$2.isWeakSet=function(e3){return $(e3)},C.working="undefined"!=typeof ArrayBuffer&&C(new ArrayBuffer),o$2.isArrayBuffer=V,G.working="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView&&G(new DataView(new ArrayBuffer(1),0,1)),o$2.isDataView=R,J.working="undefined"!=typeof SharedArrayBuffer&&J(new SharedArrayBuffer),o$2.isSharedArrayBuffer=_,o$2.isAsyncFunction=function(e3){return"[object AsyncFunction]"===m2(e3)},o$2.isMapIterator=function(e3){return"[object Map Iterator]"===m2(e3)},o$2.isSetIterator=function(e3){return"[object Set Iterator]"===m2(e3)},o$2.isGeneratorObject=function(e3){return"[object Generator]"===m2(e3)},o$2.isWebAssemblyCompiledModule=function(e3){return"[object WebAssembly.Module]"===m2(e3)},o$2.isNumberObject=H,o$2.isStringObject=Z,o$2.isBooleanObject=q,o$2.isBigIntObject=K,o$2.isSymbolObject=L,o$2.isBoxedPrimitive=function(e3){return H(e3)||Z(e3)||q(e3)||K(e3)||L(e3)},o$2.isAnyArrayBuffer=function(e3){return l$1&&(V(e3)||_(e3))},["isProxy","isExternal","isModuleNamespaceObject"].forEach(function(e3){Object.defineProperty(o$2,e3,{enumerable:false,value:function(){throw new Error(e3+" is not supported in userland")}})});var Q="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:globalThis;var X={};var Y=T;var ee=Object.getOwnPropertyDescriptors||function(e3){for(var t3=Object.keys(e3),r3={},n3=0;n3<t3.length;n3++)r3[t3[n3]]=Object.getOwnPropertyDescriptor(e3,t3[n3]);return r3};var te=/%[sdj%]/g;X.format=function(e3){if(!ge(e3)){for(var t3=[],r3=0;r3<arguments.length;r3++)t3.push(oe(arguments[r3]));return t3.join(" ")}r3=1;for(var n3=arguments,i3=n3.length,o3=String(e3).replace(te,function(e4){if("%%"===e4)return"%";if(r3>=i3)return e4;switch(e4){case"%s":return String(n3[r3++]);case"%d":return Number(n3[r3++]);case"%j":try{return JSON.stringify(n3[r3++])}catch(e5){return"[Circular]"}default:return e4}}),u3=n3[r3];r3<i3;u3=n3[++r3])le(u3)||!he(u3)?o3+=" "+u3:o3+=" "+oe(u3);return o3},X.deprecate=function(e3,t3){if(void 0!==Y&&true===Y.noDeprecation)return e3;if(void 0===Y)return function(){return X.deprecate(e3,t3).apply(this||Q,arguments)};var r3=false;return function(){if(!r3){if(Y.throwDeprecation)throw new Error(t3);Y.traceDeprecation?console.trace(t3):console.error(t3),r3=true}return e3.apply(this||Q,arguments)}};var re={};var ne=/^$/;if(Y.env.NODE_DEBUG){ie=Y.env.NODE_DEBUG;ie=ie.replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^").toUpperCase(),ne=new RegExp("^"+ie+"$","i")}var ie;function oe(e3,t3){var r3={seen:[],stylize:fe};return arguments.length>=3&&(r3.depth=arguments[2]),arguments.length>=4&&(r3.colors=arguments[3]),ye(t3)?r3.showHidden=t3:t3&&X._extend(r3,t3),be(r3.showHidden)&&(r3.showHidden=false),be(r3.depth)&&(r3.depth=2),be(r3.colors)&&(r3.colors=false),be(r3.customInspect)&&(r3.customInspect=true),r3.colors&&(r3.stylize=ue),ae(r3,e3,r3.depth)}__name(oe,"oe");function ue(e3,t3){var r3=oe.styles[t3];return r3?"\x1B["+oe.colors[r3][0]+"m"+e3+"\x1B["+oe.colors[r3][1]+"m":e3}__name(ue,"ue");function fe(e3,t3){return e3}__name(fe,"fe");function ae(e3,t3,r3){if(e3.customInspect&&t3&&we(t3.inspect)&&t3.inspect!==X.inspect&&(!t3.constructor||t3.constructor.prototype!==t3)){var n3=t3.inspect(r3,e3);return ge(n3)||(n3=ae(e3,n3,r3)),n3}var i3=function(e4,t4){if(be(t4))return e4.stylize("undefined","undefined");if(ge(t4)){var r4="'"+JSON.stringify(t4).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e4.stylize(r4,"string")}if(de(t4))return e4.stylize(""+t4,"number");if(ye(t4))return e4.stylize(""+t4,"boolean");if(le(t4))return e4.stylize("null","null")}(e3,t3);if(i3)return i3;var o3=Object.keys(t3),u3=function(e4){var t4={};return e4.forEach(function(e5,r4){t4[e5]=true}),t4}(o3);if(e3.showHidden&&(o3=Object.getOwnPropertyNames(t3)),Ae(t3)&&(o3.indexOf("message")>=0||o3.indexOf("description")>=0))return ce(t3);if(0===o3.length){if(we(t3)){var f3=t3.name?": "+t3.name:"";return e3.stylize("[Function"+f3+"]","special")}if(me(t3))return e3.stylize(RegExp.prototype.toString.call(t3),"regexp");if(je(t3))return e3.stylize(Date.prototype.toString.call(t3),"date");if(Ae(t3))return ce(t3)}var a3,c3="",s4=false,p3=["{","}"];(pe(t3)&&(s4=true,p3=["[","]"]),we(t3))&&(c3=" [Function"+(t3.name?": "+t3.name:"")+"]");return me(t3)&&(c3=" "+RegExp.prototype.toString.call(t3)),je(t3)&&(c3=" "+Date.prototype.toUTCString.call(t3)),Ae(t3)&&(c3=" "+ce(t3)),0!==o3.length||s4&&0!=t3.length?r3<0?me(t3)?e3.stylize(RegExp.prototype.toString.call(t3),"regexp"):e3.stylize("[Object]","special"):(e3.seen.push(t3),a3=s4?function(e4,t4,r4,n4,i4){for(var o4=[],u4=0,f4=t4.length;u4<f4;++u4)ke(t4,String(u4))?o4.push(se(e4,t4,r4,n4,String(u4),true)):o4.push("");return i4.forEach(function(i5){i5.match(/^\d+$/)||o4.push(se(e4,t4,r4,n4,i5,true))}),o4}(e3,t3,r3,u3,o3):o3.map(function(n4){return se(e3,t3,r3,u3,n4,s4)}),e3.seen.pop(),function(e4,t4,r4){var n4=0;if(e4.reduce(function(e5,t5){return n4++,t5.indexOf("\n")>=0&&n4++,e5+t5.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60)return r4[0]+(""===t4?"":t4+"\n ")+" "+e4.join(",\n  ")+" "+r4[1];return r4[0]+t4+" "+e4.join(", ")+" "+r4[1]}(a3,c3,p3)):p3[0]+c3+p3[1]}__name(ae,"ae");function ce(e3){return"["+Error.prototype.toString.call(e3)+"]"}__name(ce,"ce");function se(e3,t3,r3,n3,i3,o3){var u3,f3,a3;if((a3=Object.getOwnPropertyDescriptor(t3,i3)||{value:t3[i3]}).get?f3=a3.set?e3.stylize("[Getter/Setter]","special"):e3.stylize("[Getter]","special"):a3.set&&(f3=e3.stylize("[Setter]","special")),ke(n3,i3)||(u3="["+i3+"]"),f3||(e3.seen.indexOf(a3.value)<0?(f3=le(r3)?ae(e3,a3.value,null):ae(e3,a3.value,r3-1)).indexOf("\n")>-1&&(f3=o3?f3.split("\n").map(function(e4){return"  "+e4}).join("\n").substr(2):"\n"+f3.split("\n").map(function(e4){return"   "+e4}).join("\n")):f3=e3.stylize("[Circular]","special")),be(u3)){if(o3&&i3.match(/^\d+$/))return f3;(u3=JSON.stringify(""+i3)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(u3=u3.substr(1,u3.length-2),u3=e3.stylize(u3,"name")):(u3=u3.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),u3=e3.stylize(u3,"string"))}return u3+": "+f3}__name(se,"se");function pe(e3){return Array.isArray(e3)}__name(pe,"pe");function ye(e3){return"boolean"==typeof e3}__name(ye,"ye");function le(e3){return null===e3}__name(le,"le");function de(e3){return"number"==typeof e3}__name(de,"de");function ge(e3){return"string"==typeof e3}__name(ge,"ge");function be(e3){return void 0===e3}__name(be,"be");function me(e3){return he(e3)&&"[object RegExp]"===ve(e3)}__name(me,"me");function he(e3){return"object"==typeof e3&&null!==e3}__name(he,"he");function je(e3){return he(e3)&&"[object Date]"===ve(e3)}__name(je,"je");function Ae(e3){return he(e3)&&("[object Error]"===ve(e3)||e3 instanceof Error)}__name(Ae,"Ae");function we(e3){return"function"==typeof e3}__name(we,"we");function ve(e3){return Object.prototype.toString.call(e3)}__name(ve,"ve");function Oe(e3){return e3<10?"0"+e3.toString(10):e3.toString(10)}__name(Oe,"Oe");X.debuglog=function(e3){if(e3=e3.toUpperCase(),!re[e3])if(ne.test(e3)){var t3=Y.pid;re[e3]=function(){var r3=X.format.apply(X,arguments);console.error("%s %d: %s",e3,t3,r3)}}else re[e3]=function(){};return re[e3]},X.inspect=oe,oe.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},oe.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},X.types=o$2,X.isArray=pe,X.isBoolean=ye,X.isNull=le,X.isNullOrUndefined=function(e3){return null==e3},X.isNumber=de,X.isString=ge,X.isSymbol=function(e3){return"symbol"==typeof e3},X.isUndefined=be,X.isRegExp=me,X.types.isRegExp=me,X.isObject=he,X.isDate=je,X.types.isDate=je,X.isError=Ae,X.types.isNativeError=Ae,X.isFunction=we,X.isPrimitive=function(e3){return null===e3||"boolean"==typeof e3||"number"==typeof e3||"string"==typeof e3||"symbol"==typeof e3||void 0===e3},X.isBuffer=i$1;var Se=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function Be(){var e3=new Date,t3=[Oe(e3.getHours()),Oe(e3.getMinutes()),Oe(e3.getSeconds())].join(":");return[e3.getDate(),Se[e3.getMonth()],t3].join(" ")}__name(Be,"Be");function ke(e3,t3){return Object.prototype.hasOwnProperty.call(e3,t3)}__name(ke,"ke");X.log=function(){console.log("%s - %s",Be(),X.format.apply(X,arguments))},X.inherits=t$2,X._extend=function(e3,t3){if(!t3||!he(t3))return e3;for(var r3=Object.keys(t3),n3=r3.length;n3--;)e3[r3[n3]]=t3[r3[n3]];return e3};var Ee="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function De(e3,t3){if(!e3){var r3=new Error("Promise was rejected with a falsy value");r3.reason=e3,e3=r3}return t3(e3)}__name(De,"De");X.promisify=function(e3){if("function"!=typeof e3)throw new TypeError('The "original" argument must be of type Function');if(Ee&&e3[Ee]){var t3;if("function"!=typeof(t3=e3[Ee]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(t3,Ee,{value:t3,enumerable:false,writable:false,configurable:true}),t3}function t3(){for(var t4,r3,n3=new Promise(function(e4,n4){t4=e4,r3=n4}),i3=[],o3=0;o3<arguments.length;o3++)i3.push(arguments[o3]);i3.push(function(e4,n4){e4?r3(e4):t4(n4)});try{e3.apply(this||Q,i3)}catch(e4){r3(e4)}return n3}__name(t3,"t");return Object.setPrototypeOf(t3,Object.getPrototypeOf(e3)),Ee&&Object.defineProperty(t3,Ee,{value:t3,enumerable:false,writable:false,configurable:true}),Object.defineProperties(t3,ee(e3))},X.promisify.custom=Ee,X.callbackify=function(e3){if("function"!=typeof e3)throw new TypeError('The "original" argument must be of type Function');function t3(){for(var t4=[],r3=0;r3<arguments.length;r3++)t4.push(arguments[r3]);var n3=t4.pop();if("function"!=typeof n3)throw new TypeError("The last argument must be of type Function");var i3=this||Q,o3=__name(function(){return n3.apply(i3,arguments)},"o");e3.apply(this||Q,t4).then(function(e4){Y.nextTick(o3.bind(null,null,e4))},function(e4){Y.nextTick(De.bind(null,e4,o3))})}__name(t3,"t");return Object.setPrototypeOf(t3,Object.getPrototypeOf(e3)),Object.defineProperties(t3,ee(e3)),t3};X._extend;X.callbackify;X.debuglog;X.deprecate;X.format;X.inherits;X.inspect;X.isArray;X.isBoolean;X.isBuffer;X.isDate;X.isError;X.isFunction;X.isNull;X.isNullOrUndefined;X.isNumber;X.isObject;X.isPrimitive;X.isRegExp;X.isString;X.isSymbol;X.isUndefined;X.log;X.promisify;X._extend;X.callbackify;X.debuglog;X.deprecate;X.format;X.inherits;X.inspect;X.isArray;X.isBoolean;X.isBuffer;X.isDate;X.isError;X.isFunction;X.isNull;X.isNullOrUndefined;X.isNumber;X.isObject;X.isPrimitive;X.isRegExp;X.isString;X.isSymbol;X.isUndefined;X.log;X.promisify;X.types;X._extend;X.callbackify;X.debuglog;X.deprecate;X.format;X.inherits;var inspect22=X.inspect;X.isArray;X.isBoolean;X.isBuffer;X.isDate;X.isError;X.isFunction;X.isNull;X.isNullOrUndefined;X.isNumber;X.isObject;X.isPrimitive;X.isRegExp;X.isString;X.isSymbol;X.isUndefined;X.log;X.promisify;X.types;X.TextEncoder=globalThis.TextEncoder;X.TextDecoder=globalThis.TextDecoder;var customInspectSymbol=Symbol.for("nodejs.util.inspect.custom");var customInspectSymbolStackLess=Symbol.for("nodejs.util.inspect.custom.stack-less");var _BaseError=class _BaseError extends Error{toJSON(){return{name:this.name,message:this.message}}[customInspectSymbol](depth,options){return`${this[customInspectSymbolStackLess](depth,options)}
${this.stack.slice(this.stack.indexOf("\n"))}`}};__name(_BaseError,"BaseError");var BaseError=_BaseError;var _BaseConstraintError=class _BaseConstraintError extends BaseError{constructor(constraint,message3,given){super(message3);this.constraint=constraint;this.given=given}toJSON(){return{name:this.name,constraint:this.constraint,given:this.given,message:this.message}}};__name(_BaseConstraintError,"BaseConstraintError");var BaseConstraintError=_BaseConstraintError;var _ExpectedConstraintError=class _ExpectedConstraintError extends BaseConstraintError{constructor(constraint,message3,given,expected){super(constraint,message3,given);this.expected=expected}toJSON(){return{name:this.name,constraint:this.constraint,given:this.given,expected:this.expected,message:this.message}}[customInspectSymbolStackLess](depth,options){const constraint=options.stylize(this.constraint,"string");if(depth<0){return options.stylize(`[ExpectedConstraintError: ${constraint}]`,"special")}const newOptions={...options,depth:options.depth===null?null:options.depth-1};const padding=`
  ${options.stylize("|","undefined")} `;const given=inspect22(this.given,newOptions).replace(/\n/g,padding);const header2=`${options.stylize("ExpectedConstraintError","special")} > ${constraint}`;const message3=options.stylize(this.message,"regexp");const expectedBlock=`
  ${options.stylize("Expected: ","string")}${options.stylize(this.expected,"boolean")}`;const givenBlock=`
  ${options.stylize("Received:","regexp")}${padding}${given}`;return`${header2}
  ${message3}
${expectedBlock}
${givenBlock}`}};__name(_ExpectedConstraintError,"ExpectedConstraintError");var ExpectedConstraintError=_ExpectedConstraintError;var _Result=class _Result2{constructor(success,value,error){this.success=success;if(success){this.value=value}else{this.error=error}}isOk(){return this.success}isErr(){return!this.success}unwrap(){if(this.isOk())return this.value;throw this.error}static ok(value){return new _Result2(true,value)}static err(error){return new _Result2(false,void 0,error)}};__name(_Result,"Result");var Result=_Result;function whenConstraint(key,options,validator,validatorOptions){return{run(input,parent2){if(!parent2){return Result.err(new ExpectedConstraintError("s.object(T.when)",(validatorOptions==null?void 0:validatorOptions.message)??"Validator has no parent",parent2,"Validator to have a parent"))}const isKeyArray=Array.isArray(key);const value=isKeyArray?key.map(k2=>get__default.default(parent2,k2)):get__default.default(parent2,key);const predicate=resolveBooleanIs(options,value,isKeyArray)?options.then:options.otherwise;if(predicate){return predicate(validator).run(input)}return Result.ok(input)}}}__name(whenConstraint,"whenConstraint");function resolveBooleanIs(options,value,isKeyArray){if(options.is===void 0){return isKeyArray?!value.some(val=>!val):Boolean(value)}if(typeof options.is==="function"){return options.is(value)}return value===options.is}__name(resolveBooleanIs,"resolveBooleanIs");var validationEnabled=true;function setGlobalValidationEnabled(enabled3){validationEnabled=enabled3}__name(setGlobalValidationEnabled,"setGlobalValidationEnabled");function getGlobalValidationEnabled(){return validationEnabled}__name(getGlobalValidationEnabled,"getGlobalValidationEnabled");function getValue2(valueOrFn){return typeof valueOrFn==="function"?valueOrFn():valueOrFn}__name(getValue2,"getValue");var _BaseValidator=class _BaseValidator{constructor(validatorOptions={},constraints=[]){this.constraints=[];this.isValidationEnabled=null;this.constraints=constraints;this.validatorOptions=validatorOptions}setParent(parent2){this.parent=parent2;return this}optional(options=this.validatorOptions){return new UnionValidator([new LiteralValidator(void 0,options),this.clone()],options)}nullable(options=this.validatorOptions){return new UnionValidator([new LiteralValidator(null,options),this.clone()],options)}nullish(options=this.validatorOptions){return new UnionValidator([new NullishValidator(options),this.clone()],options)}array(options=this.validatorOptions){return new ArrayValidator(this.clone(),options)}set(options=this.validatorOptions){return new SetValidator(this.clone(),options)}or(...predicates){return new UnionValidator([this.clone(),...predicates],this.validatorOptions)}transform(cb,options=this.validatorOptions){return this.addConstraint({run:input=>Result.ok(cb(input))},options)}reshape(cb,options=this.validatorOptions){return this.addConstraint({run:cb},options)}default(value,options=this.validatorOptions){return new DefaultValidator(this.clone(),value,options)}when(key,options,validatorOptions){return this.addConstraint(whenConstraint(key,options,this,validatorOptions))}describe(description){const clone2=this.clone();clone2.description=description;return clone2}run(value){let result2=this.handle(value);if(result2.isErr())return result2;for(const constraint of this.constraints){result2=constraint.run(result2.value,this.parent);if(result2.isErr())break}return result2}parse(value){if(!this.shouldRunConstraints){return this.handle(value).unwrap()}return this.constraints.reduce((v2,constraint)=>constraint.run(v2).unwrap(),this.handle(value).unwrap())}is(value){return this.run(value).isOk()}setValidationEnabled(isValidationEnabled){const clone2=this.clone();clone2.isValidationEnabled=isValidationEnabled;return clone2}getValidationEnabled(){return getValue2(this.isValidationEnabled)}get shouldRunConstraints(){return getValue2(this.isValidationEnabled)??getGlobalValidationEnabled()}clone(){const clone2=Reflect.construct(this.constructor,[this.validatorOptions,this.constraints]);clone2.isValidationEnabled=this.isValidationEnabled;return clone2}addConstraint(constraint,validatorOptions=this.validatorOptions){const clone2=this.clone();clone2.validatorOptions=validatorOptions;clone2.constraints=clone2.constraints.concat(constraint);return clone2}};__name(_BaseValidator,"BaseValidator");var BaseValidator=_BaseValidator;function isUnique(input){if(input.length<2)return true;const uniqueArray2=uniqWith__default.default(input,fastDeepEqual__default.default);return uniqueArray2.length===input.length}__name(isUnique,"isUnique");function lessThan(a3,b2){return a3<b2}__name(lessThan,"lessThan");function lessThanOrEqual(a3,b2){return a3<=b2}__name(lessThanOrEqual,"lessThanOrEqual");function greaterThan(a3,b2){return a3>b2}__name(greaterThan,"greaterThan");function greaterThanOrEqual(a3,b2){return a3>=b2}__name(greaterThanOrEqual,"greaterThanOrEqual");function equal(a3,b2){return a3===b2}__name(equal,"equal");function notEqual(a3,b2){return a3!==b2}__name(notEqual,"notEqual");function arrayLengthComparator(comparator,name,expected,length,options){return{run(input){return comparator(input.length,length)?Result.ok(input):Result.err(new ExpectedConstraintError(name,(options==null?void 0:options.message)??"Invalid Array length",input,expected))}}}__name(arrayLengthComparator,"arrayLengthComparator");function arrayLengthLessThan(value,options){const expected=`expected.length < ${value}`;return arrayLengthComparator(lessThan,"s.array(T).lengthLessThan()",expected,value,options)}__name(arrayLengthLessThan,"arrayLengthLessThan");function arrayLengthLessThanOrEqual(value,options){const expected=`expected.length <= ${value}`;return arrayLengthComparator(lessThanOrEqual,"s.array(T).lengthLessThanOrEqual()",expected,value,options)}__name(arrayLengthLessThanOrEqual,"arrayLengthLessThanOrEqual");function arrayLengthGreaterThan(value,options){const expected=`expected.length > ${value}`;return arrayLengthComparator(greaterThan,"s.array(T).lengthGreaterThan()",expected,value,options)}__name(arrayLengthGreaterThan,"arrayLengthGreaterThan");function arrayLengthGreaterThanOrEqual(value,options){const expected=`expected.length >= ${value}`;return arrayLengthComparator(greaterThanOrEqual,"s.array(T).lengthGreaterThanOrEqual()",expected,value,options)}__name(arrayLengthGreaterThanOrEqual,"arrayLengthGreaterThanOrEqual");function arrayLengthEqual(value,options){const expected=`expected.length === ${value}`;return arrayLengthComparator(equal,"s.array(T).lengthEqual()",expected,value,options)}__name(arrayLengthEqual,"arrayLengthEqual");function arrayLengthNotEqual(value,options){const expected=`expected.length !== ${value}`;return arrayLengthComparator(notEqual,"s.array(T).lengthNotEqual()",expected,value,options)}__name(arrayLengthNotEqual,"arrayLengthNotEqual");function arrayLengthRange(start,endBefore,options){const expected=`expected.length >= ${start} && expected.length < ${endBefore}`;return{run(input){return input.length>=start&&input.length<endBefore?Result.ok(input):Result.err(new ExpectedConstraintError("s.array(T).lengthRange()",(options==null?void 0:options.message)??"Invalid Array length",input,expected))}}}__name(arrayLengthRange,"arrayLengthRange");function arrayLengthRangeInclusive(start,end,options){const expected=`expected.length >= ${start} && expected.length <= ${end}`;return{run(input){return input.length>=start&&input.length<=end?Result.ok(input):Result.err(new ExpectedConstraintError("s.array(T).lengthRangeInclusive()",(options==null?void 0:options.message)??"Invalid Array length",input,expected))}}}__name(arrayLengthRangeInclusive,"arrayLengthRangeInclusive");function arrayLengthRangeExclusive(startAfter,endBefore,options){const expected=`expected.length > ${startAfter} && expected.length < ${endBefore}`;return{run(input){return input.length>startAfter&&input.length<endBefore?Result.ok(input):Result.err(new ExpectedConstraintError("s.array(T).lengthRangeExclusive()",(options==null?void 0:options.message)??"Invalid Array length",input,expected))}}}__name(arrayLengthRangeExclusive,"arrayLengthRangeExclusive");function uniqueArray(options){return{run(input){return isUnique(input)?Result.ok(input):Result.err(new ExpectedConstraintError("s.array(T).unique()",(options==null?void 0:options.message)??"Array values are not unique",input,"Expected all values to be unique"))}}}__name(uniqueArray,"uniqueArray");var _CombinedPropertyError=class _CombinedPropertyError2 extends BaseError{constructor(errors2,validatorOptions){super((validatorOptions==null?void 0:validatorOptions.message)??"Received one or more errors");this.errors=errors2}[customInspectSymbolStackLess](depth,options){if(depth<0){return options.stylize("[CombinedPropertyError]","special")}const newOptions={...options,depth:options.depth===null?null:options.depth-1,compact:true};const padding=`
  ${options.stylize("|","undefined")} `;const header2=`${options.stylize("CombinedPropertyError","special")} (${options.stylize(this.errors.length.toString(),"number")})`;const message3=options.stylize(this.message,"regexp");const errors2=this.errors.map(([key,error])=>{const property2=_CombinedPropertyError2.formatProperty(key,options);const body=error[customInspectSymbolStackLess](depth-1,newOptions).replace(/\n/g,padding);return`  input${property2}${padding}${body}`}).join("\n\n");return`${header2}
  ${message3}

${errors2}`}static formatProperty(key,options){if(typeof key==="string")return options.stylize(`.${key}`,"symbol");if(typeof key==="number")return`[${options.stylize(key.toString(),"number")}]`;return`[${options.stylize("Symbol","symbol")}(${key.description})]`}};__name(_CombinedPropertyError,"CombinedPropertyError");var CombinedPropertyError=_CombinedPropertyError;var _ValidationError=class _ValidationError extends BaseError{constructor(validator,message3,given){super(message3);this.validator=validator;this.given=given}toJSON(){return{name:this.name,message:"Unknown validation error occurred.",validator:this.validator,given:this.given}}[customInspectSymbolStackLess](depth,options){const validator=options.stylize(this.validator,"string");if(depth<0){return options.stylize(`[ValidationError: ${validator}]`,"special")}const newOptions={...options,depth:options.depth===null?null:options.depth-1,compact:true};const padding=`
  ${options.stylize("|","undefined")} `;const given=inspect22(this.given,newOptions).replace(/\n/g,padding);const header2=`${options.stylize("ValidationError","special")} > ${validator}`;const message3=options.stylize(this.message,"regexp");const givenBlock=`
  ${options.stylize("Received:","regexp")}${padding}${given}`;return`${header2}
  ${message3}
${givenBlock}`}};__name(_ValidationError,"ValidationError");var ValidationError2=_ValidationError;var _ArrayValidator=class _ArrayValidator extends BaseValidator{constructor(validator,validatorOptions={},constraints=[]){super(validatorOptions,constraints);this.validator=validator}lengthLessThan(length,options=this.validatorOptions){return this.addConstraint(arrayLengthLessThan(length,options))}lengthLessThanOrEqual(length,options=this.validatorOptions){return this.addConstraint(arrayLengthLessThanOrEqual(length,options))}lengthGreaterThan(length,options=this.validatorOptions){return this.addConstraint(arrayLengthGreaterThan(length,options))}lengthGreaterThanOrEqual(length,options=this.validatorOptions){return this.addConstraint(arrayLengthGreaterThanOrEqual(length,options))}lengthEqual(length,options=this.validatorOptions){return this.addConstraint(arrayLengthEqual(length,options))}lengthNotEqual(length,options=this.validatorOptions){return this.addConstraint(arrayLengthNotEqual(length,options))}lengthRange(start,endBefore,options=this.validatorOptions){return this.addConstraint(arrayLengthRange(start,endBefore,options))}lengthRangeInclusive(startAt,endAt,options=this.validatorOptions){return this.addConstraint(arrayLengthRangeInclusive(startAt,endAt,options))}lengthRangeExclusive(startAfter,endBefore,options=this.validatorOptions){return this.addConstraint(arrayLengthRangeExclusive(startAfter,endBefore,options))}unique(options=this.validatorOptions){return this.addConstraint(uniqueArray(options))}clone(){return Reflect.construct(this.constructor,[this.validator,this.validatorOptions,this.constraints])}handle(values2){if(!Array.isArray(values2)){return Result.err(new ValidationError2("s.array(T)",this.validatorOptions.message??"Expected an array",values2))}if(!this.shouldRunConstraints){return Result.ok(values2)}const errors2=[];const transformed=[];for(let i3=0;i3<values2.length;i3++){const result2=this.validator.run(values2[i3]);if(result2.isOk())transformed.push(result2.value);else errors2.push([i3,result2.error])}return errors2.length===0?Result.ok(transformed):Result.err(new CombinedPropertyError(errors2,this.validatorOptions))}};__name(_ArrayValidator,"ArrayValidator");var ArrayValidator=_ArrayValidator;function bigintComparator(comparator,name,expected,number2,options){return{run(input){return comparator(input,number2)?Result.ok(input):Result.err(new ExpectedConstraintError(name,(options==null?void 0:options.message)??"Invalid bigint value",input,expected))}}}__name(bigintComparator,"bigintComparator");function bigintLessThan(value,options){const expected=`expected < ${value}n`;return bigintComparator(lessThan,"s.bigint().lessThan()",expected,value,options)}__name(bigintLessThan,"bigintLessThan");function bigintLessThanOrEqual(value,options){const expected=`expected <= ${value}n`;return bigintComparator(lessThanOrEqual,"s.bigint().lessThanOrEqual()",expected,value,options)}__name(bigintLessThanOrEqual,"bigintLessThanOrEqual");function bigintGreaterThan(value,options){const expected=`expected > ${value}n`;return bigintComparator(greaterThan,"s.bigint().greaterThan()",expected,value,options)}__name(bigintGreaterThan,"bigintGreaterThan");function bigintGreaterThanOrEqual(value,options){const expected=`expected >= ${value}n`;return bigintComparator(greaterThanOrEqual,"s.bigint().greaterThanOrEqual()",expected,value,options)}__name(bigintGreaterThanOrEqual,"bigintGreaterThanOrEqual");function bigintEqual(value,options){const expected=`expected === ${value}n`;return bigintComparator(equal,"s.bigint().equal()",expected,value,options)}__name(bigintEqual,"bigintEqual");function bigintNotEqual(value,options){const expected=`expected !== ${value}n`;return bigintComparator(notEqual,"s.bigint().notEqual()",expected,value,options)}__name(bigintNotEqual,"bigintNotEqual");function bigintDivisibleBy(divider,options){const expected=`expected % ${divider}n === 0n`;return{run(input){return input%divider===0n?Result.ok(input):Result.err(new ExpectedConstraintError("s.bigint().divisibleBy()",(options==null?void 0:options.message)??"BigInt is not divisible",input,expected))}}}__name(bigintDivisibleBy,"bigintDivisibleBy");var _BigIntValidator=class _BigIntValidator extends BaseValidator{lessThan(number2,options=this.validatorOptions){return this.addConstraint(bigintLessThan(number2,options))}lessThanOrEqual(number2,options=this.validatorOptions){return this.addConstraint(bigintLessThanOrEqual(number2,options))}greaterThan(number2,options=this.validatorOptions){return this.addConstraint(bigintGreaterThan(number2,options))}greaterThanOrEqual(number2,options=this.validatorOptions){return this.addConstraint(bigintGreaterThanOrEqual(number2,options))}equal(number2,options=this.validatorOptions){return this.addConstraint(bigintEqual(number2,options))}notEqual(number2,options=this.validatorOptions){return this.addConstraint(bigintNotEqual(number2,options))}positive(options=this.validatorOptions){return this.greaterThanOrEqual(0n,options)}negative(options=this.validatorOptions){return this.lessThan(0n,options)}divisibleBy(number2,options=this.validatorOptions){return this.addConstraint(bigintDivisibleBy(number2,options))}abs(options=this.validatorOptions){return this.transform(value=>value<0?-value:value,options)}intN(bits,options=this.validatorOptions){return this.transform(value=>BigInt.asIntN(bits,value),options)}uintN(bits,options=this.validatorOptions){return this.transform(value=>BigInt.asUintN(bits,value),options)}handle(value){return typeof value==="bigint"?Result.ok(value):Result.err(new ValidationError2("s.bigint()",this.validatorOptions.message??"Expected a bigint primitive",value))}};__name(_BigIntValidator,"BigIntValidator");var BigIntValidator=_BigIntValidator;function booleanTrue(options){return{run(input){return input?Result.ok(input):Result.err(new ExpectedConstraintError("s.boolean().true()",(options==null?void 0:options.message)??"Invalid boolean value",input,"true"))}}}__name(booleanTrue,"booleanTrue");function booleanFalse(options){return{run(input){return input?Result.err(new ExpectedConstraintError("s.boolean().false()",(options==null?void 0:options.message)??"Invalid boolean value",input,"false")):Result.ok(input)}}}__name(booleanFalse,"booleanFalse");var _BooleanValidator=class _BooleanValidator extends BaseValidator{true(options=this.validatorOptions){return this.addConstraint(booleanTrue(options))}false(options=this.validatorOptions){return this.addConstraint(booleanFalse(options))}equal(value,options=this.validatorOptions){return value?this.true(options):this.false(options)}notEqual(value,options=this.validatorOptions){return value?this.false(options):this.true(options)}handle(value){return typeof value==="boolean"?Result.ok(value):Result.err(new ValidationError2("s.boolean()",this.validatorOptions.message??"Expected a boolean primitive",value))}};__name(_BooleanValidator,"BooleanValidator");var BooleanValidator=_BooleanValidator;function dateComparator(comparator,name,expected,number2,options){return{run(input){return comparator(input.getTime(),number2)?Result.ok(input):Result.err(new ExpectedConstraintError(name,(options==null?void 0:options.message)??"Invalid Date value",input,expected))}}}__name(dateComparator,"dateComparator");function dateLessThan(value,options){const expected=`expected < ${value.toISOString()}`;return dateComparator(lessThan,"s.date().lessThan()",expected,value.getTime(),options)}__name(dateLessThan,"dateLessThan");function dateLessThanOrEqual(value,options){const expected=`expected <= ${value.toISOString()}`;return dateComparator(lessThanOrEqual,"s.date().lessThanOrEqual()",expected,value.getTime(),options)}__name(dateLessThanOrEqual,"dateLessThanOrEqual");function dateGreaterThan(value,options){const expected=`expected > ${value.toISOString()}`;return dateComparator(greaterThan,"s.date().greaterThan()",expected,value.getTime(),options)}__name(dateGreaterThan,"dateGreaterThan");function dateGreaterThanOrEqual(value,options){const expected=`expected >= ${value.toISOString()}`;return dateComparator(greaterThanOrEqual,"s.date().greaterThanOrEqual()",expected,value.getTime(),options)}__name(dateGreaterThanOrEqual,"dateGreaterThanOrEqual");function dateEqual(value,options){const expected=`expected === ${value.toISOString()}`;return dateComparator(equal,"s.date().equal()",expected,value.getTime(),options)}__name(dateEqual,"dateEqual");function dateNotEqual(value,options){const expected=`expected !== ${value.toISOString()}`;return dateComparator(notEqual,"s.date().notEqual()",expected,value.getTime(),options)}__name(dateNotEqual,"dateNotEqual");function dateInvalid(options){return{run(input){return Number.isNaN(input.getTime())?Result.ok(input):Result.err(new ExpectedConstraintError("s.date().invalid()",(options==null?void 0:options.message)??"Invalid Date value",input,"expected === NaN"))}}}__name(dateInvalid,"dateInvalid");function dateValid(options){return{run(input){return Number.isNaN(input.getTime())?Result.err(new ExpectedConstraintError("s.date().valid()",(options==null?void 0:options.message)??"Invalid Date value",input,"expected !== NaN")):Result.ok(input)}}}__name(dateValid,"dateValid");var _DateValidator=class _DateValidator extends BaseValidator{lessThan(date,options=this.validatorOptions){return this.addConstraint(dateLessThan(new Date(date),options))}lessThanOrEqual(date,options=this.validatorOptions){return this.addConstraint(dateLessThanOrEqual(new Date(date),options))}greaterThan(date,options=this.validatorOptions){return this.addConstraint(dateGreaterThan(new Date(date),options))}greaterThanOrEqual(date,options=this.validatorOptions){return this.addConstraint(dateGreaterThanOrEqual(new Date(date),options))}equal(date,options=this.validatorOptions){const resolved=new Date(date);return Number.isNaN(resolved.getTime())?this.invalid(options):this.addConstraint(dateEqual(resolved,options))}notEqual(date,options=this.validatorOptions){const resolved=new Date(date);return Number.isNaN(resolved.getTime())?this.valid(options):this.addConstraint(dateNotEqual(resolved,options))}valid(options=this.validatorOptions){return this.addConstraint(dateValid(options))}invalid(options=this.validatorOptions){return this.addConstraint(dateInvalid(options))}handle(value){return value instanceof Date?Result.ok(value):Result.err(new ValidationError2("s.date()",this.validatorOptions.message??"Expected a Date",value))}};__name(_DateValidator,"DateValidator");var DateValidator=_DateValidator;var _ExpectedValidationError=class _ExpectedValidationError extends ValidationError2{constructor(validator,message3,given,expected){super(validator,message3,given);this.expected=expected}toJSON(){return{name:this.name,validator:this.validator,given:this.given,expected:this.expected,message:this.message}}[customInspectSymbolStackLess](depth,options){const validator=options.stylize(this.validator,"string");if(depth<0){return options.stylize(`[ExpectedValidationError: ${validator}]`,"special")}const newOptions={...options,depth:options.depth===null?null:options.depth-1};const padding=`
  ${options.stylize("|","undefined")} `;const expected=inspect22(this.expected,newOptions).replace(/\n/g,padding);const given=inspect22(this.given,newOptions).replace(/\n/g,padding);const header2=`${options.stylize("ExpectedValidationError","special")} > ${validator}`;const message3=options.stylize(this.message,"regexp");const expectedBlock=`
  ${options.stylize("Expected:","string")}${padding}${expected}`;const givenBlock=`
  ${options.stylize("Received:","regexp")}${padding}${given}`;return`${header2}
  ${message3}
${expectedBlock}
${givenBlock}`}};__name(_ExpectedValidationError,"ExpectedValidationError");var ExpectedValidationError=_ExpectedValidationError;var _InstanceValidator=class _InstanceValidator extends BaseValidator{constructor(expected,validatorOptions={},constraints=[]){super(validatorOptions,constraints);this.expected=expected}handle(value){return value instanceof this.expected?Result.ok(value):Result.err(new ExpectedValidationError("s.instance(V)",this.validatorOptions.message??"Expected",value,this.expected))}clone(){return Reflect.construct(this.constructor,[this.expected,this.validatorOptions,this.constraints])}};__name(_InstanceValidator,"InstanceValidator");var InstanceValidator=_InstanceValidator;var _LiteralValidator=class _LiteralValidator extends BaseValidator{constructor(literal,validatorOptions={},constraints=[]){super(validatorOptions,constraints);this.expected=literal}handle(value){return Object.is(value,this.expected)?Result.ok(value):Result.err(new ExpectedValidationError("s.literal(V)",this.validatorOptions.message??"Expected values to be equals",value,this.expected))}clone(){return Reflect.construct(this.constructor,[this.expected,this.validatorOptions,this.constraints])}};__name(_LiteralValidator,"LiteralValidator");var LiteralValidator=_LiteralValidator;var _NeverValidator=class _NeverValidator extends BaseValidator{handle(value){return Result.err(new ValidationError2("s.never()",this.validatorOptions.message??"Expected a value to not be passed",value))}};__name(_NeverValidator,"NeverValidator");var NeverValidator=_NeverValidator;var _NullishValidator=class _NullishValidator extends BaseValidator{handle(value){return value===void 0||value===null?Result.ok(value):Result.err(new ValidationError2("s.nullish()",this.validatorOptions.message??"Expected undefined or null",value))}};__name(_NullishValidator,"NullishValidator");var NullishValidator=_NullishValidator;function numberComparator(comparator,name,expected,number2,options){return{run(input){return comparator(input,number2)?Result.ok(input):Result.err(new ExpectedConstraintError(name,(options==null?void 0:options.message)??"Invalid number value",input,expected))}}}__name(numberComparator,"numberComparator");function numberLessThan(value,options){const expected=`expected < ${value}`;return numberComparator(lessThan,"s.number().lessThan()",expected,value,options)}__name(numberLessThan,"numberLessThan");function numberLessThanOrEqual(value,options){const expected=`expected <= ${value}`;return numberComparator(lessThanOrEqual,"s.number().lessThanOrEqual()",expected,value,options)}__name(numberLessThanOrEqual,"numberLessThanOrEqual");function numberGreaterThan(value,options){const expected=`expected > ${value}`;return numberComparator(greaterThan,"s.number().greaterThan()",expected,value,options)}__name(numberGreaterThan,"numberGreaterThan");function numberGreaterThanOrEqual(value,options){const expected=`expected >= ${value}`;return numberComparator(greaterThanOrEqual,"s.number().greaterThanOrEqual()",expected,value,options)}__name(numberGreaterThanOrEqual,"numberGreaterThanOrEqual");function numberEqual(value,options){const expected=`expected === ${value}`;return numberComparator(equal,"s.number().equal()",expected,value,options)}__name(numberEqual,"numberEqual");function numberNotEqual(value,options){const expected=`expected !== ${value}`;return numberComparator(notEqual,"s.number().notEqual()",expected,value,options)}__name(numberNotEqual,"numberNotEqual");function numberInt(options){return{run(input){return Number.isInteger(input)?Result.ok(input):Result.err(new ExpectedConstraintError("s.number().int()",(options==null?void 0:options.message)??"Given value is not an integer",input,"Number.isInteger(expected) to be true"))}}}__name(numberInt,"numberInt");function numberSafeInt(options){return{run(input){return Number.isSafeInteger(input)?Result.ok(input):Result.err(new ExpectedConstraintError("s.number().safeInt()",(options==null?void 0:options.message)??"Given value is not a safe integer",input,"Number.isSafeInteger(expected) to be true"))}}}__name(numberSafeInt,"numberSafeInt");function numberFinite(options){return{run(input){return Number.isFinite(input)?Result.ok(input):Result.err(new ExpectedConstraintError("s.number().finite()",(options==null?void 0:options.message)??"Given value is not finite",input,"Number.isFinite(expected) to be true"))}}}__name(numberFinite,"numberFinite");function numberNaN(options){return{run(input){return Number.isNaN(input)?Result.ok(input):Result.err(new ExpectedConstraintError("s.number().equal(NaN)",(options==null?void 0:options.message)??"Invalid number value",input,"expected === NaN"))}}}__name(numberNaN,"numberNaN");function numberNotNaN(options){return{run(input){return Number.isNaN(input)?Result.err(new ExpectedConstraintError("s.number().notEqual(NaN)",(options==null?void 0:options.message)??"Invalid number value",input,"expected !== NaN")):Result.ok(input)}}}__name(numberNotNaN,"numberNotNaN");function numberDivisibleBy(divider,options){const expected=`expected % ${divider} === 0`;return{run(input){return input%divider===0?Result.ok(input):Result.err(new ExpectedConstraintError("s.number().divisibleBy()",(options==null?void 0:options.message)??"Number is not divisible",input,expected))}}}__name(numberDivisibleBy,"numberDivisibleBy");var _NumberValidator=class _NumberValidator extends BaseValidator{lessThan(number2,options=this.validatorOptions){return this.addConstraint(numberLessThan(number2,options))}lessThanOrEqual(number2,options=this.validatorOptions){return this.addConstraint(numberLessThanOrEqual(number2,options))}greaterThan(number2,options=this.validatorOptions){return this.addConstraint(numberGreaterThan(number2,options))}greaterThanOrEqual(number2,options=this.validatorOptions){return this.addConstraint(numberGreaterThanOrEqual(number2,options))}equal(number2,options=this.validatorOptions){return Number.isNaN(number2)?this.addConstraint(numberNaN(options)):this.addConstraint(numberEqual(number2,options))}notEqual(number2,options=this.validatorOptions){return Number.isNaN(number2)?this.addConstraint(numberNotNaN(options)):this.addConstraint(numberNotEqual(number2,options))}int(options=this.validatorOptions){return this.addConstraint(numberInt(options))}safeInt(options=this.validatorOptions){return this.addConstraint(numberSafeInt(options))}finite(options=this.validatorOptions){return this.addConstraint(numberFinite(options))}positive(options=this.validatorOptions){return this.greaterThanOrEqual(0,options)}negative(options=this.validatorOptions){return this.lessThan(0,options)}divisibleBy(divider,options=this.validatorOptions){return this.addConstraint(numberDivisibleBy(divider,options))}abs(options=this.validatorOptions){return this.transform(Math.abs,options)}sign(options=this.validatorOptions){return this.transform(Math.sign,options)}trunc(options=this.validatorOptions){return this.transform(Math.trunc,options)}floor(options=this.validatorOptions){return this.transform(Math.floor,options)}fround(options=this.validatorOptions){return this.transform(Math.fround,options)}round(options=this.validatorOptions){return this.transform(Math.round,options)}ceil(options=this.validatorOptions){return this.transform(Math.ceil,options)}handle(value){return typeof value==="number"?Result.ok(value):Result.err(new ValidationError2("s.number()",this.validatorOptions.message??"Expected a number primitive",value))}};__name(_NumberValidator,"NumberValidator");var NumberValidator=_NumberValidator;var _MissingPropertyError=class _MissingPropertyError extends BaseError{constructor(property2,validatorOptions){super((validatorOptions==null?void 0:validatorOptions.message)??"A required property is missing");this.property=property2}toJSON(){return{name:this.name,message:this.message,property:this.property}}[customInspectSymbolStackLess](depth,options){const property2=options.stylize(this.property.toString(),"string");if(depth<0){return options.stylize(`[MissingPropertyError: ${property2}]`,"special")}const header2=`${options.stylize("MissingPropertyError","special")} > ${property2}`;const message3=options.stylize(this.message,"regexp");return`${header2}
  ${message3}`}};__name(_MissingPropertyError,"MissingPropertyError");var MissingPropertyError=_MissingPropertyError;var _UnknownPropertyError=class _UnknownPropertyError extends BaseError{constructor(property2,value,options){super((options==null?void 0:options.message)??"Received unexpected property");this.property=property2;this.value=value}toJSON(){return{name:this.name,message:this.message,property:this.property,value:this.value}}[customInspectSymbolStackLess](depth,options){const property2=options.stylize(this.property.toString(),"string");if(depth<0){return options.stylize(`[UnknownPropertyError: ${property2}]`,"special")}const newOptions={...options,depth:options.depth===null?null:options.depth-1,compact:true};const padding=`
  ${options.stylize("|","undefined")} `;const given=inspect22(this.value,newOptions).replace(/\n/g,padding);const header2=`${options.stylize("UnknownPropertyError","special")} > ${property2}`;const message3=options.stylize(this.message,"regexp");const givenBlock=`
  ${options.stylize("Received:","regexp")}${padding}${given}`;return`${header2}
  ${message3}
${givenBlock}`}};__name(_UnknownPropertyError,"UnknownPropertyError");var UnknownPropertyError=_UnknownPropertyError;var _DefaultValidator=class _DefaultValidator extends BaseValidator{constructor(validator,value,validatorOptions={},constraints=[]){super(validatorOptions,constraints);this.validator=validator;this.defaultValue=value}default(value,options=this.validatorOptions){const clone2=this.clone();clone2.validatorOptions=options;clone2.defaultValue=value;return clone2}handle(value){return typeof value==="undefined"?Result.ok(getValue2(this.defaultValue)):this.validator["handle"](value)}clone(){return Reflect.construct(this.constructor,[this.validator,this.defaultValue,this.validatorOptions,this.constraints])}};__name(_DefaultValidator,"DefaultValidator");var DefaultValidator=_DefaultValidator;var _CombinedError=class _CombinedError extends BaseError{constructor(errors2,validatorOptions){super((validatorOptions==null?void 0:validatorOptions.message)??"Received one or more errors");this.errors=errors2}[customInspectSymbolStackLess](depth,options){if(depth<0){return options.stylize("[CombinedError]","special")}const newOptions={...options,depth:options.depth===null?null:options.depth-1,compact:true};const padding=`
  ${options.stylize("|","undefined")} `;const header2=`${options.stylize("CombinedError","special")} (${options.stylize(this.errors.length.toString(),"number")})`;const message3=options.stylize(this.message,"regexp");const errors2=this.errors.map((error,i3)=>{const index=options.stylize((i3+1).toString(),"number");const body=error[customInspectSymbolStackLess](depth-1,newOptions).replace(/\n/g,padding);return`  ${index} ${body}`}).join("\n\n");return`${header2}
  ${message3}

${errors2}`}};__name(_CombinedError,"CombinedError");var CombinedError=_CombinedError;var _UnionValidator=class _UnionValidator2 extends BaseValidator{constructor(validators,validatorOptions,constraints=[]){super(validatorOptions,constraints);this.validators=validators}optional(options=this.validatorOptions){if(this.validators.length===0)return new _UnionValidator2([new LiteralValidator(void 0,options)],this.validatorOptions,this.constraints);const[validator]=this.validators;if(validator instanceof LiteralValidator){if(validator.expected===void 0)return this.clone();if(validator.expected===null){return new _UnionValidator2([new NullishValidator(options),...this.validators.slice(1)],this.validatorOptions,this.constraints)}}else if(validator instanceof NullishValidator){return this.clone()}return new _UnionValidator2([new LiteralValidator(void 0,options),...this.validators],this.validatorOptions)}required(options=this.validatorOptions){if(this.validators.length===0)return this.clone();const[validator]=this.validators;if(validator instanceof LiteralValidator){if(validator.expected===void 0){return new _UnionValidator2(this.validators.slice(1),this.validatorOptions,this.constraints)}}else if(validator instanceof NullishValidator){return new _UnionValidator2([new LiteralValidator(null,options),...this.validators.slice(1)],this.validatorOptions,this.constraints)}return this.clone()}nullable(options=this.validatorOptions){if(this.validators.length===0){return new _UnionValidator2([new LiteralValidator(null,options)],this.validatorOptions,this.constraints)}const[validator]=this.validators;if(validator instanceof LiteralValidator){if(validator.expected===null)return this.clone();if(validator.expected===void 0){return new _UnionValidator2([new NullishValidator(options),...this.validators.slice(1)],this.validatorOptions,this.constraints)}}else if(validator instanceof NullishValidator){return this.clone()}return new _UnionValidator2([new LiteralValidator(null,options),...this.validators],this.validatorOptions)}nullish(options=this.validatorOptions){if(this.validators.length===0){return new _UnionValidator2([new NullishValidator(options)],options,this.constraints)}const[validator]=this.validators;if(validator instanceof LiteralValidator){if(validator.expected===null||validator.expected===void 0){return new _UnionValidator2([new NullishValidator(options),...this.validators.slice(1)],options,this.constraints)}}else if(validator instanceof NullishValidator){return this.clone()}return new _UnionValidator2([new NullishValidator(options),...this.validators],options)}or(...predicates){return new _UnionValidator2([...this.validators,...predicates],this.validatorOptions)}clone(){return Reflect.construct(this.constructor,[this.validators,this.validatorOptions,this.constraints])}handle(value){const errors2=[];for(const validator of this.validators){const result2=validator.run(value);if(result2.isOk())return result2;errors2.push(result2.error)}return Result.err(new CombinedError(errors2,this.validatorOptions))}};__name(_UnionValidator,"UnionValidator");var UnionValidator=_UnionValidator;var _ObjectValidator=class _ObjectValidator2 extends BaseValidator{constructor(shape,strategy=0,validatorOptions={},constraints=[]){super(validatorOptions,constraints);this.keys=[];this.requiredKeys=new Map;this.possiblyUndefinedKeys=new Map;this.possiblyUndefinedKeysWithDefaults=new Map;this.shape=shape;this.strategy=strategy;switch(this.strategy){case 0:this.handleStrategy=value=>this.handleIgnoreStrategy(value);break;case 1:{this.handleStrategy=value=>this.handleStrictStrategy(value);break}case 2:this.handleStrategy=value=>this.handlePassthroughStrategy(value);break}const shapeEntries=Object.entries(shape);this.keys=shapeEntries.map(([key])=>key);for(const[key,validator]of shapeEntries){if(validator instanceof UnionValidator){const[possiblyLiteralOrNullishPredicate]=validator["validators"];if(possiblyLiteralOrNullishPredicate instanceof NullishValidator){this.possiblyUndefinedKeys.set(key,validator)}else if(possiblyLiteralOrNullishPredicate instanceof LiteralValidator){if(possiblyLiteralOrNullishPredicate.expected===void 0){this.possiblyUndefinedKeys.set(key,validator)}else{this.requiredKeys.set(key,validator)}}else if(validator instanceof DefaultValidator){this.possiblyUndefinedKeysWithDefaults.set(key,validator)}else{this.requiredKeys.set(key,validator)}}else if(validator instanceof NullishValidator){this.possiblyUndefinedKeys.set(key,validator)}else if(validator instanceof LiteralValidator){if(validator.expected===void 0){this.possiblyUndefinedKeys.set(key,validator)}else{this.requiredKeys.set(key,validator)}}else if(validator instanceof DefaultValidator){this.possiblyUndefinedKeysWithDefaults.set(key,validator)}else{this.requiredKeys.set(key,validator)}}}strict(options=this.validatorOptions){return Reflect.construct(this.constructor,[this.shape,1,options,this.constraints])}ignore(options=this.validatorOptions){return Reflect.construct(this.constructor,[this.shape,0,options,this.constraints])}passthrough(options=this.validatorOptions){return Reflect.construct(this.constructor,[this.shape,2,options,this.constraints])}partial(options=this.validatorOptions){const shape=Object.fromEntries(this.keys.map(key=>[key,this.shape[key].optional(options)]));return Reflect.construct(this.constructor,[shape,this.strategy,options,this.constraints])}required(options=this.validatorOptions){const shape=Object.fromEntries(this.keys.map(key=>{let validator=this.shape[key];if(validator instanceof UnionValidator)validator=validator.required(options);return[key,validator]}));return Reflect.construct(this.constructor,[shape,this.strategy,options,this.constraints])}extend(schema2,options=this.validatorOptions){const shape={...this.shape,...schema2 instanceof _ObjectValidator2?schema2.shape:schema2};return Reflect.construct(this.constructor,[shape,this.strategy,options,this.constraints])}pick(keys2,options=this.validatorOptions){const shape=Object.fromEntries(keys2.filter(key=>this.keys.includes(key)).map(key=>[key,this.shape[key]]));return Reflect.construct(this.constructor,[shape,this.strategy,options,this.constraints])}omit(keys2,options=this.validatorOptions){const shape=Object.fromEntries(this.keys.filter(key=>!keys2.includes(key)).map(key=>[key,this.shape[key]]));return Reflect.construct(this.constructor,[shape,this.strategy,options,this.constraints])}handle(value){const typeOfValue=typeof value;if(typeOfValue!=="object"){return Result.err(new ValidationError2("s.object(T)",this.validatorOptions.message??`Expected the value to be an object, but received ${typeOfValue} instead`,value))}if(value===null){return Result.err(new ValidationError2("s.object(T)",this.validatorOptions.message??"Expected the value to not be null",value))}if(Array.isArray(value)){return Result.err(new ValidationError2("s.object(T)",this.validatorOptions.message??"Expected the value to not be an array",value))}if(!this.shouldRunConstraints){return Result.ok(value)}for(const predicate of Object.values(this.shape)){predicate.setParent(this.parent??value)}return this.handleStrategy(value)}clone(){return Reflect.construct(this.constructor,[this.shape,this.strategy,this.validatorOptions,this.constraints])}handleIgnoreStrategy(value){const errors2=[];const finalObject={};const inputEntries=new Map(Object.entries(value));const runPredicate=__name((key,predicate)=>{const result2=predicate.run(value[key]);if(result2.isOk()){finalObject[key]=result2.value}else{const error=result2.error;errors2.push([key,error])}},"runPredicate");for(const[key,predicate]of this.requiredKeys){if(inputEntries.delete(key)){runPredicate(key,predicate)}else{errors2.push([key,new MissingPropertyError(key,this.validatorOptions)])}}for(const[key,validator]of this.possiblyUndefinedKeysWithDefaults){inputEntries.delete(key);runPredicate(key,validator)}if(inputEntries.size===0){return errors2.length===0?Result.ok(finalObject):Result.err(new CombinedPropertyError(errors2,this.validatorOptions))}const checkInputEntriesInsteadOfSchemaKeys=this.possiblyUndefinedKeys.size>inputEntries.size;if(checkInputEntriesInsteadOfSchemaKeys){for(const[key]of inputEntries){const predicate=this.possiblyUndefinedKeys.get(key);if(predicate){runPredicate(key,predicate)}}}else{for(const[key,predicate]of this.possiblyUndefinedKeys){if(inputEntries.delete(key)){runPredicate(key,predicate)}}}return errors2.length===0?Result.ok(finalObject):Result.err(new CombinedPropertyError(errors2,this.validatorOptions))}handleStrictStrategy(value){const errors2=[];const finalResult={};const inputEntries=new Map(Object.entries(value));const runPredicate=__name((key,predicate)=>{const result2=predicate.run(value[key]);if(result2.isOk()){finalResult[key]=result2.value}else{const error=result2.error;errors2.push([key,error])}},"runPredicate");for(const[key,predicate]of this.requiredKeys){if(inputEntries.delete(key)){runPredicate(key,predicate)}else{errors2.push([key,new MissingPropertyError(key,this.validatorOptions)])}}for(const[key,validator]of this.possiblyUndefinedKeysWithDefaults){inputEntries.delete(key);runPredicate(key,validator)}for(const[key,predicate]of this.possiblyUndefinedKeys){if(inputEntries.size===0){break}if(inputEntries.delete(key)){runPredicate(key,predicate)}}if(inputEntries.size!==0){for(const[key,value2]of inputEntries.entries()){errors2.push([key,new UnknownPropertyError(key,value2,this.validatorOptions)])}}return errors2.length===0?Result.ok(finalResult):Result.err(new CombinedPropertyError(errors2,this.validatorOptions))}handlePassthroughStrategy(value){const result2=this.handleIgnoreStrategy(value);return result2.isErr()?result2:Result.ok({...value,...result2.value})}};__name(_ObjectValidator,"ObjectValidator");var ObjectValidator=_ObjectValidator;var _PassthroughValidator=class _PassthroughValidator extends BaseValidator{handle(value){return Result.ok(value)}};__name(_PassthroughValidator,"PassthroughValidator");var PassthroughValidator=_PassthroughValidator;var _RecordValidator=class _RecordValidator extends BaseValidator{constructor(validator,validatorOptions={},constraints=[]){super(validatorOptions,constraints);this.validator=validator}clone(){return Reflect.construct(this.constructor,[this.validator,this.validatorOptions,this.constraints])}handle(value){if(typeof value!=="object"){return Result.err(new ValidationError2("s.record(T)",this.validatorOptions.message??"Expected an object",value))}if(value===null){return Result.err(new ValidationError2("s.record(T)",this.validatorOptions.message??"Expected the value to not be null",value))}if(Array.isArray(value)){return Result.err(new ValidationError2("s.record(T)",this.validatorOptions.message??"Expected the value to not be an array",value))}if(!this.shouldRunConstraints){return Result.ok(value)}const errors2=[];const transformed={};for(const[key,val]of Object.entries(value)){const result2=this.validator.run(val);if(result2.isOk())transformed[key]=result2.value;else errors2.push([key,result2.error])}return errors2.length===0?Result.ok(transformed):Result.err(new CombinedPropertyError(errors2,this.validatorOptions))}};__name(_RecordValidator,"RecordValidator");var RecordValidator=_RecordValidator;var _SetValidator=class _SetValidator extends BaseValidator{constructor(validator,validatorOptions,constraints=[]){super(validatorOptions,constraints);this.validator=validator}clone(){return Reflect.construct(this.constructor,[this.validator,this.validatorOptions,this.constraints])}handle(values2){if(!(values2 instanceof Set)){return Result.err(new ValidationError2("s.set(T)",this.validatorOptions.message??"Expected a set",values2))}if(!this.shouldRunConstraints){return Result.ok(values2)}const errors2=[];const transformed=new Set;for(const value of values2){const result2=this.validator.run(value);if(result2.isOk())transformed.add(result2.value);else errors2.push(result2.error)}return errors2.length===0?Result.ok(transformed):Result.err(new CombinedError(errors2,this.validatorOptions))}};__name(_SetValidator,"SetValidator");var SetValidator=_SetValidator;var accountRegex=/^(?!\.)(?!.*\.\.)([A-Z0-9_+-\.]*)[A-Z0-9_+-]$/i;function validateEmail(email){if(!email)return false;const atIndex=email.indexOf("@");if(atIndex===-1)return false;if(atIndex>64)return false;const domainIndex=atIndex+1;if(email.includes("@",domainIndex))return false;if(email.length-domainIndex>255)return false;let dotIndex=email.indexOf(".",domainIndex);if(dotIndex===-1)return false;let lastDotIndex=domainIndex;do{if(dotIndex-lastDotIndex>63)return false;lastDotIndex=dotIndex+1}while((dotIndex=email.indexOf(".",lastDotIndex))!==-1);if(email.length-lastDotIndex>63)return false;return accountRegex.test(email.slice(0,atIndex))&&validateEmailDomain(email.slice(domainIndex))}__name(validateEmail,"validateEmail");function validateEmailDomain(domain){try{return new URL(`http://${domain}`).hostname===domain}catch{return false}}__name(validateEmailDomain,"validateEmailDomain");var v4Seg="(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])";var v4Str=`(${v4Seg}[.]){3}${v4Seg}`;var IPv4Reg=new RegExp(`^${v4Str}$`);var v6Seg="(?:[0-9a-fA-F]{1,4})";var IPv6Reg=new RegExp(`^((?:${v6Seg}:){7}(?:${v6Seg}|:)|(?:${v6Seg}:){6}(?:${v4Str}|:${v6Seg}|:)|(?:${v6Seg}:){5}(?::${v4Str}|(:${v6Seg}){1,2}|:)|(?:${v6Seg}:){4}(?:(:${v6Seg}){0,1}:${v4Str}|(:${v6Seg}){1,3}|:)|(?:${v6Seg}:){3}(?:(:${v6Seg}){0,2}:${v4Str}|(:${v6Seg}){1,4}|:)|(?:${v6Seg}:){2}(?:(:${v6Seg}){0,3}:${v4Str}|(:${v6Seg}){1,5}|:)|(?:${v6Seg}:){1}(?:(:${v6Seg}){0,4}:${v4Str}|(:${v6Seg}){1,6}|:)|(?::((?::${v6Seg}){0,5}:${v4Str}|(?::${v6Seg}){1,7}|:)))(%[0-9a-zA-Z-.:]{1,})?$`);function isIPv4(s4){return IPv4Reg.test(s4)}__name(isIPv4,"isIPv4");function isIPv6(s4){return IPv6Reg.test(s4)}__name(isIPv6,"isIPv6");function isIP(s4){if(isIPv4(s4))return 4;if(isIPv6(s4))return 6;return 0}__name(isIP,"isIP");var phoneNumberRegex=/^((?:\+|0{0,2})\d{1,2}\s?)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$/;function validatePhoneNumber(input){return phoneNumberRegex.test(input)}__name(validatePhoneNumber,"validatePhoneNumber");var _MultiplePossibilitiesConstraintError=class _MultiplePossibilitiesConstraintError extends BaseConstraintError{constructor(constraint,message3,given,expected){super(constraint,message3,given);this.expected=expected}toJSON(){return{name:this.name,message:this.message,constraint:this.constraint,given:this.given,expected:this.expected}}[customInspectSymbolStackLess](depth,options){const constraint=options.stylize(this.constraint,"string");if(depth<0){return options.stylize(`[MultiplePossibilitiesConstraintError: ${constraint}]`,"special")}const newOptions={...options,depth:options.depth===null?null:options.depth-1};const verticalLine=options.stylize("|","undefined");const padding=`
  ${verticalLine} `;const given=inspect22(this.given,newOptions).replace(/\n/g,padding);const header2=`${options.stylize("MultiplePossibilitiesConstraintError","special")} > ${constraint}`;const message3=options.stylize(this.message,"regexp");const expectedPadding=`
  ${verticalLine} - `;const expectedBlock=`
  ${options.stylize("Expected any of the following:","string")}${expectedPadding}${this.expected.map(possible=>options.stylize(possible,"boolean")).join(expectedPadding)}`;const givenBlock=`
  ${options.stylize("Received:","regexp")}${padding}${given}`;return`${header2}
  ${message3}
${expectedBlock}
${givenBlock}`}};__name(_MultiplePossibilitiesConstraintError,"MultiplePossibilitiesConstraintError");var MultiplePossibilitiesConstraintError=_MultiplePossibilitiesConstraintError;function combinedErrorFn(...fns){switch(fns.length){case 0:return()=>null;case 1:return fns[0];case 2:{const[fn0,fn1]=fns;return(...params)=>fn0(...params)||fn1(...params)}default:{return(...params)=>{for(const fn2 of fns){const result2=fn2(...params);if(result2)return result2}return null}}}}__name(combinedErrorFn,"combinedErrorFn");function createUrlValidators(options,validatorOptions){var _a12,_b2;const fns=[];if((_a12=options==null?void 0:options.allowedProtocols)==null?void 0:_a12.length)fns.push(allowedProtocolsFn(options.allowedProtocols,validatorOptions));if((_b2=options==null?void 0:options.allowedDomains)==null?void 0:_b2.length)fns.push(allowedDomainsFn(options.allowedDomains,validatorOptions));return combinedErrorFn(...fns)}__name(createUrlValidators,"createUrlValidators");function allowedProtocolsFn(allowedProtocols,options){return(input,url)=>allowedProtocols.includes(url.protocol)?null:new MultiplePossibilitiesConstraintError("s.string().url()",(options==null?void 0:options.message)??"Invalid URL protocol",input,allowedProtocols)}__name(allowedProtocolsFn,"allowedProtocolsFn");function allowedDomainsFn(allowedDomains,options){return(input,url)=>allowedDomains.includes(url.hostname)?null:new MultiplePossibilitiesConstraintError("s.string().url()",(options==null?void 0:options.message)??"Invalid URL domain",input,allowedDomains)}__name(allowedDomainsFn,"allowedDomainsFn");function stringLengthComparator(comparator,name,expected,length,options){return{run(input){return comparator(input.length,length)?Result.ok(input):Result.err(new ExpectedConstraintError(name,(options==null?void 0:options.message)??"Invalid string length",input,expected))}}}__name(stringLengthComparator,"stringLengthComparator");function stringLengthLessThan(length,options){const expected=`expected.length < ${length}`;return stringLengthComparator(lessThan,"s.string().lengthLessThan()",expected,length,options)}__name(stringLengthLessThan,"stringLengthLessThan");function stringLengthLessThanOrEqual(length,options){const expected=`expected.length <= ${length}`;return stringLengthComparator(lessThanOrEqual,"s.string().lengthLessThanOrEqual()",expected,length,options)}__name(stringLengthLessThanOrEqual,"stringLengthLessThanOrEqual");function stringLengthGreaterThan(length,options){const expected=`expected.length > ${length}`;return stringLengthComparator(greaterThan,"s.string().lengthGreaterThan()",expected,length,options)}__name(stringLengthGreaterThan,"stringLengthGreaterThan");function stringLengthGreaterThanOrEqual(length,options){const expected=`expected.length >= ${length}`;return stringLengthComparator(greaterThanOrEqual,"s.string().lengthGreaterThanOrEqual()",expected,length,options)}__name(stringLengthGreaterThanOrEqual,"stringLengthGreaterThanOrEqual");function stringLengthEqual(length,options){const expected=`expected.length === ${length}`;return stringLengthComparator(equal,"s.string().lengthEqual()",expected,length,options)}__name(stringLengthEqual,"stringLengthEqual");function stringLengthNotEqual(length,options){const expected=`expected.length !== ${length}`;return stringLengthComparator(notEqual,"s.string().lengthNotEqual()",expected,length,options)}__name(stringLengthNotEqual,"stringLengthNotEqual");function stringEmail(options){return{run(input){return validateEmail(input)?Result.ok(input):Result.err(new ExpectedConstraintError("s.string().email()",(options==null?void 0:options.message)??"Invalid email address",input,"expected to be an email address"))}}}__name(stringEmail,"stringEmail");function stringRegexValidator(type2,expected,regex3,options){return{run(input){return regex3.test(input)?Result.ok(input):Result.err(new ExpectedConstraintError(type2,(options==null?void 0:options.message)??"Invalid string format",input,expected))}}}__name(stringRegexValidator,"stringRegexValidator");function stringUrl(options,validatorOptions){const validatorFn=createUrlValidators(options,validatorOptions);return{run(input){let url;try{url=new URL(input)}catch{return Result.err(new ExpectedConstraintError("s.string().url()",(validatorOptions==null?void 0:validatorOptions.message)??"Invalid URL",input,"expected to match a URL"))}const validatorFnResult=validatorFn(input,url);if(validatorFnResult===null)return Result.ok(input);return Result.err(validatorFnResult)}}}__name(stringUrl,"stringUrl");function stringIp(version,options){const ipVersion=version?`v${version}`:"";const validatorFn=version===4?isIPv4:version===6?isIPv6:isIP;const name=`s.string().ip${ipVersion}()`;const message3=`Invalid IP${ipVersion} address`;const expected=`expected to be an IP${ipVersion} address`;return{run(input){return validatorFn(input)?Result.ok(input):Result.err(new ExpectedConstraintError(name,(options==null?void 0:options.message)??message3,input,expected))}}}__name(stringIp,"stringIp");function stringRegex(regex3,options){return stringRegexValidator("s.string().regex()",`expected ${regex3}.test(expected) to be true`,regex3,options)}__name(stringRegex,"stringRegex");function stringUuid({version=4,nullable=false}={},options){version??(version="1-5");const regex3=new RegExp(`^(?:[0-9A-F]{8}-[0-9A-F]{4}-[${version}][0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}${nullable?"|00000000-0000-0000-0000-000000000000":""})$`,"i");const expected=`expected to match UUID${typeof version==="number"?`v${version}`:` in range of ${version}`}`;return stringRegexValidator("s.string().uuid()",expected,regex3,options)}__name(stringUuid,"stringUuid");function stringDate(options){return{run(input){const time=Date.parse(input);return Number.isNaN(time)?Result.err(new ExpectedConstraintError("s.string().date()",(options==null?void 0:options.message)??"Invalid date string",input,"expected to be a valid date string (in the ISO 8601 or ECMA-262 format)")):Result.ok(input)}}}__name(stringDate,"stringDate");function stringPhone(options){return{run(input){return validatePhoneNumber(input)?Result.ok(input):Result.err(new ExpectedConstraintError("s.string().phone()",(options==null?void 0:options.message)??"Invalid phone number",input,"expected to be a phone number"))}}}__name(stringPhone,"stringPhone");var _StringValidator=class _StringValidator extends BaseValidator{lengthLessThan(length,options=this.validatorOptions){return this.addConstraint(stringLengthLessThan(length,options))}lengthLessThanOrEqual(length,options=this.validatorOptions){return this.addConstraint(stringLengthLessThanOrEqual(length,options))}lengthGreaterThan(length,options=this.validatorOptions){return this.addConstraint(stringLengthGreaterThan(length,options))}lengthGreaterThanOrEqual(length,options=this.validatorOptions){return this.addConstraint(stringLengthGreaterThanOrEqual(length,options))}lengthEqual(length,options=this.validatorOptions){return this.addConstraint(stringLengthEqual(length,options))}lengthNotEqual(length,options=this.validatorOptions){return this.addConstraint(stringLengthNotEqual(length,options))}email(options=this.validatorOptions){return this.addConstraint(stringEmail(options))}url(options,validatorOptions=this.validatorOptions){const urlOptions=this.isUrlOptions(options);if(urlOptions){return this.addConstraint(stringUrl(options,validatorOptions))}return this.addConstraint(stringUrl(void 0,validatorOptions))}uuid(options,validatorOptions=this.validatorOptions){const stringUuidOptions=this.isStringUuidOptions(options);if(stringUuidOptions){return this.addConstraint(stringUuid(options,validatorOptions))}return this.addConstraint(stringUuid(void 0,validatorOptions))}regex(regex3,options=this.validatorOptions){return this.addConstraint(stringRegex(regex3,options))}date(options=this.validatorOptions){return this.addConstraint(stringDate(options))}ipv4(options=this.validatorOptions){return this.ip(4,options)}ipv6(options=this.validatorOptions){return this.ip(6,options)}ip(version,options=this.validatorOptions){return this.addConstraint(stringIp(version,options))}phone(options=this.validatorOptions){return this.addConstraint(stringPhone(options))}handle(value){return typeof value==="string"?Result.ok(value):Result.err(new ValidationError2("s.string()",this.validatorOptions.message??"Expected a string primitive",value))}isUrlOptions(options){return(options==null?void 0:options.message)===void 0}isStringUuidOptions(options){return(options==null?void 0:options.message)===void 0}};__name(_StringValidator,"StringValidator");var StringValidator=_StringValidator;var _TupleValidator=class _TupleValidator extends BaseValidator{constructor(validators,validatorOptions={},constraints=[]){super(validatorOptions,constraints);this.validators=[];this.validators=validators}clone(){return Reflect.construct(this.constructor,[this.validators,this.validatorOptions,this.constraints])}handle(values2){if(!Array.isArray(values2)){return Result.err(new ValidationError2("s.tuple(T)",this.validatorOptions.message??"Expected an array",values2))}if(values2.length!==this.validators.length){return Result.err(new ValidationError2("s.tuple(T)",this.validatorOptions.message??`Expected an array of length ${this.validators.length}`,values2))}if(!this.shouldRunConstraints){return Result.ok(values2)}const errors2=[];const transformed=[];for(let i3=0;i3<values2.length;i3++){const result2=this.validators[i3].run(values2[i3]);if(result2.isOk())transformed.push(result2.value);else errors2.push([i3,result2.error])}return errors2.length===0?Result.ok(transformed):Result.err(new CombinedPropertyError(errors2,this.validatorOptions))}};__name(_TupleValidator,"TupleValidator");var TupleValidator=_TupleValidator;var _MapValidator=class _MapValidator extends BaseValidator{constructor(keyValidator,valueValidator,validatorOptions={},constraints=[]){super(validatorOptions,constraints);this.keyValidator=keyValidator;this.valueValidator=valueValidator}clone(){return Reflect.construct(this.constructor,[this.keyValidator,this.valueValidator,this.validatorOptions,this.constraints])}handle(value){if(!(value instanceof Map)){return Result.err(new ValidationError2("s.map(K, V)",this.validatorOptions.message??"Expected a map",value))}if(!this.shouldRunConstraints){return Result.ok(value)}const errors2=[];const transformed=new Map;for(const[key,val]of value.entries()){const keyResult=this.keyValidator.run(key);const valueResult=this.valueValidator.run(val);const{length}=errors2;if(keyResult.isErr())errors2.push([key,keyResult.error]);if(valueResult.isErr())errors2.push([key,valueResult.error]);if(errors2.length===length)transformed.set(keyResult.value,valueResult.value)}return errors2.length===0?Result.ok(transformed):Result.err(new CombinedPropertyError(errors2,this.validatorOptions))}};__name(_MapValidator,"MapValidator");var MapValidator=_MapValidator;var _LazyValidator=class _LazyValidator extends BaseValidator{constructor(validator,validatorOptions={},constraints=[]){super(validatorOptions,constraints);this.validator=validator}clone(){return Reflect.construct(this.constructor,[this.validator,this.validatorOptions,this.constraints])}handle(values2){return this.validator(values2).run(values2)}};__name(_LazyValidator,"LazyValidator");var LazyValidator=_LazyValidator;var _UnknownEnumValueError=class _UnknownEnumValueError extends BaseError{constructor(value,keys2,enumMappings,validatorOptions){super((validatorOptions==null?void 0:validatorOptions.message)??"Expected the value to be one of the following enum values:");this.value=value;this.enumKeys=keys2;this.enumMappings=enumMappings}toJSON(){return{name:this.name,message:this.message,value:this.value,enumKeys:this.enumKeys,enumMappings:[...this.enumMappings.entries()]}}[customInspectSymbolStackLess](depth,options){const value=options.stylize(this.value.toString(),"string");if(depth<0){return options.stylize(`[UnknownEnumValueError: ${value}]`,"special")}const padding=`
  ${options.stylize("|","undefined")} `;const pairs2=this.enumKeys.map(key=>{const enumValue=this.enumMappings.get(key);return`${options.stylize(key,"string")} or ${options.stylize(enumValue.toString(),typeof enumValue==="number"?"number":"string")}`}).join(padding);const header2=`${options.stylize("UnknownEnumValueError","special")} > ${value}`;const message3=options.stylize(this.message,"regexp");const pairsBlock=`${padding}${pairs2}`;return`${header2}
  ${message3}
${pairsBlock}`}};__name(_UnknownEnumValueError,"UnknownEnumValueError");var UnknownEnumValueError=_UnknownEnumValueError;var _NativeEnumValidator=class _NativeEnumValidator extends BaseValidator{constructor(enumShape,validatorOptions={}){super(validatorOptions);this.hasNumericElements=false;this.enumMapping=new Map;this.enumShape=enumShape;this.enumKeys=Object.keys(enumShape).filter(key=>{return typeof enumShape[enumShape[key]]!=="number"});for(const key of this.enumKeys){const enumValue=enumShape[key];this.enumMapping.set(key,enumValue);this.enumMapping.set(enumValue,enumValue);if(typeof enumValue==="number"){this.hasNumericElements=true;this.enumMapping.set(`${enumValue}`,enumValue)}}}handle(value){const typeOfValue=typeof value;if(typeOfValue==="number"){if(!this.hasNumericElements){return Result.err(new ValidationError2("s.nativeEnum(T)",this.validatorOptions.message??"Expected the value to be a string",value))}}else if(typeOfValue!=="string"){return Result.err(new ValidationError2("s.nativeEnum(T)",this.validatorOptions.message??"Expected the value to be a string or number",value))}const casted=value;const possibleEnumValue=this.enumMapping.get(casted);return typeof possibleEnumValue==="undefined"?Result.err(new UnknownEnumValueError(casted,this.enumKeys,this.enumMapping,this.validatorOptions)):Result.ok(possibleEnumValue)}clone(){return Reflect.construct(this.constructor,[this.enumShape,this.validatorOptions])}};__name(_NativeEnumValidator,"NativeEnumValidator");var NativeEnumValidator=_NativeEnumValidator;function typedArrayByteLengthComparator(comparator,name,expected,length,options){return{run(input){return comparator(input.byteLength,length)?Result.ok(input):Result.err(new ExpectedConstraintError(name,(options==null?void 0:options.message)??"Invalid Typed Array byte length",input,expected))}}}__name(typedArrayByteLengthComparator,"typedArrayByteLengthComparator");function typedArrayByteLengthLessThan(value,options){const expected=`expected.byteLength < ${value}`;return typedArrayByteLengthComparator(lessThan,"s.typedArray(T).byteLengthLessThan()",expected,value,options)}__name(typedArrayByteLengthLessThan,"typedArrayByteLengthLessThan");function typedArrayByteLengthLessThanOrEqual(value,options){const expected=`expected.byteLength <= ${value}`;return typedArrayByteLengthComparator(lessThanOrEqual,"s.typedArray(T).byteLengthLessThanOrEqual()",expected,value,options)}__name(typedArrayByteLengthLessThanOrEqual,"typedArrayByteLengthLessThanOrEqual");function typedArrayByteLengthGreaterThan(value,options){const expected=`expected.byteLength > ${value}`;return typedArrayByteLengthComparator(greaterThan,"s.typedArray(T).byteLengthGreaterThan()",expected,value,options)}__name(typedArrayByteLengthGreaterThan,"typedArrayByteLengthGreaterThan");function typedArrayByteLengthGreaterThanOrEqual(value,options){const expected=`expected.byteLength >= ${value}`;return typedArrayByteLengthComparator(greaterThanOrEqual,"s.typedArray(T).byteLengthGreaterThanOrEqual()",expected,value,options)}__name(typedArrayByteLengthGreaterThanOrEqual,"typedArrayByteLengthGreaterThanOrEqual");function typedArrayByteLengthEqual(value,options){const expected=`expected.byteLength === ${value}`;return typedArrayByteLengthComparator(equal,"s.typedArray(T).byteLengthEqual()",expected,value,options)}__name(typedArrayByteLengthEqual,"typedArrayByteLengthEqual");function typedArrayByteLengthNotEqual(value,options){const expected=`expected.byteLength !== ${value}`;return typedArrayByteLengthComparator(notEqual,"s.typedArray(T).byteLengthNotEqual()",expected,value,options)}__name(typedArrayByteLengthNotEqual,"typedArrayByteLengthNotEqual");function typedArrayByteLengthRange(start,endBefore,options){const expected=`expected.byteLength >= ${start} && expected.byteLength < ${endBefore}`;return{run(input){return input.byteLength>=start&&input.byteLength<endBefore?Result.ok(input):Result.err(new ExpectedConstraintError("s.typedArray(T).byteLengthRange()",(options==null?void 0:options.message)??"Invalid Typed Array byte length",input,expected))}}}__name(typedArrayByteLengthRange,"typedArrayByteLengthRange");function typedArrayByteLengthRangeInclusive(start,end,options){const expected=`expected.byteLength >= ${start} && expected.byteLength <= ${end}`;return{run(input){return input.byteLength>=start&&input.byteLength<=end?Result.ok(input):Result.err(new ExpectedConstraintError("s.typedArray(T).byteLengthRangeInclusive()",(options==null?void 0:options.message)??"Invalid Typed Array byte length",input,expected))}}}__name(typedArrayByteLengthRangeInclusive,"typedArrayByteLengthRangeInclusive");function typedArrayByteLengthRangeExclusive(startAfter,endBefore,options){const expected=`expected.byteLength > ${startAfter} && expected.byteLength < ${endBefore}`;return{run(input){return input.byteLength>startAfter&&input.byteLength<endBefore?Result.ok(input):Result.err(new ExpectedConstraintError("s.typedArray(T).byteLengthRangeExclusive()",(options==null?void 0:options.message)??"Invalid Typed Array byte length",input,expected))}}}__name(typedArrayByteLengthRangeExclusive,"typedArrayByteLengthRangeExclusive");function typedArrayLengthComparator(comparator,name,expected,length,options){return{run(input){return comparator(input.length,length)?Result.ok(input):Result.err(new ExpectedConstraintError(name,(options==null?void 0:options.message)??"Invalid Typed Array length",input,expected))}}}__name(typedArrayLengthComparator,"typedArrayLengthComparator");function typedArrayLengthLessThan(value,options){const expected=`expected.length < ${value}`;return typedArrayLengthComparator(lessThan,"s.typedArray(T).lengthLessThan()",expected,value,options)}__name(typedArrayLengthLessThan,"typedArrayLengthLessThan");function typedArrayLengthLessThanOrEqual(value,options){const expected=`expected.length <= ${value}`;return typedArrayLengthComparator(lessThanOrEqual,"s.typedArray(T).lengthLessThanOrEqual()",expected,value,options)}__name(typedArrayLengthLessThanOrEqual,"typedArrayLengthLessThanOrEqual");function typedArrayLengthGreaterThan(value,options){const expected=`expected.length > ${value}`;return typedArrayLengthComparator(greaterThan,"s.typedArray(T).lengthGreaterThan()",expected,value,options)}__name(typedArrayLengthGreaterThan,"typedArrayLengthGreaterThan");function typedArrayLengthGreaterThanOrEqual(value,options){const expected=`expected.length >= ${value}`;return typedArrayLengthComparator(greaterThanOrEqual,"s.typedArray(T).lengthGreaterThanOrEqual()",expected,value,options)}__name(typedArrayLengthGreaterThanOrEqual,"typedArrayLengthGreaterThanOrEqual");function typedArrayLengthEqual(value,options){const expected=`expected.length === ${value}`;return typedArrayLengthComparator(equal,"s.typedArray(T).lengthEqual()",expected,value,options)}__name(typedArrayLengthEqual,"typedArrayLengthEqual");function typedArrayLengthNotEqual(value,options){const expected=`expected.length !== ${value}`;return typedArrayLengthComparator(notEqual,"s.typedArray(T).lengthNotEqual()",expected,value,options)}__name(typedArrayLengthNotEqual,"typedArrayLengthNotEqual");function typedArrayLengthRange(start,endBefore,options){const expected=`expected.length >= ${start} && expected.length < ${endBefore}`;return{run(input){return input.length>=start&&input.length<endBefore?Result.ok(input):Result.err(new ExpectedConstraintError("s.typedArray(T).lengthRange()",(options==null?void 0:options.message)??"Invalid Typed Array length",input,expected))}}}__name(typedArrayLengthRange,"typedArrayLengthRange");function typedArrayLengthRangeInclusive(start,end,options){const expected=`expected.length >= ${start} && expected.length <= ${end}`;return{run(input){return input.length>=start&&input.length<=end?Result.ok(input):Result.err(new ExpectedConstraintError("s.typedArray(T).lengthRangeInclusive()",(options==null?void 0:options.message)??"Invalid Typed Array length",input,expected))}}}__name(typedArrayLengthRangeInclusive,"typedArrayLengthRangeInclusive");function typedArrayLengthRangeExclusive(startAfter,endBefore,options){const expected=`expected.length > ${startAfter} && expected.length < ${endBefore}`;return{run(input){return input.length>startAfter&&input.length<endBefore?Result.ok(input):Result.err(new ExpectedConstraintError("s.typedArray(T).lengthRangeExclusive()",(options==null?void 0:options.message)??"Invalid Typed Array length",input,expected))}}}__name(typedArrayLengthRangeExclusive,"typedArrayLengthRangeExclusive");var vowels=["a","e","i","o","u"];var aOrAn=__name(word=>{return`${vowels.includes(word[0].toLowerCase())?"an":"a"} ${word}`},"aOrAn");var TypedArrays={Int8Array:x2=>x2 instanceof Int8Array,Uint8Array:x2=>x2 instanceof Uint8Array,Uint8ClampedArray:x2=>x2 instanceof Uint8ClampedArray,Int16Array:x2=>x2 instanceof Int16Array,Uint16Array:x2=>x2 instanceof Uint16Array,Int32Array:x2=>x2 instanceof Int32Array,Uint32Array:x2=>x2 instanceof Uint32Array,Float32Array:x2=>x2 instanceof Float32Array,Float64Array:x2=>x2 instanceof Float64Array,BigInt64Array:x2=>x2 instanceof BigInt64Array,BigUint64Array:x2=>x2 instanceof BigUint64Array,TypedArray:x2=>ArrayBuffer.isView(x2)&&!(x2 instanceof DataView)};var _TypedArrayValidator=class _TypedArrayValidator extends BaseValidator{constructor(type2,validatorOptions={},constraints=[]){super(validatorOptions,constraints);this.type=type2}byteLengthLessThan(length,options=this.validatorOptions){return this.addConstraint(typedArrayByteLengthLessThan(length,options))}byteLengthLessThanOrEqual(length,options=this.validatorOptions){return this.addConstraint(typedArrayByteLengthLessThanOrEqual(length,options))}byteLengthGreaterThan(length,options=this.validatorOptions){return this.addConstraint(typedArrayByteLengthGreaterThan(length,options))}byteLengthGreaterThanOrEqual(length,options=this.validatorOptions){return this.addConstraint(typedArrayByteLengthGreaterThanOrEqual(length,options))}byteLengthEqual(length,options=this.validatorOptions){return this.addConstraint(typedArrayByteLengthEqual(length,options))}byteLengthNotEqual(length,options=this.validatorOptions){return this.addConstraint(typedArrayByteLengthNotEqual(length,options))}byteLengthRange(start,endBefore,options=this.validatorOptions){return this.addConstraint(typedArrayByteLengthRange(start,endBefore,options))}byteLengthRangeInclusive(startAt,endAt,options=this.validatorOptions){return this.addConstraint(typedArrayByteLengthRangeInclusive(startAt,endAt,options))}byteLengthRangeExclusive(startAfter,endBefore,options=this.validatorOptions){return this.addConstraint(typedArrayByteLengthRangeExclusive(startAfter,endBefore,options))}lengthLessThan(length,options=this.validatorOptions){return this.addConstraint(typedArrayLengthLessThan(length,options))}lengthLessThanOrEqual(length,options=this.validatorOptions){return this.addConstraint(typedArrayLengthLessThanOrEqual(length,options))}lengthGreaterThan(length,options=this.validatorOptions){return this.addConstraint(typedArrayLengthGreaterThan(length,options))}lengthGreaterThanOrEqual(length,options=this.validatorOptions){return this.addConstraint(typedArrayLengthGreaterThanOrEqual(length,options))}lengthEqual(length,options=this.validatorOptions){return this.addConstraint(typedArrayLengthEqual(length,options))}lengthNotEqual(length,options=this.validatorOptions){return this.addConstraint(typedArrayLengthNotEqual(length,options))}lengthRange(start,endBefore,options=this.validatorOptions){return this.addConstraint(typedArrayLengthRange(start,endBefore,options))}lengthRangeInclusive(startAt,endAt,options=this.validatorOptions){return this.addConstraint(typedArrayLengthRangeInclusive(startAt,endAt,options))}lengthRangeExclusive(startAfter,endBefore,options=this.validatorOptions){return this.addConstraint(typedArrayLengthRangeExclusive(startAfter,endBefore,options))}clone(){return Reflect.construct(this.constructor,[this.type,this.validatorOptions,this.constraints])}handle(value){return TypedArrays[this.type](value)?Result.ok(value):Result.err(new ValidationError2("s.typedArray()",this.validatorOptions.message??`Expected ${aOrAn(this.type)}`,value))}};__name(_TypedArrayValidator,"TypedArrayValidator");var TypedArrayValidator=_TypedArrayValidator;var _Shapes=class _Shapes{string(options){return new StringValidator(options)}number(options){return new NumberValidator(options)}bigint(options){return new BigIntValidator(options)}boolean(options){return new BooleanValidator(options)}date(options){return new DateValidator(options)}object(shape,options){return new ObjectValidator(shape,0,options)}undefined(options){return this.literal(void 0,{equalsOptions:options})}null(options){return this.literal(null,{equalsOptions:options})}nullish(options){return new NullishValidator(options)}any(options){return new PassthroughValidator(options)}unknown(options){return new PassthroughValidator(options)}never(options){return new NeverValidator(options)}enum(values2,options){return this.union(values2.map(value=>this.literal(value,{equalsOptions:options})),options)}nativeEnum(enumShape,options){return new NativeEnumValidator(enumShape,options)}literal(value,options){if(value instanceof Date){return this.date(options==null?void 0:options.dateOptions).equal(value,options==null?void 0:options.equalsOptions)}return new LiteralValidator(value,options==null?void 0:options.equalsOptions)}instance(expected,options){return new InstanceValidator(expected,options)}union(validators,options){return new UnionValidator(validators,options)}array(validator,options){return new ArrayValidator(validator,options)}typedArray(type2="TypedArray",options){return new TypedArrayValidator(type2,options)}int8Array(options){return this.typedArray("Int8Array",options)}uint8Array(options){return this.typedArray("Uint8Array",options)}uint8ClampedArray(options){return this.typedArray("Uint8ClampedArray",options)}int16Array(options){return this.typedArray("Int16Array",options)}uint16Array(options){return this.typedArray("Uint16Array",options)}int32Array(options){return this.typedArray("Int32Array",options)}uint32Array(options){return this.typedArray("Uint32Array",options)}float32Array(options){return this.typedArray("Float32Array",options)}float64Array(options){return this.typedArray("Float64Array",options)}bigInt64Array(options){return this.typedArray("BigInt64Array",options)}bigUint64Array(options){return this.typedArray("BigUint64Array",options)}tuple(validators,options){return new TupleValidator(validators,options)}set(validator,options){return new SetValidator(validator,options)}record(validator,options){return new RecordValidator(validator,options)}map(keyValidator,valueValidator,options){return new MapValidator(keyValidator,valueValidator,options)}lazy(validator,options){return new LazyValidator(validator,options)}};__name(_Shapes,"Shapes");var Shapes=_Shapes;var s3=new Shapes;exports2.BaseError=BaseError;exports2.CombinedError=CombinedError;exports2.CombinedPropertyError=CombinedPropertyError;exports2.ExpectedConstraintError=ExpectedConstraintError;exports2.ExpectedValidationError=ExpectedValidationError;exports2.MissingPropertyError=MissingPropertyError;exports2.MultiplePossibilitiesConstraintError=MultiplePossibilitiesConstraintError;exports2.Result=Result;exports2.UnknownEnumValueError=UnknownEnumValueError;exports2.UnknownPropertyError=UnknownPropertyError;exports2.ValidationError=ValidationError2;exports2.customInspectSymbol=customInspectSymbol;exports2.customInspectSymbolStackLess=customInspectSymbolStackLess;exports2.getGlobalValidationEnabled=getGlobalValidationEnabled;exports2.s=s3;exports2.setGlobalValidationEnabled=setGlobalValidationEnabled}});var require_dist4=__commonJS({"node_modules/@discordjs/builders/node_modules/@discordjs/formatters/dist/index.js"(exports2,module2){"use strict";var __defProp2=Object.defineProperty;var __getOwnPropDesc2=Object.getOwnPropertyDescriptor;var __getOwnPropNames2=Object.getOwnPropertyNames;var __hasOwnProp2=Object.prototype.hasOwnProperty;var __name=(target,value)=>__defProp2(target,"name",{value,configurable:true});var __export2=(target,all2)=>{for(var name in all2)__defProp2(target,name,{get:all2[name],enumerable:true})};var __copyProps2=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames2(from))if(!__hasOwnProp2.call(to,key)&&key!==except)__defProp2(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc2(from,key))||desc.enumerable})}return to};var __toCommonJS2=mod3=>__copyProps2(__defProp2({},"__esModule",{value:true}),mod3);var src_exports2={};__export2(src_exports2,{Faces:()=>Faces,GuildNavigationMentions:()=>GuildNavigationMentions,HeadingLevel:()=>HeadingLevel,TimestampStyles:()=>TimestampStyles,applicationDirectory:()=>applicationDirectory,blockQuote:()=>blockQuote,bold:()=>bold,channelLink:()=>channelLink,channelMention:()=>channelMention,chatInputApplicationCommandMention:()=>chatInputApplicationCommandMention,codeBlock:()=>codeBlock,escapeBold:()=>escapeBold,escapeBulletedList:()=>escapeBulletedList,escapeCodeBlock:()=>escapeCodeBlock,escapeEscape:()=>escapeEscape,escapeHeading:()=>escapeHeading,escapeInlineCode:()=>escapeInlineCode,escapeItalic:()=>escapeItalic,escapeMarkdown:()=>escapeMarkdown,escapeMaskedLink:()=>escapeMaskedLink,escapeNumberedList:()=>escapeNumberedList,escapeSpoiler:()=>escapeSpoiler,escapeStrikethrough:()=>escapeStrikethrough,escapeUnderline:()=>escapeUnderline,formatEmoji:()=>formatEmoji,heading:()=>heading,hideLinkEmbed:()=>hideLinkEmbed,hyperlink:()=>hyperlink,inlineCode:()=>inlineCode,italic:()=>italic,messageLink:()=>messageLink,orderedList:()=>orderedList,quote:()=>quote,roleMention:()=>roleMention,spoiler:()=>spoiler,strikethrough:()=>strikethrough,subtext:()=>subtext,time:()=>time,underline:()=>underline,underscore:()=>underscore,unorderedList:()=>unorderedList,userMention:()=>userMention,version:()=>version});module2.exports=__toCommonJS2(src_exports2);function escapeMarkdown(text,options={}){const{codeBlock:codeBlock2=true,inlineCode:inlineCode2=true,bold:bold2=true,italic:italic2=true,underline:underline2=true,strikethrough:strikethrough2=true,spoiler:spoiler2=true,codeBlockContent=true,inlineCodeContent=true,escape:escape3=true,heading:heading2=false,bulletedList=false,numberedList=false,maskedLink=false}=options;if(!codeBlockContent){return text.split("```").map((subString,index,array)=>{if(index%2&&index!==array.length-1)return subString;return escapeMarkdown(subString,{inlineCode:inlineCode2,bold:bold2,italic:italic2,underline:underline2,strikethrough:strikethrough2,spoiler:spoiler2,inlineCodeContent,escape:escape3,heading:heading2,bulletedList,numberedList,maskedLink})}).join(codeBlock2?"\\`\\`\\`":"```")}if(!inlineCodeContent){return text.split(/(?<=^|[^`])`(?=[^`]|$)/g).map((subString,index,array)=>{if(index%2&&index!==array.length-1)return subString;return escapeMarkdown(subString,{codeBlock:codeBlock2,bold:bold2,italic:italic2,underline:underline2,strikethrough:strikethrough2,spoiler:spoiler2,escape:escape3,heading:heading2,bulletedList,numberedList,maskedLink})}).join(inlineCode2?"\\`":"`")}let res=text;if(escape3)res=escapeEscape(res);if(inlineCode2)res=escapeInlineCode(res);if(codeBlock2)res=escapeCodeBlock(res);if(italic2)res=escapeItalic(res);if(bold2)res=escapeBold(res);if(underline2)res=escapeUnderline(res);if(strikethrough2)res=escapeStrikethrough(res);if(spoiler2)res=escapeSpoiler(res);if(heading2)res=escapeHeading(res);if(bulletedList)res=escapeBulletedList(res);if(numberedList)res=escapeNumberedList(res);if(maskedLink)res=escapeMaskedLink(res);return res}__name(escapeMarkdown,"escapeMarkdown");function escapeCodeBlock(text){return text.replaceAll("```","\\`\\`\\`")}__name(escapeCodeBlock,"escapeCodeBlock");function escapeInlineCode(text){return text.replaceAll(/(?<=^|[^`])``?(?=[^`]|$)/g,match=>match.length===2?"\\`\\`":"\\`")}__name(escapeInlineCode,"escapeInlineCode");function escapeItalic(text){let idx=0;const newText=text.replaceAll(/(?<=^|[^*])\*([^*]|\*\*|$)/g,(_,match)=>{if(match==="**")return++idx%2?`\\*${match}`:`${match}\\*`;return`\\*${match}`});idx=0;return newText.replaceAll(/(?<=^|[^_])(?<!<a?:.+|https?:\/\/\S+)_(?!:\d+>)([^_]|__|$)/g,(_,match)=>{if(match==="__")return++idx%2?`\\_${match}`:`${match}\\_`;return`\\_${match}`})}__name(escapeItalic,"escapeItalic");function escapeBold(text){let idx=0;return text.replaceAll(/\*\*(\*)?/g,(_,match)=>{if(match)return++idx%2?`${match}\\*\\*`:`\\*\\*${match}`;return"\\*\\*"})}__name(escapeBold,"escapeBold");function escapeUnderline(text){let idx=0;return text.replaceAll(/(?<!<a?:.+|https?:\/\/\S+)__(_)?(?!:\d+>)/g,(_,match)=>{if(match)return++idx%2?`${match}\\_\\_`:`\\_\\_${match}`;return"\\_\\_"})}__name(escapeUnderline,"escapeUnderline");function escapeStrikethrough(text){return text.replaceAll("~~","\\~\\~")}__name(escapeStrikethrough,"escapeStrikethrough");function escapeSpoiler(text){return text.replaceAll("||","\\|\\|")}__name(escapeSpoiler,"escapeSpoiler");function escapeEscape(text){return text.replaceAll("\\","\\\\")}__name(escapeEscape,"escapeEscape");function escapeHeading(text){return text.replaceAll(/^( {0,2})([*-] )?( *)(#{1,3} )/gm,"$1$2$3\\$4")}__name(escapeHeading,"escapeHeading");function escapeBulletedList(text){return text.replaceAll(/^( *)([*-])( +)/gm,"$1\\$2$3")}__name(escapeBulletedList,"escapeBulletedList");function escapeNumberedList(text){return text.replaceAll(/^( *\d+)\./gm,"$1\\.")}__name(escapeNumberedList,"escapeNumberedList");function escapeMaskedLink(text){return text.replaceAll(/\[.+]\(.+\)/gm,"\\$&")}__name(escapeMaskedLink,"escapeMaskedLink");function codeBlock(language2,content){return content===void 0?`\`\`\`
${language2}
\`\`\``:`\`\`\`${language2}
${content}
\`\`\``}__name(codeBlock,"codeBlock");function inlineCode(content){return`\`${content}\``}__name(inlineCode,"inlineCode");function italic(content){return`_${content}_`}__name(italic,"italic");function bold(content){return`**${content}**`}__name(bold,"bold");function underscore(content){return underline(content)}__name(underscore,"underscore");function underline(content){return`__${content}__`}__name(underline,"underline");function strikethrough(content){return`~~${content}~~`}__name(strikethrough,"strikethrough");function quote(content){return`> ${content}`}__name(quote,"quote");function blockQuote(content){return`>>> ${content}`}__name(blockQuote,"blockQuote");function hideLinkEmbed(url){return`<${url}>`}__name(hideLinkEmbed,"hideLinkEmbed");function hyperlink(content,url,title){return title?`[${content}](${url} "${title}")`:`[${content}](${url})`}__name(hyperlink,"hyperlink");function spoiler(content){return`||${content}||`}__name(spoiler,"spoiler");function userMention(userId){return`<@${userId}>`}__name(userMention,"userMention");function channelMention(channelId){return`<#${channelId}>`}__name(channelMention,"channelMention");function roleMention(roleId){return`<@&${roleId}>`}__name(roleMention,"roleMention");function chatInputApplicationCommandMention(commandName,subcommandGroupName,subcommandName,commandId){if(commandId!==void 0){return`</${commandName} ${subcommandGroupName} ${subcommandName}:${commandId}>`}if(subcommandName!==void 0){return`</${commandName} ${subcommandGroupName}:${subcommandName}>`}return`</${commandName}:${subcommandGroupName}>`}__name(chatInputApplicationCommandMention,"chatInputApplicationCommandMention");function formatEmoji(emojiIdOrOptions,animated){const options=typeof emojiIdOrOptions==="string"?{id:emojiIdOrOptions,animated:animated??false}:emojiIdOrOptions;const{id,animated:isAnimated,name:emojiName}=options;return`<${isAnimated?"a":""}:${emojiName??"_"}:${id}>`}__name(formatEmoji,"formatEmoji");function channelLink(channelId,guildId){return`https://discord.com/channels/${guildId??"@me"}/${channelId}`}__name(channelLink,"channelLink");function messageLink(channelId,messageId,guildId){return`${guildId===void 0?channelLink(channelId):channelLink(channelId,guildId)}/${messageId}`}__name(messageLink,"messageLink");var HeadingLevel=(HeadingLevel2=>{HeadingLevel2[HeadingLevel2["One"]=1]="One";HeadingLevel2[HeadingLevel2["Two"]=2]="Two";HeadingLevel2[HeadingLevel2["Three"]=3]="Three";return HeadingLevel2})(HeadingLevel||{});function heading(content,level){switch(level){case 3:return`### ${content}`;case 2:return`## ${content}`;default:return`# ${content}`}}__name(heading,"heading");function listCallback(element,startNumber,depth=0){if(Array.isArray(element)){return element.map(element2=>listCallback(element2,startNumber,depth+1)).join("\n")}return`${"  ".repeat(depth-1)}${startNumber?`${startNumber}.`:"-"} ${element}`}__name(listCallback,"listCallback");function orderedList(list,startNumber=1){return listCallback(list,Math.max(startNumber,1))}__name(orderedList,"orderedList");function unorderedList(list){return listCallback(list)}__name(unorderedList,"unorderedList");function subtext(content){return`-# ${content}`}__name(subtext,"subtext");function time(timeOrSeconds,style){if(typeof timeOrSeconds!=="number"){timeOrSeconds=Math.floor(((timeOrSeconds==null?void 0:timeOrSeconds.getTime())??Date.now())/1e3)}return typeof style==="string"?`<t:${timeOrSeconds}:${style}>`:`<t:${timeOrSeconds}>`}__name(time,"time");function applicationDirectory(applicationId,skuId){const url=`https://discord.com/application-directory/${applicationId}/store`;return skuId?`${url}/${skuId}`:url}__name(applicationDirectory,"applicationDirectory");var TimestampStyles={ShortTime:"t",LongTime:"T",ShortDate:"d",LongDate:"D",ShortDateTime:"f",LongDateTime:"F",RelativeTime:"R"};var Faces=(Faces2=>{Faces2["Shrug"]="¯\\_(ツ)_/¯";Faces2["Tableflip"]="(╯°□°)╯︵ ┻━┻";Faces2["Unflip"]="┬─┬ノ( º _ ºノ)";return Faces2})(Faces||{});var GuildNavigationMentions=(GuildNavigationMentions2=>{GuildNavigationMentions2["Browse"]="<id:browse>";GuildNavigationMentions2["Customize"]="<id:customize>";GuildNavigationMentions2["Guide"]="<id:guide>";return GuildNavigationMentions2})(GuildNavigationMentions||{});var version="0.6.0"}});var require_dist5=__commonJS({"node_modules/@discordjs/builders/node_modules/@discordjs/util/dist/index.js"(exports2,module2){"use strict";var __defProp2=Object.defineProperty;var __getOwnPropDesc2=Object.getOwnPropertyDescriptor;var __getOwnPropNames2=Object.getOwnPropertyNames;var __hasOwnProp2=Object.prototype.hasOwnProperty;var __name=(target,value)=>__defProp2(target,"name",{value,configurable:true});var __export2=(target,all2)=>{for(var name in all2)__defProp2(target,name,{get:all2[name],enumerable:true})};var __copyProps2=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames2(from))if(!__hasOwnProp2.call(to,key)&&key!==except)__defProp2(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc2(from,key))||desc.enumerable})}return to};var __toCommonJS2=mod3=>__copyProps2(__defProp2({},"__esModule",{value:true}),mod3);var src_exports2={};__export2(src_exports2,{calculateShardId:()=>calculateShardId,getUserAgentAppendix:()=>getUserAgentAppendix,isEquatable:()=>isEquatable,isJSONEncodable:()=>isJSONEncodable,lazy:()=>lazy,polyfillDispose:()=>polyfillDispose,range:()=>range2,shouldUseGlobalFetchAndWebSocket:()=>shouldUseGlobalFetchAndWebSocket,version:()=>version});module2.exports=__toCommonJS2(src_exports2);function lazy(cb){let defaultValue;return()=>defaultValue??=cb()}__name(lazy,"lazy");function*range2(range22){let rangeEnd;let start=0;let step=1;if(typeof range22==="number"){rangeEnd=range22}else{start=range22.start;rangeEnd=range22.end;step=range22.step??1}for(let index=start;index<rangeEnd;index+=step){yield index}}__name(range2,"range");function calculateShardId(guildId,shardCount){return Number(BigInt(guildId)>>22n)%shardCount}__name(calculateShardId,"calculateShardId");function shouldUseGlobalFetchAndWebSocket(){if(typeof globalThis.process==="undefined"){return"fetch"in globalThis&&"WebSocket"in globalThis}if("versions"in globalThis.process){return"deno"in globalThis.process.versions||"bun"in globalThis.process.versions}return false}__name(shouldUseGlobalFetchAndWebSocket,"shouldUseGlobalFetchAndWebSocket");function getUserAgentAppendix(){if(typeof globalThis.EdgeRuntime!=="undefined"){return"Vercel-Edge-Functions"}if(typeof globalThis.R2!=="undefined"&&typeof globalThis.WebSocketPair!=="undefined"){return"Cloudflare-Workers"}if(typeof globalThis.Netlify!=="undefined"){return"Netlify-Edge-Functions"}if(typeof globalThis.process!=="object"){if(typeof globalThis.navigator==="object"){return globalThis.navigator.userAgent}return"UnknownEnvironment"}if("versions"in globalThis.process){if("deno"in globalThis.process.versions){return`Deno/${globalThis.process.versions.deno}`}if("bun"in globalThis.process.versions){return`Bun/${globalThis.process.versions.bun}`}if("node"in globalThis.process.versions){return`Node.js/${globalThis.process.versions.node}`}}return"UnknownEnvironment"}__name(getUserAgentAppendix,"getUserAgentAppendix");function polyfillDispose(){Symbol.dispose??=Symbol("Symbol.dispose");Symbol.asyncDispose??=Symbol("Symbol.asyncDispose")}__name(polyfillDispose,"polyfillDispose");function isJSONEncodable(maybeEncodable){return maybeEncodable!==null&&typeof maybeEncodable==="object"&&"toJSON"in maybeEncodable}__name(isJSONEncodable,"isJSONEncodable");function isEquatable(maybeEquatable){return maybeEquatable!==null&&typeof maybeEquatable==="object"&&"equals"in maybeEquatable}__name(isEquatable,"isEquatable");var version="1.1.1"}});var require_fast_deep_equal=__commonJS({"node_modules/fast-deep-equal/index.js"(exports2,module2){"use strict";module2.exports=function equal(a,b){if(a===b)return true;if(a&&b&&typeof a=="object"&&typeof b=="object"){if(a.constructor!==b.constructor)return false;var length,i,keys2;if(Array.isArray(a)){length=a.length;if(length!=b.length)return false;for(i=length;i--!==0;)if(!equal(a[i],b[i]))return false;return true}if(a.constructor===RegExp)return a.source===b.source&&a.flags===b.flags;if(a.valueOf!==Object.prototype.valueOf)return a.valueOf()===b.valueOf();if(a.toString!==Object.prototype.toString)return a.toString()===b.toString();keys2=Object.keys(a);length=keys2.length;if(length!==Object.keys(b).length)return false;for(i=length;i--!==0;)if(!Object.prototype.hasOwnProperty.call(b,keys2[i]))return false;for(i=length;i--!==0;){var key=keys2[i];if(!equal(a[key],b[key]))return false}return true}return a!==a&&b!==b}}});var require_util10=__commonJS({"node_modules/ts-mixer/dist/cjs/util.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.flatten=exports2.unique=exports2.hardMixProtos=exports2.nearestCommonProto=exports2.protoChain=exports2.copyProps=void 0;var copyProps=(dest,src,exclude=[])=>{const props=Object.getOwnPropertyDescriptors(src);for(let prop of exclude)delete props[prop];Object.defineProperties(dest,props)};exports2.copyProps=copyProps;var protoChain=(obj,currentChain=[obj])=>{const proto2=Object.getPrototypeOf(obj);if(proto2===null)return currentChain;return(0,exports2.protoChain)(proto2,[...currentChain,proto2])};exports2.protoChain=protoChain;var nearestCommonProto=(...objs)=>{if(objs.length===0)return void 0;let commonProto=void 0;const protoChains=objs.map(obj=>(0,exports2.protoChain)(obj));while(protoChains.every(protoChain2=>protoChain2.length>0)){const protos=protoChains.map(protoChain2=>protoChain2.pop());const potentialCommonProto=protos[0];if(protos.every(proto2=>proto2===potentialCommonProto))commonProto=potentialCommonProto;else break}return commonProto};exports2.nearestCommonProto=nearestCommonProto;var hardMixProtos=(ingredients,constructor,exclude=[])=>{var _a12;const base=(_a12=(0,exports2.nearestCommonProto)(...ingredients))!==null&&_a12!==void 0?_a12:Object.prototype;const mixedProto=Object.create(base);const visitedProtos=(0,exports2.protoChain)(base);for(let prototype of ingredients){let protos=(0,exports2.protoChain)(prototype);for(let i=protos.length-1;i>=0;i--){let newProto=protos[i];if(visitedProtos.indexOf(newProto)===-1){(0,exports2.copyProps)(mixedProto,newProto,["constructor",...exclude]);visitedProtos.push(newProto)}}}mixedProto.constructor=constructor;return mixedProto};exports2.hardMixProtos=hardMixProtos;var unique=arr=>arr.filter((e,i)=>arr.indexOf(e)==i);exports2.unique=unique;var flatten2=arr=>arr.length===0?[]:arr.length===1?arr[0]:arr.reduce((a1,a2)=>[...a1,...a2]);exports2.flatten=flatten2}});var require_proxy=__commonJS({"node_modules/ts-mixer/dist/cjs/proxy.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.softMixProtos=exports2.proxyMix=exports2.getIngredientWithProp=void 0;var util_1=require_util10();var getIngredientWithProp=(prop,ingredients)=>{const protoChains=ingredients.map(ingredient=>(0,util_1.protoChain)(ingredient));let protoDepth=0;let protosAreLeftToSearch=true;while(protosAreLeftToSearch){protosAreLeftToSearch=false;for(let i=ingredients.length-1;i>=0;i--){const searchTarget=protoChains[i][protoDepth];if(searchTarget!==void 0&&searchTarget!==null){protosAreLeftToSearch=true;if(Object.getOwnPropertyDescriptor(searchTarget,prop)!=void 0){return protoChains[i][0]}}}protoDepth++}return void 0};exports2.getIngredientWithProp=getIngredientWithProp;var proxyMix=(ingredients,prototype=Object.prototype)=>new Proxy({},{getPrototypeOf(){return prototype},setPrototypeOf(){throw Error("Cannot set prototype of Proxies created by ts-mixer")},getOwnPropertyDescriptor(_,prop){return Object.getOwnPropertyDescriptor((0,exports2.getIngredientWithProp)(prop,ingredients)||{},prop)},defineProperty(){throw new Error("Cannot define new properties on Proxies created by ts-mixer")},has(_,prop){return(0,exports2.getIngredientWithProp)(prop,ingredients)!==void 0||prototype[prop]!==void 0},get(_,prop){return((0,exports2.getIngredientWithProp)(prop,ingredients)||prototype)[prop]},set(_,prop,val){const ingredientWithProp=(0,exports2.getIngredientWithProp)(prop,ingredients);if(ingredientWithProp===void 0)throw new Error("Cannot set new properties on Proxies created by ts-mixer");ingredientWithProp[prop]=val;return true},deleteProperty(){throw new Error("Cannot delete properties on Proxies created by ts-mixer")},ownKeys(){return ingredients.map(Object.getOwnPropertyNames).reduce((prev,curr)=>curr.concat(prev.filter(key=>curr.indexOf(key)<0)))}});exports2.proxyMix=proxyMix;var softMixProtos=(ingredients,constructor)=>(0,exports2.proxyMix)([...ingredients,{constructor}]);exports2.softMixProtos=softMixProtos}});var require_settings=__commonJS({"node_modules/ts-mixer/dist/cjs/settings.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.settings=void 0;exports2.settings={initFunction:null,staticsStrategy:"copy",prototypeStrategy:"copy",decoratorInheritance:"deep"}}});var require_mixin_tracking=__commonJS({"node_modules/ts-mixer/dist/cjs/mixin-tracking.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.hasMixin=exports2.registerMixins=exports2.getMixinsForClass=void 0;var util_1=require_util10();var mixins=new WeakMap;var getMixinsForClass=clazz=>mixins.get(clazz);exports2.getMixinsForClass=getMixinsForClass;var registerMixins=(mixedClass,constituents)=>mixins.set(mixedClass,constituents);exports2.registerMixins=registerMixins;var hasMixin=(instance,mixin3)=>{if(instance instanceof mixin3)return true;const constructor=instance.constructor;const visited=new Set;let frontier=new Set;frontier.add(constructor);while(frontier.size>0){if(frontier.has(mixin3))return true;frontier.forEach(item=>visited.add(item));const newFrontier=new Set;frontier.forEach(item=>{var _a12;const itemConstituents=(_a12=mixins.get(item))!==null&&_a12!==void 0?_a12:(0,util_1.protoChain)(item.prototype).map(proto2=>proto2.constructor).filter(item2=>item2!==null);if(itemConstituents)itemConstituents.forEach(constituent=>{if(!visited.has(constituent)&&!frontier.has(constituent))newFrontier.add(constituent)})});frontier=newFrontier}return false};exports2.hasMixin=hasMixin}});var require_decorator=__commonJS({"node_modules/ts-mixer/dist/cjs/decorator.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.decorate=exports2.getDecoratorsForClass=exports2.directDecoratorSearch=exports2.deepDecoratorSearch=void 0;var util_1=require_util10();var mixin_tracking_1=require_mixin_tracking();var mergeObjectsOfDecorators=(o1,o2)=>{var _a12,_b2;const allKeys=(0,util_1.unique)([...Object.getOwnPropertyNames(o1),...Object.getOwnPropertyNames(o2)]);const mergedObject={};for(let key of allKeys)mergedObject[key]=(0,util_1.unique)([...(_a12=o1===null||o1===void 0?void 0:o1[key])!==null&&_a12!==void 0?_a12:[],...(_b2=o2===null||o2===void 0?void 0:o2[key])!==null&&_b2!==void 0?_b2:[]]);return mergedObject};var mergePropertyAndMethodDecorators=(d1,d2)=>{var _a12,_b2,_c,_d;return{property:mergeObjectsOfDecorators((_a12=d1===null||d1===void 0?void 0:d1.property)!==null&&_a12!==void 0?_a12:{},(_b2=d2===null||d2===void 0?void 0:d2.property)!==null&&_b2!==void 0?_b2:{}),method:mergeObjectsOfDecorators((_c=d1===null||d1===void 0?void 0:d1.method)!==null&&_c!==void 0?_c:{},(_d=d2===null||d2===void 0?void 0:d2.method)!==null&&_d!==void 0?_d:{})}};var mergeDecorators=(d1,d2)=>{var _a12,_b2,_c,_d,_e,_f;return{class:(0,util_1.unique)([...(_a12=d1===null||d1===void 0?void 0:d1.class)!==null&&_a12!==void 0?_a12:[],...(_b2=d2===null||d2===void 0?void 0:d2.class)!==null&&_b2!==void 0?_b2:[]]),static:mergePropertyAndMethodDecorators((_c=d1===null||d1===void 0?void 0:d1.static)!==null&&_c!==void 0?_c:{},(_d=d2===null||d2===void 0?void 0:d2.static)!==null&&_d!==void 0?_d:{}),instance:mergePropertyAndMethodDecorators((_e=d1===null||d1===void 0?void 0:d1.instance)!==null&&_e!==void 0?_e:{},(_f=d2===null||d2===void 0?void 0:d2.instance)!==null&&_f!==void 0?_f:{})}};var decorators=new Map;var findAllConstituentClasses=(...classes)=>{var _a12;const allClasses=new Set;const frontier=new Set([...classes]);while(frontier.size>0){for(let clazz of frontier){const protoChainClasses=(0,util_1.protoChain)(clazz.prototype).map(proto2=>proto2.constructor);const mixinClasses=(_a12=(0,mixin_tracking_1.getMixinsForClass)(clazz))!==null&&_a12!==void 0?_a12:[];const potentiallyNewClasses=[...protoChainClasses,...mixinClasses];const newClasses=potentiallyNewClasses.filter(c=>!allClasses.has(c));for(let newClass of newClasses)frontier.add(newClass);allClasses.add(clazz);frontier.delete(clazz)}}return[...allClasses]};var deepDecoratorSearch=(...classes)=>{const decoratorsForClassChain=findAllConstituentClasses(...classes).map(clazz=>decorators.get(clazz)).filter(decorators2=>!!decorators2);if(decoratorsForClassChain.length==0)return{};if(decoratorsForClassChain.length==1)return decoratorsForClassChain[0];return decoratorsForClassChain.reduce((d1,d2)=>mergeDecorators(d1,d2))};exports2.deepDecoratorSearch=deepDecoratorSearch;var directDecoratorSearch=(...classes)=>{const classDecorators=classes.map(clazz=>(0,exports2.getDecoratorsForClass)(clazz));if(classDecorators.length===0)return{};if(classDecorators.length===1)return classDecorators[0];return classDecorators.reduce((d1,d2)=>mergeDecorators(d1,d2))};exports2.directDecoratorSearch=directDecoratorSearch;var getDecoratorsForClass=clazz=>{let decoratorsForClass=decorators.get(clazz);if(!decoratorsForClass){decoratorsForClass={};decorators.set(clazz,decoratorsForClass)}return decoratorsForClass};exports2.getDecoratorsForClass=getDecoratorsForClass;var decorateClass=decorator=>clazz=>{const decoratorsForClass=(0,exports2.getDecoratorsForClass)(clazz);let classDecorators=decoratorsForClass.class;if(!classDecorators){classDecorators=[];decoratorsForClass.class=classDecorators}classDecorators.push(decorator);return decorator(clazz)};var decorateMember=decorator=>(object,key,...otherArgs)=>{var _a12,_b2,_c;const decoratorTargetType=typeof object==="function"?"static":"instance";const decoratorType=typeof object[key]==="function"?"method":"property";const clazz=decoratorTargetType==="static"?object:object.constructor;const decoratorsForClass=(0,exports2.getDecoratorsForClass)(clazz);const decoratorsForTargetType=(_a12=decoratorsForClass===null||decoratorsForClass===void 0?void 0:decoratorsForClass[decoratorTargetType])!==null&&_a12!==void 0?_a12:{};decoratorsForClass[decoratorTargetType]=decoratorsForTargetType;let decoratorsForType=(_b2=decoratorsForTargetType===null||decoratorsForTargetType===void 0?void 0:decoratorsForTargetType[decoratorType])!==null&&_b2!==void 0?_b2:{};decoratorsForTargetType[decoratorType]=decoratorsForType;let decoratorsForKey=(_c=decoratorsForType===null||decoratorsForType===void 0?void 0:decoratorsForType[key])!==null&&_c!==void 0?_c:[];decoratorsForType[key]=decoratorsForKey;decoratorsForKey.push(decorator);return decorator(object,key,...otherArgs)};var decorate=decorator=>(...args2)=>{if(args2.length===1)return decorateClass(decorator)(args2[0]);return decorateMember(decorator)(...args2)};exports2.decorate=decorate}});var require_mixins=__commonJS({"node_modules/ts-mixer/dist/cjs/mixins.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.mix=exports2.Mixin=void 0;var proxy_1=require_proxy();var settings_1=require_settings();var util_1=require_util10();var decorator_1=require_decorator();var mixin_tracking_1=require_mixin_tracking();function Mixin(...constructors){var _a12,_b2,_c;const prototypes=constructors.map(constructor=>constructor.prototype);const initFunctionName=settings_1.settings.initFunction;if(initFunctionName!==null){const initFunctions=prototypes.map(proto2=>proto2[initFunctionName]).filter(func=>typeof func==="function");const combinedInitFunction=function(...args2){for(let initFunction of initFunctions)initFunction.apply(this,args2)};const extraProto={[initFunctionName]:combinedInitFunction};prototypes.push(extraProto)}function MixedClass(...args2){for(const constructor of constructors)(0,util_1.copyProps)(this,new constructor(...args2));if(initFunctionName!==null&&typeof this[initFunctionName]==="function")this[initFunctionName].apply(this,args2)}MixedClass.prototype=settings_1.settings.prototypeStrategy==="copy"?(0,util_1.hardMixProtos)(prototypes,MixedClass):(0,proxy_1.softMixProtos)(prototypes,MixedClass);Object.setPrototypeOf(MixedClass,settings_1.settings.staticsStrategy==="copy"?(0,util_1.hardMixProtos)(constructors,null,["prototype"]):(0,proxy_1.proxyMix)(constructors,Function.prototype));let DecoratedMixedClass=MixedClass;if(settings_1.settings.decoratorInheritance!=="none"){const classDecorators=settings_1.settings.decoratorInheritance==="deep"?(0,decorator_1.deepDecoratorSearch)(...constructors):(0,decorator_1.directDecoratorSearch)(...constructors);for(let decorator of(_a12=classDecorators===null||classDecorators===void 0?void 0:classDecorators.class)!==null&&_a12!==void 0?_a12:[]){const result2=decorator(DecoratedMixedClass);if(result2){DecoratedMixedClass=result2}}applyPropAndMethodDecorators((_b2=classDecorators===null||classDecorators===void 0?void 0:classDecorators.static)!==null&&_b2!==void 0?_b2:{},DecoratedMixedClass);applyPropAndMethodDecorators((_c=classDecorators===null||classDecorators===void 0?void 0:classDecorators.instance)!==null&&_c!==void 0?_c:{},DecoratedMixedClass.prototype)}(0,mixin_tracking_1.registerMixins)(DecoratedMixedClass,constructors);return DecoratedMixedClass}exports2.Mixin=Mixin;var applyPropAndMethodDecorators=(propAndMethodDecorators,target)=>{const propDecorators=propAndMethodDecorators.property;const methodDecorators=propAndMethodDecorators.method;if(propDecorators)for(let key in propDecorators)for(let decorator of propDecorators[key])decorator(target,key);if(methodDecorators)for(let key in methodDecorators)for(let decorator of methodDecorators[key])decorator(target,key,Object.getOwnPropertyDescriptor(target,key))};var mix=(...ingredients)=>decoratedClass=>{const mixedClass=Mixin(...ingredients.concat([decoratedClass]));Object.defineProperty(mixedClass,"name",{value:decoratedClass.name,writable:false});return mixedClass};exports2.mix=mix}});var require_cjs5=__commonJS({"node_modules/ts-mixer/dist/cjs/index.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.hasMixin=exports2.decorate=exports2.settings=exports2.mix=exports2.Mixin=void 0;var mixins_1=require_mixins();Object.defineProperty(exports2,"Mixin",{enumerable:true,get:function(){return mixins_1.Mixin}});Object.defineProperty(exports2,"mix",{enumerable:true,get:function(){return mixins_1.mix}});var settings_1=require_settings();Object.defineProperty(exports2,"settings",{enumerable:true,get:function(){return settings_1.settings}});var decorator_1=require_decorator();Object.defineProperty(exports2,"decorate",{enumerable:true,get:function(){return decorator_1.decorate}});var mixin_tracking_1=require_mixin_tracking();Object.defineProperty(exports2,"hasMixin",{enumerable:true,get:function(){return mixin_tracking_1.hasMixin}})}});var require_dist6=__commonJS({"node_modules/@discordjs/builders/dist/index.js"(exports2,module2){"use strict";var __create2=Object.create;var __defProp2=Object.defineProperty;var __getOwnPropDesc2=Object.getOwnPropertyDescriptor;var __getOwnPropNames2=Object.getOwnPropertyNames;var __getProtoOf2=Object.getPrototypeOf;var __hasOwnProp2=Object.prototype.hasOwnProperty;var __name=(target,value)=>__defProp2(target,"name",{value,configurable:true});var __export2=(target,all2)=>{for(var name in all2)__defProp2(target,name,{get:all2[name],enumerable:true})};var __copyProps2=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames2(from))if(!__hasOwnProp2.call(to,key)&&key!==except)__defProp2(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc2(from,key))||desc.enumerable})}return to};var __reExport=(target,mod3,secondTarget)=>(__copyProps2(target,mod3,"default"),secondTarget&&__copyProps2(secondTarget,mod3,"default"));var __toESM2=(mod3,isNodeMode,target)=>(target=mod3!=null?__create2(__getProtoOf2(mod3)):{},__copyProps2(isNodeMode||!mod3||!mod3.__esModule?__defProp2(target,"default",{value:mod3,enumerable:true}):target,mod3));var __toCommonJS2=mod3=>__copyProps2(__defProp2({},"__esModule",{value:true}),mod3);var __decorateClass=(decorators,target,key,kind)=>{var result2=kind>1?void 0:kind?__getOwnPropDesc2(target,key):target;for(var i=decorators.length-1,decorator;i>=0;i--)if(decorator=decorators[i])result2=(kind?decorator(target,key,result2):decorator(result2))||result2;if(kind&&result2)__defProp2(target,key,result2);return result2};var src_exports2={};__export2(src_exports2,{ActionRowBuilder:()=>ActionRowBuilder2,ApplicationCommandNumericOptionMinMaxValueMixin:()=>ApplicationCommandNumericOptionMinMaxValueMixin,ApplicationCommandOptionBase:()=>ApplicationCommandOptionBase,ApplicationCommandOptionChannelTypesMixin:()=>ApplicationCommandOptionChannelTypesMixin,ApplicationCommandOptionWithAutocompleteMixin:()=>ApplicationCommandOptionWithAutocompleteMixin,ApplicationCommandOptionWithChoicesMixin:()=>ApplicationCommandOptionWithChoicesMixin,BaseSelectMenuBuilder:()=>BaseSelectMenuBuilder,ButtonBuilder:()=>ButtonBuilder2,ChannelSelectMenuBuilder:()=>ChannelSelectMenuBuilder,ComponentAssertions:()=>Assertions_exports2,ComponentBuilder:()=>ComponentBuilder,ContextMenuCommandAssertions:()=>Assertions_exports6,ContextMenuCommandBuilder:()=>ContextMenuCommandBuilder,EmbedAssertions:()=>Assertions_exports,EmbedBuilder:()=>EmbedBuilder5,MentionableSelectMenuBuilder:()=>MentionableSelectMenuBuilder,ModalAssertions:()=>Assertions_exports4,ModalBuilder:()=>ModalBuilder,RoleSelectMenuBuilder:()=>RoleSelectMenuBuilder,SelectMenuBuilder:()=>StringSelectMenuBuilder,SelectMenuOptionBuilder:()=>StringSelectMenuOptionBuilder,SharedNameAndDescription:()=>SharedNameAndDescription,SharedSlashCommand:()=>SharedSlashCommand,SharedSlashCommandOptions:()=>SharedSlashCommandOptions,SharedSlashCommandSubcommands:()=>SharedSlashCommandSubcommands,SlashCommandAssertions:()=>Assertions_exports5,SlashCommandAttachmentOption:()=>SlashCommandAttachmentOption,SlashCommandBooleanOption:()=>SlashCommandBooleanOption,SlashCommandBuilder:()=>SlashCommandBuilder,SlashCommandChannelOption:()=>SlashCommandChannelOption,SlashCommandIntegerOption:()=>SlashCommandIntegerOption,SlashCommandMentionableOption:()=>SlashCommandMentionableOption,SlashCommandNumberOption:()=>SlashCommandNumberOption,SlashCommandRoleOption:()=>SlashCommandRoleOption,SlashCommandStringOption:()=>SlashCommandStringOption,SlashCommandSubcommandBuilder:()=>SlashCommandSubcommandBuilder,SlashCommandSubcommandGroupBuilder:()=>SlashCommandSubcommandGroupBuilder,SlashCommandUserOption:()=>SlashCommandUserOption,StringSelectMenuBuilder:()=>StringSelectMenuBuilder,StringSelectMenuOptionBuilder:()=>StringSelectMenuOptionBuilder,TextInputAssertions:()=>Assertions_exports3,TextInputBuilder:()=>TextInputBuilder,UserSelectMenuBuilder:()=>UserSelectMenuBuilder,createComponentBuilder:()=>createComponentBuilder,disableValidators:()=>disableValidators,embedLength:()=>embedLength,enableValidators:()=>enableValidators,isValidationEnabled:()=>isValidationEnabled,normalizeArray:()=>normalizeArray,version:()=>version});module2.exports=__toCommonJS2(src_exports2);var Assertions_exports={};__export2(Assertions_exports,{RGBPredicate:()=>RGBPredicate,authorNamePredicate:()=>authorNamePredicate,colorPredicate:()=>colorPredicate,descriptionPredicate:()=>descriptionPredicate,embedAuthorPredicate:()=>embedAuthorPredicate,embedFieldPredicate:()=>embedFieldPredicate,embedFieldsArrayPredicate:()=>embedFieldsArrayPredicate,embedFooterPredicate:()=>embedFooterPredicate,fieldInlinePredicate:()=>fieldInlinePredicate,fieldLengthPredicate:()=>fieldLengthPredicate,fieldNamePredicate:()=>fieldNamePredicate,fieldValuePredicate:()=>fieldValuePredicate,footerTextPredicate:()=>footerTextPredicate,imageURLPredicate:()=>imageURLPredicate,timestampPredicate:()=>timestampPredicate,titlePredicate:()=>titlePredicate,urlPredicate:()=>urlPredicate,validateFieldLength:()=>validateFieldLength});var import_shapeshift=require_cjs4();var validate=true;function enableValidators(){return validate=true}__name(enableValidators,"enableValidators");function disableValidators(){return validate=false}__name(disableValidators,"disableValidators");function isValidationEnabled(){return validate}__name(isValidationEnabled,"isValidationEnabled");var fieldNamePredicate=import_shapeshift.s.string().lengthGreaterThanOrEqual(1).lengthLessThanOrEqual(256).setValidationEnabled(isValidationEnabled);var fieldValuePredicate=import_shapeshift.s.string().lengthGreaterThanOrEqual(1).lengthLessThanOrEqual(1024).setValidationEnabled(isValidationEnabled);var fieldInlinePredicate=import_shapeshift.s.boolean().optional();var embedFieldPredicate=import_shapeshift.s.object({name:fieldNamePredicate,value:fieldValuePredicate,inline:fieldInlinePredicate}).setValidationEnabled(isValidationEnabled);var embedFieldsArrayPredicate=embedFieldPredicate.array().setValidationEnabled(isValidationEnabled);var fieldLengthPredicate=import_shapeshift.s.number().lessThanOrEqual(25).setValidationEnabled(isValidationEnabled);function validateFieldLength(amountAdding,fields){fieldLengthPredicate.parse(((fields==null?void 0:fields.length)??0)+amountAdding)}__name(validateFieldLength,"validateFieldLength");var authorNamePredicate=fieldNamePredicate.nullable().setValidationEnabled(isValidationEnabled);var imageURLPredicate=import_shapeshift.s.string().url({allowedProtocols:["http:","https:","attachment:"]}).nullish().setValidationEnabled(isValidationEnabled);var urlPredicate=import_shapeshift.s.string().url({allowedProtocols:["http:","https:"]}).nullish().setValidationEnabled(isValidationEnabled);var embedAuthorPredicate=import_shapeshift.s.object({name:authorNamePredicate,iconURL:imageURLPredicate,url:urlPredicate}).setValidationEnabled(isValidationEnabled);var RGBPredicate=import_shapeshift.s.number().int().greaterThanOrEqual(0).lessThanOrEqual(255).setValidationEnabled(isValidationEnabled);var colorPredicate=import_shapeshift.s.number().int().greaterThanOrEqual(0).lessThanOrEqual(16777215).or(import_shapeshift.s.tuple([RGBPredicate,RGBPredicate,RGBPredicate])).nullable().setValidationEnabled(isValidationEnabled);var descriptionPredicate=import_shapeshift.s.string().lengthGreaterThanOrEqual(1).lengthLessThanOrEqual(4096).nullable().setValidationEnabled(isValidationEnabled);var footerTextPredicate=import_shapeshift.s.string().lengthGreaterThanOrEqual(1).lengthLessThanOrEqual(2048).nullable().setValidationEnabled(isValidationEnabled);var embedFooterPredicate=import_shapeshift.s.object({text:footerTextPredicate,iconURL:imageURLPredicate}).setValidationEnabled(isValidationEnabled);var timestampPredicate=import_shapeshift.s.union([import_shapeshift.s.number(),import_shapeshift.s.date()]).nullable().setValidationEnabled(isValidationEnabled);var titlePredicate=fieldNamePredicate.nullable().setValidationEnabled(isValidationEnabled);function normalizeArray(arr){if(Array.isArray(arr[0]))return[...arr[0]];return arr}__name(normalizeArray,"normalizeArray");var _a12;var EmbedBuilder5=(_a12=class{data;constructor(data={}){this.data={...data};if(data.timestamp)this.data.timestamp=new Date(data.timestamp).toISOString()}addFields(...fields){const normalizedFields=normalizeArray(fields);validateFieldLength(normalizedFields.length,this.data.fields);embedFieldsArrayPredicate.parse(normalizedFields);if(this.data.fields)this.data.fields.push(...normalizedFields);else this.data.fields=normalizedFields;return this}spliceFields(index,deleteCount,...fields){validateFieldLength(fields.length-deleteCount,this.data.fields);embedFieldsArrayPredicate.parse(fields);if(this.data.fields)this.data.fields.splice(index,deleteCount,...fields);else this.data.fields=fields;return this}setFields(...fields){var _a40;this.spliceFields(0,((_a40=this.data.fields)==null?void 0:_a40.length)??0,...normalizeArray(fields));return this}setAuthor(options){if(options===null){this.data.author=void 0;return this}embedAuthorPredicate.parse(options);this.data.author={name:options.name,url:options.url,icon_url:options.iconURL};return this}setColor(color){colorPredicate.parse(color);if(Array.isArray(color)){const[red,green,blue]=color;this.data.color=(red<<16)+(green<<8)+blue;return this}this.data.color=color??void 0;return this}setDescription(description){descriptionPredicate.parse(description);this.data.description=description??void 0;return this}setFooter(options){if(options===null){this.data.footer=void 0;return this}embedFooterPredicate.parse(options);this.data.footer={text:options.text,icon_url:options.iconURL};return this}setImage(url){imageURLPredicate.parse(url);this.data.image=url?{url}:void 0;return this}setThumbnail(url){imageURLPredicate.parse(url);this.data.thumbnail=url?{url}:void 0;return this}setTimestamp(timestamp2=Date.now()){timestampPredicate.parse(timestamp2);this.data.timestamp=timestamp2?new Date(timestamp2).toISOString():void 0;return this}setTitle(title){titlePredicate.parse(title);this.data.title=title??void 0;return this}setURL(url){urlPredicate.parse(url);this.data.url=url??void 0;return this}toJSON(){return{...this.data}}},__name(_a12,"EmbedBuilder"),_a12);__reExport(src_exports2,require_dist4(),module2.exports);var Assertions_exports2={};__export2(Assertions_exports2,{buttonLabelValidator:()=>buttonLabelValidator,buttonStyleValidator:()=>buttonStyleValidator,channelTypesValidator:()=>channelTypesValidator,customIdValidator:()=>customIdValidator,defaultValidator:()=>defaultValidator,disabledValidator:()=>disabledValidator,emojiValidator:()=>emojiValidator,jsonOptionValidator:()=>jsonOptionValidator,labelValueDescriptionValidator:()=>labelValueDescriptionValidator,minMaxValidator:()=>minMaxValidator,optionValidator:()=>optionValidator,optionsLengthValidator:()=>optionsLengthValidator,optionsValidator:()=>optionsValidator,placeholderValidator:()=>placeholderValidator,urlValidator:()=>urlValidator,validateRequiredButtonParameters:()=>validateRequiredButtonParameters,validateRequiredSelectMenuOptionParameters:()=>validateRequiredSelectMenuOptionParameters,validateRequiredSelectMenuParameters:()=>validateRequiredSelectMenuParameters});var import_shapeshift2=require_cjs4();var import_v10=require_v106();var _a13;var StringSelectMenuOptionBuilder=(_a13=class{constructor(data={}){this.data=data}setLabel(label){this.data.label=labelValueDescriptionValidator.parse(label);return this}setValue(value){this.data.value=labelValueDescriptionValidator.parse(value);return this}setDescription(description){this.data.description=labelValueDescriptionValidator.parse(description);return this}setDefault(isDefault=true){this.data.default=defaultValidator.parse(isDefault);return this}setEmoji(emoji){this.data.emoji=emojiValidator.parse(emoji);return this}toJSON(){validateRequiredSelectMenuOptionParameters(this.data.label,this.data.value);return{...this.data}}},__name(_a13,"StringSelectMenuOptionBuilder"),_a13);var customIdValidator=import_shapeshift2.s.string().lengthGreaterThanOrEqual(1).lengthLessThanOrEqual(100).setValidationEnabled(isValidationEnabled);var emojiValidator=import_shapeshift2.s.object({id:import_shapeshift2.s.string(),name:import_shapeshift2.s.string(),animated:import_shapeshift2.s.boolean()}).partial().strict().setValidationEnabled(isValidationEnabled);var disabledValidator=import_shapeshift2.s.boolean();var buttonLabelValidator=import_shapeshift2.s.string().lengthGreaterThanOrEqual(1).lengthLessThanOrEqual(80).setValidationEnabled(isValidationEnabled);var buttonStyleValidator=import_shapeshift2.s.nativeEnum(import_v10.ButtonStyle);var placeholderValidator=import_shapeshift2.s.string().lengthLessThanOrEqual(150).setValidationEnabled(isValidationEnabled);var minMaxValidator=import_shapeshift2.s.number().int().greaterThanOrEqual(0).lessThanOrEqual(25).setValidationEnabled(isValidationEnabled);var labelValueDescriptionValidator=import_shapeshift2.s.string().lengthGreaterThanOrEqual(1).lengthLessThanOrEqual(100).setValidationEnabled(isValidationEnabled);var jsonOptionValidator=import_shapeshift2.s.object({label:labelValueDescriptionValidator,value:labelValueDescriptionValidator,description:labelValueDescriptionValidator.optional(),emoji:emojiValidator.optional(),default:import_shapeshift2.s.boolean().optional()}).setValidationEnabled(isValidationEnabled);var optionValidator=import_shapeshift2.s.instance(StringSelectMenuOptionBuilder).setValidationEnabled(isValidationEnabled);var optionsValidator=optionValidator.array().lengthGreaterThanOrEqual(0).setValidationEnabled(isValidationEnabled);var optionsLengthValidator=import_shapeshift2.s.number().int().greaterThanOrEqual(0).lessThanOrEqual(25).setValidationEnabled(isValidationEnabled);function validateRequiredSelectMenuParameters(options,customId){customIdValidator.parse(customId);optionsValidator.parse(options)}__name(validateRequiredSelectMenuParameters,"validateRequiredSelectMenuParameters");var defaultValidator=import_shapeshift2.s.boolean();function validateRequiredSelectMenuOptionParameters(label,value){labelValueDescriptionValidator.parse(label);labelValueDescriptionValidator.parse(value)}__name(validateRequiredSelectMenuOptionParameters,"validateRequiredSelectMenuOptionParameters");var channelTypesValidator=import_shapeshift2.s.nativeEnum(import_v10.ChannelType).array().setValidationEnabled(isValidationEnabled);var urlValidator=import_shapeshift2.s.string().url({allowedProtocols:["http:","https:","discord:"]}).setValidationEnabled(isValidationEnabled);function validateRequiredButtonParameters(style,label,emoji,customId,skuId,url){if(style===import_v10.ButtonStyle.Premium){if(!skuId){throw new RangeError("Premium buttons must have an SKU id.")}if(customId||label||url||emoji){throw new RangeError("Premium buttons cannot have a custom id, label, URL, or emoji.")}}else{if(skuId){throw new RangeError("Non-premium buttons must not have an SKU id.")}if(url&&customId){throw new RangeError("URL and custom id are mutually exclusive.")}if(!label&&!emoji){throw new RangeError("Non-premium buttons must have a label and/or an emoji.")}if(style===import_v10.ButtonStyle.Link){if(!url){throw new RangeError("Link buttons must have a URL.")}}else if(url){throw new RangeError("Non-premium and non-link buttons cannot have a URL.")}}}__name(validateRequiredButtonParameters,"validateRequiredButtonParameters");var import_v1011=require_v106();var _a14;var ComponentBuilder=(_a14=class{data;constructor(data){this.data=data}},__name(_a14,"ComponentBuilder"),_a14);var import_v1010=require_v106();var import_v102=require_v106();var _a15;var ButtonBuilder2=(_a15=class extends ComponentBuilder{constructor(data){super({type:import_v102.ComponentType.Button,...data})}setStyle(style){this.data.style=buttonStyleValidator.parse(style);return this}setURL(url){this.data.url=urlValidator.parse(url);return this}setCustomId(customId){this.data.custom_id=customIdValidator.parse(customId);return this}setSKUId(skuId){this.data.sku_id=skuId;return this}setEmoji(emoji){this.data.emoji=emojiValidator.parse(emoji);return this}setDisabled(disabled=true){this.data.disabled=disabledValidator.parse(disabled);return this}setLabel(label){this.data.label=buttonLabelValidator.parse(label);return this}toJSON(){validateRequiredButtonParameters(this.data.style,this.data.label,this.data.emoji,this.data.custom_id,this.data.sku_id,this.data.url);return{...this.data}}},__name(_a15,"ButtonBuilder"),_a15);var import_v103=require_v106();var _a16;var BaseSelectMenuBuilder=(_a16=class extends ComponentBuilder{setPlaceholder(placeholder){this.data.placeholder=placeholderValidator.parse(placeholder);return this}setMinValues(minValues){this.data.min_values=minMaxValidator.parse(minValues);return this}setMaxValues(maxValues){this.data.max_values=minMaxValidator.parse(maxValues);return this}setCustomId(customId){this.data.custom_id=customIdValidator.parse(customId);return this}setDisabled(disabled=true){this.data.disabled=disabledValidator.parse(disabled);return this}toJSON(){customIdValidator.parse(this.data.custom_id);return{...this.data}}},__name(_a16,"BaseSelectMenuBuilder"),_a16);var _a17;var ChannelSelectMenuBuilder=(_a17=class extends BaseSelectMenuBuilder{constructor(data){super({...data,type:import_v103.ComponentType.ChannelSelect})}addChannelTypes(...types6){const normalizedTypes=normalizeArray(types6);this.data.channel_types??=[];this.data.channel_types.push(...channelTypesValidator.parse(normalizedTypes));return this}setChannelTypes(...types6){const normalizedTypes=normalizeArray(types6);this.data.channel_types??=[];this.data.channel_types.splice(0,this.data.channel_types.length,...channelTypesValidator.parse(normalizedTypes));return this}addDefaultChannels(...channels){var _a40;const normalizedValues=normalizeArray(channels);optionsLengthValidator.parse((((_a40=this.data.default_values)==null?void 0:_a40.length)??0)+normalizedValues.length);this.data.default_values??=[];this.data.default_values.push(...normalizedValues.map(id=>({id,type:import_v103.SelectMenuDefaultValueType.Channel})));return this}setDefaultChannels(...channels){const normalizedValues=normalizeArray(channels);optionsLengthValidator.parse(normalizedValues.length);this.data.default_values=normalizedValues.map(id=>({id,type:import_v103.SelectMenuDefaultValueType.Channel}));return this}toJSON(){customIdValidator.parse(this.data.custom_id);return{...this.data}}},__name(_a17,"ChannelSelectMenuBuilder"),_a17);var import_v104=require_v106();var _a18;var MentionableSelectMenuBuilder=(_a18=class extends BaseSelectMenuBuilder{constructor(data){super({...data,type:import_v104.ComponentType.MentionableSelect})}addDefaultRoles(...roles){var _a40;const normalizedValues=normalizeArray(roles);optionsLengthValidator.parse((((_a40=this.data.default_values)==null?void 0:_a40.length)??0)+normalizedValues.length);this.data.default_values??=[];this.data.default_values.push(...normalizedValues.map(id=>({id,type:import_v104.SelectMenuDefaultValueType.Role})));return this}addDefaultUsers(...users){var _a40;const normalizedValues=normalizeArray(users);optionsLengthValidator.parse((((_a40=this.data.default_values)==null?void 0:_a40.length)??0)+normalizedValues.length);this.data.default_values??=[];this.data.default_values.push(...normalizedValues.map(id=>({id,type:import_v104.SelectMenuDefaultValueType.User})));return this}addDefaultValues(...values2){var _a40;const normalizedValues=normalizeArray(values2);optionsLengthValidator.parse((((_a40=this.data.default_values)==null?void 0:_a40.length)??0)+normalizedValues.length);this.data.default_values??=[];this.data.default_values.push(...normalizedValues);return this}setDefaultValues(...values2){const normalizedValues=normalizeArray(values2);optionsLengthValidator.parse(normalizedValues.length);this.data.default_values=normalizedValues;return this}},__name(_a18,"MentionableSelectMenuBuilder"),_a18);var import_v105=require_v106();var _a19;var RoleSelectMenuBuilder=(_a19=class extends BaseSelectMenuBuilder{constructor(data){super({...data,type:import_v105.ComponentType.RoleSelect})}addDefaultRoles(...roles){var _a40;const normalizedValues=normalizeArray(roles);optionsLengthValidator.parse((((_a40=this.data.default_values)==null?void 0:_a40.length)??0)+normalizedValues.length);this.data.default_values??=[];this.data.default_values.push(...normalizedValues.map(id=>({id,type:import_v105.SelectMenuDefaultValueType.Role})));return this}setDefaultRoles(...roles){const normalizedValues=normalizeArray(roles);optionsLengthValidator.parse(normalizedValues.length);this.data.default_values=normalizedValues.map(id=>({id,type:import_v105.SelectMenuDefaultValueType.Role}));return this}},__name(_a19,"RoleSelectMenuBuilder"),_a19);var import_v106=require_v106();var _a20;var StringSelectMenuBuilder=(_a20=class extends BaseSelectMenuBuilder{options;constructor(data){const{options,...initData}=data??{};super({...initData,type:import_v106.ComponentType.StringSelect});this.options=(options==null?void 0:options.map(option=>new StringSelectMenuOptionBuilder(option)))??[]}addOptions(...options){const normalizedOptions=normalizeArray(options);optionsLengthValidator.parse(this.options.length+normalizedOptions.length);this.options.push(...normalizedOptions.map(normalizedOption=>normalizedOption instanceof StringSelectMenuOptionBuilder?normalizedOption:new StringSelectMenuOptionBuilder(jsonOptionValidator.parse(normalizedOption))));return this}setOptions(...options){return this.spliceOptions(0,this.options.length,...options)}spliceOptions(index,deleteCount,...options){const normalizedOptions=normalizeArray(options);const clone2=[...this.options];clone2.splice(index,deleteCount,...normalizedOptions.map(normalizedOption=>normalizedOption instanceof StringSelectMenuOptionBuilder?normalizedOption:new StringSelectMenuOptionBuilder(jsonOptionValidator.parse(normalizedOption))));optionsLengthValidator.parse(clone2.length);this.options.splice(0,this.options.length,...clone2);return this}toJSON(){validateRequiredSelectMenuParameters(this.options,this.data.custom_id);return{...this.data,options:this.options.map(option=>option.toJSON())}}},__name(_a20,"StringSelectMenuBuilder"),_a20);var import_v107=require_v106();var _a21;var UserSelectMenuBuilder=(_a21=class extends BaseSelectMenuBuilder{constructor(data){super({...data,type:import_v107.ComponentType.UserSelect})}addDefaultUsers(...users){var _a40;const normalizedValues=normalizeArray(users);optionsLengthValidator.parse((((_a40=this.data.default_values)==null?void 0:_a40.length)??0)+normalizedValues.length);this.data.default_values??=[];this.data.default_values.push(...normalizedValues.map(id=>({id,type:import_v107.SelectMenuDefaultValueType.User})));return this}setDefaultUsers(...users){const normalizedValues=normalizeArray(users);optionsLengthValidator.parse(normalizedValues.length);this.data.default_values=normalizedValues.map(id=>({id,type:import_v107.SelectMenuDefaultValueType.User}));return this}},__name(_a21,"UserSelectMenuBuilder"),_a21);var import_util9=require_dist5();var import_v109=require_v106();var import_fast_deep_equal=__toESM2(require_fast_deep_equal());var Assertions_exports3={};__export2(Assertions_exports3,{labelValidator:()=>labelValidator,maxLengthValidator:()=>maxLengthValidator,minLengthValidator:()=>minLengthValidator,placeholderValidator:()=>placeholderValidator2,requiredValidator:()=>requiredValidator,textInputStyleValidator:()=>textInputStyleValidator,validateRequiredParameters:()=>validateRequiredParameters,valueValidator:()=>valueValidator});var import_shapeshift3=require_cjs4();var import_v108=require_v106();var textInputStyleValidator=import_shapeshift3.s.nativeEnum(import_v108.TextInputStyle);var minLengthValidator=import_shapeshift3.s.number().int().greaterThanOrEqual(0).lessThanOrEqual(4e3).setValidationEnabled(isValidationEnabled);var maxLengthValidator=import_shapeshift3.s.number().int().greaterThanOrEqual(1).lessThanOrEqual(4e3).setValidationEnabled(isValidationEnabled);var requiredValidator=import_shapeshift3.s.boolean();var valueValidator=import_shapeshift3.s.string().lengthLessThanOrEqual(4e3).setValidationEnabled(isValidationEnabled);var placeholderValidator2=import_shapeshift3.s.string().lengthLessThanOrEqual(100).setValidationEnabled(isValidationEnabled);var labelValidator=import_shapeshift3.s.string().lengthGreaterThanOrEqual(1).lengthLessThanOrEqual(45).setValidationEnabled(isValidationEnabled);function validateRequiredParameters(customId,style,label){customIdValidator.parse(customId);textInputStyleValidator.parse(style);labelValidator.parse(label)}__name(validateRequiredParameters,"validateRequiredParameters");var _a22;var TextInputBuilder=(_a22=class extends ComponentBuilder{constructor(data){super({type:import_v109.ComponentType.TextInput,...data})}setCustomId(customId){this.data.custom_id=customIdValidator.parse(customId);return this}setLabel(label){this.data.label=labelValidator.parse(label);return this}setStyle(style){this.data.style=textInputStyleValidator.parse(style);return this}setMinLength(minLength){this.data.min_length=minLengthValidator.parse(minLength);return this}setMaxLength(maxLength){this.data.max_length=maxLengthValidator.parse(maxLength);return this}setPlaceholder(placeholder){this.data.placeholder=placeholderValidator2.parse(placeholder);return this}setValue(value){this.data.value=valueValidator.parse(value);return this}setRequired(required=true){this.data.required=requiredValidator.parse(required);return this}toJSON(){validateRequiredParameters(this.data.custom_id,this.data.style,this.data.label);return{...this.data}}equals(other){if((0,import_util9.isJSONEncodable)(other)){return(0,import_fast_deep_equal.default)(other.toJSON(),this.data)}return(0,import_fast_deep_equal.default)(other,this.data)}},__name(_a22,"TextInputBuilder"),_a22);function createComponentBuilder(data){if(data instanceof ComponentBuilder){return data}switch(data.type){case import_v1010.ComponentType.ActionRow:return new ActionRowBuilder2(data);case import_v1010.ComponentType.Button:return new ButtonBuilder2(data);case import_v1010.ComponentType.StringSelect:return new StringSelectMenuBuilder(data);case import_v1010.ComponentType.TextInput:return new TextInputBuilder(data);case import_v1010.ComponentType.UserSelect:return new UserSelectMenuBuilder(data);case import_v1010.ComponentType.RoleSelect:return new RoleSelectMenuBuilder(data);case import_v1010.ComponentType.MentionableSelect:return new MentionableSelectMenuBuilder(data);case import_v1010.ComponentType.ChannelSelect:return new ChannelSelectMenuBuilder(data);default:throw new Error(`Cannot properly serialize component type: ${data.type}`)}}__name(createComponentBuilder,"createComponentBuilder");var _a23;var ActionRowBuilder2=(_a23=class extends ComponentBuilder{components;constructor({components,...data}={}){super({type:import_v1011.ComponentType.ActionRow,...data});this.components=(components==null?void 0:components.map(component=>createComponentBuilder(component)))??[]}addComponents(...components){this.components.push(...normalizeArray(components));return this}setComponents(...components){this.components.splice(0,this.components.length,...normalizeArray(components));return this}toJSON(){return{...this.data,components:this.components.map(component=>component.toJSON())}}},__name(_a23,"ActionRowBuilder"),_a23);var Assertions_exports4={};__export2(Assertions_exports4,{componentsValidator:()=>componentsValidator,titleValidator:()=>titleValidator,validateRequiredParameters:()=>validateRequiredParameters2});var import_shapeshift4=require_cjs4();var titleValidator=import_shapeshift4.s.string().lengthGreaterThanOrEqual(1).lengthLessThanOrEqual(45).setValidationEnabled(isValidationEnabled);var componentsValidator=import_shapeshift4.s.instance(ActionRowBuilder2).array().lengthGreaterThanOrEqual(1).setValidationEnabled(isValidationEnabled);function validateRequiredParameters2(customId,title,components){customIdValidator.parse(customId);titleValidator.parse(title);componentsValidator.parse(components)}__name(validateRequiredParameters2,"validateRequiredParameters");var _a24;var ModalBuilder=(_a24=class{data;components=[];constructor({components,...data}={}){this.data={...data};this.components=(components==null?void 0:components.map(component=>createComponentBuilder(component)))??[]}setTitle(title){this.data.title=titleValidator.parse(title);return this}setCustomId(customId){this.data.custom_id=customIdValidator.parse(customId);return this}addComponents(...components){this.components.push(...normalizeArray(components).map(component=>component instanceof ActionRowBuilder2?component:new ActionRowBuilder2(component)));return this}setComponents(...components){this.components.splice(0,this.components.length,...normalizeArray(components));return this}toJSON(){validateRequiredParameters2(this.data.custom_id,this.data.title,this.components);return{...this.data,components:this.components.map(component=>component.toJSON())}}},__name(_a24,"ModalBuilder"),_a24);var Assertions_exports5={};__export2(Assertions_exports5,{assertReturnOfBuilder:()=>assertReturnOfBuilder,contextsPredicate:()=>contextsPredicate,integrationTypesPredicate:()=>integrationTypesPredicate,localizationMapPredicate:()=>localizationMapPredicate,validateChoicesLength:()=>validateChoicesLength,validateDMPermission:()=>validateDMPermission,validateDefaultMemberPermissions:()=>validateDefaultMemberPermissions,validateDefaultPermission:()=>validateDefaultPermission,validateDescription:()=>validateDescription,validateLocale:()=>validateLocale,validateLocalizationMap:()=>validateLocalizationMap,validateMaxOptionsLength:()=>validateMaxOptionsLength,validateNSFW:()=>validateNSFW,validateName:()=>validateName,validateRequired:()=>validateRequired,validateRequiredParameters:()=>validateRequiredParameters3});var import_shapeshift5=require_cjs4();var import_v1012=require_v106();var namePredicate=import_shapeshift5.s.string().lengthGreaterThanOrEqual(1).lengthLessThanOrEqual(32).regex(/^[\p{Ll}\p{Lm}\p{Lo}\p{N}\p{sc=Devanagari}\p{sc=Thai}_-]+$/u).setValidationEnabled(isValidationEnabled);function validateName(name){namePredicate.parse(name)}__name(validateName,"validateName");var descriptionPredicate2=import_shapeshift5.s.string().lengthGreaterThanOrEqual(1).lengthLessThanOrEqual(100).setValidationEnabled(isValidationEnabled);var localePredicate=import_shapeshift5.s.nativeEnum(import_v1012.Locale);function validateDescription(description){descriptionPredicate2.parse(description)}__name(validateDescription,"validateDescription");var maxArrayLengthPredicate=import_shapeshift5.s.unknown().array().lengthLessThanOrEqual(25).setValidationEnabled(isValidationEnabled);function validateLocale(locale){return localePredicate.parse(locale)}__name(validateLocale,"validateLocale");function validateMaxOptionsLength(options){maxArrayLengthPredicate.parse(options)}__name(validateMaxOptionsLength,"validateMaxOptionsLength");function validateRequiredParameters3(name,description,options){validateName(name);validateDescription(description);validateMaxOptionsLength(options)}__name(validateRequiredParameters3,"validateRequiredParameters");var booleanPredicate=import_shapeshift5.s.boolean();function validateDefaultPermission(value){booleanPredicate.parse(value)}__name(validateDefaultPermission,"validateDefaultPermission");function validateRequired(required){booleanPredicate.parse(required)}__name(validateRequired,"validateRequired");var choicesLengthPredicate=import_shapeshift5.s.number().lessThanOrEqual(25).setValidationEnabled(isValidationEnabled);function validateChoicesLength(amountAdding,choices){choicesLengthPredicate.parse(((choices==null?void 0:choices.length)??0)+amountAdding)}__name(validateChoicesLength,"validateChoicesLength");function assertReturnOfBuilder(input,ExpectedInstanceOf){import_shapeshift5.s.instance(ExpectedInstanceOf).parse(input)}__name(assertReturnOfBuilder,"assertReturnOfBuilder");var localizationMapPredicate=import_shapeshift5.s.object(Object.fromEntries(Object.values(import_v1012.Locale).map(locale=>[locale,import_shapeshift5.s.string().nullish()]))).strict().nullish().setValidationEnabled(isValidationEnabled);function validateLocalizationMap(value){localizationMapPredicate.parse(value)}__name(validateLocalizationMap,"validateLocalizationMap");var dmPermissionPredicate=import_shapeshift5.s.boolean().nullish();function validateDMPermission(value){dmPermissionPredicate.parse(value)}__name(validateDMPermission,"validateDMPermission");var memberPermissionPredicate=import_shapeshift5.s.union([import_shapeshift5.s.bigint().transform(value=>value.toString()),import_shapeshift5.s.number().safeInt().transform(value=>value.toString()),import_shapeshift5.s.string().regex(/^\d+$/)]).nullish();function validateDefaultMemberPermissions(permissions){return memberPermissionPredicate.parse(permissions)}__name(validateDefaultMemberPermissions,"validateDefaultMemberPermissions");function validateNSFW(value){booleanPredicate.parse(value)}__name(validateNSFW,"validateNSFW");var contextsPredicate=import_shapeshift5.s.array(import_shapeshift5.s.nativeEnum(import_v1012.InteractionContextType).setValidationEnabled(isValidationEnabled));var integrationTypesPredicate=import_shapeshift5.s.array(import_shapeshift5.s.nativeEnum(import_v1012.ApplicationIntegrationType).setValidationEnabled(isValidationEnabled));var import_ts_mixer6=require_cjs5();var _a25;var SharedNameAndDescription=(_a25=class{name;name_localizations;description;description_localizations;setName(name){validateName(name);Reflect.set(this,"name",name);return this}setDescription(description){validateDescription(description);Reflect.set(this,"description",description);return this}setNameLocalization(locale,localizedName){if(!this.name_localizations){Reflect.set(this,"name_localizations",{})}const parsedLocale=validateLocale(locale);if(localizedName===null){this.name_localizations[parsedLocale]=null;return this}validateName(localizedName);this.name_localizations[parsedLocale]=localizedName;return this}setNameLocalizations(localizedNames){if(localizedNames===null){Reflect.set(this,"name_localizations",null);return this}Reflect.set(this,"name_localizations",{});for(const args2 of Object.entries(localizedNames)){this.setNameLocalization(...args2)}return this}setDescriptionLocalization(locale,localizedDescription){if(!this.description_localizations){Reflect.set(this,"description_localizations",{})}const parsedLocale=validateLocale(locale);if(localizedDescription===null){this.description_localizations[parsedLocale]=null;return this}validateDescription(localizedDescription);this.description_localizations[parsedLocale]=localizedDescription;return this}setDescriptionLocalizations(localizedDescriptions){if(localizedDescriptions===null){Reflect.set(this,"description_localizations",null);return this}Reflect.set(this,"description_localizations",{});for(const args2 of Object.entries(localizedDescriptions)){this.setDescriptionLocalization(...args2)}return this}},__name(_a25,"SharedNameAndDescription"),_a25);var import_v1013=require_v106();var _a26;var SharedSlashCommand=(_a26=class{name=void 0;name_localizations;description=void 0;description_localizations;options=[];contexts;default_permission=void 0;default_member_permissions=void 0;dm_permission=void 0;integration_types;nsfw=void 0;setContexts(...contexts){Reflect.set(this,"contexts",contextsPredicate.parse(normalizeArray(contexts)));return this}setIntegrationTypes(...integrationTypes){Reflect.set(this,"integration_types",integrationTypesPredicate.parse(normalizeArray(integrationTypes)));return this}setDefaultPermission(value){validateDefaultPermission(value);Reflect.set(this,"default_permission",value);return this}setDefaultMemberPermissions(permissions){const permissionValue=validateDefaultMemberPermissions(permissions);Reflect.set(this,"default_member_permissions",permissionValue);return this}setDMPermission(enabled3){validateDMPermission(enabled3);Reflect.set(this,"dm_permission",enabled3);return this}setNSFW(nsfw=true){validateNSFW(nsfw);Reflect.set(this,"nsfw",nsfw);return this}toJSON(){validateRequiredParameters3(this.name,this.description,this.options);validateLocalizationMap(this.name_localizations);validateLocalizationMap(this.description_localizations);return{...this,type:import_v1013.ApplicationCommandType.ChatInput,options:this.options.map(option=>option.toJSON())}}},__name(_a26,"SharedSlashCommand"),_a26);var import_v1014=require_v106();var _a27;var ApplicationCommandOptionBase=(_a27=class extends SharedNameAndDescription{required=false;setRequired(required){validateRequired(required);Reflect.set(this,"required",required);return this}runRequiredValidations(){validateRequiredParameters3(this.name,this.description,[]);validateLocalizationMap(this.name_localizations);validateLocalizationMap(this.description_localizations);validateRequired(this.required)}},__name(_a27,"ApplicationCommandOptionBase"),_a27);var _a28;var SlashCommandAttachmentOption=(_a28=class extends ApplicationCommandOptionBase{type=import_v1014.ApplicationCommandOptionType.Attachment;toJSON(){this.runRequiredValidations();return{...this}}},__name(_a28,"SlashCommandAttachmentOption"),_a28);var import_v1015=require_v106();var _a29;var SlashCommandBooleanOption=(_a29=class extends ApplicationCommandOptionBase{type=import_v1015.ApplicationCommandOptionType.Boolean;toJSON(){this.runRequiredValidations();return{...this}}},__name(_a29,"SlashCommandBooleanOption"),_a29);var import_v1017=require_v106();var import_ts_mixer=require_cjs5();var import_shapeshift6=require_cjs4();var import_v1016=require_v106();var allowedChannelTypes=[import_v1016.ChannelType.GuildText,import_v1016.ChannelType.GuildVoice,import_v1016.ChannelType.GuildCategory,import_v1016.ChannelType.GuildAnnouncement,import_v1016.ChannelType.AnnouncementThread,import_v1016.ChannelType.PublicThread,import_v1016.ChannelType.PrivateThread,import_v1016.ChannelType.GuildStageVoice,import_v1016.ChannelType.GuildForum,import_v1016.ChannelType.GuildMedia];var channelTypesPredicate=import_shapeshift6.s.array(import_shapeshift6.s.union(allowedChannelTypes.map(type2=>import_shapeshift6.s.literal(type2))));var _a30;var ApplicationCommandOptionChannelTypesMixin=(_a30=class{channel_types;addChannelTypes(...channelTypes){if(this.channel_types===void 0){Reflect.set(this,"channel_types",[])}this.channel_types.push(...channelTypesPredicate.parse(normalizeArray(channelTypes)));return this}},__name(_a30,"ApplicationCommandOptionChannelTypesMixin"),_a30);var SlashCommandChannelOption=class extends ApplicationCommandOptionBase{type=import_v1017.ApplicationCommandOptionType.Channel;toJSON(){this.runRequiredValidations();return{...this}}};__name(SlashCommandChannelOption,"SlashCommandChannelOption");SlashCommandChannelOption=__decorateClass([(0,import_ts_mixer.mix)(ApplicationCommandOptionChannelTypesMixin)],SlashCommandChannelOption);var import_shapeshift9=require_cjs4();var import_v1019=require_v106();var import_ts_mixer2=require_cjs5();var _a31;var ApplicationCommandNumericOptionMinMaxValueMixin=(_a31=class{max_value;min_value},__name(_a31,"ApplicationCommandNumericOptionMinMaxValueMixin"),_a31);var import_shapeshift7=require_cjs4();var booleanPredicate2=import_shapeshift7.s.boolean();var _a32;var ApplicationCommandOptionWithAutocompleteMixin=(_a32=class{autocomplete;type;setAutocomplete(autocomplete){booleanPredicate2.parse(autocomplete);if(autocomplete&&"choices"in this&&Array.isArray(this.choices)&&this.choices.length>0){throw new RangeError("Autocomplete and choices are mutually exclusive to each other.")}Reflect.set(this,"autocomplete",autocomplete);return this}},__name(_a32,"ApplicationCommandOptionWithAutocompleteMixin"),_a32);var import_shapeshift8=require_cjs4();var import_v1018=require_v106();var stringPredicate=import_shapeshift8.s.string().lengthGreaterThanOrEqual(1).lengthLessThanOrEqual(100);var numberPredicate=import_shapeshift8.s.number().greaterThan(Number.NEGATIVE_INFINITY).lessThan(Number.POSITIVE_INFINITY);var choicesPredicate=import_shapeshift8.s.object({name:stringPredicate,name_localizations:localizationMapPredicate,value:import_shapeshift8.s.union([stringPredicate,numberPredicate])}).array();var _a33;var ApplicationCommandOptionWithChoicesMixin=(_a33=class{choices;type;addChoices(...choices){const normalizedChoices=normalizeArray(choices);if(normalizedChoices.length>0&&"autocomplete"in this&&this.autocomplete){throw new RangeError("Autocomplete and choices are mutually exclusive to each other.")}choicesPredicate.parse(normalizedChoices);if(this.choices===void 0){Reflect.set(this,"choices",[])}validateChoicesLength(normalizedChoices.length,this.choices);for(const{name,name_localizations,value}of normalizedChoices){if(this.type===import_v1018.ApplicationCommandOptionType.String){stringPredicate.parse(value)}else{numberPredicate.parse(value)}this.choices.push({name,name_localizations,value})}return this}setChoices(...choices){const normalizedChoices=normalizeArray(choices);if(normalizedChoices.length>0&&"autocomplete"in this&&this.autocomplete){throw new RangeError("Autocomplete and choices are mutually exclusive to each other.")}choicesPredicate.parse(normalizedChoices);Reflect.set(this,"choices",[]);this.addChoices(normalizedChoices);return this}},__name(_a33,"ApplicationCommandOptionWithChoicesMixin"),_a33);var numberValidator=import_shapeshift9.s.number().int();var SlashCommandIntegerOption=class extends ApplicationCommandOptionBase{type=import_v1019.ApplicationCommandOptionType.Integer;setMaxValue(max3){numberValidator.parse(max3);Reflect.set(this,"max_value",max3);return this}setMinValue(min3){numberValidator.parse(min3);Reflect.set(this,"min_value",min3);return this}toJSON(){this.runRequiredValidations();if(this.autocomplete&&Array.isArray(this.choices)&&this.choices.length>0){throw new RangeError("Autocomplete and choices are mutually exclusive to each other.")}return{...this}}};__name(SlashCommandIntegerOption,"SlashCommandIntegerOption");SlashCommandIntegerOption=__decorateClass([(0,import_ts_mixer2.mix)(ApplicationCommandNumericOptionMinMaxValueMixin,ApplicationCommandOptionWithAutocompleteMixin,ApplicationCommandOptionWithChoicesMixin)],SlashCommandIntegerOption);var import_v1020=require_v106();var _a34;var SlashCommandMentionableOption=(_a34=class extends ApplicationCommandOptionBase{type=import_v1020.ApplicationCommandOptionType.Mentionable;toJSON(){this.runRequiredValidations();return{...this}}},__name(_a34,"SlashCommandMentionableOption"),_a34);var import_shapeshift10=require_cjs4();var import_v1021=require_v106();var import_ts_mixer3=require_cjs5();var numberValidator2=import_shapeshift10.s.number();var SlashCommandNumberOption=class extends ApplicationCommandOptionBase{type=import_v1021.ApplicationCommandOptionType.Number;setMaxValue(max3){numberValidator2.parse(max3);Reflect.set(this,"max_value",max3);return this}setMinValue(min3){numberValidator2.parse(min3);Reflect.set(this,"min_value",min3);return this}toJSON(){this.runRequiredValidations();if(this.autocomplete&&Array.isArray(this.choices)&&this.choices.length>0){throw new RangeError("Autocomplete and choices are mutually exclusive to each other.")}return{...this}}};__name(SlashCommandNumberOption,"SlashCommandNumberOption");SlashCommandNumberOption=__decorateClass([(0,import_ts_mixer3.mix)(ApplicationCommandNumericOptionMinMaxValueMixin,ApplicationCommandOptionWithAutocompleteMixin,ApplicationCommandOptionWithChoicesMixin)],SlashCommandNumberOption);var import_v1022=require_v106();var _a35;var SlashCommandRoleOption=(_a35=class extends ApplicationCommandOptionBase{type=import_v1022.ApplicationCommandOptionType.Role;toJSON(){this.runRequiredValidations();return{...this}}},__name(_a35,"SlashCommandRoleOption"),_a35);var import_shapeshift11=require_cjs4();var import_v1023=require_v106();var import_ts_mixer4=require_cjs5();var minLengthValidator2=import_shapeshift11.s.number().greaterThanOrEqual(0).lessThanOrEqual(6e3);var maxLengthValidator2=import_shapeshift11.s.number().greaterThanOrEqual(1).lessThanOrEqual(6e3);var SlashCommandStringOption=class extends ApplicationCommandOptionBase{type=import_v1023.ApplicationCommandOptionType.String;max_length;min_length;setMaxLength(max3){maxLengthValidator2.parse(max3);Reflect.set(this,"max_length",max3);return this}setMinLength(min3){minLengthValidator2.parse(min3);Reflect.set(this,"min_length",min3);return this}toJSON(){this.runRequiredValidations();if(this.autocomplete&&Array.isArray(this.choices)&&this.choices.length>0){throw new RangeError("Autocomplete and choices are mutually exclusive to each other.")}return{...this}}};__name(SlashCommandStringOption,"SlashCommandStringOption");SlashCommandStringOption=__decorateClass([(0,import_ts_mixer4.mix)(ApplicationCommandOptionWithAutocompleteMixin,ApplicationCommandOptionWithChoicesMixin)],SlashCommandStringOption);var import_v1024=require_v106();var _a36;var SlashCommandUserOption=(_a36=class extends ApplicationCommandOptionBase{type=import_v1024.ApplicationCommandOptionType.User;toJSON(){this.runRequiredValidations();return{...this}}},__name(_a36,"SlashCommandUserOption"),_a36);var _a37;var SharedSlashCommandOptions=(_a37=class{options;addBooleanOption(input){return this._sharedAddOptionMethod(input,SlashCommandBooleanOption)}addUserOption(input){return this._sharedAddOptionMethod(input,SlashCommandUserOption)}addChannelOption(input){return this._sharedAddOptionMethod(input,SlashCommandChannelOption)}addRoleOption(input){return this._sharedAddOptionMethod(input,SlashCommandRoleOption)}addAttachmentOption(input){return this._sharedAddOptionMethod(input,SlashCommandAttachmentOption)}addMentionableOption(input){return this._sharedAddOptionMethod(input,SlashCommandMentionableOption)}addStringOption(input){return this._sharedAddOptionMethod(input,SlashCommandStringOption)}addIntegerOption(input){return this._sharedAddOptionMethod(input,SlashCommandIntegerOption)}addNumberOption(input){return this._sharedAddOptionMethod(input,SlashCommandNumberOption)}_sharedAddOptionMethod(input,Instance){const{options}=this;validateMaxOptionsLength(options);const result2=typeof input==="function"?input(new Instance):input;assertReturnOfBuilder(result2,Instance);options.push(result2);return this}},__name(_a37,"SharedSlashCommandOptions"),_a37);var import_v1025=require_v106();var import_ts_mixer5=require_cjs5();var SlashCommandSubcommandGroupBuilder=class{name=void 0;description=void 0;options=[];addSubcommand(input){const{options}=this;validateMaxOptionsLength(options);const result2=typeof input==="function"?input(new SlashCommandSubcommandBuilder):input;assertReturnOfBuilder(result2,SlashCommandSubcommandBuilder);options.push(result2);return this}toJSON(){validateRequiredParameters3(this.name,this.description,this.options);return{type:import_v1025.ApplicationCommandOptionType.SubcommandGroup,name:this.name,name_localizations:this.name_localizations,description:this.description,description_localizations:this.description_localizations,options:this.options.map(option=>option.toJSON())}}};__name(SlashCommandSubcommandGroupBuilder,"SlashCommandSubcommandGroupBuilder");SlashCommandSubcommandGroupBuilder=__decorateClass([(0,import_ts_mixer5.mix)(SharedNameAndDescription)],SlashCommandSubcommandGroupBuilder);var SlashCommandSubcommandBuilder=class{name=void 0;description=void 0;options=[];toJSON(){validateRequiredParameters3(this.name,this.description,this.options);return{type:import_v1025.ApplicationCommandOptionType.Subcommand,name:this.name,name_localizations:this.name_localizations,description:this.description,description_localizations:this.description_localizations,options:this.options.map(option=>option.toJSON())}}};__name(SlashCommandSubcommandBuilder,"SlashCommandSubcommandBuilder");SlashCommandSubcommandBuilder=__decorateClass([(0,import_ts_mixer5.mix)(SharedNameAndDescription,SharedSlashCommandOptions)],SlashCommandSubcommandBuilder);var _a38;var SharedSlashCommandSubcommands=(_a38=class{options=[];addSubcommandGroup(input){const{options}=this;validateMaxOptionsLength(options);const result2=typeof input==="function"?input(new SlashCommandSubcommandGroupBuilder):input;assertReturnOfBuilder(result2,SlashCommandSubcommandGroupBuilder);options.push(result2);return this}addSubcommand(input){const{options}=this;validateMaxOptionsLength(options);const result2=typeof input==="function"?input(new SlashCommandSubcommandBuilder):input;assertReturnOfBuilder(result2,SlashCommandSubcommandBuilder);options.push(result2);return this}},__name(_a38,"SharedSlashCommandSubcommands"),_a38);var SlashCommandBuilder=class{name=void 0;name_localizations;description=void 0;description_localizations;options=[];contexts;default_permission=void 0;default_member_permissions=void 0;dm_permission=void 0;integration_types;nsfw=void 0};__name(SlashCommandBuilder,"SlashCommandBuilder");SlashCommandBuilder=__decorateClass([(0,import_ts_mixer6.mix)(SharedSlashCommandOptions,SharedNameAndDescription,SharedSlashCommandSubcommands,SharedSlashCommand)],SlashCommandBuilder);var Assertions_exports6={};__export2(Assertions_exports6,{contextsPredicate:()=>contextsPredicate2,integrationTypesPredicate:()=>integrationTypesPredicate2,validateDMPermission:()=>validateDMPermission2,validateDefaultMemberPermissions:()=>validateDefaultMemberPermissions2,validateDefaultPermission:()=>validateDefaultPermission2,validateName:()=>validateName2,validateRequiredParameters:()=>validateRequiredParameters4,validateType:()=>validateType});var import_shapeshift12=require_cjs4();var import_v1026=require_v106();var namePredicate2=import_shapeshift12.s.string().lengthGreaterThanOrEqual(1).lengthLessThanOrEqual(32).regex(/^( *[\p{P}\p{L}\p{N}\p{sc=Devanagari}\p{sc=Thai}]+ *)+$/u).setValidationEnabled(isValidationEnabled);var typePredicate=import_shapeshift12.s.union([import_shapeshift12.s.literal(import_v1026.ApplicationCommandType.User),import_shapeshift12.s.literal(import_v1026.ApplicationCommandType.Message)]).setValidationEnabled(isValidationEnabled);var booleanPredicate3=import_shapeshift12.s.boolean();function validateDefaultPermission2(value){booleanPredicate3.parse(value)}__name(validateDefaultPermission2,"validateDefaultPermission");function validateName2(name){namePredicate2.parse(name)}__name(validateName2,"validateName");function validateType(type2){typePredicate.parse(type2)}__name(validateType,"validateType");function validateRequiredParameters4(name,type2){validateName2(name);validateType(type2)}__name(validateRequiredParameters4,"validateRequiredParameters");var dmPermissionPredicate2=import_shapeshift12.s.boolean().nullish();function validateDMPermission2(value){dmPermissionPredicate2.parse(value)}__name(validateDMPermission2,"validateDMPermission");var memberPermissionPredicate2=import_shapeshift12.s.union([import_shapeshift12.s.bigint().transform(value=>value.toString()),import_shapeshift12.s.number().safeInt().transform(value=>value.toString()),import_shapeshift12.s.string().regex(/^\d+$/)]).nullish();function validateDefaultMemberPermissions2(permissions){return memberPermissionPredicate2.parse(permissions)}__name(validateDefaultMemberPermissions2,"validateDefaultMemberPermissions");var contextsPredicate2=import_shapeshift12.s.array(import_shapeshift12.s.nativeEnum(import_v1026.InteractionContextType).setValidationEnabled(isValidationEnabled));var integrationTypesPredicate2=import_shapeshift12.s.array(import_shapeshift12.s.nativeEnum(import_v1026.ApplicationIntegrationType).setValidationEnabled(isValidationEnabled));var _a39;var ContextMenuCommandBuilder=(_a39=class{name=void 0;name_localizations;type=void 0;contexts;default_permission=void 0;default_member_permissions=void 0;dm_permission=void 0;integration_types;setContexts(...contexts){Reflect.set(this,"contexts",contextsPredicate2.parse(normalizeArray(contexts)));return this}setIntegrationTypes(...integrationTypes){Reflect.set(this,"integration_types",integrationTypesPredicate2.parse(normalizeArray(integrationTypes)));return this}setName(name){validateName2(name);Reflect.set(this,"name",name);return this}setType(type2){validateType(type2);Reflect.set(this,"type",type2);return this}setDefaultPermission(value){validateDefaultPermission2(value);Reflect.set(this,"default_permission",value);return this}setDefaultMemberPermissions(permissions){const permissionValue=validateDefaultMemberPermissions2(permissions);Reflect.set(this,"default_member_permissions",permissionValue);return this}setDMPermission(enabled3){validateDMPermission2(enabled3);Reflect.set(this,"dm_permission",enabled3);return this}setNameLocalization(locale,localizedName){if(!this.name_localizations){Reflect.set(this,"name_localizations",{})}const parsedLocale=validateLocale(locale);if(localizedName===null){this.name_localizations[parsedLocale]=null;return this}validateName2(localizedName);this.name_localizations[parsedLocale]=localizedName;return this}setNameLocalizations(localizedNames){if(localizedNames===null){Reflect.set(this,"name_localizations",null);return this}Reflect.set(this,"name_localizations",{});for(const args2 of Object.entries(localizedNames))this.setNameLocalization(...args2);return this}toJSON(){validateRequiredParameters4(this.name,this.type);validateLocalizationMap(this.name_localizations);return{...this}}},__name(_a39,"ContextMenuCommandBuilder"),_a39);function embedLength(data){var _a40,_b2,_c,_d,_e;return(((_a40=data.title)==null?void 0:_a40.length)??0)+(((_b2=data.description)==null?void 0:_b2.length)??0)+(((_c=data.fields)==null?void 0:_c.reduce((prev,curr)=>prev+curr.name.length+curr.value.length,0))??0)+(((_d=data.footer)==null?void 0:_d.text.length)??0)+(((_e=data.author)==null?void 0:_e.name.length)??0)}__name(embedLength,"embedLength");var version="1.10.0"}});var require_Base=__commonJS({"node_modules/discord.js/src/structures/Base.js"(exports2,module2){"use strict";var{flatten:flatten2}=require_Util();var Base=class{constructor(client){Object.defineProperty(this,"client",{value:client})}_clone(){return Object.assign(Object.create(this),this)}_patch(data){return data}_update(data){const clone2=this._clone();this._patch(data);return clone2}toJSON(...props){return flatten2(this,...props)}valueOf(){return this.id}};module2.exports=Base}});var require_BitField=__commonJS({"node_modules/discord.js/src/util/BitField.js"(exports2,module2){"use strict";var{DiscordjsRangeError:DiscordjsRangeError2,ErrorCodes:ErrorCodes2}=require_errors6();var BitField=class _BitField{static Flags={};static DefaultBit=0;constructor(bits=this.constructor.DefaultBit){this.bitfield=this.constructor.resolve(bits)}any(bit){return(this.bitfield&this.constructor.resolve(bit))!==this.constructor.DefaultBit}equals(bit){return this.bitfield===this.constructor.resolve(bit)}has(bit){bit=this.constructor.resolve(bit);return(this.bitfield&bit)===bit}missing(bits,...hasParams){return new this.constructor(bits).remove(this).toArray(...hasParams)}freeze(){return Object.freeze(this)}add(...bits){let total=this.constructor.DefaultBit;for(const bit of bits){total|=this.constructor.resolve(bit)}if(Object.isFrozen(this))return new this.constructor(this.bitfield|total);this.bitfield|=total;return this}remove(...bits){let total=this.constructor.DefaultBit;for(const bit of bits){total|=this.constructor.resolve(bit)}if(Object.isFrozen(this))return new this.constructor(this.bitfield&~total);this.bitfield&=~total;return this}serialize(...hasParams){const serialized={};for(const[flag,bit]of Object.entries(this.constructor.Flags)){if(isNaN(flag))serialized[flag]=this.has(bit,...hasParams)}return serialized}toArray(...hasParams){return[...this[Symbol.iterator](...hasParams)]}toJSON(){return typeof this.bitfield==="number"?this.bitfield:this.bitfield.toString()}valueOf(){return this.bitfield}*[Symbol.iterator](...hasParams){for(const bitName of Object.keys(this.constructor.Flags)){if(isNaN(bitName)&&this.has(bitName,...hasParams))yield bitName}}static resolve(bit){const{DefaultBit}=this;if(typeof DefaultBit===typeof bit&&bit>=DefaultBit)return bit;if(bit instanceof _BitField)return bit.bitfield;if(Array.isArray(bit))return bit.map(p=>this.resolve(p)).reduce((prev,p)=>prev|p,DefaultBit);if(typeof bit==="string"){if(!isNaN(bit))return typeof DefaultBit==="bigint"?BigInt(bit):Number(bit);if(this.Flags[bit]!==void 0)return this.Flags[bit]}throw new DiscordjsRangeError2(ErrorCodes2.BitFieldInvalid,bit)}};module2.exports=BitField}});var require_ChannelFlagsBitField=__commonJS({"node_modules/discord.js/src/util/ChannelFlagsBitField.js"(exports2,module2){"use strict";var{ChannelFlags}=require_v106();var BitField=require_BitField();var ChannelFlagsBitField=class extends BitField{static Flags=ChannelFlags};module2.exports=ChannelFlagsBitField}});var require_Constants=__commonJS({"node_modules/discord.js/src/util/Constants.js"(exports2){"use strict";var{ChannelType:ChannelType3,MessageType,ComponentType,ImageFormat,StickerFormatType}=require_v106();exports2.MaxBulkDeletableMessageAge=12096e5;exports2.SweeperKeys=["autoModerationRules","applicationCommands","bans","emojis","invites","guildMembers","messages","presences","reactions","stageInstances","stickers","threadMembers","threads","users","voiceStates"];exports2.NonSystemMessageTypes=[MessageType.Default,MessageType.Reply,MessageType.ChatInputCommand,MessageType.ContextMenuCommand];exports2.GuildTextBasedChannelTypes=[ChannelType3.GuildText,ChannelType3.GuildAnnouncement,ChannelType3.AnnouncementThread,ChannelType3.PublicThread,ChannelType3.PrivateThread,ChannelType3.GuildVoice,ChannelType3.GuildStageVoice];exports2.TextBasedChannelTypes=[...exports2.GuildTextBasedChannelTypes,ChannelType3.DM];exports2.ThreadChannelTypes=[ChannelType3.AnnouncementThread,ChannelType3.PublicThread,ChannelType3.PrivateThread];exports2.VoiceBasedChannelTypes=[ChannelType3.GuildVoice,ChannelType3.GuildStageVoice];exports2.SelectMenuTypes=[ComponentType.StringSelect,ComponentType.UserSelect,ComponentType.RoleSelect,ComponentType.MentionableSelect,ComponentType.ChannelSelect];exports2.DeletableMessageTypes=[MessageType.AutoModerationAction,MessageType.ChannelFollowAdd,MessageType.ChannelPinnedMessage,MessageType.ChatInputCommand,MessageType.ContextMenuCommand,MessageType.Default,MessageType.GuildBoost,MessageType.GuildBoostTier1,MessageType.GuildBoostTier2,MessageType.GuildBoostTier3,MessageType.GuildInviteReminder,MessageType.InteractionPremiumUpsell,MessageType.Reply,MessageType.RoleSubscriptionPurchase,MessageType.StageEnd,MessageType.StageRaiseHand,MessageType.StageSpeaker,MessageType.StageStart,MessageType.StageTopic,MessageType.ThreadCreated,MessageType.UserJoin];exports2.StickerFormatExtensionMap={[StickerFormatType.PNG]:ImageFormat.PNG,[StickerFormatType.APNG]:ImageFormat.PNG,[StickerFormatType.Lottie]:ImageFormat.Lottie,[StickerFormatType.GIF]:ImageFormat.GIF}}});var require_BaseChannel=__commonJS({"node_modules/discord.js/src/structures/BaseChannel.js"(exports2){"use strict";var{channelLink}=require_dist6();var{DiscordSnowflake}=require_cjs2();var{ChannelType:ChannelType3,Routes:Routes2}=require_v106();var Base=require_Base();var ChannelFlagsBitField=require_ChannelFlagsBitField();var{ThreadChannelTypes}=require_Constants();var BaseChannel=class extends Base{constructor(client,data,immediatePatch=true){super(client);this.type=data.type;if(data&&immediatePatch)this._patch(data)}_patch(data){if("flags"in data){this.flags=new ChannelFlagsBitField(data.flags).freeze()}else{this.flags??=new ChannelFlagsBitField().freeze()}this.id=data.id}get createdTimestamp(){return DiscordSnowflake.timestampFrom(this.id)}get createdAt(){return new Date(this.createdTimestamp)}get url(){return this.isDMBased()?channelLink(this.id):channelLink(this.id,this.guildId)}get partial(){return false}toString(){return`<#${this.id}>`}async delete(){await this.client.rest.delete(Routes2.channel(this.id));return this}fetch(force=true){return this.client.channels.fetch(this.id,{force})}isThread(){return ThreadChannelTypes.includes(this.type)}isTextBased(){return"messages"in this}isDMBased(){return[ChannelType3.DM,ChannelType3.GroupDM].includes(this.type)}isVoiceBased(){return"bitrate"in this}toJSON(...props){return super.toJSON({createdTimestamp:true},...props)}};exports2.BaseChannel=BaseChannel}});var require_BaseManager=__commonJS({"node_modules/discord.js/src/managers/BaseManager.js"(exports2,module2){"use strict";var BaseManager=class{constructor(client){Object.defineProperty(this,"client",{value:client})}};module2.exports=BaseManager}});var require_DataManager=__commonJS({"node_modules/discord.js/src/managers/DataManager.js"(exports2,module2){"use strict";var BaseManager=require_BaseManager();var{DiscordjsError:DiscordjsError2,ErrorCodes:ErrorCodes2}=require_errors6();var DataManager=class extends BaseManager{constructor(client,holds){super(client);Object.defineProperty(this,"holds",{value:holds})}get cache(){throw new DiscordjsError2(ErrorCodes2.NotImplemented,"get cache",this.constructor.name)}resolve(idOrInstance){if(idOrInstance instanceof this.holds)return idOrInstance;if(typeof idOrInstance==="string")return this.cache.get(idOrInstance)??null;return null}resolveId(idOrInstance){if(idOrInstance instanceof this.holds)return idOrInstance.id;if(typeof idOrInstance==="string")return idOrInstance;return null}valueOf(){return this.cache}};module2.exports=DataManager}});var require_CachedManager=__commonJS({"node_modules/discord.js/src/managers/CachedManager.js"(exports2,module2){"use strict";var DataManager=require_DataManager();var CachedManager=class extends DataManager{constructor(client,holds,iterable){super(client,holds);Object.defineProperty(this,"_cache",{value:this.client.options.makeCache(this.constructor,this.holds)});if(iterable){for(const item of iterable){this._add(item)}}}get cache(){return this._cache}_add(data,cache2=true,{id,extras=[]}={}){const existing=this.cache.get(id??data.id);if(existing){if(cache2){existing._patch(data);return existing}const clone2=existing._clone();clone2._patch(data);return clone2}const entry=this.holds?new this.holds(this.client,data,...extras):data;if(cache2)this.cache.set(id??entry.id,entry);return entry}};module2.exports=CachedManager}});var require_PermissionsBitField=__commonJS({"node_modules/discord.js/src/util/PermissionsBitField.js"(exports2,module2){"use strict";var{PermissionFlagsBits}=require_v106();var BitField=require_BitField();var PermissionsBitField2=class extends BitField{static Flags=PermissionFlagsBits;static All=Object.values(PermissionFlagsBits).reduce((all2,p)=>all2|p,0n);static Default=BigInt(104324673);static StageModerator=PermissionFlagsBits.ManageChannels|PermissionFlagsBits.MuteMembers|PermissionFlagsBits.MoveMembers;static DefaultBit=BigInt(0);missing(bits,checkAdmin=true){return checkAdmin&&this.has(PermissionFlagsBits.Administrator)?[]:super.missing(bits)}any(permission,checkAdmin=true){return checkAdmin&&super.has(PermissionFlagsBits.Administrator)||super.any(permission)}has(permission,checkAdmin=true){return checkAdmin&&super.has(PermissionFlagsBits.Administrator)||super.has(permission)}toArray(){return super.toArray(false)}};module2.exports=PermissionsBitField2}});var require_Role=__commonJS({"node_modules/discord.js/src/structures/Role.js"(exports2){"use strict";var{DiscordSnowflake}=require_cjs2();var{PermissionFlagsBits}=require_v106();var Base=require_Base();var{DiscordjsError:DiscordjsError2,ErrorCodes:ErrorCodes2}=require_errors6();var PermissionsBitField2=require_PermissionsBitField();var Role=class extends Base{constructor(client,data,guild2){super(client);this.guild=guild2;this.icon=null;this.unicodeEmoji=null;if(data)this._patch(data)}_patch(data){this.id=data.id;if("name"in data){this.name=data.name}if("color"in data){this.color=data.color}if("hoist"in data){this.hoist=data.hoist}if("position"in data){this.rawPosition=data.position}if("permissions"in data){this.permissions=new PermissionsBitField2(BigInt(data.permissions)).freeze()}if("managed"in data){this.managed=data.managed}if("mentionable"in data){this.mentionable=data.mentionable}if("icon"in data)this.icon=data.icon;if("unicode_emoji"in data)this.unicodeEmoji=data.unicode_emoji;this.tags=data.tags?{}:null;if(data.tags){if("bot_id"in data.tags){this.tags.botId=data.tags.bot_id}if("integration_id"in data.tags){this.tags.integrationId=data.tags.integration_id}if("premium_subscriber"in data.tags){this.tags.premiumSubscriberRole=true}if("subscription_listing_id"in data.tags){this.tags.subscriptionListingId=data.tags.subscription_listing_id}if("available_for_purchase"in data.tags){this.tags.availableForPurchase=true}if("guild_connections"in data.tags){this.tags.guildConnections=true}}}get createdTimestamp(){return DiscordSnowflake.timestampFrom(this.id)}get createdAt(){return new Date(this.createdTimestamp)}get hexColor(){return`#${this.color.toString(16).padStart(6,"0")}`}get members(){return this.guild.members.cache.filter(m=>m.roles.cache.has(this.id))}get editable(){if(this.managed)return false;const clientMember=this.guild.members.resolve(this.client.user);if(!clientMember.permissions.has(PermissionFlagsBits.ManageRoles))return false;return clientMember.roles.highest.comparePositionTo(this)>0}get position(){return this.guild.roles.cache.reduce((acc,role)=>acc+(this.rawPosition===role.rawPosition?BigInt(this.id)>BigInt(role.id):this.rawPosition>role.rawPosition),0)}comparePositionTo(role){return this.guild.roles.comparePositions(this,role)}edit(options){return this.guild.roles.edit(this,options)}permissionsIn(channel,checkAdmin=true){channel=this.guild.channels.resolve(channel);if(!channel)throw new DiscordjsError2(ErrorCodes2.GuildChannelResolve);return channel.rolePermissions(this,checkAdmin)}setName(name,reason){return this.edit({name,reason})}setColor(color,reason){return this.edit({color,reason})}setHoist(hoist=true,reason){return this.edit({hoist,reason})}setPermissions(permissions,reason){return this.edit({permissions,reason})}setMentionable(mentionable=true,reason){return this.edit({mentionable,reason})}setIcon(icon,reason){return this.edit({icon,reason})}setUnicodeEmoji(unicodeEmoji,reason){return this.edit({unicodeEmoji,reason})}setPosition(position,options={}){return this.guild.roles.setPosition(this,position,options)}async delete(reason){await this.guild.roles.delete(this.id,reason);return this}iconURL(options={}){return this.icon&&this.client.rest.cdn.roleIcon(this.id,this.icon,options)}equals(role){return role&&this.id===role.id&&this.name===role.name&&this.color===role.color&&this.hoist===role.hoist&&this.position===role.position&&this.permissions.bitfield===role.permissions.bitfield&&this.managed===role.managed&&this.icon===role.icon&&this.unicodeEmoji===role.unicodeEmoji}toString(){if(this.id===this.guild.id)return"@everyone";return`<@&${this.id}>`}toJSON(){return{...super.toJSON({createdTimestamp:true}),permissions:this.permissions.toJSON()}}};exports2.Role=Role}});var require_PermissionOverwrites=__commonJS({"node_modules/discord.js/src/structures/PermissionOverwrites.js"(exports2,module2){"use strict";var{OverwriteType}=require_v106();var Base=require_Base();var{Role}=require_Role();var{DiscordjsTypeError:DiscordjsTypeError2,ErrorCodes:ErrorCodes2}=require_errors6();var PermissionsBitField2=require_PermissionsBitField();var PermissionOverwrites=class extends Base{constructor(client,data,channel){super(client);Object.defineProperty(this,"channel",{value:channel});if(data)this._patch(data)}_patch(data){this.id=data.id;if("type"in data){this.type=data.type}if("deny"in data){this.deny=new PermissionsBitField2(BigInt(data.deny)).freeze()}if("allow"in data){this.allow=new PermissionsBitField2(BigInt(data.allow)).freeze()}}async edit(options,reason){await this.channel.permissionOverwrites.upsert(this.id,options,{type:this.type,reason},this);return this}async delete(reason){await this.channel.permissionOverwrites.delete(this.id,reason);return this}toJSON(){return{id:this.id,type:this.type,allow:this.allow,deny:this.deny}}static resolveOverwriteOptions(options,{allow,deny}={}){allow=new PermissionsBitField2(allow);deny=new PermissionsBitField2(deny);for(const[perm,value]of Object.entries(options)){if(value===true){allow.add(perm);deny.remove(perm)}else if(value===false){allow.remove(perm);deny.add(perm)}else if(value===null){allow.remove(perm);deny.remove(perm)}}return{allow,deny}}static resolve(overwrite,guild2){if(overwrite instanceof this)return overwrite.toJSON();if(typeof overwrite.id==="string"&&overwrite.type in OverwriteType){return{id:overwrite.id,type:overwrite.type,allow:PermissionsBitField2.resolve(overwrite.allow??PermissionsBitField2.DefaultBit).toString(),deny:PermissionsBitField2.resolve(overwrite.deny??PermissionsBitField2.DefaultBit).toString()}}const userOrRole=guild2.roles.resolve(overwrite.id)??guild2.client.users.resolve(overwrite.id);if(!userOrRole)throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"parameter","User nor a Role");const type2=userOrRole instanceof Role?OverwriteType.Role:OverwriteType.Member;return{id:userOrRole.id,type:type2,allow:PermissionsBitField2.resolve(overwrite.allow??PermissionsBitField2.DefaultBit).toString(),deny:PermissionsBitField2.resolve(overwrite.deny??PermissionsBitField2.DefaultBit).toString()}}};module2.exports=PermissionOverwrites}});var require_PermissionOverwriteManager=__commonJS({"node_modules/discord.js/src/managers/PermissionOverwriteManager.js"(exports2,module2){"use strict";var process6=require("node:process");var{Collection:Collection2}=require_dist();var{OverwriteType,Routes:Routes2}=require_v106();var CachedManager=require_CachedManager();var{DiscordjsTypeError:DiscordjsTypeError2,ErrorCodes:ErrorCodes2}=require_errors6();var PermissionOverwrites=require_PermissionOverwrites();var{Role}=require_Role();var cacheWarningEmitted=false;var PermissionOverwriteManager=class extends CachedManager{constructor(channel,iterable){super(channel.client,PermissionOverwrites);if(!cacheWarningEmitted&&this._cache.constructor.name!=="Collection"){cacheWarningEmitted=true;process6.emitWarning(`Overriding the cache handling for ${this.constructor.name} is unsupported and breaks functionality.`,"UnsupportedCacheOverwriteWarning")}this.channel=channel;if(iterable){for(const item of iterable){this._add(item)}}}_add(data,cache2){return super._add(data,cache2,{extras:[this.channel]})}set(overwrites,reason){if(!Array.isArray(overwrites)&&!(overwrites instanceof Collection2)){return Promise.reject(new DiscordjsTypeError2(ErrorCodes2.InvalidType,"overwrites","Array or Collection of Permission Overwrites",true))}return this.channel.edit({permissionOverwrites:overwrites,reason})}async upsert(userOrRole,options,overwriteOptions={},existing){let userOrRoleId=this.channel.guild.roles.resolveId(userOrRole)??this.client.users.resolveId(userOrRole);let{type:type2,reason}=overwriteOptions;if(typeof type2!=="number"){userOrRole=this.channel.guild.roles.resolve(userOrRole)??this.client.users.resolve(userOrRole);if(!userOrRole)throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"parameter","User nor a Role");type2=userOrRole instanceof Role?OverwriteType.Role:OverwriteType.Member}const{allow,deny}=PermissionOverwrites.resolveOverwriteOptions(options,existing);await this.client.rest.put(Routes2.channelPermission(this.channel.id,userOrRoleId),{body:{id:userOrRoleId,type:type2,allow,deny},reason});return this.channel}create(userOrRole,options,overwriteOptions){return this.upsert(userOrRole,options,overwriteOptions)}edit(userOrRole,options,overwriteOptions){const existing=this.cache.get(this.channel.guild.roles.resolveId(userOrRole)??this.client.users.resolveId(userOrRole));return this.upsert(userOrRole,options,overwriteOptions,existing)}async delete(userOrRole,reason){const userOrRoleId=this.channel.guild.roles.resolveId(userOrRole)??this.client.users.resolveId(userOrRole);if(!userOrRoleId)throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"parameter","User nor a Role");await this.client.rest.delete(Routes2.channelPermission(this.channel.id,userOrRoleId),{reason});return this.channel}};module2.exports=PermissionOverwriteManager}});var require_GuildChannel=__commonJS({"node_modules/discord.js/src/structures/GuildChannel.js"(exports2,module2){"use strict";var{PermissionFlagsBits}=require_v106();var{BaseChannel}=require_BaseChannel();var{DiscordjsError:DiscordjsError2,ErrorCodes:ErrorCodes2}=require_errors6();var PermissionOverwriteManager=require_PermissionOverwriteManager();var{VoiceBasedChannelTypes}=require_Constants();var PermissionsBitField2=require_PermissionsBitField();var GuildChannel=class extends BaseChannel{constructor(guild2,data,client,immediatePatch=true){super(client,data,false);this.guild=guild2;this.guildId=(guild2==null?void 0:guild2.id)??data.guild_id;this.permissionOverwrites=new PermissionOverwriteManager(this);if(data&&immediatePatch)this._patch(data)}_patch(data){super._patch(data);if("name"in data){this.name=data.name}if("position"in data){this.rawPosition=data.position}if("guild_id"in data){this.guildId=data.guild_id}if("parent_id"in data){this.parentId=data.parent_id}else{this.parentId??=null}if("permission_overwrites"in data){this.permissionOverwrites.cache.clear();for(const overwrite of data.permission_overwrites){this.permissionOverwrites._add(overwrite)}}}_clone(){const clone2=super._clone();clone2.permissionOverwrites=new PermissionOverwriteManager(clone2,this.permissionOverwrites.cache.values());return clone2}get parent(){return this.guild.channels.resolve(this.parentId)}get permissionsLocked(){if(!this.parent)return null;const overwriteIds=new Set([...this.permissionOverwrites.cache.keys(),...this.parent.permissionOverwrites.cache.keys()]);return[...overwriteIds].every(key=>{const channelVal=this.permissionOverwrites.cache.get(key);const parentVal=this.parent.permissionOverwrites.cache.get(key);if(!channelVal&&parentVal.deny.bitfield===PermissionsBitField2.DefaultBit&&parentVal.allow.bitfield===PermissionsBitField2.DefaultBit||!parentVal&&channelVal.deny.bitfield===PermissionsBitField2.DefaultBit&&channelVal.allow.bitfield===PermissionsBitField2.DefaultBit){return true}return channelVal!==void 0&&parentVal!==void 0&&channelVal.deny.bitfield===parentVal.deny.bitfield&&channelVal.allow.bitfield===parentVal.allow.bitfield})}get position(){const sorted=this.guild._sortedChannels(this);return[...sorted.values()].indexOf(sorted.get(this.id))}permissionsFor(memberOrRole,checkAdmin=true){const member=this.guild.members.resolve(memberOrRole);if(member)return this.memberPermissions(member,checkAdmin);const role=this.guild.roles.resolve(memberOrRole);return role&&this.rolePermissions(role,checkAdmin)}overwritesFor(member,verified=false,roles=null){if(!verified)member=this.guild.members.resolve(member);if(!member)return[];roles??=member.roles.cache;const roleOverwrites=[];let memberOverwrites;let everyoneOverwrites;for(const overwrite of this.permissionOverwrites.cache.values()){if(overwrite.id===this.guild.id){everyoneOverwrites=overwrite}else if(roles.has(overwrite.id)){roleOverwrites.push(overwrite)}else if(overwrite.id===member.id){memberOverwrites=overwrite}}return{everyone:everyoneOverwrites,roles:roleOverwrites,member:memberOverwrites}}memberPermissions(member,checkAdmin){var _a12,_b2,_c,_d;if(checkAdmin&&member.id===this.guild.ownerId){return new PermissionsBitField2(PermissionsBitField2.All).freeze()}const roles=member.roles.cache;const permissions=new PermissionsBitField2(roles.map(role=>role.permissions));if(checkAdmin&&permissions.has(PermissionFlagsBits.Administrator)){return new PermissionsBitField2(PermissionsBitField2.All).freeze()}const overwrites=this.overwritesFor(member,true,roles);return permissions.remove(((_a12=overwrites.everyone)==null?void 0:_a12.deny)??PermissionsBitField2.DefaultBit).add(((_b2=overwrites.everyone)==null?void 0:_b2.allow)??PermissionsBitField2.DefaultBit).remove(overwrites.roles.length>0?overwrites.roles.map(role=>role.deny):PermissionsBitField2.DefaultBit).add(overwrites.roles.length>0?overwrites.roles.map(role=>role.allow):PermissionsBitField2.DefaultBit).remove(((_c=overwrites.member)==null?void 0:_c.deny)??PermissionsBitField2.DefaultBit).add(((_d=overwrites.member)==null?void 0:_d.allow)??PermissionsBitField2.DefaultBit).freeze()}rolePermissions(role,checkAdmin){if(checkAdmin&&role.permissions.has(PermissionFlagsBits.Administrator)){return new PermissionsBitField2(PermissionsBitField2.All).freeze()}const everyoneOverwrites=this.permissionOverwrites.cache.get(this.guild.id);const roleOverwrites=this.permissionOverwrites.cache.get(role.id);return role.permissions.remove((everyoneOverwrites==null?void 0:everyoneOverwrites.deny)??PermissionsBitField2.DefaultBit).add((everyoneOverwrites==null?void 0:everyoneOverwrites.allow)??PermissionsBitField2.DefaultBit).remove((roleOverwrites==null?void 0:roleOverwrites.deny)??PermissionsBitField2.DefaultBit).add((roleOverwrites==null?void 0:roleOverwrites.allow)??PermissionsBitField2.DefaultBit).freeze()}lockPermissions(){if(!this.parent)return Promise.reject(new DiscordjsError2(ErrorCodes2.GuildChannelOrphan));const permissionOverwrites=this.parent.permissionOverwrites.cache.map(overwrite=>overwrite.toJSON());return this.edit({permissionOverwrites})}get members(){return this.guild.members.cache.filter(m=>this.permissionsFor(m).has(PermissionFlagsBits.ViewChannel,false))}edit(options){return this.guild.channels.edit(this,options)}setName(name,reason){return this.edit({name,reason})}setParent(channel,{lockPermissions=true,reason}={}){return this.edit({parent:channel??null,lockPermissions,reason})}setPosition(position,options={}){return this.guild.channels.setPosition(this,position,options)}clone(options={}){return this.guild.channels.create({name:options.name??this.name,permissionOverwrites:this.permissionOverwrites.cache,topic:this.topic,type:this.type,nsfw:this.nsfw,parent:this.parent,bitrate:this.bitrate,userLimit:this.userLimit,rateLimitPerUser:this.rateLimitPerUser,position:this.rawPosition,reason:null,...options})}equals(channel){let equal=channel&&this.id===channel.id&&this.type===channel.type&&this.topic===channel.topic&&this.position===channel.position&&this.name===channel.name;if(equal){if(this.permissionOverwrites&&channel.permissionOverwrites){equal=this.permissionOverwrites.cache.equals(channel.permissionOverwrites.cache)}else{equal=!this.permissionOverwrites&&!channel.permissionOverwrites}}return equal}get deletable(){return this.manageable&&this.guild.rulesChannelId!==this.id&&this.guild.publicUpdatesChannelId!==this.id}get manageable(){if(this.client.user.id===this.guild.ownerId)return true;const permissions=this.permissionsFor(this.client.user);if(!permissions)return false;if(permissions.has(PermissionFlagsBits.Administrator,false))return true;if(this.guild.members.me.communicationDisabledUntilTimestamp>Date.now())return false;const bitfield=VoiceBasedChannelTypes.includes(this.type)?PermissionFlagsBits.ManageChannels|PermissionFlagsBits.Connect:PermissionFlagsBits.ViewChannel|PermissionFlagsBits.ManageChannels;return permissions.has(bitfield,false)}get viewable(){if(this.client.user.id===this.guild.ownerId)return true;const permissions=this.permissionsFor(this.client.user);if(!permissions)return false;return permissions.has(PermissionFlagsBits.ViewChannel,false)}async delete(reason){await this.guild.channels.delete(this.id,reason);return this}};module2.exports=GuildChannel}});var require_Util=__commonJS({"node_modules/discord.js/src/util/Util.js"(exports2,module2){"use strict";var{parse:parse3}=require("node:path");var{Collection:Collection2}=require_dist();var{ChannelType:ChannelType3,RouteBases,Routes:Routes2}=require_v106();var{fetch}=require_undici();var Colors=require_Colors();var{DiscordjsError:DiscordjsError2,DiscordjsRangeError:DiscordjsRangeError2,DiscordjsTypeError:DiscordjsTypeError2,ErrorCodes:ErrorCodes2}=require_errors6();var isObject4=d=>typeof d==="object"&&d!==null;function flatten2(obj,...props){if(!isObject4(obj))return obj;const objProps=Object.keys(obj).filter(k=>!k.startsWith("_")).map(k=>({[k]:true}));props=objProps.length?Object.assign(...objProps,...props):Object.assign({},...props);const out={};for(let[prop,newProp]of Object.entries(props)){if(!newProp)continue;newProp=newProp===true?prop:newProp;const element=obj[prop];const elemIsObj=isObject4(element);const valueOf=elemIsObj&&typeof element.valueOf==="function"?element.valueOf():null;const hasToJSON=elemIsObj&&typeof element.toJSON==="function";if(element instanceof Collection2)out[newProp]=Array.from(element.keys());else if(valueOf instanceof Collection2)out[newProp]=Array.from(valueOf.keys());else if(Array.isArray(element))out[newProp]=element.map(e=>{var _a12;return((_a12=e.toJSON)==null?void 0:_a12.call(e))??flatten2(e)});else if(typeof valueOf!=="object")out[newProp]=valueOf;else if(hasToJSON)out[newProp]=element.toJSON();else if(typeof element==="object")out[newProp]=flatten2(element);else if(!elemIsObj)out[newProp]=element}return out}async function fetchRecommendedShardCount(token3,{guildsPerShard=1e3,multipleOf=1}={}){if(!token3)throw new DiscordjsError2(ErrorCodes2.TokenMissing);const response=await fetch(RouteBases.api+Routes2.gatewayBot(),{method:"GET",headers:{Authorization:`Bot ${token3.replace(/^Bot\s*/i,"")}`}});if(!response.ok){if(response.status===401)throw new DiscordjsError2(ErrorCodes2.TokenInvalid);throw response}const{shards}=await response.json();return Math.ceil(shards*(1e3/guildsPerShard)/multipleOf)*multipleOf}function parseEmoji(text){if(text.includes("%"))text=decodeURIComponent(text);if(!text.includes(":"))return{animated:false,name:text,id:void 0};const match=text.match(/<?(?:(a):)?(\w{2,32}):(\d{17,19})?>?/);return match&&{animated:Boolean(match[1]),name:match[2],id:match[3]}}function resolvePartialEmoji(emoji){if(!emoji)return null;if(typeof emoji==="string")return/^\d{17,19}$/.test(emoji)?{id:emoji}:parseEmoji(emoji);const{id,name,animated}=emoji;if(!id&&!name)return null;return{id,name,animated:Boolean(animated)}}function mergeDefault(def,given){if(!given)return def;for(const key in def){if(!Object.hasOwn(given,key)||given[key]===void 0){given[key]=def[key]}else if(given[key]===Object(given[key])){given[key]=mergeDefault(def[key],given[key])}}return given}function makeError(obj){const err=new Error(obj.message);err.name=obj.name;err.stack=obj.stack;return err}function makePlainError(err){return{name:err.name,message:err.message,stack:err.stack}}function moveElementInArray(array,element,newIndex,offset=false){const index=array.indexOf(element);newIndex=(offset?index:0)+newIndex;if(newIndex>-1&&newIndex<array.length){const removedElement=array.splice(index,1)[0];array.splice(newIndex,0,removedElement)}return array.indexOf(element)}function verifyString(data,error=Error,errorMessage=`Expected a string, got ${data} instead.`,allowEmpty=true){if(typeof data!=="string")throw new error(errorMessage);if(!allowEmpty&&data.length===0)throw new error(errorMessage);return data}function resolveColor(color){if(typeof color==="string"){if(color==="Random")return Math.floor(Math.random()*(16777215+1));if(color==="Default")return 0;if(/^#?[\da-f]{6}$/i.test(color))return parseInt(color.replace("#",""),16);color=Colors[color]}else if(Array.isArray(color)){color=(color[0]<<16)+(color[1]<<8)+color[2]}if(color<0||color>16777215)throw new DiscordjsRangeError2(ErrorCodes2.ColorRange);if(typeof color!=="number"||Number.isNaN(color))throw new DiscordjsTypeError2(ErrorCodes2.ColorConvert);return color}function discordSort(collection){const isGuildChannel=collection.first()instanceof GuildChannel;return collection.sorted(isGuildChannel?(a,b)=>a.rawPosition-b.rawPosition||Number(BigInt(a.id)-BigInt(b.id)):(a,b)=>a.rawPosition-b.rawPosition||Number(BigInt(b.id)-BigInt(a.id)))}async function setPosition(item,position,relative3,sorted,client,route,reason){let updatedItems=[...sorted.values()];moveElementInArray(updatedItems,item,position,relative3);updatedItems=updatedItems.map((r,i)=>({id:r.id,position:i}));await client.rest.patch(route,{body:updatedItems,reason});return updatedItems}function basename2(path27,ext){const res=parse3(path27);return ext&&res.ext.startsWith(ext)?res.name:res.base.split("?")[0]}function cleanContent(str2,channel){return str2.replaceAll(/<(@[!&]?|#)(\d{17,19})>/g,(match,type2,id)=>{var _a12;switch(type2){case"@":case"@!":{const member=(_a12=channel.guild)==null?void 0:_a12.members.cache.get(id);if(member){return`@${member.displayName}`}const user=channel.client.users.cache.get(id);return user?`@${user.username}`:match}case"@&":{if(channel.type===ChannelType3.DM)return match;const role=channel.guild.roles.cache.get(id);return role?`@${role.name}`:match}case"#":{const mentionedChannel=channel.client.channels.cache.get(id);return mentionedChannel?`#${mentionedChannel.name}`:match}default:{return match}}})}function cleanCodeBlockContent(text){return text.replaceAll("```","`​``")}function parseWebhookURL(url){const matches2=url.match(/https?:\/\/(?:ptb\.|canary\.)?discord\.com\/api(?:\/v\d{1,2})?\/webhooks\/(\d{17,19})\/([\w-]{68})/i);if(!matches2||matches2.length<=2)return null;const[,id,token3]=matches2;return{id,token:token3}}module2.exports={flatten:flatten2,fetchRecommendedShardCount,parseEmoji,resolvePartialEmoji,mergeDefault,makeError,makePlainError,moveElementInArray,verifyString,resolveColor,discordSort,setPosition,basename:basename2,cleanContent,cleanCodeBlockContent,parseWebhookURL};var GuildChannel=require_GuildChannel()}});var require_BaseClient=__commonJS({"node_modules/discord.js/src/client/BaseClient.js"(exports2,module2){"use strict";var EventEmitter3=require("node:events");var{REST}=require_dist3();var{DiscordjsTypeError:DiscordjsTypeError2,ErrorCodes:ErrorCodes2}=require_errors6();var Options3=require_Options();var{mergeDefault,flatten:flatten2}=require_Util();var BaseClient3=class extends EventEmitter3{constructor(options={}){var _a12;super({captureRejections:true});if(typeof options!=="object"||options===null){throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"options","object",true)}this.options=mergeDefault(Options3.createDefault(),{...options,rest:{...options.rest,userAgentAppendix:((_a12=options.rest)==null?void 0:_a12.userAgentAppendix)?`${Options3.userAgentAppendix} ${options.rest.userAgentAppendix}`:void 0}});this.rest=new REST(this.options.rest)}destroy(){this.rest.requestManager.clearHashSweeper();this.rest.requestManager.clearHandlerSweeper()}incrementMaxListeners(){const maxListeners=this.getMaxListeners();if(maxListeners!==0){this.setMaxListeners(maxListeners+1)}}decrementMaxListeners(){const maxListeners=this.getMaxListeners();if(maxListeners!==0){this.setMaxListeners(maxListeners-1)}}toJSON(...props){return flatten2(this,...props)}};module2.exports=BaseClient3}});var require_Enums=__commonJS({"node_modules/discord.js/src/util/Enums.js"(exports2,module2){"use strict";function createEnum(keys2){const obj={};for(const[index,key]of keys2.entries()){if(key===null)continue;obj[key]=index;obj[index]=key}return obj}module2.exports={createEnum}}});var require_Partials=__commonJS({"node_modules/discord.js/src/util/Partials.js"(exports2,module2){"use strict";var{createEnum}=require_Enums();module2.exports=createEnum(["User","Channel","GuildMember","Message","Reaction","GuildScheduledEvent","ThreadMember"])}});var require_Action=__commonJS({"node_modules/discord.js/src/client/actions/Action.js"(exports2,module2){"use strict";var Partials=require_Partials();var GenericAction=class{constructor(client){this.client=client}handle(data){return data}getPayload(data,manager,id,partialType,cache2){const existing=manager.cache.get(id);if(!existing&&this.client.options.partials.includes(partialType)){return manager._add(data,cache2)}return existing}getChannel(data){const id=data.channel_id??data.id;return data[this.client.actions.injectedChannel]??this.getPayload({id,guild_id:data.guild_id,recipients:[data.author??data.user??{id:data.user_id}]},this.client.channels,id,Partials.Channel)}getMessage(data,channel,cache2){var _a12;const id=data.message_id??data.id;return data[this.client.actions.injectedMessage]??this.getPayload({id,channel_id:channel.id,guild_id:data.guild_id??((_a12=channel.guild)==null?void 0:_a12.id)},channel.messages,id,Partials.Message,cache2)}getReaction(data,message3,user){const id=data.emoji.id??decodeURIComponent(data.emoji.name);return this.getPayload({emoji:data.emoji,count:message3.partial?null:0,me:(user==null?void 0:user.id)===this.client.user.id},message3.reactions,id,Partials.Reaction)}getMember(data,guild2){return this.getPayload(data,guild2.members,data.user.id,Partials.GuildMember)}getUser(data){const id=data.user_id;return data[this.client.actions.injectedUser]??this.getPayload({id},this.client.users,id,Partials.User)}getUserFromMember(data){var _a12;if(data.guild_id&&((_a12=data.member)==null?void 0:_a12.user)){const guild2=this.client.guilds.cache.get(data.guild_id);if(guild2){return guild2.members._add(data.member).user}else{return this.client.users._add(data.member.user)}}return this.getUser(data)}getScheduledEvent(data,guild2){const id=data.guild_scheduled_event_id??data.id;return this.getPayload({id,guild_id:data.guild_id??guild2.id},guild2.scheduledEvents,id,Partials.GuildScheduledEvent)}getThreadMember(id,manager){return this.getPayload({user_id:id},manager,id,Partials.ThreadMember,false)}};module2.exports=GenericAction}});var require_Events=__commonJS({"node_modules/discord.js/src/util/Events.js"(exports2,module2){"use strict";module2.exports={ApplicationCommandPermissionsUpdate:"applicationCommandPermissionsUpdate",AutoModerationActionExecution:"autoModerationActionExecution",AutoModerationRuleCreate:"autoModerationRuleCreate",AutoModerationRuleDelete:"autoModerationRuleDelete",AutoModerationRuleUpdate:"autoModerationRuleUpdate",CacheSweep:"cacheSweep",ChannelCreate:"channelCreate",ChannelDelete:"channelDelete",ChannelPinsUpdate:"channelPinsUpdate",ChannelUpdate:"channelUpdate",ClientReady:"ready",Debug:"debug",Error:"error",GuildAuditLogEntryCreate:"guildAuditLogEntryCreate",GuildBanAdd:"guildBanAdd",GuildBanRemove:"guildBanRemove",GuildCreate:"guildCreate",GuildDelete:"guildDelete",GuildEmojiCreate:"emojiCreate",GuildEmojiDelete:"emojiDelete",GuildEmojiUpdate:"emojiUpdate",GuildIntegrationsUpdate:"guildIntegrationsUpdate",GuildMemberAdd:"guildMemberAdd",GuildMemberAvailable:"guildMemberAvailable",GuildMemberRemove:"guildMemberRemove",GuildMembersChunk:"guildMembersChunk",GuildMemberUpdate:"guildMemberUpdate",GuildRoleCreate:"roleCreate",GuildRoleDelete:"roleDelete",GuildRoleUpdate:"roleUpdate",GuildScheduledEventCreate:"guildScheduledEventCreate",GuildScheduledEventDelete:"guildScheduledEventDelete",GuildScheduledEventUpdate:"guildScheduledEventUpdate",GuildScheduledEventUserAdd:"guildScheduledEventUserAdd",GuildScheduledEventUserRemove:"guildScheduledEventUserRemove",GuildStickerCreate:"stickerCreate",GuildStickerDelete:"stickerDelete",GuildStickerUpdate:"stickerUpdate",GuildUnavailable:"guildUnavailable",GuildUpdate:"guildUpdate",InteractionCreate:"interactionCreate",Invalidated:"invalidated",InviteCreate:"inviteCreate",InviteDelete:"inviteDelete",MessageBulkDelete:"messageDeleteBulk",MessageCreate:"messageCreate",MessageDelete:"messageDelete",MessageReactionAdd:"messageReactionAdd",MessageReactionRemove:"messageReactionRemove",MessageReactionRemoveAll:"messageReactionRemoveAll",MessageReactionRemoveEmoji:"messageReactionRemoveEmoji",MessageUpdate:"messageUpdate",PresenceUpdate:"presenceUpdate",Raw:"raw",ShardDisconnect:"shardDisconnect",ShardError:"shardError",ShardReady:"shardReady",ShardReconnecting:"shardReconnecting",ShardResume:"shardResume",StageInstanceCreate:"stageInstanceCreate",StageInstanceDelete:"stageInstanceDelete",StageInstanceUpdate:"stageInstanceUpdate",ThreadCreate:"threadCreate",ThreadDelete:"threadDelete",ThreadListSync:"threadListSync",ThreadMembersUpdate:"threadMembersUpdate",ThreadMemberUpdate:"threadMemberUpdate",ThreadUpdate:"threadUpdate",TypingStart:"typingStart",UserUpdate:"userUpdate",VoiceServerUpdate:"voiceServerUpdate",VoiceStateUpdate:"voiceStateUpdate",Warn:"warn",WebhooksUpdate:"webhookUpdate"}}});var require_ApplicationCommandPermissionsUpdate=__commonJS({"node_modules/discord.js/src/client/actions/ApplicationCommandPermissionsUpdate.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var ApplicationCommandPermissionsUpdateAction=class extends Action{handle(data){const client=this.client;client.emit(Events2.ApplicationCommandPermissionsUpdate,{permissions:data.permissions,id:data.id,guildId:data.guild_id,applicationId:data.application_id})}};module2.exports=ApplicationCommandPermissionsUpdateAction}});var require_AutoModerationActionExecution=__commonJS({"node_modules/discord.js/src/structures/AutoModerationActionExecution.js"(exports2,module2){"use strict";var{_transformAPIAutoModerationAction}=require_Transformers();var AutoModerationActionExecution=class{constructor(data,guild2){this.guild=guild2;this.action=_transformAPIAutoModerationAction(data.action);this.ruleId=data.rule_id;this.ruleTriggerType=data.rule_trigger_type;this.userId=data.user_id;this.channelId=data.channel_id??null;this.messageId=data.message_id??null;this.alertSystemMessageId=data.alert_system_message_id??null;this.content=data.content;this.matchedKeyword=data.matched_keyword??null;this.matchedContent=data.matched_content??null}get autoModerationRule(){return this.guild.autoModerationRules.cache.get(this.ruleId)??null}get channel(){return this.guild.channels.cache.get(this.channelId)??null}get user(){return this.guild.client.users.cache.get(this.userId)??null}get member(){return this.guild.members.cache.get(this.userId)??null}};module2.exports=AutoModerationActionExecution}});var require_AutoModerationActionExecution2=__commonJS({"node_modules/discord.js/src/client/actions/AutoModerationActionExecution.js"(exports2,module2){"use strict";var Action=require_Action();var AutoModerationActionExecution=require_AutoModerationActionExecution();var Events2=require_Events();var AutoModerationActionExecutionAction=class extends Action{handle(data){const{client}=this;const guild2=client.guilds.cache.get(data.guild_id);if(guild2){client.emit(Events2.AutoModerationActionExecution,new AutoModerationActionExecution(data,guild2))}return{}}};module2.exports=AutoModerationActionExecutionAction}});var require_AutoModerationRuleCreate=__commonJS({"node_modules/discord.js/src/client/actions/AutoModerationRuleCreate.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var AutoModerationRuleCreateAction=class extends Action{handle(data){const{client}=this;const guild2=client.guilds.cache.get(data.guild_id);if(guild2){const autoModerationRule=guild2.autoModerationRules._add(data);client.emit(Events2.AutoModerationRuleCreate,autoModerationRule)}return{}}};module2.exports=AutoModerationRuleCreateAction}});var require_AutoModerationRuleDelete=__commonJS({"node_modules/discord.js/src/client/actions/AutoModerationRuleDelete.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var AutoModerationRuleDeleteAction=class extends Action{handle(data){const{client}=this;const guild2=client.guilds.cache.get(data.guild_id);if(guild2){const autoModerationRule=guild2.autoModerationRules.cache.get(data.id);if(autoModerationRule){guild2.autoModerationRules.cache.delete(autoModerationRule.id);client.emit(Events2.AutoModerationRuleDelete,autoModerationRule)}}return{}}};module2.exports=AutoModerationRuleDeleteAction}});var require_AutoModerationRuleUpdate=__commonJS({"node_modules/discord.js/src/client/actions/AutoModerationRuleUpdate.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var AutoModerationRuleUpdateAction=class extends Action{handle(data){var _a12;const{client}=this;const guild2=client.guilds.cache.get(data.guild_id);if(guild2){const oldAutoModerationRule=((_a12=guild2.autoModerationRules.cache.get(data.id))==null?void 0:_a12._clone())??null;const newAutoModerationRule=guild2.autoModerationRules._add(data);client.emit(Events2.AutoModerationRuleUpdate,oldAutoModerationRule,newAutoModerationRule)}return{}}};module2.exports=AutoModerationRuleUpdateAction}});var require_ChannelCreate=__commonJS({"node_modules/discord.js/src/client/actions/ChannelCreate.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var ChannelCreateAction=class extends Action{handle(data){const client=this.client;const existing=client.channels.cache.has(data.id);const channel=client.channels._add(data);if(!existing&&channel){client.emit(Events2.ChannelCreate,channel)}return{channel}}};module2.exports=ChannelCreateAction}});var require_ChannelDelete=__commonJS({"node_modules/discord.js/src/client/actions/ChannelDelete.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var ChannelDeleteAction=class extends Action{handle(data){const client=this.client;const channel=client.channels.cache.get(data.id);if(channel){client.channels._remove(channel.id);client.emit(Events2.ChannelDelete,channel)}}};module2.exports=ChannelDeleteAction}});var require_CategoryChannelChildManager=__commonJS({"node_modules/discord.js/src/managers/CategoryChannelChildManager.js"(exports2,module2){"use strict";var DataManager=require_DataManager();var GuildChannel=require_GuildChannel();var CategoryChannelChildManager=class extends DataManager{constructor(channel){super(channel.client,GuildChannel);this.channel=channel}get cache(){return this.guild.channels.cache.filter(c=>c.parentId===this.channel.id)}get guild(){return this.channel.guild}create(options){return this.guild.channels.create({...options,parent:this.channel.id})}};module2.exports=CategoryChannelChildManager}});var require_CategoryChannel=__commonJS({"node_modules/discord.js/src/structures/CategoryChannel.js"(exports2,module2){"use strict";var GuildChannel=require_GuildChannel();var CategoryChannelChildManager=require_CategoryChannelChildManager();var CategoryChannel=class extends GuildChannel{get children(){return new CategoryChannelChildManager(this)}};module2.exports=CategoryChannel}});var require_Collector=__commonJS({"node_modules/discord.js/src/structures/interfaces/Collector.js"(exports2,module2){"use strict";var EventEmitter3=require("node:events");var{setTimeout:setTimeout3,clearTimeout:clearTimeout2}=require("node:timers");var{Collection:Collection2}=require_dist();var{DiscordjsTypeError:DiscordjsTypeError2,ErrorCodes:ErrorCodes2}=require_errors6();var{flatten:flatten2}=require_Util();var Collector=class extends EventEmitter3{constructor(client,options={}){super();Object.defineProperty(this,"client",{value:client});this.filter=options.filter??(()=>true);this.options=options;this.collected=new Collection2;this.ended=false;this._timeout=null;this._idletimeout=null;this._endReason=null;if(typeof this.filter!=="function"){throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"options.filter","function")}this.handleCollect=this.handleCollect.bind(this);this.handleDispose=this.handleDispose.bind(this);if(options.time)this._timeout=setTimeout3(()=>this.stop("time"),options.time).unref();if(options.idle)this._idletimeout=setTimeout3(()=>this.stop("idle"),options.idle).unref();this.lastCollectedTimestamp=null}get lastCollectedAt(){return this.lastCollectedTimestamp&&new Date(this.lastCollectedTimestamp)}async handleCollect(...args2){const collectedId=await this.collect(...args2);if(collectedId){const filterResult=await this.filter(...args2,this.collected);if(filterResult){this.collected.set(collectedId,args2[0]);this.emit("collect",...args2);this.lastCollectedTimestamp=Date.now();if(this._idletimeout){clearTimeout2(this._idletimeout);this._idletimeout=setTimeout3(()=>this.stop("idle"),this.options.idle).unref()}}else{this.emit("ignore",...args2)}}this.checkEnd()}async handleDispose(...args2){if(!this.options.dispose)return;const dispose=this.dispose(...args2);if(!dispose||!await this.filter(...args2)||!this.collected.has(dispose))return;this.collected.delete(dispose);this.emit("dispose",...args2);this.checkEnd()}get next(){return new Promise((resolve,reject2)=>{if(this.ended){reject2(this.collected);return}const cleanup=()=>{this.removeListener("collect",onCollect);this.removeListener("end",onEnd)};const onCollect=item=>{cleanup();resolve(item)};const onEnd=()=>{cleanup();reject2(this.collected)};this.on("collect",onCollect);this.on("end",onEnd)})}stop(reason="user"){if(this.ended)return;if(this._timeout){clearTimeout2(this._timeout);this._timeout=null}if(this._idletimeout){clearTimeout2(this._idletimeout);this._idletimeout=null}this._endReason=reason;this.ended=true;this.emit("end",this.collected,reason)}resetTimer({time,idle}={}){if(this._timeout){clearTimeout2(this._timeout);this._timeout=setTimeout3(()=>this.stop("time"),time??this.options.time).unref()}if(this._idletimeout){clearTimeout2(this._idletimeout);this._idletimeout=setTimeout3(()=>this.stop("idle"),idle??this.options.idle).unref()}}checkEnd(){const reason=this.endReason;if(reason)this.stop(reason);return Boolean(reason)}async*[Symbol.asyncIterator](){const queue=[];const onCollect=(...item)=>queue.push(item);this.on("collect",onCollect);try{while(queue.length||!this.ended){if(queue.length){yield queue.shift()}else{await new Promise(resolve=>{const tick=()=>{this.removeListener("collect",tick);this.removeListener("end",tick);return resolve()};this.on("collect",tick);this.on("end",tick)})}}}finally{this.removeListener("collect",onCollect)}}toJSON(){return flatten2(this)}get endReason(){return this._endReason}collect(){}dispose(){}};module2.exports=Collector}});var require_InteractionCollector=__commonJS({"node_modules/discord.js/src/structures/InteractionCollector.js"(exports2,module2){"use strict";var{Collection:Collection2}=require_dist();var Collector=require_Collector();var Events2=require_Events();var InteractionCollector=class extends Collector{constructor(client,options={}){var _a12,_b2,_c,_d,_e,_f,_g,_h,_i;super(client,options);this.messageId=((_a12=options.message)==null?void 0:_a12.id)??null;this.messageInteractionId=((_b2=options.interactionResponse)==null?void 0:_b2.id)??null;this.channelId=((_c=options.interactionResponse)==null?void 0:_c.interaction.channelId)??((_d=options.message)==null?void 0:_d.channelId)??((_e=options.message)==null?void 0:_e.channel_id)??this.client.channels.resolveId(options.channel);this.guildId=((_f=options.interactionResponse)==null?void 0:_f.interaction.guildId)??((_g=options.message)==null?void 0:_g.guildId)??((_h=options.message)==null?void 0:_h.guild_id)??this.client.guilds.resolveId((_i=options.channel)==null?void 0:_i.guild)??this.client.guilds.resolveId(options.guild);this.interactionType=options.interactionType??null;this.componentType=options.componentType??null;this.users=new Collection2;this.total=0;this.client.incrementMaxListeners();const bulkDeleteListener=messages=>{if(messages.has(this.messageId))this.stop("messageDelete")};if(this.messageId||this.messageInteractionId){this._handleMessageDeletion=this._handleMessageDeletion.bind(this);this.client.on(Events2.MessageDelete,this._handleMessageDeletion);this.client.on(Events2.MessageBulkDelete,bulkDeleteListener)}if(this.channelId){this._handleChannelDeletion=this._handleChannelDeletion.bind(this);this._handleThreadDeletion=this._handleThreadDeletion.bind(this);this.client.on(Events2.ChannelDelete,this._handleChannelDeletion);this.client.on(Events2.ThreadDelete,this._handleThreadDeletion)}if(this.guildId){this._handleGuildDeletion=this._handleGuildDeletion.bind(this);this.client.on(Events2.GuildDelete,this._handleGuildDeletion)}this.client.on(Events2.InteractionCreate,this.handleCollect);this.once("end",()=>{this.client.removeListener(Events2.InteractionCreate,this.handleCollect);this.client.removeListener(Events2.MessageDelete,this._handleMessageDeletion);this.client.removeListener(Events2.MessageBulkDelete,bulkDeleteListener);this.client.removeListener(Events2.ChannelDelete,this._handleChannelDeletion);this.client.removeListener(Events2.ThreadDelete,this._handleThreadDeletion);this.client.removeListener(Events2.GuildDelete,this._handleGuildDeletion);this.client.decrementMaxListeners()});this.on("collect",interaction=>{this.total++;this.users.set(interaction.user.id,interaction.user)})}collect(interaction){var _a12,_b2,_c;if(this.interactionType&&interaction.type!==this.interactionType)return null;if(this.componentType&&interaction.componentType!==this.componentType)return null;if(this.messageId&&((_a12=interaction.message)==null?void 0:_a12.id)!==this.messageId)return null;if(this.messageInteractionId&&((_c=(_b2=interaction.message)==null?void 0:_b2.interaction)==null?void 0:_c.id)&&interaction.message.interaction.id!==this.messageInteractionId){return null}if(this.channelId&&interaction.channelId!==this.channelId)return null;if(this.guildId&&interaction.guildId!==this.guildId)return null;return interaction.id}dispose(interaction){var _a12,_b2,_c;if(this.type&&interaction.type!==this.type)return null;if(this.componentType&&interaction.componentType!==this.componentType)return null;if(this.messageId&&((_a12=interaction.message)==null?void 0:_a12.id)!==this.messageId)return null;if(this.messageInteractionId&&((_c=(_b2=interaction.message)==null?void 0:_b2.interaction)==null?void 0:_c.id)!==this.messageInteractionId)return null;if(this.channelId&&interaction.channelId!==this.channelId)return null;if(this.guildId&&interaction.guildId!==this.guildId)return null;return interaction.id}empty(){this.total=0;this.collected.clear();this.users.clear();this.checkEnd()}get endReason(){if(this.options.max&&this.total>=this.options.max)return"limit";if(this.options.maxComponents&&this.collected.size>=this.options.maxComponents)return"componentLimit";if(this.options.maxUsers&&this.users.size>=this.options.maxUsers)return"userLimit";return super.endReason}_handleMessageDeletion(message3){var _a12;if(message3.id===this.messageId){this.stop("messageDelete")}if(((_a12=message3.interaction)==null?void 0:_a12.id)===this.messageInteractionId){this.stop("messageDelete")}}_handleChannelDeletion(channel){var _a12;if(channel.id===this.channelId||((_a12=channel.threads)==null?void 0:_a12.cache.has(this.channelId))){this.stop("channelDelete")}}_handleThreadDeletion(thread){if(thread.id===this.channelId){this.stop("threadDelete")}}_handleGuildDeletion(guild2){if(guild2.id===this.guildId){this.stop("guildDelete")}}};module2.exports=InteractionCollector}});var require_MessageCollector=__commonJS({"node_modules/discord.js/src/structures/MessageCollector.js"(exports2,module2){"use strict";var Collector=require_Collector();var Events2=require_Events();var MessageCollector=class extends Collector{constructor(channel,options={}){super(channel.client,options);this.channel=channel;this.received=0;const bulkDeleteListener=messages=>{for(const message3 of messages.values())this.handleDispose(message3)};this._handleChannelDeletion=this._handleChannelDeletion.bind(this);this._handleThreadDeletion=this._handleThreadDeletion.bind(this);this._handleGuildDeletion=this._handleGuildDeletion.bind(this);this.client.incrementMaxListeners();this.client.on(Events2.MessageCreate,this.handleCollect);this.client.on(Events2.MessageDelete,this.handleDispose);this.client.on(Events2.MessageBulkDelete,bulkDeleteListener);this.client.on(Events2.ChannelDelete,this._handleChannelDeletion);this.client.on(Events2.ThreadDelete,this._handleThreadDeletion);this.client.on(Events2.GuildDelete,this._handleGuildDeletion);this.once("end",()=>{this.client.removeListener(Events2.MessageCreate,this.handleCollect);this.client.removeListener(Events2.MessageDelete,this.handleDispose);this.client.removeListener(Events2.MessageBulkDelete,bulkDeleteListener);this.client.removeListener(Events2.ChannelDelete,this._handleChannelDeletion);this.client.removeListener(Events2.ThreadDelete,this._handleThreadDeletion);this.client.removeListener(Events2.GuildDelete,this._handleGuildDeletion);this.client.decrementMaxListeners()})}collect(message3){if(message3.channelId!==this.channel.id)return null;this.received++;return message3.id}dispose(message3){return message3.channelId===this.channel.id?message3.id:null}get endReason(){if(this.options.max&&this.collected.size>=this.options.max)return"limit";if(this.options.maxProcessed&&this.received===this.options.maxProcessed)return"processedLimit";return super.endReason}_handleChannelDeletion(channel){if(channel.id===this.channel.id||channel.id===this.channel.parentId){this.stop("channelDelete")}}_handleThreadDeletion(thread){if(thread.id===this.channel.id){this.stop("threadDelete")}}_handleGuildDeletion(guild2){var _a12;if(guild2.id===((_a12=this.channel.guild)==null?void 0:_a12.id)){this.stop("guildDelete")}}};module2.exports=MessageCollector}});var require_Component=__commonJS({"node_modules/discord.js/src/structures/Component.js"(exports2,module2){"use strict";var isEqual2=require_fast_deep_equal();var Component=class _Component{constructor(data){this.data=data}get type(){return this.data.type}equals(other){if(other instanceof _Component){return isEqual2(other.data,this.data)}return isEqual2(other,this.data)}toJSON(){return{...this.data}}};module2.exports=Component}});var require_ActionRow=__commonJS({"node_modules/discord.js/src/structures/ActionRow.js"(exports2,module2){"use strict";var{deprecate:deprecate2}=require("node:util");var{isJSONEncodable}=require_dist2();var Component=require_Component();var{createComponent}=require_Components();var ActionRow=class extends Component{constructor({components,...data}){super(data);this.components=components.map(c=>createComponent(c))}static from=deprecate2(other=>new this(isJSONEncodable(other)?other.toJSON():other),"ActionRow.from() is deprecated. Use ActionRowBuilder.from() instead.");toJSON(){return{...this.data,components:this.components.map(c=>c.toJSON())}}};module2.exports=ActionRow}});var require_ButtonBuilder=__commonJS({"node_modules/discord.js/src/structures/ButtonBuilder.js"(exports2,module2){"use strict";var{ButtonBuilder:BuildersButton}=require_dist6();var{isJSONEncodable}=require_dist2();var{toSnakeCase}=require_Transformers();var{resolvePartialEmoji}=require_Util();var ButtonBuilder2=class extends BuildersButton{constructor({emoji,...data}={}){super(toSnakeCase({...data,emoji:emoji&&typeof emoji==="string"?resolvePartialEmoji(emoji):emoji}))}setEmoji(emoji){if(typeof emoji==="string"){return super.setEmoji(resolvePartialEmoji(emoji))}return super.setEmoji(emoji)}static from(other){return new this(isJSONEncodable(other)?other.toJSON():other)}};module2.exports=ButtonBuilder2}});var require_ButtonComponent=__commonJS({"node_modules/discord.js/src/structures/ButtonComponent.js"(exports2,module2){"use strict";var Component=require_Component();var ButtonComponent=class extends Component{get style(){return this.data.style}get label(){return this.data.label??null}get emoji(){return this.data.emoji??null}get disabled(){return this.data.disabled??false}get customId(){return this.data.custom_id??null}get url(){return this.data.url??null}};module2.exports=ButtonComponent}});var require_ChannelSelectMenuBuilder=__commonJS({"node_modules/discord.js/src/structures/ChannelSelectMenuBuilder.js"(exports2,module2){"use strict";var{ChannelSelectMenuBuilder:BuildersChannelSelectMenu}=require_dist6();var{isJSONEncodable}=require_dist2();var{toSnakeCase}=require_Transformers();var ChannelSelectMenuBuilder=class extends BuildersChannelSelectMenu{constructor(data={}){super(toSnakeCase(data))}static from(other){return new this(isJSONEncodable(other)?other.toJSON():other)}};module2.exports=ChannelSelectMenuBuilder}});var require_BaseSelectMenuComponent=__commonJS({"node_modules/discord.js/src/structures/BaseSelectMenuComponent.js"(exports2,module2){"use strict";var Component=require_Component();var BaseSelectMenuComponent=class extends Component{get placeholder(){return this.data.placeholder??null}get maxValues(){return this.data.max_values??null}get minValues(){return this.data.min_values??null}get customId(){return this.data.custom_id}get disabled(){return this.data.disabled??false}};module2.exports=BaseSelectMenuComponent}});var require_ChannelSelectMenuComponent=__commonJS({"node_modules/discord.js/src/structures/ChannelSelectMenuComponent.js"(exports2,module2){"use strict";var BaseSelectMenuComponent=require_BaseSelectMenuComponent();var ChannelSelectMenuComponent=class extends BaseSelectMenuComponent{get channelTypes(){return this.data.channel_types??null}};module2.exports=ChannelSelectMenuComponent}});var require_MentionableSelectMenuBuilder=__commonJS({"node_modules/discord.js/src/structures/MentionableSelectMenuBuilder.js"(exports2,module2){"use strict";var{MentionableSelectMenuBuilder:BuildersMentionableSelectMenu}=require_dist6();var{isJSONEncodable}=require_dist2();var{toSnakeCase}=require_Transformers();var MentionableSelectMenuBuilder=class extends BuildersMentionableSelectMenu{constructor(data={}){super(toSnakeCase(data))}static from(other){return new this(isJSONEncodable(other)?other.toJSON():other)}};module2.exports=MentionableSelectMenuBuilder}});var require_MentionableSelectMenuComponent=__commonJS({"node_modules/discord.js/src/structures/MentionableSelectMenuComponent.js"(exports2,module2){"use strict";var BaseSelectMenuComponent=require_BaseSelectMenuComponent();var MentionableSelectMenuComponent=class extends BaseSelectMenuComponent{};module2.exports=MentionableSelectMenuComponent}});var require_RoleSelectMenuBuilder=__commonJS({"node_modules/discord.js/src/structures/RoleSelectMenuBuilder.js"(exports2,module2){"use strict";var{RoleSelectMenuBuilder:BuildersRoleSelectMenu}=require_dist6();var{isJSONEncodable}=require_dist2();var{toSnakeCase}=require_Transformers();var RoleSelectMenuBuilder=class extends BuildersRoleSelectMenu{constructor(data={}){super(toSnakeCase(data))}static from(other){return new this(isJSONEncodable(other)?other.toJSON():other)}};module2.exports=RoleSelectMenuBuilder}});var require_RoleSelectMenuComponent=__commonJS({"node_modules/discord.js/src/structures/RoleSelectMenuComponent.js"(exports2,module2){"use strict";var BaseSelectMenuComponent=require_BaseSelectMenuComponent();var RoleSelectMenuComponent=class extends BaseSelectMenuComponent{};module2.exports=RoleSelectMenuComponent}});var require_StringSelectMenuBuilder=__commonJS({"node_modules/discord.js/src/structures/StringSelectMenuBuilder.js"(exports2,module2){"use strict";var{SelectMenuBuilder:BuildersSelectMenu,normalizeArray}=require_dist6();var{isJSONEncodable}=require_dist2();var{toSnakeCase}=require_Transformers();var{resolvePartialEmoji}=require_Util();var StringSelectMenuBuilder=class _StringSelectMenuBuilder extends BuildersSelectMenu{constructor({options,...data}={}){super(toSnakeCase({...data,options:options==null?void 0:options.map(({emoji,...option})=>({...option,emoji:emoji&&typeof emoji==="string"?resolvePartialEmoji(emoji):emoji}))}))}static normalizeEmoji(selectMenuOption){if(isJSONEncodable(selectMenuOption)){return selectMenuOption}const{emoji,...option}=selectMenuOption;return{...option,emoji:typeof emoji==="string"?resolvePartialEmoji(emoji):emoji}}addOptions(...options){return super.addOptions(normalizeArray(options).map(option=>_StringSelectMenuBuilder.normalizeEmoji(option)))}setOptions(...options){return super.setOptions(normalizeArray(options).map(option=>_StringSelectMenuBuilder.normalizeEmoji(option)))}static from(other){if(isJSONEncodable(other)){return new this(other.toJSON())}return new this(other)}};module2.exports=StringSelectMenuBuilder}});var require_StringSelectMenuComponent=__commonJS({"node_modules/discord.js/src/structures/StringSelectMenuComponent.js"(exports2,module2){"use strict";var BaseSelectMenuComponent=require_BaseSelectMenuComponent();var StringSelectMenuComponent=class extends BaseSelectMenuComponent{get options(){return this.data.options}};module2.exports=StringSelectMenuComponent}});var require_TextInputBuilder=__commonJS({"node_modules/discord.js/src/structures/TextInputBuilder.js"(exports2,module2){"use strict";var{TextInputBuilder:BuildersTextInput}=require_dist6();var{isJSONEncodable}=require_dist2();var{toSnakeCase}=require_Transformers();var TextInputBuilder=class extends BuildersTextInput{constructor(data){super(toSnakeCase(data))}static from(other){return new this(isJSONEncodable(other)?other.toJSON():other)}};module2.exports=TextInputBuilder}});var require_TextInputComponent=__commonJS({"node_modules/discord.js/src/structures/TextInputComponent.js"(exports2,module2){"use strict";var Component=require_Component();var TextInputComponent=class extends Component{get customId(){return this.data.custom_id}get value(){return this.data.value}};module2.exports=TextInputComponent}});var require_UserSelectMenuBuilder=__commonJS({"node_modules/discord.js/src/structures/UserSelectMenuBuilder.js"(exports2,module2){"use strict";var{UserSelectMenuBuilder:BuildersUserSelectMenu}=require_dist6();var{isJSONEncodable}=require_dist2();var{toSnakeCase}=require_Transformers();var UserSelectMenuBuilder=class extends BuildersUserSelectMenu{constructor(data={}){super(toSnakeCase(data))}static from(other){return new this(isJSONEncodable(other)?other.toJSON():other)}};module2.exports=UserSelectMenuBuilder}});var require_UserSelectMenuComponent=__commonJS({"node_modules/discord.js/src/structures/UserSelectMenuComponent.js"(exports2,module2){"use strict";var BaseSelectMenuComponent=require_BaseSelectMenuComponent();var UserSelectMenuComponent=class extends BaseSelectMenuComponent{};module2.exports=UserSelectMenuComponent}});var require_Components=__commonJS({"node_modules/discord.js/src/util/Components.js"(exports2,module2){"use strict";var{ComponentBuilder}=require_dist6();var{ComponentType}=require_v106();function createComponent(data){if(data instanceof Component){return data}switch(data.type){case ComponentType.ActionRow:return new ActionRow(data);case ComponentType.Button:return new ButtonComponent(data);case ComponentType.StringSelect:return new StringSelectMenuComponent(data);case ComponentType.TextInput:return new TextInputComponent(data);case ComponentType.UserSelect:return new UserSelectMenuComponent(data);case ComponentType.RoleSelect:return new RoleSelectMenuComponent(data);case ComponentType.MentionableSelect:return new MentionableSelectMenuComponent(data);case ComponentType.ChannelSelect:return new ChannelSelectMenuComponent(data);default:return new Component(data)}}function createComponentBuilder(data){if(data instanceof ComponentBuilder){return data}switch(data.type){case ComponentType.ActionRow:return new ActionRowBuilder2(data);case ComponentType.Button:return new ButtonBuilder2(data);case ComponentType.StringSelect:return new StringSelectMenuBuilder(data);case ComponentType.TextInput:return new TextInputBuilder(data);case ComponentType.UserSelect:return new UserSelectMenuBuilder(data);case ComponentType.RoleSelect:return new RoleSelectMenuBuilder(data);case ComponentType.MentionableSelect:return new MentionableSelectMenuBuilder(data);case ComponentType.ChannelSelect:return new ChannelSelectMenuBuilder(data);default:return new ComponentBuilder(data)}}module2.exports={createComponent,createComponentBuilder};var ActionRow=require_ActionRow();var ActionRowBuilder2=require_ActionRowBuilder();var ButtonBuilder2=require_ButtonBuilder();var ButtonComponent=require_ButtonComponent();var ChannelSelectMenuBuilder=require_ChannelSelectMenuBuilder();var ChannelSelectMenuComponent=require_ChannelSelectMenuComponent();var Component=require_Component();var MentionableSelectMenuBuilder=require_MentionableSelectMenuBuilder();var MentionableSelectMenuComponent=require_MentionableSelectMenuComponent();var RoleSelectMenuBuilder=require_RoleSelectMenuBuilder();var RoleSelectMenuComponent=require_RoleSelectMenuComponent();var StringSelectMenuBuilder=require_StringSelectMenuBuilder();var StringSelectMenuComponent=require_StringSelectMenuComponent();var TextInputBuilder=require_TextInputBuilder();var TextInputComponent=require_TextInputComponent();var UserSelectMenuBuilder=require_UserSelectMenuBuilder();var UserSelectMenuComponent=require_UserSelectMenuComponent()}});var require_ActionRowBuilder=__commonJS({"node_modules/discord.js/src/structures/ActionRowBuilder.js"(exports2,module2){"use strict";var{ActionRowBuilder:BuildersActionRow}=require_dist6();var{isJSONEncodable}=require_dist2();var{createComponentBuilder}=require_Components();var{toSnakeCase}=require_Transformers();var ActionRowBuilder2=class extends BuildersActionRow{constructor({components,...data}={}){super({...toSnakeCase(data),components:components==null?void 0:components.map(c=>createComponentBuilder(c))})}static from(other){return new this(isJSONEncodable(other)?other.toJSON():other)}};module2.exports=ActionRowBuilder2}});var require_GuildScheduledEvent=__commonJS({"node_modules/discord.js/src/structures/GuildScheduledEvent.js"(exports2){"use strict";var{DiscordSnowflake}=require_cjs2();var{GuildScheduledEventStatus,GuildScheduledEventEntityType,RouteBases}=require_v106();var Base=require_Base();var{DiscordjsError:DiscordjsError2,ErrorCodes:ErrorCodes2}=require_errors6();var GuildScheduledEvent=class extends Base{constructor(client,data){super(client);this.id=data.id;this.guildId=data.guild_id;this._patch(data)}_patch(data){var _a12;if("channel_id"in data){this.channelId=data.channel_id}else{this.channelId??=null}if("creator_id"in data){this.creatorId=data.creator_id}else{this.creatorId??=null}this.name=data.name;if("description"in data){this.description=data.description}else{this.description??=null}this.scheduledStartTimestamp=data.scheduled_start_time?Date.parse(data.scheduled_start_time):null;this.scheduledEndTimestamp=data.scheduled_end_time?Date.parse(data.scheduled_end_time):null;this.privacyLevel=data.privacy_level;this.status=data.status;this.entityType=data.entity_type;if("entity_id"in data){this.entityId=data.entity_id}else{this.entityId??=null}if("user_count"in data){this.userCount=data.user_count}else{this.userCount??=null}if("creator"in data){this.creator=this.client.users._add(data.creator)}else{this.creator??=this.client.users.resolve(this.creatorId)}if("entity_metadata"in data){if(data.entity_metadata){this.entityMetadata={location:data.entity_metadata.location??((_a12=this.entityMetadata)==null?void 0:_a12.location)??null}}else{this.entityMetadata=null}}else{this.entityMetadata??=null}if("image"in data){this.image=data.image}else{this.image??=null}}coverImageURL(options={}){return this.image&&this.client.rest.cdn.guildScheduledEventCover(this.id,this.image,options)}get createdTimestamp(){return DiscordSnowflake.timestampFrom(this.id)}get createdAt(){return new Date(this.createdTimestamp)}get scheduledStartAt(){return this.scheduledStartTimestamp&&new Date(this.scheduledStartTimestamp)}get scheduledEndAt(){return this.scheduledEndTimestamp&&new Date(this.scheduledEndTimestamp)}get channel(){return this.client.channels.resolve(this.channelId)}get guild(){return this.client.guilds.resolve(this.guildId)}get url(){return`${RouteBases.scheduledEvent}/${this.guildId}/${this.id}`}async createInviteURL(options){let channelId=this.channelId;if(this.entityType===GuildScheduledEventEntityType.External){if(!(options==null?void 0:options.channel))throw new DiscordjsError2(ErrorCodes2.InviteOptionsMissingChannel);channelId=this.guild.channels.resolveId(options.channel);if(!channelId)throw new DiscordjsError2(ErrorCodes2.GuildChannelResolve)}const invite=await this.guild.invites.create(channelId,options);return`${RouteBases.invite}/${invite.code}?event=${this.id}`}edit(options){return this.guild.scheduledEvents.edit(this.id,options)}async delete(){await this.guild.scheduledEvents.delete(this.id);return this}setName(name,reason){return this.edit({name,reason})}setScheduledStartTime(scheduledStartTime,reason){return this.edit({scheduledStartTime,reason})}setScheduledEndTime(scheduledEndTime,reason){return this.edit({scheduledEndTime,reason})}setDescription(description,reason){return this.edit({description,reason})}setStatus(status,reason){return this.edit({status,reason})}setLocation(location,reason){return this.edit({entityMetadata:{location},reason})}fetchSubscribers(options){return this.guild.scheduledEvents.fetchSubscribers(this.id,options)}toString(){return this.url}isActive(){return this.status===GuildScheduledEventStatus.Active}isCanceled(){return this.status===GuildScheduledEventStatus.Canceled}isCompleted(){return this.status===GuildScheduledEventStatus.Completed}isScheduled(){return this.status===GuildScheduledEventStatus.Scheduled}};exports2.GuildScheduledEvent=GuildScheduledEvent}});var require_Application=__commonJS({"node_modules/discord.js/src/structures/interfaces/Application.js"(exports2,module2){"use strict";var{DiscordSnowflake}=require_cjs2();var Base=require_Base();var Application=class extends Base{constructor(client,data){super(client);this._patch(data)}_patch(data){this.id=data.id;if("name"in data){this.name=data.name}else{this.name??=null}if("description"in data){this.description=data.description}else{this.description??=null}if("icon"in data){this.icon=data.icon}else{this.icon??=null}}get createdTimestamp(){return DiscordSnowflake.timestampFrom(this.id)}get createdAt(){return new Date(this.createdTimestamp)}iconURL(options={}){return this.icon&&this.client.rest.cdn.appIcon(this.id,this.icon,options)}coverURL(options={}){return this.cover&&this.client.rest.cdn.appIcon(this.id,this.cover,options)}toString(){return this.name}toJSON(){return super.toJSON({createdTimestamp:true})}};module2.exports=Application}});var require_IntegrationApplication=__commonJS({"node_modules/discord.js/src/structures/IntegrationApplication.js"(exports2,module2){"use strict";var Application=require_Application();var IntegrationApplication=class extends Application{_patch(data){super._patch(data);if("bot"in data){this.bot=this.client.users._add(data.bot)}else{this.bot??=null}if("terms_of_service_url"in data){this.termsOfServiceURL=data.terms_of_service_url}else{this.termsOfServiceURL??=null}if("privacy_policy_url"in data){this.privacyPolicyURL=data.privacy_policy_url}else{this.privacyPolicyURL??=null}if("rpc_origins"in data){this.rpcOrigins=data.rpc_origins}else{this.rpcOrigins??=[]}if("hook"in data){this.hook=data.hook}else{this.hook??=null}if("cover_image"in data){this.cover=data.cover_image}else{this.cover??=null}if("verify_key"in data){this.verifyKey=data.verify_key}else{this.verifyKey??=null}}};module2.exports=IntegrationApplication}});var require_InviteStageInstance=__commonJS({"node_modules/discord.js/src/structures/InviteStageInstance.js"(exports2,module2){"use strict";var{Collection:Collection2}=require_dist();var Base=require_Base();var InviteStageInstance=class extends Base{constructor(client,data,channelId,guildId){super(client);this.channelId=channelId;this.guildId=guildId;this.members=new Collection2;this._patch(data)}_patch(data){if("topic"in data){this.topic=data.topic}if("participant_count"in data){this.participantCount=data.participant_count}if("speaker_count"in data){this.speakerCount=data.speaker_count}this.members.clear();for(const rawMember of data.members){const member=this.guild.members._add(rawMember);this.members.set(member.id,member)}}get channel(){return this.client.channels.resolve(this.channelId)}get guild(){return this.client.guilds.resolve(this.guildId)}};module2.exports=InviteStageInstance}});var require_BaseGuild=__commonJS({"node_modules/discord.js/src/structures/BaseGuild.js"(exports2,module2){"use strict";var{makeURLSearchParams:makeURLSearchParams2}=require_dist3();var{DiscordSnowflake}=require_cjs2();var{Routes:Routes2,GuildFeature}=require_v106();var Base=require_Base();var BaseGuild=class extends Base{constructor(client,data){super(client);this.id=data.id;this.name=data.name;this.icon=data.icon;this.features=data.features}get createdTimestamp(){return DiscordSnowflake.timestampFrom(this.id)}get createdAt(){return new Date(this.createdTimestamp)}get nameAcronym(){return this.name.replace(/'s /g," ").replace(/\w+/g,e=>e[0]).replace(/\s/g,"")}get partnered(){return this.features.includes(GuildFeature.Partnered)}get verified(){return this.features.includes(GuildFeature.Verified)}iconURL(options={}){return this.icon&&this.client.rest.cdn.icon(this.id,this.icon,options)}async fetch(){const data=await this.client.rest.get(Routes2.guild(this.id),{query:makeURLSearchParams2({with_counts:true})});return this.client.guilds._add(data)}toString(){return this.name}};module2.exports=BaseGuild}});var require_AnonymousGuild=__commonJS({"node_modules/discord.js/src/structures/AnonymousGuild.js"(exports2,module2){"use strict";var BaseGuild=require_BaseGuild();var AnonymousGuild=class extends BaseGuild{constructor(client,data,immediatePatch=true){super(client,data);if(immediatePatch)this._patch(data)}_patch(data){if("features"in data)this.features=data.features;if("splash"in data){this.splash=data.splash}if("banner"in data){this.banner=data.banner}if("description"in data){this.description=data.description}if("verification_level"in data){this.verificationLevel=data.verification_level}if("vanity_url_code"in data){this.vanityURLCode=data.vanity_url_code}if("nsfw_level"in data){this.nsfwLevel=data.nsfw_level}if("premium_subscription_count"in data){this.premiumSubscriptionCount=data.premium_subscription_count}else{this.premiumSubscriptionCount??=null}}bannerURL(options={}){return this.banner&&this.client.rest.cdn.banner(this.id,this.banner,options)}splashURL(options={}){return this.splash&&this.client.rest.cdn.splash(this.id,this.splash,options)}};module2.exports=AnonymousGuild}});var require_Emoji=__commonJS({"node_modules/discord.js/src/structures/Emoji.js"(exports2){"use strict";var{DiscordSnowflake}=require_cjs2();var Base=require_Base();var Emoji=class extends Base{constructor(client,emoji){super(client);this.animated=emoji.animated??null;this.name=emoji.name??null;this.id=emoji.id}get identifier(){if(this.id)return`${this.animated?"a:":""}${this.name}:${this.id}`;return encodeURIComponent(this.name)}get url(){return this.id&&this.client.rest.cdn.emoji(this.id,this.animated?"gif":"png")}get createdTimestamp(){return this.id&&DiscordSnowflake.timestampFrom(this.id)}get createdAt(){return this.id&&new Date(this.createdTimestamp)}toString(){return this.id?`<${this.animated?"a":""}:${this.name}:${this.id}>`:this.name}toJSON(){return super.toJSON({guild:"guildId",createdTimestamp:true,url:true,identifier:true})}};exports2.Emoji=Emoji}});var require_WelcomeChannel=__commonJS({"node_modules/discord.js/src/structures/WelcomeChannel.js"(exports2,module2){"use strict";var Base=require_Base();var{Emoji}=require_Emoji();var WelcomeChannel=class extends Base{constructor(guild2,data){super(guild2.client);this.guild=guild2;this.description=data.description;this._emoji={name:data.emoji_name,id:data.emoji_id};this.channelId=data.channel_id}get channel(){return this.client.channels.resolve(this.channelId)}get emoji(){return this.client.emojis.resolve(this._emoji.id)??new Emoji(this.client,this._emoji)}};module2.exports=WelcomeChannel}});var require_WelcomeScreen=__commonJS({"node_modules/discord.js/src/structures/WelcomeScreen.js"(exports2,module2){"use strict";var{Collection:Collection2}=require_dist();var{GuildFeature}=require_v106();var Base=require_Base();var WelcomeChannel=require_WelcomeChannel();var WelcomeScreen=class extends Base{constructor(guild2,data){super(guild2.client);this.guild=guild2;this.description=data.description??null;this.welcomeChannels=new Collection2;for(const channel of data.welcome_channels){const welcomeChannel=new WelcomeChannel(this.guild,channel);this.welcomeChannels.set(welcomeChannel.channelId,welcomeChannel)}}get enabled(){return this.guild.features.includes(GuildFeature.WelcomeScreenEnabled)}};module2.exports=WelcomeScreen}});var require_InviteGuild=__commonJS({"node_modules/discord.js/src/structures/InviteGuild.js"(exports2,module2){"use strict";var AnonymousGuild=require_AnonymousGuild();var WelcomeScreen=require_WelcomeScreen();var InviteGuild=class extends AnonymousGuild{constructor(client,data){super(client,data);this.welcomeScreen=data.welcome_screen!==void 0?new WelcomeScreen(this,data.welcome_screen):null}};module2.exports=InviteGuild}});var require_Invite=__commonJS({"node_modules/discord.js/src/structures/Invite.js"(exports2,module2){"use strict";var{RouteBases,Routes:Routes2,PermissionFlagsBits}=require_v106();var Base=require_Base();var{GuildScheduledEvent}=require_GuildScheduledEvent();var IntegrationApplication=require_IntegrationApplication();var InviteStageInstance=require_InviteStageInstance();var{DiscordjsError:DiscordjsError2,ErrorCodes:ErrorCodes2}=require_errors6();var Invite2=class extends Base{static InvitesPattern=/discord(?:(?:app)?\.com\/invite|\.gg(?:\/invite)?)\/(?<code>[\w-]{2,255})/i;constructor(client,data){super(client);this._patch(data)}_patch(data){const InviteGuild=require_InviteGuild();this.guild??=null;if(data.guild){this.guild=this.client.guilds.resolve(data.guild.id)??new InviteGuild(this.client,data.guild)}if("code"in data){this.code=data.code}if("approximate_presence_count"in data){this.presenceCount=data.approximate_presence_count}else{this.presenceCount??=null}if("approximate_member_count"in data){this.memberCount=data.approximate_member_count}else{this.memberCount??=null}if("temporary"in data){this.temporary=data.temporary??null}else{this.temporary??=null}if("max_age"in data){this.maxAge=data.max_age}else{this.maxAge??=null}if("uses"in data){this.uses=data.uses}else{this.uses??=null}if("max_uses"in data){this.maxUses=data.max_uses}else{this.maxUses??=null}if("inviter_id"in data){this.inviterId=data.inviter_id}else{this.inviterId??=null}if("inviter"in data){this.client.users._add(data.inviter);this.inviterId=data.inviter.id}if("target_user"in data){this.targetUser=this.client.users._add(data.target_user)}else{this.targetUser??=null}if("target_application"in data){this.targetApplication=new IntegrationApplication(this.client,data.target_application)}else{this.targetApplication??=null}if("target_type"in data){this.targetType=data.target_type}else{this.targetType??=null}if("channel_id"in data){this.channelId=data.channel_id}if("channel"in data){this.channel=this.client.channels._add(data.channel,this.guild,{cache:false})??this.client.channels.resolve(this.channelId);this.channelId??=data.channel.id}if("created_at"in data){this.createdTimestamp=Date.parse(data.created_at)}else{this.createdTimestamp??=null}if("expires_at"in data){this._expiresTimestamp=data.expires_at&&Date.parse(data.expires_at)}else{this._expiresTimestamp??=null}if("stage_instance"in data){this.stageInstance=new InviteStageInstance(this.client,data.stage_instance,this.channel.id,this.guild.id)}else{this.stageInstance??=null}if("guild_scheduled_event"in data){this.guildScheduledEvent=new GuildScheduledEvent(this.client,data.guild_scheduled_event)}else{this.guildScheduledEvent??=null}}get createdAt(){return this.createdTimestamp&&new Date(this.createdTimestamp)}get deletable(){var _a12;const guild2=this.guild;if(!guild2||!this.client.guilds.cache.has(guild2.id))return false;if(!guild2.members.me)throw new DiscordjsError2(ErrorCodes2.GuildUncachedMe);return Boolean(((_a12=this.channel)==null?void 0:_a12.permissionsFor(this.client.user).has(PermissionFlagsBits.ManageChannels,false))||guild2.members.me.permissions.has(PermissionFlagsBits.ManageGuild))}get expiresTimestamp(){return this._expiresTimestamp??(this.createdTimestamp&&this.maxAge?this.createdTimestamp+this.maxAge*1e3:null)}get expiresAt(){return this.expiresTimestamp&&new Date(this.expiresTimestamp)}get inviter(){return this.inviterId&&this.client.users.resolve(this.inviterId)}get url(){return`${RouteBases.invite}/${this.code}`}async delete(reason){await this.client.rest.delete(Routes2.invite(this.code),{reason});return this}toString(){return this.url}toJSON(){return super.toJSON({url:true,expiresTimestamp:true,presenceCount:false,memberCount:false,uses:false,channel:"channelId",inviter:"inviterId",guild:"guildId"})}valueOf(){return this.code}};module2.exports=Invite2}});var require_GuildTemplate=__commonJS({"node_modules/discord.js/src/structures/GuildTemplate.js"(exports2,module2){"use strict";var{setTimeout:setTimeout3,clearTimeout:clearTimeout2}=require("node:timers");var{RouteBases,Routes:Routes2}=require_v106();var Base=require_Base();var DataResolver2=require_DataResolver();var Events2=require_Events();var GuildTemplate2=class extends Base{static GuildTemplatesPattern=/discord(?:app)?\.(?:com\/template|new)\/(?<code>[\w-]{2,255})/i;constructor(client,data){super(client);this._patch(data)}_patch(data){if("code"in data){this.code=data.code}if("name"in data){this.name=data.name}if("description"in data){this.description=data.description}if("usage_count"in data){this.usageCount=data.usage_count}if("creator_id"in data){this.creatorId=data.creator_id}if("creator"in data){this.creator=this.client.users._add(data.creator)}if("created_at"in data){this.createdTimestamp=Date.parse(data.created_at)}if("updated_at"in data){this.updatedTimestamp=Date.parse(data.updated_at)}if("source_guild_id"in data){this.guildId=data.source_guild_id}if("serialized_source_guild"in data){this.serializedGuild=data.serialized_source_guild}this.unSynced="is_dirty"in data?Boolean(data.is_dirty):null;return this}async createGuild(name,icon){const{client}=this;const data=await client.rest.post(Routes2.template(this.code),{body:{name,icon:await DataResolver2.resolveImage(icon)}});if(client.guilds.cache.has(data.id))return client.guilds.cache.get(data.id);return new Promise(resolve=>{const resolveGuild=guild2=>{client.off(Events2.GuildCreate,handleGuild);client.decrementMaxListeners();resolve(guild2)};const handleGuild=guild2=>{if(guild2.id===data.id){clearTimeout2(timeout);resolveGuild(guild2)}};client.incrementMaxListeners();client.on(Events2.GuildCreate,handleGuild);const timeout=setTimeout3(()=>resolveGuild(client.guilds._add(data)),1e4).unref()})}async edit({name,description}={}){const data=await this.client.rest.patch(Routes2.guildTemplate(this.guildId,this.code),{body:{name,description}});return this._patch(data)}async delete(){await this.client.rest.delete(Routes2.guildTemplate(this.guildId,this.code));return this}async sync(){const data=await this.client.rest.put(Routes2.guildTemplate(this.guildId,this.code));return this._patch(data)}get createdAt(){return new Date(this.createdTimestamp)}get updatedAt(){return new Date(this.updatedTimestamp)}get guild(){return this.client.guilds.resolve(this.guildId)}get url(){return`${RouteBases.template}/${this.code}`}toString(){return this.code}};module2.exports=GuildTemplate2}});var require_DataResolver=__commonJS({"node_modules/discord.js/src/util/DataResolver.js"(exports2,module2){"use strict";var{Buffer:Buffer12}=require("node:buffer");var fs14=require("node:fs/promises");var path27=require("node:path");var{fetch}=require_undici();var{DiscordjsError:DiscordjsError2,DiscordjsTypeError:DiscordjsTypeError2,ErrorCodes:ErrorCodes2}=require_errors6();var Invite2=require_Invite();var DataResolver2=class extends null{static resolveCode(data,regex3){var _a12;return((_a12=regex3.exec(data))==null?void 0:_a12[1])??data}static resolveInviteCode(data){return this.resolveCode(data,Invite2.InvitesPattern)}static resolveGuildTemplateCode(data){const GuildTemplate2=require_GuildTemplate();return this.resolveCode(data,GuildTemplate2.GuildTemplatesPattern)}static async resolveImage(image){if(!image)return null;if(typeof image==="string"&&image.startsWith("data:")){return image}const file=await this.resolveFile(image);return this.resolveBase64(file.data)}static resolveBase64(data){if(Buffer12.isBuffer(data))return`data:image/jpg;base64,${data.toString("base64")}`;return data}static async resolveFile(resource){if(Buffer12.isBuffer(resource))return{data:resource};if(typeof resource[Symbol.asyncIterator]==="function"){const buffers=[];for await(const data of resource)buffers.push(Buffer12.from(data));return{data:Buffer12.concat(buffers)}}if(typeof resource==="string"){if(/^https?:\/\//.test(resource)){const res=await fetch(resource);return{data:Buffer12.from(await res.arrayBuffer()),contentType:res.headers.get("content-type")}}const file=path27.resolve(resource);const stats=await fs14.stat(file);if(!stats.isFile())throw new DiscordjsError2(ErrorCodes2.FileNotFound,file);return{data:await fs14.readFile(file)}}throw new DiscordjsTypeError2(ErrorCodes2.ReqResourceType)}};module2.exports=DataResolver2}});var require_MessageFlagsBitField=__commonJS({"node_modules/discord.js/src/util/MessageFlagsBitField.js"(exports2,module2){"use strict";var{MessageFlags}=require_v106();var BitField=require_BitField();var MessageFlagsBitField=class extends BitField{static Flags=MessageFlags};module2.exports=MessageFlagsBitField}});var require_BaseInteraction=__commonJS({"node_modules/discord.js/src/structures/BaseInteraction.js"(exports2,module2){"use strict";var{deprecate:deprecate2}=require("node:util");var{DiscordSnowflake}=require_cjs2();var{InteractionType:InteractionType2,ApplicationCommandType:ApplicationCommandType2,ComponentType}=require_v106();var Base=require_Base();var{SelectMenuTypes}=require_Constants();var PermissionsBitField2=require_PermissionsBitField();var BaseInteraction=class extends Base{constructor(client,data){var _a12,_b2,_c;super(client);this.type=data.type;this.id=data.id;Object.defineProperty(this,"token",{value:data.token});this.applicationId=data.application_id;this.channelId=((_a12=data.channel)==null?void 0:_a12.id)??null;this.guildId=data.guild_id??null;this.user=this.client.users._add(data.user??data.member.user);this.member=data.member?((_b2=this.guild)==null?void 0:_b2.members._add(data.member))??data.member:null;this.version=data.version;this.appPermissions=data.app_permissions?new PermissionsBitField2(data.app_permissions).freeze():null;this.memberPermissions=((_c=data.member)==null?void 0:_c.permissions)?new PermissionsBitField2(data.member.permissions).freeze():null;this.locale=data.locale;this.guildLocale=data.guild_locale??null}get createdTimestamp(){return DiscordSnowflake.timestampFrom(this.id)}get createdAt(){return new Date(this.createdTimestamp)}get channel(){return this.client.channels.cache.get(this.channelId)??null}get guild(){return this.client.guilds.cache.get(this.guildId)??null}inGuild(){return Boolean(this.guildId&&this.member)}inCachedGuild(){return Boolean(this.guild&&this.member)}inRawGuild(){return Boolean(this.guildId&&!this.guild&&this.member)}isAutocomplete(){return this.type===InteractionType2.ApplicationCommandAutocomplete}isCommand(){return this.type===InteractionType2.ApplicationCommand}isChatInputCommand(){return this.type===InteractionType2.ApplicationCommand&&this.commandType===ApplicationCommandType2.ChatInput}isContextMenuCommand(){return this.type===InteractionType2.ApplicationCommand&&[ApplicationCommandType2.User,ApplicationCommandType2.Message].includes(this.commandType)}isMessageComponent(){return this.type===InteractionType2.MessageComponent}isModalSubmit(){return this.type===InteractionType2.ModalSubmit}isUserContextMenuCommand(){return this.isContextMenuCommand()&&this.commandType===ApplicationCommandType2.User}isMessageContextMenuCommand(){return this.isContextMenuCommand()&&this.commandType===ApplicationCommandType2.Message}isButton(){return this.type===InteractionType2.MessageComponent&&this.componentType===ComponentType.Button}isSelectMenu(){return this.isStringSelectMenu()}isAnySelectMenu(){return this.type===InteractionType2.MessageComponent&&SelectMenuTypes.includes(this.componentType)}isStringSelectMenu(){return this.type===InteractionType2.MessageComponent&&this.componentType===ComponentType.StringSelect}isUserSelectMenu(){return this.type===InteractionType2.MessageComponent&&this.componentType===ComponentType.UserSelect}isRoleSelectMenu(){return this.type===InteractionType2.MessageComponent&&this.componentType===ComponentType.RoleSelect}isChannelSelectMenu(){return this.type===InteractionType2.MessageComponent&&this.componentType===ComponentType.ChannelSelect}isMentionableSelectMenu(){return this.type===InteractionType2.MessageComponent&&this.componentType===ComponentType.MentionableSelect}isRepliable(){return![InteractionType2.Ping,InteractionType2.ApplicationCommandAutocomplete].includes(this.type)}};BaseInteraction.prototype.isSelectMenu=deprecate2(BaseInteraction.prototype.isSelectMenu,"BaseInteraction#isSelectMenu() is deprecated. Use BaseInteraction#isStringSelectMenu() instead.");module2.exports=BaseInteraction}});var require_Attachment=__commonJS({"node_modules/discord.js/src/structures/Attachment.js"(exports2,module2){"use strict";var{basename:basename2,flatten:flatten2}=require_Util();var Attachment=class{constructor(data){this.attachment=data.url;this.name=data.filename;this._patch(data)}_patch(data){this.id=data.id;if("size"in data){this.size=data.size}if("url"in data){this.url=data.url}if("proxy_url"in data){this.proxyURL=data.proxy_url}if("height"in data){this.height=data.height}else{this.height??=null}if("width"in data){this.width=data.width}else{this.width??=null}if("content_type"in data){this.contentType=data.content_type}else{this.contentType??=null}if("description"in data){this.description=data.description}else{this.description??=null}this.ephemeral=data.ephemeral??false;if("duration_secs"in data){this.duration=data.duration_secs}else{this.duration??=null}if("waveform"in data){this.waveform=data.waveform}else{this.waveform??=null}}get spoiler(){return basename2(this.url??this.name).startsWith("SPOILER_")}toJSON(){return flatten2(this)}};module2.exports=Attachment}});var require_ApplicationRoleConnectionMetadata=__commonJS({"node_modules/discord.js/src/structures/ApplicationRoleConnectionMetadata.js"(exports2){"use strict";var ApplicationRoleConnectionMetadata=class{constructor(data){this.name=data.name;this.nameLocalizations=data.name_localizations??null;this.description=data.description;this.descriptionLocalizations=data.description_localizations??null;this.key=data.key;this.type=data.type}};exports2.ApplicationRoleConnectionMetadata=ApplicationRoleConnectionMetadata}});var require_TeamMember=__commonJS({"node_modules/discord.js/src/structures/TeamMember.js"(exports2,module2){"use strict";var Base=require_Base();var TeamMember=class extends Base{constructor(team,data){super(team.client);this.team=team;this._patch(data)}_patch(data){if("permissions"in data){this.permissions=data.permissions}if("membership_state"in data){this.membershipState=data.membership_state}if("user"in data){this.user=this.client.users._add(data.user)}}get id(){return this.user.id}toString(){return this.user.toString()}};module2.exports=TeamMember}});var require_Team=__commonJS({"node_modules/discord.js/src/structures/Team.js"(exports2,module2){"use strict";var{Collection:Collection2}=require_dist();var{DiscordSnowflake}=require_cjs2();var Base=require_Base();var TeamMember=require_TeamMember();var Team=class extends Base{constructor(client,data){super(client);this._patch(data)}_patch(data){this.id=data.id;if("name"in data){this.name=data.name}if("icon"in data){this.icon=data.icon}else{this.icon??=null}if("owner_user_id"in data){this.ownerId=data.owner_user_id}else{this.ownerId??=null}this.members=new Collection2;for(const memberData of data.members){const member=new TeamMember(this,memberData);this.members.set(member.id,member)}}get owner(){return this.members.get(this.ownerId)??null}get createdTimestamp(){return DiscordSnowflake.timestampFrom(this.id)}get createdAt(){return new Date(this.createdTimestamp)}iconURL(options={}){return this.icon&&this.client.rest.cdn.teamIcon(this.id,this.icon,options)}toString(){return this.name}toJSON(){return super.toJSON({createdTimestamp:true})}};module2.exports=Team}});var require_ApplicationCommandPermissionsManager=__commonJS({"node_modules/discord.js/src/managers/ApplicationCommandPermissionsManager.js"(exports2,module2){"use strict";var{Collection:Collection2}=require_dist();var{ApplicationCommandPermissionType,RESTJSONErrorCodes,Routes:Routes2}=require_v106();var BaseManager=require_BaseManager();var{DiscordjsError:DiscordjsError2,DiscordjsTypeError:DiscordjsTypeError2,ErrorCodes:ErrorCodes2}=require_errors6();var ApplicationCommandPermissionsManager=class extends BaseManager{constructor(manager){var _a12;super(manager.client);this.manager=manager;this.guild=manager.guild??null;this.guildId=manager.guildId??((_a12=manager.guild)==null?void 0:_a12.id)??null;this.commandId=manager.id??null}permissionsPath(guildId,commandId){if(commandId){return Routes2.applicationCommandPermissions(this.client.application.id,guildId,commandId)}return Routes2.guildApplicationCommandsPermissions(this.client.application.id,guildId)}async fetch({guild:guild2,command}={}){const{guildId,commandId}=this._validateOptions(guild2,command);if(commandId){const data2=await this.client.rest.get(this.permissionsPath(guildId,commandId));return data2.permissions}const data=await this.client.rest.get(this.permissionsPath(guildId));return data.reduce((coll,perm)=>coll.set(perm.id,perm.permissions),new Collection2)}async set({guild:guild2,command,permissions,token:token3}={}){if(!token3){throw new DiscordjsError2(ErrorCodes2.ApplicationCommandPermissionsTokenMissing)}let{guildId,commandId}=this._validateOptions(guild2,command);if(!Array.isArray(permissions)){throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"permissions","Array of ApplicationCommandPermissions",true)}if(!commandId){commandId=this.client.user.id}const data=await this.client.rest.put(this.permissionsPath(guildId,commandId),{body:{permissions},auth:false,headers:{Authorization:`Bearer ${token3}`}});return data.permissions}async add({guild:guild2,command,permissions,token:token3}={}){if(!token3){throw new DiscordjsError2(ErrorCodes2.ApplicationCommandPermissionsTokenMissing)}let{guildId,commandId}=this._validateOptions(guild2,command);if(!commandId){commandId=this.client.user.id}if(!Array.isArray(permissions)){throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"permissions","Array of ApplicationCommandPermissions",true)}let existing=[];try{existing=await this.fetch({guild:guildId,command:commandId})}catch(error){if(error.code!==RESTJSONErrorCodes.UnknownApplicationCommandPermissions)throw error}const newPermissions=permissions.slice();for(const perm of existing){if(!newPermissions.some(x=>x.id===perm.id)){newPermissions.push(perm)}}return this.set({guild:guildId,command:commandId,permissions:newPermissions,token:token3})}async remove({guild:guild2,command,users,roles,channels,token:token3}={}){if(!token3){throw new DiscordjsError2(ErrorCodes2.ApplicationCommandPermissionsTokenMissing)}let{guildId,commandId}=this._validateOptions(guild2,command);if(!commandId){commandId=this.client.user.id}if(!users&&!roles&&!channels){throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"users OR roles OR channels","Array or Resolvable",true)}let resolvedUserIds=[];if(Array.isArray(users)){for(const user of users){const userId=this.client.users.resolveId(user);if(!userId)throw new DiscordjsTypeError2(ErrorCodes2.InvalidElement,"Array","users",user);resolvedUserIds.push(userId)}}let resolvedRoleIds=[];if(Array.isArray(roles)){for(const role of roles){if(typeof role==="string"){resolvedRoleIds.push(role);continue}if(!this.guild)throw new DiscordjsError2(ErrorCodes2.GuildUncachedEntityResolve,"roles");const roleId=this.guild.roles.resolveId(role);if(!roleId)throw new DiscordjsTypeError2(ErrorCodes2.InvalidElement,"Array","users",role);resolvedRoleIds.push(roleId)}}let resolvedChannelIds=[];if(Array.isArray(channels)){for(const channel of channels){if(typeof channel==="string"){resolvedChannelIds.push(channel);continue}if(!this.guild)throw new DiscordjsError2(ErrorCodes2.GuildUncachedEntityResolve,"channels");const channelId=this.guild.channels.resolveId(channel);if(!channelId)throw new DiscordjsTypeError2(ErrorCodes2.InvalidElement,"Array","channels",channel);resolvedChannelIds.push(channelId)}}let existing=[];try{existing=await this.fetch({guild:guildId,command:commandId})}catch(error){if(error.code!==RESTJSONErrorCodes.UnknownApplicationCommandPermissions)throw error}const permissions=existing.filter(perm=>{switch(perm.type){case ApplicationCommandPermissionType.Role:return!resolvedRoleIds.includes(perm.id);case ApplicationCommandPermissionType.User:return!resolvedUserIds.includes(perm.id);case ApplicationCommandPermissionType.Channel:return!resolvedChannelIds.includes(perm.id)}return true});return this.set({guild:guildId,command:commandId,permissions,token:token3})}async has({guild:guild2,command,permissionId,permissionType}){const{guildId,commandId}=this._validateOptions(guild2,command);if(!commandId)throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"command","ApplicationCommandResolvable");if(!permissionId){throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"permissionId","UserResolvable, RoleResolvable, ChannelResolvable, or Permission Constant")}let resolvedId=permissionId;if(typeof permissionId!=="string"){resolvedId=this.client.users.resolveId(permissionId);if(!resolvedId){if(!this.guild)throw new DiscordjsError2(ErrorCodes2.GuildUncachedEntityResolve,"roles");resolvedId=this.guild.roles.resolveId(permissionId)}if(!resolvedId){resolvedId=this.guild.channels.resolveId(permissionId)}if(!resolvedId){throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"permissionId","UserResolvable, RoleResolvable, ChannelResolvable, or Permission Constant")}}let existing=[];try{existing=await this.fetch({guild:guildId,command:commandId})}catch(error){if(error.code!==RESTJSONErrorCodes.UnknownApplicationCommandPermissions)throw error}return existing.some(perm=>perm.id===resolvedId&&(permissionType??perm.type)===perm.type)}_validateOptions(guild2,command){var _a12,_b2,_c;const guildId=this.guildId??this.client.guilds.resolveId(guild2);if(!guildId)throw new DiscordjsError2(ErrorCodes2.GlobalCommandPermissions);let commandId=this.commandId;if(command&&!commandId){commandId=(_b2=(_a12=this.manager).resolveId)==null?void 0:_b2.call(_a12,command);if(!commandId&&this.guild){commandId=this.guild.commands.resolveId(command)}commandId??=(_c=this.client.application)==null?void 0:_c.commands.resolveId(command);if(!commandId){throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"command","ApplicationCommandResolvable",true)}}return{guildId,commandId}}};module2.exports=ApplicationCommandPermissionsManager}});var require_ApplicationCommand=__commonJS({"node_modules/discord.js/src/structures/ApplicationCommand.js"(exports2,module2){"use strict";var{DiscordSnowflake}=require_cjs2();var{ApplicationCommandOptionType:ApplicationCommandOptionType2}=require_v106();var isEqual2=require_fast_deep_equal();var Base=require_Base();var ApplicationCommandPermissionsManager=require_ApplicationCommandPermissionsManager();var PermissionsBitField2=require_PermissionsBitField();var ApplicationCommand=class extends Base{constructor(client,data,guild2,guildId){super(client);this.id=data.id;this.applicationId=data.application_id;this.guild=guild2??null;this.guildId=(guild2==null?void 0:guild2.id)??guildId??null;this.permissions=new ApplicationCommandPermissionsManager(this);this.type=data.type;this.nsfw=data.nsfw??false;this._patch(data)}_patch(data){if("name"in data){this.name=data.name}if("name_localizations"in data){this.nameLocalizations=data.name_localizations}else{this.nameLocalizations??=null}if("name_localized"in data){this.nameLocalized=data.name_localized}else{this.nameLocalized??=null}if("description"in data){this.description=data.description}if("description_localizations"in data){this.descriptionLocalizations=data.description_localizations}else{this.descriptionLocalizations??=null}if("description_localized"in data){this.descriptionLocalized=data.description_localized}else{this.descriptionLocalized??=null}if("options"in data){this.options=data.options.map(o=>this.constructor.transformOption(o,true))}else{this.options??=[]}if("default_member_permissions"in data){this.defaultMemberPermissions=data.default_member_permissions?new PermissionsBitField2(BigInt(data.default_member_permissions)).freeze():null}else{this.defaultMemberPermissions??=null}if("dm_permission"in data){this.dmPermission=data.dm_permission}else{this.dmPermission??=null}if("version"in data){this.version=data.version}}get createdTimestamp(){return DiscordSnowflake.timestampFrom(this.id)}get createdAt(){return new Date(this.createdTimestamp)}get manager(){return(this.guild??this.client.application).commands}edit(data){return this.manager.edit(this,data,this.guildId)}setName(name){return this.edit({name})}setNameLocalizations(nameLocalizations){return this.edit({nameLocalizations})}setDescription(description){return this.edit({description})}setDescriptionLocalizations(descriptionLocalizations){return this.edit({descriptionLocalizations})}setDefaultMemberPermissions(defaultMemberPermissions){return this.edit({defaultMemberPermissions})}setDMPermission(dmPermission=true){return this.edit({dmPermission})}setOptions(options){return this.edit({options})}delete(){return this.manager.delete(this,this.guildId)}equals(command,enforceOptionOrder=false){var _a12,_b2,_c;if(command.id&&this.id!==command.id)return false;let defaultMemberPermissions=null;let dmPermission=command.dmPermission??command.dm_permission;if("default_member_permissions"in command){defaultMemberPermissions=command.default_member_permissions?new PermissionsBitField2(BigInt(command.default_member_permissions)).bitfield:null}if("defaultMemberPermissions"in command){defaultMemberPermissions=command.defaultMemberPermissions!==null?new PermissionsBitField2(command.defaultMemberPermissions).bitfield:null}if(command.name!==this.name||"description"in command&&command.description!==this.description||"version"in command&&command.version!==this.version||command.type&&command.type!==this.type||"nsfw"in command&&command.nsfw!==this.nsfw||(((_a12=command.options)==null?void 0:_a12.length)??0)!==(((_b2=this.options)==null?void 0:_b2.length)??0)||defaultMemberPermissions!==(((_c=this.defaultMemberPermissions)==null?void 0:_c.bitfield)??null)||dmPermission!==void 0&&dmPermission!==this.dmPermission||!isEqual2(command.nameLocalizations??command.name_localizations??{},this.nameLocalizations??{})||!isEqual2(command.descriptionLocalizations??command.description_localizations??{},this.descriptionLocalizations??{})){return false}if(command.options){return this.constructor.optionsEqual(this.options,command.options,enforceOptionOrder)}return true}static optionsEqual(existing,options,enforceOptionOrder=false){if(existing.length!==options.length)return false;if(enforceOptionOrder){return existing.every((option,index)=>this._optionEquals(option,options[index],enforceOptionOrder))}const newOptions=new Map(options.map(option=>[option.name,option]));for(const option of existing){const foundOption=newOptions.get(option.name);if(!foundOption||!this._optionEquals(option,foundOption))return false}return true}static _optionEquals(existing,option,enforceOptionOrder=false){var _a12,_b2,_c,_d,_e,_f;if(option.name!==existing.name||option.type!==existing.type||option.description!==existing.description||option.autocomplete!==existing.autocomplete||(option.required??([ApplicationCommandOptionType2.Subcommand,ApplicationCommandOptionType2.SubcommandGroup].includes(option.type)?void 0:false))!==existing.required||((_a12=option.choices)==null?void 0:_a12.length)!==((_b2=existing.choices)==null?void 0:_b2.length)||((_c=option.options)==null?void 0:_c.length)!==((_d=existing.options)==null?void 0:_d.length)||((_e=option.channelTypes??option.channel_types)==null?void 0:_e.length)!==((_f=existing.channelTypes)==null?void 0:_f.length)||(option.minValue??option.min_value)!==existing.minValue||(option.maxValue??option.max_value)!==existing.maxValue||(option.minLength??option.min_length)!==existing.minLength||(option.maxLength??option.max_length)!==existing.maxLength||!isEqual2(option.nameLocalizations??option.name_localizations??{},existing.nameLocalizations??{})||!isEqual2(option.descriptionLocalizations??option.description_localizations??{},existing.descriptionLocalizations??{})){return false}if(existing.choices){if(enforceOptionOrder&&!existing.choices.every((choice,index)=>choice.name===option.choices[index].name&&choice.value===option.choices[index].value&&isEqual2(choice.nameLocalizations??{},option.choices[index].nameLocalizations??option.choices[index].name_localizations??{}))){return false}if(!enforceOptionOrder){const newChoices=new Map(option.choices.map(choice=>[choice.name,choice]));for(const choice of existing.choices){const foundChoice=newChoices.get(choice.name);if(!foundChoice||foundChoice.value!==choice.value)return false}}}if(existing.channelTypes){const newTypes=option.channelTypes??option.channel_types;for(const type2 of existing.channelTypes){if(!newTypes.includes(type2))return false}}if(existing.options){return this.optionsEqual(existing.options,option.options,enforceOptionOrder)}return true}static transformOption(option,received){var _a12,_b2;const channelTypesKey=received?"channelTypes":"channel_types";const minValueKey=received?"minValue":"min_value";const maxValueKey=received?"maxValue":"max_value";const minLengthKey=received?"minLength":"min_length";const maxLengthKey=received?"maxLength":"max_length";const nameLocalizationsKey=received?"nameLocalizations":"name_localizations";const nameLocalizedKey=received?"nameLocalized":"name_localized";const descriptionLocalizationsKey=received?"descriptionLocalizations":"description_localizations";const descriptionLocalizedKey=received?"descriptionLocalized":"description_localized";return{type:option.type,name:option.name,[nameLocalizationsKey]:option.nameLocalizations??option.name_localizations,[nameLocalizedKey]:option.nameLocalized??option.name_localized,description:option.description,[descriptionLocalizationsKey]:option.descriptionLocalizations??option.description_localizations,[descriptionLocalizedKey]:option.descriptionLocalized??option.description_localized,required:option.required??(option.type===ApplicationCommandOptionType2.Subcommand||option.type===ApplicationCommandOptionType2.SubcommandGroup?void 0:false),autocomplete:option.autocomplete,choices:(_a12=option.choices)==null?void 0:_a12.map(choice=>({name:choice.name,[nameLocalizedKey]:choice.nameLocalized??choice.name_localized,[nameLocalizationsKey]:choice.nameLocalizations??choice.name_localizations,value:choice.value})),options:(_b2=option.options)==null?void 0:_b2.map(o=>this.transformOption(o,received)),[channelTypesKey]:option.channelTypes??option.channel_types,[minValueKey]:option.minValue??option.min_value,[maxValueKey]:option.maxValue??option.max_value,[minLengthKey]:option.minLength??option.min_length,[maxLengthKey]:option.maxLength??option.max_length}}};module2.exports=ApplicationCommand}});var require_ApplicationCommandManager=__commonJS({"node_modules/discord.js/src/managers/ApplicationCommandManager.js"(exports2,module2){"use strict";var{Collection:Collection2}=require_dist();var{makeURLSearchParams:makeURLSearchParams2}=require_dist3();var{isJSONEncodable}=require_dist2();var{Routes:Routes2}=require_v106();var ApplicationCommandPermissionsManager=require_ApplicationCommandPermissionsManager();var CachedManager=require_CachedManager();var{DiscordjsTypeError:DiscordjsTypeError2,ErrorCodes:ErrorCodes2}=require_errors6();var ApplicationCommand=require_ApplicationCommand();var PermissionsBitField2=require_PermissionsBitField();var ApplicationCommandManager=class extends CachedManager{constructor(client,iterable){super(client,ApplicationCommand,iterable);this.permissions=new ApplicationCommandPermissionsManager(this)}_add(data,cache2,guildId){return super._add(data,cache2,{extras:[this.guild,guildId]})}commandPath({id,guildId}={}){var _a12,_b2;if(this.guild??guildId){if(id){return Routes2.applicationGuildCommand(this.client.application.id,((_a12=this.guild)==null?void 0:_a12.id)??guildId,id)}return Routes2.applicationGuildCommands(this.client.application.id,((_b2=this.guild)==null?void 0:_b2.id)??guildId)}if(id){return Routes2.applicationCommand(this.client.application.id,id)}return Routes2.applicationCommands(this.client.application.id)}async fetch(id,{guildId,cache:cache2=true,force=false,locale,withLocalizations}={}){if(typeof id==="object"){({guildId,cache:cache2=true,locale,withLocalizations}=id)}else if(id){if(!force){const existing=this.cache.get(id);if(existing)return existing}const command=await this.client.rest.get(this.commandPath({id,guildId}));return this._add(command,cache2)}const data=await this.client.rest.get(this.commandPath({guildId}),{headers:{"X-Discord-Locale":locale},query:makeURLSearchParams2({with_localizations:withLocalizations})});return data.reduce((coll,command)=>coll.set(command.id,this._add(command,cache2,guildId)),new Collection2)}async create(command,guildId){const data=await this.client.rest.post(this.commandPath({guildId}),{body:this.constructor.transformCommand(command)});return this._add(data,true,guildId)}async set(commands,guildId){const data=await this.client.rest.put(this.commandPath({guildId}),{body:commands.map(c=>this.constructor.transformCommand(c))});return data.reduce((coll,command)=>coll.set(command.id,this._add(command,true,guildId)),new Collection2)}async edit(command,data,guildId){const id=this.resolveId(command);if(!id)throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"command","ApplicationCommandResolvable");const patched=await this.client.rest.patch(this.commandPath({id,guildId}),{body:this.constructor.transformCommand(data)});return this._add(patched,true,guildId)}async delete(command,guildId){const id=this.resolveId(command);if(!id)throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"command","ApplicationCommandResolvable");await this.client.rest.delete(this.commandPath({id,guildId}));const cached=this.cache.get(id);this.cache.delete(id);return cached??null}static transformCommand(command){var _a12;if(isJSONEncodable(command))return command.toJSON();let default_member_permissions;if("default_member_permissions"in command){default_member_permissions=command.default_member_permissions?new PermissionsBitField2(BigInt(command.default_member_permissions)).bitfield.toString():command.default_member_permissions}if("defaultMemberPermissions"in command){default_member_permissions=command.defaultMemberPermissions!==null?new PermissionsBitField2(command.defaultMemberPermissions).bitfield.toString():command.defaultMemberPermissions}return{name:command.name,name_localizations:command.nameLocalizations??command.name_localizations,description:command.description,nsfw:command.nsfw,description_localizations:command.descriptionLocalizations??command.description_localizations,type:command.type,options:(_a12=command.options)==null?void 0:_a12.map(o=>ApplicationCommand.transformOption(o)),default_member_permissions,dm_permission:command.dmPermission??command.dm_permission}}};module2.exports=ApplicationCommandManager}});var require_ApplicationFlagsBitField=__commonJS({"node_modules/discord.js/src/util/ApplicationFlagsBitField.js"(exports2,module2){"use strict";var{ApplicationFlags}=require_v106();var BitField=require_BitField();var ApplicationFlagsBitField=class extends BitField{static Flags=ApplicationFlags};module2.exports=ApplicationFlagsBitField}});var require_ClientApplication=__commonJS({"node_modules/discord.js/src/structures/ClientApplication.js"(exports2,module2){"use strict";var{Routes:Routes2}=require_v106();var{ApplicationRoleConnectionMetadata}=require_ApplicationRoleConnectionMetadata();var Team=require_Team();var Application=require_Application();var ApplicationCommandManager=require_ApplicationCommandManager();var ApplicationFlagsBitField=require_ApplicationFlagsBitField();var PermissionsBitField2=require_PermissionsBitField();var ClientApplication=class extends Application{constructor(client,data){super(client,data);this.commands=new ApplicationCommandManager(this.client)}_patch(data){super._patch(data);this.tags=data.tags??[];if("install_params"in data){this.installParams={scopes:data.install_params.scopes,permissions:new PermissionsBitField2(data.install_params.permissions).freeze()}}else{this.installParams??=null}if("custom_install_url"in data){this.customInstallURL=data.custom_install_url}else{this.customInstallURL=null}if("flags"in data){this.flags=new ApplicationFlagsBitField(data.flags).freeze()}if("cover_image"in data){this.cover=data.cover_image}else{this.cover??=null}if("rpc_origins"in data){this.rpcOrigins=data.rpc_origins}else{this.rpcOrigins??=[]}if("bot_require_code_grant"in data){this.botRequireCodeGrant=data.bot_require_code_grant}else{this.botRequireCodeGrant??=null}if("bot_public"in data){this.botPublic=data.bot_public}else{this.botPublic??=null}if("role_connections_verification_url"in data){this.roleConnectionsVerificationURL=data.role_connections_verification_url}else{this.roleConnectionsVerificationURL??=null}this.owner=data.team?new Team(this.client,data.team):data.owner?this.client.users._add(data.owner):this.owner??null}get partial(){return!this.name}async fetch(){const app=await this.client.rest.get(Routes2.oauth2CurrentApplication());this._patch(app);return this}async fetchRoleConnectionMetadataRecords(){const metadata=await this.client.rest.get(Routes2.applicationRoleConnectionMetadata(this.client.user.id));return metadata.map(data=>new ApplicationRoleConnectionMetadata(data))}async editRoleConnectionMetadataRecords(records){const newRecords=await this.client.rest.put(Routes2.applicationRoleConnectionMetadata(this.client.user.id),{body:records.map(record=>({type:record.type,key:record.key,name:record.name,name_localizations:record.nameLocalizations,description:record.description,description_localizations:record.descriptionLocalizations}))});return newRecords.map(data=>new ApplicationRoleConnectionMetadata(data))}};module2.exports=ClientApplication}});var require_Embed=__commonJS({"node_modules/discord.js/src/structures/Embed.js"(exports2,module2){"use strict";var{embedLength}=require_dist6();var isEqual2=require_fast_deep_equal();var Embed=class _Embed{constructor(data){this.data={...data}}get fields(){return this.data.fields??[]}get title(){return this.data.title??null}get description(){return this.data.description??null}get url(){return this.data.url??null}get color(){return this.data.color??null}get timestamp(){return this.data.timestamp??null}get thumbnail(){if(!this.data.thumbnail)return null;return{url:this.data.thumbnail.url,proxyURL:this.data.thumbnail.proxy_url,height:this.data.thumbnail.height,width:this.data.thumbnail.width}}get image(){if(!this.data.image)return null;return{url:this.data.image.url,proxyURL:this.data.image.proxy_url,height:this.data.image.height,width:this.data.image.width}}get video(){if(!this.data.video)return null;return{url:this.data.video.url,proxyURL:this.data.video.proxy_url,height:this.data.video.height,width:this.data.video.width}}get author(){if(!this.data.author)return null;return{name:this.data.author.name,url:this.data.author.url,iconURL:this.data.author.icon_url,proxyIconURL:this.data.author.proxy_icon_url}}get provider(){return this.data.provider??null}get footer(){if(!this.data.footer)return null;return{text:this.data.footer.text,iconURL:this.data.footer.icon_url,proxyIconURL:this.data.footer.proxy_icon_url}}get length(){return embedLength(this.data)}get hexColor(){return typeof this.data.color==="number"?`#${this.data.color.toString(16).padStart(6,"0")}`:this.data.color??null}toJSON(){return{...this.data}}equals(other){if(other instanceof _Embed){return isEqual2(other.data,this.data)}return isEqual2(other,this.data)}};module2.exports=Embed}});var require_MessageMentions=__commonJS({"node_modules/discord.js/src/structures/MessageMentions.js"(exports2,module2){"use strict";var{Collection:Collection2}=require_dist();var{FormattingPatterns}=require_v106();var{flatten:flatten2}=require_Util();var MessageMentions=class{static EveryonePattern=/@(?<mention>everyone|here)/;static UsersPattern=FormattingPatterns.UserWithOptionalNickname;static RolesPattern=FormattingPatterns.Role;static ChannelsPattern=FormattingPatterns.Channel;static GlobalChannelsPattern=new RegExp(this.ChannelsPattern.source,"g");static GlobalUsersPattern=new RegExp(this.UsersPattern.source,"g");constructor(message3,users,roles,everyone,crosspostedChannels,repliedUser){Object.defineProperty(this,"client",{value:message3.client});Object.defineProperty(this,"guild",{value:message3.guild});Object.defineProperty(this,"_content",{value:message3.content});this.everyone=Boolean(everyone);if(users){if(users instanceof Collection2){this.users=new Collection2(users)}else{this.users=new Collection2;for(const mention of users){if(mention.member&&message3.guild){message3.guild.members._add(Object.assign(mention.member,{user:mention}))}const user=message3.client.users._add(mention);this.users.set(user.id,user)}}}else{this.users=new Collection2}if(roles instanceof Collection2){this.roles=new Collection2(roles)}else if(roles){this.roles=new Collection2;const guild2=message3.guild;if(guild2){for(const mention of roles){const role=guild2.roles.cache.get(mention);if(role)this.roles.set(role.id,role)}}}else{this.roles=new Collection2}this._members=null;this._channels=null;this._parsedUsers=null;if(crosspostedChannels){if(crosspostedChannels instanceof Collection2){this.crosspostedChannels=new Collection2(crosspostedChannels)}else{this.crosspostedChannels=new Collection2;for(const d of crosspostedChannels){this.crosspostedChannels.set(d.id,{channelId:d.id,guildId:d.guild_id,type:d.type,name:d.name})}}}else{this.crosspostedChannels=new Collection2}this.repliedUser=repliedUser?this.client.users._add(repliedUser):null}get members(){if(this._members)return this._members;if(!this.guild)return null;this._members=new Collection2;this.users.forEach(user=>{const member=this.guild.members.resolve(user);if(member)this._members.set(member.user.id,member)});return this._members}get channels(){if(this._channels)return this._channels;this._channels=new Collection2;let matches2;while((matches2=this.constructor.GlobalChannelsPattern.exec(this._content))!==null){const channel=this.client.channels.cache.get(matches2.groups.id);if(channel)this._channels.set(channel.id,channel)}return this._channels}get parsedUsers(){if(this._parsedUsers)return this._parsedUsers;this._parsedUsers=new Collection2;let matches2;while((matches2=this.constructor.GlobalUsersPattern.exec(this._content))!==null){const user=this.client.users.cache.get(matches2[1]);if(user)this._parsedUsers.set(user.id,user)}return this._parsedUsers}has(data,{ignoreDirect=false,ignoreRoles=false,ignoreRepliedUser=false,ignoreEveryone=false}={}){var _a12,_b2,_c;const user=this.client.users.resolve(data);if(!ignoreEveryone&&user&&this.everyone)return true;const userWasRepliedTo=user&&((_a12=this.repliedUser)==null?void 0:_a12.id)===user.id;if(!ignoreRepliedUser&&userWasRepliedTo&&this.users.has(user.id))return true;if(!ignoreDirect){if(user&&(!ignoreRepliedUser||this.parsedUsers.has(user.id))&&this.users.has(user.id))return true;const role=(_b2=this.guild)==null?void 0:_b2.roles.resolve(data);if(role&&this.roles.has(role.id))return true;const channel=this.client.channels.resolve(data);if(channel&&this.channels.has(channel.id))return true}if(!ignoreRoles){const member=(_c=this.guild)==null?void 0:_c.members.resolve(data);if(member){for(const mentionedRole of this.roles.values())if(member.roles.cache.has(mentionedRole.id))return true}}return false}toJSON(){return flatten2(this,{members:true,channels:true})}};module2.exports=MessageMentions}});var require_ReactionCollector=__commonJS({"node_modules/discord.js/src/structures/ReactionCollector.js"(exports2,module2){"use strict";var{Collection:Collection2}=require_dist();var Collector=require_Collector();var Events2=require_Events();var ReactionCollector=class _ReactionCollector extends Collector{constructor(message3,options={}){super(message3.client,options);this.message=message3;this.users=new Collection2;this.total=0;this.empty=this.empty.bind(this);this._handleChannelDeletion=this._handleChannelDeletion.bind(this);this._handleThreadDeletion=this._handleThreadDeletion.bind(this);this._handleGuildDeletion=this._handleGuildDeletion.bind(this);this._handleMessageDeletion=this._handleMessageDeletion.bind(this);const bulkDeleteListener=messages=>{if(messages.has(this.message.id))this.stop("messageDelete")};this.client.incrementMaxListeners();this.client.on(Events2.MessageReactionAdd,this.handleCollect);this.client.on(Events2.MessageReactionRemove,this.handleDispose);this.client.on(Events2.MessageReactionRemoveAll,this.empty);this.client.on(Events2.MessageDelete,this._handleMessageDeletion);this.client.on(Events2.MessageBulkDelete,bulkDeleteListener);this.client.on(Events2.ChannelDelete,this._handleChannelDeletion);this.client.on(Events2.ThreadDelete,this._handleThreadDeletion);this.client.on(Events2.GuildDelete,this._handleGuildDeletion);this.once("end",()=>{this.client.removeListener(Events2.MessageReactionAdd,this.handleCollect);this.client.removeListener(Events2.MessageReactionRemove,this.handleDispose);this.client.removeListener(Events2.MessageReactionRemoveAll,this.empty);this.client.removeListener(Events2.MessageDelete,this._handleMessageDeletion);this.client.removeListener(Events2.MessageBulkDelete,bulkDeleteListener);this.client.removeListener(Events2.ChannelDelete,this._handleChannelDeletion);this.client.removeListener(Events2.ThreadDelete,this._handleThreadDeletion);this.client.removeListener(Events2.GuildDelete,this._handleGuildDeletion);this.client.decrementMaxListeners()});this.on("collect",(reaction,user)=>{if(reaction.count===1){this.emit("create",reaction,user)}this.total++;this.users.set(user.id,user)});this.on("remove",(reaction,user)=>{this.total--;if(!this.collected.some(r=>r.users.cache.has(user.id)))this.users.delete(user.id)})}collect(reaction){if(reaction.message.id!==this.message.id)return null;return _ReactionCollector.key(reaction)}dispose(reaction,user){if(reaction.message.id!==this.message.id)return null;if(this.collected.has(_ReactionCollector.key(reaction))&&this.users.has(user.id)){this.emit("remove",reaction,user)}return reaction.count?null:_ReactionCollector.key(reaction)}empty(){this.total=0;this.collected.clear();this.users.clear();this.checkEnd()}get endReason(){if(this.options.max&&this.total>=this.options.max)return"limit";if(this.options.maxEmojis&&this.collected.size>=this.options.maxEmojis)return"emojiLimit";if(this.options.maxUsers&&this.users.size>=this.options.maxUsers)return"userLimit";return super.endReason}_handleMessageDeletion(message3){if(message3.id===this.message.id){this.stop("messageDelete")}}_handleChannelDeletion(channel){var _a12;if(channel.id===this.message.channelId||((_a12=channel.threads)==null?void 0:_a12.cache.has(this.message.channelId))){this.stop("channelDelete")}}_handleThreadDeletion(thread){if(thread.id===this.message.channelId){this.stop("threadDelete")}}_handleGuildDeletion(guild2){var _a12;if(guild2.id===((_a12=this.message.guild)==null?void 0:_a12.id)){this.stop("guildDelete")}}static key(reaction){return reaction.emoji.id??reaction.emoji.name}};module2.exports=ReactionCollector}});var require_Sticker=__commonJS({"node_modules/discord.js/src/structures/Sticker.js"(exports2){"use strict";var{DiscordSnowflake}=require_cjs2();var{Routes:Routes2}=require_v106();var Base=require_Base();var{DiscordjsError:DiscordjsError2,ErrorCodes:ErrorCodes2}=require_errors6();var{StickerFormatExtensionMap}=require_Constants();var Sticker2=class _Sticker extends Base{constructor(client,sticker){super(client);this._patch(sticker)}_patch(sticker){this.id=sticker.id;if("description"in sticker){this.description=sticker.description}else{this.description??=null}if("type"in sticker){this.type=sticker.type}else{this.type??=null}if("format_type"in sticker){this.format=sticker.format_type}if("name"in sticker){this.name=sticker.name}if("pack_id"in sticker){this.packId=sticker.pack_id}else{this.packId??=null}if("tags"in sticker){this.tags=sticker.tags}else{this.tags??=null}if("available"in sticker){this.available=sticker.available}else{this.available??=null}if("guild_id"in sticker){this.guildId=sticker.guild_id}else{this.guildId??=null}if("user"in sticker){this.user=this.client.users._add(sticker.user)}else{this.user??=null}if("sort_value"in sticker){this.sortValue=sticker.sort_value}else{this.sortValue??=null}}get createdTimestamp(){return DiscordSnowflake.timestampFrom(this.id)}get createdAt(){return new Date(this.createdTimestamp)}get partial(){return!this.type}get guild(){return this.client.guilds.resolve(this.guildId)}get url(){return this.client.rest.cdn.sticker(this.id,StickerFormatExtensionMap[this.format])}async fetch(){const data=await this.client.rest.get(Routes2.sticker(this.id));this._patch(data);return this}async fetchPack(){return(this.packId&&(await this.client.fetchPremiumStickerPacks()).get(this.packId))??null}async fetchUser(){if(this.partial)await this.fetch();if(!this.guildId)throw new DiscordjsError2(ErrorCodes2.NotGuildSticker);return this.guild.stickers.fetchUser(this)}edit(options){return this.guild.stickers.edit(this,options)}async delete(reason){await this.guild.stickers.delete(this,reason);return this}equals(other){if(other instanceof _Sticker){return other.id===this.id&&other.description===this.description&&other.type===this.type&&other.format===this.format&&other.name===this.name&&other.packId===this.packId&&other.tags===this.tags&&other.available===this.available&&other.guildId===this.guildId&&other.sortValue===this.sortValue}else{return other.id===this.id&&other.description===this.description&&other.name===this.name&&other.tags===this.tags}}};exports2.Sticker=Sticker2}});var require_BaseGuildEmoji=__commonJS({"node_modules/discord.js/src/structures/BaseGuildEmoji.js"(exports2,module2){"use strict";var{Emoji}=require_Emoji();var BaseGuildEmoji=class extends Emoji{constructor(client,data,guild2){super(client,data);this.guild=guild2;this.requiresColons=null;this.managed=null;this.available=null;this._patch(data)}_patch(data){if("name"in data)this.name=data.name;if("require_colons"in data){this.requiresColons=data.require_colons}if("managed"in data){this.managed=data.managed}if("available"in data){this.available=data.available}}};module2.exports=BaseGuildEmoji}});var require_GuildEmojiRoleManager=__commonJS({"node_modules/discord.js/src/managers/GuildEmojiRoleManager.js"(exports2,module2){"use strict";var{Collection:Collection2}=require_dist();var DataManager=require_DataManager();var{DiscordjsTypeError:DiscordjsTypeError2,ErrorCodes:ErrorCodes2}=require_errors6();var{Role}=require_Role();var GuildEmojiRoleManager=class extends DataManager{constructor(emoji){super(emoji.client,Role);this.emoji=emoji;this.guild=emoji.guild}get cache(){return this.guild.roles.cache.filter(role=>this.emoji._roles.includes(role.id))}add(roleOrRoles){if(!Array.isArray(roleOrRoles)&&!(roleOrRoles instanceof Collection2))roleOrRoles=[roleOrRoles];const resolvedRoles=[];for(const role of roleOrRoles.values()){const resolvedRole=this.guild.roles.resolveId(role);if(!resolvedRole){return Promise.reject(new DiscordjsTypeError2(ErrorCodes2.InvalidElement,"Array or Collection","roles",role))}resolvedRoles.push(resolvedRole)}const newRoles=[...new Set(resolvedRoles.concat(...this.cache.keys()))];return this.set(newRoles)}remove(roleOrRoles){if(!Array.isArray(roleOrRoles)&&!(roleOrRoles instanceof Collection2))roleOrRoles=[roleOrRoles];const resolvedRoleIds=[];for(const role of roleOrRoles.values()){const roleId=this.guild.roles.resolveId(role);if(!roleId){return Promise.reject(new DiscordjsTypeError2(ErrorCodes2.InvalidElement,"Array or Collection","roles",role))}resolvedRoleIds.push(roleId)}const newRoles=[...this.cache.keys()].filter(id=>!resolvedRoleIds.includes(id));return this.set(newRoles)}set(roles){return this.emoji.edit({roles})}clone(){const clone2=new this.constructor(this.emoji);clone2._patch([...this.cache.keys()]);return clone2}_patch(roles){this.emoji._roles=roles}valueOf(){return this.cache}};module2.exports=GuildEmojiRoleManager}});var require_GuildEmoji=__commonJS({"node_modules/discord.js/src/structures/GuildEmoji.js"(exports2,module2){"use strict";var{PermissionFlagsBits}=require_v106();var BaseGuildEmoji=require_BaseGuildEmoji();var{DiscordjsError:DiscordjsError2,ErrorCodes:ErrorCodes2}=require_errors6();var GuildEmojiRoleManager=require_GuildEmojiRoleManager();var GuildEmoji=class _GuildEmoji extends BaseGuildEmoji{constructor(client,data,guild2){super(client,data,guild2);this.author=null;Object.defineProperty(this,"_roles",{value:[],writable:true});this._patch(data)}_clone(){const clone2=super._clone();clone2._roles=this._roles.slice();return clone2}_patch(data){super._patch(data);if(data.user)this.author=this.client.users._add(data.user);if(data.roles)this._roles=data.roles}get deletable(){if(!this.guild.members.me)throw new DiscordjsError2(ErrorCodes2.GuildUncachedMe);return!this.managed&&this.guild.members.me.permissions.has(PermissionFlagsBits.ManageGuildExpressions)}get roles(){return new GuildEmojiRoleManager(this)}fetchAuthor(){return this.guild.emojis.fetchAuthor(this)}edit(options){return this.guild.emojis.edit(this.id,options)}setName(name,reason){return this.edit({name,reason})}async delete(reason){await this.guild.emojis.delete(this.id,reason);return this}equals(other){if(other instanceof _GuildEmoji){return other.id===this.id&&other.name===this.name&&other.managed===this.managed&&other.available===this.available&&other.requiresColons===this.requiresColons&&other.roles.cache.size===this.roles.cache.size&&other.roles.cache.every(role=>this.roles.cache.has(role.id))}else{return other.id===this.id&&other.name===this.name&&other.roles.length===this.roles.cache.size&&other.roles.every(role=>this.roles.cache.has(role))}}};module2.exports=GuildEmoji}});var require_ReactionEmoji=__commonJS({"node_modules/discord.js/src/structures/ReactionEmoji.js"(exports2,module2){"use strict";var{Emoji}=require_Emoji();var{flatten:flatten2}=require_Util();var ReactionEmoji=class extends Emoji{constructor(reaction,emoji){super(reaction.message.client,emoji);this.reaction=reaction}toJSON(){return flatten2(this,{identifier:true})}valueOf(){return this.id}};module2.exports=ReactionEmoji}});var require_UserFlagsBitField=__commonJS({"node_modules/discord.js/src/util/UserFlagsBitField.js"(exports2,module2){"use strict";var{UserFlags}=require_v106();var BitField=require_BitField();var UserFlagsBitField=class extends BitField{static Flags=UserFlags};module2.exports=UserFlagsBitField}});var require_User=__commonJS({"node_modules/discord.js/src/structures/User.js"(exports2,module2){"use strict";var{userMention}=require_dist6();var{DiscordSnowflake}=require_cjs2();var Base=require_Base();var TextBasedChannel=require_TextBasedChannel();var UserFlagsBitField=require_UserFlagsBitField();var User=class extends Base{constructor(client,data){super(client);this.id=data.id;this.bot=null;this.system=null;this.flags=null;this._patch(data)}_patch(data){if("username"in data){this.username=data.username}else{this.username??=null}if("bot"in data){this.bot=Boolean(data.bot)}else if(!this.partial&&typeof this.bot!=="boolean"){this.bot=false}if("discriminator"in data){this.discriminator=data.discriminator}else{this.discriminator??=null}if("avatar"in data){this.avatar=data.avatar}else{this.avatar??=null}if("banner"in data){this.banner=data.banner}else if(this.banner!==null){this.banner??=void 0}if("accent_color"in data){this.accentColor=data.accent_color}else if(this.accentColor!==null){this.accentColor??=void 0}if("system"in data){this.system=Boolean(data.system)}else if(!this.partial&&typeof this.system!=="boolean"){this.system=false}if("public_flags"in data){this.flags=new UserFlagsBitField(data.public_flags)}}get partial(){return typeof this.username!=="string"}get createdTimestamp(){return DiscordSnowflake.timestampFrom(this.id)}get createdAt(){return new Date(this.createdTimestamp)}avatarURL(options={}){return this.avatar&&this.client.rest.cdn.avatar(this.id,this.avatar,options)}get defaultAvatarURL(){return this.client.rest.cdn.defaultAvatar(this.discriminator%5)}displayAvatarURL(options){return this.avatarURL(options)??this.defaultAvatarURL}get hexAccentColor(){if(typeof this.accentColor!=="number")return this.accentColor;return`#${this.accentColor.toString(16).padStart(6,"0")}`}bannerURL(options={}){return this.banner&&this.client.rest.cdn.banner(this.id,this.banner,options)}get tag(){return typeof this.username==="string"?`${this.username}#${this.discriminator}`:null}get dmChannel(){return this.client.users.dmChannel(this.id)}createDM(force=false){return this.client.users.createDM(this.id,{force})}deleteDM(){return this.client.users.deleteDM(this.id)}equals(user){var _a12,_b2;return user&&this.id===user.id&&this.username===user.username&&this.discriminator===user.discriminator&&this.avatar===user.avatar&&((_a12=this.flags)==null?void 0:_a12.bitfield)===((_b2=user.flags)==null?void 0:_b2.bitfield)&&this.banner===user.banner&&this.accentColor===user.accentColor}_equals(user){var _a12;return user&&this.id===user.id&&this.username===user.username&&this.discriminator===user.discriminator&&this.avatar===user.avatar&&((_a12=this.flags)==null?void 0:_a12.bitfield)===user.public_flags&&("banner"in user?this.banner===user.banner:true)&&("accent_color"in user?this.accentColor===user.accent_color:true)}fetchFlags(force=false){return this.client.users.fetchFlags(this.id,{force})}fetch(force=true){return this.client.users.fetch(this.id,{force})}toString(){return userMention(this.id)}toJSON(...props){const json2=super.toJSON({createdTimestamp:true,defaultAvatarURL:true,hexAccentColor:true,tag:true},...props);json2.avatarURL=this.avatarURL();json2.displayAvatarURL=this.displayAvatarURL();json2.bannerURL=this.banner?this.bannerURL():this.banner;return json2}};TextBasedChannel.applyToClass(User);module2.exports=User}});var require_ReactionUserManager=__commonJS({"node_modules/discord.js/src/managers/ReactionUserManager.js"(exports2,module2){"use strict";var{Collection:Collection2}=require_dist();var{makeURLSearchParams:makeURLSearchParams2}=require_dist3();var{Routes:Routes2}=require_v106();var CachedManager=require_CachedManager();var{DiscordjsError:DiscordjsError2,ErrorCodes:ErrorCodes2}=require_errors6();var User=require_User();var ReactionUserManager=class extends CachedManager{constructor(reaction,iterable){super(reaction.client,User,iterable);this.reaction=reaction}async fetch({limit=100,after:after2}={}){const message3=this.reaction.message;const query=makeURLSearchParams2({limit,after:after2});const data=await this.client.rest.get(Routes2.channelMessageReaction(message3.channelId,message3.id,this.reaction.emoji.identifier),{query});const users=new Collection2;for(const rawUser of data){const user=this.client.users._add(rawUser);this.cache.set(user.id,user);users.set(user.id,user)}return users}async remove(user=this.client.user){const userId=this.client.users.resolveId(user);if(!userId)throw new DiscordjsError2(ErrorCodes2.ReactionResolveUser);const message3=this.reaction.message;const route=userId===this.client.user.id?Routes2.channelMessageOwnReaction(message3.channelId,message3.id,this.reaction.emoji.identifier):Routes2.channelMessageUserReaction(message3.channelId,message3.id,this.reaction.emoji.identifier,userId);await this.client.rest.delete(route);return this.reaction}};module2.exports=ReactionUserManager}});var require_MessageReaction=__commonJS({"node_modules/discord.js/src/structures/MessageReaction.js"(exports2,module2){"use strict";var{Routes:Routes2}=require_v106();var GuildEmoji=require_GuildEmoji();var ReactionEmoji=require_ReactionEmoji();var ReactionUserManager=require_ReactionUserManager();var{flatten:flatten2}=require_Util();var MessageReaction=class{constructor(client,data,message3){Object.defineProperty(this,"client",{value:client});this.message=message3;this.me=data.me;this.users=new ReactionUserManager(this,this.me?[client.user]:[]);this._emoji=new ReactionEmoji(this,data.emoji);this._patch(data)}_patch(data){if("count"in data){this.count??=data.count}}react(){return this.message.react(this.emoji)}async remove(){await this.client.rest.delete(Routes2.channelMessageReaction(this.message.channelId,this.message.id,this._emoji.identifier));return this}get emoji(){if(this._emoji instanceof GuildEmoji)return this._emoji;if(this._emoji.id){const emojis=this.message.client.emojis.cache;if(emojis.has(this._emoji.id)){const emoji=emojis.get(this._emoji.id);this._emoji=emoji;return emoji}}return this._emoji}get partial(){return this.count===null}async fetch(){const message3=await this.message.fetch();const existing=message3.reactions.cache.get(this.emoji.id??this.emoji.name);this._patch(existing??{count:0});return this}toJSON(){return flatten2(this,{emoji:"emojiId",message:"messageId"})}valueOf(){return this._emoji.id??this._emoji.name}_add(user){if(this.partial)return;this.users.cache.set(user.id,user);if(!this.me||user.id!==this.message.client.user.id||this.count===0)this.count++;this.me||=user.id===this.message.client.user.id}_remove(user){if(this.partial)return;this.users.cache.delete(user.id);if(!this.me||user.id!==this.message.client.user.id)this.count--;if(user.id===this.message.client.user.id)this.me=false;if(this.count<=0&&this.users.cache.size===0){this.message.reactions.cache.delete(this.emoji.id??this.emoji.name)}}};module2.exports=MessageReaction}});var require_ReactionManager=__commonJS({"node_modules/discord.js/src/managers/ReactionManager.js"(exports2,module2){"use strict";var{Routes:Routes2}=require_v106();var CachedManager=require_CachedManager();var MessageReaction=require_MessageReaction();var ReactionManager=class extends CachedManager{constructor(message3,iterable){super(message3.client,MessageReaction,iterable);this.message=message3}_add(data,cache2){return super._add(data,cache2,{id:data.emoji.id??data.emoji.name,extras:[this.message]})}async removeAll(){await this.client.rest.delete(Routes2.channelMessageAllReactions(this.message.channelId,this.message.id));return this.message}};module2.exports=ReactionManager}});var require_Message=__commonJS({"node_modules/discord.js/src/structures/Message.js"(exports2){"use strict";var{messageLink}=require_dist6();var{Collection:Collection2}=require_dist();var{DiscordSnowflake}=require_cjs2();var{InteractionType:InteractionType2,ChannelType:ChannelType3,MessageType,MessageFlags,PermissionFlagsBits}=require_v106();var Attachment=require_Attachment();var Base=require_Base();var ClientApplication=require_ClientApplication();var Embed=require_Embed();var InteractionCollector=require_InteractionCollector();var Mentions=require_MessageMentions();var MessagePayload=require_MessagePayload();var ReactionCollector=require_ReactionCollector();var{Sticker:Sticker2}=require_Sticker();var{DiscordjsError:DiscordjsError2,ErrorCodes:ErrorCodes2}=require_errors6();var ReactionManager=require_ReactionManager();var{createComponent}=require_Components();var{NonSystemMessageTypes,MaxBulkDeletableMessageAge,DeletableMessageTypes}=require_Constants();var MessageFlagsBitField=require_MessageFlagsBitField();var PermissionsBitField2=require_PermissionsBitField();var{cleanContent,resolvePartialEmoji}=require_Util();var Message=class extends Base{constructor(client,data){var _a12,_b2;super(client);this.channelId=data.channel_id;this.guildId=data.guild_id??((_b2=(_a12=this.channel)==null?void 0:_a12.guild)==null?void 0:_b2.id)??null;this._patch(data)}_patch(data){var _a12,_b2,_c,_d,_e,_f,_g,_h;this.id=data.id;this.createdTimestamp=DiscordSnowflake.timestampFrom(this.id);if("type"in data){this.type=data.type;this.system=!NonSystemMessageTypes.includes(this.type)}else{this.system??=null;this.type??=null}if("content"in data){this.content=data.content}else{this.content??=null}if("author"in data){this.author=this.client.users._add(data.author,!data.webhook_id)}else{this.author??=null}if("pinned"in data){this.pinned=Boolean(data.pinned)}else{this.pinned??=null}if("tts"in data){this.tts=data.tts}else{this.tts??=null}if("nonce"in data){this.nonce=data.nonce}else{this.nonce??=null}if("embeds"in data){this.embeds=data.embeds.map(e=>new Embed(e))}else{this.embeds=((_a12=this.embeds)==null?void 0:_a12.slice())??[]}if("components"in data){this.components=data.components.map(c=>createComponent(c))}else{this.components=((_b2=this.components)==null?void 0:_b2.slice())??[]}if("attachments"in data){this.attachments=new Collection2;if(data.attachments){for(const attachment of data.attachments){this.attachments.set(attachment.id,new Attachment(attachment))}}}else{this.attachments=new Collection2(this.attachments)}if("sticker_items"in data||"stickers"in data){this.stickers=new Collection2((_c=data.sticker_items??data.stickers)==null?void 0:_c.map(s=>[s.id,new Sticker2(this.client,s)]))}else{this.stickers=new Collection2(this.stickers)}if("position"in data){this.position=data.position}else{this.position??=null}if("role_subscription_data"in data){this.roleSubscriptionData={roleSubscriptionListingId:data.role_subscription_data.role_subscription_listing_id,tierName:data.role_subscription_data.tier_name,totalMonthsSubscribed:data.role_subscription_data.total_months_subscribed,isRenewal:data.role_subscription_data.is_renewal}}else{this.roleSubscriptionData??=null}if(data.edited_timestamp){this.editedTimestamp=Date.parse(data.edited_timestamp)}else{this.editedTimestamp??=null}if("reactions"in data){this.reactions=new ReactionManager(this);if(((_d=data.reactions)==null?void 0:_d.length)>0){for(const reaction of data.reactions){this.reactions._add(reaction)}}}else{this.reactions??=new ReactionManager(this)}if(!this.mentions){this.mentions=new Mentions(this,data.mentions,data.mention_roles,data.mention_everyone,data.mention_channels,(_e=data.referenced_message)==null?void 0:_e.author)}else{this.mentions=new Mentions(this,data.mentions??this.mentions.users,data.mention_roles??this.mentions.roles,data.mention_everyone??this.mentions.everyone,data.mention_channels??this.mentions.crosspostedChannels,((_f=data.referenced_message)==null?void 0:_f.author)??this.mentions.repliedUser)}if("webhook_id"in data){this.webhookId=data.webhook_id}else{this.webhookId??=null}if("application"in data){this.groupActivityApplication=new ClientApplication(this.client,data.application)}else{this.groupActivityApplication??=null}if("application_id"in data){this.applicationId=data.application_id}else{this.applicationId??=null}if("activity"in data){this.activity={partyId:data.activity.party_id,type:data.activity.type}}else{this.activity??=null}if("thread"in data){this.client.channels._add(data.thread,this.guild)}if(this.member&&data.member){this.member._patch(data.member)}else if(data.member&&this.guild&&this.author){this.guild.members._add(Object.assign(data.member,{user:this.author}))}if("flags"in data){this.flags=new MessageFlagsBitField(data.flags).freeze()}else{this.flags=new MessageFlagsBitField(this.flags).freeze()}if("message_reference"in data){this.reference={channelId:data.message_reference.channel_id,guildId:data.message_reference.guild_id,messageId:data.message_reference.message_id}}else{this.reference??=null}if(data.referenced_message){(_h=this.channel)==null?void 0:_h.messages._add({guild_id:(_g=data.message_reference)==null?void 0:_g.guild_id,...data.referenced_message})}if(data.interaction){this.interaction={id:data.interaction.id,type:data.interaction.type,commandName:data.interaction.name,user:this.client.users._add(data.interaction.user)}}else{this.interaction??=null}}get channel(){return this.client.channels.resolve(this.channelId)}get partial(){return typeof this.content!=="string"||!this.author}get member(){var _a12;return((_a12=this.guild)==null?void 0:_a12.members.resolve(this.author))??null}get createdAt(){return new Date(this.createdTimestamp)}get editedAt(){return this.editedTimestamp&&new Date(this.editedTimestamp)}get guild(){var _a12;return this.client.guilds.resolve(this.guildId)??((_a12=this.channel)==null?void 0:_a12.guild)??null}get hasThread(){return this.flags.has(MessageFlags.HasThread)}get thread(){var _a12,_b2;return((_b2=(_a12=this.channel)==null?void 0:_a12.threads)==null?void 0:_b2.resolve(this.id))??null}get url(){return this.inGuild()?messageLink(this.channelId,this.id,this.guildId):messageLink(this.channelId,this.id)}get cleanContent(){return this.content!=null?cleanContent(this.content,this.channel):null}createReactionCollector(options={}){return new ReactionCollector(this,options)}awaitReactions(options={}){return new Promise((resolve,reject2)=>{const collector=this.createReactionCollector(options);collector.once("end",(reactions,reason)=>{var _a12;if((_a12=options.errors)==null?void 0:_a12.includes(reason))reject2(reactions);else resolve(reactions)})})}createMessageComponentCollector(options={}){return new InteractionCollector(this.client,{...options,interactionType:InteractionType2.MessageComponent,message:this})}awaitMessageComponent(options={}){const _options={...options,max:1};return new Promise((resolve,reject2)=>{const collector=this.createMessageComponentCollector(_options);collector.once("end",(interactions,reason)=>{const interaction=interactions.first();if(interaction)resolve(interaction);else reject2(new DiscordjsError2(ErrorCodes2.InteractionCollectorError,reason))})})}get editable(){var _a12,_b2;const precheck=Boolean(this.author.id===this.client.user.id&&(!this.guild||((_a12=this.channel)==null?void 0:_a12.viewable)));if((_b2=this.channel)==null?void 0:_b2.isThread()){if(this.channel.archived)return false;if(this.channel.locked){const permissions=this.channel.permissionsFor(this.client.user);if(!(permissions==null?void 0:permissions.has(PermissionFlagsBits.ManageThreads,true)))return false}}return precheck}get deletable(){var _a12,_b2;if(!DeletableMessageTypes.includes(this.type))return false;if(!this.guild){return this.author.id===this.client.user.id}if(!((_a12=this.channel)==null?void 0:_a12.viewable)){return false}const permissions=(_b2=this.channel)==null?void 0:_b2.permissionsFor(this.client.user);if(!permissions)return false;if(permissions.has(PermissionFlagsBits.Administrator,false))return true;return this.type!==MessageType.AutoModerationAction&&this.author.id===this.client.user.id||permissions.has(PermissionFlagsBits.ManageMessages,false)&&!this.guild.members.me.isCommunicationDisabled()}get bulkDeletable(){var _a12;return(this.inGuild()&&Date.now()-this.createdTimestamp<MaxBulkDeletableMessageAge&&this.deletable&&((_a12=this.channel)==null?void 0:_a12.permissionsFor(this.client.user).has(PermissionFlagsBits.ManageMessages,false)))??false}get pinnable(){var _a12;const{channel}=this;return Boolean(!this.system&&(!this.guild||(channel==null?void 0:channel.viewable)&&((_a12=channel==null?void 0:channel.permissionsFor(this.client.user))==null?void 0:_a12.has(PermissionFlagsBits.ManageMessages,false))))}async fetchReference(){if(!this.reference)throw new DiscordjsError2(ErrorCodes2.MessageReferenceMissing);const{channelId,messageId}=this.reference;const channel=this.client.channels.resolve(channelId);if(!channel)throw new DiscordjsError2(ErrorCodes2.GuildChannelResolve);const message3=await channel.messages.fetch(messageId);return message3}get crosspostable(){var _a12;const bitfield=PermissionFlagsBits.SendMessages|(this.author.id===this.client.user.id?PermissionsBitField2.DefaultBit:PermissionFlagsBits.ManageMessages);const{channel}=this;return Boolean((channel==null?void 0:channel.type)===ChannelType3.GuildAnnouncement&&!this.flags.has(MessageFlags.Crossposted)&&this.type===MessageType.Default&&channel.viewable&&((_a12=channel.permissionsFor(this.client.user))==null?void 0:_a12.has(bitfield,false)))}edit(options){if(!this.channel)return Promise.reject(new DiscordjsError2(ErrorCodes2.ChannelNotCached));return this.channel.messages.edit(this,options)}crosspost(){if(!this.channel)return Promise.reject(new DiscordjsError2(ErrorCodes2.ChannelNotCached));return this.channel.messages.crosspost(this.id)}async pin(reason){if(!this.channel)throw new DiscordjsError2(ErrorCodes2.ChannelNotCached);await this.channel.messages.pin(this.id,reason);return this}async unpin(reason){if(!this.channel)throw new DiscordjsError2(ErrorCodes2.ChannelNotCached);await this.channel.messages.unpin(this.id,reason);return this}async react(emoji){if(!this.channel)throw new DiscordjsError2(ErrorCodes2.ChannelNotCached);await this.channel.messages.react(this.id,emoji);return this.client.actions.MessageReactionAdd.handle({[this.client.actions.injectedUser]:this.client.user,[this.client.actions.injectedChannel]:this.channel,[this.client.actions.injectedMessage]:this,emoji:resolvePartialEmoji(emoji)},true).reaction}async delete(){if(!this.channel)throw new DiscordjsError2(ErrorCodes2.ChannelNotCached);await this.channel.messages.delete(this.id);return this}reply(options){if(!this.channel)return Promise.reject(new DiscordjsError2(ErrorCodes2.ChannelNotCached));let data;if(options instanceof MessagePayload){data=options}else{data=MessagePayload.create(this,options,{reply:{messageReference:this,failIfNotExists:(options==null?void 0:options.failIfNotExists)??this.client.options.failIfNotExists}})}return this.channel.send(data)}startThread(options={}){if(!this.channel)return Promise.reject(new DiscordjsError2(ErrorCodes2.ChannelNotCached));if(![ChannelType3.GuildText,ChannelType3.GuildAnnouncement].includes(this.channel.type)){return Promise.reject(new DiscordjsError2(ErrorCodes2.MessageThreadParent))}if(this.hasThread)return Promise.reject(new DiscordjsError2(ErrorCodes2.MessageExistingThread));return this.channel.threads.create({...options,startMessage:this})}fetch(force=true){if(!this.channel)return Promise.reject(new DiscordjsError2(ErrorCodes2.ChannelNotCached));return this.channel.messages.fetch({message:this.id,force})}fetchWebhook(){if(!this.webhookId)return Promise.reject(new DiscordjsError2(ErrorCodes2.WebhookMessage));if(this.webhookId===this.applicationId)return Promise.reject(new DiscordjsError2(ErrorCodes2.WebhookApplication));return this.client.fetchWebhook(this.webhookId)}suppressEmbeds(suppress=true){const flags=new MessageFlagsBitField(this.flags.bitfield);if(suppress){flags.add(MessageFlags.SuppressEmbeds)}else{flags.remove(MessageFlags.SuppressEmbeds)}return this.edit({flags})}removeAttachments(){return this.edit({attachments:[]})}resolveComponent(customId){return this.components.flatMap(row=>row.components).find(component=>component.customId===customId)??null}equals(message3,rawData){if(!message3)return false;const embedUpdate=!message3.author&&!message3.attachments;if(embedUpdate)return this.id===message3.id&&this.embeds.length===message3.embeds.length;let equal=this.id===message3.id&&this.author.id===message3.author.id&&this.content===message3.content&&this.tts===message3.tts&&this.nonce===message3.nonce&&this.embeds.length===message3.embeds.length&&this.attachments.length===message3.attachments.length;if(equal&&rawData){equal=this.mentions.everyone===message3.mentions.everyone&&this.createdTimestamp===Date.parse(rawData.timestamp)&&this.editedTimestamp===Date.parse(rawData.edited_timestamp)}return equal}inGuild(){return Boolean(this.guildId)}toString(){return this.content}toJSON(){return super.toJSON({channel:"channelId",author:"authorId",groupActivityApplication:"groupActivityApplicationId",guild:"guildId",cleanContent:true,member:false,reactions:false})}};exports2.Message=Message}});var require_Webhook=__commonJS({"node_modules/discord.js/src/structures/Webhook.js"(exports2,module2){"use strict";var{makeURLSearchParams:makeURLSearchParams2}=require_dist3();var{lazy}=require_dist2();var{DiscordSnowflake}=require_cjs2();var{Routes:Routes2,WebhookType}=require_v106();var MessagePayload=require_MessagePayload();var{DiscordjsError:DiscordjsError2,ErrorCodes:ErrorCodes2}=require_errors6();var DataResolver2=require_DataResolver();var getMessage=lazy(()=>require_Message().Message);var Webhook2=class _Webhook{constructor(client,data){Object.defineProperty(this,"client",{value:client});if(data)this._patch(data)}_patch(data){var _a12,_b2,_c,_d;if("name"in data){this.name=data.name}Object.defineProperty(this,"token",{value:data.token??null,writable:true,configurable:true});if("avatar"in data){this.avatar=data.avatar}this.id=data.id;if("type"in data){this.type=data.type}if("guild_id"in data){this.guildId=data.guild_id}if("channel_id"in data){this.channelId=data.channel_id}if("user"in data){this.owner=((_a12=this.client.users)==null?void 0:_a12._add(data.user))??data.user}else{this.owner??=null}if("application_id"in data){this.applicationId=data.application_id}else{this.applicationId??=null}if("source_guild"in data){this.sourceGuild=((_b2=this.client.guilds)==null?void 0:_b2.resolve(data.source_guild.id))??data.source_guild}else{this.sourceGuild??=null}if("source_channel"in data){this.sourceChannel=((_d=this.client.channels)==null?void 0:_d.resolve((_c=data.source_channel)==null?void 0:_c.id))??data.source_channel}else{this.sourceChannel??=null}}get channel(){return this.client.channels.resolve(this.channelId)}async send(options){var _a12;if(!this.token)throw new DiscordjsError2(ErrorCodes2.WebhookTokenUnavailable);let messagePayload;if(options instanceof MessagePayload){messagePayload=options.resolveBody()}else{messagePayload=MessagePayload.create(this,options).resolveBody()}const query=makeURLSearchParams2({wait:true,thread_id:messagePayload.options.threadId});const{body,files}=await messagePayload.resolveFiles();const d=await this.client.rest.post(Routes2.webhook(this.id,this.token),{body,files,query,auth:false});if(!this.client.channels)return d;return((_a12=this.client.channels.cache.get(d.channel_id))==null?void 0:_a12.messages._add(d,false))??new(getMessage())(this.client,d)}async sendSlackMessage(body){if(!this.token)throw new DiscordjsError2(ErrorCodes2.WebhookTokenUnavailable);const data=await this.client.rest.post(Routes2.webhookPlatform(this.id,this.token,"slack"),{query:makeURLSearchParams2({wait:true}),auth:false,body});return data.toString()==="ok"}async edit({name=this.name,avatar,channel,reason}){if(avatar&&!(typeof avatar==="string"&&avatar.startsWith("data:"))){avatar=await DataResolver2.resolveImage(avatar)}channel&&=channel.id??channel;const data=await this.client.rest.patch(Routes2.webhook(this.id,channel?void 0:this.token),{body:{name,avatar,channel_id:channel},reason,auth:!this.token||Boolean(channel)});this.name=data.name;this.avatar=data.avatar;this.channelId=data.channel_id;return this}async fetchMessage(message3,{threadId}={}){var _a12;if(!this.token)throw new DiscordjsError2(ErrorCodes2.WebhookTokenUnavailable);const data=await this.client.rest.get(Routes2.webhookMessage(this.id,this.token,message3),{query:threadId?makeURLSearchParams2({thread_id:threadId}):void 0,auth:false});if(!this.client.channels)return data;return((_a12=this.client.channels.cache.get(data.channel_id))==null?void 0:_a12.messages._add(data,false))??new(getMessage())(this.client,data)}async editMessage(message3,options){var _a12;if(!this.token)throw new DiscordjsError2(ErrorCodes2.WebhookTokenUnavailable);let messagePayload;if(options instanceof MessagePayload)messagePayload=options;else messagePayload=MessagePayload.create(this,options);const{body,files}=await messagePayload.resolveBody().resolveFiles();const d=await this.client.rest.patch(Routes2.webhookMessage(this.id,this.token,typeof message3==="string"?message3:message3.id),{body,files,query:messagePayload.options.threadId?makeURLSearchParams2({thread_id:messagePayload.options.threadId}):void 0,auth:false});const channelManager=this.client.channels;if(!channelManager)return d;const messageManager=(_a12=channelManager.cache.get(d.channel_id))==null?void 0:_a12.messages;if(!messageManager)return new(getMessage())(this.client,d);const existing=messageManager.cache.get(d.id);if(!existing)return messageManager._add(d);const clone2=existing._clone();clone2._patch(d);return clone2}async delete(reason){await this.client.rest.delete(Routes2.webhook(this.id,this.token),{reason,auth:!this.token})}async deleteMessage(message3,threadId){if(!this.token)throw new DiscordjsError2(ErrorCodes2.WebhookTokenUnavailable);await this.client.rest.delete(Routes2.webhookMessage(this.id,this.token,typeof message3==="string"?message3:message3.id),{query:threadId?makeURLSearchParams2({thread_id:threadId}):void 0,auth:false})}get createdTimestamp(){return DiscordSnowflake.timestampFrom(this.id)}get createdAt(){return new Date(this.createdTimestamp)}get url(){return this.client.options.rest.api+Routes2.webhook(this.id,this.token)}avatarURL(options={}){return this.avatar&&this.client.rest.cdn.avatar(this.id,this.avatar,options)}isUserCreated(){return Boolean(this.type===WebhookType.Incoming&&this.owner&&!this.owner.bot)}isApplicationCreated(){return this.type===WebhookType.Application}isChannelFollower(){return this.type===WebhookType.ChannelFollower}isIncoming(){return this.type===WebhookType.Incoming}static applyToClass(structure,ignore=[]){for(const prop of["send","sendSlackMessage","fetchMessage","edit","editMessage","delete","deleteMessage","createdTimestamp","createdAt","url"]){if(ignore.includes(prop))continue;Object.defineProperty(structure.prototype,prop,Object.getOwnPropertyDescriptor(_Webhook.prototype,prop))}}};module2.exports=Webhook2}});var require_WebhookClient=__commonJS({"node_modules/discord.js/src/client/WebhookClient.js"(exports2,module2){"use strict";var BaseClient3=require_BaseClient();var{DiscordjsError:DiscordjsError2,ErrorCodes:ErrorCodes2}=require_errors6();var Webhook2=require_Webhook();var{parseWebhookURL}=require_Util();var WebhookClient=class extends BaseClient3{constructor(data,options){super(options);Object.defineProperty(this,"client",{value:this});let{id,token:token3}=data;if("url"in data){const parsed=parseWebhookURL(data.url);if(!parsed){throw new DiscordjsError2(ErrorCodes2.WebhookURLInvalid)}({id,token:token3}=parsed)}this.id=id;Object.defineProperty(this,"token",{value:token3,writable:true,configurable:true})}send(){}fetchMessage(){}editMessage(){}sendSlackMessage(){}edit(){}delete(){}deleteMessage(){}get createdTimestamp(){}get createdAt(){}get url(){}};Webhook2.applyToClass(WebhookClient);module2.exports=WebhookClient}});var require_VoiceState=__commonJS({"node_modules/discord.js/src/structures/VoiceState.js"(exports2,module2){"use strict";var{ChannelType:ChannelType3,Routes:Routes2}=require_v106();var Base=require_Base();var{DiscordjsError:DiscordjsError2,DiscordjsTypeError:DiscordjsTypeError2,ErrorCodes:ErrorCodes2}=require_errors6();var VoiceState=class extends Base{constructor(guild2,data){super(guild2.client);this.guild=guild2;this.id=data.user_id;this._patch(data)}_patch(data){if("deaf"in data){this.serverDeaf=data.deaf}else{this.serverDeaf??=null}if("mute"in data){this.serverMute=data.mute}else{this.serverMute??=null}if("self_deaf"in data){this.selfDeaf=data.self_deaf}else{this.selfDeaf??=null}if("self_mute"in data){this.selfMute=data.self_mute}else{this.selfMute??=null}if("self_video"in data){this.selfVideo=data.self_video}else{this.selfVideo??=null}if("session_id"in data){this.sessionId=data.session_id}else{this.sessionId??=null}if("self_video"in data){this.streaming=data.self_stream??false}else{this.streaming??=null}if("channel_id"in data){this.channelId=data.channel_id}else{this.channelId??=null}if("suppress"in data){this.suppress=data.suppress}else{this.suppress??=null}if("request_to_speak_timestamp"in data){this.requestToSpeakTimestamp=data.request_to_speak_timestamp&&Date.parse(data.request_to_speak_timestamp)}else{this.requestToSpeakTimestamp??=null}return this}get member(){return this.guild.members.cache.get(this.id)??null}get channel(){return this.guild.channels.cache.get(this.channelId)??null}get deaf(){return this.serverDeaf||this.selfDeaf}get mute(){return this.serverMute||this.selfMute}setMute(mute=true,reason){return this.guild.members.edit(this.id,{mute,reason})}setDeaf(deaf=true,reason){return this.guild.members.edit(this.id,{deaf,reason})}disconnect(reason){return this.setChannel(null,reason)}setChannel(channel,reason){return this.guild.members.edit(this.id,{channel,reason})}async edit(options){var _a12;if(((_a12=this.channel)==null?void 0:_a12.type)!==ChannelType3.GuildStageVoice)throw new DiscordjsError2(ErrorCodes2.VoiceNotStageChannel);const target=this.client.user.id===this.id?"@me":this.id;if(target!=="@me"&&options.requestToSpeak!==void 0){throw new DiscordjsError2(ErrorCodes2.VoiceStateNotOwn)}if(!["boolean","undefined"].includes(typeof options.requestToSpeak)){throw new DiscordjsTypeError2(ErrorCodes2.VoiceStateInvalidType,"requestToSpeak")}if(!["boolean","undefined"].includes(typeof options.suppressed)){throw new DiscordjsTypeError2(ErrorCodes2.VoiceStateInvalidType,"suppressed")}await this.client.rest.patch(Routes2.guildVoiceState(this.guild.id,target),{body:{channel_id:this.channelId,request_to_speak_timestamp:options.requestToSpeak?new Date().toISOString():options.requestToSpeak===false?null:void 0,suppress:options.suppressed}});return this}setRequestToSpeak(requestToSpeak=true){return this.edit({requestToSpeak})}setSuppressed(suppressed=true){return this.edit({suppressed})}toJSON(){return super.toJSON({id:true,serverDeaf:true,serverMute:true,selfDeaf:true,selfMute:true,sessionId:true,channelId:"channel"})}};module2.exports=VoiceState}});var require_GuildMemberRoleManager=__commonJS({"node_modules/discord.js/src/managers/GuildMemberRoleManager.js"(exports2,module2){"use strict";var{Collection:Collection2}=require_dist();var{Routes:Routes2}=require_v106();var DataManager=require_DataManager();var{DiscordjsTypeError:DiscordjsTypeError2,ErrorCodes:ErrorCodes2}=require_errors6();var{Role}=require_Role();var GuildMemberRoleManager=class extends DataManager{constructor(member){super(member.client,Role);this.member=member;this.guild=member.guild}get cache(){const everyone=this.guild.roles.everyone;return this.guild.roles.cache.filter(role=>this.member._roles.includes(role.id)).set(everyone.id,everyone)}get hoist(){const hoistedRoles=this.cache.filter(role=>role.hoist);if(!hoistedRoles.size)return null;return hoistedRoles.reduce((prev,role)=>role.comparePositionTo(prev)>0?role:prev)}get icon(){const iconRoles=this.cache.filter(role=>role.icon||role.unicodeEmoji);if(!iconRoles.size)return null;return iconRoles.reduce((prev,role)=>role.comparePositionTo(prev)>0?role:prev)}get color(){const coloredRoles=this.cache.filter(role=>role.color);if(!coloredRoles.size)return null;return coloredRoles.reduce((prev,role)=>role.comparePositionTo(prev)>0?role:prev)}get highest(){return this.cache.reduce((prev,role)=>role.comparePositionTo(prev)>0?role:prev,this.cache.first())}get premiumSubscriberRole(){return this.cache.find(role=>{var _a12;return(_a12=role.tags)==null?void 0:_a12.premiumSubscriberRole})??null}get botRole(){if(!this.member.user.bot)return null;return this.cache.find(role=>{var _a12;return((_a12=role.tags)==null?void 0:_a12.botId)===this.member.user.id})??null}async add(roleOrRoles,reason){if(roleOrRoles instanceof Collection2||Array.isArray(roleOrRoles)){const resolvedRoles=[];for(const role of roleOrRoles.values()){const resolvedRole=this.guild.roles.resolveId(role);if(!resolvedRole){throw new DiscordjsTypeError2(ErrorCodes2.InvalidElement,"Array or Collection","roles",role)}resolvedRoles.push(resolvedRole)}const newRoles=[...new Set(resolvedRoles.concat(...this.cache.keys()))];return this.set(newRoles,reason)}else{roleOrRoles=this.guild.roles.resolveId(roleOrRoles);if(roleOrRoles===null){throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"roles","Role, Snowflake or Array or Collection of Roles or Snowflakes")}await this.client.rest.put(Routes2.guildMemberRole(this.guild.id,this.member.id,roleOrRoles),{reason});const clone2=this.member._clone();clone2._roles=[...this.cache.keys(),roleOrRoles];return clone2}}async remove(roleOrRoles,reason){if(roleOrRoles instanceof Collection2||Array.isArray(roleOrRoles)){const resolvedRoles=[];for(const role of roleOrRoles.values()){const resolvedRole=this.guild.roles.resolveId(role);if(!resolvedRole){throw new DiscordjsTypeError2(ErrorCodes2.InvalidElement,"Array or Collection","roles",role)}resolvedRoles.push(resolvedRole)}const newRoles=this.cache.filter(role=>!resolvedRoles.includes(role.id));return this.set(newRoles,reason)}else{roleOrRoles=this.guild.roles.resolveId(roleOrRoles);if(roleOrRoles===null){throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"roles","Role, Snowflake or Array or Collection of Roles or Snowflakes")}await this.client.rest.delete(Routes2.guildMemberRole(this.guild.id,this.member.id,roleOrRoles),{reason});const clone2=this.member._clone();const newRoles=this.cache.filter(role=>role.id!==roleOrRoles);clone2._roles=[...newRoles.keys()];return clone2}}set(roles,reason){return this.member.edit({roles,reason})}clone(){const clone2=new this.constructor(this.member);clone2.member._roles=[...this.cache.keys()];return clone2}};module2.exports=GuildMemberRoleManager}});var require_GuildMemberFlagsBitField=__commonJS({"node_modules/discord.js/src/util/GuildMemberFlagsBitField.js"(exports2){"use strict";var{GuildMemberFlags}=require_v106();var BitField=require_BitField();var GuildMemberFlagsBitField=class extends BitField{static Flags=GuildMemberFlags};exports2.GuildMemberFlagsBitField=GuildMemberFlagsBitField}});var require_GuildMember=__commonJS({"node_modules/discord.js/src/structures/GuildMember.js"(exports2){"use strict";var{PermissionFlagsBits}=require_v106();var Base=require_Base();var VoiceState=require_VoiceState();var TextBasedChannel=require_TextBasedChannel();var{DiscordjsError:DiscordjsError2,ErrorCodes:ErrorCodes2}=require_errors6();var GuildMemberRoleManager=require_GuildMemberRoleManager();var{GuildMemberFlagsBitField}=require_GuildMemberFlagsBitField();var PermissionsBitField2=require_PermissionsBitField();var GuildMember=class extends Base{constructor(client,data,guild2){super(client);this.guild=guild2;this.joinedTimestamp=null;this.premiumSinceTimestamp=null;this.nickname=null;this.pending=null;this.communicationDisabledUntilTimestamp=null;this._roles=[];if(data)this._patch(data)}_patch(data){if("user"in data){this.user=this.client.users._add(data.user,true)}if("nick"in data)this.nickname=data.nick;if("avatar"in data){this.avatar=data.avatar}else if(typeof this.avatar!=="string"){this.avatar=null}if("joined_at"in data)this.joinedTimestamp=Date.parse(data.joined_at);if("premium_since"in data){this.premiumSinceTimestamp=data.premium_since?Date.parse(data.premium_since):null}if("roles"in data)this._roles=data.roles;if("pending"in data){this.pending=data.pending}else if(!this.partial){this.pending??=false}if("communication_disabled_until"in data){this.communicationDisabledUntilTimestamp=data.communication_disabled_until&&Date.parse(data.communication_disabled_until)}if("flags"in data){this.flags=new GuildMemberFlagsBitField(data.flags).freeze()}else{this.flags??=new GuildMemberFlagsBitField().freeze()}}_clone(){const clone2=super._clone();clone2._roles=this._roles.slice();return clone2}get partial(){return this.joinedTimestamp===null}get roles(){return new GuildMemberRoleManager(this)}get voice(){return this.guild.voiceStates.cache.get(this.id)??new VoiceState(this.guild,{user_id:this.id})}avatarURL(options={}){return this.avatar&&this.client.rest.cdn.guildMemberAvatar(this.guild.id,this.id,this.avatar,options)}displayAvatarURL(options){return this.avatarURL(options)??this.user.displayAvatarURL(options)}get joinedAt(){return this.joinedTimestamp&&new Date(this.joinedTimestamp)}get communicationDisabledUntil(){return this.communicationDisabledUntilTimestamp&&new Date(this.communicationDisabledUntilTimestamp)}get premiumSince(){return this.premiumSinceTimestamp&&new Date(this.premiumSinceTimestamp)}get presence(){return this.guild.presences.resolve(this.id)}get displayColor(){var _a12;return((_a12=this.roles.color)==null?void 0:_a12.color)??0}get displayHexColor(){var _a12;return((_a12=this.roles.color)==null?void 0:_a12.hexColor)??"#000000"}get id(){return this.user.id}get dmChannel(){return this.client.users.dmChannel(this.id)}get displayName(){return this.nickname??this.user.username}get permissions(){if(this.user.id===this.guild.ownerId)return new PermissionsBitField2(PermissionsBitField2.All).freeze();return new PermissionsBitField2(this.roles.cache.map(role=>role.permissions)).freeze()}get manageable(){if(this.user.id===this.guild.ownerId)return false;if(this.user.id===this.client.user.id)return false;if(this.client.user.id===this.guild.ownerId)return true;if(!this.guild.members.me)throw new DiscordjsError2(ErrorCodes2.GuildUncachedMe);return this.guild.members.me.roles.highest.comparePositionTo(this.roles.highest)>0}get kickable(){if(!this.guild.members.me)throw new DiscordjsError2(ErrorCodes2.GuildUncachedMe);return this.manageable&&this.guild.members.me.permissions.has(PermissionFlagsBits.KickMembers)}get bannable(){if(!this.guild.members.me)throw new DiscordjsError2(ErrorCodes2.GuildUncachedMe);return this.manageable&&this.guild.members.me.permissions.has(PermissionFlagsBits.BanMembers)}get moderatable(){var _a12;return!this.permissions.has(PermissionFlagsBits.Administrator)&&this.manageable&&(((_a12=this.guild.members.me)==null?void 0:_a12.permissions.has(PermissionFlagsBits.ModerateMembers))??false)}isCommunicationDisabled(){return this.communicationDisabledUntilTimestamp>Date.now()}permissionsIn(channel){channel=this.guild.channels.resolve(channel);if(!channel)throw new DiscordjsError2(ErrorCodes2.GuildChannelResolve);return channel.permissionsFor(this)}edit(options){return this.guild.members.edit(this,options)}setFlags(flags,reason){return this.edit({flags,reason})}setNickname(nick,reason){return this.edit({nick,reason})}createDM(force=false){return this.user.createDM(force)}deleteDM(){return this.user.deleteDM()}kick(reason){return this.guild.members.kick(this,reason)}ban(options){return this.guild.bans.create(this,options)}disableCommunicationUntil(communicationDisabledUntil,reason){return this.edit({communicationDisabledUntil,reason})}timeout(timeout,reason){return this.disableCommunicationUntil(timeout&&Date.now()+timeout,reason)}fetch(force=true){return this.guild.members.fetch({user:this.id,cache:true,force})}equals(member){return member instanceof this.constructor&&this.id===member.id&&this.partial===member.partial&&this.guild.id===member.guild.id&&this.joinedTimestamp===member.joinedTimestamp&&this.nickname===member.nickname&&this.avatar===member.avatar&&this.pending===member.pending&&this.communicationDisabledUntilTimestamp===member.communicationDisabledUntilTimestamp&&this.flags.bitfield===member.flags.bitfield&&(this._roles===member._roles||this._roles.length===member._roles.length&&this._roles.every((role,i)=>role===member._roles[i]))}toString(){return this.user.toString()}toJSON(){const json2=super.toJSON({guild:"guildId",user:"userId",displayName:true,roles:true});json2.avatarURL=this.avatarURL();json2.displayAvatarURL=this.displayAvatarURL();return json2}};TextBasedChannel.applyToClass(GuildMember);exports2.GuildMember=GuildMember}});var require_MessageManager=__commonJS({"node_modules/discord.js/src/managers/MessageManager.js"(exports2,module2){"use strict";var{Collection:Collection2}=require_dist();var{makeURLSearchParams:makeURLSearchParams2}=require_dist3();var{Routes:Routes2}=require_v106();var CachedManager=require_CachedManager();var{DiscordjsTypeError:DiscordjsTypeError2,ErrorCodes:ErrorCodes2}=require_errors6();var{Message}=require_Message();var MessagePayload=require_MessagePayload();var{resolvePartialEmoji}=require_Util();var MessageManager=class extends CachedManager{constructor(channel,iterable){super(channel.client,Message,iterable);this.channel=channel}_add(data,cache2){return super._add(data,cache2)}fetch(options){if(!options)return this._fetchMany();const{message:message3,cache:cache2,force}=options;const resolvedMessage=this.resolveId(message3??options);if(resolvedMessage)return this._fetchSingle({message:resolvedMessage,cache:cache2,force});return this._fetchMany(options)}async _fetchSingle({message:message3,cache:cache2,force=false}){if(!force){const existing=this.cache.get(message3);if(existing&&!existing.partial)return existing}const data=await this.client.rest.get(Routes2.channelMessage(this.channel.id,message3));return this._add(data,cache2)}async _fetchMany(options={}){const data=await this.client.rest.get(Routes2.channelMessages(this.channel.id),{query:makeURLSearchParams2(options)});return data.reduce((_data,message3)=>_data.set(message3.id,this._add(message3,options.cache)),new Collection2)}async fetchPinned(cache2=true){const data=await this.client.rest.get(Routes2.channelPins(this.channel.id));const messages=new Collection2;for(const message3 of data)messages.set(message3.id,this._add(message3,cache2));return messages}async edit(message3,options){const messageId=this.resolveId(message3);if(!messageId)throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"message","MessageResolvable");const{body,files}=await(options instanceof MessagePayload?options:MessagePayload.create(message3 instanceof Message?message3:this,options)).resolveBody().resolveFiles();const d=await this.client.rest.patch(Routes2.channelMessage(this.channel.id,messageId),{body,files});const existing=this.cache.get(messageId);if(existing){const clone2=existing._clone();clone2._patch(d);return clone2}return this._add(d)}async crosspost(message3){message3=this.resolveId(message3);if(!message3)throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"message","MessageResolvable");const data=await this.client.rest.post(Routes2.channelMessageCrosspost(this.channel.id,message3));return this.cache.get(data.id)??this._add(data)}async pin(message3,reason){message3=this.resolveId(message3);if(!message3)throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"message","MessageResolvable");await this.client.rest.put(Routes2.channelPin(this.channel.id,message3),{reason})}async unpin(message3,reason){message3=this.resolveId(message3);if(!message3)throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"message","MessageResolvable");await this.client.rest.delete(Routes2.channelPin(this.channel.id,message3),{reason})}async react(message3,emoji){message3=this.resolveId(message3);if(!message3)throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"message","MessageResolvable");emoji=resolvePartialEmoji(emoji);if(!emoji)throw new DiscordjsTypeError2(ErrorCodes2.EmojiType,"emoji","EmojiIdentifierResolvable");const emojiId=emoji.id?`${emoji.animated?"a:":""}${emoji.name}:${emoji.id}`:encodeURIComponent(emoji.name);await this.client.rest.put(Routes2.channelMessageOwnReaction(this.channel.id,message3,emojiId))}async delete(message3){message3=this.resolveId(message3);if(!message3)throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"message","MessageResolvable");await this.client.rest.delete(Routes2.channelMessage(this.channel.id,message3))}};module2.exports=MessageManager}});var require_InteractionWebhook=__commonJS({"node_modules/discord.js/src/structures/InteractionWebhook.js"(exports2,module2){"use strict";var Webhook2=require_Webhook();var InteractionWebhook=class{constructor(client,id,token3){Object.defineProperty(this,"client",{value:client});this.id=id;Object.defineProperty(this,"token",{value:token3,writable:true,configurable:true})}send(){}fetchMessage(){}editMessage(){}deleteMessage(){}get url(){}};Webhook2.applyToClass(InteractionWebhook,["sendSlackMessage","edit","delete","createdTimestamp","createdAt"]);module2.exports=InteractionWebhook}});var require_MessagePayload=__commonJS({"node_modules/discord.js/src/structures/MessagePayload.js"(exports2,module2){"use strict";var{Buffer:Buffer12}=require("node:buffer");var{lazy,isJSONEncodable}=require_dist2();var{MessageFlags}=require_v106();var ActionRowBuilder2=require_ActionRowBuilder();var{DiscordjsRangeError:DiscordjsRangeError2,ErrorCodes:ErrorCodes2}=require_errors6();var DataResolver2=require_DataResolver();var MessageFlagsBitField=require_MessageFlagsBitField();var{basename:basename2,verifyString}=require_Util();var getBaseInteraction=lazy(()=>require_BaseInteraction());var MessagePayload=class{constructor(target,options){this.target=target;this.options=options;this.body=null;this.files=null}get isWebhook(){const Webhook2=require_Webhook();const WebhookClient=require_WebhookClient();return this.target instanceof Webhook2||this.target instanceof WebhookClient}get isUser(){const User=require_User();const{GuildMember}=require_GuildMember();return this.target instanceof User||this.target instanceof GuildMember}get isMessage(){const{Message}=require_Message();return this.target instanceof Message}get isMessageManager(){const MessageManager=require_MessageManager();return this.target instanceof MessageManager}get isInteraction(){const BaseInteraction=getBaseInteraction();const InteractionWebhook=require_InteractionWebhook();return this.target instanceof BaseInteraction||this.target instanceof InteractionWebhook}makeContent(){let content;if(this.options.content===null){content=""}else if(this.options.content!==void 0){content=verifyString(this.options.content,DiscordjsRangeError2,ErrorCodes2.MessageContentType,true)}return content}resolveBody(){var _a12,_b2,_c,_d,_e;if(this.body)return this;const isInteraction=this.isInteraction;const isWebhook=this.isWebhook;const content=this.makeContent();const tts=Boolean(this.options.tts);let nonce;if(this.options.nonce!==void 0){nonce=this.options.nonce;if(typeof nonce==="number"?!Number.isInteger(nonce):typeof nonce!=="string"){throw new DiscordjsRangeError2(ErrorCodes2.MessageNonceType)}}const components=(_a12=this.options.components)==null?void 0:_a12.map(c=>(isJSONEncodable(c)?c:new ActionRowBuilder2(c)).toJSON());let username;let avatarURL;let threadName;if(isWebhook){username=this.options.username??this.target.name;if(this.options.avatarURL)avatarURL=this.options.avatarURL;if(this.options.threadName)threadName=this.options.threadName}let flags;if(this.options.flags!==void 0||this.isMessage&&this.options.reply===void 0||this.isMessageManager){flags=this.options.flags!=null?new MessageFlagsBitField(this.options.flags).bitfield:(_b2=this.target.flags)==null?void 0:_b2.bitfield}if(isInteraction&&this.options.ephemeral){flags|=MessageFlags.Ephemeral}let allowedMentions=this.options.allowedMentions===void 0?this.target.client.options.allowedMentions:this.options.allowedMentions;if((allowedMentions==null?void 0:allowedMentions.repliedUser)!==void 0){allowedMentions={...allowedMentions,replied_user:allowedMentions.repliedUser};delete allowedMentions.repliedUser}let message_reference;if(typeof this.options.reply==="object"){const reference=this.options.reply.messageReference;const message_id=this.isMessage?reference.id??reference:this.target.messages.resolveId(reference);if(message_id){message_reference={message_id,fail_if_not_exists:this.options.reply.failIfNotExists??this.target.client.options.failIfNotExists}}}const attachments=(_c=this.options.files)==null?void 0:_c.map((file,index)=>({id:index.toString(),description:file.description}));if(Array.isArray(this.options.attachments)){this.options.attachments.push(...attachments??[])}else{this.options.attachments=attachments}this.body={content,tts,nonce,embeds:(_d=this.options.embeds)==null?void 0:_d.map(embed=>isJSONEncodable(embed)?embed.toJSON():this.target.client.options.jsonTransformer(embed)),components,username,avatar_url:avatarURL,allowed_mentions:content===void 0&&message_reference===void 0?void 0:allowedMentions,flags,message_reference,attachments:this.options.attachments,sticker_ids:(_e=this.options.stickers)==null?void 0:_e.map(sticker=>sticker.id??sticker),thread_name:threadName};return this}async resolveFiles(){var _a12;if(this.files)return this;this.files=await Promise.all(((_a12=this.options.files)==null?void 0:_a12.map(file=>this.constructor.resolveFile(file)))??[]);return this}static async resolveFile(fileLike){let attachment;let name;const findName=thing=>{if(typeof thing==="string"){return basename2(thing)}if(thing.path){return basename2(thing.path)}return"file.jpg"};const ownAttachment=typeof fileLike==="string"||fileLike instanceof Buffer12||typeof fileLike.pipe==="function";if(ownAttachment){attachment=fileLike;name=findName(attachment)}else{attachment=fileLike.attachment;name=fileLike.name??findName(attachment)}const{data,contentType}=await DataResolver2.resolveFile(attachment);return{data,name,contentType}}static create(target,options,extra={}){return new this(target,typeof options!=="object"||options===null?{content:options,...extra}:{...options,...extra})}};module2.exports=MessagePayload}});var require_TextBasedChannel=__commonJS({"node_modules/discord.js/src/structures/interfaces/TextBasedChannel.js"(exports2,module2){"use strict";var{Collection:Collection2}=require_dist();var{DiscordSnowflake}=require_cjs2();var{InteractionType:InteractionType2,Routes:Routes2}=require_v106();var{DiscordjsTypeError:DiscordjsTypeError2,DiscordjsError:DiscordjsError2,ErrorCodes:ErrorCodes2}=require_errors6();var{MaxBulkDeletableMessageAge}=require_Constants();var InteractionCollector=require_InteractionCollector();var MessageCollector=require_MessageCollector();var MessagePayload=require_MessagePayload();var TextBasedChannel=class _TextBasedChannel{constructor(){this.messages=new MessageManager(this);this.lastMessageId=null;this.lastPinTimestamp=null}get lastMessage(){return this.messages.resolve(this.lastMessageId)}get lastPinAt(){return this.lastPinTimestamp&&new Date(this.lastPinTimestamp)}async send(options){const User=require_User();const{GuildMember}=require_GuildMember();if(this instanceof User||this instanceof GuildMember){const dm=await this.createDM();return dm.send(options)}let messagePayload;if(options instanceof MessagePayload){messagePayload=options.resolveBody()}else{messagePayload=MessagePayload.create(this,options).resolveBody()}const{body,files}=await messagePayload.resolveFiles();const d=await this.client.rest.post(Routes2.channelMessages(this.id),{body,files});return this.messages.cache.get(d.id)??this.messages._add(d)}async sendTyping(){await this.client.rest.post(Routes2.channelTyping(this.id))}createMessageCollector(options={}){return new MessageCollector(this,options)}awaitMessages(options={}){return new Promise((resolve,reject2)=>{const collector=this.createMessageCollector(options);collector.once("end",(collection,reason)=>{var _a12;if((_a12=options.errors)==null?void 0:_a12.includes(reason)){reject2(collection)}else{resolve(collection)}})})}createMessageComponentCollector(options={}){return new InteractionCollector(this.client,{...options,interactionType:InteractionType2.MessageComponent,channel:this})}awaitMessageComponent(options={}){const _options={...options,max:1};return new Promise((resolve,reject2)=>{const collector=this.createMessageComponentCollector(_options);collector.once("end",(interactions,reason)=>{const interaction=interactions.first();if(interaction)resolve(interaction);else reject2(new DiscordjsError2(ErrorCodes2.InteractionCollectorError,reason))})})}async bulkDelete(messages,filterOld=false){if(Array.isArray(messages)||messages instanceof Collection2){let messageIds=messages instanceof Collection2?[...messages.keys()]:messages.map(m=>m.id??m);if(filterOld){messageIds=messageIds.filter(id=>Date.now()-DiscordSnowflake.timestampFrom(id)<MaxBulkDeletableMessageAge)}if(messageIds.length===0)return new Collection2;if(messageIds.length===1){const message3=this.client.actions.MessageDelete.getMessage({message_id:messageIds[0]},this);await this.client.rest.delete(Routes2.channelMessage(this.id,messageIds[0]));return message3?new Collection2([[message3.id,message3]]):new Collection2}await this.client.rest.post(Routes2.channelBulkDelete(this.id),{body:{messages:messageIds}});return messageIds.reduce((col,id)=>col.set(id,this.client.actions.MessageDeleteBulk.getMessage({message_id:id},this)),new Collection2)}if(!isNaN(messages)){const msgs=await this.messages.fetch({limit:messages});return this.bulkDelete(msgs,filterOld)}throw new DiscordjsTypeError2(ErrorCodes2.MessageBulkDeleteType)}fetchWebhooks(){return this.guild.channels.fetchWebhooks(this.id)}createWebhook(options){return this.guild.channels.createWebhook({channel:this.id,...options})}setRateLimitPerUser(rateLimitPerUser,reason){return this.edit({rateLimitPerUser,reason})}setNSFW(nsfw=true,reason){return this.edit({nsfw,reason})}static applyToClass(structure,full=false,ignore=[]){const props=["send"];if(full){props.push("lastMessage","lastPinAt","bulkDelete","sendTyping","createMessageCollector","awaitMessages","createMessageComponentCollector","awaitMessageComponent","fetchWebhooks","createWebhook","setRateLimitPerUser","setNSFW")}for(const prop of props){if(ignore.includes(prop))continue;Object.defineProperty(structure.prototype,prop,Object.getOwnPropertyDescriptor(_TextBasedChannel.prototype,prop))}}};module2.exports=TextBasedChannel;var MessageManager=require_MessageManager()}});var require_DMChannel=__commonJS({"node_modules/discord.js/src/structures/DMChannel.js"(exports2,module2){"use strict";var{userMention}=require_dist6();var{ChannelType:ChannelType3}=require_v106();var{BaseChannel}=require_BaseChannel();var TextBasedChannel=require_TextBasedChannel();var MessageManager=require_MessageManager();var Partials=require_Partials();var DMChannel=class extends BaseChannel{constructor(client,data){super(client,data);this.type=ChannelType3.DM;this.messages=new MessageManager(this)}_patch(data){super._patch(data);if(data.recipients){const recipient=data.recipients[0];this.recipientId=recipient.id;if("username"in recipient||this.client.options.partials.includes(Partials.Users)){this.client.users._add(recipient)}}if("last_message_id"in data){this.lastMessageId=data.last_message_id}if("last_pin_timestamp"in data){this.lastPinTimestamp=Date.parse(data.last_pin_timestamp)}else{this.lastPinTimestamp??=null}}get partial(){return this.lastMessageId===void 0}get recipient(){return this.client.users.resolve(this.recipientId)}fetch(force=true){return this.client.users.createDM(this.recipientId,{force})}toString(){return userMention(this.recipientId)}get lastMessage(){}get lastPinAt(){}send(){}sendTyping(){}createMessageCollector(){}awaitMessages(){}createMessageComponentCollector(){}awaitMessageComponent(){}};TextBasedChannel.applyToClass(DMChannel,true,["bulkDelete","fetchWebhooks","createWebhook","setRateLimitPerUser","setNSFW"]);module2.exports=DMChannel}});var require_ThreadMemberFlagsBitField=__commonJS({"node_modules/discord.js/src/util/ThreadMemberFlagsBitField.js"(exports2,module2){"use strict";var BitField=require_BitField();var ThreadMemberFlagsBitField=class extends BitField{static Flags={}};module2.exports=ThreadMemberFlagsBitField}});var require_ThreadMember=__commonJS({"node_modules/discord.js/src/structures/ThreadMember.js"(exports2,module2){"use strict";var Base=require_Base();var ThreadMemberFlagsBitField=require_ThreadMemberFlagsBitField();var ThreadMember=class extends Base{constructor(thread,data,extra={}){super(thread.client);this.thread=thread;this.joinedTimestamp=null;this.flags=null;this.id=data.user_id;this._patch(data,extra)}_patch(data,extra={}){if("join_timestamp"in data)this.joinedTimestamp=Date.parse(data.join_timestamp);if("flags"in data)this.flags=new ThreadMemberFlagsBitField(data.flags).freeze();if("member"in data){this.member=this.thread.guild.members._add(data.member,extra.cache)}else{this.member??=null}}get partial(){return this.flags===null}get guildMember(){return this.member??this.thread.guild.members.resolve(this.id)}get joinedAt(){return this.joinedTimestamp&&new Date(this.joinedTimestamp)}get user(){return this.client.users.resolve(this.id)}get manageable(){return!this.thread.archived&&this.thread.editable}async remove(reason){await this.thread.members.remove(this.id,reason);return this}};module2.exports=ThreadMember}});var require_ThreadMemberManager=__commonJS({"node_modules/discord.js/src/managers/ThreadMemberManager.js"(exports2,module2){"use strict";var{Collection:Collection2}=require_dist();var{makeURLSearchParams:makeURLSearchParams2}=require_dist3();var{Routes:Routes2}=require_v106();var CachedManager=require_CachedManager();var{DiscordjsTypeError:DiscordjsTypeError2,ErrorCodes:ErrorCodes2}=require_errors6();var ThreadMember=require_ThreadMember();var ThreadMemberManager=class extends CachedManager{constructor(thread,iterable){super(thread.client,ThreadMember,iterable);this.thread=thread}_add(data,cache2=true){const existing=this.cache.get(data.user_id);if(cache2)existing==null?void 0:existing._patch(data,{cache:cache2});if(existing)return existing;const member=new ThreadMember(this.thread,data,{cache:cache2});if(cache2)this.cache.set(data.user_id,member);return member}fetchMe(options){return this.fetch({...options,member:this.client.user.id})}get me(){return this.resolve(this.client.user.id)}resolve(member){const memberResolvable=super.resolve(member);if(memberResolvable)return memberResolvable;const userResolvable=this.client.users.resolveId(member);if(userResolvable)return super.resolve(userResolvable);return null}resolveId(member){const memberResolvable=super.resolveId(member);if(memberResolvable)return memberResolvable;const userResolvable=this.client.users.resolveId(member);return this.cache.has(userResolvable)?userResolvable:null}async add(member,reason){const id=member==="@me"?member:this.client.users.resolveId(member);if(!id)throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"member","UserResolvable");await this.client.rest.put(Routes2.threadMembers(this.thread.id,id),{reason});return id}async remove(id,reason){await this.client.rest.delete(Routes2.threadMembers(this.thread.id,id),{reason});return id}fetch(options){if(!options)return this._fetchMany();const{member,withMember,cache:cache2,force}=options;const resolvedMember=this.resolveId(member??options);if(resolvedMember)return this._fetchSingle({member:resolvedMember,withMember,cache:cache2,force});return this._fetchMany(options)}async _fetchSingle({member,withMember,cache:cache2,force=false}){if(!force){const existing=this.cache.get(member);if(existing)return existing}const data=await this.client.rest.get(Routes2.threadMembers(this.thread.id,member),{query:makeURLSearchParams2({with_member:withMember})});return this._add(data,cache2)}async _fetchMany({withMember,after:after2,limit,cache:cache2}={}){const data=await this.client.rest.get(Routes2.threadMembers(this.thread.id),{query:makeURLSearchParams2({with_member:withMember,after:after2,limit})});return data.reduce((col,member)=>col.set(member.user_id,this._add(member,cache2)),new Collection2)}};module2.exports=ThreadMemberManager}});var require_ThreadChannel=__commonJS({"node_modules/discord.js/src/structures/ThreadChannel.js"(exports2,module2){"use strict";var{ChannelType:ChannelType3,PermissionFlagsBits,Routes:Routes2,ChannelFlags}=require_v106();var{BaseChannel}=require_BaseChannel();var TextBasedChannel=require_TextBasedChannel();var{DiscordjsRangeError:DiscordjsRangeError2,ErrorCodes:ErrorCodes2}=require_errors6();var MessageManager=require_MessageManager();var ThreadMemberManager=require_ThreadMemberManager();var ChannelFlagsBitField=require_ChannelFlagsBitField();var ThreadChannel=class extends BaseChannel{constructor(guild2,data,client){super((guild2==null?void 0:guild2.client)??client,data,false);this.guild=guild2;this.guildId=(guild2==null?void 0:guild2.id)??data.guild_id;this.messages=new MessageManager(this);this.members=new ThreadMemberManager(this);if(data)this._patch(data)}_patch(data){super._patch(data);if("message"in data)this.messages._add(data.message);if("name"in data){this.name=data.name}if("guild_id"in data){this.guildId=data.guild_id}if("parent_id"in data){this.parentId=data.parent_id}else{this.parentId??=null}if("thread_metadata"in data){this.locked=data.thread_metadata.locked??false;this.invitable=this.type===ChannelType3.PrivateThread?data.thread_metadata.invitable??false:null;this.archived=data.thread_metadata.archived;this.autoArchiveDuration=data.thread_metadata.auto_archive_duration;this.archiveTimestamp=Date.parse(data.thread_metadata.archive_timestamp);if("create_timestamp"in data.thread_metadata){this._createdTimestamp=Date.parse(data.thread_metadata.create_timestamp)}}else{this.locked??=null;this.archived??=null;this.autoArchiveDuration??=null;this.archiveTimestamp??=null;this.invitable??=null}this._createdTimestamp??=this.type===ChannelType3.PrivateThread?super.createdTimestamp:null;if("owner_id"in data){this.ownerId=data.owner_id}else{this.ownerId??=null}if("last_message_id"in data){this.lastMessageId=data.last_message_id}else{this.lastMessageId??=null}if("last_pin_timestamp"in data){this.lastPinTimestamp=data.last_pin_timestamp?Date.parse(data.last_pin_timestamp):null}else{this.lastPinTimestamp??=null}if("rate_limit_per_user"in data){this.rateLimitPerUser=data.rate_limit_per_user??0}else{this.rateLimitPerUser??=null}if("message_count"in data){this.messageCount=data.message_count}else{this.messageCount??=null}if("member_count"in data){this.memberCount=data.member_count}else{this.memberCount??=null}if("total_message_sent"in data){this.totalMessageSent=data.total_message_sent}else{this.totalMessageSent??=null}if(data.member&&this.client.user)this.members._add({user_id:this.client.user.id,...data.member});if(data.messages)for(const message3 of data.messages)this.messages._add(message3);if("applied_tags"in data){this.appliedTags=data.applied_tags}else{this.appliedTags??=[]}}get createdTimestamp(){return this._createdTimestamp}get guildMembers(){return this.members.cache.mapValues(member=>member.guildMember)}get archivedAt(){return this.archiveTimestamp&&new Date(this.archiveTimestamp)}get createdAt(){return this.createdTimestamp&&new Date(this.createdTimestamp)}get parent(){return this.guild.channels.resolve(this.parentId)}async join(){await this.members.add("@me");return this}async leave(){await this.members.remove("@me");return this}permissionsFor(memberOrRole,checkAdmin){var _a12;return((_a12=this.parent)==null?void 0:_a12.permissionsFor(memberOrRole,checkAdmin))??null}async fetchOwner({cache:cache2=true,force=false}={}){if(!force){const existing=this.members.cache.get(this.ownerId);if(existing)return existing}const members=await this.members.fetch({cache:cache2});return members.get(this.ownerId)??null}async fetchStarterMessage(options){var _a12;const channel=((_a12=this.parent)==null?void 0:_a12.type)===ChannelType3.GuildForum?this:this.parent;return(channel==null?void 0:channel.messages.fetch({message:this.id,...options}))??null}async edit(options){const newData=await this.client.rest.patch(Routes2.channel(this.id),{body:{name:(options.name??this.name).trim(),archived:options.archived,auto_archive_duration:options.autoArchiveDuration,rate_limit_per_user:options.rateLimitPerUser,locked:options.locked,invitable:this.type===ChannelType3.PrivateThread?options.invitable:void 0,applied_tags:options.appliedTags,flags:"flags"in options?ChannelFlagsBitField.resolve(options.flags):void 0},reason:options.reason});return this.client.actions.ChannelUpdate.handle(newData).updated}setArchived(archived=true,reason){return this.edit({archived,reason})}setAutoArchiveDuration(autoArchiveDuration,reason){return this.edit({autoArchiveDuration,reason})}setInvitable(invitable=true,reason){if(this.type!==ChannelType3.PrivateThread){return Promise.reject(new DiscordjsRangeError2(ErrorCodes2.ThreadInvitableType,this.type))}return this.edit({invitable,reason})}setLocked(locked=true,reason){return this.edit({locked,reason})}setName(name,reason){return this.edit({name,reason})}setRateLimitPerUser(rateLimitPerUser,reason){return this.edit({rateLimitPerUser,reason})}setAppliedTags(appliedTags,reason){return this.edit({appliedTags,reason})}pin(reason){return this.edit({flags:this.flags.add(ChannelFlags.Pinned),reason})}unpin(reason){return this.edit({flags:this.flags.remove(ChannelFlags.Pinned),reason})}get joined(){var _a12;return this.members.cache.has((_a12=this.client.user)==null?void 0:_a12.id)}get editable(){return this.ownerId===this.client.user.id&&(this.type!==ChannelType3.PrivateThread||this.joined)||this.manageable}get joinable(){var _a12;return!this.archived&&!this.joined&&((_a12=this.permissionsFor(this.client.user))==null?void 0:_a12.has(this.type===ChannelType3.PrivateThread?PermissionFlagsBits.ManageThreads:PermissionFlagsBits.ViewChannel,false))}get manageable(){const permissions=this.permissionsFor(this.client.user);if(!permissions)return false;if(permissions.has(PermissionFlagsBits.Administrator,false))return true;return this.guild.members.me.communicationDisabledUntilTimestamp<Date.now()&&permissions.has(PermissionFlagsBits.ManageThreads,false)}get viewable(){if(this.client.user.id===this.guild.ownerId)return true;const permissions=this.permissionsFor(this.client.user);if(!permissions)return false;return permissions.has(PermissionFlagsBits.ViewChannel,false)}get sendable(){const permissions=this.permissionsFor(this.client.user);if(!permissions)return false;if(permissions.has(PermissionFlagsBits.Administrator,false))return true;return!(this.archived&&this.locked&&!this.manageable)&&(this.type!==ChannelType3.PrivateThread||this.joined||this.manageable)&&permissions.has(PermissionFlagsBits.SendMessagesInThreads,false)&&this.guild.members.me.communicationDisabledUntilTimestamp<Date.now()}get unarchivable(){return this.archived&&this.sendable&&(!this.locked||this.manageable)}async delete(reason){await this.guild.channels.delete(this.id,reason);return this}get lastMessage(){}get lastPinAt(){}send(){}sendTyping(){}createMessageCollector(){}awaitMessages(){}createMessageComponentCollector(){}awaitMessageComponent(){}bulkDelete(){}};TextBasedChannel.applyToClass(ThreadChannel,true,["fetchWebhooks","setRateLimitPerUser","setNSFW"]);module2.exports=ThreadChannel}});var require_ThreadManager=__commonJS({"node_modules/discord.js/src/managers/ThreadManager.js"(exports2,module2){"use strict";var{Collection:Collection2}=require_dist();var{makeURLSearchParams:makeURLSearchParams2}=require_dist3();var{Routes:Routes2}=require_v106();var CachedManager=require_CachedManager();var{DiscordjsTypeError:DiscordjsTypeError2,ErrorCodes:ErrorCodes2}=require_errors6();var ThreadChannel=require_ThreadChannel();var ThreadManager=class extends CachedManager{constructor(channel,iterable){super(channel.client,ThreadChannel,iterable);this.channel=channel}_add(thread){const existing=this.cache.get(thread.id);if(existing)return existing;this.cache.set(thread.id,thread);return thread}fetch(options,{cache:cache2,force}={}){if(!options)return this.fetchActive(cache2);const channel=this.client.channels.resolveId(options);if(channel)return this.client.channels.fetch(channel,{cache:cache2,force});if(options.archived){return this.fetchArchived(options.archived,cache2)}return this.fetchActive(cache2)}async fetchArchived({type:type2="public",fetchAll=false,before:before2,limit}={},cache2=true){var _a12,_b2;let path27=Routes2.channelThreads(this.channel.id,type2);if(type2==="private"&&!fetchAll){path27=Routes2.channelJoinedArchivedThreads(this.channel.id)}let timestamp2;let id;const query=makeURLSearchParams2({limit});if(before2!==void 0){if(before2 instanceof ThreadChannel||/^\d{17,19}$/.test(String(before2))){id=this.resolveId(before2);timestamp2=(_b2=(_a12=this.resolve(before2))==null?void 0:_a12.archivedAt)==null?void 0:_b2.toISOString();const toUse=type2==="private"&&!fetchAll?id:timestamp2;if(toUse){query.set("before",toUse)}}else{try{timestamp2=new Date(before2).toISOString();if(type2==="public"||fetchAll){query.set("before",timestamp2)}}catch{throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"before","DateResolvable or ThreadChannelResolvable")}}}const raw=await this.client.rest.get(path27,{query});return this.constructor._mapThreads(raw,this.client,{parent:this.channel,cache:cache2})}fetchActive(cache2=true){return this.channel.guild.channels.fetchActiveThreads(cache2)}static _mapThreads(rawThreads,client,{parent:parent2,guild:guild2,cache:cache2}){const threads=rawThreads.threads.reduce((coll,raw)=>{const thread=client.channels._add(raw,guild2??(parent2==null?void 0:parent2.guild),{cache:cache2});if(parent2&&thread.parentId!==parent2.id)return coll;return coll.set(thread.id,thread)},new Collection2);const threadMembers=rawThreads.members.reduce((coll,raw)=>coll.set(raw.user_id,threads.get(raw.id).members._add(raw)),new Collection2);const response={threads,members:threadMembers};if("has_more"in rawThreads)response.hasMore=rawThreads.has_more;return response}};module2.exports=ThreadManager}});var require_GuildTextThreadManager=__commonJS({"node_modules/discord.js/src/managers/GuildTextThreadManager.js"(exports2,module2){"use strict";var{ChannelType:ChannelType3,Routes:Routes2}=require_v106();var ThreadManager=require_ThreadManager();var{DiscordjsTypeError:DiscordjsTypeError2,ErrorCodes:ErrorCodes2}=require_errors6();var GuildTextThreadManager=class extends ThreadManager{async create({name,autoArchiveDuration=this.channel.defaultAutoArchiveDuration,startMessage,type:type2,invitable,reason,rateLimitPerUser}={}){let resolvedType=this.channel.type===ChannelType3.GuildAnnouncement?ChannelType3.AnnouncementThread:ChannelType3.PublicThread;let startMessageId;if(startMessage){startMessageId=this.channel.messages.resolveId(startMessage);if(!startMessageId)throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"startMessage","MessageResolvable")}else if(this.channel.type!==ChannelType3.GuildAnnouncement){resolvedType=type2??resolvedType}const data=await this.client.rest.post(Routes2.threads(this.channel.id,startMessageId),{body:{name,auto_archive_duration:autoArchiveDuration,type:resolvedType,invitable:resolvedType===ChannelType3.PrivateThread?invitable:void 0,rate_limit_per_user:rateLimitPerUser},reason});return this.client.actions.ThreadCreate.handle(data).thread}};module2.exports=GuildTextThreadManager}});var require_BaseGuildTextChannel=__commonJS({"node_modules/discord.js/src/structures/BaseGuildTextChannel.js"(exports2,module2){"use strict";var GuildChannel=require_GuildChannel();var TextBasedChannel=require_TextBasedChannel();var GuildTextThreadManager=require_GuildTextThreadManager();var MessageManager=require_MessageManager();var BaseGuildTextChannel=class extends GuildChannel{constructor(guild2,data,client){super(guild2,data,client,false);this.messages=new MessageManager(this);this.threads=new GuildTextThreadManager(this);this.nsfw=Boolean(data.nsfw);this._patch(data)}_patch(data){super._patch(data);if("topic"in data){this.topic=data.topic}if("nsfw"in data){this.nsfw=Boolean(data.nsfw)}if("last_message_id"in data){this.lastMessageId=data.last_message_id}if("last_pin_timestamp"in data){this.lastPinTimestamp=data.last_pin_timestamp?Date.parse(data.last_pin_timestamp):null}if("default_auto_archive_duration"in data){this.defaultAutoArchiveDuration=data.default_auto_archive_duration}if("messages"in data){for(const message3 of data.messages)this.messages._add(message3)}}setDefaultAutoArchiveDuration(defaultAutoArchiveDuration,reason){return this.edit({defaultAutoArchiveDuration,reason})}setType(type2,reason){return this.edit({type:type2,reason})}setTopic(topic,reason){return this.edit({topic,reason})}createInvite(options){return this.guild.invites.create(this.id,options)}fetchInvites(cache2=true){return this.guild.invites.fetch({channelId:this.id,cache:cache2})}get lastMessage(){}get lastPinAt(){}send(){}sendTyping(){}createMessageCollector(){}awaitMessages(){}createMessageComponentCollector(){}awaitMessageComponent(){}bulkDelete(){}fetchWebhooks(){}createWebhook(){}setRateLimitPerUser(){}setNSFW(){}};TextBasedChannel.applyToClass(BaseGuildTextChannel,true);module2.exports=BaseGuildTextChannel}});var require_NewsChannel=__commonJS({"node_modules/discord.js/src/structures/NewsChannel.js"(exports2,module2){"use strict";var{Routes:Routes2}=require_v106();var BaseGuildTextChannel=require_BaseGuildTextChannel();var{DiscordjsError:DiscordjsError2,ErrorCodes:ErrorCodes2}=require_errors6();var NewsChannel=class extends BaseGuildTextChannel{async addFollower(channel,reason){const channelId=this.guild.channels.resolveId(channel);if(!channelId)throw new DiscordjsError2(ErrorCodes2.GuildChannelResolve);await this.client.rest.post(Routes2.channelFollowers(this.id),{body:{webhook_channel_id:channelId},reason});return this}};module2.exports=NewsChannel}});var require_BaseGuildVoiceChannel=__commonJS({"node_modules/discord.js/src/structures/BaseGuildVoiceChannel.js"(exports2,module2){"use strict";var{Collection:Collection2}=require_dist();var{PermissionFlagsBits}=require_v106();var GuildChannel=require_GuildChannel();var TextBasedChannel=require_TextBasedChannel();var MessageManager=require_MessageManager();var BaseGuildVoiceChannel=class extends GuildChannel{constructor(guild2,data,client){super(guild2,data,client,false);this.messages=new MessageManager(this);this.nsfw=Boolean(data.nsfw);this._patch(data)}_patch(data){super._patch(data);if("rtc_region"in data){this.rtcRegion=data.rtc_region}if("bitrate"in data){this.bitrate=data.bitrate}if("user_limit"in data){this.userLimit=data.user_limit}if("video_quality_mode"in data){this.videoQualityMode=data.video_quality_mode}else{this.videoQualityMode??=null}if("last_message_id"in data){this.lastMessageId=data.last_message_id}if("messages"in data){for(const message3 of data.messages)this.messages._add(message3)}if("rate_limit_per_user"in data){this.rateLimitPerUser=data.rate_limit_per_user}if("nsfw"in data){this.nsfw=data.nsfw}}get members(){const coll=new Collection2;for(const state of this.guild.voiceStates.cache.values()){if(state.channelId===this.id&&state.member){coll.set(state.id,state.member)}}return coll}get full(){return this.userLimit>0&&this.members.size>=this.userLimit}get joinable(){if(!this.viewable)return false;const permissions=this.permissionsFor(this.client.user);if(!permissions)return false;if(permissions.has(PermissionFlagsBits.Administrator,false))return true;return this.guild.members.me.communicationDisabledUntilTimestamp<Date.now()&&permissions.has(PermissionFlagsBits.Connect,false)}createInvite(options){return this.guild.invites.create(this.id,options)}fetchInvites(cache2=true){return this.guild.invites.fetch({channelId:this.id,cache:cache2})}setBitrate(bitrate,reason){return this.edit({bitrate,reason})}setRTCRegion(rtcRegion,reason){return this.edit({rtcRegion,reason})}setUserLimit(userLimit,reason){return this.edit({userLimit,reason})}setVideoQualityMode(videoQualityMode,reason){return this.edit({videoQualityMode,reason})}get lastMessage(){}send(){}sendTyping(){}createMessageCollector(){}awaitMessages(){}createMessageComponentCollector(){}awaitMessageComponent(){}bulkDelete(){}fetchWebhooks(){}createWebhook(){}setRateLimitPerUser(){}setNSFW(){}};TextBasedChannel.applyToClass(BaseGuildVoiceChannel,true,["lastPinAt"]);module2.exports=BaseGuildVoiceChannel}});var require_StageChannel=__commonJS({"node_modules/discord.js/src/structures/StageChannel.js"(exports2,module2){"use strict";var BaseGuildVoiceChannel=require_BaseGuildVoiceChannel();var StageChannel=class extends BaseGuildVoiceChannel{_patch(data){super._patch(data);if("topic"in data){this.topic=data.topic}}get stageInstance(){return this.guild.stageInstances.cache.find(stageInstance=>stageInstance.channelId===this.id)??null}createStageInstance(options){return this.guild.stageInstances.create(this.id,options)}setTopic(topic,reason){return this.edit({topic,reason})}};module2.exports=StageChannel}});var require_TextChannel=__commonJS({"node_modules/discord.js/src/structures/TextChannel.js"(exports2,module2){"use strict";var BaseGuildTextChannel=require_BaseGuildTextChannel();var TextChannel=class extends BaseGuildTextChannel{_patch(data){super._patch(data);if("rate_limit_per_user"in data){this.rateLimitPerUser=data.rate_limit_per_user}}setRateLimitPerUser(rateLimitPerUser,reason){return this.edit({rateLimitPerUser,reason})}};module2.exports=TextChannel}});var require_VoiceChannel=__commonJS({"node_modules/discord.js/src/structures/VoiceChannel.js"(exports2,module2){"use strict";var{PermissionFlagsBits}=require_v106();var BaseGuildVoiceChannel=require_BaseGuildVoiceChannel();var VoiceChannel=class extends BaseGuildVoiceChannel{get joinable(){if(!super.joinable)return false;if(this.full&&!this.permissionsFor(this.client.user).has(PermissionFlagsBits.MoveMembers,false))return false;return true}get speakable(){const permissions=this.permissionsFor(this.client.user);if(!permissions)return false;if(permissions.has(PermissionFlagsBits.Administrator,false))return true;return this.guild.members.me.communicationDisabledUntilTimestamp<Date.now()&&permissions.has(PermissionFlagsBits.Speak,false)}};module2.exports=VoiceChannel}});var require_DirectoryChannel=__commonJS({"node_modules/discord.js/src/structures/DirectoryChannel.js"(exports2,module2){"use strict";var{BaseChannel}=require_BaseChannel();var DirectoryChannel=class extends BaseChannel{constructor(guild2,data,client){super(client,data);this.guild=guild2;this.guildId=guild2.id}_patch(data){super._patch(data);this.name=data.name}};module2.exports=DirectoryChannel}});var require_PartialGroupDMChannel=__commonJS({"node_modules/discord.js/src/structures/PartialGroupDMChannel.js"(exports2,module2){"use strict";var{BaseChannel}=require_BaseChannel();var{DiscordjsError:DiscordjsError2,ErrorCodes:ErrorCodes2}=require_errors6();var PartialGroupDMChannel=class extends BaseChannel{constructor(client,data){super(client,data);this.flags=null;this.name=data.name;this.icon=data.icon;this.recipients=data.recipients}iconURL(options={}){return this.icon&&this.client.rest.cdn.channelIcon(this.id,this.icon,options)}delete(){return Promise.reject(new DiscordjsError2(ErrorCodes2.DeleteGroupDMChannel))}fetch(){return Promise.reject(new DiscordjsError2(ErrorCodes2.FetchGroupDMChannel))}};module2.exports=PartialGroupDMChannel}});var require_GuildForumThreadManager=__commonJS({"node_modules/discord.js/src/managers/GuildForumThreadManager.js"(exports2,module2){"use strict";var{Routes:Routes2}=require_v106();var ThreadManager=require_ThreadManager();var{DiscordjsTypeError:DiscordjsTypeError2,ErrorCodes:ErrorCodes2}=require_errors6();var MessagePayload=require_MessagePayload();var GuildForumThreadManager=class extends ThreadManager{async create({name,autoArchiveDuration=this.channel.defaultAutoArchiveDuration,message:message3,reason,rateLimitPerUser,appliedTags}={}){if(!message3){throw new DiscordjsTypeError2(ErrorCodes2.GuildForumMessageRequired)}const{body,files}=await(message3 instanceof MessagePayload?message3:MessagePayload.create(this,message3)).resolveBody().resolveFiles();const data=await this.client.rest.post(Routes2.threads(this.channel.id),{body:{name,auto_archive_duration:autoArchiveDuration,rate_limit_per_user:rateLimitPerUser,applied_tags:appliedTags,message:body},files,reason});return this.client.actions.ThreadCreate.handle(data).thread}};module2.exports=GuildForumThreadManager}});var require_ForumChannel=__commonJS({"node_modules/discord.js/src/structures/ForumChannel.js"(exports2,module2){"use strict";var GuildChannel=require_GuildChannel();var TextBasedChannel=require_TextBasedChannel();var GuildForumThreadManager=require_GuildForumThreadManager();var{transformAPIGuildForumTag,transformAPIGuildDefaultReaction}=require_Channels();var ForumChannel=class extends GuildChannel{constructor(guild2,data,client){super(guild2,data,client,false);this.threads=new GuildForumThreadManager(this);this._patch(data)}_patch(data){super._patch(data);if("available_tags"in data){this.availableTags=data.available_tags.map(tag=>transformAPIGuildForumTag(tag))}else{this.availableTags??=[]}if("default_reaction_emoji"in data){this.defaultReactionEmoji=data.default_reaction_emoji?transformAPIGuildDefaultReaction(data.default_reaction_emoji):null}else{this.defaultReactionEmoji??=null}if("default_thread_rate_limit_per_user"in data){this.defaultThreadRateLimitPerUser=data.default_thread_rate_limit_per_user}else{this.defaultThreadRateLimitPerUser??=null}if("rate_limit_per_user"in data){this.rateLimitPerUser=data.rate_limit_per_user}else{this.rateLimitPerUser??=null}if("default_auto_archive_duration"in data){this.defaultAutoArchiveDuration=data.default_auto_archive_duration}else{this.defaultAutoArchiveDuration??=null}if("nsfw"in data){this.nsfw=data.nsfw}else{this.nsfw??=false}if("topic"in data){this.topic=data.topic}if("default_sort_order"in data){this.defaultSortOrder=data.default_sort_order}else{this.defaultSortOrder??=null}this.defaultForumLayout=data.default_forum_layout}setAvailableTags(availableTags,reason){return this.edit({availableTags,reason})}setDefaultReactionEmoji(defaultReactionEmoji,reason){return this.edit({defaultReactionEmoji,reason})}setDefaultThreadRateLimitPerUser(defaultThreadRateLimitPerUser,reason){return this.edit({defaultThreadRateLimitPerUser,reason})}createInvite(options){return this.guild.invites.create(this.id,options)}fetchInvites(cache2){return this.guild.invites.fetch({channelId:this.id,cache:cache2})}setDefaultAutoArchiveDuration(defaultAutoArchiveDuration,reason){return this.edit({defaultAutoArchiveDuration,reason})}setTopic(topic,reason){return this.edit({topic,reason})}setDefaultSortOrder(defaultSortOrder,reason){return this.edit({defaultSortOrder,reason})}setDefaultForumLayout(defaultForumLayout,reason){return this.edit({defaultForumLayout,reason})}createWebhook(){}fetchWebhooks(){}setNSFW(){}setRateLimitPerUser(){}};TextBasedChannel.applyToClass(ForumChannel,true,["send","lastMessage","lastPinAt","bulkDelete","sendTyping","createMessageCollector","awaitMessages","createMessageComponentCollector","awaitMessageComponent"]);module2.exports=ForumChannel}});var require_Channels=__commonJS({"node_modules/discord.js/src/util/Channels.js"(exports2,module2){"use strict";var{lazy}=require_dist2();var{ChannelType:ChannelType3}=require_v106();var getCategoryChannel=lazy(()=>require_CategoryChannel());var getDMChannel=lazy(()=>require_DMChannel());var getNewsChannel=lazy(()=>require_NewsChannel());var getStageChannel=lazy(()=>require_StageChannel());var getTextChannel=lazy(()=>require_TextChannel());var getThreadChannel=lazy(()=>require_ThreadChannel());var getVoiceChannel=lazy(()=>require_VoiceChannel());var getDirectoryChannel=lazy(()=>require_DirectoryChannel());var getPartialGroupDMChannel=lazy(()=>require_PartialGroupDMChannel());var getForumChannel=lazy(()=>require_ForumChannel());function createChannel(client,data,guild2,{allowUnknownGuild}={}){var _a12,_b2;let channel;if(!data.guild_id&&!guild2){if(data.recipients&&data.type!==ChannelType3.GroupDM||data.type===ChannelType3.DM){channel=new(getDMChannel())(client,data)}else if(data.type===ChannelType3.GroupDM){channel=new(getPartialGroupDMChannel())(client,data)}}else{guild2??=client.guilds.cache.get(data.guild_id);if(guild2||allowUnknownGuild){switch(data.type){case ChannelType3.GuildText:{channel=new(getTextChannel())(guild2,data,client);break}case ChannelType3.GuildVoice:{channel=new(getVoiceChannel())(guild2,data,client);break}case ChannelType3.GuildCategory:{channel=new(getCategoryChannel())(guild2,data,client);break}case ChannelType3.GuildAnnouncement:{channel=new(getNewsChannel())(guild2,data,client);break}case ChannelType3.GuildStageVoice:{channel=new(getStageChannel())(guild2,data,client);break}case ChannelType3.AnnouncementThread:case ChannelType3.PublicThread:case ChannelType3.PrivateThread:{channel=new(getThreadChannel())(guild2,data,client);if(!allowUnknownGuild)(_a12=channel.parent)==null?void 0:_a12.threads.cache.set(channel.id,channel);break}case ChannelType3.GuildDirectory:channel=new(getDirectoryChannel())(guild2,data,client);break;case ChannelType3.GuildForum:channel=new(getForumChannel())(guild2,data,client);break}if(channel&&!allowUnknownGuild)(_b2=guild2.channels)==null?void 0:_b2.cache.set(channel.id,channel)}}return channel}function transformAPIGuildForumTag(tag){return{id:tag.id,name:tag.name,moderated:tag.moderated,emoji:tag.emoji_id??tag.emoji_name?{id:tag.emoji_id,name:tag.emoji_name}:null}}function transformGuildForumTag(tag){var _a12,_b2;return{id:tag.id,name:tag.name,moderated:tag.moderated,emoji_id:((_a12=tag.emoji)==null?void 0:_a12.id)??null,emoji_name:((_b2=tag.emoji)==null?void 0:_b2.name)??null}}function transformAPIGuildDefaultReaction(defaultReaction){return{id:defaultReaction.emoji_id,name:defaultReaction.emoji_name}}function transformGuildDefaultReaction(defaultReaction){return{emoji_id:defaultReaction.id,emoji_name:defaultReaction.name}}module2.exports={createChannel,transformAPIGuildForumTag,transformGuildForumTag,transformAPIGuildDefaultReaction,transformGuildDefaultReaction}}});var require_ChannelUpdate=__commonJS({"node_modules/discord.js/src/client/actions/ChannelUpdate.js"(exports2,module2){"use strict";var Action=require_Action();var{createChannel}=require_Channels();var ChannelUpdateAction=class extends Action{handle(data){const client=this.client;let channel=client.channels.cache.get(data.id);if(channel){const old=channel._update(data);if(channel.type!==data.type){const newChannel=createChannel(this.client,data,channel.guild);for(const[id,message3]of channel.messages.cache)newChannel.messages.cache.set(id,message3);channel=newChannel;this.client.channels.cache.set(channel.id,channel)}return{old,updated:channel}}else{client.channels._add(data)}return{}}};module2.exports=ChannelUpdateAction}});var require_AutoModerationRule=__commonJS({"node_modules/discord.js/src/structures/AutoModerationRule.js"(exports2,module2){"use strict";var{Collection:Collection2}=require_dist();var Base=require_Base();var{_transformAPIAutoModerationAction}=require_Transformers();var AutoModerationRule=class extends Base{constructor(client,data,guild2){super(client);this.id=data.id;this.guild=guild2;this.creatorId=data.creator_id;this.triggerType=data.trigger_type;this._patch(data)}_patch(data){if("name"in data){this.name=data.name}if("event_type"in data){this.eventType=data.event_type}if("trigger_metadata"in data){this.triggerMetadata={keywordFilter:data.trigger_metadata.keyword_filter??[],regexPatterns:data.trigger_metadata.regex_patterns??[],presets:data.trigger_metadata.presets??[],allowList:data.trigger_metadata.allow_list??[],mentionTotalLimit:data.trigger_metadata.mention_total_limit??null,mentionRaidProtectionEnabled:data.trigger_metadata.mention_raid_protection_enabled??false}}if("actions"in data){this.actions=data.actions.map(action=>_transformAPIAutoModerationAction(action))}if("enabled"in data){this.enabled=data.enabled}if("exempt_roles"in data){this.exemptRoles=new Collection2(data.exempt_roles.map(exemptRole=>[exemptRole,this.guild.roles.cache.get(exemptRole)]))}if("exempt_channels"in data){this.exemptChannels=new Collection2(data.exempt_channels.map(exemptChannel=>[exemptChannel,this.guild.channels.cache.get(exemptChannel)]))}}edit(options){return this.guild.autoModerationRules.edit(this.id,options)}delete(reason){return this.guild.autoModerationRules.delete(this.id,reason)}setName(name,reason){return this.edit({name,reason})}setEventType(eventType,reason){return this.edit({eventType,reason})}setKeywordFilter(keywordFilter,reason){return this.edit({triggerMetadata:{...this.triggerMetadata,keywordFilter},reason})}setRegexPatterns(regexPatterns,reason){return this.edit({triggerMetadata:{...this.triggerMetadata,regexPatterns},reason})}setPresets(presets,reason){return this.edit({triggerMetadata:{...this.triggerMetadata,presets},reason})}setAllowList(allowList,reason){return this.edit({triggerMetadata:{...this.triggerMetadata,allowList},reason})}setMentionTotalLimit(mentionTotalLimit,reason){return this.edit({triggerMetadata:{...this.triggerMetadata,mentionTotalLimit},reason})}setMentionRaidProtectionEnabled(mentionRaidProtectionEnabled,reason){return this.edit({triggerMetadata:{...this.triggerMetadata,mentionRaidProtectionEnabled},reason})}setActions(actions,reason){return this.edit({actions,reason})}setEnabled(enabled3=true,reason){return this.edit({enabled:enabled3,reason})}setExemptRoles(exemptRoles,reason){return this.edit({exemptRoles,reason})}setExemptChannels(exemptChannels,reason){return this.edit({exemptChannels,reason})}};module2.exports=AutoModerationRule}});var require_Integration=__commonJS({"node_modules/discord.js/src/structures/Integration.js"(exports2,module2){"use strict";var{Routes:Routes2}=require_v106();var Base=require_Base();var IntegrationApplication=require_IntegrationApplication();var Integration=class extends Base{constructor(client,data,guild2){super(client);this.guild=guild2;this.id=data.id;this.name=data.name;this.type=data.type;this.enabled=data.enabled??null;if("syncing"in data){this.syncing=data.syncing}else{this.syncing??=null}this.role=this.guild.roles.resolve(data.role_id);if("enable_emoticons"in data){this.enableEmoticons=data.enable_emoticons}else{this.enableEmoticons??=null}if(data.user){this.user=this.client.users._add(data.user)}else{this.user??=null}this.account=data.account;if("synced_at"in data){this.syncedTimestamp=Date.parse(data.synced_at)}else{this.syncedTimestamp??=null}if("subscriber_count"in data){this.subscriberCount=data.subscriber_count}else{this.subscriberCount??=null}if("revoked"in data){this.revoked=data.revoked}else{this.revoked??=null}this._patch(data)}get syncedAt(){return this.syncedTimestamp&&new Date(this.syncedTimestamp)}get roles(){const roles=this.guild.roles.cache;return roles.filter(role=>{var _a12;return((_a12=role.tags)==null?void 0:_a12.integrationId)===this.id})}_patch(data){if("expire_behavior"in data){this.expireBehavior=data.expire_behavior}else{this.expireBehavior??=null}if("expire_grace_period"in data){this.expireGracePeriod=data.expire_grace_period}else{this.expireGracePeriod??=null}if("application"in data){if(this.application){this.application._patch(data.application)}else{this.application=new IntegrationApplication(this.client,data.application)}}else{this.application??=null}if("scopes"in data){this.scopes=data.scopes}else{this.scopes??=[]}}async delete(reason){await this.client.rest.delete(Routes2.guildIntegration(this.guild.id,this.id),{reason});return this}toJSON(){return super.toJSON({role:"roleId",guild:"guildId",user:"userId"})}};module2.exports=Integration}});var require_StageInstance=__commonJS({"node_modules/discord.js/src/structures/StageInstance.js"(exports2){"use strict";var{DiscordSnowflake}=require_cjs2();var Base=require_Base();var StageInstance=class extends Base{constructor(client,data){super(client);this.id=data.id;this._patch(data)}_patch(data){if("guild_id"in data){this.guildId=data.guild_id}if("channel_id"in data){this.channelId=data.channel_id}if("topic"in data){this.topic=data.topic}if("privacy_level"in data){this.privacyLevel=data.privacy_level}if("discoverable_disabled"in data){this.discoverableDisabled=data.discoverable_disabled}else{this.discoverableDisabled??=null}if("guild_scheduled_event_id"in data){this.guildScheduledEventId=data.guild_scheduled_event_id}else{this.guildScheduledEventId??=null}}get channel(){return this.client.channels.resolve(this.channelId)}get guild(){return this.client.guilds.resolve(this.guildId)}get guildScheduledEvent(){var _a12;return((_a12=this.guild)==null?void 0:_a12.scheduledEvents.resolve(this.guildScheduledEventId))??null}edit(options){return this.guild.stageInstances.edit(this.channelId,options)}async delete(){await this.guild.stageInstances.delete(this.channelId);const clone2=this._clone();return clone2}setTopic(topic){return this.guild.stageInstances.edit(this.channelId,{topic})}get createdTimestamp(){return DiscordSnowflake.timestampFrom(this.id)}get createdAt(){return new Date(this.createdTimestamp)}};exports2.StageInstance=StageInstance}});var require_GuildAuditLogsEntry=__commonJS({"node_modules/discord.js/src/structures/GuildAuditLogsEntry.js"(exports2,module2){"use strict";var{DiscordSnowflake}=require_cjs2();var{AuditLogOptionsType,AuditLogEvent}=require_v106();var AutoModerationRule=require_AutoModerationRule();var{GuildScheduledEvent}=require_GuildScheduledEvent();var Integration=require_Integration();var Invite2=require_Invite();var{StageInstance}=require_StageInstance();var{Sticker:Sticker2}=require_Sticker();var Webhook2=require_Webhook();var Partials=require_Partials();var{flatten:flatten2}=require_Util();var Targets={All:"All",Guild:"Guild",GuildScheduledEvent:"GuildScheduledEvent",Channel:"Channel",User:"User",Role:"Role",Invite:"Invite",Webhook:"Webhook",Emoji:"Emoji",Message:"Message",Integration:"Integration",StageInstance:"StageInstance",Sticker:"Sticker",Thread:"Thread",ApplicationCommand:"ApplicationCommand",AutoModeration:"AutoModeration",Unknown:"Unknown"};var GuildAuditLogsEntry=class _GuildAuditLogsEntry{static Targets=Targets;constructor(guild2,data,logs){var _a12,_b2,_c,_d,_e;this.targetType=_GuildAuditLogsEntry.targetType(data.action_type);const targetType=this.targetType;this.actionType=_GuildAuditLogsEntry.actionType(data.action_type);this.action=data.action_type;this.reason=data.reason??null;this.executorId=data.user_id;this.executor=data.user_id?guild2.client.options.partials.includes(Partials.User)?guild2.client.users._add({id:data.user_id}):guild2.client.users.cache.get(data.user_id)??null:null;this.changes=((_a12=data.changes)==null?void 0:_a12.map(c=>({key:c.key,old:c.old_value,new:c.new_value})))??[];this.id=data.id;this.extra=null;switch(data.action_type){case AuditLogEvent.MemberPrune:this.extra={removed:Number(data.options.members_removed),days:Number(data.options.delete_member_days)};break;case AuditLogEvent.MemberMove:case AuditLogEvent.MessageDelete:case AuditLogEvent.MessageBulkDelete:this.extra={channel:guild2.channels.cache.get(data.options.channel_id)??{id:data.options.channel_id},count:Number(data.options.count)};break;case AuditLogEvent.MessagePin:case AuditLogEvent.MessageUnpin:this.extra={channel:guild2.client.channels.cache.get(data.options.channel_id)??{id:data.options.channel_id},messageId:data.options.message_id};break;case AuditLogEvent.MemberDisconnect:this.extra={count:Number(data.options.count)};break;case AuditLogEvent.ChannelOverwriteCreate:case AuditLogEvent.ChannelOverwriteUpdate:case AuditLogEvent.ChannelOverwriteDelete:switch(data.options.type){case AuditLogOptionsType.Role:this.extra=guild2.roles.cache.get(data.options.id)??{id:data.options.id,name:data.options.role_name,type:AuditLogOptionsType.Role};break;case AuditLogOptionsType.Member:this.extra=guild2.members.cache.get(data.options.id)??{id:data.options.id,type:AuditLogOptionsType.Member};break;default:break}break;case AuditLogEvent.StageInstanceCreate:case AuditLogEvent.StageInstanceDelete:case AuditLogEvent.StageInstanceUpdate:this.extra={channel:guild2.client.channels.cache.get((_b2=data.options)==null?void 0:_b2.channel_id)??{id:(_c=data.options)==null?void 0:_c.channel_id}};break;case AuditLogEvent.ApplicationCommandPermissionUpdate:this.extra={applicationId:data.options.application_id};break;case AuditLogEvent.AutoModerationBlockMessage:case AuditLogEvent.AutoModerationFlagToChannel:case AuditLogEvent.AutoModerationUserCommunicationDisabled:this.extra={autoModerationRuleName:data.options.auto_moderation_rule_name,autoModerationRuleTriggerType:data.options.auto_moderation_rule_trigger_type};break;default:break}this.targetId=data.target_id;this.target=null;if(targetType===Targets.Unknown){this.target=this.changes.reduce((o,c)=>{o[c.key]=c.new??c.old;return o},{});this.target.id=data.target_id}else if(targetType===Targets.User&&data.target_id){this.target=guild2.client.options.partials.includes(Partials.User)?guild2.client.users._add({id:data.target_id}):guild2.client.users.cache.get(data.target_id)??null}else if(targetType===Targets.Guild){this.target=guild2.client.guilds.cache.get(data.target_id)}else if(targetType===Targets.Webhook){this.target=(logs==null?void 0:logs.webhooks.get(data.target_id))??new Webhook2(guild2.client,this.changes.reduce((o,c)=>{o[c.key]=c.new??c.old;return o},{id:data.target_id,guild_id:guild2.id}))}else if(targetType===Targets.Invite){let change=this.changes.find(c=>c.key==="code");change=change.new??change.old;this.target=guild2.invites.cache.get(change)??new Invite2(guild2.client,this.changes.reduce((o,c)=>{o[c.key]=c.new??c.old;return o},{guild:guild2}))}else if(targetType===Targets.Message){this.target=data.action_type===AuditLogEvent.MessageBulkDelete?guild2.channels.cache.get(data.target_id)??{id:data.target_id}:guild2.client.users.cache.get(data.target_id)??null}else if(targetType===Targets.Integration){this.target=(logs==null?void 0:logs.integrations.get(data.target_id))??new Integration(guild2.client,this.changes.reduce((o,c)=>{o[c.key]=c.new??c.old;return o},{id:data.target_id}),guild2)}else if(targetType===Targets.Channel||targetType===Targets.Thread){this.target=guild2.channels.cache.get(data.target_id)??this.changes.reduce((o,c)=>{o[c.key]=c.new??c.old;return o},{id:data.target_id})}else if(targetType===Targets.StageInstance){this.target=guild2.stageInstances.cache.get(data.target_id)??new StageInstance(guild2.client,this.changes.reduce((o,c)=>{o[c.key]=c.new??c.old;return o},{id:data.target_id,channel_id:(_d=data.options)==null?void 0:_d.channel_id,guild_id:guild2.id}))}else if(targetType===Targets.Sticker){this.target=guild2.stickers.cache.get(data.target_id)??new Sticker2(guild2.client,this.changes.reduce((o,c)=>{o[c.key]=c.new??c.old;return o},{id:data.target_id}))}else if(targetType===Targets.GuildScheduledEvent){this.target=guild2.scheduledEvents.cache.get(data.target_id)??new GuildScheduledEvent(guild2.client,this.changes.reduce((o,c)=>{o[c.key]=c.new??c.old;return o},{id:data.target_id,guild_id:guild2.id}))}else if(targetType===Targets.ApplicationCommand){this.target=(logs==null?void 0:logs.applicationCommands.get(data.target_id))??{id:data.target_id}}else if(targetType===Targets.AutoModeration){this.target=guild2.autoModerationRules.cache.get(data.target_id)??new AutoModerationRule(guild2.client,this.changes.reduce((o,c)=>{o[c.key]=c.new??c.old;return o},{id:data.target_id,guild_id:guild2.id}),guild2)}else if(data.target_id){this.target=((_e=guild2[`${targetType.toLowerCase()}s`])==null?void 0:_e.cache.get(data.target_id))??{id:data.target_id}}}static targetType(target){if(target<10)return Targets.Guild;if(target<20)return Targets.Channel;if(target<30)return Targets.User;if(target<40)return Targets.Role;if(target<50)return Targets.Invite;if(target<60)return Targets.Webhook;if(target<70)return Targets.Emoji;if(target<80)return Targets.Message;if(target<83)return Targets.Integration;if(target<86)return Targets.StageInstance;if(target<100)return Targets.Sticker;if(target<110)return Targets.GuildScheduledEvent;if(target<120)return Targets.Thread;if(target<130)return Targets.ApplicationCommand;if(target>=140&&target<150)return Targets.AutoModeration;return Targets.Unknown}static actionType(action){if([AuditLogEvent.ChannelCreate,AuditLogEvent.ChannelOverwriteCreate,AuditLogEvent.MemberBanRemove,AuditLogEvent.BotAdd,AuditLogEvent.RoleCreate,AuditLogEvent.InviteCreate,AuditLogEvent.WebhookCreate,AuditLogEvent.EmojiCreate,AuditLogEvent.MessagePin,AuditLogEvent.IntegrationCreate,AuditLogEvent.StageInstanceCreate,AuditLogEvent.StickerCreate,AuditLogEvent.GuildScheduledEventCreate,AuditLogEvent.ThreadCreate,AuditLogEvent.AutoModerationRuleCreate,AuditLogEvent.AutoModerationBlockMessage].includes(action)){return"Create"}if([AuditLogEvent.ChannelDelete,AuditLogEvent.ChannelOverwriteDelete,AuditLogEvent.MemberKick,AuditLogEvent.MemberPrune,AuditLogEvent.MemberBanAdd,AuditLogEvent.MemberDisconnect,AuditLogEvent.RoleDelete,AuditLogEvent.InviteDelete,AuditLogEvent.WebhookDelete,AuditLogEvent.EmojiDelete,AuditLogEvent.MessageDelete,AuditLogEvent.MessageBulkDelete,AuditLogEvent.MessageUnpin,AuditLogEvent.IntegrationDelete,AuditLogEvent.StageInstanceDelete,AuditLogEvent.StickerDelete,AuditLogEvent.GuildScheduledEventDelete,AuditLogEvent.ThreadDelete,AuditLogEvent.AutoModerationRuleDelete].includes(action)){return"Delete"}if([AuditLogEvent.GuildUpdate,AuditLogEvent.ChannelUpdate,AuditLogEvent.ChannelOverwriteUpdate,AuditLogEvent.MemberUpdate,AuditLogEvent.MemberRoleUpdate,AuditLogEvent.MemberMove,AuditLogEvent.RoleUpdate,AuditLogEvent.InviteUpdate,AuditLogEvent.WebhookUpdate,AuditLogEvent.EmojiUpdate,AuditLogEvent.IntegrationUpdate,AuditLogEvent.StageInstanceUpdate,AuditLogEvent.StickerUpdate,AuditLogEvent.GuildScheduledEventUpdate,AuditLogEvent.ThreadUpdate,AuditLogEvent.ApplicationCommandPermissionUpdate,AuditLogEvent.AutoModerationRuleUpdate].includes(action)){return"Update"}return"All"}get createdTimestamp(){return DiscordSnowflake.timestampFrom(this.id)}get createdAt(){return new Date(this.createdTimestamp)}toJSON(){return flatten2(this,{createdTimestamp:true})}};module2.exports=GuildAuditLogsEntry}});var require_GuildAuditLogEntryCreate=__commonJS({"node_modules/discord.js/src/client/actions/GuildAuditLogEntryCreate.js"(exports2,module2){"use strict";var Action=require_Action();var GuildAuditLogsEntry=require_GuildAuditLogsEntry();var Events2=require_Events();var GuildAuditLogEntryCreateAction=class extends Action{handle(data){const client=this.client;const guild2=client.guilds.cache.get(data.guild_id);let auditLogEntry;if(guild2){auditLogEntry=new GuildAuditLogsEntry(guild2,data);client.emit(Events2.GuildAuditLogEntryCreate,auditLogEntry,guild2)}return{auditLogEntry}}};module2.exports=GuildAuditLogEntryCreateAction}});var require_GuildBanAdd=__commonJS({"node_modules/discord.js/src/client/actions/GuildBanAdd.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var GuildBanAdd=class extends Action{handle(data){const client=this.client;const guild2=client.guilds.cache.get(data.guild_id);if(guild2)client.emit(Events2.GuildBanAdd,guild2.bans._add(data))}};module2.exports=GuildBanAdd}});var require_GuildBan=__commonJS({"node_modules/discord.js/src/structures/GuildBan.js"(exports2,module2){"use strict";var Base=require_Base();var GuildBan=class extends Base{constructor(client,data,guild2){super(client);this.guild=guild2;this._patch(data)}_patch(data){if("user"in data){this.user=this.client.users._add(data.user,true)}if("reason"in data){this.reason=data.reason}}get partial(){return!("reason"in this)}fetch(force=true){return this.guild.bans.fetch({user:this.user,cache:true,force})}};module2.exports=GuildBan}});var require_GuildBanRemove=__commonJS({"node_modules/discord.js/src/client/actions/GuildBanRemove.js"(exports2,module2){"use strict";var Action=require_Action();var GuildBan=require_GuildBan();var Events2=require_Events();var GuildBanRemove=class extends Action{handle(data){const client=this.client;const guild2=client.guilds.cache.get(data.guild_id);if(guild2){const ban=guild2.bans.cache.get(data.user.id)??new GuildBan(client,data,guild2);guild2.bans.cache.delete(ban.user.id);client.emit(Events2.GuildBanRemove,ban)}}};module2.exports=GuildBanRemove}});var require_GuildChannelsPositionUpdate=__commonJS({"node_modules/discord.js/src/client/actions/GuildChannelsPositionUpdate.js"(exports2,module2){"use strict";var Action=require_Action();var GuildChannelsPositionUpdate=class extends Action{handle(data){const client=this.client;const guild2=client.guilds.cache.get(data.guild_id);if(guild2){for(const partialChannel of data.channels){const channel=guild2.channels.cache.get(partialChannel.id);if(channel)channel.rawPosition=partialChannel.position}}return{guild:guild2}}};module2.exports=GuildChannelsPositionUpdate}});var require_GuildDelete=__commonJS({"node_modules/discord.js/src/client/actions/GuildDelete.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var GuildDeleteAction=class extends Action{handle(data){var _a12;const client=this.client;let guild2=client.guilds.cache.get(data.id);if(guild2){if(data.unavailable){guild2.available=false;client.emit(Events2.GuildUnavailable,guild2);return}for(const channel of guild2.channels.cache.values())this.client.channels._remove(channel.id);(_a12=client.voice.adapters.get(data.id))==null?void 0:_a12.destroy();client.guilds.cache.delete(guild2.id);client.emit(Events2.GuildDelete,guild2)}}};module2.exports=GuildDeleteAction}});var require_GuildEmojiCreate=__commonJS({"node_modules/discord.js/src/client/actions/GuildEmojiCreate.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var GuildEmojiCreateAction=class extends Action{handle(guild2,createdEmoji){const already=guild2.emojis.cache.has(createdEmoji.id);const emoji=guild2.emojis._add(createdEmoji);if(!already)this.client.emit(Events2.GuildEmojiCreate,emoji);return{emoji}}};module2.exports=GuildEmojiCreateAction}});var require_GuildEmojiDelete=__commonJS({"node_modules/discord.js/src/client/actions/GuildEmojiDelete.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var GuildEmojiDeleteAction=class extends Action{handle(emoji){emoji.guild.emojis.cache.delete(emoji.id);this.client.emit(Events2.GuildEmojiDelete,emoji);return{emoji}}};module2.exports=GuildEmojiDeleteAction}});var require_GuildEmojiUpdate=__commonJS({"node_modules/discord.js/src/client/actions/GuildEmojiUpdate.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var GuildEmojiUpdateAction=class extends Action{handle(current,data){const old=current._update(data);this.client.emit(Events2.GuildEmojiUpdate,old,current);return{emoji:current}}};module2.exports=GuildEmojiUpdateAction}});var require_GuildEmojisUpdate=__commonJS({"node_modules/discord.js/src/client/actions/GuildEmojisUpdate.js"(exports2,module2){"use strict";var Action=require_Action();var GuildEmojisUpdateAction=class extends Action{handle(data){const guild2=this.client.guilds.cache.get(data.guild_id);if(!(guild2==null?void 0:guild2.emojis))return;const deletions=new Map(guild2.emojis.cache);for(const emoji of data.emojis){const cachedEmoji=guild2.emojis.cache.get(emoji.id);if(cachedEmoji){deletions.delete(emoji.id);if(!cachedEmoji.equals(emoji)){this.client.actions.GuildEmojiUpdate.handle(cachedEmoji,emoji)}}else{this.client.actions.GuildEmojiCreate.handle(guild2,emoji)}}for(const emoji of deletions.values()){this.client.actions.GuildEmojiDelete.handle(emoji)}}};module2.exports=GuildEmojisUpdateAction}});var require_GuildIntegrationsUpdate=__commonJS({"node_modules/discord.js/src/client/actions/GuildIntegrationsUpdate.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var GuildIntegrationsUpdate=class extends Action{handle(data){const client=this.client;const guild2=client.guilds.cache.get(data.guild_id);if(guild2)client.emit(Events2.GuildIntegrationsUpdate,guild2)}};module2.exports=GuildIntegrationsUpdate}});var require_Status=__commonJS({"node_modules/discord.js/src/util/Status.js"(exports2,module2){"use strict";var{createEnum}=require_Enums();module2.exports=createEnum(["Ready","Connecting","Reconnecting","Idle","Nearly","Disconnected","WaitingForGuilds","Identifying","Resuming"])}});var require_GuildMemberRemove=__commonJS({"node_modules/discord.js/src/client/actions/GuildMemberRemove.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var Status2=require_Status();var GuildMemberRemoveAction=class extends Action{handle(data,shard){const client=this.client;const guild2=client.guilds.cache.get(data.guild_id);let member=null;if(guild2){member=this.getMember({user:data.user},guild2);guild2.memberCount--;if(member){guild2.members.cache.delete(member.id);if(shard.status===Status2.Ready)client.emit(Events2.GuildMemberRemove,member)}guild2.presences.cache.delete(data.user.id);guild2.voiceStates.cache.delete(data.user.id)}return{guild:guild2,member}}};module2.exports=GuildMemberRemoveAction}});var require_GuildMemberUpdate=__commonJS({"node_modules/discord.js/src/client/actions/GuildMemberUpdate.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var Status2=require_Status();var GuildMemberUpdateAction=class extends Action{handle(data,shard){const{client}=this;if(data.user.username){const user=client.users.cache.get(data.user.id);if(!user){client.users._add(data.user)}else if(!user._equals(data.user)){client.actions.UserUpdate.handle(data.user)}}const guild2=client.guilds.cache.get(data.guild_id);if(guild2){const member=this.getMember({user:data.user},guild2);if(member){const old=member._update(data);if(shard.status===Status2.Ready&&!member.equals(old))client.emit(Events2.GuildMemberUpdate,old,member)}else{const newMember=guild2.members._add(data);this.client.emit(Events2.GuildMemberAvailable,newMember)}}}};module2.exports=GuildMemberUpdateAction}});var require_GuildRoleCreate=__commonJS({"node_modules/discord.js/src/client/actions/GuildRoleCreate.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var GuildRoleCreate=class extends Action{handle(data){const client=this.client;const guild2=client.guilds.cache.get(data.guild_id);let role;if(guild2){const already=guild2.roles.cache.has(data.role.id);role=guild2.roles._add(data.role);if(!already)client.emit(Events2.GuildRoleCreate,role)}return{role}}};module2.exports=GuildRoleCreate}});var require_GuildRoleDelete=__commonJS({"node_modules/discord.js/src/client/actions/GuildRoleDelete.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var GuildRoleDeleteAction=class extends Action{handle(data){const client=this.client;const guild2=client.guilds.cache.get(data.guild_id);let role;if(guild2){role=guild2.roles.cache.get(data.role_id);if(role){guild2.roles.cache.delete(data.role_id);client.emit(Events2.GuildRoleDelete,role)}}return{role}}};module2.exports=GuildRoleDeleteAction}});var require_GuildRoleUpdate=__commonJS({"node_modules/discord.js/src/client/actions/GuildRoleUpdate.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var GuildRoleUpdateAction=class extends Action{handle(data){const client=this.client;const guild2=client.guilds.cache.get(data.guild_id);if(guild2){let old=null;const role=guild2.roles.cache.get(data.role.id);if(role){old=role._update(data.role);client.emit(Events2.GuildRoleUpdate,old,role)}return{old,updated:role}}return{old:null,updated:null}}};module2.exports=GuildRoleUpdateAction}});var require_GuildRolesPositionUpdate=__commonJS({"node_modules/discord.js/src/client/actions/GuildRolesPositionUpdate.js"(exports2,module2){"use strict";var Action=require_Action();var GuildRolesPositionUpdate=class extends Action{handle(data){const client=this.client;const guild2=client.guilds.cache.get(data.guild_id);if(guild2){for(const partialRole of data.roles){const role=guild2.roles.cache.get(partialRole.id);if(role)role.rawPosition=partialRole.position}}return{guild:guild2}}};module2.exports=GuildRolesPositionUpdate}});var require_GuildScheduledEventCreate=__commonJS({"node_modules/discord.js/src/client/actions/GuildScheduledEventCreate.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var GuildScheduledEventCreateAction=class extends Action{handle(data){const client=this.client;const guild2=client.guilds.cache.get(data.guild_id);if(guild2){const guildScheduledEvent=guild2.scheduledEvents._add(data);client.emit(Events2.GuildScheduledEventCreate,guildScheduledEvent);return{guildScheduledEvent}}return{}}};module2.exports=GuildScheduledEventCreateAction}});var require_GuildScheduledEventDelete=__commonJS({"node_modules/discord.js/src/client/actions/GuildScheduledEventDelete.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var GuildScheduledEventDeleteAction=class extends Action{handle(data){const client=this.client;const guild2=client.guilds.cache.get(data.guild_id);if(guild2){const guildScheduledEvent=this.getScheduledEvent(data,guild2);if(guildScheduledEvent){guild2.scheduledEvents.cache.delete(guildScheduledEvent.id);client.emit(Events2.GuildScheduledEventDelete,guildScheduledEvent);return{guildScheduledEvent}}}return{}}};module2.exports=GuildScheduledEventDeleteAction}});var require_GuildScheduledEventUpdate=__commonJS({"node_modules/discord.js/src/client/actions/GuildScheduledEventUpdate.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var GuildScheduledEventUpdateAction=class extends Action{handle(data){var _a12;const client=this.client;const guild2=client.guilds.cache.get(data.guild_id);if(guild2){const oldGuildScheduledEvent=((_a12=guild2.scheduledEvents.cache.get(data.id))==null?void 0:_a12._clone())??null;const newGuildScheduledEvent=guild2.scheduledEvents._add(data);client.emit(Events2.GuildScheduledEventUpdate,oldGuildScheduledEvent,newGuildScheduledEvent);return{oldGuildScheduledEvent,newGuildScheduledEvent}}return{}}};module2.exports=GuildScheduledEventUpdateAction}});var require_GuildScheduledEventUserAdd=__commonJS({"node_modules/discord.js/src/client/actions/GuildScheduledEventUserAdd.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var GuildScheduledEventUserAddAction=class extends Action{handle(data){const client=this.client;const guild2=client.guilds.cache.get(data.guild_id);if(guild2){const guildScheduledEvent=this.getScheduledEvent(data,guild2);const user=this.getUser(data);if(guildScheduledEvent&&user){client.emit(Events2.GuildScheduledEventUserAdd,guildScheduledEvent,user);return{guildScheduledEvent,user}}}return{}}};module2.exports=GuildScheduledEventUserAddAction}});var require_GuildScheduledEventUserRemove=__commonJS({"node_modules/discord.js/src/client/actions/GuildScheduledEventUserRemove.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var GuildScheduledEventUserRemoveAction=class extends Action{handle(data){const client=this.client;const guild2=client.guilds.cache.get(data.guild_id);if(guild2){const guildScheduledEvent=this.getScheduledEvent(data,guild2);const user=this.getUser(data);if(guildScheduledEvent&&user){client.emit(Events2.GuildScheduledEventUserRemove,guildScheduledEvent,user);return{guildScheduledEvent,user}}}return{}}};module2.exports=GuildScheduledEventUserRemoveAction}});var require_GuildStickerCreate=__commonJS({"node_modules/discord.js/src/client/actions/GuildStickerCreate.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var GuildStickerCreateAction=class extends Action{handle(guild2,createdSticker){const already=guild2.stickers.cache.has(createdSticker.id);const sticker=guild2.stickers._add(createdSticker);if(!already)this.client.emit(Events2.GuildStickerCreate,sticker);return{sticker}}};module2.exports=GuildStickerCreateAction}});var require_GuildStickerDelete=__commonJS({"node_modules/discord.js/src/client/actions/GuildStickerDelete.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var GuildStickerDeleteAction=class extends Action{handle(sticker){sticker.guild.stickers.cache.delete(sticker.id);this.client.emit(Events2.GuildStickerDelete,sticker);return{sticker}}};module2.exports=GuildStickerDeleteAction}});var require_GuildStickerUpdate=__commonJS({"node_modules/discord.js/src/client/actions/GuildStickerUpdate.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var GuildStickerUpdateAction=class extends Action{handle(current,data){const old=current._update(data);this.client.emit(Events2.GuildStickerUpdate,old,current);return{sticker:current}}};module2.exports=GuildStickerUpdateAction}});var require_GuildStickersUpdate=__commonJS({"node_modules/discord.js/src/client/actions/GuildStickersUpdate.js"(exports2,module2){"use strict";var Action=require_Action();var GuildStickersUpdateAction=class extends Action{handle(data){const guild2=this.client.guilds.cache.get(data.guild_id);if(!(guild2==null?void 0:guild2.stickers))return;const deletions=new Map(guild2.stickers.cache);for(const sticker of data.stickers){const cachedSticker=guild2.stickers.cache.get(sticker.id);if(cachedSticker){deletions.delete(sticker.id);if(!cachedSticker.equals(sticker)){this.client.actions.GuildStickerUpdate.handle(cachedSticker,sticker)}}else{this.client.actions.GuildStickerCreate.handle(guild2,sticker)}}for(const sticker of deletions.values()){this.client.actions.GuildStickerDelete.handle(sticker)}}};module2.exports=GuildStickersUpdateAction}});var require_GuildUpdate=__commonJS({"node_modules/discord.js/src/client/actions/GuildUpdate.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var GuildUpdateAction=class extends Action{handle(data){const client=this.client;const guild2=client.guilds.cache.get(data.id);if(guild2){const old=guild2._update(data);client.emit(Events2.GuildUpdate,old,guild2);return{old,updated:guild2}}return{old:null,updated:null}}};module2.exports=GuildUpdateAction}});var require_CommandInteractionOptionResolver=__commonJS({"node_modules/discord.js/src/structures/CommandInteractionOptionResolver.js"(exports2,module2){"use strict";var{ApplicationCommandOptionType:ApplicationCommandOptionType2}=require_v106();var{DiscordjsTypeError:DiscordjsTypeError2,ErrorCodes:ErrorCodes2}=require_errors6();var CommandInteractionOptionResolver=class{constructor(client,options,resolved){var _a12,_b2;Object.defineProperty(this,"client",{value:client});this._group=null;this._subcommand=null;this._hoistedOptions=options;if(((_a12=this._hoistedOptions[0])==null?void 0:_a12.type)===ApplicationCommandOptionType2.SubcommandGroup){this._group=this._hoistedOptions[0].name;this._hoistedOptions=this._hoistedOptions[0].options??[]}if(((_b2=this._hoistedOptions[0])==null?void 0:_b2.type)===ApplicationCommandOptionType2.Subcommand){this._subcommand=this._hoistedOptions[0].name;this._hoistedOptions=this._hoistedOptions[0].options??[]}Object.defineProperty(this,"data",{value:Object.freeze([...options])});Object.defineProperty(this,"resolved",{value:resolved?Object.freeze(resolved):null})}get(name,required=false){const option=this._hoistedOptions.find(opt=>opt.name===name);if(!option){if(required){throw new DiscordjsTypeError2(ErrorCodes2.CommandInteractionOptionNotFound,name)}return null}return option}_getTypedOption(name,allowedTypes,properties,required){const option=this.get(name,required);if(!option){return null}else if(!allowedTypes.includes(option.type)){throw new DiscordjsTypeError2(ErrorCodes2.CommandInteractionOptionType,name,option.type,allowedTypes.join(", "))}else if(required&&properties.every(prop=>option[prop]===null||option[prop]===void 0)){throw new DiscordjsTypeError2(ErrorCodes2.CommandInteractionOptionEmpty,name,option.type)}return option}getSubcommand(required=true){if(required&&!this._subcommand){throw new DiscordjsTypeError2(ErrorCodes2.CommandInteractionOptionNoSubcommand)}return this._subcommand}getSubcommandGroup(required=false){if(required&&!this._group){throw new DiscordjsTypeError2(ErrorCodes2.CommandInteractionOptionNoSubcommandGroup)}return this._group}getBoolean(name,required=false){const option=this._getTypedOption(name,[ApplicationCommandOptionType2.Boolean],["value"],required);return(option==null?void 0:option.value)??null}getChannel(name,required=false,channelTypes=[]){const option=this._getTypedOption(name,[ApplicationCommandOptionType2.Channel],["channel"],required);const channel=(option==null?void 0:option.channel)??null;if(channel&&channelTypes.length>0&&!channelTypes.includes(channel.type)){throw new DiscordjsTypeError2(ErrorCodes2.CommandInteractionOptionInvalidChannelType,name,channel.type,channelTypes.join(", "))}return channel}getString(name,required=false){const option=this._getTypedOption(name,[ApplicationCommandOptionType2.String],["value"],required);return(option==null?void 0:option.value)??null}getInteger(name,required=false){const option=this._getTypedOption(name,[ApplicationCommandOptionType2.Integer],["value"],required);return(option==null?void 0:option.value)??null}getNumber(name,required=false){const option=this._getTypedOption(name,[ApplicationCommandOptionType2.Number],["value"],required);return(option==null?void 0:option.value)??null}getUser(name,required=false){const option=this._getTypedOption(name,[ApplicationCommandOptionType2.User,ApplicationCommandOptionType2.Mentionable],["user"],required);return(option==null?void 0:option.user)??null}getMember(name){const option=this._getTypedOption(name,[ApplicationCommandOptionType2.User,ApplicationCommandOptionType2.Mentionable],["member"],false);return(option==null?void 0:option.member)??null}getRole(name,required=false){const option=this._getTypedOption(name,[ApplicationCommandOptionType2.Role,ApplicationCommandOptionType2.Mentionable],["role"],required);return(option==null?void 0:option.role)??null}getAttachment(name,required=false){const option=this._getTypedOption(name,[ApplicationCommandOptionType2.Attachment],["attachment"],required);return(option==null?void 0:option.attachment)??null}getMentionable(name,required=false){const option=this._getTypedOption(name,[ApplicationCommandOptionType2.Mentionable],["user","member","role"],required);return(option==null?void 0:option.member)??(option==null?void 0:option.user)??(option==null?void 0:option.role)??null}getMessage(name,required=false){const option=this._getTypedOption(name,["_MESSAGE"],["message"],required);return(option==null?void 0:option.message)??null}getFocused(getFull=false){const focusedOption=this._hoistedOptions.find(option=>option.focused);if(!focusedOption)throw new DiscordjsTypeError2(ErrorCodes2.AutocompleteInteractionOptionNoFocusedOption);return getFull?focusedOption:focusedOption.value}};module2.exports=CommandInteractionOptionResolver}});var require_AutocompleteInteraction=__commonJS({"node_modules/discord.js/src/structures/AutocompleteInteraction.js"(exports2,module2){"use strict";var{InteractionResponseType,Routes:Routes2}=require_v106();var BaseInteraction=require_BaseInteraction();var CommandInteractionOptionResolver=require_CommandInteractionOptionResolver();var{DiscordjsError:DiscordjsError2,ErrorCodes:ErrorCodes2}=require_errors6();var AutocompleteInteraction=class extends BaseInteraction{constructor(client,data){super(client,data);this.commandId=data.data.id;this.commandName=data.data.name;this.commandType=data.data.type;this.commandGuildId=data.data.guild_id??null;this.responded=false;this.options=new CommandInteractionOptionResolver(this.client,data.data.options??[])}get command(){var _a12;const id=this.commandId;return((_a12=this.guild)==null?void 0:_a12.commands.cache.get(id))??this.client.application.commands.cache.get(id)??null}async respond(options){if(this.responded)throw new DiscordjsError2(ErrorCodes2.InteractionAlreadyReplied);await this.client.rest.post(Routes2.interactionCallback(this.id,this.token),{body:{type:InteractionResponseType.ApplicationCommandAutocompleteResult,data:{choices:this.client.options.jsonTransformer(options)}},auth:false});this.responded=true}};module2.exports=AutocompleteInteraction}});var require_InteractionResponse=__commonJS({"node_modules/discord.js/src/structures/InteractionResponse.js"(exports2,module2){"use strict";var{DiscordSnowflake}=require_cjs2();var{InteractionType:InteractionType2}=require_v106();var{DiscordjsError:DiscordjsError2,ErrorCodes:ErrorCodes2}=require_errors6();var InteractionResponse=class{constructor(interaction,id){this.interaction=interaction;this.id=id??interaction.id;this.client=interaction.client}get createdTimestamp(){return DiscordSnowflake.timestampFrom(this.id)}get createdAt(){return new Date(this.createdTimestamp)}awaitMessageComponent(options={}){const _options={...options,max:1};return new Promise((resolve,reject2)=>{const collector=this.createMessageComponentCollector(_options);collector.once("end",(interactions,reason)=>{const interaction=interactions.first();if(interaction)resolve(interaction);else reject2(new DiscordjsError2(ErrorCodes2.InteractionCollectorError,reason))})})}createMessageComponentCollector(options={}){return new InteractionCollector(this.client,{...options,interactionResponse:this,interactionType:InteractionType2.MessageComponent})}fetch(){return this.interaction.fetchReply()}delete(){return this.interaction.deleteReply()}edit(options){return this.interaction.editReply(options)}};var InteractionCollector=require_InteractionCollector();module2.exports=InteractionResponse}});var require_InteractionResponses=__commonJS({"node_modules/discord.js/src/structures/interfaces/InteractionResponses.js"(exports2,module2){"use strict";var{isJSONEncodable}=require_dist2();var{InteractionResponseType,MessageFlags,Routes:Routes2,InteractionType:InteractionType2}=require_v106();var{DiscordjsError:DiscordjsError2,ErrorCodes:ErrorCodes2}=require_errors6();var InteractionCollector=require_InteractionCollector();var InteractionResponse=require_InteractionResponse();var MessagePayload=require_MessagePayload();var InteractionResponses=class _InteractionResponses{async deferReply(options={}){if(this.deferred||this.replied)throw new DiscordjsError2(ErrorCodes2.InteractionAlreadyReplied);this.ephemeral=options.ephemeral??false;await this.client.rest.post(Routes2.interactionCallback(this.id,this.token),{body:{type:InteractionResponseType.DeferredChannelMessageWithSource,data:{flags:options.ephemeral?MessageFlags.Ephemeral:void 0}},auth:false});this.deferred=true;return options.fetchReply?this.fetchReply():new InteractionResponse(this)}async reply(options){if(this.deferred||this.replied)throw new DiscordjsError2(ErrorCodes2.InteractionAlreadyReplied);this.ephemeral=options.ephemeral??false;let messagePayload;if(options instanceof MessagePayload)messagePayload=options;else messagePayload=MessagePayload.create(this,options);const{body:data,files}=await messagePayload.resolveBody().resolveFiles();await this.client.rest.post(Routes2.interactionCallback(this.id,this.token),{body:{type:InteractionResponseType.ChannelMessageWithSource,data},files,auth:false});this.replied=true;return options.fetchReply?this.fetchReply():new InteractionResponse(this)}fetchReply(message3="@original"){return this.webhook.fetchMessage(message3)}async editReply(options){if(!this.deferred&&!this.replied)throw new DiscordjsError2(ErrorCodes2.InteractionNotReplied);const msg=await this.webhook.editMessage(options.message??"@original",options);this.replied=true;return msg}async deleteReply(message3="@original"){await this.webhook.deleteMessage(message3)}followUp(options){if(!this.deferred&&!this.replied)return Promise.reject(new DiscordjsError2(ErrorCodes2.InteractionNotReplied));return this.webhook.send(options)}async deferUpdate(options={}){var _a12,_b2;if(this.deferred||this.replied)throw new DiscordjsError2(ErrorCodes2.InteractionAlreadyReplied);await this.client.rest.post(Routes2.interactionCallback(this.id,this.token),{body:{type:InteractionResponseType.DeferredMessageUpdate},auth:false});this.deferred=true;return options.fetchReply?this.fetchReply():new InteractionResponse(this,(_b2=(_a12=this.message)==null?void 0:_a12.interaction)==null?void 0:_b2.id)}async update(options){var _a12;if(this.deferred||this.replied)throw new DiscordjsError2(ErrorCodes2.InteractionAlreadyReplied);let messagePayload;if(options instanceof MessagePayload)messagePayload=options;else messagePayload=MessagePayload.create(this,options);const{body:data,files}=await messagePayload.resolveBody().resolveFiles();await this.client.rest.post(Routes2.interactionCallback(this.id,this.token),{body:{type:InteractionResponseType.UpdateMessage,data},files,auth:false});this.replied=true;return options.fetchReply?this.fetchReply():new InteractionResponse(this,(_a12=this.message.interaction)==null?void 0:_a12.id)}async showModal(modal){if(this.deferred||this.replied)throw new DiscordjsError2(ErrorCodes2.InteractionAlreadyReplied);await this.client.rest.post(Routes2.interactionCallback(this.id,this.token),{body:{type:InteractionResponseType.Modal,data:isJSONEncodable(modal)?modal.toJSON():this.client.options.jsonTransformer(modal)},auth:false});this.replied=true}awaitModalSubmit(options){if(typeof options.time!=="number")throw new DiscordjsError2(ErrorCodes2.InvalidType,"time","number");const _options={...options,max:1,interactionType:InteractionType2.ModalSubmit};return new Promise((resolve,reject2)=>{const collector=new InteractionCollector(this.client,_options);collector.once("end",(interactions,reason)=>{const interaction=interactions.first();if(interaction)resolve(interaction);else reject2(new DiscordjsError2(ErrorCodes2.InteractionCollectorError,reason))})})}static applyToClass(structure,ignore=[]){const props=["deferReply","reply","fetchReply","editReply","deleteReply","followUp","deferUpdate","update","showModal","awaitModalSubmit"];for(const prop of props){if(ignore.includes(prop))continue;Object.defineProperty(structure.prototype,prop,Object.getOwnPropertyDescriptor(_InteractionResponses.prototype,prop))}}};module2.exports=InteractionResponses}});var require_MessageComponentInteraction=__commonJS({"node_modules/discord.js/src/structures/MessageComponentInteraction.js"(exports2,module2){"use strict";var{lazy}=require_dist2();var BaseInteraction=require_BaseInteraction();var InteractionWebhook=require_InteractionWebhook();var InteractionResponses=require_InteractionResponses();var getMessage=lazy(()=>require_Message().Message);var MessageComponentInteraction=class extends BaseInteraction{constructor(client,data){var _a12;super(client,data);this.message=((_a12=this.channel)==null?void 0:_a12.messages._add(data.message))??new(getMessage())(client,data.message);this.customId=data.data.custom_id;this.componentType=data.data.component_type;this.deferred=false;this.ephemeral=null;this.replied=false;this.webhook=new InteractionWebhook(this.client,this.applicationId,this.token)}get component(){return this.message.components.flatMap(row=>row.components).find(component=>(component.customId??component.custom_id)===this.customId)}deferReply(){}reply(){}fetchReply(){}editReply(){}deleteReply(){}followUp(){}deferUpdate(){}update(){}showModal(){}awaitModalSubmit(){}};InteractionResponses.applyToClass(MessageComponentInteraction);module2.exports=MessageComponentInteraction}});var require_ButtonInteraction=__commonJS({"node_modules/discord.js/src/structures/ButtonInteraction.js"(exports2,module2){"use strict";var MessageComponentInteraction=require_MessageComponentInteraction();var ButtonInteraction=class extends MessageComponentInteraction{};module2.exports=ButtonInteraction}});var require_ChannelSelectMenuInteraction=__commonJS({"node_modules/discord.js/src/structures/ChannelSelectMenuInteraction.js"(exports2,module2){"use strict";var{Collection:Collection2}=require_dist();var MessageComponentInteraction=require_MessageComponentInteraction();var ChannelSelectMenuInteraction=class extends MessageComponentInteraction{constructor(client,data){super(client,data);const{resolved,values:values2}=data.data;this.values=values2??[];this.channels=new Collection2;for(const channel of Object.values((resolved==null?void 0:resolved.channels)??{})){this.channels.set(channel.id,this.client.channels._add(channel,this.guild)??channel)}}};module2.exports=ChannelSelectMenuInteraction}});var require_CommandInteraction=__commonJS({"node_modules/discord.js/src/structures/CommandInteraction.js"(exports2,module2){"use strict";var{Collection:Collection2}=require_dist();var Attachment=require_Attachment();var BaseInteraction=require_BaseInteraction();var InteractionWebhook=require_InteractionWebhook();var InteractionResponses=require_InteractionResponses();var CommandInteraction3=class extends BaseInteraction{constructor(client,data){super(client,data);this.commandId=data.data.id;this.commandName=data.data.name;this.commandType=data.data.type;this.commandGuildId=data.data.guild_id??null;this.deferred=false;this.replied=false;this.ephemeral=null;this.webhook=new InteractionWebhook(this.client,this.applicationId,this.token)}get command(){var _a12;const id=this.commandId;return((_a12=this.guild)==null?void 0:_a12.commands.cache.get(id))??this.client.application.commands.cache.get(id)??null}transformResolved({members,users,channels,roles,messages,attachments}){var _a12,_b2,_c,_d;const result2={};if(members){result2.members=new Collection2;for(const[id,member]of Object.entries(members)){const user=users[id];result2.members.set(id,((_a12=this.guild)==null?void 0:_a12.members._add({user,...member}))??member)}}if(users){result2.users=new Collection2;for(const user of Object.values(users)){result2.users.set(user.id,this.client.users._add(user))}}if(roles){result2.roles=new Collection2;for(const role of Object.values(roles)){result2.roles.set(role.id,((_b2=this.guild)==null?void 0:_b2.roles._add(role))??role)}}if(channels){result2.channels=new Collection2;for(const channel of Object.values(channels)){result2.channels.set(channel.id,this.client.channels._add(channel,this.guild)??channel)}}if(messages){result2.messages=new Collection2;for(const message3 of Object.values(messages)){result2.messages.set(message3.id,((_d=(_c=this.channel)==null?void 0:_c.messages)==null?void 0:_d._add(message3))??message3)}}if(attachments){result2.attachments=new Collection2;for(const attachment of Object.values(attachments)){const patched=new Attachment(attachment);result2.attachments.set(attachment.id,patched)}}return result2}transformOption(option,resolved){var _a12,_b2,_c,_d,_e,_f,_g;const result2={name:option.name,type:option.type};if("value"in option)result2.value=option.value;if("options"in option)result2.options=option.options.map(opt=>this.transformOption(opt,resolved));if(resolved){const user=(_a12=resolved.users)==null?void 0:_a12[option.value];if(user)result2.user=this.client.users._add(user);const member=(_b2=resolved.members)==null?void 0:_b2[option.value];if(member)result2.member=((_c=this.guild)==null?void 0:_c.members._add({user,...member}))??member;const channel=(_d=resolved.channels)==null?void 0:_d[option.value];if(channel)result2.channel=this.client.channels._add(channel,this.guild)??channel;const role=(_e=resolved.roles)==null?void 0:_e[option.value];if(role)result2.role=((_f=this.guild)==null?void 0:_f.roles._add(role))??role;const attachment=(_g=resolved.attachments)==null?void 0:_g[option.value];if(attachment)result2.attachment=new Attachment(attachment)}return result2}deferReply(){}reply(){}fetchReply(){}editReply(){}deleteReply(){}followUp(){}showModal(){}awaitModalSubmit(){}};InteractionResponses.applyToClass(CommandInteraction3,["deferUpdate","update"]);module2.exports=CommandInteraction3}});var require_ChatInputCommandInteraction=__commonJS({"node_modules/discord.js/src/structures/ChatInputCommandInteraction.js"(exports2,module2){"use strict";var CommandInteraction3=require_CommandInteraction();var CommandInteractionOptionResolver=require_CommandInteractionOptionResolver();var ChatInputCommandInteraction2=class extends CommandInteraction3{constructor(client,data){var _a12;super(client,data);this.options=new CommandInteractionOptionResolver(this.client,((_a12=data.data.options)==null?void 0:_a12.map(option=>this.transformOption(option,data.data.resolved)))??[],this.transformResolved(data.data.resolved??{}))}toString(){const properties=[this.commandName,this.options._group,this.options._subcommand,...this.options._hoistedOptions.map(o=>`${o.name}:${o.value}`)];return`/${properties.filter(Boolean).join(" ")}`}};module2.exports=ChatInputCommandInteraction2}});var require_MentionableSelectMenuInteraction=__commonJS({"node_modules/discord.js/src/structures/MentionableSelectMenuInteraction.js"(exports2,module2){"use strict";var{Collection:Collection2}=require_dist();var MessageComponentInteraction=require_MessageComponentInteraction();var Events2=require_Events();var MentionableSelectMenuInteraction=class extends MessageComponentInteraction{constructor(client,data){var _a12,_b2;super(client,data);const{resolved,values:values2}=data.data;const{members,users,roles}=resolved??{};this.values=values2??[];this.users=new Collection2;this.members=new Collection2;this.roles=new Collection2;if(members){for(const[id,member]of Object.entries(members)){const user=users[id];if(!user){this.client.emit(Events2.Debug,`[MentionableSelectMenuInteraction] Received a member without a user, skipping ${id}`);continue}this.members.set(id,((_a12=this.guild)==null?void 0:_a12.members._add({user,...member}))??{user,...member})}}if(users){for(const user of Object.values(users)){this.users.set(user.id,this.client.users._add(user))}}if(roles){for(const role of Object.values(roles)){this.roles.set(role.id,((_b2=this.guild)==null?void 0:_b2.roles._add(role))??role)}}}};module2.exports=MentionableSelectMenuInteraction}});var require_ContextMenuCommandInteraction=__commonJS({"node_modules/discord.js/src/structures/ContextMenuCommandInteraction.js"(exports2,module2){"use strict";var{lazy}=require_dist2();var{ApplicationCommandOptionType:ApplicationCommandOptionType2}=require_v106();var CommandInteraction3=require_CommandInteraction();var CommandInteractionOptionResolver=require_CommandInteractionOptionResolver();var getMessage=lazy(()=>require_Message().Message);var ContextMenuCommandInteraction=class extends CommandInteraction3{constructor(client,data){super(client,data);this.options=new CommandInteractionOptionResolver(this.client,this.resolveContextMenuOptions(data.data),this.transformResolved(data.data.resolved));this.targetId=data.data.target_id}resolveContextMenuOptions({target_id,resolved}){var _a12,_b2,_c;const result2=[];if((_a12=resolved.users)==null?void 0:_a12[target_id]){result2.push(this.transformOption({name:"user",type:ApplicationCommandOptionType2.User,value:target_id},resolved))}if((_b2=resolved.messages)==null?void 0:_b2[target_id]){result2.push({name:"message",type:"_MESSAGE",value:target_id,message:((_c=this.channel)==null?void 0:_c.messages._add(resolved.messages[target_id]))??new(getMessage())(this.client,resolved.messages[target_id])})}return result2}};module2.exports=ContextMenuCommandInteraction}});var require_MessageContextMenuCommandInteraction=__commonJS({"node_modules/discord.js/src/structures/MessageContextMenuCommandInteraction.js"(exports2,module2){"use strict";var ContextMenuCommandInteraction=require_ContextMenuCommandInteraction();var MessageContextMenuCommandInteraction=class extends ContextMenuCommandInteraction{get targetMessage(){return this.options.getMessage("message")}};module2.exports=MessageContextMenuCommandInteraction}});var require_ModalSubmitFields=__commonJS({"node_modules/discord.js/src/structures/ModalSubmitFields.js"(exports2,module2){"use strict";var{Collection:Collection2}=require_dist();var{ComponentType}=require_v106();var{DiscordjsTypeError:DiscordjsTypeError2,ErrorCodes:ErrorCodes2}=require_errors6();var ModalSubmitFields=class{constructor(components){this.components=components;this.fields=components.reduce((accumulator,next)=>{next.components.forEach(c=>accumulator.set(c.customId,c));return accumulator},new Collection2)}getField(customId,type2){const field=this.fields.get(customId);if(!field)throw new DiscordjsTypeError2(ErrorCodes2.ModalSubmitInteractionFieldNotFound,customId);if(type2!==void 0&&type2!==field.type){throw new DiscordjsTypeError2(ErrorCodes2.ModalSubmitInteractionFieldType,customId,field.type,type2)}return field}getTextInputValue(customId){return this.getField(customId,ComponentType.TextInput).value}};module2.exports=ModalSubmitFields}});var require_ModalSubmitInteraction=__commonJS({"node_modules/discord.js/src/structures/ModalSubmitInteraction.js"(exports2,module2){"use strict";var{lazy}=require_dist2();var BaseInteraction=require_BaseInteraction();var InteractionWebhook=require_InteractionWebhook();var ModalSubmitFields=require_ModalSubmitFields();var InteractionResponses=require_InteractionResponses();var getMessage=lazy(()=>require_Message().Message);var ModalSubmitInteraction=class _ModalSubmitInteraction extends BaseInteraction{constructor(client,data){var _a12,_b2;super(client,data);this.customId=data.data.custom_id;if("message"in data){this.message=((_a12=this.channel)==null?void 0:_a12.messages._add(data.message))??new(getMessage())(this.client,data.message)}else{this.message=null}this.components=(_b2=data.data.components)==null?void 0:_b2.map(c=>_ModalSubmitInteraction.transformComponent(c));this.fields=new ModalSubmitFields(this.components);this.deferred=false;this.replied=false;this.ephemeral=null;this.webhook=new InteractionWebhook(this.client,this.applicationId,this.token)}static transformComponent(rawComponent){var _a12;return{value:rawComponent.value,type:rawComponent.type,customId:rawComponent.custom_id,components:(_a12=rawComponent.components)==null?void 0:_a12.map(c=>this.transformComponent(c))}}isFromMessage(){return Boolean(this.message)}deferReply(){}reply(){}fetchReply(){}editReply(){}deleteReply(){}followUp(){}deferUpdate(){}update(){}};InteractionResponses.applyToClass(ModalSubmitInteraction,"showModal");module2.exports=ModalSubmitInteraction}});var require_RoleSelectMenuInteraction=__commonJS({"node_modules/discord.js/src/structures/RoleSelectMenuInteraction.js"(exports2,module2){"use strict";var{Collection:Collection2}=require_dist();var MessageComponentInteraction=require_MessageComponentInteraction();var RoleSelectMenuInteraction=class extends MessageComponentInteraction{constructor(client,data){var _a12;super(client,data);const{resolved,values:values2}=data.data;this.values=values2??[];this.roles=new Collection2;for(const role of Object.values((resolved==null?void 0:resolved.roles)??{})){this.roles.set(role.id,((_a12=this.guild)==null?void 0:_a12.roles._add(role))??role)}}};module2.exports=RoleSelectMenuInteraction}});var require_StringSelectMenuInteraction=__commonJS({"node_modules/discord.js/src/structures/StringSelectMenuInteraction.js"(exports2,module2){"use strict";var MessageComponentInteraction=require_MessageComponentInteraction();var StringSelectMenuInteraction=class extends MessageComponentInteraction{constructor(client,data){super(client,data);this.values=data.data.values??[]}};module2.exports=StringSelectMenuInteraction}});var require_UserContextMenuCommandInteraction=__commonJS({"node_modules/discord.js/src/structures/UserContextMenuCommandInteraction.js"(exports2,module2){"use strict";var ContextMenuCommandInteraction=require_ContextMenuCommandInteraction();var UserContextMenuCommandInteraction=class extends ContextMenuCommandInteraction{get targetUser(){return this.options.getUser("user")}get targetMember(){return this.options.getMember("user")}};module2.exports=UserContextMenuCommandInteraction}});var require_UserSelectMenuInteraction=__commonJS({"node_modules/discord.js/src/structures/UserSelectMenuInteraction.js"(exports2,module2){"use strict";var{Collection:Collection2}=require_dist();var MessageComponentInteraction=require_MessageComponentInteraction();var Events2=require_Events();var UserSelectMenuInteraction=class extends MessageComponentInteraction{constructor(client,data){var _a12;super(client,data);const{resolved,values:values2}=data.data;this.values=values2??[];this.users=new Collection2;this.members=new Collection2;for(const user of Object.values((resolved==null?void 0:resolved.users)??{})){this.users.set(user.id,this.client.users._add(user))}for(const[id,member]of Object.entries((resolved==null?void 0:resolved.members)??{})){const user=resolved.users[id];if(!user){this.client.emit(Events2.Debug,`[UserSelectMenuInteraction] Received a member without a user, skipping ${id}`);continue}this.members.set(id,((_a12=this.guild)==null?void 0:_a12.members._add({user,...member}))??{user,...member})}}};module2.exports=UserSelectMenuInteraction}});var require_InteractionCreate=__commonJS({"node_modules/discord.js/src/client/actions/InteractionCreate.js"(exports2,module2){"use strict";var{InteractionType:InteractionType2,ComponentType,ApplicationCommandType:ApplicationCommandType2}=require_v106();var Action=require_Action();var AutocompleteInteraction=require_AutocompleteInteraction();var ButtonInteraction=require_ButtonInteraction();var ChannelSelectMenuInteraction=require_ChannelSelectMenuInteraction();var ChatInputCommandInteraction2=require_ChatInputCommandInteraction();var MentionableSelectMenuInteraction=require_MentionableSelectMenuInteraction();var MessageContextMenuCommandInteraction=require_MessageContextMenuCommandInteraction();var ModalSubmitInteraction=require_ModalSubmitInteraction();var RoleSelectMenuInteraction=require_RoleSelectMenuInteraction();var StringSelectMenuInteraction=require_StringSelectMenuInteraction();var UserContextMenuCommandInteraction=require_UserContextMenuCommandInteraction();var UserSelectMenuInteraction=require_UserSelectMenuInteraction();var Events2=require_Events();var InteractionCreateAction=class extends Action{handle(data){const client=this.client;const channel=data.channel&&this.getChannel(data.channel);let InteractionClass;switch(data.type){case InteractionType2.ApplicationCommand:switch(data.data.type){case ApplicationCommandType2.ChatInput:InteractionClass=ChatInputCommandInteraction2;break;case ApplicationCommandType2.User:InteractionClass=UserContextMenuCommandInteraction;break;case ApplicationCommandType2.Message:if(channel&&!channel.isTextBased())return;InteractionClass=MessageContextMenuCommandInteraction;break;default:client.emit(Events2.Debug,`[INTERACTION] Received application command interaction with unknown type: ${data.data.type}`);return}break;case InteractionType2.MessageComponent:if(channel&&!channel.isTextBased())return;switch(data.data.component_type){case ComponentType.Button:InteractionClass=ButtonInteraction;break;case ComponentType.StringSelect:InteractionClass=StringSelectMenuInteraction;break;case ComponentType.UserSelect:InteractionClass=UserSelectMenuInteraction;break;case ComponentType.RoleSelect:InteractionClass=RoleSelectMenuInteraction;break;case ComponentType.MentionableSelect:InteractionClass=MentionableSelectMenuInteraction;break;case ComponentType.ChannelSelect:InteractionClass=ChannelSelectMenuInteraction;break;default:client.emit(Events2.Debug,`[INTERACTION] Received component interaction with unknown type: ${data.data.component_type}`);return}break;case InteractionType2.ApplicationCommandAutocomplete:InteractionClass=AutocompleteInteraction;break;case InteractionType2.ModalSubmit:InteractionClass=ModalSubmitInteraction;break;default:client.emit(Events2.Debug,`[INTERACTION] Received interaction with unknown type: ${data.type}`);return}const interaction=new InteractionClass(client,data);client.emit(Events2.InteractionCreate,interaction)}};module2.exports=InteractionCreateAction}});var require_InviteCreate=__commonJS({"node_modules/discord.js/src/client/actions/InviteCreate.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var InviteCreateAction=class extends Action{handle(data){const client=this.client;const channel=client.channels.cache.get(data.channel_id);const guild2=client.guilds.cache.get(data.guild_id);if(!channel)return false;const inviteData=Object.assign(data,{channel,guild:guild2});const invite=guild2.invites._add(inviteData);client.emit(Events2.InviteCreate,invite);return{invite}}};module2.exports=InviteCreateAction}});var require_InviteDelete=__commonJS({"node_modules/discord.js/src/client/actions/InviteDelete.js"(exports2,module2){"use strict";var Action=require_Action();var Invite2=require_Invite();var Events2=require_Events();var InviteDeleteAction=class extends Action{handle(data){const client=this.client;const channel=client.channels.cache.get(data.channel_id);const guild2=client.guilds.cache.get(data.guild_id);if(!channel)return false;const inviteData=Object.assign(data,{channel,guild:guild2});const invite=new Invite2(client,inviteData);guild2.invites.cache.delete(invite.code);client.emit(Events2.InviteDelete,invite);return{invite}}};module2.exports=InviteDeleteAction}});var require_MessageCreate=__commonJS({"node_modules/discord.js/src/client/actions/MessageCreate.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var MessageCreateAction=class extends Action{handle(data){const client=this.client;const channel=this.getChannel(data);if(channel){if(!channel.isTextBased())return{};if(channel.isThread()){channel.messageCount++;channel.totalMessageSent++}const existing=channel.messages.cache.get(data.id);if(existing)return{message:existing};const message3=channel.messages._add(data);channel.lastMessageId=data.id;client.emit(Events2.MessageCreate,message3);return{message:message3}}return{}}};module2.exports=MessageCreateAction}});var require_MessageDelete=__commonJS({"node_modules/discord.js/src/client/actions/MessageDelete.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var MessageDeleteAction=class extends Action{handle(data){const client=this.client;const channel=this.getChannel(data);let message3;if(channel){if(!channel.isTextBased())return{};if(channel.isThread())channel.messageCount--;message3=this.getMessage(data,channel);if(message3){channel.messages.cache.delete(message3.id);client.emit(Events2.MessageDelete,message3)}}return{message:message3}}};module2.exports=MessageDeleteAction}});var require_MessageDeleteBulk=__commonJS({"node_modules/discord.js/src/client/actions/MessageDeleteBulk.js"(exports2,module2){"use strict";var{Collection:Collection2}=require_dist();var Action=require_Action();var Events2=require_Events();var MessageDeleteBulkAction=class extends Action{handle(data){const client=this.client;const channel=client.channels.cache.get(data.channel_id);if(channel){if(!channel.isTextBased())return{};if(channel.isThread())channel.messageCount-=data.ids.length;const ids=data.ids;const messages=new Collection2;for(const id of ids){const message3=this.getMessage({id,guild_id:data.guild_id},channel,false);if(message3){messages.set(message3.id,message3);channel.messages.cache.delete(id)}}if(messages.size>0)client.emit(Events2.MessageBulkDelete,messages,channel);return{messages}}return{}}};module2.exports=MessageDeleteBulkAction}});var require_MessageReactionAdd=__commonJS({"node_modules/discord.js/src/client/actions/MessageReactionAdd.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var Partials=require_Partials();var MessageReactionAdd=class extends Action{handle(data,fromStructure=false){if(!data.emoji)return false;const user=this.getUserFromMember(data);if(!user)return false;const channel=this.getChannel(data);if(!(channel==null?void 0:channel.isTextBased()))return false;const message3=this.getMessage(data,channel);if(!message3)return false;const includePartial=this.client.options.partials.includes(Partials.Reaction);if(message3.partial&&!includePartial)return false;const reaction=message3.reactions._add({emoji:data.emoji,count:message3.partial?null:0,me:user.id===this.client.user.id});if(!reaction)return false;reaction._add(user);if(fromStructure)return{message:message3,reaction,user};this.client.emit(Events2.MessageReactionAdd,reaction,user);return{message:message3,reaction,user}}};module2.exports=MessageReactionAdd}});var require_MessageReactionRemove=__commonJS({"node_modules/discord.js/src/client/actions/MessageReactionRemove.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var MessageReactionRemove=class extends Action{handle(data){if(!data.emoji)return false;const user=this.getUser(data);if(!user)return false;const channel=this.getChannel(data);if(!(channel==null?void 0:channel.isTextBased()))return false;const message3=this.getMessage(data,channel);if(!message3)return false;const reaction=this.getReaction(data,message3,user);if(!reaction)return false;reaction._remove(user);this.client.emit(Events2.MessageReactionRemove,reaction,user);return{message:message3,reaction,user}}};module2.exports=MessageReactionRemove}});var require_MessageReactionRemoveAll=__commonJS({"node_modules/discord.js/src/client/actions/MessageReactionRemoveAll.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var MessageReactionRemoveAll=class extends Action{handle(data){const channel=this.getChannel(data);if(!(channel==null?void 0:channel.isTextBased()))return false;const message3=this.getMessage(data,channel);if(!message3)return false;const removed=message3.reactions.cache.clone();message3.reactions.cache.clear();this.client.emit(Events2.MessageReactionRemoveAll,message3,removed);return{message:message3}}};module2.exports=MessageReactionRemoveAll}});var require_MessageReactionRemoveEmoji=__commonJS({"node_modules/discord.js/src/client/actions/MessageReactionRemoveEmoji.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var MessageReactionRemoveEmoji=class extends Action{handle(data){const channel=this.getChannel(data);if(!(channel==null?void 0:channel.isTextBased()))return false;const message3=this.getMessage(data,channel);if(!message3)return false;const reaction=this.getReaction(data,message3);if(!reaction)return false;if(!message3.partial)message3.reactions.cache.delete(reaction.emoji.id??reaction.emoji.name);this.client.emit(Events2.MessageReactionRemoveEmoji,reaction);return{reaction}}};module2.exports=MessageReactionRemoveEmoji}});var require_MessageUpdate=__commonJS({"node_modules/discord.js/src/client/actions/MessageUpdate.js"(exports2,module2){"use strict";var Action=require_Action();var MessageUpdateAction=class extends Action{handle(data){const channel=this.getChannel(data);if(channel){if(!channel.isTextBased())return{};const{id,channel_id,guild_id,author,timestamp:timestamp2,type:type2}=data;const message3=this.getMessage({id,channel_id,guild_id,author,timestamp:timestamp2,type:type2},channel);if(message3){const old=message3._update(data);return{old,updated:message3}}}return{}}};module2.exports=MessageUpdateAction}});var require_PresenceUpdate=__commonJS({"node_modules/discord.js/src/client/actions/PresenceUpdate.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var PresenceUpdateAction=class extends Action{handle(data){var _a12;let user=this.client.users.cache.get(data.user.id);if(!user&&data.user.username)user=this.client.users._add(data.user);if(!user)return;if(data.user.username){if(!user._equals(data.user))this.client.actions.UserUpdate.handle(data.user)}const guild2=this.client.guilds.cache.get(data.guild_id);if(!guild2)return;const oldPresence=((_a12=guild2.presences.cache.get(user.id))==null?void 0:_a12._clone())??null;let member=guild2.members.cache.get(user.id);if(!member&&data.status!=="offline"){member=guild2.members._add({user,deaf:false,mute:false});this.client.emit(Events2.GuildMemberAvailable,member)}const newPresence=guild2.presences._add(Object.assign(data,{guild:guild2}));if(this.client.listenerCount(Events2.PresenceUpdate)&&!newPresence.equals(oldPresence)){this.client.emit(Events2.PresenceUpdate,oldPresence,newPresence)}}};module2.exports=PresenceUpdateAction}});var require_StageInstanceCreate=__commonJS({"node_modules/discord.js/src/client/actions/StageInstanceCreate.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var StageInstanceCreateAction=class extends Action{handle(data){const client=this.client;const channel=this.getChannel(data);if(channel){const stageInstance=channel.guild.stageInstances._add(data);client.emit(Events2.StageInstanceCreate,stageInstance);return{stageInstance}}return{}}};module2.exports=StageInstanceCreateAction}});var require_StageInstanceDelete=__commonJS({"node_modules/discord.js/src/client/actions/StageInstanceDelete.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var StageInstanceDeleteAction=class extends Action{handle(data){const client=this.client;const channel=this.getChannel(data);if(channel){const stageInstance=channel.guild.stageInstances._add(data);if(stageInstance){channel.guild.stageInstances.cache.delete(stageInstance.id);client.emit(Events2.StageInstanceDelete,stageInstance);return{stageInstance}}}return{}}};module2.exports=StageInstanceDeleteAction}});var require_StageInstanceUpdate=__commonJS({"node_modules/discord.js/src/client/actions/StageInstanceUpdate.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var StageInstanceUpdateAction=class extends Action{handle(data){var _a12;const client=this.client;const channel=this.getChannel(data);if(channel){const oldStageInstance=((_a12=channel.guild.stageInstances.cache.get(data.id))==null?void 0:_a12._clone())??null;const newStageInstance=channel.guild.stageInstances._add(data);client.emit(Events2.StageInstanceUpdate,oldStageInstance,newStageInstance);return{oldStageInstance,newStageInstance}}return{}}};module2.exports=StageInstanceUpdateAction}});var require_ThreadCreate=__commonJS({"node_modules/discord.js/src/client/actions/ThreadCreate.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var ThreadCreateAction=class extends Action{handle(data){const client=this.client;const existing=client.channels.cache.has(data.id);const thread=client.channels._add(data);if(!existing&&thread){client.emit(Events2.ThreadCreate,thread,data.newly_created??false)}return{thread}}};module2.exports=ThreadCreateAction}});var require_ThreadDelete=__commonJS({"node_modules/discord.js/src/client/actions/ThreadDelete.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var ThreadDeleteAction=class extends Action{handle(data){const client=this.client;const thread=client.channels.cache.get(data.id);if(thread){client.channels._remove(thread.id);client.emit(Events2.ThreadDelete,thread)}return{thread}}};module2.exports=ThreadDeleteAction}});var require_ThreadListSync=__commonJS({"node_modules/discord.js/src/client/actions/ThreadListSync.js"(exports2,module2){"use strict";var{Collection:Collection2}=require_dist();var Action=require_Action();var Events2=require_Events();var ThreadListSyncAction=class extends Action{handle(data){const client=this.client;const guild2=client.guilds.cache.get(data.guild_id);if(!guild2)return{};if(data.channel_ids){for(const id of data.channel_ids){const channel=client.channels.resolve(id);if(channel)this.removeStale(channel)}}else{for(const channel of guild2.channels.cache.values()){this.removeStale(channel)}}const syncedThreads=data.threads.reduce((coll,rawThread)=>{const thread=client.channels._add(rawThread);return coll.set(thread.id,thread)},new Collection2);for(const rawMember of Object.values(data.members)){const thread=client.channels.cache.get(rawMember.id);if(thread){thread.members._add(rawMember)}}client.emit(Events2.ThreadListSync,syncedThreads,guild2);return{syncedThreads}}removeStale(channel){var _a12;(_a12=channel.threads)==null?void 0:_a12.cache.forEach(thread=>{if(!thread.archived){this.client.channels._remove(thread.id)}})}};module2.exports=ThreadListSyncAction}});var require_ThreadMemberUpdate=__commonJS({"node_modules/discord.js/src/client/actions/ThreadMemberUpdate.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var ThreadMemberUpdateAction=class extends Action{handle(data){const client=this.client;const thread=client.channels.cache.get(data.id);if(thread){const member=thread.members.cache.get(data.user_id);if(!member){const newMember=thread.members._add(data);return{newMember}}const old=member._update(data);client.emit(Events2.ThreadMemberUpdate,old,member)}return{}}};module2.exports=ThreadMemberUpdateAction}});var require_ThreadMembersUpdate=__commonJS({"node_modules/discord.js/src/client/actions/ThreadMembersUpdate.js"(exports2,module2){"use strict";var{Collection:Collection2}=require_dist();var Action=require_Action();var Events2=require_Events();var ThreadMembersUpdateAction=class extends Action{handle(data){var _a12,_b2;const client=this.client;const thread=client.channels.cache.get(data.id);if(thread){thread.memberCount=data.member_count;const addedMembers=new Collection2;const removedMembers=new Collection2;(_a12=data.added_members)==null?void 0:_a12.reduce((_addedMembers,addedMember)=>_addedMembers.set(addedMember.user_id,thread.members._add(addedMember)),addedMembers);(_b2=data.removed_member_ids)==null?void 0:_b2.reduce((removedMembersIds,removedMembersId)=>{const threadMember=this.getThreadMember(removedMembersId,thread.members);if(threadMember)removedMembersIds.set(threadMember.id,threadMember);thread.members.cache.delete(removedMembersId);return removedMembersIds},removedMembers);if(addedMembers.size===0&&removedMembers.size===0){return{}}client.emit(Events2.ThreadMembersUpdate,addedMembers,removedMembers,thread)}return{}}};module2.exports=ThreadMembersUpdateAction}});var require_Typing=__commonJS({"node_modules/discord.js/src/structures/Typing.js"(exports2,module2){"use strict";var Base=require_Base();var Typing=class extends Base{constructor(channel,user,data){super(channel.client);this.channel=channel;this.user=user;this._patch(data)}_patch(data){if("timestamp"in data){this.startedTimestamp=data.timestamp*1e3}}inGuild(){return this.guild!==null}get startedAt(){return new Date(this.startedTimestamp)}get guild(){return this.channel.guild??null}get member(){var _a12;return((_a12=this.guild)==null?void 0:_a12.members.resolve(this.user))??null}};module2.exports=Typing}});var require_TypingStart=__commonJS({"node_modules/discord.js/src/client/actions/TypingStart.js"(exports2,module2){"use strict";var Action=require_Action();var Typing=require_Typing();var Events2=require_Events();var TypingStart=class extends Action{handle(data){const channel=this.getChannel(data);if(!channel)return;if(!channel.isTextBased()){this.client.emit(Events2.Warn,`Discord sent a typing packet to a ${channel.type} channel ${channel.id}`);return}const user=this.getUserFromMember(data);if(user){this.client.emit(Events2.TypingStart,new Typing(channel,user,data))}}};module2.exports=TypingStart}});var require_UserUpdate=__commonJS({"node_modules/discord.js/src/client/actions/UserUpdate.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var UserUpdateAction=class extends Action{handle(data){const client=this.client;const newUser=data.id===client.user.id?client.user:client.users.cache.get(data.id);const oldUser=newUser._update(data);if(!oldUser.equals(newUser)){client.emit(Events2.UserUpdate,oldUser,newUser);return{old:oldUser,updated:newUser}}return{old:null,updated:null}}};module2.exports=UserUpdateAction}});var require_VoiceStateUpdate=__commonJS({"node_modules/discord.js/src/client/actions/VoiceStateUpdate.js"(exports2,module2){"use strict";var Action=require_Action();var VoiceState=require_VoiceState();var Events2=require_Events();var VoiceStateUpdate=class extends Action{handle(data){var _a12,_b2;const client=this.client;const guild2=client.guilds.cache.get(data.guild_id);if(guild2){const oldState=((_a12=guild2.voiceStates.cache.get(data.user_id))==null?void 0:_a12._clone())??new VoiceState(guild2,{user_id:data.user_id});const newState=guild2.voiceStates._add(data);let member=guild2.members.cache.get(data.user_id);if(member&&data.member){member._patch(data.member)}else if(((_b2=data.member)==null?void 0:_b2.user)&&data.member.joined_at){member=guild2.members._add(data.member)}if((member==null?void 0:member.user.id)===client.user.id){client.emit("debug",`[VOICE] received voice state update: ${JSON.stringify(data)}`);client.voice.onVoiceStateUpdate(data)}client.emit(Events2.VoiceStateUpdate,oldState,newState)}}};module2.exports=VoiceStateUpdate}});var require_WebhooksUpdate=__commonJS({"node_modules/discord.js/src/client/actions/WebhooksUpdate.js"(exports2,module2){"use strict";var Action=require_Action();var Events2=require_Events();var WebhooksUpdate=class extends Action{handle(data){const client=this.client;const channel=client.channels.cache.get(data.channel_id);if(channel)client.emit(Events2.WebhooksUpdate,channel)}};module2.exports=WebhooksUpdate}});var require_ActionsManager=__commonJS({"node_modules/discord.js/src/client/actions/ActionsManager.js"(exports2,module2){"use strict";var ActionsManager2=class{injectedUser=Symbol("djs.actions.injectedUser");injectedChannel=Symbol("djs.actions.injectedChannel");injectedMessage=Symbol("djs.actions.injectedMessage");constructor(client){this.client=client;this.register(require_ApplicationCommandPermissionsUpdate());this.register(require_AutoModerationActionExecution2());this.register(require_AutoModerationRuleCreate());this.register(require_AutoModerationRuleDelete());this.register(require_AutoModerationRuleUpdate());this.register(require_ChannelCreate());this.register(require_ChannelDelete());this.register(require_ChannelUpdate());this.register(require_GuildAuditLogEntryCreate());this.register(require_GuildBanAdd());this.register(require_GuildBanRemove());this.register(require_GuildChannelsPositionUpdate());this.register(require_GuildDelete());this.register(require_GuildEmojiCreate());this.register(require_GuildEmojiDelete());this.register(require_GuildEmojiUpdate());this.register(require_GuildEmojisUpdate());this.register(require_GuildIntegrationsUpdate());this.register(require_GuildMemberRemove());this.register(require_GuildMemberUpdate());this.register(require_GuildRoleCreate());this.register(require_GuildRoleDelete());this.register(require_GuildRoleUpdate());this.register(require_GuildRolesPositionUpdate());this.register(require_GuildScheduledEventCreate());this.register(require_GuildScheduledEventDelete());this.register(require_GuildScheduledEventUpdate());this.register(require_GuildScheduledEventUserAdd());this.register(require_GuildScheduledEventUserRemove());this.register(require_GuildStickerCreate());this.register(require_GuildStickerDelete());this.register(require_GuildStickerUpdate());this.register(require_GuildStickersUpdate());this.register(require_GuildUpdate());this.register(require_InteractionCreate());this.register(require_InviteCreate());this.register(require_InviteDelete());this.register(require_MessageCreate());this.register(require_MessageDelete());this.register(require_MessageDeleteBulk());this.register(require_MessageReactionAdd());this.register(require_MessageReactionRemove());this.register(require_MessageReactionRemoveAll());this.register(require_MessageReactionRemoveEmoji());this.register(require_MessageUpdate());this.register(require_PresenceUpdate());this.register(require_StageInstanceCreate());this.register(require_StageInstanceDelete());this.register(require_StageInstanceUpdate());this.register(require_ThreadCreate());this.register(require_ThreadDelete());this.register(require_ThreadListSync());this.register(require_ThreadMemberUpdate());this.register(require_ThreadMembersUpdate());this.register(require_TypingStart());this.register(require_UserUpdate());this.register(require_VoiceStateUpdate());this.register(require_WebhooksUpdate())}register(Action){this[Action.name.replace(/Action$/,"")]=new Action(this.client)}};module2.exports=ActionsManager2}});var require_ClientVoiceManager=__commonJS({"node_modules/discord.js/src/client/voice/ClientVoiceManager.js"(exports2,module2){"use strict";var Events2=require_Events();var ClientVoiceManager2=class{constructor(client){Object.defineProperty(this,"client",{value:client});this.adapters=new Map;client.on(Events2.ShardDisconnect,(_,shardId)=>{var _a12;for(const[guildId,adapter]of this.adapters.entries()){if(((_a12=client.guilds.cache.get(guildId))==null?void 0:_a12.shardId)===shardId){adapter.destroy()}}})}onVoiceServer(payload){var _a12;(_a12=this.adapters.get(payload.guild_id))==null?void 0:_a12.onVoiceServerUpdate(payload)}onVoiceStateUpdate(payload){var _a12,_b2;if(payload.guild_id&&payload.session_id&&payload.user_id===((_a12=this.client.user)==null?void 0:_a12.id)){(_b2=this.adapters.get(payload.guild_id))==null?void 0:_b2.onVoiceStateUpdate(payload)}}};module2.exports=ClientVoiceManager2}});var require_dist7=__commonJS({"node_modules/@vladfrangu/async_event_emitter/dist/index.cjs"(exports2,module2){"use strict";var __defProp2=Object.defineProperty;var __getOwnPropDesc2=Object.getOwnPropertyDescriptor;var __getOwnPropNames2=Object.getOwnPropertyNames;var __hasOwnProp2=Object.prototype.hasOwnProperty;var __name=(target,value)=>__defProp2(target,"name",{value,configurable:true});var __export2=(target,all2)=>{for(var name in all2)__defProp2(target,name,{get:all2[name],enumerable:true})};var __copyProps2=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames2(from))if(!__hasOwnProp2.call(to,key)&&key!==except)__defProp2(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc2(from,key))||desc.enumerable})}return to};var __toCommonJS2=mod3=>__copyProps2(__defProp2({},"__esModule",{value:true}),mod3);var src_exports2={};__export2(src_exports2,{AbortError:()=>AbortError2,AsyncEventEmitter:()=>AsyncEventEmitter});module2.exports=__toCommonJS2(src_exports2);function validateListener(input){if(typeof input!=="function"){throw new TypeError(`The listener argument must be a function. Received ${typeof input}`)}}__name(validateListener,"validateListener");function validateAbortSignal(input){if(input&&!(input instanceof AbortSignal)){throw new TypeError(`The signal option must be an AbortSignal. Received ${input}`)}}__name(validateAbortSignal,"validateAbortSignal");function spliceOne(list,index){for(;index+1<list.length;index++){list[index]=list[index+1]}list.pop()}__name(spliceOne,"spliceOne");function arrayClone(arr){switch(arr.length){case 2:return[arr[0],arr[1]];case 3:return[arr[0],arr[1],arr[2]];case 4:return[arr[0],arr[1],arr[2],arr[3]];case 5:return[arr[0],arr[1],arr[2],arr[3],arr[4]];case 6:return[arr[0],arr[1],arr[2],arr[3],arr[4],arr[5]]}return arr.slice()}__name(arrayClone,"arrayClone");function identicalSequenceRange(a,b){for(let i=0;i<a.length-3;i++){const pos=b.indexOf(a[i]);if(pos!==-1){const rest2=b.length-pos;if(rest2>3){let len=1;const maxLen=Math.min(a.length-i,rest2);while(maxLen>len&&a[i+len]===b[pos+len]){len++}if(len>3){return[len,i]}}}}return[0,0]}__name(identicalSequenceRange,"identicalSequenceRange");function enhanceStackTrace(err,own){let ctorInfo="";try{const{name}=this.constructor;if(name!=="AsyncEventEmitter")ctorInfo=` on ${name} instance`}catch{}const sep3=`
Emitted 'error' event${ctorInfo} at:
`;const errStack=err.stack.split("\n").slice(1);const ownStack=own.stack.split("\n").slice(1);const{0:len,1:off}=identicalSequenceRange(ownStack,errStack);if(len>0){ownStack.splice(off+1,len-2,"    [... lines matching original stack trace ...]")}return err.stack+sep3+ownStack.join("\n")}__name(enhanceStackTrace,"enhanceStackTrace");var brandSymbol=Symbol.for("async-event-emitter.ts-brand");var _AsyncEventEmitter=class _AsyncEventEmitter2{constructor(){this._events={__proto__:null};this._eventCount=0;this._maxListeners=10;this._internalPromiseMap=new Map;this._wrapperId=0n}addListener(eventName,listener){validateListener(listener);const wrapped=this._wrapListener(eventName,listener,false);this._addListener(eventName,wrapped,false);return this}on(eventName,listener){return this.addListener(eventName,listener)}once(eventName,listener){validateListener(listener);const wrapped=this._wrapListener(eventName,listener,true);this._addListener(eventName,wrapped,false);return this}removeListener(eventName,listener){validateListener(listener);const events=this._events;const eventList=events[eventName];if(eventList===void 0){return this}if(eventList===listener||eventList.listener===listener){if(--this._eventCount===0){this._events={__proto__:null}}else{delete events[eventName];if(events.removeListener){this.emit("removeListener",eventName,eventList.listener??eventList)}}}else if(typeof eventList!=="function"){let position=-1;for(let i=eventList.length-1;i>=0;i--){if(eventList[i]===listener||eventList[i].listener===listener){position=i;break}}if(position<0){return this}if(position===0){eventList.shift()}else{spliceOne(eventList,position)}if(eventList.length===0){delete events[eventName];--this._eventCount}if(events.removeListener!==void 0){this.emit("removeListener",eventName,listener)}}return this}off(eventName,listener){return this.removeListener(eventName,listener)}removeAllListeners(event){const events=this._events;if(events.removeListener===void 0){if(!event){this._events={__proto__:null};this._eventCount=0}else if(events[event]!==void 0){if(--this._eventCount===0){this._events={__proto__:null}}else{delete events[event]}}return this}if(!event){for(const key of Reflect.ownKeys(events)){if(key==="removeListener"){continue}this.removeAllListeners(key)}this.removeAllListeners("removeListener");this._events={__proto__:null};this._eventCount=0;return this}const listeners=events[event];if(typeof listeners==="function"){this.removeListener(event,listeners)}else if(listeners!==void 0){for(let i=listeners.length-1;i>=0;i--){this.removeListener(event,listeners[i])}}return this}setMaxListeners(n){if(typeof n!=="number"||n<0||Number.isNaN(n)){throw new RangeError(`Expected to get a non-negative number for "setMaxListeners", got ${n} instead`)}this._maxListeners=n;return this}getMaxListeners(){return this._maxListeners}listeners(eventName){const eventList=this._events[eventName];if(eventList===void 0){return[]}if(typeof eventList==="function"){return[eventList.listener??eventList]}const ret=arrayClone(eventList);for(let i=0;i<ret.length;++i){const orig=ret[i].listener;if(typeof orig==="function"){ret[i]=orig}}return ret}rawListeners(eventName){const eventList=this._events[eventName];if(eventList===void 0){return[]}if(typeof eventList==="function"){return[eventList]}return arrayClone(eventList)}emit(eventName,...args2){let doError=eventName==="error";const events=this._events;if(events!==void 0){doError=doError&&events.error===void 0}else if(!doError){return false}if(doError){let er;if(args2.length>0){er=args2[0]}if(er instanceof Error){try{const capture={};Error.captureStackTrace(capture,_AsyncEventEmitter2.prototype.emit);Object.defineProperty(er,"stack",{value:enhanceStackTrace.call(this,er,capture),configurable:true})}catch{}throw er}const stringifiedError=String(er);const err=new Error(`Unhandled 'error' event emitted, received ${stringifiedError}`);err.context=er;throw err}const handlers3=events[eventName];if(handlers3===void 0){return false}if(typeof handlers3==="function"){const result2=handlers3.apply(this,args2);if(result2!==void 0&&result2!==null){handleMaybeAsync(this,result2)}}else{const len=handlers3.length;const listeners=arrayClone(handlers3);for(let i=0;i<len;++i){const result2=listeners[i].apply(this,args2);if(result2!==void 0&&result2!==null){handleMaybeAsync(this,result2)}}}return true}listenerCount(eventName){const events=this._events;if(events===void 0){return 0}const eventListeners=events[eventName];if(typeof eventListeners==="function"){return 1}return(eventListeners==null?void 0:eventListeners.length)??0}prependListener(eventName,listener){validateListener(listener);const wrapped=this._wrapListener(eventName,listener,false);this._addListener(eventName,wrapped,true);return this}prependOnceListener(eventName,listener){validateListener(listener);const wrapped=this._wrapListener(eventName,listener,true);this._addListener(eventName,wrapped,true);return this}eventNames(){return this._eventCount>0?Reflect.ownKeys(this._events):[]}async waitForAllListenersToComplete(){const promises=[...this._internalPromiseMap.values()];if(promises.length===0){return false}await Promise.all(promises);return true}_addListener(eventName,wrappedListener,prepend){if(this._events.newListener!==void 0){this.emit("newListener",eventName,wrappedListener.listener??wrappedListener)}let existing=this._events[eventName];if(existing===void 0){existing=this._events[eventName]=wrappedListener;++this._eventCount}else if(typeof existing==="function"){existing=this._events[eventName]=prepend?[wrappedListener,existing]:[existing,wrappedListener]}else if(prepend){existing.unshift(wrappedListener)}else{existing.push(wrappedListener)}const existingWarnedAboutMaxListeners=Reflect.get(existing,"_hasWarnedAboutMaxListeners");if(this._maxListeners>0&&existing.length>this._maxListeners&&!existingWarnedAboutMaxListeners){Reflect.set(existing,"_hasWarnedAboutMaxListeners",true);const warningMessage=[`Possible AsyncEventEmitter memory leak detected. ${existing.length} ${String(eventName)} listeners added to ${this.constructor.name}.`,`Use emitter.setMaxListeners() to increase the limit.`].join(" ");console.warn(warningMessage)}}_wrapListener(eventName,listener,once2){if(!once2){return listener}const state={fired:false,wrapFn:void 0,eventEmitter:this,eventName,listener};const aliased=onceWrapper;const wrapped=aliased.bind(state);wrapped.listener=listener;state.wrapFn=wrapped;return wrapped}static listenerCount(emitter,eventName){return emitter.listenerCount(eventName)}static async once(emitter,eventName,options={}){const signal=options==null?void 0:options.signal;validateAbortSignal(signal);if(signal==null?void 0:signal.aborted){throw new AbortError2(void 0,{cause:getReason(signal)})}return new Promise((resolve,reject2)=>{const errorListener=__name(err=>{emitter.removeListener(eventName,resolver);if(signal){eventTargetAgnosticRemoveListener(emitter,eventName,abortListener)}reject2(err)},"errorListener");const resolver=__name((...args2)=>{emitter.removeListener("error",errorListener);if(signal){eventTargetAgnosticRemoveListener(signal,"abort",abortListener)}resolve(args2)},"resolver");emitter.once(eventName,resolver);if(eventName!=="error"){emitter.once("error",errorListener)}const abortListener=__name(()=>{eventTargetAgnosticRemoveListener(emitter,eventName,resolver);eventTargetAgnosticRemoveListener(emitter,"error",errorListener);reject2(new AbortError2(void 0,{cause:getReason(signal)}))},"abortListener");if(signal){eventTargetAgnosticAddListener(signal,"abort",abortListener,{once:true})}})}static on(emitter,eventName,options={}){const signal=options==null?void 0:options.signal;validateAbortSignal(signal);if(signal==null?void 0:signal.aborted){throw new AbortError2(void 0,{cause:getReason(signal)})}const unconsumedEvents=[];const unconsumedPromises=[];let error=null;let finished=false;const abortListener=__name(()=>{errorHandler(new AbortError2(void 0,{cause:getReason(signal)}))},"abortListener");const eventHandler=__name((...args2)=>{const promise=unconsumedPromises.shift();if(promise){promise.resolve(createIterResult(args2,false))}else{unconsumedEvents.push(args2)}},"eventHandler");const errorHandler=__name(err=>{finished=true;const toError=unconsumedPromises.shift();if(toError){toError.reject(err)}else{error=err}void iterator.return()},"errorHandler");const iterator=Object.setPrototypeOf({next(){const value=unconsumedEvents.shift();if(value){return Promise.resolve(createIterResult(value,false))}if(error){const p=Promise.reject(error);error=null;return p}if(finished){return Promise.resolve(createIterResult(void 0,true))}return new Promise((resolve,reject2)=>{unconsumedPromises.push({resolve,reject:reject2})})},return(){emitter.off(eventName,eventHandler);emitter.off("error",errorHandler);if(signal){eventTargetAgnosticRemoveListener(signal,"abort",abortListener)}finished=true;const doneResult=createIterResult(void 0,true);for(const promise of unconsumedPromises){promise.resolve(doneResult)}return Promise.resolve(doneResult)},throw(err){if(!err||!(err instanceof Error)){throw new TypeError(`Expected Error instance to be thrown in AsyncEventEmitter.AsyncIterator. Got ${err}`)}error=err;emitter.off(eventName,eventHandler);emitter.off("error",errorHandler)},[Symbol.asyncIterator](){return this}},AsyncIteratorPrototype);emitter.on(eventName,eventHandler);if(eventName!=="error"){emitter.on("error",errorHandler)}if(signal){eventTargetAgnosticAddListener(signal,"abort",abortListener)}return iterator}};__name(_AsyncEventEmitter,"AsyncEventEmitter");var AsyncEventEmitter=_AsyncEventEmitter;function onceWrapper(){if(!this.fired){this.eventEmitter.removeListener(this.eventName,this.wrapFn);this.fired=true;if(arguments.length===0){return this.listener.call(this.eventEmitter)}return this.listener.apply(this.eventEmitter,arguments)}}__name(onceWrapper,"onceWrapper");function getReason(signal){return signal==null?void 0:signal.reason}__name(getReason,"getReason");function eventTargetAgnosticRemoveListener(emitter,name,listener,flags){if(typeof emitter.off==="function"){emitter.off(name,listener)}else if(typeof emitter.removeEventListener==="function"){emitter.removeEventListener(name,listener,flags)}}__name(eventTargetAgnosticRemoveListener,"eventTargetAgnosticRemoveListener");function eventTargetAgnosticAddListener(emitter,name,listener,flags){if(typeof emitter.on==="function"){if(flags==null?void 0:flags.once){emitter.once(name,listener)}else{emitter.on(name,listener)}}else if(typeof emitter.addEventListener==="function"){emitter.addEventListener(name,listener,flags)}}__name(eventTargetAgnosticAddListener,"eventTargetAgnosticAddListener");var AsyncIteratorPrototype=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype);function createIterResult(value,done){return{value,done}}__name(createIterResult,"createIterResult");var _AbortError=class _AbortError extends Error{constructor(message3="The operation was aborted",options=void 0){if(options!==void 0&&typeof options!=="object"){throw new TypeError(`Failed to create AbortError: options is not an object or undefined`)}super(message3,options);this.code="ABORT_ERR";this.name="AbortError"}};__name(_AbortError,"AbortError");var AbortError2=_AbortError;function handleMaybeAsync(emitter,result2){try{const the=result2.then;const fin=result2.finally;if(typeof the==="function"){the.call(result2,void 0,error=>{setTimeout(()=>{emitter.emit("error",error)},0)})}if(typeof fin==="function"){const promiseId=String(++emitter["_wrapperId"]);emitter["_internalPromiseMap"].set(promiseId,result2);fin.call(result2,__name(function final(){emitter["_internalPromiseMap"].delete(promiseId)},"final"))}}catch(err){emitter.emit("error",err)}}__name(handleMaybeAsync,"handleMaybeAsync")}});var require_constants6=__commonJS({"node_modules/ws/lib/constants.js"(exports2,module2){"use strict";var BINARY_TYPES=["nodebuffer","arraybuffer","fragments"];var hasBlob=typeof Blob!=="undefined";if(hasBlob)BINARY_TYPES.push("blob");module2.exports={BINARY_TYPES,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}}});var require_buffer_util=__commonJS({"node_modules/ws/lib/buffer-util.js"(exports2,module2){"use strict";var{EMPTY_BUFFER}=require_constants6();var FastBuffer=Buffer[Symbol.species];function concat3(list,totalLength){if(list.length===0)return EMPTY_BUFFER;if(list.length===1)return list[0];const target=Buffer.allocUnsafe(totalLength);let offset=0;for(let i=0;i<list.length;i++){const buf=list[i];target.set(buf,offset);offset+=buf.length}if(offset<totalLength){return new FastBuffer(target.buffer,target.byteOffset,offset)}return target}function _mask(source,mask,output,offset,length){for(let i=0;i<length;i++){output[offset+i]=source[i]^mask[i&3]}}function _unmask(buffer,mask){for(let i=0;i<buffer.length;i++){buffer[i]^=mask[i&3]}}function toArrayBuffer(buf){if(buf.length===buf.buffer.byteLength){return buf.buffer}return buf.buffer.slice(buf.byteOffset,buf.byteOffset+buf.length)}function toBuffer(data){toBuffer.readOnly=true;if(Buffer.isBuffer(data))return data;let buf;if(data instanceof ArrayBuffer){buf=new FastBuffer(data)}else if(ArrayBuffer.isView(data)){buf=new FastBuffer(data.buffer,data.byteOffset,data.byteLength)}else{buf=Buffer.from(data);toBuffer.readOnly=false}return buf}module2.exports={concat:concat3,mask:_mask,toArrayBuffer,toBuffer,unmask:_unmask};if(!process.env.WS_NO_BUFFER_UTIL){try{const bufferUtil=require("bufferutil");module2.exports.mask=function(source,mask,output,offset,length){if(length<48)_mask(source,mask,output,offset,length);else bufferUtil.mask(source,mask,output,offset,length)};module2.exports.unmask=function(buffer,mask){if(buffer.length<32)_unmask(buffer,mask);else bufferUtil.unmask(buffer,mask)}}catch(e){}}}});var require_limiter=__commonJS({"node_modules/ws/lib/limiter.js"(exports2,module2){"use strict";var kDone=Symbol("kDone");var kRun=Symbol("kRun");var Limiter=class{constructor(concurrency){this[kDone]=()=>{this.pending--;this[kRun]()};this.concurrency=concurrency||Infinity;this.jobs=[];this.pending=0}add(job){this.jobs.push(job);this[kRun]()}[kRun](){if(this.pending===this.concurrency)return;if(this.jobs.length){const job=this.jobs.shift();this.pending++;job(this[kDone])}}};module2.exports=Limiter}});var require_permessage_deflate=__commonJS({"node_modules/ws/lib/permessage-deflate.js"(exports2,module2){"use strict";var zlib2=require("zlib");var bufferUtil=require_buffer_util();var Limiter=require_limiter();var{kStatusCode}=require_constants6();var FastBuffer=Buffer[Symbol.species];var TRAILER=Buffer.from([0,0,255,255]);var kPerMessageDeflate=Symbol("permessage-deflate");var kTotalLength=Symbol("total-length");var kCallback=Symbol("callback");var kBuffers=Symbol("buffers");var kError=Symbol("error");var zlibLimiter;var PerMessageDeflate=class{constructor(options,isServer,maxPayload){this._maxPayload=maxPayload|0;this._options=options||{};this._threshold=this._options.threshold!==void 0?this._options.threshold:1024;this._isServer=!!isServer;this._deflate=null;this._inflate=null;this.params=null;if(!zlibLimiter){const concurrency=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;zlibLimiter=new Limiter(concurrency)}}static get extensionName(){return"permessage-deflate"}offer(){const params={};if(this._options.serverNoContextTakeover){params.server_no_context_takeover=true}if(this._options.clientNoContextTakeover){params.client_no_context_takeover=true}if(this._options.serverMaxWindowBits){params.server_max_window_bits=this._options.serverMaxWindowBits}if(this._options.clientMaxWindowBits){params.client_max_window_bits=this._options.clientMaxWindowBits}else if(this._options.clientMaxWindowBits==null){params.client_max_window_bits=true}return params}accept(configurations){configurations=this.normalizeParams(configurations);this.params=this._isServer?this.acceptAsServer(configurations):this.acceptAsClient(configurations);return this.params}cleanup(){if(this._inflate){this._inflate.close();this._inflate=null}if(this._deflate){const callback=this._deflate[kCallback];this._deflate.close();this._deflate=null;if(callback){callback(new Error("The deflate stream was closed while data was being processed"))}}}acceptAsServer(offers){const opts=this._options;const accepted=offers.find(params=>{if(opts.serverNoContextTakeover===false&&params.server_no_context_takeover||params.server_max_window_bits&&(opts.serverMaxWindowBits===false||typeof opts.serverMaxWindowBits==="number"&&opts.serverMaxWindowBits>params.server_max_window_bits)||typeof opts.clientMaxWindowBits==="number"&&!params.client_max_window_bits){return false}return true});if(!accepted){throw new Error("None of the extension offers can be accepted")}if(opts.serverNoContextTakeover){accepted.server_no_context_takeover=true}if(opts.clientNoContextTakeover){accepted.client_no_context_takeover=true}if(typeof opts.serverMaxWindowBits==="number"){accepted.server_max_window_bits=opts.serverMaxWindowBits}if(typeof opts.clientMaxWindowBits==="number"){accepted.client_max_window_bits=opts.clientMaxWindowBits}else if(accepted.client_max_window_bits===true||opts.clientMaxWindowBits===false){delete accepted.client_max_window_bits}return accepted}acceptAsClient(response){const params=response[0];if(this._options.clientNoContextTakeover===false&&params.client_no_context_takeover){throw new Error('Unexpected parameter "client_no_context_takeover"')}if(!params.client_max_window_bits){if(typeof this._options.clientMaxWindowBits==="number"){params.client_max_window_bits=this._options.clientMaxWindowBits}}else if(this._options.clientMaxWindowBits===false||typeof this._options.clientMaxWindowBits==="number"&&params.client_max_window_bits>this._options.clientMaxWindowBits){throw new Error('Unexpected or invalid parameter "client_max_window_bits"')}return params}normalizeParams(configurations){configurations.forEach(params=>{Object.keys(params).forEach(key=>{let value=params[key];if(value.length>1){throw new Error(`Parameter "${key}" must have only a single value`)}value=value[0];if(key==="client_max_window_bits"){if(value!==true){const num=+value;if(!Number.isInteger(num)||num<8||num>15){throw new TypeError(`Invalid value for parameter "${key}": ${value}`)}value=num}else if(!this._isServer){throw new TypeError(`Invalid value for parameter "${key}": ${value}`)}}else if(key==="server_max_window_bits"){const num=+value;if(!Number.isInteger(num)||num<8||num>15){throw new TypeError(`Invalid value for parameter "${key}": ${value}`)}value=num}else if(key==="client_no_context_takeover"||key==="server_no_context_takeover"){if(value!==true){throw new TypeError(`Invalid value for parameter "${key}": ${value}`)}}else{throw new Error(`Unknown parameter "${key}"`)}params[key]=value})});return configurations}decompress(data,fin,callback){zlibLimiter.add(done=>{this._decompress(data,fin,(err,result2)=>{done();callback(err,result2)})})}compress(data,fin,callback){zlibLimiter.add(done=>{this._compress(data,fin,(err,result2)=>{done();callback(err,result2)})})}_decompress(data,fin,callback){const endpoint=this._isServer?"client":"server";if(!this._inflate){const key=`${endpoint}_max_window_bits`;const windowBits=typeof this.params[key]!=="number"?zlib2.Z_DEFAULT_WINDOWBITS:this.params[key];this._inflate=zlib2.createInflateRaw({...this._options.zlibInflateOptions,windowBits});this._inflate[kPerMessageDeflate]=this;this._inflate[kTotalLength]=0;this._inflate[kBuffers]=[];this._inflate.on("error",inflateOnError);this._inflate.on("data",inflateOnData)}this._inflate[kCallback]=callback;this._inflate.write(data);if(fin)this._inflate.write(TRAILER);this._inflate.flush(()=>{const err=this._inflate[kError];if(err){this._inflate.close();this._inflate=null;callback(err);return}const data2=bufferUtil.concat(this._inflate[kBuffers],this._inflate[kTotalLength]);if(this._inflate._readableState.endEmitted){this._inflate.close();this._inflate=null}else{this._inflate[kTotalLength]=0;this._inflate[kBuffers]=[];if(fin&&this.params[`${endpoint}_no_context_takeover`]){this._inflate.reset()}}callback(null,data2)})}_compress(data,fin,callback){const endpoint=this._isServer?"server":"client";if(!this._deflate){const key=`${endpoint}_max_window_bits`;const windowBits=typeof this.params[key]!=="number"?zlib2.Z_DEFAULT_WINDOWBITS:this.params[key];this._deflate=zlib2.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits});this._deflate[kTotalLength]=0;this._deflate[kBuffers]=[];this._deflate.on("data",deflateOnData)}this._deflate[kCallback]=callback;this._deflate.write(data);this._deflate.flush(zlib2.Z_SYNC_FLUSH,()=>{if(!this._deflate){return}let data2=bufferUtil.concat(this._deflate[kBuffers],this._deflate[kTotalLength]);if(fin){data2=new FastBuffer(data2.buffer,data2.byteOffset,data2.length-4)}this._deflate[kCallback]=null;this._deflate[kTotalLength]=0;this._deflate[kBuffers]=[];if(fin&&this.params[`${endpoint}_no_context_takeover`]){this._deflate.reset()}callback(null,data2)})}};module2.exports=PerMessageDeflate;function deflateOnData(chunk2){this[kBuffers].push(chunk2);this[kTotalLength]+=chunk2.length}function inflateOnData(chunk2){this[kTotalLength]+=chunk2.length;if(this[kPerMessageDeflate]._maxPayload<1||this[kTotalLength]<=this[kPerMessageDeflate]._maxPayload){this[kBuffers].push(chunk2);return}this[kError]=new RangeError("Max payload size exceeded");this[kError].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH";this[kError][kStatusCode]=1009;this.removeListener("data",inflateOnData);this.reset()}function inflateOnError(err){this[kPerMessageDeflate]._inflate=null;err[kStatusCode]=1007;this[kCallback](err)}}});var require_validation=__commonJS({"node_modules/ws/lib/validation.js"(exports2,module2){"use strict";var{isUtf8}=require("buffer");var{hasBlob}=require_constants6();var tokenChars=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function isValidStatusCode(code){return code>=1e3&&code<=1014&&code!==1004&&code!==1005&&code!==1006||code>=3e3&&code<=4999}function _isValidUTF8(buf){const len=buf.length;let i=0;while(i<len){if((buf[i]&128)===0){i++}else if((buf[i]&224)===192){if(i+1===len||(buf[i+1]&192)!==128||(buf[i]&254)===192){return false}i+=2}else if((buf[i]&240)===224){if(i+2>=len||(buf[i+1]&192)!==128||(buf[i+2]&192)!==128||buf[i]===224&&(buf[i+1]&224)===128||buf[i]===237&&(buf[i+1]&224)===160){return false}i+=3}else if((buf[i]&248)===240){if(i+3>=len||(buf[i+1]&192)!==128||(buf[i+2]&192)!==128||(buf[i+3]&192)!==128||buf[i]===240&&(buf[i+1]&240)===128||buf[i]===244&&buf[i+1]>143||buf[i]>244){return false}i+=4}else{return false}}return true}function isBlob(value){return hasBlob&&typeof value==="object"&&typeof value.arrayBuffer==="function"&&typeof value.type==="string"&&typeof value.stream==="function"&&(value[Symbol.toStringTag]==="Blob"||value[Symbol.toStringTag]==="File")}module2.exports={isBlob,isValidStatusCode,isValidUTF8:_isValidUTF8,tokenChars};if(isUtf8){module2.exports.isValidUTF8=function(buf){return buf.length<24?_isValidUTF8(buf):isUtf8(buf)}}else if(!process.env.WS_NO_UTF_8_VALIDATE){try{const isValidUTF8=require("utf-8-validate");module2.exports.isValidUTF8=function(buf){return buf.length<32?_isValidUTF8(buf):isValidUTF8(buf)}}catch(e){}}}});var require_receiver2=__commonJS({"node_modules/ws/lib/receiver.js"(exports2,module2){"use strict";var{Writable:Writable4}=require("stream");var PerMessageDeflate=require_permessage_deflate();var{BINARY_TYPES,EMPTY_BUFFER,kStatusCode,kWebSocket}=require_constants6();var{concat:concat3,toArrayBuffer,unmask}=require_buffer_util();var{isValidStatusCode,isValidUTF8}=require_validation();var FastBuffer=Buffer[Symbol.species];var GET_INFO=0;var GET_PAYLOAD_LENGTH_16=1;var GET_PAYLOAD_LENGTH_64=2;var GET_MASK=3;var GET_DATA=4;var INFLATING=5;var DEFER_EVENT=6;var Receiver=class extends Writable4{constructor(options={}){super();this._allowSynchronousEvents=options.allowSynchronousEvents!==void 0?options.allowSynchronousEvents:true;this._binaryType=options.binaryType||BINARY_TYPES[0];this._extensions=options.extensions||{};this._isServer=!!options.isServer;this._maxPayload=options.maxPayload|0;this._skipUTF8Validation=!!options.skipUTF8Validation;this[kWebSocket]=void 0;this._bufferedBytes=0;this._buffers=[];this._compressed=false;this._payloadLength=0;this._mask=void 0;this._fragmented=0;this._masked=false;this._fin=false;this._opcode=0;this._totalPayloadLength=0;this._messageLength=0;this._fragments=[];this._errored=false;this._loop=false;this._state=GET_INFO}_write(chunk2,encoding,cb){if(this._opcode===8&&this._state==GET_INFO)return cb();this._bufferedBytes+=chunk2.length;this._buffers.push(chunk2);this.startLoop(cb)}consume(n){this._bufferedBytes-=n;if(n===this._buffers[0].length)return this._buffers.shift();if(n<this._buffers[0].length){const buf=this._buffers[0];this._buffers[0]=new FastBuffer(buf.buffer,buf.byteOffset+n,buf.length-n);return new FastBuffer(buf.buffer,buf.byteOffset,n)}const dst=Buffer.allocUnsafe(n);do{const buf=this._buffers[0];const offset=dst.length-n;if(n>=buf.length){dst.set(this._buffers.shift(),offset)}else{dst.set(new Uint8Array(buf.buffer,buf.byteOffset,n),offset);this._buffers[0]=new FastBuffer(buf.buffer,buf.byteOffset+n,buf.length-n)}n-=buf.length}while(n>0);return dst}startLoop(cb){this._loop=true;do{switch(this._state){case GET_INFO:this.getInfo(cb);break;case GET_PAYLOAD_LENGTH_16:this.getPayloadLength16(cb);break;case GET_PAYLOAD_LENGTH_64:this.getPayloadLength64(cb);break;case GET_MASK:this.getMask();break;case GET_DATA:this.getData(cb);break;case INFLATING:case DEFER_EVENT:this._loop=false;return}}while(this._loop);if(!this._errored)cb()}getInfo(cb){if(this._bufferedBytes<2){this._loop=false;return}const buf=this.consume(2);if((buf[0]&48)!==0){const error=this.createError(RangeError,"RSV2 and RSV3 must be clear",true,1002,"WS_ERR_UNEXPECTED_RSV_2_3");cb(error);return}const compressed=(buf[0]&64)===64;if(compressed&&!this._extensions[PerMessageDeflate.extensionName]){const error=this.createError(RangeError,"RSV1 must be clear",true,1002,"WS_ERR_UNEXPECTED_RSV_1");cb(error);return}this._fin=(buf[0]&128)===128;this._opcode=buf[0]&15;this._payloadLength=buf[1]&127;if(this._opcode===0){if(compressed){const error=this.createError(RangeError,"RSV1 must be clear",true,1002,"WS_ERR_UNEXPECTED_RSV_1");cb(error);return}if(!this._fragmented){const error=this.createError(RangeError,"invalid opcode 0",true,1002,"WS_ERR_INVALID_OPCODE");cb(error);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){const error=this.createError(RangeError,`invalid opcode ${this._opcode}`,true,1002,"WS_ERR_INVALID_OPCODE");cb(error);return}this._compressed=compressed}else if(this._opcode>7&&this._opcode<11){if(!this._fin){const error=this.createError(RangeError,"FIN must be set",true,1002,"WS_ERR_EXPECTED_FIN");cb(error);return}if(compressed){const error=this.createError(RangeError,"RSV1 must be clear",true,1002,"WS_ERR_UNEXPECTED_RSV_1");cb(error);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){const error=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,true,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");cb(error);return}}else{const error=this.createError(RangeError,`invalid opcode ${this._opcode}`,true,1002,"WS_ERR_INVALID_OPCODE");cb(error);return}if(!this._fin&&!this._fragmented)this._fragmented=this._opcode;this._masked=(buf[1]&128)===128;if(this._isServer){if(!this._masked){const error=this.createError(RangeError,"MASK must be set",true,1002,"WS_ERR_EXPECTED_MASK");cb(error);return}}else if(this._masked){const error=this.createError(RangeError,"MASK must be clear",true,1002,"WS_ERR_UNEXPECTED_MASK");cb(error);return}if(this._payloadLength===126)this._state=GET_PAYLOAD_LENGTH_16;else if(this._payloadLength===127)this._state=GET_PAYLOAD_LENGTH_64;else this.haveLength(cb)}getPayloadLength16(cb){if(this._bufferedBytes<2){this._loop=false;return}this._payloadLength=this.consume(2).readUInt16BE(0);this.haveLength(cb)}getPayloadLength64(cb){if(this._bufferedBytes<8){this._loop=false;return}const buf=this.consume(8);const num=buf.readUInt32BE(0);if(num>Math.pow(2,53-32)-1){const error=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",false,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");cb(error);return}this._payloadLength=num*Math.pow(2,32)+buf.readUInt32BE(4);this.haveLength(cb)}haveLength(cb){if(this._payloadLength&&this._opcode<8){this._totalPayloadLength+=this._payloadLength;if(this._totalPayloadLength>this._maxPayload&&this._maxPayload>0){const error=this.createError(RangeError,"Max payload size exceeded",false,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");cb(error);return}}if(this._masked)this._state=GET_MASK;else this._state=GET_DATA}getMask(){if(this._bufferedBytes<4){this._loop=false;return}this._mask=this.consume(4);this._state=GET_DATA}getData(cb){let data=EMPTY_BUFFER;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=false;return}data=this.consume(this._payloadLength);if(this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!==0){unmask(data,this._mask)}}if(this._opcode>7){this.controlMessage(data,cb);return}if(this._compressed){this._state=INFLATING;this.decompress(data,cb);return}if(data.length){this._messageLength=this._totalPayloadLength;this._fragments.push(data)}this.dataMessage(cb)}decompress(data,cb){const perMessageDeflate=this._extensions[PerMessageDeflate.extensionName];perMessageDeflate.decompress(data,this._fin,(err,buf)=>{if(err)return cb(err);if(buf.length){this._messageLength+=buf.length;if(this._messageLength>this._maxPayload&&this._maxPayload>0){const error=this.createError(RangeError,"Max payload size exceeded",false,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");cb(error);return}this._fragments.push(buf)}this.dataMessage(cb);if(this._state===GET_INFO)this.startLoop(cb)})}dataMessage(cb){if(!this._fin){this._state=GET_INFO;return}const messageLength=this._messageLength;const fragments=this._fragments;this._totalPayloadLength=0;this._messageLength=0;this._fragmented=0;this._fragments=[];if(this._opcode===2){let data;if(this._binaryType==="nodebuffer"){data=concat3(fragments,messageLength)}else if(this._binaryType==="arraybuffer"){data=toArrayBuffer(concat3(fragments,messageLength))}else if(this._binaryType==="blob"){data=new Blob(fragments)}else{data=fragments}if(this._allowSynchronousEvents){this.emit("message",data,true);this._state=GET_INFO}else{this._state=DEFER_EVENT;setImmediate(()=>{this.emit("message",data,true);this._state=GET_INFO;this.startLoop(cb)})}}else{const buf=concat3(fragments,messageLength);if(!this._skipUTF8Validation&&!isValidUTF8(buf)){const error=this.createError(Error,"invalid UTF-8 sequence",true,1007,"WS_ERR_INVALID_UTF8");cb(error);return}if(this._state===INFLATING||this._allowSynchronousEvents){this.emit("message",buf,false);this._state=GET_INFO}else{this._state=DEFER_EVENT;setImmediate(()=>{this.emit("message",buf,false);this._state=GET_INFO;this.startLoop(cb)})}}}controlMessage(data,cb){if(this._opcode===8){if(data.length===0){this._loop=false;this.emit("conclude",1005,EMPTY_BUFFER);this.end()}else{const code=data.readUInt16BE(0);if(!isValidStatusCode(code)){const error=this.createError(RangeError,`invalid status code ${code}`,true,1002,"WS_ERR_INVALID_CLOSE_CODE");cb(error);return}const buf=new FastBuffer(data.buffer,data.byteOffset+2,data.length-2);if(!this._skipUTF8Validation&&!isValidUTF8(buf)){const error=this.createError(Error,"invalid UTF-8 sequence",true,1007,"WS_ERR_INVALID_UTF8");cb(error);return}this._loop=false;this.emit("conclude",code,buf);this.end()}this._state=GET_INFO;return}if(this._allowSynchronousEvents){this.emit(this._opcode===9?"ping":"pong",data);this._state=GET_INFO}else{this._state=DEFER_EVENT;setImmediate(()=>{this.emit(this._opcode===9?"ping":"pong",data);this._state=GET_INFO;this.startLoop(cb)})}}createError(ErrorCtor,message3,prefix,statusCode,errorCode){this._loop=false;this._errored=true;const err=new ErrorCtor(prefix?`Invalid WebSocket frame: ${message3}`:message3);Error.captureStackTrace(err,this.createError);err.code=errorCode;err[kStatusCode]=statusCode;return err}};module2.exports=Receiver}});var require_sender=__commonJS({"node_modules/ws/lib/sender.js"(exports2,module2){"use strict";var{Duplex:Duplex2}=require("stream");var{randomFillSync:randomFillSync3}=require("crypto");var PerMessageDeflate=require_permessage_deflate();var{EMPTY_BUFFER,kWebSocket,NOOP}=require_constants6();var{isBlob,isValidStatusCode}=require_validation();var{mask:applyMask,toBuffer}=require_buffer_util();var kByteLength=Symbol("kByteLength");var maskBuffer=Buffer.alloc(4);var RANDOM_POOL_SIZE=8*1024;var randomPool;var randomPoolPointer=RANDOM_POOL_SIZE;var DEFAULT=0;var DEFLATING=1;var GET_BLOB_DATA=2;var Sender=class _Sender{constructor(socket,extensions2,generateMask){this._extensions=extensions2||{};if(generateMask){this._generateMask=generateMask;this._maskBuffer=Buffer.alloc(4)}this._socket=socket;this._firstFragment=true;this._compress=false;this._bufferedBytes=0;this._queue=[];this._state=DEFAULT;this.onerror=NOOP;this[kWebSocket]=void 0}static frame(data,options){let mask;let merge3=false;let offset=2;let skipMasking=false;if(options.mask){mask=options.maskBuffer||maskBuffer;if(options.generateMask){options.generateMask(mask)}else{if(randomPoolPointer===RANDOM_POOL_SIZE){if(randomPool===void 0){randomPool=Buffer.alloc(RANDOM_POOL_SIZE)}randomFillSync3(randomPool,0,RANDOM_POOL_SIZE);randomPoolPointer=0}mask[0]=randomPool[randomPoolPointer++];mask[1]=randomPool[randomPoolPointer++];mask[2]=randomPool[randomPoolPointer++];mask[3]=randomPool[randomPoolPointer++]}skipMasking=(mask[0]|mask[1]|mask[2]|mask[3])===0;offset=6}let dataLength;if(typeof data==="string"){if((!options.mask||skipMasking)&&options[kByteLength]!==void 0){dataLength=options[kByteLength]}else{data=Buffer.from(data);dataLength=data.length}}else{dataLength=data.length;merge3=options.mask&&options.readOnly&&!skipMasking}let payloadLength=dataLength;if(dataLength>=65536){offset+=8;payloadLength=127}else if(dataLength>125){offset+=2;payloadLength=126}const target=Buffer.allocUnsafe(merge3?dataLength+offset:offset);target[0]=options.fin?options.opcode|128:options.opcode;if(options.rsv1)target[0]|=64;target[1]=payloadLength;if(payloadLength===126){target.writeUInt16BE(dataLength,2)}else if(payloadLength===127){target[2]=target[3]=0;target.writeUIntBE(dataLength,4,6)}if(!options.mask)return[target,data];target[1]|=128;target[offset-4]=mask[0];target[offset-3]=mask[1];target[offset-2]=mask[2];target[offset-1]=mask[3];if(skipMasking)return[target,data];if(merge3){applyMask(data,mask,target,offset,dataLength);return[target]}applyMask(data,mask,data,0,dataLength);return[target,data]}close(code,data,mask,cb){let buf;if(code===void 0){buf=EMPTY_BUFFER}else if(typeof code!=="number"||!isValidStatusCode(code)){throw new TypeError("First argument must be a valid error code number")}else if(data===void 0||!data.length){buf=Buffer.allocUnsafe(2);buf.writeUInt16BE(code,0)}else{const length=Buffer.byteLength(data);if(length>123){throw new RangeError("The message must not be greater than 123 bytes")}buf=Buffer.allocUnsafe(2+length);buf.writeUInt16BE(code,0);if(typeof data==="string"){buf.write(data,2)}else{buf.set(data,2)}}const options={[kByteLength]:buf.length,fin:true,generateMask:this._generateMask,mask,maskBuffer:this._maskBuffer,opcode:8,readOnly:false,rsv1:false};if(this._state!==DEFAULT){this.enqueue([this.dispatch,buf,false,options,cb])}else{this.sendFrame(_Sender.frame(buf,options),cb)}}ping(data,mask,cb){let byteLength;let readOnly;if(typeof data==="string"){byteLength=Buffer.byteLength(data);readOnly=false}else if(isBlob(data)){byteLength=data.size;readOnly=false}else{data=toBuffer(data);byteLength=data.length;readOnly=toBuffer.readOnly}if(byteLength>125){throw new RangeError("The data size must not be greater than 125 bytes")}const options={[kByteLength]:byteLength,fin:true,generateMask:this._generateMask,mask,maskBuffer:this._maskBuffer,opcode:9,readOnly,rsv1:false};if(isBlob(data)){if(this._state!==DEFAULT){this.enqueue([this.getBlobData,data,false,options,cb])}else{this.getBlobData(data,false,options,cb)}}else if(this._state!==DEFAULT){this.enqueue([this.dispatch,data,false,options,cb])}else{this.sendFrame(_Sender.frame(data,options),cb)}}pong(data,mask,cb){let byteLength;let readOnly;if(typeof data==="string"){byteLength=Buffer.byteLength(data);readOnly=false}else if(isBlob(data)){byteLength=data.size;readOnly=false}else{data=toBuffer(data);byteLength=data.length;readOnly=toBuffer.readOnly}if(byteLength>125){throw new RangeError("The data size must not be greater than 125 bytes")}const options={[kByteLength]:byteLength,fin:true,generateMask:this._generateMask,mask,maskBuffer:this._maskBuffer,opcode:10,readOnly,rsv1:false};if(isBlob(data)){if(this._state!==DEFAULT){this.enqueue([this.getBlobData,data,false,options,cb])}else{this.getBlobData(data,false,options,cb)}}else if(this._state!==DEFAULT){this.enqueue([this.dispatch,data,false,options,cb])}else{this.sendFrame(_Sender.frame(data,options),cb)}}send(data,options,cb){const perMessageDeflate=this._extensions[PerMessageDeflate.extensionName];let opcode=options.binary?2:1;let rsv1=options.compress;let byteLength;let readOnly;if(typeof data==="string"){byteLength=Buffer.byteLength(data);readOnly=false}else if(isBlob(data)){byteLength=data.size;readOnly=false}else{data=toBuffer(data);byteLength=data.length;readOnly=toBuffer.readOnly}if(this._firstFragment){this._firstFragment=false;if(rsv1&&perMessageDeflate&&perMessageDeflate.params[perMessageDeflate._isServer?"server_no_context_takeover":"client_no_context_takeover"]){rsv1=byteLength>=perMessageDeflate._threshold}this._compress=rsv1}else{rsv1=false;opcode=0}if(options.fin)this._firstFragment=true;const opts={[kByteLength]:byteLength,fin:options.fin,generateMask:this._generateMask,mask:options.mask,maskBuffer:this._maskBuffer,opcode,readOnly,rsv1};if(isBlob(data)){if(this._state!==DEFAULT){this.enqueue([this.getBlobData,data,this._compress,opts,cb])}else{this.getBlobData(data,this._compress,opts,cb)}}else if(this._state!==DEFAULT){this.enqueue([this.dispatch,data,this._compress,opts,cb])}else{this.dispatch(data,this._compress,opts,cb)}}getBlobData(blob,compress,options,cb){this._bufferedBytes+=options[kByteLength];this._state=GET_BLOB_DATA;blob.arrayBuffer().then(arrayBuffer=>{if(this._socket.destroyed){const err=new Error("The socket was closed while the blob was being read");process.nextTick(callCallbacks,this,err,cb);return}this._bufferedBytes-=options[kByteLength];const data=toBuffer(arrayBuffer);if(!compress){this._state=DEFAULT;this.sendFrame(_Sender.frame(data,options),cb);this.dequeue()}else{this.dispatch(data,compress,options,cb)}}).catch(err=>{process.nextTick(onError,this,err,cb)})}dispatch(data,compress,options,cb){if(!compress){this.sendFrame(_Sender.frame(data,options),cb);return}const perMessageDeflate=this._extensions[PerMessageDeflate.extensionName];this._bufferedBytes+=options[kByteLength];this._state=DEFLATING;perMessageDeflate.compress(data,options.fin,(_,buf)=>{if(this._socket.destroyed){const err=new Error("The socket was closed while data was being compressed");callCallbacks(this,err,cb);return}this._bufferedBytes-=options[kByteLength];this._state=DEFAULT;options.readOnly=false;this.sendFrame(_Sender.frame(buf,options),cb);this.dequeue()})}dequeue(){while(this._state===DEFAULT&&this._queue.length){const params=this._queue.shift();this._bufferedBytes-=params[3][kByteLength];Reflect.apply(params[0],this,params.slice(1))}}enqueue(params){this._bufferedBytes+=params[3][kByteLength];this._queue.push(params)}sendFrame(list,cb){if(list.length===2){this._socket.cork();this._socket.write(list[0]);this._socket.write(list[1],cb);this._socket.uncork()}else{this._socket.write(list[0],cb)}}};module2.exports=Sender;function callCallbacks(sender,err,cb){if(typeof cb==="function")cb(err);for(let i=0;i<sender._queue.length;i++){const params=sender._queue[i];const callback=params[params.length-1];if(typeof callback==="function")callback(err)}}function onError(sender,err,cb){callCallbacks(sender,err,cb);sender.onerror(err)}}});var require_event_target=__commonJS({"node_modules/ws/lib/event-target.js"(exports2,module2){"use strict";var{kForOnEventAttribute,kListener}=require_constants6();var kCode=Symbol("kCode");var kData=Symbol("kData");var kError=Symbol("kError");var kMessage=Symbol("kMessage");var kReason=Symbol("kReason");var kTarget=Symbol("kTarget");var kType=Symbol("kType");var kWasClean=Symbol("kWasClean");var Event2=class{constructor(type2){this[kTarget]=null;this[kType]=type2}get target(){return this[kTarget]}get type(){return this[kType]}};Object.defineProperty(Event2.prototype,"target",{enumerable:true});Object.defineProperty(Event2.prototype,"type",{enumerable:true});var CloseEvent=class extends Event2{constructor(type2,options={}){super(type2);this[kCode]=options.code===void 0?0:options.code;this[kReason]=options.reason===void 0?"":options.reason;this[kWasClean]=options.wasClean===void 0?false:options.wasClean}get code(){return this[kCode]}get reason(){return this[kReason]}get wasClean(){return this[kWasClean]}};Object.defineProperty(CloseEvent.prototype,"code",{enumerable:true});Object.defineProperty(CloseEvent.prototype,"reason",{enumerable:true});Object.defineProperty(CloseEvent.prototype,"wasClean",{enumerable:true});var ErrorEvent=class extends Event2{constructor(type2,options={}){super(type2);this[kError]=options.error===void 0?null:options.error;this[kMessage]=options.message===void 0?"":options.message}get error(){return this[kError]}get message(){return this[kMessage]}};Object.defineProperty(ErrorEvent.prototype,"error",{enumerable:true});Object.defineProperty(ErrorEvent.prototype,"message",{enumerable:true});var MessageEvent=class extends Event2{constructor(type2,options={}){super(type2);this[kData]=options.data===void 0?null:options.data}get data(){return this[kData]}};Object.defineProperty(MessageEvent.prototype,"data",{enumerable:true});var EventTarget2={addEventListener(type2,handler,options={}){for(const listener of this.listeners(type2)){if(!options[kForOnEventAttribute]&&listener[kListener]===handler&&!listener[kForOnEventAttribute]){return}}let wrapper;if(type2==="message"){wrapper=function onMessage(data,isBinary2){const event=new MessageEvent("message",{data:isBinary2?data:data.toString()});event[kTarget]=this;callListener(handler,this,event)}}else if(type2==="close"){wrapper=function onClose(code,message3){const event=new CloseEvent("close",{code,reason:message3.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});event[kTarget]=this;callListener(handler,this,event)}}else if(type2==="error"){wrapper=function onError(error){const event=new ErrorEvent("error",{error,message:error.message});event[kTarget]=this;callListener(handler,this,event)}}else if(type2==="open"){wrapper=function onOpen(){const event=new Event2("open");event[kTarget]=this;callListener(handler,this,event)}}else{return}wrapper[kForOnEventAttribute]=!!options[kForOnEventAttribute];wrapper[kListener]=handler;if(options.once){this.once(type2,wrapper)}else{this.on(type2,wrapper)}},removeEventListener(type2,handler){for(const listener of this.listeners(type2)){if(listener[kListener]===handler&&!listener[kForOnEventAttribute]){this.removeListener(type2,listener);break}}}};module2.exports={CloseEvent,ErrorEvent,Event:Event2,EventTarget:EventTarget2,MessageEvent};function callListener(listener,thisArg,event){if(typeof listener==="object"&&listener.handleEvent){listener.handleEvent.call(listener,event)}else{listener.call(thisArg,event)}}}});var require_extension=__commonJS({"node_modules/ws/lib/extension.js"(exports2,module2){"use strict";var{tokenChars}=require_validation();function push(dest,name,elem){if(dest[name]===void 0)dest[name]=[elem];else dest[name].push(elem)}function parse3(header2){const offers=Object.create(null);let params=Object.create(null);let mustUnescape=false;let isEscaping=false;let inQuotes=false;let extensionName;let paramName;let start=-1;let code=-1;let end=-1;let i=0;for(;i<header2.length;i++){code=header2.charCodeAt(i);if(extensionName===void 0){if(end===-1&&tokenChars[code]===1){if(start===-1)start=i}else if(i!==0&&(code===32||code===9)){if(end===-1&&start!==-1)end=i}else if(code===59||code===44){if(start===-1){throw new SyntaxError(`Unexpected character at index ${i}`)}if(end===-1)end=i;const name=header2.slice(start,end);if(code===44){push(offers,name,params);params=Object.create(null)}else{extensionName=name}start=end=-1}else{throw new SyntaxError(`Unexpected character at index ${i}`)}}else if(paramName===void 0){if(end===-1&&tokenChars[code]===1){if(start===-1)start=i}else if(code===32||code===9){if(end===-1&&start!==-1)end=i}else if(code===59||code===44){if(start===-1){throw new SyntaxError(`Unexpected character at index ${i}`)}if(end===-1)end=i;push(params,header2.slice(start,end),true);if(code===44){push(offers,extensionName,params);params=Object.create(null);extensionName=void 0}start=end=-1}else if(code===61&&start!==-1&&end===-1){paramName=header2.slice(start,i);start=end=-1}else{throw new SyntaxError(`Unexpected character at index ${i}`)}}else{if(isEscaping){if(tokenChars[code]!==1){throw new SyntaxError(`Unexpected character at index ${i}`)}if(start===-1)start=i;else if(!mustUnescape)mustUnescape=true;isEscaping=false}else if(inQuotes){if(tokenChars[code]===1){if(start===-1)start=i}else if(code===34&&start!==-1){inQuotes=false;end=i}else if(code===92){isEscaping=true}else{throw new SyntaxError(`Unexpected character at index ${i}`)}}else if(code===34&&header2.charCodeAt(i-1)===61){inQuotes=true}else if(end===-1&&tokenChars[code]===1){if(start===-1)start=i}else if(start!==-1&&(code===32||code===9)){if(end===-1)end=i}else if(code===59||code===44){if(start===-1){throw new SyntaxError(`Unexpected character at index ${i}`)}if(end===-1)end=i;let value=header2.slice(start,end);if(mustUnescape){value=value.replace(/\\/g,"");mustUnescape=false}push(params,paramName,value);if(code===44){push(offers,extensionName,params);params=Object.create(null);extensionName=void 0}paramName=void 0;start=end=-1}else{throw new SyntaxError(`Unexpected character at index ${i}`)}}}if(start===-1||inQuotes||code===32||code===9){throw new SyntaxError("Unexpected end of input")}if(end===-1)end=i;const token3=header2.slice(start,end);if(extensionName===void 0){push(offers,token3,params)}else{if(paramName===void 0){push(params,token3,true)}else if(mustUnescape){push(params,paramName,token3.replace(/\\/g,""))}else{push(params,paramName,token3)}push(offers,extensionName,params)}return offers}function format2(extensions2){return Object.keys(extensions2).map(extension=>{let configurations=extensions2[extension];if(!Array.isArray(configurations))configurations=[configurations];return configurations.map(params=>{return[extension].concat(Object.keys(params).map(k=>{let values2=params[k];if(!Array.isArray(values2))values2=[values2];return values2.map(v=>v===true?k:`${k}=${v}`).join("; ")})).join("; ")}).join(", ")}).join(", ")}module2.exports={format:format2,parse:parse3}}});var require_websocket2=__commonJS({"node_modules/ws/lib/websocket.js"(exports2,module2){"use strict";var EventEmitter3=require("events");var https2=require("https");var http3=require("http");var net2=require("net");var tls=require("tls");var{randomBytes,createHash:createHash4}=require("crypto");var{Duplex:Duplex2,Readable:Readable2}=require("stream");var{URL:URL3}=require("url");var PerMessageDeflate=require_permessage_deflate();var Receiver=require_receiver2();var Sender=require_sender();var{isBlob}=require_validation();var{BINARY_TYPES,EMPTY_BUFFER,GUID,kForOnEventAttribute,kListener,kStatusCode,kWebSocket,NOOP}=require_constants6();var{EventTarget:{addEventListener,removeEventListener}}=require_event_target();var{format:format2,parse:parse3}=require_extension();var{toBuffer}=require_buffer_util();var closeTimeout=30*1e3;var kAborted=Symbol("kAborted");var protocolVersions=[8,13];var readyStates=["CONNECTING","OPEN","CLOSING","CLOSED"];var subprotocolRegex=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/;var WebSocket2=class _WebSocket extends EventEmitter3{constructor(address,protocols,options){super();this._binaryType=BINARY_TYPES[0];this._closeCode=1006;this._closeFrameReceived=false;this._closeFrameSent=false;this._closeMessage=EMPTY_BUFFER;this._closeTimer=null;this._errorEmitted=false;this._extensions={};this._paused=false;this._protocol="";this._readyState=_WebSocket.CONNECTING;this._receiver=null;this._sender=null;this._socket=null;if(address!==null){this._bufferedAmount=0;this._isServer=false;this._redirects=0;if(protocols===void 0){protocols=[]}else if(!Array.isArray(protocols)){if(typeof protocols==="object"&&protocols!==null){options=protocols;protocols=[]}else{protocols=[protocols]}}initAsClient(this,address,protocols,options)}else{this._autoPong=options.autoPong;this._isServer=true}}get binaryType(){return this._binaryType}set binaryType(type2){if(!BINARY_TYPES.includes(type2))return;this._binaryType=type2;if(this._receiver)this._receiver._binaryType=type2}get bufferedAmount(){if(!this._socket)return this._bufferedAmount;return this._socket._writableState.length+this._sender._bufferedBytes}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(socket,head2,options){const receiver=new Receiver({allowSynchronousEvents:options.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:options.maxPayload,skipUTF8Validation:options.skipUTF8Validation});const sender=new Sender(socket,this._extensions,options.generateMask);this._receiver=receiver;this._sender=sender;this._socket=socket;receiver[kWebSocket]=this;sender[kWebSocket]=this;socket[kWebSocket]=this;receiver.on("conclude",receiverOnConclude);receiver.on("drain",receiverOnDrain);receiver.on("error",receiverOnError);receiver.on("message",receiverOnMessage);receiver.on("ping",receiverOnPing);receiver.on("pong",receiverOnPong);sender.onerror=senderOnError;if(socket.setTimeout)socket.setTimeout(0);if(socket.setNoDelay)socket.setNoDelay();if(head2.length>0)socket.unshift(head2);socket.on("close",socketOnClose);socket.on("data",socketOnData);socket.on("end",socketOnEnd);socket.on("error",socketOnError);this._readyState=_WebSocket.OPEN;this.emit("open")}emitClose(){if(!this._socket){this._readyState=_WebSocket.CLOSED;this.emit("close",this._closeCode,this._closeMessage);return}if(this._extensions[PerMessageDeflate.extensionName]){this._extensions[PerMessageDeflate.extensionName].cleanup()}this._receiver.removeAllListeners();this._readyState=_WebSocket.CLOSED;this.emit("close",this._closeCode,this._closeMessage)}close(code,data){if(this.readyState===_WebSocket.CLOSED)return;if(this.readyState===_WebSocket.CONNECTING){const msg="WebSocket was closed before the connection was established";abortHandshake(this,this._req,msg);return}if(this.readyState===_WebSocket.CLOSING){if(this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)){this._socket.end()}return}this._readyState=_WebSocket.CLOSING;this._sender.close(code,data,!this._isServer,err=>{if(err)return;this._closeFrameSent=true;if(this._closeFrameReceived||this._receiver._writableState.errorEmitted){this._socket.end()}});setCloseTimer(this)}pause(){if(this.readyState===_WebSocket.CONNECTING||this.readyState===_WebSocket.CLOSED){return}this._paused=true;this._socket.pause()}ping(data,mask,cb){if(this.readyState===_WebSocket.CONNECTING){throw new Error("WebSocket is not open: readyState 0 (CONNECTING)")}if(typeof data==="function"){cb=data;data=mask=void 0}else if(typeof mask==="function"){cb=mask;mask=void 0}if(typeof data==="number")data=data.toString();if(this.readyState!==_WebSocket.OPEN){sendAfterClose(this,data,cb);return}if(mask===void 0)mask=!this._isServer;this._sender.ping(data||EMPTY_BUFFER,mask,cb)}pong(data,mask,cb){if(this.readyState===_WebSocket.CONNECTING){throw new Error("WebSocket is not open: readyState 0 (CONNECTING)")}if(typeof data==="function"){cb=data;data=mask=void 0}else if(typeof mask==="function"){cb=mask;mask=void 0}if(typeof data==="number")data=data.toString();if(this.readyState!==_WebSocket.OPEN){sendAfterClose(this,data,cb);return}if(mask===void 0)mask=!this._isServer;this._sender.pong(data||EMPTY_BUFFER,mask,cb)}resume(){if(this.readyState===_WebSocket.CONNECTING||this.readyState===_WebSocket.CLOSED){return}this._paused=false;if(!this._receiver._writableState.needDrain)this._socket.resume()}send(data,options,cb){if(this.readyState===_WebSocket.CONNECTING){throw new Error("WebSocket is not open: readyState 0 (CONNECTING)")}if(typeof options==="function"){cb=options;options={}}if(typeof data==="number")data=data.toString();if(this.readyState!==_WebSocket.OPEN){sendAfterClose(this,data,cb);return}const opts={binary:typeof data!=="string",mask:!this._isServer,compress:true,fin:true,...options};if(!this._extensions[PerMessageDeflate.extensionName]){opts.compress=false}this._sender.send(data||EMPTY_BUFFER,opts,cb)}terminate(){if(this.readyState===_WebSocket.CLOSED)return;if(this.readyState===_WebSocket.CONNECTING){const msg="WebSocket was closed before the connection was established";abortHandshake(this,this._req,msg);return}if(this._socket){this._readyState=_WebSocket.CLOSING;this._socket.destroy()}}};Object.defineProperty(WebSocket2,"CONNECTING",{enumerable:true,value:readyStates.indexOf("CONNECTING")});Object.defineProperty(WebSocket2.prototype,"CONNECTING",{enumerable:true,value:readyStates.indexOf("CONNECTING")});Object.defineProperty(WebSocket2,"OPEN",{enumerable:true,value:readyStates.indexOf("OPEN")});Object.defineProperty(WebSocket2.prototype,"OPEN",{enumerable:true,value:readyStates.indexOf("OPEN")});Object.defineProperty(WebSocket2,"CLOSING",{enumerable:true,value:readyStates.indexOf("CLOSING")});Object.defineProperty(WebSocket2.prototype,"CLOSING",{enumerable:true,value:readyStates.indexOf("CLOSING")});Object.defineProperty(WebSocket2,"CLOSED",{enumerable:true,value:readyStates.indexOf("CLOSED")});Object.defineProperty(WebSocket2.prototype,"CLOSED",{enumerable:true,value:readyStates.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(property2=>{Object.defineProperty(WebSocket2.prototype,property2,{enumerable:true})});["open","error","close","message"].forEach(method2=>{Object.defineProperty(WebSocket2.prototype,`on${method2}`,{enumerable:true,get(){for(const listener of this.listeners(method2)){if(listener[kForOnEventAttribute])return listener[kListener]}return null},set(handler){for(const listener of this.listeners(method2)){if(listener[kForOnEventAttribute]){this.removeListener(method2,listener);break}}if(typeof handler!=="function")return;this.addEventListener(method2,handler,{[kForOnEventAttribute]:true})}})});WebSocket2.prototype.addEventListener=addEventListener;WebSocket2.prototype.removeEventListener=removeEventListener;module2.exports=WebSocket2;function initAsClient(websocket,address,protocols,options){const opts={allowSynchronousEvents:true,autoPong:true,protocolVersion:protocolVersions[1],maxPayload:100*1024*1024,skipUTF8Validation:false,perMessageDeflate:true,followRedirects:false,maxRedirects:10,...options,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};websocket._autoPong=opts.autoPong;if(!protocolVersions.includes(opts.protocolVersion)){throw new RangeError(`Unsupported protocol version: ${opts.protocolVersion} (supported versions: ${protocolVersions.join(", ")})`)}let parsedUrl;if(address instanceof URL3){parsedUrl=address}else{try{parsedUrl=new URL3(address)}catch(e){throw new SyntaxError(`Invalid URL: ${address}`)}}if(parsedUrl.protocol==="http:"){parsedUrl.protocol="ws:"}else if(parsedUrl.protocol==="https:"){parsedUrl.protocol="wss:"}websocket._url=parsedUrl.href;const isSecure=parsedUrl.protocol==="wss:";const isIpcUrl=parsedUrl.protocol==="ws+unix:";let invalidUrlMessage2;if(parsedUrl.protocol!=="ws:"&&!isSecure&&!isIpcUrl){invalidUrlMessage2=`The URL's protocol must be one of "ws:", "wss:", "http:", "https", or "ws+unix:"`}else if(isIpcUrl&&!parsedUrl.pathname){invalidUrlMessage2="The URL's pathname is empty"}else if(parsedUrl.hash){invalidUrlMessage2="The URL contains a fragment identifier"}if(invalidUrlMessage2){const err=new SyntaxError(invalidUrlMessage2);if(websocket._redirects===0){throw err}else{emitErrorAndClose(websocket,err);return}}const defaultPort=isSecure?443:80;const key=randomBytes(16).toString("base64");const request=isSecure?https2.request:http3.request;const protocolSet=new Set;let perMessageDeflate;opts.createConnection=opts.createConnection||(isSecure?tlsConnect:netConnect);opts.defaultPort=opts.defaultPort||defaultPort;opts.port=parsedUrl.port||defaultPort;opts.host=parsedUrl.hostname.startsWith("[")?parsedUrl.hostname.slice(1,-1):parsedUrl.hostname;opts.headers={...opts.headers,"Sec-WebSocket-Version":opts.protocolVersion,"Sec-WebSocket-Key":key,Connection:"Upgrade",Upgrade:"websocket"};opts.path=parsedUrl.pathname+parsedUrl.search;opts.timeout=opts.handshakeTimeout;if(opts.perMessageDeflate){perMessageDeflate=new PerMessageDeflate(opts.perMessageDeflate!==true?opts.perMessageDeflate:{},false,opts.maxPayload);opts.headers["Sec-WebSocket-Extensions"]=format2({[PerMessageDeflate.extensionName]:perMessageDeflate.offer()})}if(protocols.length){for(const protocol of protocols){if(typeof protocol!=="string"||!subprotocolRegex.test(protocol)||protocolSet.has(protocol)){throw new SyntaxError("An invalid or duplicated subprotocol was specified")}protocolSet.add(protocol)}opts.headers["Sec-WebSocket-Protocol"]=protocols.join(",")}if(opts.origin){if(opts.protocolVersion<13){opts.headers["Sec-WebSocket-Origin"]=opts.origin}else{opts.headers.Origin=opts.origin}}if(parsedUrl.username||parsedUrl.password){opts.auth=`${parsedUrl.username}:${parsedUrl.password}`}if(isIpcUrl){const parts=opts.path.split(":");opts.socketPath=parts[0];opts.path=parts[1]}let req;if(opts.followRedirects){if(websocket._redirects===0){websocket._originalIpc=isIpcUrl;websocket._originalSecure=isSecure;websocket._originalHostOrSocketPath=isIpcUrl?opts.socketPath:parsedUrl.host;const headers=options&&options.headers;options={...options,headers:{}};if(headers){for(const[key2,value]of Object.entries(headers)){options.headers[key2.toLowerCase()]=value}}}else if(websocket.listenerCount("redirect")===0){const isSameHost=isIpcUrl?websocket._originalIpc?opts.socketPath===websocket._originalHostOrSocketPath:false:websocket._originalIpc?false:parsedUrl.host===websocket._originalHostOrSocketPath;if(!isSameHost||websocket._originalSecure&&!isSecure){delete opts.headers.authorization;delete opts.headers.cookie;if(!isSameHost)delete opts.headers.host;opts.auth=void 0}}if(opts.auth&&!options.headers.authorization){options.headers.authorization="Basic "+Buffer.from(opts.auth).toString("base64")}req=websocket._req=request(opts);if(websocket._redirects){websocket.emit("redirect",websocket.url,req)}}else{req=websocket._req=request(opts)}if(opts.timeout){req.on("timeout",()=>{abortHandshake(websocket,req,"Opening handshake has timed out")})}req.on("error",err=>{if(req===null||req[kAborted])return;req=websocket._req=null;emitErrorAndClose(websocket,err)});req.on("response",res=>{const location=res.headers.location;const statusCode=res.statusCode;if(location&&opts.followRedirects&&statusCode>=300&&statusCode<400){if(++websocket._redirects>opts.maxRedirects){abortHandshake(websocket,req,"Maximum redirects exceeded");return}req.abort();let addr;try{addr=new URL3(location,address)}catch(e){const err=new SyntaxError(`Invalid URL: ${location}`);emitErrorAndClose(websocket,err);return}initAsClient(websocket,addr,protocols,options)}else if(!websocket.emit("unexpected-response",req,res)){abortHandshake(websocket,req,`Unexpected server response: ${res.statusCode}`)}});req.on("upgrade",(res,socket,head2)=>{websocket.emit("upgrade",res);if(websocket.readyState!==WebSocket2.CONNECTING)return;req=websocket._req=null;const upgrade=res.headers.upgrade;if(upgrade===void 0||upgrade.toLowerCase()!=="websocket"){abortHandshake(websocket,socket,"Invalid Upgrade header");return}const digest2=createHash4("sha1").update(key+GUID).digest("base64");if(res.headers["sec-websocket-accept"]!==digest2){abortHandshake(websocket,socket,"Invalid Sec-WebSocket-Accept header");return}const serverProt=res.headers["sec-websocket-protocol"];let protError;if(serverProt!==void 0){if(!protocolSet.size){protError="Server sent a subprotocol but none was requested"}else if(!protocolSet.has(serverProt)){protError="Server sent an invalid subprotocol"}}else if(protocolSet.size){protError="Server sent no subprotocol"}if(protError){abortHandshake(websocket,socket,protError);return}if(serverProt)websocket._protocol=serverProt;const secWebSocketExtensions=res.headers["sec-websocket-extensions"];if(secWebSocketExtensions!==void 0){if(!perMessageDeflate){const message3="Server sent a Sec-WebSocket-Extensions header but no extension was requested";abortHandshake(websocket,socket,message3);return}let extensions2;try{extensions2=parse3(secWebSocketExtensions)}catch(err){const message3="Invalid Sec-WebSocket-Extensions header";abortHandshake(websocket,socket,message3);return}const extensionNames=Object.keys(extensions2);if(extensionNames.length!==1||extensionNames[0]!==PerMessageDeflate.extensionName){const message3="Server indicated an extension that was not requested";abortHandshake(websocket,socket,message3);return}try{perMessageDeflate.accept(extensions2[PerMessageDeflate.extensionName])}catch(err){const message3="Invalid Sec-WebSocket-Extensions header";abortHandshake(websocket,socket,message3);return}websocket._extensions[PerMessageDeflate.extensionName]=perMessageDeflate}websocket.setSocket(socket,head2,{allowSynchronousEvents:opts.allowSynchronousEvents,generateMask:opts.generateMask,maxPayload:opts.maxPayload,skipUTF8Validation:opts.skipUTF8Validation})});if(opts.finishRequest){opts.finishRequest(req,websocket)}else{req.end()}}function emitErrorAndClose(websocket,err){websocket._readyState=WebSocket2.CLOSING;websocket._errorEmitted=true;websocket.emit("error",err);websocket.emitClose()}function netConnect(options){options.path=options.socketPath;return net2.connect(options)}function tlsConnect(options){options.path=void 0;if(!options.servername&&options.servername!==""){options.servername=net2.isIP(options.host)?"":options.host}return tls.connect(options)}function abortHandshake(websocket,stream3,message3){websocket._readyState=WebSocket2.CLOSING;const err=new Error(message3);Error.captureStackTrace(err,abortHandshake);if(stream3.setHeader){stream3[kAborted]=true;stream3.abort();if(stream3.socket&&!stream3.socket.destroyed){stream3.socket.destroy()}process.nextTick(emitErrorAndClose,websocket,err)}else{stream3.destroy(err);stream3.once("error",websocket.emit.bind(websocket,"error"));stream3.once("close",websocket.emitClose.bind(websocket))}}function sendAfterClose(websocket,data,cb){if(data){const length=isBlob(data)?data.size:toBuffer(data).length;if(websocket._socket)websocket._sender._bufferedBytes+=length;else websocket._bufferedAmount+=length}if(cb){const err=new Error(`WebSocket is not open: readyState ${websocket.readyState} (${readyStates[websocket.readyState]})`);process.nextTick(cb,err)}}function receiverOnConclude(code,reason){const websocket=this[kWebSocket];websocket._closeFrameReceived=true;websocket._closeMessage=reason;websocket._closeCode=code;if(websocket._socket[kWebSocket]===void 0)return;websocket._socket.removeListener("data",socketOnData);process.nextTick(resume,websocket._socket);if(code===1005)websocket.close();else websocket.close(code,reason)}function receiverOnDrain(){const websocket=this[kWebSocket];if(!websocket.isPaused)websocket._socket.resume()}function receiverOnError(err){const websocket=this[kWebSocket];if(websocket._socket[kWebSocket]!==void 0){websocket._socket.removeListener("data",socketOnData);process.nextTick(resume,websocket._socket);websocket.close(err[kStatusCode])}if(!websocket._errorEmitted){websocket._errorEmitted=true;websocket.emit("error",err)}}function receiverOnFinish(){this[kWebSocket].emitClose()}function receiverOnMessage(data,isBinary2){this[kWebSocket].emit("message",data,isBinary2)}function receiverOnPing(data){const websocket=this[kWebSocket];if(websocket._autoPong)websocket.pong(data,!this._isServer,NOOP);websocket.emit("ping",data)}function receiverOnPong(data){this[kWebSocket].emit("pong",data)}function resume(stream3){stream3.resume()}function senderOnError(err){const websocket=this[kWebSocket];if(websocket.readyState===WebSocket2.CLOSED)return;if(websocket.readyState===WebSocket2.OPEN){websocket._readyState=WebSocket2.CLOSING;setCloseTimer(websocket)}this._socket.end();if(!websocket._errorEmitted){websocket._errorEmitted=true;websocket.emit("error",err)}}function setCloseTimer(websocket){websocket._closeTimer=setTimeout(websocket._socket.destroy.bind(websocket._socket),closeTimeout)}function socketOnClose(){const websocket=this[kWebSocket];this.removeListener("close",socketOnClose);this.removeListener("data",socketOnData);this.removeListener("end",socketOnEnd);websocket._readyState=WebSocket2.CLOSING;let chunk2;if(!this._readableState.endEmitted&&!websocket._closeFrameReceived&&!websocket._receiver._writableState.errorEmitted&&(chunk2=websocket._socket.read())!==null){websocket._receiver.write(chunk2)}websocket._receiver.end();this[kWebSocket]=void 0;clearTimeout(websocket._closeTimer);if(websocket._receiver._writableState.finished||websocket._receiver._writableState.errorEmitted){websocket.emitClose()}else{websocket._receiver.on("error",receiverOnFinish);websocket._receiver.on("finish",receiverOnFinish)}}function socketOnData(chunk2){if(!this[kWebSocket]._receiver.write(chunk2)){this.pause()}}function socketOnEnd(){const websocket=this[kWebSocket];websocket._readyState=WebSocket2.CLOSING;websocket._receiver.end();this.end()}function socketOnError(){const websocket=this[kWebSocket];this.removeListener("error",socketOnError);this.on("error",NOOP);if(websocket){websocket._readyState=WebSocket2.CLOSING;this.destroy()}}}});var require_stream2=__commonJS({"node_modules/ws/lib/stream.js"(exports2,module2){"use strict";var{Duplex:Duplex2}=require("stream");function emitClose(stream3){stream3.emit("close")}function duplexOnEnd(){if(!this.destroyed&&this._writableState.finished){this.destroy()}}function duplexOnError(err){this.removeListener("error",duplexOnError);this.destroy();if(this.listenerCount("error")===0){this.emit("error",err)}}function createWebSocketStream(ws,options){let terminateOnDestroy=true;const duplex=new Duplex2({...options,autoDestroy:false,emitClose:false,objectMode:false,writableObjectMode:false});ws.on("message",function message3(msg,isBinary2){const data=!isBinary2&&duplex._readableState.objectMode?msg.toString():msg;if(!duplex.push(data))ws.pause()});ws.once("error",function error(err){if(duplex.destroyed)return;terminateOnDestroy=false;duplex.destroy(err)});ws.once("close",function close(){if(duplex.destroyed)return;duplex.push(null)});duplex._destroy=function(err,callback){if(ws.readyState===ws.CLOSED){callback(err);process.nextTick(emitClose,duplex);return}let called=false;ws.once("error",function error(err2){called=true;callback(err2)});ws.once("close",function close(){if(!called)callback(err);process.nextTick(emitClose,duplex)});if(terminateOnDestroy)ws.terminate()};duplex._final=function(callback){if(ws.readyState===ws.CONNECTING){ws.once("open",function open4(){duplex._final(callback)});return}if(ws._socket===null)return;if(ws._socket._writableState.finished){callback();if(duplex._readableState.endEmitted)duplex.destroy()}else{ws._socket.once("finish",function finish(){callback()});ws.close()}};duplex._read=function(){if(ws.isPaused)ws.resume()};duplex._write=function(chunk2,encoding,callback){if(ws.readyState===ws.CONNECTING){ws.once("open",function open4(){duplex._write(chunk2,encoding,callback)});return}ws.send(chunk2,callback)};duplex.on("end",duplexOnEnd);duplex.on("error",duplexOnError);return duplex}module2.exports=createWebSocketStream}});var require_subprotocol=__commonJS({"node_modules/ws/lib/subprotocol.js"(exports2,module2){"use strict";var{tokenChars}=require_validation();function parse3(header2){const protocols=new Set;let start=-1;let end=-1;let i=0;for(i;i<header2.length;i++){const code=header2.charCodeAt(i);if(end===-1&&tokenChars[code]===1){if(start===-1)start=i}else if(i!==0&&(code===32||code===9)){if(end===-1&&start!==-1)end=i}else if(code===44){if(start===-1){throw new SyntaxError(`Unexpected character at index ${i}`)}if(end===-1)end=i;const protocol2=header2.slice(start,end);if(protocols.has(protocol2)){throw new SyntaxError(`The "${protocol2}" subprotocol is duplicated`)}protocols.add(protocol2);start=end=-1}else{throw new SyntaxError(`Unexpected character at index ${i}`)}}if(start===-1||end!==-1){throw new SyntaxError("Unexpected end of input")}const protocol=header2.slice(start,i);if(protocols.has(protocol)){throw new SyntaxError(`The "${protocol}" subprotocol is duplicated`)}protocols.add(protocol);return protocols}module2.exports={parse:parse3}}});var require_websocket_server=__commonJS({"node_modules/ws/lib/websocket-server.js"(exports2,module2){"use strict";var EventEmitter3=require("events");var http3=require("http");var{Duplex:Duplex2}=require("stream");var{createHash:createHash4}=require("crypto");var extension=require_extension();var PerMessageDeflate=require_permessage_deflate();var subprotocol=require_subprotocol();var WebSocket2=require_websocket2();var{GUID,kWebSocket}=require_constants6();var keyRegex=/^[+/0-9A-Za-z]{22}==$/;var RUNNING=0;var CLOSING=1;var CLOSED=2;var WebSocketServer=class extends EventEmitter3{constructor(options,callback){super();options={allowSynchronousEvents:true,autoPong:true,maxPayload:100*1024*1024,skipUTF8Validation:false,perMessageDeflate:false,handleProtocols:null,clientTracking:true,verifyClient:null,noServer:false,backlog:null,server:null,host:null,path:null,port:null,WebSocket:WebSocket2,...options};if(options.port==null&&!options.server&&!options.noServer||options.port!=null&&(options.server||options.noServer)||options.server&&options.noServer){throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified')}if(options.port!=null){this._server=http3.createServer((req,res)=>{const body=http3.STATUS_CODES[426];res.writeHead(426,{"Content-Length":body.length,"Content-Type":"text/plain"});res.end(body)});this._server.listen(options.port,options.host,options.backlog,callback)}else if(options.server){this._server=options.server}if(this._server){const emitConnection=this.emit.bind(this,"connection");this._removeListeners=addListeners(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(req,socket,head2)=>{this.handleUpgrade(req,socket,head2,emitConnection)}})}if(options.perMessageDeflate===true)options.perMessageDeflate={};if(options.clientTracking){this.clients=new Set;this._shouldEmitClose=false}this.options=options;this._state=RUNNING}address(){if(this.options.noServer){throw new Error('The server is operating in "noServer" mode')}if(!this._server)return null;return this._server.address()}close(cb){if(this._state===CLOSED){if(cb){this.once("close",()=>{cb(new Error("The server is not running"))})}process.nextTick(emitClose,this);return}if(cb)this.once("close",cb);if(this._state===CLOSING)return;this._state=CLOSING;if(this.options.noServer||this.options.server){if(this._server){this._removeListeners();this._removeListeners=this._server=null}if(this.clients){if(!this.clients.size){process.nextTick(emitClose,this)}else{this._shouldEmitClose=true}}else{process.nextTick(emitClose,this)}}else{const server=this._server;this._removeListeners();this._removeListeners=this._server=null;server.close(()=>{emitClose(this)})}}shouldHandle(req){if(this.options.path){const index=req.url.indexOf("?");const pathname=index!==-1?req.url.slice(0,index):req.url;if(pathname!==this.options.path)return false}return true}handleUpgrade(req,socket,head2,cb){socket.on("error",socketOnError);const key=req.headers["sec-websocket-key"];const upgrade=req.headers.upgrade;const version=+req.headers["sec-websocket-version"];if(req.method!=="GET"){const message3="Invalid HTTP method";abortHandshakeOrEmitwsClientError(this,req,socket,405,message3);return}if(upgrade===void 0||upgrade.toLowerCase()!=="websocket"){const message3="Invalid Upgrade header";abortHandshakeOrEmitwsClientError(this,req,socket,400,message3);return}if(key===void 0||!keyRegex.test(key)){const message3="Missing or invalid Sec-WebSocket-Key header";abortHandshakeOrEmitwsClientError(this,req,socket,400,message3);return}if(version!==8&&version!==13){const message3="Missing or invalid Sec-WebSocket-Version header";abortHandshakeOrEmitwsClientError(this,req,socket,400,message3);return}if(!this.shouldHandle(req)){abortHandshake(socket,400);return}const secWebSocketProtocol=req.headers["sec-websocket-protocol"];let protocols=new Set;if(secWebSocketProtocol!==void 0){try{protocols=subprotocol.parse(secWebSocketProtocol)}catch(err){const message3="Invalid Sec-WebSocket-Protocol header";abortHandshakeOrEmitwsClientError(this,req,socket,400,message3);return}}const secWebSocketExtensions=req.headers["sec-websocket-extensions"];const extensions2={};if(this.options.perMessageDeflate&&secWebSocketExtensions!==void 0){const perMessageDeflate=new PerMessageDeflate(this.options.perMessageDeflate,true,this.options.maxPayload);try{const offers=extension.parse(secWebSocketExtensions);if(offers[PerMessageDeflate.extensionName]){perMessageDeflate.accept(offers[PerMessageDeflate.extensionName]);extensions2[PerMessageDeflate.extensionName]=perMessageDeflate}}catch(err){const message3="Invalid or unacceptable Sec-WebSocket-Extensions header";abortHandshakeOrEmitwsClientError(this,req,socket,400,message3);return}}if(this.options.verifyClient){const info={origin:req.headers[`${version===8?"sec-websocket-origin":"origin"}`],secure:!!(req.socket.authorized||req.socket.encrypted),req};if(this.options.verifyClient.length===2){this.options.verifyClient(info,(verified,code,message3,headers)=>{if(!verified){return abortHandshake(socket,code||401,message3,headers)}this.completeUpgrade(extensions2,key,protocols,req,socket,head2,cb)});return}if(!this.options.verifyClient(info))return abortHandshake(socket,401)}this.completeUpgrade(extensions2,key,protocols,req,socket,head2,cb)}completeUpgrade(extensions2,key,protocols,req,socket,head2,cb){if(!socket.readable||!socket.writable)return socket.destroy();if(socket[kWebSocket]){throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration")}if(this._state>RUNNING)return abortHandshake(socket,503);const digest2=createHash4("sha1").update(key+GUID).digest("base64");const headers=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${digest2}`];const ws=new this.options.WebSocket(null,void 0,this.options);if(protocols.size){const protocol=this.options.handleProtocols?this.options.handleProtocols(protocols,req):protocols.values().next().value;if(protocol){headers.push(`Sec-WebSocket-Protocol: ${protocol}`);ws._protocol=protocol}}if(extensions2[PerMessageDeflate.extensionName]){const params=extensions2[PerMessageDeflate.extensionName].params;const value=extension.format({[PerMessageDeflate.extensionName]:[params]});headers.push(`Sec-WebSocket-Extensions: ${value}`);ws._extensions=extensions2}this.emit("headers",headers,req);socket.write(headers.concat("\r\n").join("\r\n"));socket.removeListener("error",socketOnError);ws.setSocket(socket,head2,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation});if(this.clients){this.clients.add(ws);ws.on("close",()=>{this.clients.delete(ws);if(this._shouldEmitClose&&!this.clients.size){process.nextTick(emitClose,this)}})}cb(ws,req)}};module2.exports=WebSocketServer;function addListeners(server,map3){for(const event of Object.keys(map3))server.on(event,map3[event]);return function removeListeners(){for(const event of Object.keys(map3)){server.removeListener(event,map3[event])}}}function emitClose(server){server._state=CLOSED;server.emit("close")}function socketOnError(){this.destroy()}function abortHandshake(socket,code,message3,headers){message3=message3||http3.STATUS_CODES[code];headers={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(message3),...headers};socket.once("finish",socket.destroy);socket.end(`HTTP/1.1 ${code} ${http3.STATUS_CODES[code]}\r
`+Object.keys(headers).map(h=>`${h}: ${headers[h]}`).join("\r\n")+"\r\n\r\n"+message3)}function abortHandshakeOrEmitwsClientError(server,req,socket,code,message3){if(server.listenerCount("wsClientError")){const err=new Error(message3);Error.captureStackTrace(err,abortHandshakeOrEmitwsClientError);server.emit("wsClientError",err,socket,req)}else{abortHandshake(socket,code,message3)}}}});var require_ws=__commonJS({"node_modules/ws/index.js"(exports2,module2){"use strict";var WebSocket2=require_websocket2();WebSocket2.createWebSocketStream=require_stream2();WebSocket2.Server=require_websocket_server();WebSocket2.Receiver=require_receiver2();WebSocket2.Sender=require_sender();WebSocket2.WebSocket=WebSocket2;WebSocket2.WebSocketServer=WebSocket2.Server;module2.exports=WebSocket2}});var require_dist8=__commonJS({"node_modules/@discordjs/ws/dist/index.js"(exports2,module2){"use strict";var __create2=Object.create;var __defProp2=Object.defineProperty;var __getOwnPropDesc2=Object.getOwnPropertyDescriptor;var __getOwnPropNames2=Object.getOwnPropertyNames;var __getProtoOf2=Object.getPrototypeOf;var __hasOwnProp2=Object.prototype.hasOwnProperty;var __defNormalProp=(obj,key,value)=>key in obj?__defProp2(obj,key,{enumerable:true,configurable:true,writable:true,value}):obj[key]=value;var __name=(target,value)=>__defProp2(target,"name",{value,configurable:true});var __export2=(target,all2)=>{for(var name in all2)__defProp2(target,name,{get:all2[name],enumerable:true})};var __copyProps2=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames2(from))if(!__hasOwnProp2.call(to,key)&&key!==except)__defProp2(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc2(from,key))||desc.enumerable})}return to};var __toESM2=(mod3,isNodeMode,target)=>(target=mod3!=null?__create2(__getProtoOf2(mod3)):{},__copyProps2(isNodeMode||!mod3||!mod3.__esModule?__defProp2(target,"default",{value:mod3,enumerable:true}):target,mod3));var __toCommonJS2=mod3=>__copyProps2(__defProp2({},"__esModule",{value:true}),mod3);var __publicField=(obj,key,value)=>{__defNormalProp(obj,typeof key!=="symbol"?key+"":key,value);return value};var src_exports2={};__export2(src_exports2,{CloseCodes:()=>CloseCodes,CompressionMethod:()=>CompressionMethod,DefaultDeviceProperty:()=>DefaultDeviceProperty,DefaultWebSocketManagerOptions:()=>DefaultWebSocketManagerOptions,Encoding:()=>Encoding,ImportantGatewayOpcodes:()=>ImportantGatewayOpcodes,SimpleContextFetchingStrategy:()=>SimpleContextFetchingStrategy,SimpleIdentifyThrottler:()=>SimpleIdentifyThrottler,SimpleShardingStrategy:()=>SimpleShardingStrategy,WebSocketManager:()=>WebSocketManager2,WebSocketShard:()=>WebSocketShard,WebSocketShardDestroyRecovery:()=>WebSocketShardDestroyRecovery,WebSocketShardEvents:()=>WebSocketShardEvents,WebSocketShardStatus:()=>WebSocketShardStatus,WorkerBootstrapper:()=>WorkerBootstrapper,WorkerContextFetchingStrategy:()=>WorkerContextFetchingStrategy,WorkerReceivePayloadOp:()=>WorkerReceivePayloadOp,WorkerSendPayloadOp:()=>WorkerSendPayloadOp,WorkerShardingStrategy:()=>WorkerShardingStrategy,getInitialSendRateLimitState:()=>getInitialSendRateLimitState,managerToFetchingStrategyOptions:()=>managerToFetchingStrategyOptions,version:()=>version});module2.exports=__toCommonJS2(src_exports2);async function managerToFetchingStrategyOptions(manager){const{buildIdentifyThrottler,buildStrategy,retrieveSessionInfo,updateSessionInfo,shardCount,shardIds,rest:rest2,...managerOptions}=manager.options;return{...managerOptions,gatewayInformation:await manager.fetchGatewayInformation(),shardCount:await manager.getShardCount()}}__name(managerToFetchingStrategyOptions,"managerToFetchingStrategyOptions");var _SimpleContextFetchingStrategy=class{constructor(manager,options){this.manager=manager;this.options=options}static async ensureThrottler(manager){const throttler=_SimpleContextFetchingStrategy.throttlerCache.get(manager);if(throttler){return throttler}const newThrottler=await manager.options.buildIdentifyThrottler(manager);_SimpleContextFetchingStrategy.throttlerCache.set(manager,newThrottler);return newThrottler}async retrieveSessionInfo(shardId){return this.manager.options.retrieveSessionInfo(shardId)}updateSessionInfo(shardId,sessionInfo){return this.manager.options.updateSessionInfo(shardId,sessionInfo)}async waitForIdentify(shardId,signal){const throttler=await _SimpleContextFetchingStrategy.ensureThrottler(this.manager);await throttler.waitForIdentify(shardId,signal)}};var SimpleContextFetchingStrategy=_SimpleContextFetchingStrategy;__name(SimpleContextFetchingStrategy,"SimpleContextFetchingStrategy");__publicField(SimpleContextFetchingStrategy,"throttlerCache",new WeakMap);var import_node_worker_threads2=require("worker_threads");var import_collection2=require_dist();var import_node_events3=require("events");var import_node_path24=require("path");var import_node_worker_threads=require("worker_threads");var import_collection3=require_dist();var WorkerSendPayloadOp=(WorkerSendPayloadOp2=>{WorkerSendPayloadOp2[WorkerSendPayloadOp2["Connect"]=0]="Connect";WorkerSendPayloadOp2[WorkerSendPayloadOp2["Destroy"]=1]="Destroy";WorkerSendPayloadOp2[WorkerSendPayloadOp2["Send"]=2]="Send";WorkerSendPayloadOp2[WorkerSendPayloadOp2["SessionInfoResponse"]=3]="SessionInfoResponse";WorkerSendPayloadOp2[WorkerSendPayloadOp2["ShardIdentifyResponse"]=4]="ShardIdentifyResponse";WorkerSendPayloadOp2[WorkerSendPayloadOp2["FetchStatus"]=5]="FetchStatus";return WorkerSendPayloadOp2})(WorkerSendPayloadOp||{});var WorkerReceivePayloadOp=(WorkerReceivePayloadOp2=>{WorkerReceivePayloadOp2[WorkerReceivePayloadOp2["Connected"]=0]="Connected";WorkerReceivePayloadOp2[WorkerReceivePayloadOp2["Destroyed"]=1]="Destroyed";WorkerReceivePayloadOp2[WorkerReceivePayloadOp2["Event"]=2]="Event";WorkerReceivePayloadOp2[WorkerReceivePayloadOp2["RetrieveSessionInfo"]=3]="RetrieveSessionInfo";WorkerReceivePayloadOp2[WorkerReceivePayloadOp2["UpdateSessionInfo"]=4]="UpdateSessionInfo";WorkerReceivePayloadOp2[WorkerReceivePayloadOp2["WaitForIdentify"]=5]="WaitForIdentify";WorkerReceivePayloadOp2[WorkerReceivePayloadOp2["FetchStatusResponse"]=6]="FetchStatusResponse";WorkerReceivePayloadOp2[WorkerReceivePayloadOp2["WorkerReady"]=7]="WorkerReady";WorkerReceivePayloadOp2[WorkerReceivePayloadOp2["CancelIdentify"]=8]="CancelIdentify";return WorkerReceivePayloadOp2})(WorkerReceivePayloadOp||{});var WorkerShardingStrategy=class{manager;options;#workers=[];#workerByShardId=new import_collection3.Collection;connectPromises=new import_collection3.Collection;destroyPromises=new import_collection3.Collection;fetchStatusPromises=new import_collection3.Collection;waitForIdentifyControllers=new import_collection3.Collection;throttler;constructor(manager,options){this.manager=manager;this.options=options}async spawn(shardIds){const shardsPerWorker=this.options.shardsPerWorker==="all"?shardIds.length:this.options.shardsPerWorker;const strategyOptions=await managerToFetchingStrategyOptions(this.manager);const loops=Math.ceil(shardIds.length/shardsPerWorker);const promises=[];for(let idx=0;idx<loops;idx++){const slice2=shardIds.slice(idx*shardsPerWorker,(idx+1)*shardsPerWorker);const workerData2={...strategyOptions,shardIds:slice2};promises.push(this.setupWorker(workerData2))}await Promise.all(promises)}async connect(){const promises=[];for(const[shardId,worker]of this.#workerByShardId.entries()){const payload={op:0,shardId};const promise=new Promise(resolve2=>this.connectPromises.set(shardId,resolve2));worker.postMessage(payload);promises.push(promise)}await Promise.all(promises)}async destroy(options={}){const promises=[];for(const[shardId,worker]of this.#workerByShardId.entries()){const payload={op:1,shardId,options};promises.push(new Promise(resolve2=>this.destroyPromises.set(shardId,resolve2)).then(async()=>worker.terminate()));worker.postMessage(payload)}this.#workers=[];this.#workerByShardId.clear();await Promise.all(promises)}send(shardId,data){const worker=this.#workerByShardId.get(shardId);if(!worker){throw new Error(`No worker found for shard ${shardId}`)}const payload={op:2,shardId,payload:data};worker.postMessage(payload)}async fetchStatus(){const statuses=new import_collection3.Collection;for(const[shardId,worker]of this.#workerByShardId.entries()){const nonce=Math.random();const payload={op:5,shardId,nonce};const promise=new Promise(resolve2=>this.fetchStatusPromises.set(nonce,resolve2));worker.postMessage(payload);const status=await promise;statuses.set(shardId,status)}return statuses}async setupWorker(workerData2){const worker=new import_node_worker_threads.Worker(this.resolveWorkerPath(),{workerData:workerData2});await(0,import_node_events3.once)(worker,"online");await this.waitForWorkerReady(worker);worker.on("error",err=>{throw err}).on("messageerror",err=>{throw err}).on("message",async payload=>this.onMessage(worker,payload));this.#workers.push(worker);for(const shardId of workerData2.shardIds){this.#workerByShardId.set(shardId,worker)}}resolveWorkerPath(){const path27=this.options.workerPath;if(!path27){return(0,import_node_path24.join)(__dirname,"defaultWorker.js")}if((0,import_node_path24.isAbsolute)(path27)){return path27}if(/^\.\.?[/\\]/.test(path27)){return(0,import_node_path24.resolve)(path27)}try{return require.resolve(path27)}catch{return(0,import_node_path24.resolve)(path27)}}async waitForWorkerReady(worker){return new Promise(resolve2=>{const handler=__name(payload=>{if(payload.op===7){resolve2();worker.off("message",handler)}},"handler");worker.on("message",handler)})}async onMessage(worker,payload){var _a12,_b2,_c,_d;switch(payload.op){case 0:{(_a12=this.connectPromises.get(payload.shardId))==null?void 0:_a12();this.connectPromises.delete(payload.shardId);break}case 1:{(_b2=this.destroyPromises.get(payload.shardId))==null?void 0:_b2();this.destroyPromises.delete(payload.shardId);break}case 2:{this.manager.emit(payload.event,{...payload.data,shardId:payload.shardId});break}case 3:{const session=await this.manager.options.retrieveSessionInfo(payload.shardId);const response={op:3,nonce:payload.nonce,session};worker.postMessage(response);break}case 4:{await this.manager.options.updateSessionInfo(payload.shardId,payload.session);break}case 5:{const throttler=await this.ensureThrottler();try{const controller=new AbortController;this.waitForIdentifyControllers.set(payload.nonce,controller);await throttler.waitForIdentify(payload.shardId,controller.signal)}catch{return}const response={op:4,nonce:payload.nonce,ok:true};worker.postMessage(response);break}case 6:{(_c=this.fetchStatusPromises.get(payload.nonce))==null?void 0:_c(payload.status);this.fetchStatusPromises.delete(payload.nonce);break}case 7:{break}case 8:{(_d=this.waitForIdentifyControllers.get(payload.nonce))==null?void 0:_d.abort();this.waitForIdentifyControllers.delete(payload.nonce);const response={op:4,nonce:payload.nonce,ok:false};worker.postMessage(response);break}}}async ensureThrottler(){this.throttler??=await this.manager.options.buildIdentifyThrottler(this.manager);return this.throttler}};__name(WorkerShardingStrategy,"WorkerShardingStrategy");var WorkerContextFetchingStrategy=class{constructor(options){this.options=options;if(import_node_worker_threads2.isMainThread){throw new Error("Cannot instantiate WorkerContextFetchingStrategy on the main thread")}import_node_worker_threads2.parentPort.on("message",payload=>{var _a12;if(payload.op===3){(_a12=this.sessionPromises.get(payload.nonce))==null?void 0:_a12(payload.session);this.sessionPromises.delete(payload.nonce)}if(payload.op===4){const promise=this.waitForIdentifyPromises.get(payload.nonce);if(payload.ok){promise==null?void 0:promise.resolve()}else{promise==null?void 0:promise.reject()}this.waitForIdentifyPromises.delete(payload.nonce)}})}sessionPromises=new import_collection2.Collection;waitForIdentifyPromises=new import_collection2.Collection;async retrieveSessionInfo(shardId){const nonce=Math.random();const payload={op:3,shardId,nonce};const promise=new Promise(resolve2=>this.sessionPromises.set(nonce,resolve2));import_node_worker_threads2.parentPort.postMessage(payload);return promise}updateSessionInfo(shardId,sessionInfo){const payload={op:4,shardId,session:sessionInfo};import_node_worker_threads2.parentPort.postMessage(payload)}async waitForIdentify(shardId,signal){const nonce=Math.random();const payload={op:5,nonce,shardId};const promise=new Promise((resolve2,reject2)=>this.waitForIdentifyPromises.set(nonce,{resolve:resolve2,reject:reject2}));import_node_worker_threads2.parentPort.postMessage(payload);const listener=__name(()=>{const payload2={op:8,nonce};import_node_worker_threads2.parentPort.postMessage(payload2)},"listener");signal.addEventListener("abort",listener);try{await promise}finally{signal.removeEventListener("abort",listener)}}};__name(WorkerContextFetchingStrategy,"WorkerContextFetchingStrategy");var import_collection6=require_dist();var import_node_buffer5=require("buffer");var import_node_events22=require("events");var import_node_timers=require("timers");var import_promises27=require("timers/promises");var import_node_url4=require("url");var import_node_util6=require("util");var import_node_zlib2=require("zlib");var import_collection5=require_dist();var import_util22=require_dist2();var import_async_queue2=require_cjs3();var import_async_event_emitter=require_dist7();var import_v102=require_v106();var import_ws=require_ws();var import_node_process5=__toESM2(require("process"));var import_collection4=require_dist();var import_util9=require_dist2();var import_v10=require_v106();var import_promises28=require("timers/promises");var import_collection32=require_dist();var import_async_queue=require_cjs3();var SimpleIdentifyThrottler=class{constructor(maxConcurrency){this.maxConcurrency=maxConcurrency}states=new import_collection32.Collection;async waitForIdentify(shardId,signal){const key=shardId%this.maxConcurrency;const state=this.states.ensure(key,()=>{return{queue:new import_async_queue.AsyncQueue,resetsAt:Number.POSITIVE_INFINITY}});await state.queue.wait({signal});try{const diff=state.resetsAt-Date.now();if(diff<=5e3){const time=diff+Math.random()*1500;await(0,import_promises28.setTimeout)(time)}state.resetsAt=Date.now()+5e3}finally{state.queue.shift()}}};__name(SimpleIdentifyThrottler,"SimpleIdentifyThrottler");var Encoding=(Encoding2=>{Encoding2["JSON"]="json";return Encoding2})(Encoding||{});var CompressionMethod=(CompressionMethod2=>{CompressionMethod2["ZlibStream"]="zlib-stream";return CompressionMethod2})(CompressionMethod||{});var DefaultDeviceProperty=`@discordjs/ws 0.8.3`;var getDefaultSessionStore=(0,import_util9.lazy)(()=>new import_collection4.Collection);var DefaultWebSocketManagerOptions={async buildIdentifyThrottler(manager){const info=await manager.fetchGatewayInformation();return new SimpleIdentifyThrottler(info.session_start_limit.max_concurrency)},buildStrategy:manager=>new SimpleShardingStrategy(manager),shardCount:null,shardIds:null,largeThreshold:null,initialPresence:null,identifyProperties:{browser:DefaultDeviceProperty,device:DefaultDeviceProperty,os:import_node_process5.default.platform},version:import_v10.APIVersion,encoding:"json",compression:null,retrieveSessionInfo(shardId){const store=getDefaultSessionStore();return store.get(shardId)??null},updateSessionInfo(shardId,info){const store=getDefaultSessionStore();if(info){store.set(shardId,info)}else{store.delete(shardId)}},handshakeTimeout:3e4,helloTimeout:6e4,readyTimeout:15e3};var ImportantGatewayOpcodes=new Set([import_v10.GatewayOpcodes.Heartbeat,import_v10.GatewayOpcodes.Identify,import_v10.GatewayOpcodes.Resume]);function getInitialSendRateLimitState(){return{remaining:120,resetAt:Date.now()+6e4}}__name(getInitialSendRateLimitState,"getInitialSendRateLimitState");var getZlibSync=(0,import_util22.lazy)(async()=>import("zlib-sync").then(mod3=>mod3.default).catch(()=>null));var WebSocketShardEvents=(WebSocketShardEvents2=>{WebSocketShardEvents2["Closed"]="closed";WebSocketShardEvents2["Debug"]="debug";WebSocketShardEvents2["Dispatch"]="dispatch";WebSocketShardEvents2["Error"]="error";WebSocketShardEvents2["HeartbeatComplete"]="heartbeat";WebSocketShardEvents2["Hello"]="hello";WebSocketShardEvents2["Ready"]="ready";WebSocketShardEvents2["Resumed"]="resumed";return WebSocketShardEvents2})(WebSocketShardEvents||{});var WebSocketShardStatus=(WebSocketShardStatus2=>{WebSocketShardStatus2[WebSocketShardStatus2["Idle"]=0]="Idle";WebSocketShardStatus2[WebSocketShardStatus2["Connecting"]=1]="Connecting";WebSocketShardStatus2[WebSocketShardStatus2["Resuming"]=2]="Resuming";WebSocketShardStatus2[WebSocketShardStatus2["Ready"]=3]="Ready";return WebSocketShardStatus2})(WebSocketShardStatus||{});var WebSocketShardDestroyRecovery=(WebSocketShardDestroyRecovery2=>{WebSocketShardDestroyRecovery2[WebSocketShardDestroyRecovery2["Reconnect"]=0]="Reconnect";WebSocketShardDestroyRecovery2[WebSocketShardDestroyRecovery2["Resume"]=1]="Resume";return WebSocketShardDestroyRecovery2})(WebSocketShardDestroyRecovery||{});var CloseCodes=(CloseCodes2=>{CloseCodes2[CloseCodes2["Normal"]=1e3]="Normal";CloseCodes2[CloseCodes2["Resuming"]=4200]="Resuming";return CloseCodes2})(CloseCodes||{});var WebSocketShard=class extends import_async_event_emitter.AsyncEventEmitter{connection=null;useIdentifyCompress=false;inflate=null;textDecoder=new import_node_util6.TextDecoder;replayedEvents=0;isAck=true;sendRateLimitState=getInitialSendRateLimitState();initialHeartbeatTimeoutController=null;heartbeatInterval=null;lastHeartbeatAt=-1;initialConnectResolved=false;failedToConnectDueToNetworkError=false;sendQueue=new import_async_queue2.AsyncQueue;timeoutAbortControllers=new import_collection5.Collection;strategy;id;#status=0;get status(){return this.#status}constructor(strategy,id){super();this.strategy=strategy;this.id=id}async connect(){const promise=this.initialConnectResolved?Promise.resolve():(0,import_node_events22.once)(this,"ready");void this.internalConnect();await promise;this.initialConnectResolved=true}async internalConnect(){if(this.#status!==0){throw new Error("Tried to connect a shard that wasn't idle")}const{version:version2,encoding,compression}=this.strategy.options;const params=new import_node_url4.URLSearchParams({v:version2,encoding});if(compression){const zlib2=await getZlibSync();if(zlib2){params.append("compress",compression);this.inflate=new zlib2.Inflate({chunkSize:65535,to:"string"})}else if(!this.useIdentifyCompress){this.useIdentifyCompress=true;console.warn("WebSocketShard: Compression is enabled but zlib-sync is not installed, falling back to identify compress")}}const session=await this.strategy.retrieveSessionInfo(this.id);const url=`${(session==null?void 0:session.resumeURL)??this.strategy.options.gatewayInformation.url}?${params.toString()}`;this.debug([`Connecting to ${url}`]);const connection=new import_ws.WebSocket(url,{handshakeTimeout:this.strategy.options.handshakeTimeout??void 0}).on("message",this.onMessage.bind(this)).on("error",this.onError.bind(this)).on("close",this.onClose.bind(this));connection.binaryType="arraybuffer";this.connection=connection;this.#status=1;this.sendRateLimitState=getInitialSendRateLimitState();const{ok}=await this.waitForEvent("hello",this.strategy.options.helloTimeout);if(!ok){return}if((session==null?void 0:session.shardCount)===this.strategy.options.shardCount){await this.resume(session)}else{await this.identify()}}async destroy(options={}){if(this.#status===0){this.debug(["Tried to destroy a shard that was idle"]);return}if(!options.code){options.code=options.recover===1?4200:1e3}this.debug(["Destroying shard",`Reason: ${options.reason??"none"}`,`Code: ${options.code}`,`Recover: ${options.recover===void 0?"none":WebSocketShardDestroyRecovery[options.recover]}`]);this.isAck=true;if(this.heartbeatInterval){(0,import_node_timers.clearInterval)(this.heartbeatInterval)}if(this.initialHeartbeatTimeoutController){this.initialHeartbeatTimeoutController.abort();this.initialHeartbeatTimeoutController=null}this.lastHeartbeatAt=-1;for(const controller of this.timeoutAbortControllers.values()){controller.abort()}this.timeoutAbortControllers.clear();this.failedToConnectDueToNetworkError=false;if(options.recover!==1){await this.strategy.updateSessionInfo(this.id,null)}if(this.connection){this.connection.removeAllListeners("message");this.connection.removeAllListeners("close");const shouldClose=this.connection.readyState===import_ws.WebSocket.OPEN;this.debug(["Connection status during destroy",`Needs closing: ${shouldClose}`,`Ready state: ${this.connection.readyState}`]);if(shouldClose){this.connection.close(options.code,options.reason);await(0,import_node_events22.once)(this.connection,"close");this.emit("closed",{code:options.code})}this.connection.removeAllListeners("error")}else{this.debug(["Destroying a shard that has no connection; please open an issue on GitHub"])}this.#status=0;if(options.recover!==void 0){await(0,import_promises27.setTimeout)(500);return this.internalConnect()}}async waitForEvent(event,timeoutDuration){this.debug([`Waiting for event ${event} ${timeoutDuration?`for ${timeoutDuration}ms`:"indefinitely"}`]);const timeoutController=new AbortController;const timeout=timeoutDuration?(0,import_node_timers.setTimeout)(()=>timeoutController.abort(),timeoutDuration).unref():null;this.timeoutAbortControllers.set(event,timeoutController);const closeController=new AbortController;try{const closed=await Promise.race([(0,import_node_events22.once)(this,event,{signal:timeoutController.signal}).then(()=>false),(0,import_node_events22.once)(this,"closed",{signal:closeController.signal}).then(()=>true)]);return{ok:!closed}}catch{void this.destroy({code:1e3,reason:"Something timed out or went wrong while waiting for an event",recover:0});return{ok:false}}finally{if(timeout){(0,import_node_timers.clearTimeout)(timeout)}this.timeoutAbortControllers.delete(event);if(!closeController.signal.aborted){closeController.abort()}}}async send(payload){if(!this.connection){throw new Error("WebSocketShard wasn't connected")}if(this.#status!==3&&!ImportantGatewayOpcodes.has(payload.op)){this.debug(["Tried to send a non-crucial payload before the shard was ready, waiting"]);try{await(0,import_node_events22.once)(this,"ready")}catch{return this.send(payload)}}await this.sendQueue.wait();if(--this.sendRateLimitState.remaining<=0){const now3=Date.now();if(this.sendRateLimitState.resetAt>now3){const sleepFor=this.sendRateLimitState.resetAt-now3;this.debug([`Was about to hit the send rate limit, sleeping for ${sleepFor}ms`]);const controller=new AbortController;const interrupted=await Promise.race([(0,import_promises27.setTimeout)(sleepFor).then(()=>false),(0,import_node_events22.once)(this,"closed",{signal:controller.signal}).then(()=>true)]);if(interrupted){this.debug(["Connection closed while waiting for the send rate limit to reset, re-queueing payload"]);this.sendQueue.shift();return this.send(payload)}controller.abort()}this.sendRateLimitState=getInitialSendRateLimitState()}this.sendQueue.shift();this.connection.send(JSON.stringify(payload))}async identify(){this.debug(["Waiting for identify throttle"]);const controller=new AbortController;const closeHandler=__name(()=>{controller.abort()},"closeHandler");this.on("closed",closeHandler);try{await this.strategy.waitForIdentify(this.id,controller.signal)}catch{this.debug(["Was waiting for an identify, but the shard closed in the meantime"]);return}finally{this.off("closed",closeHandler)}this.debug(["Identifying",`shard id: ${this.id.toString()}`,`shard count: ${this.strategy.options.shardCount}`,`intents: ${this.strategy.options.intents}`,`compression: ${this.inflate?"zlib-stream":this.useIdentifyCompress?"identify":"none"}`]);const d={token:this.strategy.options.token,properties:this.strategy.options.identifyProperties,intents:this.strategy.options.intents,compress:this.useIdentifyCompress,shard:[this.id,this.strategy.options.shardCount]};if(this.strategy.options.largeThreshold){d.large_threshold=this.strategy.options.largeThreshold}if(this.strategy.options.initialPresence){d.presence=this.strategy.options.initialPresence}await this.send({op:import_v102.GatewayOpcodes.Identify,d});await this.waitForEvent("ready",this.strategy.options.readyTimeout)}async resume(session){this.debug(["Resuming session",`resume url: ${session.resumeURL}`,`sequence: ${session.sequence}`,`shard id: ${this.id.toString()}`]);this.#status=2;this.replayedEvents=0;return this.send({op:import_v102.GatewayOpcodes.Resume,d:{token:this.strategy.options.token,seq:session.sequence,session_id:session.sessionId}})}async heartbeat(requested=false){if(!this.isAck&&!requested){return this.destroy({reason:"Zombie connection",recover:1})}const session=await this.strategy.retrieveSessionInfo(this.id);await this.send({op:import_v102.GatewayOpcodes.Heartbeat,d:(session==null?void 0:session.sequence)??null});this.lastHeartbeatAt=Date.now();this.isAck=false}async unpackMessage(data,isBinary2){const decompressable=new Uint8Array(data);if(!isBinary2){return JSON.parse(this.textDecoder.decode(decompressable))}if(this.useIdentifyCompress){return new Promise((resolve2,reject2)=>{(0,import_node_zlib2.inflate)(decompressable,{chunkSize:65535},(err,result2)=>{if(err){reject2(err);return}resolve2(JSON.parse(this.textDecoder.decode(result2)))})})}if(this.inflate){const l=decompressable.length;const flush=l>=4&&decompressable[l-4]===0&&decompressable[l-3]===0&&decompressable[l-2]===255&&decompressable[l-1]===255;const zlib2=await getZlibSync();this.inflate.push(import_node_buffer5.Buffer.from(decompressable),flush?zlib2.Z_SYNC_FLUSH:zlib2.Z_NO_FLUSH);if(this.inflate.err){this.emit("error",{error:new Error(`${this.inflate.err}${this.inflate.msg?`: ${this.inflate.msg}`:""}`)})}if(!flush){return null}const{result:result2}=this.inflate;if(!result2){return null}return JSON.parse(typeof result2==="string"?result2:this.textDecoder.decode(result2))}this.debug(["Received a message we were unable to decompress",`isBinary: ${isBinary2.toString()}`,`useIdentifyCompress: ${this.useIdentifyCompress.toString()}`,`inflate: ${Boolean(this.inflate).toString()}`]);return null}async onMessage(data,isBinary2){const payload=await this.unpackMessage(data,isBinary2);if(!payload){return}switch(payload.op){case import_v102.GatewayOpcodes.Dispatch:{if(this.#status===2){this.replayedEvents++}switch(payload.t){case import_v102.GatewayDispatchEvents.Ready:{this.#status=3;const session2={sequence:payload.s,sessionId:payload.d.session_id,shardId:this.id,shardCount:this.strategy.options.shardCount,resumeURL:payload.d.resume_gateway_url};await this.strategy.updateSessionInfo(this.id,session2);this.emit("ready",{data:payload.d});break}case import_v102.GatewayDispatchEvents.Resumed:{this.#status=3;this.debug([`Resumed and replayed ${this.replayedEvents} events`]);this.emit("resumed");break}default:{break}}const session=await this.strategy.retrieveSessionInfo(this.id);if(session){if(payload.s>session.sequence){await this.strategy.updateSessionInfo(this.id,{...session,sequence:payload.s})}}else{this.debug([`Received a ${payload.t} event but no session is available. Session information cannot be re-constructed in this state without a full reconnect`])}this.emit("dispatch",{data:payload});break}case import_v102.GatewayOpcodes.Heartbeat:{await this.heartbeat(true);break}case import_v102.GatewayOpcodes.Reconnect:{await this.destroy({reason:"Told to reconnect by Discord",recover:1});break}case import_v102.GatewayOpcodes.InvalidSession:{this.debug([`Invalid session; will attempt to resume: ${payload.d.toString()}`]);const session=await this.strategy.retrieveSessionInfo(this.id);if(payload.d&&session){await this.resume(session)}else{await this.destroy({reason:"Invalid session",recover:0})}break}case import_v102.GatewayOpcodes.Hello:{this.emit("hello");const jitter=Math.random();const firstWait=Math.floor(payload.d.heartbeat_interval*jitter);this.debug([`Preparing first heartbeat of the connection with a jitter of ${jitter}; waiting ${firstWait}ms`]);try{const controller=new AbortController;this.initialHeartbeatTimeoutController=controller;await(0,import_promises27.setTimeout)(firstWait,void 0,{signal:controller.signal})}catch{this.debug(["Cancelled initial heartbeat due to #destroy being called"]);return}finally{this.initialHeartbeatTimeoutController=null}await this.heartbeat();this.debug([`First heartbeat sent, starting to beat every ${payload.d.heartbeat_interval}ms`]);this.heartbeatInterval=(0,import_node_timers.setInterval)(()=>void this.heartbeat(),payload.d.heartbeat_interval);break}case import_v102.GatewayOpcodes.HeartbeatAck:{this.isAck=true;const ackAt=Date.now();this.emit("heartbeat",{ackAt,heartbeatAt:this.lastHeartbeatAt,latency:ackAt-this.lastHeartbeatAt});break}}}onError(error){if("code"in error&&["ECONNRESET","ECONNREFUSED"].includes(error.code)){this.debug(["Failed to connect to the gateway URL specified due to a network error"]);this.failedToConnectDueToNetworkError=true;return}this.emit("error",{error})}async onClose(code){this.emit("closed",{code});switch(code){case 1e3:{return this.destroy({code,reason:"Got disconnected by Discord",recover:0})}case 4200:{break}case import_v102.GatewayCloseCodes.UnknownError:{this.debug([`An unknown error occurred: ${code}`]);return this.destroy({code,recover:1})}case import_v102.GatewayCloseCodes.UnknownOpcode:{this.debug(["An invalid opcode was sent to Discord."]);return this.destroy({code,recover:1})}case import_v102.GatewayCloseCodes.DecodeError:{this.debug(["An invalid payload was sent to Discord."]);return this.destroy({code,recover:1})}case import_v102.GatewayCloseCodes.NotAuthenticated:{this.debug(["A request was somehow sent before the identify/resume payload."]);return this.destroy({code,recover:0})}case import_v102.GatewayCloseCodes.AuthenticationFailed:{throw new Error("Authentication failed")}case import_v102.GatewayCloseCodes.AlreadyAuthenticated:{this.debug(["More than one auth payload was sent."]);return this.destroy({code,recover:0})}case import_v102.GatewayCloseCodes.InvalidSeq:{this.debug(["An invalid sequence was sent."]);return this.destroy({code,recover:0})}case import_v102.GatewayCloseCodes.RateLimited:{this.debug(["The WebSocket rate limit has been hit, this should never happen"]);return this.destroy({code,recover:0})}case import_v102.GatewayCloseCodes.SessionTimedOut:{this.debug(["Session timed out."]);return this.destroy({code,recover:1})}case import_v102.GatewayCloseCodes.InvalidShard:{throw new Error("Invalid shard")}case import_v102.GatewayCloseCodes.ShardingRequired:{throw new Error("Sharding is required")}case import_v102.GatewayCloseCodes.InvalidAPIVersion:{throw new Error("Used an invalid API version")}case import_v102.GatewayCloseCodes.InvalidIntents:{throw new Error("Used invalid intents")}case import_v102.GatewayCloseCodes.DisallowedIntents:{throw new Error("Used disallowed intents")}default:{this.debug([`The gateway closed with an unexpected code ${code}, attempting to ${this.failedToConnectDueToNetworkError?"reconnect":"resume"}.`]);return this.destroy({code,recover:this.failedToConnectDueToNetworkError?0:1})}}}debug(messages){const message3=`${messages[0]}${messages.length>1?`
${messages.slice(1).map(m=>`	${m}`).join("\n")}`:""}`;this.emit("debug",{message:message3})}};__name(WebSocketShard,"WebSocketShard");var SimpleShardingStrategy=class{manager;shards=new import_collection6.Collection;constructor(manager){this.manager=manager}async spawn(shardIds){const strategyOptions=await managerToFetchingStrategyOptions(this.manager);for(const shardId of shardIds){const strategy=new SimpleContextFetchingStrategy(this.manager,strategyOptions);const shard=new WebSocketShard(strategy,shardId);for(const event of Object.values(WebSocketShardEvents)){shard.on(event,payload=>this.manager.emit(event,{...payload,shardId}))}this.shards.set(shardId,shard)}}async connect(){const promises=[];for(const shard of this.shards.values()){promises.push(shard.connect())}await Promise.all(promises)}async destroy(options){const promises=[];for(const shard of this.shards.values()){promises.push(shard.destroy(options))}await Promise.all(promises);this.shards.clear()}async send(shardId,payload){const shard=this.shards.get(shardId);if(!shard){throw new RangeError(`Shard ${shardId} not found`)}return shard.send(payload)}async fetchStatus(){return this.shards.mapValues(shard=>shard.status)}};__name(SimpleShardingStrategy,"SimpleShardingStrategy");var import_node_worker_threads3=require("worker_threads");var import_collection7=require_dist();var WorkerBootstrapper=class{data=import_node_worker_threads3.workerData;shards=new import_collection7.Collection;constructor(){if(import_node_worker_threads3.isMainThread){throw new Error("Expected WorkerBootstrap to not be used within the main thread")}}async connect(shardId){const shard=this.shards.get(shardId);if(!shard){throw new RangeError(`Shard ${shardId} does not exist`)}await shard.connect()}async destroy(shardId,options){const shard=this.shards.get(shardId);if(!shard){throw new RangeError(`Shard ${shardId} does not exist`)}await shard.destroy(options)}setupThreadEvents(){import_node_worker_threads3.parentPort.on("messageerror",err=>{throw err}).on("message",async payload=>{switch(payload.op){case 0:{await this.connect(payload.shardId);const response={op:0,shardId:payload.shardId};import_node_worker_threads3.parentPort.postMessage(response);break}case 1:{await this.destroy(payload.shardId,payload.options);const response={op:1,shardId:payload.shardId};import_node_worker_threads3.parentPort.postMessage(response);break}case 2:{const shard=this.shards.get(payload.shardId);if(!shard){throw new RangeError(`Shard ${payload.shardId} does not exist`)}await shard.send(payload.payload);break}case 3:{break}case 4:{break}case 5:{const shard=this.shards.get(payload.shardId);if(!shard){throw new Error(`Shard ${payload.shardId} does not exist`)}const response={op:6,status:shard.status,nonce:payload.nonce};import_node_worker_threads3.parentPort.postMessage(response);break}}})}async bootstrap(options={}){var _a12;for(const shardId of this.data.shardIds){const shard=new WebSocketShard(new WorkerContextFetchingStrategy(this.data),shardId);for(const event of options.forwardEvents??Object.values(WebSocketShardEvents)){shard.on(event,data=>{const payload={op:2,event,data,shardId};import_node_worker_threads3.parentPort.postMessage(payload)})}await((_a12=options.shardCallback)==null?void 0:_a12.call(options,shard));this.shards.set(shardId,shard)}this.setupThreadEvents();const message3={op:7};import_node_worker_threads3.parentPort.postMessage(message3)}};__name(WorkerBootstrapper,"WorkerBootstrapper");var import_util32=require_dist2();var import_async_event_emitter2=require_dist7();var import_v103=require_v106();var WebSocketManager2=class extends import_async_event_emitter2.AsyncEventEmitter{options;gatewayInformation=null;shardIds=null;strategy;constructor(options){super();this.options={...DefaultWebSocketManagerOptions,...options};this.strategy=this.options.buildStrategy(this)}async fetchGatewayInformation(force=false){if(this.gatewayInformation){if(this.gatewayInformation.expiresAt<=Date.now()){this.gatewayInformation=null}else if(!force){return this.gatewayInformation.data}}const data=await this.options.rest.get(import_v103.Routes.gatewayBot());this.gatewayInformation={data,expiresAt:Date.now()+data.session_start_limit.reset_after};return this.gatewayInformation.data}async updateShardCount(shardCount){await this.strategy.destroy({reason:"User is adjusting their shards"});this.options.shardCount=shardCount;const shardIds=await this.getShardIds(true);await this.strategy.spawn(shardIds);return this}async getShardCount(){if(this.options.shardCount){return this.options.shardCount}const shardIds=await this.getShardIds();return Math.max(...shardIds)+1}async getShardIds(force=false){if(this.shardIds&&!force){return this.shardIds}let shardIds;if(this.options.shardIds){if(Array.isArray(this.options.shardIds)){shardIds=this.options.shardIds}else{const{start,end}=this.options.shardIds;shardIds=[...(0,import_util32.range)({start,end:end+1})]}}else{const data=await this.fetchGatewayInformation();shardIds=[...(0,import_util32.range)(this.options.shardCount??data.shards)]}this.shardIds=shardIds;return shardIds}async connect(){const shardCount=await this.getShardCount();const data=await this.fetchGatewayInformation();if(data.session_start_limit.remaining<shardCount){throw new Error(`Not enough sessions remaining to spawn ${shardCount} shards; only ${data.session_start_limit.remaining} remaining; resets at ${new Date(Date.now()+data.session_start_limit.reset_after).toISOString()}`)}await this.updateShardCount(shardCount);await this.strategy.connect()}destroy(options){return this.strategy.destroy(options)}send(shardId,payload){return this.strategy.send(shardId,payload)}fetchStatus(){return this.strategy.fetchStatus()}};__name(WebSocketManager2,"WebSocketManager");var version="0.8.3"}});var require_WebSocketShardEvents=__commonJS({"node_modules/discord.js/src/util/WebSocketShardEvents.js"(exports2,module2){"use strict";module2.exports={Close:"close",Destroyed:"destroyed",InvalidSession:"invalidSession",Ready:"ready",Resumed:"resumed",AllReady:"allReady"}}});var require_WebSocketShard=__commonJS({"node_modules/discord.js/src/client/websocket/WebSocketShard.js"(exports2,module2){"use strict";var EventEmitter3=require("node:events");var process6=require("node:process");var{setTimeout:setTimeout3,clearTimeout:clearTimeout2}=require("node:timers");var{GatewayIntentBits:GatewayIntentBits2}=require_v106();var Status2=require_Status();var WebSocketShardEvents=require_WebSocketShardEvents();var deprecationEmittedForImportant=false;var WebSocketShard=class extends EventEmitter3{constructor(manager,id){super();this.manager=manager;this.id=id;this.status=Status2.Idle;this.closeSequence=0;this.ping=-1;this.lastPingTimestamp=-1;Object.defineProperty(this,"expectedGuilds",{value:null,writable:true});Object.defineProperty(this,"readyTimeout",{value:null,writable:true});Object.defineProperty(this,"sessionInfo",{value:null,writable:true})}debug(message3){this.manager.debug(message3,this.id)}emitClose(event={code:1011,reason:"INTERNAL_ERROR",wasClean:false}){this.debug(`[CLOSE]
    Event Code: ${event.code}
    Clean     : ${event.wasClean}
    Reason    : ${event.reason??"No reason received"}`);this.emit(WebSocketShardEvents.Close,event)}onReadyPacket(packet){if(!packet){this.debug(`Received broken packet: '${packet}'.`);return}this.emit(WebSocketShardEvents.Ready);this.expectedGuilds=new Set(packet.guilds.map(d=>d.id));this.status=Status2.WaitingForGuilds}gotGuild(guildId){this.expectedGuilds.delete(guildId);this.checkReady()}checkReady(){if(this.readyTimeout){clearTimeout2(this.readyTimeout);this.readyTimeout=null}if(!this.expectedGuilds.size){this.debug("Shard received all its guilds. Marking as fully ready.");this.status=Status2.Ready;this.emit(WebSocketShardEvents.AllReady);return}const hasGuildsIntent=this.manager.client.options.intents.has(GatewayIntentBits2.Guilds);const{waitGuildTimeout}=this.manager.client.options;this.readyTimeout=setTimeout3(()=>{this.debug(`Shard ${hasGuildsIntent?"did":"will"} not receive any more guild packets${hasGuildsIntent?` in ${waitGuildTimeout} ms`:""}.
Unavailable guild count: ${this.expectedGuilds.size}`);this.readyTimeout=null;this.status=Status2.Ready;this.emit(WebSocketShardEvents.AllReady,this.expectedGuilds)},hasGuildsIntent?waitGuildTimeout:0).unref()}send(data,important=false){if(important&&!deprecationEmittedForImportant){process6.emitWarning("Sending important payloads explicitly is deprecated. They are determined by their opcode implicitly now.","DeprecationWarning");deprecationEmittedForImportant=true}this.manager._ws.send(this.id,data)}};module2.exports=WebSocketShard}});var require_APPLICATION_COMMAND_PERMISSIONS_UPDATE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/APPLICATION_COMMAND_PERMISSIONS_UPDATE.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.ApplicationCommandPermissionsUpdate.handle(packet.d)}}});var require_AUTO_MODERATION_ACTION_EXECUTION=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/AUTO_MODERATION_ACTION_EXECUTION.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.AutoModerationActionExecution.handle(packet.d)}}});var require_AUTO_MODERATION_RULE_CREATE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/AUTO_MODERATION_RULE_CREATE.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.AutoModerationRuleCreate.handle(packet.d)}}});var require_AUTO_MODERATION_RULE_DELETE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/AUTO_MODERATION_RULE_DELETE.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.AutoModerationRuleDelete.handle(packet.d)}}});var require_AUTO_MODERATION_RULE_UPDATE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/AUTO_MODERATION_RULE_UPDATE.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.AutoModerationRuleUpdate.handle(packet.d)}}});var require_CHANNEL_CREATE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/CHANNEL_CREATE.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.ChannelCreate.handle(packet.d)}}});var require_CHANNEL_DELETE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/CHANNEL_DELETE.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.ChannelDelete.handle(packet.d)}}});var require_CHANNEL_PINS_UPDATE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/CHANNEL_PINS_UPDATE.js"(exports2,module2){"use strict";var Events2=require_Events();module2.exports=(client,{d:data})=>{const channel=client.channels.cache.get(data.channel_id);const time=data.last_pin_timestamp?Date.parse(data.last_pin_timestamp):null;if(channel){channel.lastPinTimestamp=time;client.emit(Events2.ChannelPinsUpdate,channel,time)}}}});var require_CHANNEL_UPDATE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/CHANNEL_UPDATE.js"(exports2,module2){"use strict";var Events2=require_Events();module2.exports=(client,packet)=>{const{old,updated}=client.actions.ChannelUpdate.handle(packet.d);if(old&&updated){client.emit(Events2.ChannelUpdate,old,updated)}}}});var require_GUILD_AUDIT_LOG_ENTRY_CREATE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/GUILD_AUDIT_LOG_ENTRY_CREATE.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.GuildAuditLogEntryCreate.handle(packet.d)}}});var require_GUILD_BAN_ADD=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/GUILD_BAN_ADD.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.GuildBanAdd.handle(packet.d)}}});var require_GUILD_BAN_REMOVE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/GUILD_BAN_REMOVE.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.GuildBanRemove.handle(packet.d)}}});var require_GUILD_CREATE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/GUILD_CREATE.js"(exports2,module2){"use strict";var Events2=require_Events();var Status2=require_Status();module2.exports=(client,{d:data},shard)=>{let guild2=client.guilds.cache.get(data.id);if(guild2){if(!guild2.available&&!data.unavailable){guild2._patch(data)}}else{data.shardId=shard.id;guild2=client.guilds._add(data);if(client.ws.status===Status2.Ready){client.emit(Events2.GuildCreate,guild2)}}}}});var require_GUILD_DELETE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/GUILD_DELETE.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.GuildDelete.handle(packet.d)}}});var require_GUILD_EMOJIS_UPDATE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/GUILD_EMOJIS_UPDATE.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.GuildEmojisUpdate.handle(packet.d)}}});var require_GUILD_INTEGRATIONS_UPDATE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/GUILD_INTEGRATIONS_UPDATE.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.GuildIntegrationsUpdate.handle(packet.d)}}});var require_GUILD_MEMBERS_CHUNK=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/GUILD_MEMBERS_CHUNK.js"(exports2,module2){"use strict";var{Collection:Collection2}=require_dist();var Events2=require_Events();module2.exports=(client,{d:data})=>{const guild2=client.guilds.cache.get(data.guild_id);if(!guild2)return;const members=new Collection2;for(const member of data.members)members.set(member.user.id,guild2.members._add(member));if(data.presences){for(const presence of data.presences)guild2.presences._add(Object.assign(presence,{guild:guild2}))}client.emit(Events2.GuildMembersChunk,members,guild2,{index:data.chunk_index,count:data.chunk_count,notFound:data.not_found,nonce:data.nonce})}}});var require_GUILD_MEMBER_ADD=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/GUILD_MEMBER_ADD.js"(exports2,module2){"use strict";var Events2=require_Events();var Status2=require_Status();module2.exports=(client,{d:data},shard)=>{const guild2=client.guilds.cache.get(data.guild_id);if(guild2){guild2.memberCount++;const member=guild2.members._add(data);if(shard.status===Status2.Ready){client.emit(Events2.GuildMemberAdd,member)}}}}});var require_GUILD_MEMBER_REMOVE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/GUILD_MEMBER_REMOVE.js"(exports2,module2){"use strict";module2.exports=(client,packet,shard)=>{client.actions.GuildMemberRemove.handle(packet.d,shard)}}});var require_GUILD_MEMBER_UPDATE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/GUILD_MEMBER_UPDATE.js"(exports2,module2){"use strict";module2.exports=(client,packet,shard)=>{client.actions.GuildMemberUpdate.handle(packet.d,shard)}}});var require_GUILD_ROLE_CREATE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/GUILD_ROLE_CREATE.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.GuildRoleCreate.handle(packet.d)}}});var require_GUILD_ROLE_DELETE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/GUILD_ROLE_DELETE.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.GuildRoleDelete.handle(packet.d)}}});var require_GUILD_ROLE_UPDATE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/GUILD_ROLE_UPDATE.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.GuildRoleUpdate.handle(packet.d)}}});var require_GUILD_SCHEDULED_EVENT_CREATE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_CREATE.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.GuildScheduledEventCreate.handle(packet.d)}}});var require_GUILD_SCHEDULED_EVENT_DELETE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_DELETE.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.GuildScheduledEventDelete.handle(packet.d)}}});var require_GUILD_SCHEDULED_EVENT_UPDATE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_UPDATE.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.GuildScheduledEventUpdate.handle(packet.d)}}});var require_GUILD_SCHEDULED_EVENT_USER_ADD=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_USER_ADD.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.GuildScheduledEventUserAdd.handle(packet.d)}}});var require_GUILD_SCHEDULED_EVENT_USER_REMOVE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_USER_REMOVE.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.GuildScheduledEventUserRemove.handle(packet.d)}}});var require_GUILD_STICKERS_UPDATE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/GUILD_STICKERS_UPDATE.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.GuildStickersUpdate.handle(packet.d)}}});var require_GUILD_UPDATE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/GUILD_UPDATE.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.GuildUpdate.handle(packet.d)}}});var require_INTERACTION_CREATE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/INTERACTION_CREATE.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.InteractionCreate.handle(packet.d)}}});var require_INVITE_CREATE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/INVITE_CREATE.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.InviteCreate.handle(packet.d)}}});var require_INVITE_DELETE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/INVITE_DELETE.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.InviteDelete.handle(packet.d)}}});var require_MESSAGE_CREATE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/MESSAGE_CREATE.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.MessageCreate.handle(packet.d)}}});var require_MESSAGE_DELETE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/MESSAGE_DELETE.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.MessageDelete.handle(packet.d)}}});var require_MESSAGE_DELETE_BULK=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/MESSAGE_DELETE_BULK.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.MessageDeleteBulk.handle(packet.d)}}});var require_MESSAGE_REACTION_ADD=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/MESSAGE_REACTION_ADD.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.MessageReactionAdd.handle(packet.d)}}});var require_MESSAGE_REACTION_REMOVE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/MESSAGE_REACTION_REMOVE.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.MessageReactionRemove.handle(packet.d)}}});var require_MESSAGE_REACTION_REMOVE_ALL=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/MESSAGE_REACTION_REMOVE_ALL.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.MessageReactionRemoveAll.handle(packet.d)}}});var require_MESSAGE_REACTION_REMOVE_EMOJI=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/MESSAGE_REACTION_REMOVE_EMOJI.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.MessageReactionRemoveEmoji.handle(packet.d)}}});var require_MESSAGE_UPDATE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/MESSAGE_UPDATE.js"(exports2,module2){"use strict";var Events2=require_Events();module2.exports=(client,packet)=>{const{old,updated}=client.actions.MessageUpdate.handle(packet.d);if(old&&updated){client.emit(Events2.MessageUpdate,old,updated)}}}});var require_PRESENCE_UPDATE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/PRESENCE_UPDATE.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.PresenceUpdate.handle(packet.d)}}});var require_ClientUser=__commonJS({"node_modules/discord.js/src/structures/ClientUser.js"(exports2,module2){"use strict";var{Routes:Routes2}=require_v106();var User=require_User();var DataResolver2=require_DataResolver();var ClientUser=class extends User{_patch(data){super._patch(data);if("verified"in data){this.verified=data.verified}if("mfa_enabled"in data){this.mfaEnabled=typeof data.mfa_enabled==="boolean"?data.mfa_enabled:null}else{this.mfaEnabled??=null}if("token"in data)this.client.token=data.token}get presence(){return this.client.presence}async edit({username,avatar}){const data=await this.client.rest.patch(Routes2.user(),{body:{username,avatar:avatar&&await DataResolver2.resolveImage(avatar)}});this.client.token=data.token;this.client.rest.setToken(data.token);const{updated}=this.client.actions.UserUpdate.handle(data);return updated??this}setUsername(username){return this.edit({username})}setAvatar(avatar){return this.edit({avatar})}setPresence(data){return this.client.presence.set(data)}setStatus(status,shardId){return this.setPresence({status,shardId})}setActivity(name,options={}){if(!name)return this.setPresence({activities:[],shardId:options.shardId});const activity=Object.assign({},options,typeof name==="object"?name:{name});return this.setPresence({activities:[activity],shardId:activity.shardId})}setAFK(afk=true,shardId){return this.setPresence({afk,shardId})}};module2.exports=ClientUser}});var require_READY=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/READY.js"(exports2,module2){"use strict";var ClientApplication=require_ClientApplication();var ClientUser;module2.exports=(client,{d:data},shard)=>{if(client.user){client.user._patch(data.user)}else{ClientUser??=require_ClientUser();client.user=new ClientUser(client,data.user);client.users.cache.set(client.user.id,client.user)}for(const guild2 of data.guilds){guild2.shardId=shard.id;client.guilds._add(guild2)}if(client.application){client.application._patch(data.application)}else{client.application=new ClientApplication(client,data.application)}shard.checkReady()}}});var require_RESUMED=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/RESUMED.js"(exports2,module2){"use strict";var Events2=require_Events();module2.exports=(client,packet,shard)=>{const replayed=shard.sessionInfo.sequence-shard.closeSequence;client.emit(Events2.ShardResume,shard.id,replayed)}}});var require_STAGE_INSTANCE_CREATE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/STAGE_INSTANCE_CREATE.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.StageInstanceCreate.handle(packet.d)}}});var require_STAGE_INSTANCE_DELETE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/STAGE_INSTANCE_DELETE.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.StageInstanceDelete.handle(packet.d)}}});var require_STAGE_INSTANCE_UPDATE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/STAGE_INSTANCE_UPDATE.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.StageInstanceUpdate.handle(packet.d)}}});var require_THREAD_CREATE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/THREAD_CREATE.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.ThreadCreate.handle(packet.d)}}});var require_THREAD_DELETE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/THREAD_DELETE.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.ThreadDelete.handle(packet.d)}}});var require_THREAD_LIST_SYNC=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/THREAD_LIST_SYNC.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.ThreadListSync.handle(packet.d)}}});var require_THREAD_MEMBERS_UPDATE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/THREAD_MEMBERS_UPDATE.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.ThreadMembersUpdate.handle(packet.d)}}});var require_THREAD_MEMBER_UPDATE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/THREAD_MEMBER_UPDATE.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.ThreadMemberUpdate.handle(packet.d)}}});var require_THREAD_UPDATE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/THREAD_UPDATE.js"(exports2,module2){"use strict";var Events2=require_Events();module2.exports=(client,packet)=>{const{old,updated}=client.actions.ChannelUpdate.handle(packet.d);if(old&&updated){client.emit(Events2.ThreadUpdate,old,updated)}}}});var require_TYPING_START=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/TYPING_START.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.TypingStart.handle(packet.d)}}});var require_USER_UPDATE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/USER_UPDATE.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.UserUpdate.handle(packet.d)}}});var require_VOICE_SERVER_UPDATE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/VOICE_SERVER_UPDATE.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.emit("debug",`[VOICE] received voice server: ${JSON.stringify(packet)}`);client.voice.onVoiceServer(packet.d)}}});var require_VOICE_STATE_UPDATE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/VOICE_STATE_UPDATE.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.VoiceStateUpdate.handle(packet.d)}}});var require_WEBHOOKS_UPDATE=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/WEBHOOKS_UPDATE.js"(exports2,module2){"use strict";module2.exports=(client,packet)=>{client.actions.WebhooksUpdate.handle(packet.d)}}});var require_handlers=__commonJS({"node_modules/discord.js/src/client/websocket/handlers/index.js"(exports2,module2){"use strict";var handlers3=Object.fromEntries([["APPLICATION_COMMAND_PERMISSIONS_UPDATE",require_APPLICATION_COMMAND_PERMISSIONS_UPDATE()],["AUTO_MODERATION_ACTION_EXECUTION",require_AUTO_MODERATION_ACTION_EXECUTION()],["AUTO_MODERATION_RULE_CREATE",require_AUTO_MODERATION_RULE_CREATE()],["AUTO_MODERATION_RULE_DELETE",require_AUTO_MODERATION_RULE_DELETE()],["AUTO_MODERATION_RULE_UPDATE",require_AUTO_MODERATION_RULE_UPDATE()],["CHANNEL_CREATE",require_CHANNEL_CREATE()],["CHANNEL_DELETE",require_CHANNEL_DELETE()],["CHANNEL_PINS_UPDATE",require_CHANNEL_PINS_UPDATE()],["CHANNEL_UPDATE",require_CHANNEL_UPDATE()],["GUILD_AUDIT_LOG_ENTRY_CREATE",require_GUILD_AUDIT_LOG_ENTRY_CREATE()],["GUILD_BAN_ADD",require_GUILD_BAN_ADD()],["GUILD_BAN_REMOVE",require_GUILD_BAN_REMOVE()],["GUILD_CREATE",require_GUILD_CREATE()],["GUILD_DELETE",require_GUILD_DELETE()],["GUILD_EMOJIS_UPDATE",require_GUILD_EMOJIS_UPDATE()],["GUILD_INTEGRATIONS_UPDATE",require_GUILD_INTEGRATIONS_UPDATE()],["GUILD_MEMBERS_CHUNK",require_GUILD_MEMBERS_CHUNK()],["GUILD_MEMBER_ADD",require_GUILD_MEMBER_ADD()],["GUILD_MEMBER_REMOVE",require_GUILD_MEMBER_REMOVE()],["GUILD_MEMBER_UPDATE",require_GUILD_MEMBER_UPDATE()],["GUILD_ROLE_CREATE",require_GUILD_ROLE_CREATE()],["GUILD_ROLE_DELETE",require_GUILD_ROLE_DELETE()],["GUILD_ROLE_UPDATE",require_GUILD_ROLE_UPDATE()],["GUILD_SCHEDULED_EVENT_CREATE",require_GUILD_SCHEDULED_EVENT_CREATE()],["GUILD_SCHEDULED_EVENT_DELETE",require_GUILD_SCHEDULED_EVENT_DELETE()],["GUILD_SCHEDULED_EVENT_UPDATE",require_GUILD_SCHEDULED_EVENT_UPDATE()],["GUILD_SCHEDULED_EVENT_USER_ADD",require_GUILD_SCHEDULED_EVENT_USER_ADD()],["GUILD_SCHEDULED_EVENT_USER_REMOVE",require_GUILD_SCHEDULED_EVENT_USER_REMOVE()],["GUILD_STICKERS_UPDATE",require_GUILD_STICKERS_UPDATE()],["GUILD_UPDATE",require_GUILD_UPDATE()],["INTERACTION_CREATE",require_INTERACTION_CREATE()],["INVITE_CREATE",require_INVITE_CREATE()],["INVITE_DELETE",require_INVITE_DELETE()],["MESSAGE_CREATE",require_MESSAGE_CREATE()],["MESSAGE_DELETE",require_MESSAGE_DELETE()],["MESSAGE_DELETE_BULK",require_MESSAGE_DELETE_BULK()],["MESSAGE_REACTION_ADD",require_MESSAGE_REACTION_ADD()],["MESSAGE_REACTION_REMOVE",require_MESSAGE_REACTION_REMOVE()],["MESSAGE_REACTION_REMOVE_ALL",require_MESSAGE_REACTION_REMOVE_ALL()],["MESSAGE_REACTION_REMOVE_EMOJI",require_MESSAGE_REACTION_REMOVE_EMOJI()],["MESSAGE_UPDATE",require_MESSAGE_UPDATE()],["PRESENCE_UPDATE",require_PRESENCE_UPDATE()],["READY",require_READY()],["RESUMED",require_RESUMED()],["STAGE_INSTANCE_CREATE",require_STAGE_INSTANCE_CREATE()],["STAGE_INSTANCE_DELETE",require_STAGE_INSTANCE_DELETE()],["STAGE_INSTANCE_UPDATE",require_STAGE_INSTANCE_UPDATE()],["THREAD_CREATE",require_THREAD_CREATE()],["THREAD_DELETE",require_THREAD_DELETE()],["THREAD_LIST_SYNC",require_THREAD_LIST_SYNC()],["THREAD_MEMBERS_UPDATE",require_THREAD_MEMBERS_UPDATE()],["THREAD_MEMBER_UPDATE",require_THREAD_MEMBER_UPDATE()],["THREAD_UPDATE",require_THREAD_UPDATE()],["TYPING_START",require_TYPING_START()],["USER_UPDATE",require_USER_UPDATE()],["VOICE_SERVER_UPDATE",require_VOICE_SERVER_UPDATE()],["VOICE_STATE_UPDATE",require_VOICE_STATE_UPDATE()],["WEBHOOKS_UPDATE",require_WEBHOOKS_UPDATE()]]);module2.exports=handlers3}});var require_WebSocketManager=__commonJS({"node_modules/discord.js/src/client/websocket/WebSocketManager.js"(exports2,module2){"use strict";var EventEmitter3=require("node:events");var process6=require("node:process");var{setImmediate:setImmediate2}=require("node:timers");var{Collection:Collection2}=require_dist();var{WebSocketManager:WSWebSocketManager,WebSocketShardEvents:WSWebSocketShardEvents,CompressionMethod,CloseCodes}=require_dist8();var{GatewayCloseCodes,GatewayDispatchEvents}=require_v106();var WebSocketShard=require_WebSocketShard();var PacketHandlers=require_handlers();var{DiscordjsError:DiscordjsError2,ErrorCodes:ErrorCodes2}=require_errors6();var Events2=require_Events();var Status2=require_Status();var WebSocketShardEvents=require_WebSocketShardEvents();var zlib2;try{zlib2=require("zlib-sync")}catch{}var BeforeReadyWhitelist=[GatewayDispatchEvents.Ready,GatewayDispatchEvents.Resumed,GatewayDispatchEvents.GuildCreate,GatewayDispatchEvents.GuildDelete,GatewayDispatchEvents.GuildMembersChunk,GatewayDispatchEvents.GuildMemberAdd,GatewayDispatchEvents.GuildMemberRemove];var WaitingForGuildEvents=[GatewayDispatchEvents.GuildCreate,GatewayDispatchEvents.GuildDelete];var UNRESUMABLE_CLOSE_CODES=[CloseCodes.Normal,GatewayCloseCodes.AlreadyAuthenticated,GatewayCloseCodes.InvalidSeq];var reasonIsDeprecated="the reason property is deprecated, use the code property to determine the reason";var deprecationEmittedForInvalidSessionEvent=false;var deprecationEmittedForDestroyedEvent=false;var WebSocketManager2=class extends EventEmitter3{constructor(client){super();Object.defineProperty(this,"client",{value:client});this.gateway=null;this.shards=new Collection2;Object.defineProperty(this,"packetQueue",{value:[]});this.status=Status2.Idle;this.destroyed=false;this._ws=null}get ping(){const sum2=this.shards.reduce((a,b)=>a+b.ping,0);return sum2/this.shards.size}debug(message3,shardId){this.client.emit(Events2.Debug,`[WS => ${typeof shardId==="number"?`Shard ${shardId}`:"Manager"}] ${message3}`)}async connect(){const invalidToken=new DiscordjsError2(ErrorCodes2.TokenInvalid);const{shards,shardCount,intents,ws}=this.client.options;if(this._ws&&this._ws.options.token!==this.client.token){await this._ws.destroy({code:CloseCodes.Normal,reason:"Login with differing token requested"});this._ws=null}if(!this._ws){const wsOptions={intents:intents.bitfield,rest:this.client.rest,token:this.client.token,largeThreshold:ws.large_threshold,version:ws.version,shardIds:shards==="auto"?null:shards,shardCount:shards==="auto"?null:shardCount,initialPresence:ws.presence,retrieveSessionInfo:shardId=>this.shards.get(shardId).sessionInfo,updateSessionInfo:(shardId,sessionInfo)=>{this.shards.get(shardId).sessionInfo=sessionInfo},compression:zlib2?CompressionMethod.ZlibStream:null};if(ws.buildStrategy)wsOptions.buildStrategy=ws.buildStrategy;this._ws=new WSWebSocketManager(wsOptions);this.attachEvents()}const{url:gatewayURL,shards:recommendedShards,session_start_limit:sessionStartLimit}=await this._ws.fetchGatewayInformation().catch(error=>{throw error.status===401?invalidToken:error});const{total,remaining}=sessionStartLimit;this.debug(`Fetched Gateway Information
    URL: ${gatewayURL}
    Recommended Shards: ${recommendedShards}`);this.debug(`Session Limit Information
    Total: ${total}
    Remaining: ${remaining}`);this.gateway=`${gatewayURL}/`;this.client.options.shardCount=await this._ws.getShardCount();this.client.options.shards=await this._ws.getShardIds();this.totalShards=this.client.options.shards.length;for(const id of this.client.options.shards){if(!this.shards.has(id)){const shard=new WebSocketShard(this,id);this.shards.set(id,shard);shard.on(WebSocketShardEvents.AllReady,unavailableGuilds=>{this.client.emit(Events2.ShardReady,shard.id,unavailableGuilds);this.checkShardsReady()});shard.status=Status2.Connecting}}await this._ws.connect();this.shards.forEach(shard=>{if(shard.listenerCount(WebSocketShardEvents.InvalidSession)>0&&!deprecationEmittedForInvalidSessionEvent){process6.emitWarning("The WebSocketShard#invalidSession event is deprecated and will never emit.","DeprecationWarning");deprecationEmittedForInvalidSessionEvent=true}if(shard.listenerCount(WebSocketShardEvents.Destroyed)>0&&!deprecationEmittedForDestroyedEvent){process6.emitWarning("The WebSocketShard#destroyed event is deprecated and will never emit.","DeprecationWarning");deprecationEmittedForDestroyedEvent=true}})}attachEvents(){this._ws.on(WSWebSocketShardEvents.Debug,({message:message3,shardId})=>this.debug(message3,shardId));this._ws.on(WSWebSocketShardEvents.Dispatch,({data,shardId})=>{this.client.emit(Events2.Raw,data,shardId);this.emit(data.t,data.d,shardId);const shard=this.shards.get(shardId);this.handlePacket(data,shard);if(shard.status===Status2.WaitingForGuilds&&WaitingForGuildEvents.includes(data.t)){shard.gotGuild(data.d.id)}});this._ws.on(WSWebSocketShardEvents.Ready,({data,shardId})=>{this.shards.get(shardId).onReadyPacket(data)});this._ws.on(WSWebSocketShardEvents.Closed,({code,shardId})=>{const shard=this.shards.get(shardId);shard.emit(WebSocketShardEvents.Close,{code,reason:reasonIsDeprecated,wasClean:true});if(UNRESUMABLE_CLOSE_CODES.includes(code)&&this.destroyed){shard.status=Status2.Disconnected;this.client.emit(Events2.ShardDisconnect,{code,reason:reasonIsDeprecated,wasClean:true},shardId);this.debug(GatewayCloseCodes[code],shardId);return}this.shards.get(shardId).status=Status2.Connecting;this.client.emit(Events2.ShardReconnecting,shardId)});this._ws.on(WSWebSocketShardEvents.Hello,({shardId})=>{const shard=this.shards.get(shardId);if(shard.sessionInfo){shard.closeSequence=shard.sessionInfo.sequence;shard.status=Status2.Resuming}else{shard.status=Status2.Identifying}});this._ws.on(WSWebSocketShardEvents.Resumed,({shardId})=>{const shard=this.shards.get(shardId);shard.status=Status2.Ready;shard.emit(WebSocketShardEvents.Resumed)});this._ws.on(WSWebSocketShardEvents.HeartbeatComplete,({heartbeatAt,latency,shardId})=>{this.debug(`Heartbeat acknowledged, latency of ${latency}ms.`,shardId);const shard=this.shards.get(shardId);shard.lastPingTimestamp=heartbeatAt;shard.ping=latency});this._ws.on(WSWebSocketShardEvents.Error,({error,shardId})=>{this.client.emit(Events2.ShardError,error,shardId)})}broadcast(packet){for(const shardId of this.shards.keys())this._ws.send(shardId,packet)}destroy(){if(this.destroyed)return;this.debug(`Manager was destroyed. Called by:
${new Error().stack}`);this.destroyed=true;this._ws.destroy({code:CloseCodes.Normal})}handlePacket(packet,shard){if(packet&&this.status!==Status2.Ready){if(!BeforeReadyWhitelist.includes(packet.t)){this.packetQueue.push({packet,shard});return false}}if(this.packetQueue.length){const item=this.packetQueue.shift();setImmediate2(()=>{this.handlePacket(item.packet,item.shard)}).unref()}if(packet&&PacketHandlers[packet.t]){PacketHandlers[packet.t](this.client,packet,shard)}return true}checkShardsReady(){if(this.status===Status2.Ready)return;if(this.shards.size!==this.totalShards||this.shards.some(s=>s.status!==Status2.Ready)){return}this.triggerClientReady()}triggerClientReady(){this.status=Status2.Ready;this.client.readyTimestamp=Date.now();this.client.emit(Events2.ClientReady,this.client);this.handlePacket()}};module2.exports=WebSocketManager2}});var require_BaseGuildEmojiManager=__commonJS({"node_modules/discord.js/src/managers/BaseGuildEmojiManager.js"(exports2,module2){"use strict";var CachedManager=require_CachedManager();var GuildEmoji=require_GuildEmoji();var ReactionEmoji=require_ReactionEmoji();var{parseEmoji}=require_Util();var BaseGuildEmojiManager2=class extends CachedManager{constructor(client,iterable){super(client,GuildEmoji,iterable)}resolve(emoji){if(emoji instanceof ReactionEmoji)return super.resolve(emoji.id);return super.resolve(emoji)}resolveId(emoji){if(emoji instanceof ReactionEmoji)return emoji.id;return super.resolveId(emoji)}resolveIdentifier(emoji){const emojiResolvable=this.resolve(emoji);if(emojiResolvable)return emojiResolvable.identifier;if(emoji instanceof ReactionEmoji)return emoji.identifier;if(typeof emoji==="string"){const res=parseEmoji(emoji);if(res==null?void 0:res.name.length){emoji=`${res.animated?"a:":""}${res.name}${res.id?`:${res.id}`:""}`}if(!emoji.includes("%"))return encodeURIComponent(emoji);return emoji}return null}};module2.exports=BaseGuildEmojiManager2}});var require_ChannelManager=__commonJS({"node_modules/discord.js/src/managers/ChannelManager.js"(exports2,module2){"use strict";var process6=require("node:process");var{Routes:Routes2}=require_v106();var CachedManager=require_CachedManager();var{BaseChannel}=require_BaseChannel();var{createChannel}=require_Channels();var{ThreadChannelTypes}=require_Constants();var Events2=require_Events();var cacheWarningEmitted=false;var ChannelManager2=class extends CachedManager{constructor(client,iterable){super(client,BaseChannel,iterable);const defaultCaching=this._cache.constructor.name==="Collection"||this._cache.maxSize===void 0||this._cache.maxSize===Infinity;if(!cacheWarningEmitted&&!defaultCaching){cacheWarningEmitted=true;process6.emitWarning(`Overriding the cache handling for ${this.constructor.name} is unsupported and breaks functionality.`,"UnsupportedCacheOverwriteWarning")}}_add(data,guild2,{cache:cache2=true,allowUnknownGuild=false}={}){var _a12,_b2,_c;const existing=this.cache.get(data.id);if(existing){if(cache2)existing._patch(data);(_a12=guild2==null?void 0:guild2.channels)==null?void 0:_a12._add(existing);if(ThreadChannelTypes.includes(existing.type)){(_c=(_b2=existing.parent)==null?void 0:_b2.threads)==null?void 0:_c._add(existing)}return existing}const channel=createChannel(this.client,data,guild2,{allowUnknownGuild});if(!channel){this.client.emit(Events2.Debug,`Failed to find guild, or unknown type for channel ${data.id} ${data.type}`);return null}if(cache2&&!allowUnknownGuild)this.cache.set(channel.id,channel);return channel}_remove(id){var _a12,_b2,_c,_d;const channel=this.cache.get(id);(_a12=channel==null?void 0:channel.guild)==null?void 0:_a12.channels.cache.delete(id);for(const[code,invite]of((_b2=channel==null?void 0:channel.guild)==null?void 0:_b2.invites.cache)??[]){if(invite.channelId===id)channel.guild.invites.cache.delete(code)}(_d=(_c=channel==null?void 0:channel.parent)==null?void 0:_c.threads)==null?void 0:_d.cache.delete(id);this.cache.delete(id)}async fetch(id,{allowUnknownGuild=false,cache:cache2=true,force=false}={}){if(!force){const existing=this.cache.get(id);if(existing&&!existing.partial)return existing}const data=await this.client.rest.get(Routes2.channel(id));return this._add(data,null,{cache:cache2,allowUnknownGuild})}};module2.exports=ChannelManager2}});var require_GuildAuditLogs=__commonJS({"node_modules/discord.js/src/structures/GuildAuditLogs.js"(exports2,module2){"use strict";var{Collection:Collection2}=require_dist();var ApplicationCommand=require_ApplicationCommand();var GuildAuditLogsEntry=require_GuildAuditLogsEntry();var Integration=require_Integration();var Webhook2=require_Webhook();var{flatten:flatten2}=require_Util();var GuildAuditLogs=class{constructor(guild2,data){if(data.users)for(const user of data.users)guild2.client.users._add(user);if(data.threads)for(const thread of data.threads)guild2.client.channels._add(thread,guild2);this.webhooks=new Collection2;if(data.webhooks){for(const hook of data.webhooks){this.webhooks.set(hook.id,new Webhook2(guild2.client,hook))}}this.integrations=new Collection2;if(data.integrations){for(const integration of data.integrations){this.integrations.set(integration.id,new Integration(guild2.client,integration,guild2))}}this.guildScheduledEvents=data.guild_scheduled_events.reduce((guildScheduledEvents,guildScheduledEvent)=>guildScheduledEvents.set(guildScheduledEvent.id,guild2.scheduledEvents._add(guildScheduledEvent)),new Collection2);this.applicationCommands=new Collection2;if(data.application_commands){for(const command of data.application_commands){this.applicationCommands.set(command.id,new ApplicationCommand(guild2.client,command,guild2))}}this.autoModerationRules=data.auto_moderation_rules.reduce((autoModerationRules,autoModerationRule)=>autoModerationRules.set(autoModerationRule.id,guild2.autoModerationRules._add(autoModerationRule)),new Collection2);this.entries=new Collection2;for(const item of data.audit_log_entries){const entry=new GuildAuditLogsEntry(guild2,item,this);this.entries.set(entry.id,entry)}}toJSON(){return flatten2(this)}};module2.exports=GuildAuditLogs}});var require_GuildPreviewEmoji=__commonJS({"node_modules/discord.js/src/structures/GuildPreviewEmoji.js"(exports2,module2){"use strict";var BaseGuildEmoji=require_BaseGuildEmoji();var GuildPreviewEmoji=class extends BaseGuildEmoji{constructor(client,data,guild2){super(client,data,guild2);this.roles=data.roles}};module2.exports=GuildPreviewEmoji}});var require_GuildPreview=__commonJS({"node_modules/discord.js/src/structures/GuildPreview.js"(exports2,module2){"use strict";var{Collection:Collection2}=require_dist();var{DiscordSnowflake}=require_cjs2();var{Routes:Routes2}=require_v106();var Base=require_Base();var GuildPreviewEmoji=require_GuildPreviewEmoji();var{Sticker:Sticker2}=require_Sticker();var GuildPreview2=class extends Base{constructor(client,data){super(client);if(!data)return;this._patch(data)}_patch(data){this.id=data.id;if("name"in data){this.name=data.name}if("icon"in data){this.icon=data.icon}if("splash"in data){this.splash=data.splash}if("discovery_splash"in data){this.discoverySplash=data.discovery_splash}if("features"in data){this.features=data.features}if("approximate_member_count"in data){this.approximateMemberCount=data.approximate_member_count}if("approximate_presence_count"in data){this.approximatePresenceCount=data.approximate_presence_count}if("description"in data){this.description=data.description}else{this.description??=null}if(!this.emojis){this.emojis=new Collection2}else{this.emojis.clear()}for(const emoji of data.emojis){this.emojis.set(emoji.id,new GuildPreviewEmoji(this.client,emoji,this))}this.stickers=data.stickers.reduce((stickers,sticker)=>stickers.set(sticker.id,new Sticker2(this.client,sticker)),new Collection2)}get createdTimestamp(){return DiscordSnowflake.timestampFrom(this.id)}get createdAt(){return new Date(this.createdTimestamp)}splashURL(options={}){return this.splash&&this.client.rest.cdn.splash(this.id,this.splash,options)}discoverySplashURL(options={}){return this.discoverySplash&&this.client.rest.cdn.discoverySplash(this.id,this.discoverySplash,options)}iconURL(options={}){return this.icon&&this.client.rest.cdn.icon(this.id,this.icon,options)}async fetch(){const data=await this.client.rest.get(Routes2.guildPreview(this.id));this._patch(data);return this}toString(){return this.name}toJSON(){const json2=super.toJSON();json2.iconURL=this.iconURL();json2.splashURL=this.splashURL();return json2}};module2.exports=GuildPreview2}});var require_AutoModerationRuleManager=__commonJS({"node_modules/discord.js/src/managers/AutoModerationRuleManager.js"(exports2,module2){"use strict";var{Collection:Collection2}=require_dist();var{Routes:Routes2}=require_v106();var CachedManager=require_CachedManager();var AutoModerationRule=require_AutoModerationRule();var AutoModerationRuleManager=class extends CachedManager{constructor(guild2,iterable){super(guild2.client,AutoModerationRule,iterable);this.guild=guild2}_add(data,cache2){return super._add(data,cache2,{extras:[this.guild]})}async create({name,eventType,triggerType,triggerMetadata,actions,enabled:enabled3,exemptRoles,exemptChannels,reason}){const data=await this.client.rest.post(Routes2.guildAutoModerationRules(this.guild.id),{body:{name,event_type:eventType,trigger_type:triggerType,trigger_metadata:triggerMetadata&&{keyword_filter:triggerMetadata.keywordFilter,regex_patterns:triggerMetadata.regexPatterns,presets:triggerMetadata.presets,allow_list:triggerMetadata.allowList,mention_total_limit:triggerMetadata.mentionTotalLimit,mention_raid_protection_enabled:triggerMetadata.mentionRaidProtectionEnabled},actions:actions.map(action=>{var _a12,_b2,_c;return{type:action.type,metadata:{duration_seconds:(_a12=action.metadata)==null?void 0:_a12.durationSeconds,channel_id:((_b2=action.metadata)==null?void 0:_b2.channel)&&this.guild.channels.resolveId(action.metadata.channel),custom_message:(_c=action.metadata)==null?void 0:_c.customMessage}}}),enabled:enabled3,exempt_roles:exemptRoles==null?void 0:exemptRoles.map(exemptRole=>this.guild.roles.resolveId(exemptRole)),exempt_channels:exemptChannels==null?void 0:exemptChannels.map(exemptChannel=>this.guild.channels.resolveId(exemptChannel))},reason});return this._add(data)}async edit(autoModerationRule,{name,eventType,triggerMetadata,actions,enabled:enabled3,exemptRoles,exemptChannels,reason}){const autoModerationRuleId=this.resolveId(autoModerationRule);const data=await this.client.rest.patch(Routes2.guildAutoModerationRule(this.guild.id,autoModerationRuleId),{body:{name,event_type:eventType,trigger_metadata:triggerMetadata&&{keyword_filter:triggerMetadata.keywordFilter,regex_patterns:triggerMetadata.regexPatterns,presets:triggerMetadata.presets,allow_list:triggerMetadata.allowList,mention_total_limit:triggerMetadata.mentionTotalLimit,mention_raid_protection_enabled:triggerMetadata.mentionRaidProtectionEnabled},actions:actions==null?void 0:actions.map(action=>{var _a12,_b2,_c;return{type:action.type,metadata:{duration_seconds:(_a12=action.metadata)==null?void 0:_a12.durationSeconds,channel_id:((_b2=action.metadata)==null?void 0:_b2.channel)&&this.guild.channels.resolveId(action.metadata.channel),custom_message:(_c=action.metadata)==null?void 0:_c.customMessage}}}),enabled:enabled3,exempt_roles:exemptRoles==null?void 0:exemptRoles.map(exemptRole=>this.guild.roles.resolveId(exemptRole)),exempt_channels:exemptChannels==null?void 0:exemptChannels.map(exemptChannel=>this.guild.channels.resolveId(exemptChannel))},reason});return this._add(data)}fetch(options){if(!options)return this._fetchMany();const{autoModerationRule,cache:cache2,force}=options;const resolvedAutoModerationRule=this.resolveId(autoModerationRule??options);if(resolvedAutoModerationRule){return this._fetchSingle({autoModerationRule:resolvedAutoModerationRule,cache:cache2,force})}return this._fetchMany(options)}async _fetchSingle({autoModerationRule,cache:cache2,force=false}){if(!force){const existing=this.cache.get(autoModerationRule);if(existing)return existing}const data=await this.client.rest.get(Routes2.guildAutoModerationRule(this.guild.id,autoModerationRule));return this._add(data,cache2)}async _fetchMany(options={}){const data=await this.client.rest.get(Routes2.guildAutoModerationRules(this.guild.id));return data.reduce((col,autoModerationRule)=>col.set(autoModerationRule.id,this._add(autoModerationRule,options.cache)),new Collection2)}async delete(autoModerationRule,reason){const autoModerationRuleId=this.resolveId(autoModerationRule);await this.client.rest.delete(Routes2.guildAutoModerationRule(this.guild.id,autoModerationRuleId),{reason})}};module2.exports=AutoModerationRuleManager}});var require_GuildApplicationCommandManager=__commonJS({"node_modules/discord.js/src/managers/GuildApplicationCommandManager.js"(exports2,module2){"use strict";var ApplicationCommandManager=require_ApplicationCommandManager();var ApplicationCommandPermissionsManager=require_ApplicationCommandPermissionsManager();var GuildApplicationCommandManager=class extends ApplicationCommandManager{constructor(guild2,iterable){super(guild2.client,iterable);this.guild=guild2;this.permissions=new ApplicationCommandPermissionsManager(this)}};module2.exports=GuildApplicationCommandManager}});var require_GuildBanManager=__commonJS({"node_modules/discord.js/src/managers/GuildBanManager.js"(exports2,module2){"use strict";var process6=require("node:process");var{Collection:Collection2}=require_dist();var{makeURLSearchParams:makeURLSearchParams2}=require_dist3();var{Routes:Routes2}=require_v106();var CachedManager=require_CachedManager();var{DiscordjsTypeError:DiscordjsTypeError2,DiscordjsError:DiscordjsError2,ErrorCodes:ErrorCodes2}=require_errors6();var GuildBan=require_GuildBan();var{GuildMember}=require_GuildMember();var deprecationEmittedForDeleteMessageDays=false;var GuildBanManager=class extends CachedManager{constructor(guild2,iterable){super(guild2.client,GuildBan,iterable);this.guild=guild2}_add(data,cache2){return super._add(data,cache2,{id:data.user.id,extras:[this.guild]})}resolve(ban){return super.resolve(ban)??super.resolve(this.client.users.resolveId(ban))}fetch(options){if(!options)return this._fetchMany();const{user,cache:cache2,force,limit,before:before2,after:after2}=options;const resolvedUser=this.client.users.resolveId(user??options);if(resolvedUser)return this._fetchSingle({user:resolvedUser,cache:cache2,force});if(!before2&&!after2&&!limit&&cache2===void 0){return Promise.reject(new DiscordjsError2(ErrorCodes2.FetchBanResolveId))}return this._fetchMany(options)}async _fetchSingle({user,cache:cache2,force=false}){if(!force){const existing=this.cache.get(user);if(existing&&!existing.partial)return existing}const data=await this.client.rest.get(Routes2.guildBan(this.guild.id,user));return this._add(data,cache2)}async _fetchMany(options={}){const data=await this.client.rest.get(Routes2.guildBans(this.guild.id),{query:makeURLSearchParams2(options)});return data.reduce((col,ban)=>col.set(ban.user.id,this._add(ban,options.cache)),new Collection2)}async create(user,options={}){if(typeof options!=="object")throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"options","object",true);const id=this.client.users.resolveId(user);if(!id)throw new DiscordjsError2(ErrorCodes2.BanResolveId,true);if(options.deleteMessageDays!==void 0&&!deprecationEmittedForDeleteMessageDays){process6.emitWarning("The deleteMessageDays option for GuildBanManager#create() is deprecated. Use the deleteMessageSeconds option instead.","DeprecationWarning");deprecationEmittedForDeleteMessageDays=true}await this.client.rest.put(Routes2.guildBan(this.guild.id,id),{body:{delete_message_seconds:options.deleteMessageSeconds??(options.deleteMessageDays?options.deleteMessageDays*24*60*60:void 0)},reason:options.reason});if(user instanceof GuildMember)return user;const _user=this.client.users.resolve(id);if(_user){return this.guild.members.resolve(_user)??_user}return id}async remove(user,reason){const id=this.client.users.resolveId(user);if(!id)throw new DiscordjsError2(ErrorCodes2.BanResolveId);await this.client.rest.delete(Routes2.guildBan(this.guild.id,id),{reason});return this.client.users.resolve(user)}};module2.exports=GuildBanManager}});var require_GuildChannelManager=__commonJS({"node_modules/discord.js/src/managers/GuildChannelManager.js"(exports2,module2){"use strict";var process6=require("node:process");var{Collection:Collection2}=require_dist();var{ChannelType:ChannelType3,Routes:Routes2}=require_v106();var CachedManager=require_CachedManager();var GuildTextThreadManager=require_GuildTextThreadManager();var{DiscordjsError:DiscordjsError2,DiscordjsTypeError:DiscordjsTypeError2,ErrorCodes:ErrorCodes2}=require_errors6();var GuildChannel=require_GuildChannel();var PermissionOverwrites=require_PermissionOverwrites();var ThreadChannel=require_ThreadChannel();var Webhook2=require_Webhook();var ChannelFlagsBitField=require_ChannelFlagsBitField();var{transformGuildForumTag,transformGuildDefaultReaction}=require_Channels();var{ThreadChannelTypes}=require_Constants();var DataResolver2=require_DataResolver();var{setPosition}=require_Util();var cacheWarningEmitted=false;var GuildChannelManager=class extends CachedManager{constructor(guild2,iterable){super(guild2.client,GuildChannel,iterable);const defaultCaching=this._cache.constructor.name==="Collection"||this._cache.maxSize===void 0||this._cache.maxSize===Infinity;if(!cacheWarningEmitted&&!defaultCaching){cacheWarningEmitted=true;process6.emitWarning(`Overriding the cache handling for ${this.constructor.name} is unsupported and breaks functionality.`,"UnsupportedCacheOverwriteWarning")}this.guild=guild2}get channelCountWithoutThreads(){return this.cache.reduce((acc,channel)=>{if(ThreadChannelTypes.includes(channel.type))return acc;return++acc},0)}_add(channel){const existing=this.cache.get(channel.id);if(existing)return existing;this.cache.set(channel.id,channel);return channel}resolve(channel){if(channel instanceof ThreadChannel)return super.resolve(channel.id);return super.resolve(channel)}resolveId(channel){if(channel instanceof ThreadChannel)return super.resolveId(channel.id);return super.resolveId(channel)}async addFollower(channel,targetChannel,reason){const channelId=this.resolveId(channel);const targetChannelId=this.resolveId(targetChannel);if(!channelId||!targetChannelId)throw new Error(ErrorCodes2.GuildChannelResolve);const{webhook_id}=await this.client.rest.post(Routes2.channelFollowers(channelId),{body:{webhook_channel_id:targetChannelId},reason});return webhook_id}async create({name,type:type2,topic,nsfw,bitrate,userLimit,parent:parent2,permissionOverwrites,position,rateLimitPerUser,rtcRegion,videoQualityMode,availableTags,defaultReactionEmoji,defaultAutoArchiveDuration,defaultSortOrder,defaultForumLayout,reason}){parent2&&=this.client.channels.resolveId(parent2);permissionOverwrites&&=permissionOverwrites.map(o=>PermissionOverwrites.resolve(o,this.guild));const data=await this.client.rest.post(Routes2.guildChannels(this.guild.id),{body:{name,topic,type:type2,nsfw,bitrate,user_limit:userLimit,parent_id:parent2,position,permission_overwrites:permissionOverwrites,rate_limit_per_user:rateLimitPerUser,rtc_region:rtcRegion,video_quality_mode:videoQualityMode,available_tags:availableTags==null?void 0:availableTags.map(availableTag=>transformGuildForumTag(availableTag)),default_reaction_emoji:defaultReactionEmoji&&transformGuildDefaultReaction(defaultReactionEmoji),default_auto_archive_duration:defaultAutoArchiveDuration,default_sort_order:defaultSortOrder,default_forum_layout:defaultForumLayout},reason});return this.client.actions.ChannelCreate.handle(data).channel}async createWebhook({channel,name,avatar,reason}){const id=this.resolveId(channel);if(!id)throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"channel","GuildChannelResolvable");if(typeof avatar==="string"&&!avatar.startsWith("data:")){avatar=await DataResolver2.resolveImage(avatar)}const data=await this.client.rest.post(Routes2.channelWebhooks(id),{body:{name,avatar},reason});return new Webhook2(this.client,data)}async edit(channel,options){var _a12,_b2;channel=this.resolve(channel);if(!channel)throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"channel","GuildChannelResolvable");const parent2=options.parent&&this.client.channels.resolveId(options.parent);if(options.position!==void 0){await this.setPosition(channel,options.position,{position:options.position,reason:options.reason})}let permission_overwrites=(_a12=options.permissionOverwrites)==null?void 0:_a12.map(o=>PermissionOverwrites.resolve(o,this.guild));if(options.lockPermissions){if(parent2){const newParent=this.guild.channels.resolve(parent2);if((newParent==null?void 0:newParent.type)===ChannelType3.GuildCategory){permission_overwrites=newParent.permissionOverwrites.cache.map(o=>PermissionOverwrites.resolve(o,this.guild))}}else if(channel.parent){permission_overwrites=channel.parent.permissionOverwrites.cache.map(o=>PermissionOverwrites.resolve(o,this.guild))}}const newData=await this.client.rest.patch(Routes2.channel(channel.id),{body:{name:(options.name??channel.name).trim(),type:options.type,topic:options.topic,nsfw:options.nsfw,bitrate:options.bitrate??channel.bitrate,user_limit:options.userLimit??channel.userLimit,rtc_region:"rtcRegion"in options?options.rtcRegion:channel.rtcRegion,video_quality_mode:options.videoQualityMode,parent_id:parent2,lock_permissions:options.lockPermissions,rate_limit_per_user:options.rateLimitPerUser,default_auto_archive_duration:options.defaultAutoArchiveDuration,permission_overwrites,available_tags:(_b2=options.availableTags)==null?void 0:_b2.map(availableTag=>transformGuildForumTag(availableTag)),default_reaction_emoji:options.defaultReactionEmoji&&transformGuildDefaultReaction(options.defaultReactionEmoji),default_thread_rate_limit_per_user:options.defaultThreadRateLimitPerUser,flags:"flags"in options?ChannelFlagsBitField.resolve(options.flags):void 0,default_sort_order:options.defaultSortOrder,default_forum_layout:options.defaultForumLayout},reason:options.reason});return this.client.actions.ChannelUpdate.handle(newData).updated}async setPosition(channel,position,{relative:relative3,reason}={}){channel=this.resolve(channel);if(!channel)throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"channel","GuildChannelResolvable");const updatedChannels=await setPosition(channel,position,relative3,this.guild._sortedChannels(channel),this.client,Routes2.guildChannels(this.guild.id),reason);this.client.actions.GuildChannelsPositionUpdate.handle({guild_id:this.guild.id,channels:updatedChannels});return channel}async fetch(id,{cache:cache2=true,force=false}={}){if(id&&!force){const existing=this.cache.get(id);if(existing)return existing}if(id){const data2=await this.client.rest.get(Routes2.channel(id));if(this.guild.id!==data2.guild_id)throw new DiscordjsError2(ErrorCodes2.GuildChannelUnowned);return this.client.channels._add(data2,this.guild,{cache:cache2})}const data=await this.client.rest.get(Routes2.guildChannels(this.guild.id));const channels=new Collection2;for(const channel of data)channels.set(channel.id,this.client.channels._add(channel,this.guild,{cache:cache2}));return channels}async fetchWebhooks(channel){const id=this.resolveId(channel);if(!id)throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"channel","GuildChannelResolvable");const data=await this.client.rest.get(Routes2.channelWebhooks(id));return data.reduce((hooks,hook)=>hooks.set(hook.id,new Webhook2(this.client,hook)),new Collection2)}async setPositions(channelPositions){channelPositions=channelPositions.map(r=>({id:this.client.channels.resolveId(r.channel),position:r.position,lock_permissions:r.lockPermissions,parent_id:r.parent!==void 0?this.resolveId(r.parent):void 0}));await this.client.rest.patch(Routes2.guildChannels(this.guild.id),{body:channelPositions});return this.client.actions.GuildChannelsPositionUpdate.handle({guild_id:this.guild.id,channels:channelPositions}).guild}async fetchActiveThreads(cache2=true){const raw=await this.client.rest.get(Routes2.guildActiveThreads(this.guild.id));return GuildTextThreadManager._mapThreads(raw,this.client,{guild:this.guild,cache:cache2})}async delete(channel,reason){const id=this.resolveId(channel);if(!id)throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"channel","GuildChannelResolvable");await this.client.rest.delete(Routes2.channel(id),{reason});this.client.actions.ChannelDelete.handle({id})}};module2.exports=GuildChannelManager}});var require_GuildEmojiManager=__commonJS({"node_modules/discord.js/src/managers/GuildEmojiManager.js"(exports2,module2){"use strict";var{Collection:Collection2}=require_dist();var{Routes:Routes2,PermissionFlagsBits}=require_v106();var BaseGuildEmojiManager2=require_BaseGuildEmojiManager();var{DiscordjsError:DiscordjsError2,DiscordjsTypeError:DiscordjsTypeError2,ErrorCodes:ErrorCodes2}=require_errors6();var DataResolver2=require_DataResolver();var GuildEmojiManager=class extends BaseGuildEmojiManager2{constructor(guild2,iterable){super(guild2.client,iterable);this.guild=guild2}_add(data,cache2){return super._add(data,cache2,{extras:[this.guild]})}async create({attachment,name,roles,reason}){attachment=await DataResolver2.resolveImage(attachment);if(!attachment)throw new DiscordjsTypeError2(ErrorCodes2.ReqResourceType);const body={image:attachment,name};if(roles){if(!Array.isArray(roles)&&!(roles instanceof Collection2)){throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"options.roles","Array or Collection of Roles or Snowflakes",true)}body.roles=[];for(const role of roles.values()){const resolvedRole=this.guild.roles.resolveId(role);if(!resolvedRole){throw new DiscordjsTypeError2(ErrorCodes2.InvalidElement,"Array or Collection","options.roles",role)}body.roles.push(resolvedRole)}}const emoji=await this.client.rest.post(Routes2.guildEmojis(this.guild.id),{body,reason});return this.client.actions.GuildEmojiCreate.handle(this.guild,emoji).emoji}async fetch(id,{cache:cache2=true,force=false}={}){if(id){if(!force){const existing=this.cache.get(id);if(existing)return existing}const emoji=await this.client.rest.get(Routes2.guildEmoji(this.guild.id,id));return this._add(emoji,cache2)}const data=await this.client.rest.get(Routes2.guildEmojis(this.guild.id));const emojis=new Collection2;for(const emoji of data)emojis.set(emoji.id,this._add(emoji,cache2));return emojis}async delete(emoji,reason){const id=this.resolveId(emoji);if(!id)throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"emoji","EmojiResolvable",true);await this.client.rest.delete(Routes2.guildEmoji(this.guild.id,id),{reason})}async edit(emoji,options){var _a12;const id=this.resolveId(emoji);if(!id)throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"emoji","EmojiResolvable",true);const roles=(_a12=options.roles)==null?void 0:_a12.map(r=>this.guild.roles.resolveId(r));const newData=await this.client.rest.patch(Routes2.guildEmoji(this.guild.id,id),{body:{name:options.name,roles},reason:options.reason});const existing=this.cache.get(id);if(existing){const clone2=existing._clone();clone2._patch(newData);return clone2}return this._add(newData)}async fetchAuthor(emoji){emoji=this.resolve(emoji);if(!emoji)throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"emoji","EmojiResolvable",true);if(emoji.managed){throw new DiscordjsError2(ErrorCodes2.EmojiManaged)}const{me}=this.guild.members;if(!me)throw new DiscordjsError2(ErrorCodes2.GuildUncachedMe);if(!me.permissions.has(PermissionFlagsBits.ManageGuildExpressions)){throw new DiscordjsError2(ErrorCodes2.MissingManageGuildExpressionsPermission,this.guild)}const data=await this.client.rest.get(Routes2.guildEmoji(this.guild.id,emoji.id));emoji._patch(data);return emoji.author}};module2.exports=GuildEmojiManager}});var require_GuildInviteManager=__commonJS({"node_modules/discord.js/src/managers/GuildInviteManager.js"(exports2,module2){"use strict";var{Collection:Collection2}=require_dist();var{Routes:Routes2}=require_v106();var CachedManager=require_CachedManager();var{DiscordjsError:DiscordjsError2,ErrorCodes:ErrorCodes2}=require_errors6();var Invite2=require_Invite();var DataResolver2=require_DataResolver();var GuildInviteManager=class extends CachedManager{constructor(guild2,iterable){super(guild2.client,Invite2,iterable);this.guild=guild2}_add(data,cache2){return super._add(data,cache2,{id:data.code,extras:[this.guild]})}fetch(options){if(!options)return this._fetchMany();if(typeof options==="string"){const code=DataResolver2.resolveInviteCode(options);if(!code)return Promise.reject(new DiscordjsError2(ErrorCodes2.InviteResolveCode));return this._fetchSingle({code,cache:true})}if(!options.code){if(options.channelId){const id=this.guild.channels.resolveId(options.channelId);if(!id)return Promise.reject(new DiscordjsError2(ErrorCodes2.GuildChannelResolve));return this._fetchChannelMany(id,options.cache)}if("cache"in options)return this._fetchMany(options.cache);return Promise.reject(new DiscordjsError2(ErrorCodes2.InviteResolveCode))}return this._fetchSingle({...options,code:DataResolver2.resolveInviteCode(options.code)})}async _fetchSingle({code,cache:cache2,force=false}){if(!force){const existing=this.cache.get(code);if(existing)return existing}const invites=await this._fetchMany(cache2);const invite=invites.get(code);if(!invite)throw new DiscordjsError2(ErrorCodes2.InviteNotFound);return invite}async _fetchMany(cache2){const data=await this.client.rest.get(Routes2.guildInvites(this.guild.id));return data.reduce((col,invite)=>col.set(invite.code,this._add(invite,cache2)),new Collection2)}async _fetchChannelMany(channelId,cache2){const data=await this.client.rest.get(Routes2.channelInvites(channelId));return data.reduce((col,invite)=>col.set(invite.code,this._add(invite,cache2)),new Collection2)}async create(channel,{temporary,maxAge,maxUses,unique,targetUser,targetApplication,targetType,reason}={}){const id=this.guild.channels.resolveId(channel);if(!id)throw new DiscordjsError2(ErrorCodes2.GuildChannelResolve);const invite=await this.client.rest.post(Routes2.channelInvites(id),{body:{temporary,max_age:maxAge,max_uses:maxUses,unique,target_user_id:this.client.users.resolveId(targetUser),target_application_id:(targetApplication==null?void 0:targetApplication.id)??(targetApplication==null?void 0:targetApplication.applicationId)??targetApplication,target_type:targetType},reason});return new Invite2(this.client,invite)}async delete(invite,reason){const code=DataResolver2.resolveInviteCode(invite);await this.client.rest.delete(Routes2.invite(code),{reason})}};module2.exports=GuildInviteManager}});var require_GuildMemberManager=__commonJS({"node_modules/discord.js/src/managers/GuildMemberManager.js"(exports2,module2){"use strict";var{setTimeout:setTimeout3,clearTimeout:clearTimeout2}=require("node:timers");var{Collection:Collection2}=require_dist();var{makeURLSearchParams:makeURLSearchParams2}=require_dist3();var{DiscordSnowflake}=require_cjs2();var{Routes:Routes2,GatewayOpcodes}=require_v106();var CachedManager=require_CachedManager();var{DiscordjsError:DiscordjsError2,DiscordjsTypeError:DiscordjsTypeError2,DiscordjsRangeError:DiscordjsRangeError2,ErrorCodes:ErrorCodes2}=require_errors6();var BaseGuildVoiceChannel=require_BaseGuildVoiceChannel();var{GuildMember}=require_GuildMember();var{Role}=require_Role();var Events2=require_Events();var{GuildMemberFlagsBitField}=require_GuildMemberFlagsBitField();var Partials=require_Partials();var GuildMemberManager=class extends CachedManager{constructor(guild2,iterable){super(guild2.client,GuildMember,iterable);this.guild=guild2}_add(data,cache2=true){return super._add(data,cache2,{id:data.user.id,extras:[this.guild]})}resolve(member){const memberResolvable=super.resolve(member);if(memberResolvable)return memberResolvable;const userResolvable=this.client.users.resolveId(member);if(userResolvable)return super.resolve(userResolvable);return null}resolveId(member){const memberResolvable=super.resolveId(member);if(memberResolvable)return memberResolvable;const userResolvable=this.client.users.resolveId(member);return this.cache.has(userResolvable)?userResolvable:null}async add(user,options){const userId=this.client.users.resolveId(user);if(!userId)throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"user","UserResolvable");if(!options.force){const cachedUser=this.cache.get(userId);if(cachedUser)return cachedUser}const resolvedOptions={access_token:options.accessToken,nick:options.nick,mute:options.mute,deaf:options.deaf};if(options.roles){if(!Array.isArray(options.roles)&&!(options.roles instanceof Collection2)){throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"options.roles","Array or Collection of Roles or Snowflakes",true)}const resolvedRoles=[];for(const role of options.roles.values()){const resolvedRole=this.guild.roles.resolveId(role);if(!resolvedRole){throw new DiscordjsTypeError2(ErrorCodes2.InvalidElement,"Array or Collection","options.roles",role)}resolvedRoles.push(resolvedRole)}resolvedOptions.roles=resolvedRoles}const data=await this.client.rest.put(Routes2.guildMember(this.guild.id,userId),{body:resolvedOptions});return data instanceof Uint8Array?options.fetchWhenExisting===false?null:this.fetch(userId):this._add(data)}get me(){return this.resolve(this.client.user.id)??(this.client.options.partials.includes(Partials.GuildMember)?this._add({user:{id:this.client.user.id}},true):null)}fetch(options){var _a12;if(!options)return this._fetchMany();const{user:users,limit,withPresences,cache:cache2,force}=options;const resolvedUser=this.client.users.resolveId(users??options);if(resolvedUser&&!limit&&!withPresences)return this._fetchSingle({user:resolvedUser,cache:cache2,force});const resolvedUsers=((_a12=users==null?void 0:users.map)==null?void 0:_a12.call(users,user=>this.client.users.resolveId(user)))??resolvedUser??void 0;return this._fetchMany({...options,users:resolvedUsers})}async _fetchSingle({user,cache:cache2,force=false}){if(!force){const existing=this.cache.get(user);if(existing&&!existing.partial)return existing}const data=await this.client.rest.get(Routes2.guildMember(this.guild.id,user));return this._add(data,cache2)}_fetchMany({limit=0,withPresences:presences,users,query,time=12e4,nonce=DiscordSnowflake.generate().toString()}={}){if(nonce.length>32)return Promise.reject(new DiscordjsRangeError2(ErrorCodes2.MemberFetchNonceLength));return new Promise((resolve,reject2)=>{if(!query&&!users)query="";this.guild.shard.send({op:GatewayOpcodes.RequestGuildMembers,d:{guild_id:this.guild.id,presences,user_ids:users,query,nonce,limit}});const fetchedMembers=new Collection2;let i=0;const handler=(members,_,chunk2)=>{if(chunk2.nonce!==nonce)return;timeout.refresh();i++;for(const member of members.values()){fetchedMembers.set(member.id,member)}if(members.size<1e3||limit&&fetchedMembers.size>=limit||i===chunk2.count){clearTimeout2(timeout);this.client.removeListener(Events2.GuildMembersChunk,handler);this.client.decrementMaxListeners();resolve(users&&!Array.isArray(users)&&fetchedMembers.size?fetchedMembers.first():fetchedMembers)}};const timeout=setTimeout3(()=>{this.client.removeListener(Events2.GuildMembersChunk,handler);this.client.decrementMaxListeners();reject2(new DiscordjsError2(ErrorCodes2.GuildMembersTimeout))},time).unref();this.client.incrementMaxListeners();this.client.on(Events2.GuildMembersChunk,handler)})}fetchMe(options){return this.fetch({...options,user:this.client.user.id})}async search({query,limit,cache:cache2=true}={}){const data=await this.client.rest.get(Routes2.guildMembersSearch(this.guild.id),{query:makeURLSearchParams2({query,limit})});return data.reduce((col,member)=>col.set(member.user.id,this._add(member,cache2)),new Collection2)}async list({after:after2,limit,cache:cache2=true}={}){const query=makeURLSearchParams2({limit,after:after2});const data=await this.client.rest.get(Routes2.guildMembers(this.guild.id),{query});return data.reduce((col,member)=>col.set(member.user.id,this._add(member,cache2)),new Collection2)}async edit(user,{reason,...options}){var _a12;const id=this.client.users.resolveId(user);if(!id)throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"user","UserResolvable");if(options.channel){options.channel=this.guild.channels.resolve(options.channel);if(!(options.channel instanceof BaseGuildVoiceChannel)){throw new DiscordjsError2(ErrorCodes2.GuildVoiceChannelResolve)}options.channel_id=options.channel.id;options.channel=void 0}else if(options.channel===null){options.channel_id=null;options.channel=void 0}options.roles&&=options.roles.map(role=>role instanceof Role?role.id:role);if(options.communicationDisabledUntil!==void 0){options.communication_disabled_until=options.communicationDisabledUntil!=null?new Date(options.communicationDisabledUntil).toISOString():options.communicationDisabledUntil}if(options.flags!==void 0){options.flags=GuildMemberFlagsBitField.resolve(options.flags)}let endpoint;if(id===this.client.user.id){const keys2=Object.keys(options);if(keys2.length===1&&keys2[0]==="nick")endpoint=Routes2.guildMember(this.guild.id);else endpoint=Routes2.guildMember(this.guild.id,id)}else{endpoint=Routes2.guildMember(this.guild.id,id)}const d=await this.client.rest.patch(endpoint,{body:options,reason});const clone2=(_a12=this.cache.get(id))==null?void 0:_a12._clone();clone2==null?void 0:clone2._patch(d);return clone2??this._add(d,false)}async prune({days,dry=false,count:compute_prune_count,roles=[],reason}={}){if(typeof days!=="number")throw new DiscordjsTypeError2(ErrorCodes2.PruneDaysType);const query={days};const resolvedRoles=[];for(const role of roles){const resolvedRole=this.guild.roles.resolveId(role);if(!resolvedRole){throw new DiscordjsTypeError2(ErrorCodes2.InvalidElement,"Array","options.roles",role)}resolvedRoles.push(resolvedRole)}if(resolvedRoles.length){query.include_roles=dry?resolvedRoles.join(","):resolvedRoles}const endpoint=Routes2.guildPrune(this.guild.id);const{pruned}=await(dry?this.client.rest.get(endpoint,{query:makeURLSearchParams2(query),reason}):this.client.rest.post(endpoint,{body:{...query,compute_prune_count},reason}));return pruned}async kick(user,reason){const id=this.client.users.resolveId(user);if(!id)return Promise.reject(new DiscordjsTypeError2(ErrorCodes2.InvalidType,"user","UserResolvable"));await this.client.rest.delete(Routes2.guildMember(this.guild.id,id),{reason});return this.resolve(user)??this.client.users.resolve(user)??id}ban(user,options){return this.guild.bans.create(user,options)}unban(user,reason){return this.guild.bans.remove(user,reason)}async addRole(options){const{user,role,reason}=options;const userId=this.guild.members.resolveId(user);const roleId=this.guild.roles.resolveId(role);await this.client.rest.put(Routes2.guildMemberRole(this.guild.id,userId,roleId),{reason});return this.resolve(user)??this.client.users.resolve(user)??userId}async removeRole(options){const{user,role,reason}=options;const userId=this.guild.members.resolveId(user);const roleId=this.guild.roles.resolveId(role);await this.client.rest.delete(Routes2.guildMemberRole(this.guild.id,userId,roleId),{reason});return this.resolve(user)??this.client.users.resolve(user)??userId}};module2.exports=GuildMemberManager}});var require_GuildScheduledEventManager=__commonJS({"node_modules/discord.js/src/managers/GuildScheduledEventManager.js"(exports2,module2){"use strict";var{Collection:Collection2}=require_dist();var{makeURLSearchParams:makeURLSearchParams2}=require_dist3();var{GuildScheduledEventEntityType,Routes:Routes2}=require_v106();var CachedManager=require_CachedManager();var{DiscordjsTypeError:DiscordjsTypeError2,DiscordjsError:DiscordjsError2,ErrorCodes:ErrorCodes2}=require_errors6();var{GuildScheduledEvent}=require_GuildScheduledEvent();var DataResolver2=require_DataResolver();var GuildScheduledEventManager=class extends CachedManager{constructor(guild2,iterable){super(guild2.client,GuildScheduledEvent,iterable);this.guild=guild2}async create(options){if(typeof options!=="object")throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"options","object",true);let{privacyLevel,entityType,channel,name,scheduledStartTime,description,scheduledEndTime,entityMetadata,reason,image}=options;let entity_metadata,channel_id;if(entityType===GuildScheduledEventEntityType.External){channel_id=channel===void 0?channel:null;entity_metadata={location:entityMetadata==null?void 0:entityMetadata.location}}else{channel_id=this.guild.channels.resolveId(channel);if(!channel_id)throw new DiscordjsError2(ErrorCodes2.GuildVoiceChannelResolve);entity_metadata=entityMetadata===void 0?entityMetadata:null}const data=await this.client.rest.post(Routes2.guildScheduledEvents(this.guild.id),{body:{channel_id,name,privacy_level:privacyLevel,scheduled_start_time:new Date(scheduledStartTime).toISOString(),scheduled_end_time:scheduledEndTime?new Date(scheduledEndTime).toISOString():scheduledEndTime,description,entity_type:entityType,entity_metadata,image:image&&await DataResolver2.resolveImage(image)},reason});return this._add(data)}async fetch(options={}){const id=this.resolveId(options.guildScheduledEvent??options);if(id){if(!options.force){const existing=this.cache.get(id);if(existing)return existing}const data2=await this.client.rest.get(Routes2.guildScheduledEvent(this.guild.id,id),{query:makeURLSearchParams2({with_user_count:options.withUserCount??true})});return this._add(data2,options.cache)}const data=await this.client.rest.get(Routes2.guildScheduledEvents(this.guild.id),{query:makeURLSearchParams2({with_user_count:options.withUserCount??true})});return data.reduce((coll,rawGuildScheduledEventData)=>coll.set(rawGuildScheduledEventData.id,this.guild.scheduledEvents._add(rawGuildScheduledEventData,options.cache)),new Collection2)}async edit(guildScheduledEvent,options){const guildScheduledEventId=this.resolveId(guildScheduledEvent);if(!guildScheduledEventId)throw new DiscordjsError2(ErrorCodes2.GuildScheduledEventResolve);if(typeof options!=="object")throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"options","object",true);let{privacyLevel,entityType,channel,status,name,scheduledStartTime,description,scheduledEndTime,entityMetadata,reason,image}=options;let entity_metadata;if(entityMetadata){entity_metadata={location:entityMetadata.location}}const data=await this.client.rest.patch(Routes2.guildScheduledEvent(this.guild.id,guildScheduledEventId),{body:{channel_id:channel===void 0?channel:this.guild.channels.resolveId(channel),name,privacy_level:privacyLevel,scheduled_start_time:scheduledStartTime?new Date(scheduledStartTime).toISOString():void 0,scheduled_end_time:scheduledEndTime?new Date(scheduledEndTime).toISOString():scheduledEndTime,description,entity_type:entityType,status,image:image&&await DataResolver2.resolveImage(image),entity_metadata},reason});return this._add(data)}async delete(guildScheduledEvent){const guildScheduledEventId=this.resolveId(guildScheduledEvent);if(!guildScheduledEventId)throw new DiscordjsError2(ErrorCodes2.GuildScheduledEventResolve);await this.client.rest.delete(Routes2.guildScheduledEvent(this.guild.id,guildScheduledEventId))}async fetchSubscribers(guildScheduledEvent,options={}){const guildScheduledEventId=this.resolveId(guildScheduledEvent);if(!guildScheduledEventId)throw new DiscordjsError2(ErrorCodes2.GuildScheduledEventResolve);const query=makeURLSearchParams2({limit:options.limit,with_member:options.withMember,before:options.before,after:options.after});const data=await this.client.rest.get(Routes2.guildScheduledEventUsers(this.guild.id,guildScheduledEventId),{query});return data.reduce((coll,rawData)=>coll.set(rawData.user.id,{guildScheduledEventId:rawData.guild_scheduled_event_id,user:this.client.users._add(rawData.user),member:rawData.member?this.guild.members._add({...rawData.member,user:rawData.user}):null}),new Collection2)}};module2.exports=GuildScheduledEventManager}});var require_GuildStickerManager=__commonJS({"node_modules/discord.js/src/managers/GuildStickerManager.js"(exports2,module2){"use strict";var{Collection:Collection2}=require_dist();var{Routes:Routes2}=require_v106();var CachedManager=require_CachedManager();var{DiscordjsTypeError:DiscordjsTypeError2,ErrorCodes:ErrorCodes2}=require_errors6();var MessagePayload=require_MessagePayload();var{Sticker:Sticker2}=require_Sticker();var GuildStickerManager=class extends CachedManager{constructor(guild2,iterable){super(guild2.client,Sticker2,iterable);this.guild=guild2}_add(data,cache2){return super._add(data,cache2,{extras:[this.guild]})}async create({file,name,tags,description,reason}={}){const resolvedFile=await MessagePayload.resolveFile(file);if(!resolvedFile)throw new DiscordjsTypeError2(ErrorCodes2.ReqResourceType);file={...resolvedFile,key:"file"};const body={name,tags,description:description??""};const sticker=await this.client.rest.post(Routes2.guildStickers(this.guild.id),{appendToFormData:true,body,files:[file],reason});return this.client.actions.GuildStickerCreate.handle(this.guild,sticker).sticker}async edit(sticker,options={}){const stickerId=this.resolveId(sticker);if(!stickerId)throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"sticker","StickerResolvable");const d=await this.client.rest.patch(Routes2.guildSticker(this.guild.id,stickerId),{body:options,reason:options.reason});const existing=this.cache.get(stickerId);if(existing){const clone2=existing._clone();clone2._patch(d);return clone2}return this._add(d)}async delete(sticker,reason){sticker=this.resolveId(sticker);if(!sticker)throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"sticker","StickerResolvable");await this.client.rest.delete(Routes2.guildSticker(this.guild.id,sticker),{reason})}async fetch(id,{cache:cache2=true,force=false}={}){if(id){if(!force){const existing=this.cache.get(id);if(existing)return existing}const sticker=await this.client.rest.get(Routes2.guildSticker(this.guild.id,id));return this._add(sticker,cache2)}const data=await this.client.rest.get(Routes2.guildStickers(this.guild.id));return new Collection2(data.map(sticker=>[sticker.id,this._add(sticker,cache2)]))}async fetchUser(sticker){sticker=this.resolve(sticker);if(!sticker)throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"sticker","StickerResolvable");const data=await this.client.rest.get(Routes2.guildSticker(this.guild.id,sticker.id));sticker._patch(data);return sticker.user}};module2.exports=GuildStickerManager}});var require_ActivityFlagsBitField=__commonJS({"node_modules/discord.js/src/util/ActivityFlagsBitField.js"(exports2,module2){"use strict";var{ActivityFlags}=require_v106();var BitField=require_BitField();var ActivityFlagsBitField=class extends BitField{static Flags=ActivityFlags};module2.exports=ActivityFlagsBitField}});var require_Presence=__commonJS({"node_modules/discord.js/src/structures/Presence.js"(exports2){"use strict";var Base=require_Base();var{Emoji}=require_Emoji();var ActivityFlagsBitField=require_ActivityFlagsBitField();var{flatten:flatten2}=require_Util();var Presence=class extends Base{constructor(client,data={}){super(client);this.userId=data.user.id;this.guild=data.guild??null;this._patch(data)}get user(){return this.client.users.resolve(this.userId)}get member(){return this.guild.members.resolve(this.userId)}_patch(data){if("status"in data){this.status=data.status}else{this.status??="offline"}if("activities"in data){this.activities=data.activities.map(activity=>new Activity(this,activity))}else{this.activities??=[]}if("client_status"in data){this.clientStatus=data.client_status}else{this.clientStatus??=null}return this}_clone(){const clone2=Object.assign(Object.create(this),this);clone2.activities=this.activities.map(activity=>activity._clone());return clone2}equals(presence){var _a12,_b2,_c,_d,_e,_f;return this===presence||presence&&this.status===presence.status&&this.activities.length===presence.activities.length&&this.activities.every((activity,index)=>activity.equals(presence.activities[index]))&&((_a12=this.clientStatus)==null?void 0:_a12.web)===((_b2=presence.clientStatus)==null?void 0:_b2.web)&&((_c=this.clientStatus)==null?void 0:_c.mobile)===((_d=presence.clientStatus)==null?void 0:_d.mobile)&&((_e=this.clientStatus)==null?void 0:_e.desktop)===((_f=presence.clientStatus)==null?void 0:_f.desktop)}toJSON(){return flatten2(this)}};var Activity=class{constructor(presence,data){Object.defineProperty(this,"presence",{value:presence});this.name=data.name;this.type=data.type;this.url=data.url??null;this.details=data.details??null;this.state=data.state??null;this.applicationId=data.application_id??null;this.timestamps=data.timestamps?{start:data.timestamps.start?new Date(Number(data.timestamps.start)):null,end:data.timestamps.end?new Date(Number(data.timestamps.end)):null}:null;this.party=data.party??null;this.assets=data.assets?new RichPresenceAssets(this,data.assets):null;this.flags=new ActivityFlagsBitField(data.flags).freeze();this.emoji=data.emoji?new Emoji(presence.client,data.emoji):null;this.buttons=data.buttons??[];this.createdTimestamp=data.created_at}equals(activity){var _a12,_b2,_c,_d;return this===activity||activity&&this.name===activity.name&&this.type===activity.type&&this.url===activity.url&&this.state===activity.state&&this.details===activity.details&&((_a12=this.emoji)==null?void 0:_a12.id)===((_b2=activity.emoji)==null?void 0:_b2.id)&&((_c=this.emoji)==null?void 0:_c.name)===((_d=activity.emoji)==null?void 0:_d.name)}get createdAt(){return new Date(this.createdTimestamp)}toString(){return this.name}_clone(){return Object.assign(Object.create(this),this)}};var RichPresenceAssets=class{constructor(activity,assets){Object.defineProperty(this,"activity",{value:activity});this.largeText=assets.large_text??null;this.smallText=assets.small_text??null;this.largeImage=assets.large_image??null;this.smallImage=assets.small_image??null}smallImageURL(options={}){if(!this.smallImage)return null;if(this.smallImage.includes(":")){const[platform,id]=this.smallImage.split(":");switch(platform){case"mp":return`https://media.discordapp.net/${id}`;default:return null}}return this.activity.presence.client.rest.cdn.appAsset(this.activity.applicationId,this.smallImage,options)}largeImageURL(options={}){if(!this.largeImage)return null;if(this.largeImage.includes(":")){const[platform,id]=this.largeImage.split(":");switch(platform){case"mp":return`https://media.discordapp.net/${id}`;default:return null}}return this.activity.presence.client.rest.cdn.appAsset(this.activity.applicationId,this.largeImage,options)}};exports2.Presence=Presence;exports2.Activity=Activity;exports2.RichPresenceAssets=RichPresenceAssets}});var require_PresenceManager=__commonJS({"node_modules/discord.js/src/managers/PresenceManager.js"(exports2,module2){"use strict";var CachedManager=require_CachedManager();var{Presence}=require_Presence();var PresenceManager=class extends CachedManager{constructor(client,iterable){super(client,Presence,iterable)}_add(data,cache2){return super._add(data,cache2,{id:data.user.id})}resolve(presence){const presenceResolvable=super.resolve(presence);if(presenceResolvable)return presenceResolvable;const UserResolvable=this.client.users.resolveId(presence);return super.resolve(UserResolvable)}resolveId(presence){const presenceResolvable=super.resolveId(presence);if(presenceResolvable)return presenceResolvable;const userResolvable=this.client.users.resolveId(presence);return this.cache.has(userResolvable)?userResolvable:null}};module2.exports=PresenceManager}});var require_RoleManager=__commonJS({"node_modules/discord.js/src/managers/RoleManager.js"(exports2,module2){"use strict";var process6=require("node:process");var{Collection:Collection2}=require_dist();var{Routes:Routes2}=require_v106();var CachedManager=require_CachedManager();var{DiscordjsTypeError:DiscordjsTypeError2,ErrorCodes:ErrorCodes2}=require_errors6();var{Role}=require_Role();var DataResolver2=require_DataResolver();var PermissionsBitField2=require_PermissionsBitField();var{setPosition,resolveColor}=require_Util();var cacheWarningEmitted=false;var RoleManager=class extends CachedManager{constructor(guild2,iterable){super(guild2.client,Role,iterable);if(!cacheWarningEmitted&&this._cache.constructor.name!=="Collection"){cacheWarningEmitted=true;process6.emitWarning(`Overriding the cache handling for ${this.constructor.name} is unsupported and breaks functionality.`,"UnsupportedCacheOverwriteWarning")}this.guild=guild2}_add(data,cache2){return super._add(data,cache2,{extras:[this.guild]})}async fetch(id,{cache:cache2=true,force=false}={}){if(id&&!force){const existing=this.cache.get(id);if(existing)return existing}const data=await this.client.rest.get(Routes2.guildRoles(this.guild.id));const roles=new Collection2;for(const role of data)roles.set(role.id,this._add(role,cache2));return id?roles.get(id)??null:roles}async create(options={}){var _a12;let{name,color,hoist,permissions,position,mentionable,reason,icon,unicodeEmoji}=options;color&&=resolveColor(color);if(permissions!==void 0)permissions=new PermissionsBitField2(permissions);if(icon){const guildEmojiURL=(_a12=this.guild.emojis.resolve(icon))==null?void 0:_a12.url;icon=guildEmojiURL?await DataResolver2.resolveImage(guildEmojiURL):await DataResolver2.resolveImage(icon);if(typeof icon!=="string")icon=void 0}const data=await this.client.rest.post(Routes2.guildRoles(this.guild.id),{body:{name,color,hoist,permissions,mentionable,icon,unicode_emoji:unicodeEmoji},reason});const{role}=this.client.actions.GuildRoleCreate.handle({guild_id:this.guild.id,role:data});if(position)return this.setPosition(role,position,{reason});return role}async edit(role,options){var _a12;role=this.resolve(role);if(!role)throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"role","RoleResolvable");if(typeof options.position==="number"){await this.setPosition(role,options.position,{reason:options.reason})}let icon=options.icon;if(icon){const guildEmojiURL=(_a12=this.guild.emojis.resolve(icon))==null?void 0:_a12.url;icon=guildEmojiURL?await DataResolver2.resolveImage(guildEmojiURL):await DataResolver2.resolveImage(icon);if(typeof icon!=="string")icon=void 0}const body={name:options.name,color:options.color===void 0?void 0:resolveColor(options.color),hoist:options.hoist,permissions:options.permissions===void 0?void 0:new PermissionsBitField2(options.permissions),mentionable:options.mentionable,icon,unicode_emoji:options.unicodeEmoji};const d=await this.client.rest.patch(Routes2.guildRole(this.guild.id,role.id),{body,reason:options.reason});const clone2=role._clone();clone2._patch(d);return clone2}async delete(role,reason){const id=this.resolveId(role);await this.client.rest.delete(Routes2.guildRole(this.guild.id,id),{reason});this.client.actions.GuildRoleDelete.handle({guild_id:this.guild.id,role_id:id})}async setPosition(role,position,{relative:relative3,reason}={}){role=this.resolve(role);if(!role)throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"role","RoleResolvable");const updatedRoles=await setPosition(role,position,relative3,this.guild._sortedRoles(),this.client,Routes2.guildRoles(this.guild.id),reason);this.client.actions.GuildRolesPositionUpdate.handle({guild_id:this.guild.id,roles:updatedRoles});return role}async setPositions(rolePositions){rolePositions=rolePositions.map(o=>({id:this.resolveId(o.role),position:o.position}));await this.client.rest.patch(Routes2.guildRoles(this.guild.id),{body:rolePositions});return this.client.actions.GuildRolesPositionUpdate.handle({guild_id:this.guild.id,roles:rolePositions}).guild}comparePositions(role1,role2){const resolvedRole1=this.resolve(role1);const resolvedRole2=this.resolve(role2);if(!resolvedRole1||!resolvedRole2){throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"role","Role nor a Snowflake")}const role1Position=resolvedRole1.position;const role2Position=resolvedRole2.position;if(role1Position===role2Position){return Number(BigInt(resolvedRole2.id)-BigInt(resolvedRole1.id))}return role1Position-role2Position}botRoleFor(user){const userId=this.client.users.resolveId(user);if(!userId)return null;return this.cache.find(role=>{var _a12;return((_a12=role.tags)==null?void 0:_a12.botId)===userId})??null}get everyone(){return this.cache.get(this.guild.id)}get premiumSubscriberRole(){return this.cache.find(role=>{var _a12;return(_a12=role.tags)==null?void 0:_a12.premiumSubscriberRole})??null}get highest(){return this.cache.reduce((prev,role)=>role.comparePositionTo(prev)>0?role:prev,this.cache.first())}};module2.exports=RoleManager}});var require_StageInstanceManager=__commonJS({"node_modules/discord.js/src/managers/StageInstanceManager.js"(exports2,module2){"use strict";var{Routes:Routes2}=require_v106();var CachedManager=require_CachedManager();var{DiscordjsTypeError:DiscordjsTypeError2,DiscordjsError:DiscordjsError2,ErrorCodes:ErrorCodes2}=require_errors6();var{StageInstance}=require_StageInstance();var StageInstanceManager=class extends CachedManager{constructor(guild2,iterable){super(guild2.client,StageInstance,iterable);this.guild=guild2}async create(channel,options){const channelId=this.guild.channels.resolveId(channel);if(!channelId)throw new DiscordjsError2(ErrorCodes2.StageChannelResolve);if(typeof options!=="object")throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"options","object",true);let{topic,privacyLevel,sendStartNotification}=options;const data=await this.client.rest.post(Routes2.stageInstances(),{body:{channel_id:channelId,topic,privacy_level:privacyLevel,send_start_notification:sendStartNotification}});return this._add(data)}async fetch(channel,{cache:cache2=true,force=false}={}){const channelId=this.guild.channels.resolveId(channel);if(!channelId)throw new DiscordjsError2(ErrorCodes2.StageChannelResolve);if(!force){const existing=this.cache.find(stageInstance=>stageInstance.channelId===channelId);if(existing)return existing}const data=await this.client.rest.get(Routes2.stageInstance(channelId));return this._add(data,cache2)}async edit(channel,options){if(typeof options!=="object")throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"options","object",true);const channelId=this.guild.channels.resolveId(channel);if(!channelId)throw new DiscordjsError2(ErrorCodes2.StageChannelResolve);let{topic,privacyLevel}=options;const data=await this.client.rest.patch(Routes2.stageInstance(channelId),{body:{topic,privacy_level:privacyLevel}});if(this.cache.has(data.id)){const clone2=this.cache.get(data.id)._clone();clone2._patch(data);return clone2}return this._add(data)}async delete(channel){const channelId=this.guild.channels.resolveId(channel);if(!channelId)throw new DiscordjsError2(ErrorCodes2.StageChannelResolve);await this.client.rest.delete(Routes2.stageInstance(channelId))}};module2.exports=StageInstanceManager}});var require_VoiceStateManager=__commonJS({"node_modules/discord.js/src/managers/VoiceStateManager.js"(exports2,module2){"use strict";var CachedManager=require_CachedManager();var VoiceState=require_VoiceState();var VoiceStateManager=class extends CachedManager{constructor(guild2,iterable){super(guild2.client,VoiceState,iterable);this.guild=guild2}_add(data,cache2=true){const existing=this.cache.get(data.user_id);if(existing)return existing._patch(data);const entry=new this.holds(this.guild,data);if(cache2)this.cache.set(data.user_id,entry);return entry}};module2.exports=VoiceStateManager}});var require_SystemChannelFlagsBitField=__commonJS({"node_modules/discord.js/src/util/SystemChannelFlagsBitField.js"(exports2,module2){"use strict";var{GuildSystemChannelFlags}=require_v106();var BitField=require_BitField();var SystemChannelFlagsBitField=class extends BitField{static Flags=GuildSystemChannelFlags};module2.exports=SystemChannelFlagsBitField}});var require_Guild=__commonJS({"node_modules/discord.js/src/structures/Guild.js"(exports2){"use strict";var{Collection:Collection2}=require_dist();var{makeURLSearchParams:makeURLSearchParams2}=require_dist3();var{ChannelType:ChannelType3,GuildPremiumTier,Routes:Routes2,GuildFeature}=require_v106();var AnonymousGuild=require_AnonymousGuild();var GuildAuditLogs=require_GuildAuditLogs();var GuildPreview2=require_GuildPreview();var GuildTemplate2=require_GuildTemplate();var Integration=require_Integration();var Webhook2=require_Webhook();var WelcomeScreen=require_WelcomeScreen();var{DiscordjsError:DiscordjsError2,DiscordjsTypeError:DiscordjsTypeError2,ErrorCodes:ErrorCodes2}=require_errors6();var AutoModerationRuleManager=require_AutoModerationRuleManager();var GuildApplicationCommandManager=require_GuildApplicationCommandManager();var GuildBanManager=require_GuildBanManager();var GuildChannelManager=require_GuildChannelManager();var GuildEmojiManager=require_GuildEmojiManager();var GuildInviteManager=require_GuildInviteManager();var GuildMemberManager=require_GuildMemberManager();var GuildScheduledEventManager=require_GuildScheduledEventManager();var GuildStickerManager=require_GuildStickerManager();var PresenceManager=require_PresenceManager();var RoleManager=require_RoleManager();var StageInstanceManager=require_StageInstanceManager();var VoiceStateManager=require_VoiceStateManager();var DataResolver2=require_DataResolver();var Status2=require_Status();var SystemChannelFlagsBitField=require_SystemChannelFlagsBitField();var{discordSort}=require_Util();var Guild=class extends AnonymousGuild{constructor(client,data){super(client,data,false);this.commands=new GuildApplicationCommandManager(this);this.members=new GuildMemberManager(this);this.channels=new GuildChannelManager(this);this.bans=new GuildBanManager(this);this.roles=new RoleManager(this);this.presences=new PresenceManager(this.client);this.voiceStates=new VoiceStateManager(this);this.stageInstances=new StageInstanceManager(this);this.invites=new GuildInviteManager(this);this.scheduledEvents=new GuildScheduledEventManager(this);this.autoModerationRules=new AutoModerationRuleManager(this);if(!data)return;if(data.unavailable){this.available=false}else{this._patch(data);if(!data.channels)this.available=false}this.shardId=data.shardId}get shard(){return this.client.ws.shards.get(this.shardId)}_patch(data){super._patch(data);this.id=data.id;if("name"in data)this.name=data.name;if("icon"in data)this.icon=data.icon;if("unavailable"in data){this.available=!data.unavailable}else{this.available??=true}if("discovery_splash"in data){this.discoverySplash=data.discovery_splash}if("member_count"in data){this.memberCount=data.member_count}if("large"in data){this.large=Boolean(data.large)}if("premium_progress_bar_enabled"in data){this.premiumProgressBarEnabled=data.premium_progress_bar_enabled}if("application_id"in data){this.applicationId=data.application_id}if("afk_timeout"in data){this.afkTimeout=data.afk_timeout}if("afk_channel_id"in data){this.afkChannelId=data.afk_channel_id}if("system_channel_id"in data){this.systemChannelId=data.system_channel_id}if("premium_tier"in data){this.premiumTier=data.premium_tier}if("widget_enabled"in data){this.widgetEnabled=data.widget_enabled}else{this.widgetEnabled??=null}if("widget_channel_id"in data){this.widgetChannelId=data.widget_channel_id}else{this.widgetChannelId??=null}if("explicit_content_filter"in data){this.explicitContentFilter=data.explicit_content_filter}if("mfa_level"in data){this.mfaLevel=data.mfa_level}if("joined_at"in data){this.joinedTimestamp=Date.parse(data.joined_at)}if("default_message_notifications"in data){this.defaultMessageNotifications=data.default_message_notifications}if("system_channel_flags"in data){this.systemChannelFlags=new SystemChannelFlagsBitField(data.system_channel_flags).freeze()}if("max_members"in data){this.maximumMembers=data.max_members}else{this.maximumMembers??=null}if("max_presences"in data){this.maximumPresences=data.max_presences}else{this.maximumPresences??=null}if("max_video_channel_users"in data){this.maxVideoChannelUsers=data.max_video_channel_users}else{this.maxVideoChannelUsers??=null}if("max_stage_video_channel_users"in data){this.maxStageVideoChannelUsers=data.max_stage_video_channel_users}else{this.maxStageVideoChannelUsers??=null}if("approximate_member_count"in data){this.approximateMemberCount=data.approximate_member_count}else{this.approximateMemberCount??=null}if("approximate_presence_count"in data){this.approximatePresenceCount=data.approximate_presence_count}else{this.approximatePresenceCount??=null}this.vanityURLUses??=null;if("rules_channel_id"in data){this.rulesChannelId=data.rules_channel_id}if("public_updates_channel_id"in data){this.publicUpdatesChannelId=data.public_updates_channel_id}if("preferred_locale"in data){this.preferredLocale=data.preferred_locale}if("safety_alerts_channel_id"in data){this.safetyAlertsChannelId=data.safety_alerts_channel_id}else{this.safetyAlertsChannelId??=null}if(data.channels){this.channels.cache.clear();for(const rawChannel of data.channels){this.client.channels._add(rawChannel,this)}}if(data.threads){for(const rawThread of data.threads){this.client.channels._add(rawThread,this)}}if(data.roles){this.roles.cache.clear();for(const role of data.roles)this.roles._add(role)}if(data.members){this.members.cache.clear();for(const guildUser of data.members)this.members._add(guildUser)}if("owner_id"in data){this.ownerId=data.owner_id}if(data.presences){for(const presence of data.presences){this.presences._add(Object.assign(presence,{guild:this}))}}if(data.stage_instances){this.stageInstances.cache.clear();for(const stageInstance of data.stage_instances){this.stageInstances._add(stageInstance)}}if(data.guild_scheduled_events){this.scheduledEvents.cache.clear();for(const scheduledEvent of data.guild_scheduled_events){this.scheduledEvents._add(scheduledEvent)}}if(data.voice_states){this.voiceStates.cache.clear();for(const voiceState of data.voice_states){this.voiceStates._add(voiceState)}}if(!this.emojis){this.emojis=new GuildEmojiManager(this);if(data.emojis)for(const emoji of data.emojis)this.emojis._add(emoji)}else if(data.emojis){this.client.actions.GuildEmojisUpdate.handle({guild_id:this.id,emojis:data.emojis})}if(!this.stickers){this.stickers=new GuildStickerManager(this);if(data.stickers)for(const sticker of data.stickers)this.stickers._add(sticker)}else if(data.stickers){this.client.actions.GuildStickersUpdate.handle({guild_id:this.id,stickers:data.stickers})}}get joinedAt(){return new Date(this.joinedTimestamp)}discoverySplashURL(options={}){return this.discoverySplash&&this.client.rest.cdn.discoverySplash(this.id,this.discoverySplash,options)}async fetchOwner(options){if(!this.ownerId){throw new DiscordjsError2(ErrorCodes2.FetchOwnerId)}const member=await this.members.fetch({...options,user:this.ownerId});return member}get afkChannel(){return this.client.channels.resolve(this.afkChannelId)}get systemChannel(){return this.client.channels.resolve(this.systemChannelId)}get widgetChannel(){return this.client.channels.resolve(this.widgetChannelId)}get rulesChannel(){return this.client.channels.resolve(this.rulesChannelId)}get publicUpdatesChannel(){return this.client.channels.resolve(this.publicUpdatesChannelId)}get safetyAlertsChannel(){return this.client.channels.resolve(this.safetyAlertsChannelId)}get maximumBitrate(){if(this.features.includes(GuildFeature.VIPRegions)){return 384e3}switch(this.premiumTier){case GuildPremiumTier.Tier1:return 128e3;case GuildPremiumTier.Tier2:return 256e3;case GuildPremiumTier.Tier3:return 384e3;default:return 96e3}}async fetchIntegrations(){const data=await this.client.rest.get(Routes2.guildIntegrations(this.id));return data.reduce((collection,integration)=>collection.set(integration.id,new Integration(this.client,integration,this)),new Collection2)}async fetchTemplates(){const templates2=await this.client.rest.get(Routes2.guildTemplates(this.id));return templates2.reduce((col,data)=>col.set(data.code,new GuildTemplate2(this.client,data)),new Collection2)}async fetchWelcomeScreen(){const data=await this.client.rest.get(Routes2.guildWelcomeScreen(this.id));return new WelcomeScreen(this,data)}async createTemplate(name,description){const data=await this.client.rest.post(Routes2.guildTemplates(this.id),{body:{name,description}});return new GuildTemplate2(this.client,data)}async fetchPreview(){const data=await this.client.rest.get(Routes2.guildPreview(this.id));return new GuildPreview2(this.client,data)}async fetchVanityData(){const data=await this.client.rest.get(Routes2.guildVanityUrl(this.id));this.vanityURLCode=data.code;this.vanityURLUses=data.uses;return data}async fetchWebhooks(){const apiHooks=await this.client.rest.get(Routes2.guildWebhooks(this.id));const hooks=new Collection2;for(const hook of apiHooks)hooks.set(hook.id,new Webhook2(this.client,hook));return hooks}fetchWidget(){return this.client.fetchGuildWidget(this.id)}async fetchWidgetSettings(){const data=await this.client.rest.get(Routes2.guildWidgetSettings(this.id));this.widgetEnabled=data.enabled;this.widgetChannelId=data.channel_id;return{enabled:data.enabled,channel:data.channel_id?this.channels.cache.get(data.channel_id):null}}async fetchAuditLogs({before:before2,after:after2,limit,user,type:type2}={}){const query=makeURLSearchParams2({before:(before2==null?void 0:before2.id)??before2,after:(after2==null?void 0:after2.id)??after2,limit,action_type:type2});if(user){const userId=this.client.users.resolveId(user);if(!userId)throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"user","UserResolvable");query.set("user_id",userId)}const data=await this.client.rest.get(Routes2.guildAuditLog(this.id),{query});return new GuildAuditLogs(this,data)}async edit({verificationLevel,defaultMessageNotifications,explicitContentFilter,afkChannel,afkTimeout,icon,owner,splash,discoverySplash,banner,systemChannel,systemChannelFlags,rulesChannel,publicUpdatesChannel,preferredLocale,premiumProgressBarEnabled,safetyAlertsChannel,...options}){const data=await this.client.rest.patch(Routes2.guild(this.id),{body:{...options,verification_level:verificationLevel,default_message_notifications:defaultMessageNotifications,explicit_content_filter:explicitContentFilter,afk_channel_id:afkChannel&&this.client.channels.resolveId(afkChannel),afk_timeout:afkTimeout,icon:icon&&await DataResolver2.resolveImage(icon),owner_id:owner&&this.client.users.resolveId(owner),splash:splash&&await DataResolver2.resolveImage(splash),discovery_splash:discoverySplash&&await DataResolver2.resolveImage(discoverySplash),banner:banner&&await DataResolver2.resolveImage(banner),system_channel_id:systemChannel&&this.client.channels.resolveId(systemChannel),system_channel_flags:systemChannelFlags===void 0?void 0:SystemChannelFlagsBitField.resolve(systemChannelFlags),rules_channel_id:rulesChannel&&this.client.channels.resolveId(rulesChannel),public_updates_channel_id:publicUpdatesChannel&&this.client.channels.resolveId(publicUpdatesChannel),preferred_locale:preferredLocale,premium_progress_bar_enabled:premiumProgressBarEnabled,safety_alerts_channel_id:safetyAlertsChannel&&this.client.channels.resolveId(safetyAlertsChannel)},reason:options.reason});return this.client.actions.GuildUpdate.handle(data).updated}async editWelcomeScreen(options){const{enabled:enabled3,description,welcomeChannels}=options;const welcome_channels=welcomeChannels==null?void 0:welcomeChannels.map(welcomeChannelData=>{const emoji=this.emojis.resolve(welcomeChannelData.emoji);return{emoji_id:emoji==null?void 0:emoji.id,emoji_name:(emoji==null?void 0:emoji.name)??welcomeChannelData.emoji,channel_id:this.channels.resolveId(welcomeChannelData.channel),description:welcomeChannelData.description}});const patchData=await this.client.rest.patch(Routes2.guildWelcomeScreen(this.id),{body:{welcome_channels,description,enabled:enabled3}});return new WelcomeScreen(this,patchData)}setExplicitContentFilter(explicitContentFilter,reason){return this.edit({explicitContentFilter,reason})}setDefaultMessageNotifications(defaultMessageNotifications,reason){return this.edit({defaultMessageNotifications,reason})}setSystemChannelFlags(systemChannelFlags,reason){return this.edit({systemChannelFlags,reason})}setName(name,reason){return this.edit({name,reason})}setVerificationLevel(verificationLevel,reason){return this.edit({verificationLevel,reason})}setAFKChannel(afkChannel,reason){return this.edit({afkChannel,reason})}setSystemChannel(systemChannel,reason){return this.edit({systemChannel,reason})}setAFKTimeout(afkTimeout,reason){return this.edit({afkTimeout,reason})}setIcon(icon,reason){return this.edit({icon,reason})}setOwner(owner,reason){return this.edit({owner,reason})}setSplash(splash,reason){return this.edit({splash,reason})}setDiscoverySplash(discoverySplash,reason){return this.edit({discoverySplash,reason})}setBanner(banner,reason){return this.edit({banner,reason})}setRulesChannel(rulesChannel,reason){return this.edit({rulesChannel,reason})}setPublicUpdatesChannel(publicUpdatesChannel,reason){return this.edit({publicUpdatesChannel,reason})}setPreferredLocale(preferredLocale,reason){return this.edit({preferredLocale,reason})}setPremiumProgressBarEnabled(enabled3=true,reason){return this.edit({premiumProgressBarEnabled:enabled3,reason})}setSafetyAlertsChannel(safetyAlertsChannel,reason){return this.edit({safetyAlertsChannel,reason})}async setWidgetSettings(settings,reason){await this.client.rest.patch(Routes2.guildWidgetSettings(this.id),{body:{enabled:settings.enabled,channel_id:this.channels.resolveId(settings.channel)},reason});return this}async setMFALevel(level,reason){await this.client.rest.post(Routes2.guildMFA(this.id),{body:{level},reason});return this}async leave(){if(this.ownerId===this.client.user.id)throw new DiscordjsError2(ErrorCodes2.GuildOwned);await this.client.rest.delete(Routes2.userGuild(this.id));return this}async delete(){await this.client.rest.delete(Routes2.guild(this.id));return this}async disableInvites(disabled=true){const features=this.features.filter(feature=>feature!==GuildFeature.InvitesDisabled);if(disabled)features.push(GuildFeature.InvitesDisabled);return this.edit({features})}equals(guild2){return guild2&&guild2 instanceof this.constructor&&this.id===guild2.id&&this.available===guild2.available&&this.splash===guild2.splash&&this.discoverySplash===guild2.discoverySplash&&this.name===guild2.name&&this.memberCount===guild2.memberCount&&this.large===guild2.large&&this.icon===guild2.icon&&this.ownerId===guild2.ownerId&&this.verificationLevel===guild2.verificationLevel&&(this.features===guild2.features||this.features.length===guild2.features.length&&this.features.every((feat,i)=>feat===guild2.features[i]))}toJSON(){const json2=super.toJSON({available:false,createdTimestamp:true,nameAcronym:true,presences:false,voiceStates:false});json2.iconURL=this.iconURL();json2.splashURL=this.splashURL();json2.discoverySplashURL=this.discoverySplashURL();json2.bannerURL=this.bannerURL();return json2}get voiceAdapterCreator(){return methods=>{this.client.voice.adapters.set(this.id,methods);return{sendPayload:data=>{if(this.shard.status!==Status2.Ready)return false;this.shard.send(data);return true},destroy:()=>{this.client.voice.adapters.delete(this.id)}}}}_sortedRoles(){return discordSort(this.roles.cache)}_sortedChannels(channel){const category=channel.type===ChannelType3.GuildCategory;const channelTypes=[ChannelType3.GuildText,ChannelType3.GuildAnnouncement];return discordSort(this.channels.cache.filter(c=>(channelTypes.includes(channel.type)?channelTypes.includes(c.type):c.type===channel.type)&&(category||c.parent===channel.parent)))}};exports2.Guild=Guild}});var require_OAuth2Guild=__commonJS({"node_modules/discord.js/src/structures/OAuth2Guild.js"(exports2,module2){"use strict";var BaseGuild=require_BaseGuild();var PermissionsBitField2=require_PermissionsBitField();var OAuth2Guild=class extends BaseGuild{constructor(client,data){super(client,data);this.owner=data.owner;this.permissions=new PermissionsBitField2(BigInt(data.permissions)).freeze()}};module2.exports=OAuth2Guild}});var require_GuildManager=__commonJS({"node_modules/discord.js/src/managers/GuildManager.js"(exports2,module2){"use strict";var process6=require("node:process");var{setTimeout:setTimeout3,clearTimeout:clearTimeout2}=require("node:timers");var{Collection:Collection2}=require_dist();var{makeURLSearchParams:makeURLSearchParams2}=require_dist3();var{Routes:Routes2}=require_v106();var CachedManager=require_CachedManager();var{Guild}=require_Guild();var GuildChannel=require_GuildChannel();var GuildEmoji=require_GuildEmoji();var{GuildMember}=require_GuildMember();var Invite2=require_Invite();var OAuth2Guild=require_OAuth2Guild();var{Role}=require_Role();var DataResolver2=require_DataResolver();var Events2=require_Events();var PermissionsBitField2=require_PermissionsBitField();var SystemChannelFlagsBitField=require_SystemChannelFlagsBitField();var{resolveColor}=require_Util();var cacheWarningEmitted=false;var GuildManager2=class extends CachedManager{constructor(client,iterable){super(client,Guild,iterable);if(!cacheWarningEmitted&&this._cache.constructor.name!=="Collection"){cacheWarningEmitted=true;process6.emitWarning(`Overriding the cache handling for ${this.constructor.name} is unsupported and breaks functionality.`,"UnsupportedCacheOverwriteWarning")}}resolve(guild2){if(guild2 instanceof GuildChannel||guild2 instanceof GuildMember||guild2 instanceof GuildEmoji||guild2 instanceof Role||guild2 instanceof Invite2&&guild2.guild){return super.resolve(guild2.guild)}return super.resolve(guild2)}resolveId(guild2){if(guild2 instanceof GuildChannel||guild2 instanceof GuildMember||guild2 instanceof GuildEmoji||guild2 instanceof Role||guild2 instanceof Invite2&&guild2.guild){return super.resolveId(guild2.guild.id)}return super.resolveId(guild2)}async create({name,icon=null,verificationLevel,defaultMessageNotifications,explicitContentFilter,roles=[],channels=[],afkChannelId,afkTimeout,systemChannelId,systemChannelFlags}){const data=await this.client.rest.post(Routes2.guilds(),{body:{name,icon:icon&&await DataResolver2.resolveImage(icon),verification_level:verificationLevel,default_message_notifications:defaultMessageNotifications,explicit_content_filter:explicitContentFilter,roles:roles.map(({color,permissions,...options})=>({...options,color:color&&resolveColor(color),permissions:permissions===void 0?void 0:PermissionsBitField2.resolve(permissions).toString()})),channels:channels.map(({parentId,userLimit,rtcRegion,videoQualityMode,permissionOverwrites,rateLimitPerUser,...options})=>({...options,parent_id:parentId,user_limit:userLimit,rtc_region:rtcRegion,video_quality_mode:videoQualityMode,permission_overwrites:permissionOverwrites==null?void 0:permissionOverwrites.map(({allow,deny,...permissionOverwriteOptions})=>({...permissionOverwriteOptions,allow:allow===void 0?void 0:PermissionsBitField2.resolve(allow).toString(),deny:deny===void 0?void 0:PermissionsBitField2.resolve(deny).toString()})),rate_limit_per_user:rateLimitPerUser})),afk_channel_id:afkChannelId,afk_timeout:afkTimeout,system_channel_id:systemChannelId,system_channel_flags:systemChannelFlags===void 0?void 0:SystemChannelFlagsBitField.resolve(systemChannelFlags)}});return this.client.guilds.cache.get(data.id)??new Promise(resolve=>{const handleGuild=guild2=>{if(guild2.id===data.id){clearTimeout2(timeout);this.client.decrementMaxListeners();resolve(guild2)}};this.client.incrementMaxListeners();this.client.once(Events2.GuildCreate,handleGuild);const timeout=setTimeout3(()=>{this.client.removeListener(Events2.GuildCreate,handleGuild);this.client.decrementMaxListeners();resolve(this.client.guilds._add(data))},1e4).unref()})}async fetch(options={}){const id=this.resolveId(options)??this.resolveId(options.guild);if(id){if(!options.force){const existing=this.cache.get(id);if(existing)return existing}const data2=await this.client.rest.get(Routes2.guild(id),{query:makeURLSearchParams2({with_counts:options.withCounts??true})});return this._add(data2,options.cache)}const data=await this.client.rest.get(Routes2.userGuilds(),{query:makeURLSearchParams2(options)});return data.reduce((coll,guild2)=>coll.set(guild2.id,new OAuth2Guild(this.client,guild2)),new Collection2)}};module2.exports=GuildManager2}});var require_UserManager=__commonJS({"node_modules/discord.js/src/managers/UserManager.js"(exports2,module2){"use strict";var{ChannelType:ChannelType3,Routes:Routes2}=require_v106();var CachedManager=require_CachedManager();var{DiscordjsError:DiscordjsError2,ErrorCodes:ErrorCodes2}=require_errors6();var{GuildMember}=require_GuildMember();var{Message}=require_Message();var ThreadMember=require_ThreadMember();var User=require_User();var UserManager2=class extends CachedManager{constructor(client,iterable){super(client,User,iterable)}dmChannel(userId){return this.client.channels.cache.find(c=>c.type===ChannelType3.DM&&c.recipientId===userId)??null}async createDM(user,{cache:cache2=true,force=false}={}){const id=this.resolveId(user);if(!force){const dmChannel=this.dmChannel(id);if(dmChannel&&!dmChannel.partial)return dmChannel}const data=await this.client.rest.post(Routes2.userChannels(),{body:{recipient_id:id}});return this.client.channels._add(data,null,{cache:cache2})}async deleteDM(user){const id=this.resolveId(user);const dmChannel=this.dmChannel(id);if(!dmChannel)throw new DiscordjsError2(ErrorCodes2.UserNoDMChannel);await this.client.rest.delete(Routes2.channel(dmChannel.id));this.client.channels._remove(dmChannel.id);return dmChannel}async fetch(user,{cache:cache2=true,force=false}={}){const id=this.resolveId(user);if(!force){const existing=this.cache.get(id);if(existing&&!existing.partial)return existing}const data=await this.client.rest.get(Routes2.user(id));return this._add(data,cache2)}async fetchFlags(user,options){return(await this.fetch(user,options)).flags}async send(user,options){return(await this.createDM(user)).send(options)}resolve(user){if(user instanceof GuildMember||user instanceof ThreadMember)return user.user;if(user instanceof Message)return user.author;return super.resolve(user)}resolveId(user){if(user instanceof ThreadMember)return user.id;if(user instanceof GuildMember)return user.user.id;if(user instanceof Message)return user.author.id;return super.resolveId(user)}};module2.exports=UserManager2}});var require_ShardClientUtil=__commonJS({"node_modules/discord.js/src/sharding/ShardClientUtil.js"(exports2,module2){"use strict";var process6=require("node:process");var{calculateShardId}=require_dist2();var{DiscordjsError:DiscordjsError2,DiscordjsTypeError:DiscordjsTypeError2,ErrorCodes:ErrorCodes2}=require_errors6();var Events2=require_Events();var{makeError,makePlainError}=require_Util();var ShardClientUtil2=class{constructor(client,mode2){this.client=client;this.mode=mode2;this.parentPort=null;switch(mode2){case"process":process6.on("message",this._handleMessage.bind(this));client.on(Events2.ShardReady,()=>{process6.send({_ready:true})});client.on(Events2.ShardDisconnect,()=>{process6.send({_disconnect:true})});client.on(Events2.ShardReconnecting,()=>{process6.send({_reconnecting:true})});break;case"worker":this.parentPort=require("node:worker_threads").parentPort;this.parentPort.on("message",this._handleMessage.bind(this));client.on(Events2.ShardReady,()=>{this.parentPort.postMessage({_ready:true})});client.on(Events2.ShardDisconnect,()=>{this.parentPort.postMessage({_disconnect:true})});client.on(Events2.ShardReconnecting,()=>{this.parentPort.postMessage({_reconnecting:true})});break}}get ids(){return this.client.options.shards}get count(){return this.client.options.shardCount}send(message3){return new Promise((resolve,reject2)=>{switch(this.mode){case"process":process6.send(message3,err=>{if(err)reject2(err);else resolve()});break;case"worker":this.parentPort.postMessage(message3);resolve();break}})}fetchClientValues(prop,shard){return new Promise((resolve,reject2)=>{const parent2=this.parentPort??process6;const listener=message3=>{if((message3==null?void 0:message3._sFetchProp)!==prop||message3._sFetchPropShard!==shard)return;parent2.removeListener("message",listener);this.decrementMaxListeners(parent2);if(!message3._error)resolve(message3._result);else reject2(makeError(message3._error))};this.incrementMaxListeners(parent2);parent2.on("message",listener);this.send({_sFetchProp:prop,_sFetchPropShard:shard}).catch(err=>{parent2.removeListener("message",listener);this.decrementMaxListeners(parent2);reject2(err)})})}broadcastEval(script2,options={}){return new Promise((resolve,reject2)=>{const parent2=this.parentPort??process6;if(typeof script2!=="function"){reject2(new DiscordjsTypeError2(ErrorCodes2.ShardingInvalidEvalBroadcast));return}script2=`(${script2})(this, ${JSON.stringify(options.context)})`;const listener=message3=>{if((message3==null?void 0:message3._sEval)!==script2||message3._sEvalShard!==options.shard)return;parent2.removeListener("message",listener);this.decrementMaxListeners(parent2);if(!message3._error)resolve(message3._result);else reject2(makeError(message3._error))};this.incrementMaxListeners(parent2);parent2.on("message",listener);this.send({_sEval:script2,_sEvalShard:options.shard}).catch(err=>{parent2.removeListener("message",listener);this.decrementMaxListeners(parent2);reject2(err)})})}respawnAll({shardDelay=5e3,respawnDelay=500,timeout=3e4}={}){return this.send({_sRespawnAll:{shardDelay,respawnDelay,timeout}})}async _handleMessage(message3){if(!message3)return;if(message3._fetchProp){try{const props=message3._fetchProp.split(".");let value=this.client;for(const prop of props)value=value[prop];this._respond("fetchProp",{_fetchProp:message3._fetchProp,_result:value})}catch(err){this._respond("fetchProp",{_fetchProp:message3._fetchProp,_error:makePlainError(err)})}}else if(message3._eval){try{this._respond("eval",{_eval:message3._eval,_result:await this.client._eval(message3._eval)})}catch(err){this._respond("eval",{_eval:message3._eval,_error:makePlainError(err)})}}}_respond(type2,message3){this.send(message3).catch(err=>{const error=new Error(`Error when sending ${type2} response to master process: ${err.message}`);error.stack=err.stack;this.client.emit(Events2.Error,error)})}static singleton(client,mode2){if(!this._singleton){this._singleton=new this(client,mode2)}else{client.emit(Events2.Warn,"Multiple clients created in child process/worker; only the first will handle sharding helpers.")}return this._singleton}static shardIdForGuildId(guildId,shardCount){const shard=calculateShardId(guildId,shardCount);if(shard<0)throw new DiscordjsError2(ErrorCodes2.ShardingShardMiscalculation,shard,guildId,shardCount);return shard}incrementMaxListeners(emitter){const maxListeners=emitter.getMaxListeners();if(maxListeners!==0){emitter.setMaxListeners(maxListeners+1)}}decrementMaxListeners(emitter){const maxListeners=emitter.getMaxListeners();if(maxListeners!==0){emitter.setMaxListeners(maxListeners-1)}}};module2.exports=ShardClientUtil2}});var require_ClientPresence=__commonJS({"node_modules/discord.js/src/structures/ClientPresence.js"(exports2,module2){"use strict";var{GatewayOpcodes}=require_v106();var{Presence}=require_Presence();var{DiscordjsTypeError:DiscordjsTypeError2,ErrorCodes:ErrorCodes2}=require_errors6();var ClientPresence2=class extends Presence{constructor(client,data={}){super(client,Object.assign(data,{status:data.status??"online",user:{id:null}}))}set(presence){const packet=this._parse(presence);this._patch(packet);if(presence.shardId===void 0){this.client.ws.broadcast({op:GatewayOpcodes.PresenceUpdate,d:packet})}else if(Array.isArray(presence.shardId)){for(const shardId of presence.shardId){this.client.ws.shards.get(shardId).send({op:GatewayOpcodes.PresenceUpdate,d:packet})}}else{this.client.ws.shards.get(presence.shardId).send({op:GatewayOpcodes.PresenceUpdate,d:packet})}return this}_parse({status,since,afk,activities}){const data={activities:[],afk:typeof afk==="boolean"?afk:false,since:typeof since==="number"&&!Number.isNaN(since)?since:null,status:status??this.status};if(activities==null?void 0:activities.length){for(const[i,activity]of activities.entries()){if(typeof activity.name!=="string"){throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,`activities[${i}].name`,"string")}activity.type??=0;data.activities.push({type:activity.type,name:activity.name,url:activity.url})}}else if(!activities&&(status||afk||since)&&this.activities.length){data.activities.push(...this.activities.map(a=>({name:a.name,type:a.type,url:a.url??void 0})))}return data}};module2.exports=ClientPresence2}});var require_StickerPack=__commonJS({"node_modules/discord.js/src/structures/StickerPack.js"(exports2,module2){"use strict";var{Collection:Collection2}=require_dist();var{DiscordSnowflake}=require_cjs2();var Base=require_Base();var{Sticker:Sticker2}=require_Sticker();var StickerPack2=class extends Base{constructor(client,pack){super(client);this.id=pack.id;this.stickers=new Collection2(pack.stickers.map(s=>[s.id,new Sticker2(client,s)]));this.name=pack.name;this.skuId=pack.sku_id;this.coverStickerId=pack.cover_sticker_id??null;this.description=pack.description;this.bannerId=pack.banner_asset_id??null}get createdTimestamp(){return DiscordSnowflake.timestampFrom(this.id)}get createdAt(){return new Date(this.createdTimestamp)}get coverSticker(){return this.coverStickerId&&this.stickers.get(this.coverStickerId)}bannerURL(options={}){return this.bannerId&&this.client.rest.cdn.stickerPackBanner(this.bannerId,options)}};module2.exports=StickerPack2}});var require_VoiceRegion=__commonJS({"node_modules/discord.js/src/structures/VoiceRegion.js"(exports2,module2){"use strict";var{flatten:flatten2}=require_Util();var VoiceRegion2=class{constructor(data){this.id=data.id;this.name=data.name;this.deprecated=data.deprecated;this.optimal=data.optimal;this.custom=data.custom}toJSON(){return flatten2(this)}};module2.exports=VoiceRegion2}});var require_WidgetMember=__commonJS({"node_modules/discord.js/src/structures/WidgetMember.js"(exports2,module2){"use strict";var Base=require_Base();var WidgetMember=class extends Base{constructor(client,data){super(client);this.id=data.id;this.username=data.username;this.discriminator=data.discriminator;this.avatar=data.avatar;this.status=data.status;this.deaf=data.deaf??null;this.mute=data.mute??null;this.selfDeaf=data.self_deaf??null;this.selfMute=data.self_mute??null;this.suppress=data.suppress??null;this.channelId=data.channel_id??null;this.avatarURL=data.avatar_url;this.activity=data.activity??null}};module2.exports=WidgetMember}});var require_Widget=__commonJS({"node_modules/discord.js/src/structures/Widget.js"(exports2,module2){"use strict";var{Collection:Collection2}=require_dist();var{Routes:Routes2}=require_v106();var Base=require_Base();var WidgetMember=require_WidgetMember();var Widget2=class extends Base{constructor(client,data){super(client);this._patch(data)}_patch(data){this.id=data.id;if("name"in data){this.name=data.name}if("instant_invite"in data){this.instantInvite=data.instant_invite}this.channels=new Collection2;for(const channel of data.channels){this.channels.set(channel.id,channel)}this.members=new Collection2;for(const member of data.members){this.members.set(member.id,new WidgetMember(this.client,member))}if("presence_count"in data){this.presenceCount=data.presence_count}}async fetch(){const data=await this.client.rest.get(Routes2.guildWidgetJSON(this.id));this._patch(data);return this}};module2.exports=Widget2}});var require_IntentsBitField=__commonJS({"node_modules/discord.js/src/util/IntentsBitField.js"(exports2,module2){"use strict";var{GatewayIntentBits:GatewayIntentBits2}=require_v106();var BitField=require_BitField();var IntentsBitField2=class extends BitField{static Flags=GatewayIntentBits2};module2.exports=IntentsBitField2}});var require_Sweepers=__commonJS({"node_modules/discord.js/src/util/Sweepers.js"(exports2,module2){"use strict";var{setInterval:setInterval2,clearInterval:clearInterval2}=require("node:timers");var{ThreadChannelTypes,SweeperKeys}=require_Constants();var Events2=require_Events();var{DiscordjsTypeError:DiscordjsTypeError2,ErrorCodes:ErrorCodes2}=require_errors6();var Sweepers2=class{constructor(client,options){Object.defineProperty(this,"client",{value:client});this.options=options;this.intervals=Object.fromEntries(SweeperKeys.map(key=>[key,null]));for(const key of SweeperKeys){if(!(key in options))continue;this._validateProperties(key);const clonedOptions={...this.options[key]};if(!("filter"in clonedOptions)){switch(key){case"invites":clonedOptions.filter=this.constructor.expiredInviteSweepFilter(clonedOptions.lifetime);break;case"messages":clonedOptions.filter=this.constructor.outdatedMessageSweepFilter(clonedOptions.lifetime);break;case"threads":clonedOptions.filter=this.constructor.archivedThreadSweepFilter(clonedOptions.lifetime)}}this._initInterval(key,`sweep${key[0].toUpperCase()}${key.slice(1)}`,clonedOptions)}}sweepApplicationCommands(filter2){var _a12;const{guilds,items:guildCommands}=this._sweepGuildDirectProp("commands",filter2,{emit:false});const globalCommands=((_a12=this.client.application)==null?void 0:_a12.commands.cache.sweep(filter2))??0;this.client.emit(Events2.CacheSweep,`Swept ${globalCommands} global application commands and ${guildCommands} guild commands in ${guilds} guilds.`);return guildCommands+globalCommands}sweepAutoModerationRules(filter2){return this._sweepGuildDirectProp("autoModerationRules",filter2).items}sweepBans(filter2){return this._sweepGuildDirectProp("bans",filter2).items}sweepEmojis(filter2){return this._sweepGuildDirectProp("emojis",filter2).items}sweepInvites(filter2){return this._sweepGuildDirectProp("invites",filter2).items}sweepGuildMembers(filter2){return this._sweepGuildDirectProp("members",filter2,{outputName:"guild members"}).items}sweepMessages(filter2){if(typeof filter2!=="function"){throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"filter","function")}let channels=0;let messages=0;for(const channel of this.client.channels.cache.values()){if(!channel.isTextBased())continue;channels++;messages+=channel.messages.cache.sweep(filter2)}this.client.emit(Events2.CacheSweep,`Swept ${messages} messages in ${channels} text-based channels.`);return messages}sweepPresences(filter2){return this._sweepGuildDirectProp("presences",filter2).items}sweepReactions(filter2){if(typeof filter2!=="function"){throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"filter","function")}let channels=0;let messages=0;let reactions=0;for(const channel of this.client.channels.cache.values()){if(!channel.isTextBased())continue;channels++;for(const message3 of channel.messages.cache.values()){messages++;reactions+=message3.reactions.cache.sweep(filter2)}}this.client.emit(Events2.CacheSweep,`Swept ${reactions} reactions on ${messages} messages in ${channels} text-based channels.`);return reactions}sweepStageInstances(filter2){return this._sweepGuildDirectProp("stageInstances",filter2,{outputName:"stage instances"}).items}sweepStickers(filter2){return this._sweepGuildDirectProp("stickers",filter2).items}sweepThreadMembers(filter2){if(typeof filter2!=="function"){throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"filter","function")}let threads=0;let members=0;for(const channel of this.client.channels.cache.values()){if(!ThreadChannelTypes.includes(channel.type))continue;threads++;members+=channel.members.cache.sweep(filter2)}this.client.emit(Events2.CacheSweep,`Swept ${members} thread members in ${threads} threads.`);return members}sweepThreads(filter2){if(typeof filter2!=="function"){throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"filter","function")}let threads=0;for(const[key,val]of this.client.channels.cache.entries()){if(!ThreadChannelTypes.includes(val.type))continue;if(filter2(val,key,this.client.channels.cache)){threads++;this.client.channels._remove(key)}}this.client.emit(Events2.CacheSweep,`Swept ${threads} threads.`);return threads}sweepUsers(filter2){if(typeof filter2!=="function"){throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"filter","function")}const users=this.client.users.cache.sweep(filter2);this.client.emit(Events2.CacheSweep,`Swept ${users} users.`);return users}sweepVoiceStates(filter2){return this._sweepGuildDirectProp("voiceStates",filter2,{outputName:"voice states"}).items}destroy(){for(const key of SweeperKeys){if(this.intervals[key])clearInterval2(this.intervals[key])}}static filterByLifetime({lifetime=14400,getComparisonTimestamp=e=>e==null?void 0:e.createdTimestamp,excludeFromSweep=()=>false}={}){if(typeof lifetime!=="number"){throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"lifetime","number")}if(typeof getComparisonTimestamp!=="function"){throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"getComparisonTimestamp","function")}if(typeof excludeFromSweep!=="function"){throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"excludeFromSweep","function")}return()=>{if(lifetime<=0)return null;const lifetimeMs=lifetime*1e3;const now3=Date.now();return(entry,key,coll)=>{if(excludeFromSweep(entry,key,coll)){return false}const comparisonTimestamp=getComparisonTimestamp(entry,key,coll);if(!comparisonTimestamp||typeof comparisonTimestamp!=="number")return false;return now3-comparisonTimestamp>lifetimeMs}}}static archivedThreadSweepFilter(lifetime=14400){return this.filterByLifetime({lifetime,getComparisonTimestamp:e=>e.archiveTimestamp,excludeFromSweep:e=>!e.archived})}static expiredInviteSweepFilter(lifetime=14400){return this.filterByLifetime({lifetime,getComparisonTimestamp:i=>i.expiresTimestamp})}static outdatedMessageSweepFilter(lifetime=3600){return this.filterByLifetime({lifetime,getComparisonTimestamp:m=>m.editedTimestamp??m.createdTimestamp})}_sweepGuildDirectProp(key,filter2,{emit=true,outputName}={}){if(typeof filter2!=="function"){throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,"filter","function")}let guilds=0;let items=0;for(const guild2 of this.client.guilds.cache.values()){const{cache:cache2}=guild2[key];guilds++;items+=cache2.sweep(filter2)}if(emit){this.client.emit(Events2.CacheSweep,`Swept ${items} ${outputName??key} in ${guilds} guilds.`)}return{guilds,items}}_validateProperties(key){const props=this.options[key];if(typeof props!=="object"){throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,`sweepers.${key}`,"object",true)}if(typeof props.interval!=="number"){throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,`sweepers.${key}.interval`,"number")}if(["invites","messages","threads"].includes(key)&&!("filter"in props)){if(typeof props.lifetime!=="number"){throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,`sweepers.${key}.lifetime`,"number")}return}if(typeof props.filter!=="function"){throw new DiscordjsTypeError2(ErrorCodes2.InvalidType,`sweepers.${key}.filter`,"function")}}_initInterval(intervalKey,sweepKey,opts){if(opts.interval<=0||opts.interval===Infinity)return;this.intervals[intervalKey]=setInterval2(()=>{const sweepFn=opts.filter();if(sweepFn===null)return;if(typeof sweepFn!=="function")throw new DiscordjsTypeError2(ErrorCodes2.SweepFilterReturn);this[sweepKey](sweepFn)},opts.interval*1e3).unref()}};module2.exports=Sweepers2}});var require_Client=__commonJS({"node_modules/discord.js/src/client/Client.js"(exports,module){"use strict";var process=require("node:process");var{Collection}=require_dist();var{makeURLSearchParams}=require_dist3();var{OAuth2Scopes,Routes}=require_v106();var BaseClient=require_BaseClient();var ActionsManager=require_ActionsManager();var ClientVoiceManager=require_ClientVoiceManager();var WebSocketManager=require_WebSocketManager();var{DiscordjsError,DiscordjsTypeError,DiscordjsRangeError,ErrorCodes}=require_errors6();var BaseGuildEmojiManager=require_BaseGuildEmojiManager();var ChannelManager=require_ChannelManager();var GuildManager=require_GuildManager();var UserManager=require_UserManager();var ShardClientUtil=require_ShardClientUtil();var ClientPresence=require_ClientPresence();var GuildPreview=require_GuildPreview();var GuildTemplate=require_GuildTemplate();var Invite=require_Invite();var{Sticker}=require_Sticker();var StickerPack=require_StickerPack();var VoiceRegion=require_VoiceRegion();var Webhook=require_Webhook();var Widget=require_Widget();var DataResolver=require_DataResolver();var Events=require_Events();var IntentsBitField=require_IntentsBitField();var Options=require_Options();var PermissionsBitField=require_PermissionsBitField();var Status=require_Status();var Sweepers=require_Sweepers();var Client=class extends BaseClient{constructor(options){super(options);const data=require("node:worker_threads").workerData??process.env;const defaults3=Options.createDefault();if(this.options.shards===defaults3.shards){if("SHARDS"in data){this.options.shards=JSON.parse(data.SHARDS)}}if(this.options.shardCount===defaults3.shardCount){if("SHARD_COUNT"in data){this.options.shardCount=Number(data.SHARD_COUNT)}else if(Array.isArray(this.options.shards)){this.options.shardCount=this.options.shards.length}}const typeofShards=typeof this.options.shards;if(typeofShards==="undefined"&&typeof this.options.shardCount==="number"){this.options.shards=Array.from({length:this.options.shardCount},(_,i)=>i)}if(typeofShards==="number")this.options.shards=[this.options.shards];if(Array.isArray(this.options.shards)){this.options.shards=[...new Set(this.options.shards.filter(item=>!isNaN(item)&&item>=0&&item<Infinity&&item===(item|0)))]}this._validateOptions();this.ws=new WebSocketManager(this);this.actions=new ActionsManager(this);this.voice=new ClientVoiceManager(this);this.shard=process.env.SHARDING_MANAGER?ShardClientUtil.singleton(this,process.env.SHARDING_MANAGER_MODE):null;this.users=new UserManager(this);this.guilds=new GuildManager(this);this.channels=new ChannelManager(this);this.sweepers=new Sweepers(this,this.options.sweepers);this.presence=new ClientPresence(this,this.options.presence);Object.defineProperty(this,"token",{writable:true});if(!this.token&&"DISCORD_TOKEN"in process.env){this.token=process.env.DISCORD_TOKEN}else{this.token=null}this.user=null;this.application=null;this.readyTimestamp=null}get emojis(){const emojis=new BaseGuildEmojiManager(this);for(const guild2 of this.guilds.cache.values()){if(guild2.available)for(const emoji of guild2.emojis.cache.values())emojis.cache.set(emoji.id,emoji)}return emojis}get readyAt(){return this.readyTimestamp&&new Date(this.readyTimestamp)}get uptime(){return this.readyTimestamp&&Date.now()-this.readyTimestamp}async login(token3=this.token){if(!token3||typeof token3!=="string")throw new DiscordjsError(ErrorCodes.TokenInvalid);this.token=token3=token3.replace(/^(Bot|Bearer)\s*/i,"");this.rest.setToken(token3);this.emit(Events.Debug,`Provided token: ${this._censoredToken}`);if(this.options.presence){this.options.ws.presence=this.presence._parse(this.options.presence)}this.emit(Events.Debug,"Preparing to connect to the gateway...");try{await this.ws.connect();return this.token}catch(error){this.destroy();throw error}}isReady(){return this.ws.status===Status.Ready}destroy(){super.destroy();this.sweepers.destroy();this.ws.destroy();this.token=null;this.rest.setToken(null)}async fetchInvite(invite,options){const code=DataResolver.resolveInviteCode(invite);const query=makeURLSearchParams({with_counts:true,with_expiration:true,guild_scheduled_event_id:options==null?void 0:options.guildScheduledEventId});const data=await this.rest.get(Routes.invite(code),{query});return new Invite(this,data)}async fetchGuildTemplate(template2){const code=DataResolver.resolveGuildTemplateCode(template2);const data=await this.rest.get(Routes.template(code));return new GuildTemplate(this,data)}async fetchWebhook(id,token3){const data=await this.rest.get(Routes.webhook(id,token3),{auth:token3===void 0});return new Webhook(this,{token:token3,...data})}async fetchVoiceRegions(){const apiRegions=await this.rest.get(Routes.voiceRegions());const regions=new Collection;for(const region of apiRegions)regions.set(region.id,new VoiceRegion(region));return regions}async fetchSticker(id){const data=await this.rest.get(Routes.sticker(id));return new Sticker(this,data)}async fetchPremiumStickerPacks(){const data=await this.rest.get(Routes.nitroStickerPacks());return new Collection(data.sticker_packs.map(p=>[p.id,new StickerPack(this,p)]))}async fetchGuildPreview(guild2){const id=this.guilds.resolveId(guild2);if(!id)throw new DiscordjsTypeError(ErrorCodes.InvalidType,"guild","GuildResolvable");const data=await this.rest.get(Routes.guildPreview(id));return new GuildPreview(this,data)}async fetchGuildWidget(guild2){const id=this.guilds.resolveId(guild2);if(!id)throw new DiscordjsTypeError(ErrorCodes.InvalidType,"guild","GuildResolvable");const data=await this.rest.get(Routes.guildWidgetJSON(id));return new Widget(this,data)}generateInvite(options={}){if(typeof options!=="object")throw new DiscordjsTypeError(ErrorCodes.InvalidType,"options","object",true);if(!this.application)throw new DiscordjsError(ErrorCodes.ClientNotReady,"generate an invite link");const{scopes}=options;if(scopes===void 0){throw new DiscordjsTypeError(ErrorCodes.InvalidMissingScopes)}if(!Array.isArray(scopes)){throw new DiscordjsTypeError(ErrorCodes.InvalidType,"scopes","Array of Invite Scopes",true)}if(!scopes.some(scope=>[OAuth2Scopes.Bot,OAuth2Scopes.ApplicationsCommands].includes(scope))){throw new DiscordjsTypeError(ErrorCodes.InvalidMissingScopes)}if(!scopes.includes(OAuth2Scopes.Bot)&&options.permissions){throw new DiscordjsTypeError(ErrorCodes.InvalidScopesWithPermissions)}const validScopes=Object.values(OAuth2Scopes);const invalidScope=scopes.find(scope=>!validScopes.includes(scope));if(invalidScope){throw new DiscordjsTypeError(ErrorCodes.InvalidElement,"Array","scopes",invalidScope)}const query=makeURLSearchParams({client_id:this.application.id,scope:scopes.join(" "),disable_guild_select:options.disableGuildSelect});if(options.permissions){const permissions=PermissionsBitField.resolve(options.permissions);if(permissions)query.set("permissions",permissions.toString())}if(options.guild){const guildId=this.guilds.resolveId(options.guild);if(!guildId)throw new DiscordjsTypeError(ErrorCodes.InvalidType,"options.guild","GuildResolvable");query.set("guild_id",guildId)}return`${this.options.rest.api}${Routes.oauth2Authorization()}?${query}`}toJSON(){return super.toJSON({actions:false,presence:false})}get _censoredToken(){if(!this.token)return null;return this.token.split(".").map((val,i)=>i>1?val.replace(/./g,"*"):val).join(".")}_eval(script){return eval(script)}_validateOptions(options=this.options){if(options.intents===void 0){throw new DiscordjsTypeError(ErrorCodes.ClientMissingIntents)}else{options.intents=new IntentsBitField(options.intents).freeze()}if(typeof options.shardCount!=="number"||isNaN(options.shardCount)||options.shardCount<1){throw new DiscordjsTypeError(ErrorCodes.ClientInvalidOption,"shardCount","a number greater than or equal to 1")}if(options.shards&&!(options.shards==="auto"||Array.isArray(options.shards))){throw new DiscordjsTypeError(ErrorCodes.ClientInvalidOption,"shards","'auto', a number or array of numbers")}if(options.shards&&!options.shards.length)throw new DiscordjsRangeError(ErrorCodes.ClientInvalidProvidedShards);if(typeof options.makeCache!=="function"){throw new DiscordjsTypeError(ErrorCodes.ClientInvalidOption,"makeCache","a function")}if(typeof options.sweepers!=="object"||options.sweepers===null){throw new DiscordjsTypeError(ErrorCodes.ClientInvalidOption,"sweepers","an object")}if(!Array.isArray(options.partials)){throw new DiscordjsTypeError(ErrorCodes.ClientInvalidOption,"partials","an Array")}if(typeof options.waitGuildTimeout!=="number"||isNaN(options.waitGuildTimeout)){throw new DiscordjsTypeError(ErrorCodes.ClientInvalidOption,"waitGuildTimeout","a number")}if(typeof options.failIfNotExists!=="boolean"){throw new DiscordjsTypeError(ErrorCodes.ClientInvalidOption,"failIfNotExists","a boolean")}if(typeof options.allowedMentions!=="object"&&options.allowedMentions!==void 0||options.allowedMentions===null){throw new DiscordjsTypeError(ErrorCodes.ClientInvalidOption,"allowedMentions","an object")}if(typeof options.presence!=="object"||options.presence===null){throw new DiscordjsTypeError(ErrorCodes.ClientInvalidOption,"presence","an object")}if(typeof options.ws!=="object"||options.ws===null){throw new DiscordjsTypeError(ErrorCodes.ClientInvalidOption,"ws","an object")}if(typeof options.rest!=="object"||options.rest===null){throw new DiscordjsTypeError(ErrorCodes.ClientInvalidOption,"rest","an object")}if(typeof options.jsonTransformer!=="function"){throw new DiscordjsTypeError(ErrorCodes.ClientInvalidOption,"jsonTransformer","a function")}}};module.exports=Client}});var require_ShardEvents=__commonJS({"node_modules/discord.js/src/util/ShardEvents.js"(exports2,module2){"use strict";module2.exports={Death:"death",Disconnect:"disconnect",Error:"error",Message:"message",Ready:"ready",Reconnecting:"reconnecting",Spawn:"spawn"}}});var require_Shard=__commonJS({"node_modules/discord.js/src/sharding/Shard.js"(exports2,module2){"use strict";var EventEmitter3=require("node:events");var path27=require("node:path");var process6=require("node:process");var{setTimeout:setTimeout3,clearTimeout:clearTimeout2}=require("node:timers");var{setTimeout:sleep2}=require("node:timers/promises");var{DiscordjsError:DiscordjsError2,ErrorCodes:ErrorCodes2}=require_errors6();var ShardEvents=require_ShardEvents();var{makeError,makePlainError}=require_Util();var childProcess=null;var Worker=null;var Shard=class extends EventEmitter3{constructor(manager,id){super();switch(manager.mode){case"process":childProcess=require("node:child_process");break;case"worker":Worker=require("node:worker_threads").Worker;break}this.manager=manager;this.id=id;this.args=manager.shardArgs??[];this.execArgv=manager.execArgv;this.env=Object.assign({},process6.env,{SHARDING_MANAGER:true,SHARDS:this.id,SHARD_COUNT:this.manager.totalShards,DISCORD_TOKEN:this.manager.token});this.ready=false;this.process=null;this.worker=null;this._evals=new Map;this._fetches=new Map;this._exitListener=null}spawn(timeout=3e4){if(this.process)throw new DiscordjsError2(ErrorCodes2.ShardingProcessExists,this.id);if(this.worker)throw new DiscordjsError2(ErrorCodes2.ShardingWorkerExists,this.id);this._exitListener=this._handleExit.bind(this,void 0,timeout);switch(this.manager.mode){case"process":this.process=childProcess.fork(path27.resolve(this.manager.file),this.args,{env:this.env,execArgv:this.execArgv}).on("message",this._handleMessage.bind(this)).on("exit",this._exitListener);break;case"worker":this.worker=new Worker(path27.resolve(this.manager.file),{workerData:this.env}).on("message",this._handleMessage.bind(this)).on("exit",this._exitListener);break}this._evals.clear();this._fetches.clear();const child=this.process??this.worker;this.emit(ShardEvents.Spawn,child);if(timeout===-1||timeout===Infinity)return Promise.resolve(child);return new Promise((resolve,reject2)=>{const cleanup=()=>{clearTimeout2(spawnTimeoutTimer);this.off("ready",onReady);this.off("disconnect",onDisconnect);this.off("death",onDeath)};const onReady=()=>{cleanup();resolve(child)};const onDisconnect=()=>{cleanup();reject2(new DiscordjsError2(ErrorCodes2.ShardingReadyDisconnected,this.id))};const onDeath=()=>{cleanup();reject2(new DiscordjsError2(ErrorCodes2.ShardingReadyDied,this.id))};const onTimeout=()=>{cleanup();reject2(new DiscordjsError2(ErrorCodes2.ShardingReadyTimeout,this.id))};const spawnTimeoutTimer=setTimeout3(onTimeout,timeout);this.once("ready",onReady);this.once("disconnect",onDisconnect);this.once("death",onDeath)})}kill(){if(this.process){this.process.removeListener("exit",this._exitListener);this.process.kill()}else{this.worker.removeListener("exit",this._exitListener);this.worker.terminate()}this._handleExit(false)}async respawn({delay:delay3=500,timeout=3e4}={}){this.kill();if(delay3>0)await sleep2(delay3);return this.spawn(timeout)}send(message3){return new Promise((resolve,reject2)=>{if(this.process){this.process.send(message3,err=>{if(err)reject2(err);else resolve(this)})}else{this.worker.postMessage(message3);resolve(this)}})}fetchClientValue(prop){if(!this.process&&!this.worker){return Promise.reject(new DiscordjsError2(ErrorCodes2.ShardingNoChildExists,this.id))}if(this._fetches.has(prop))return this._fetches.get(prop);const promise=new Promise((resolve,reject2)=>{const child=this.process??this.worker;const listener=message3=>{if((message3==null?void 0:message3._fetchProp)!==prop)return;child.removeListener("message",listener);this.decrementMaxListeners(child);this._fetches.delete(prop);if(!message3._error)resolve(message3._result);else reject2(makeError(message3._error))};this.incrementMaxListeners(child);child.on("message",listener);this.send({_fetchProp:prop}).catch(err=>{child.removeListener("message",listener);this.decrementMaxListeners(child);this._fetches.delete(prop);reject2(err)})});this._fetches.set(prop,promise);return promise}eval(script2,context){const _eval=typeof script2==="function"?`(${script2})(this, ${JSON.stringify(context)})`:script2;if(!this.process&&!this.worker){return Promise.reject(new DiscordjsError2(ErrorCodes2.ShardingNoChildExists,this.id))}if(this._evals.has(_eval))return this._evals.get(_eval);const promise=new Promise((resolve,reject2)=>{const child=this.process??this.worker;const listener=message3=>{if((message3==null?void 0:message3._eval)!==_eval)return;child.removeListener("message",listener);this.decrementMaxListeners(child);this._evals.delete(_eval);if(!message3._error)resolve(message3._result);else reject2(makeError(message3._error))};this.incrementMaxListeners(child);child.on("message",listener);this.send({_eval}).catch(err=>{child.removeListener("message",listener);this.decrementMaxListeners(child);this._evals.delete(_eval);reject2(err)})});this._evals.set(_eval,promise);return promise}_handleMessage(message3){if(message3){if(message3._ready){this.ready=true;this.emit(ShardEvents.Ready);return}if(message3._disconnect){this.ready=false;this.emit(ShardEvents.Disconnect);return}if(message3._reconnecting){this.ready=false;this.emit(ShardEvents.Reconnecting);return}if(message3._sFetchProp){const resp={_sFetchProp:message3._sFetchProp,_sFetchPropShard:message3._sFetchPropShard};this.manager.fetchClientValues(message3._sFetchProp,message3._sFetchPropShard).then(results=>this.send({...resp,_result:results}),err=>this.send({...resp,_error:makePlainError(err)}));return}if(message3._sEval){const resp={_sEval:message3._sEval,_sEvalShard:message3._sEvalShard};this.manager._performOnShards("eval",[message3._sEval],message3._sEvalShard).then(results=>this.send({...resp,_result:results}),err=>this.send({...resp,_error:makePlainError(err)}));return}if(message3._sRespawnAll){const{shardDelay,respawnDelay,timeout}=message3._sRespawnAll;this.manager.respawnAll({shardDelay,respawnDelay,timeout}).catch(()=>{});return}}this.emit(ShardEvents.Message,message3)}_handleExit(respawn=this.manager.respawn,timeout){this.emit(ShardEvents.Death,this.process??this.worker);this.ready=false;this.process=null;this.worker=null;this._evals.clear();this._fetches.clear();if(respawn)this.spawn(timeout).catch(err=>this.emit(ShardEvents.Error,err))}incrementMaxListeners(emitter){const maxListeners=emitter.getMaxListeners();if(maxListeners!==0){emitter.setMaxListeners(maxListeners+1)}}decrementMaxListeners(emitter){const maxListeners=emitter.getMaxListeners();if(maxListeners!==0){emitter.setMaxListeners(maxListeners-1)}}};module2.exports=Shard}});var require_ShardingManager=__commonJS({"node_modules/discord.js/src/sharding/ShardingManager.js"(exports2,module2){"use strict";var EventEmitter3=require("node:events");var fs14=require("node:fs");var path27=require("node:path");var process6=require("node:process");var{setTimeout:sleep2}=require("node:timers/promises");var{Collection:Collection2}=require_dist();var Shard=require_Shard();var{DiscordjsError:DiscordjsError2,DiscordjsTypeError:DiscordjsTypeError2,DiscordjsRangeError:DiscordjsRangeError2,ErrorCodes:ErrorCodes2}=require_errors6();var{mergeDefault,fetchRecommendedShardCount}=require_Util();var ShardingManager=class extends EventEmitter3{constructor(file,options={}){var _a12;super();options=mergeDefault({totalShards:"auto",mode:"process",respawn:true,shardArgs:[],execArgv:[],token:process6.env.DISCORD_TOKEN},options);this.file=file;if(!file)throw new DiscordjsError2(ErrorCodes2.ClientInvalidOption,"File","specified.");if(!path27.isAbsolute(file))this.file=path27.resolve(process6.cwd(),file);const stats=fs14.statSync(this.file);if(!stats.isFile())throw new DiscordjsError2(ErrorCodes2.ClientInvalidOption,"File","a file");this.shardList=options.shardList??"auto";if(this.shardList!=="auto"){if(!Array.isArray(this.shardList)){throw new DiscordjsTypeError2(ErrorCodes2.ClientInvalidOption,"shardList","an array.")}this.shardList=[...new Set(this.shardList)];if(this.shardList.length<1){throw new DiscordjsRangeError2(ErrorCodes2.ClientInvalidOption,"shardList","at least 1 id.")}if(this.shardList.some(shardId=>typeof shardId!=="number"||isNaN(shardId)||!Number.isInteger(shardId)||shardId<0)){throw new DiscordjsTypeError2(ErrorCodes2.ClientInvalidOption,"shardList","an array of positive integers.")}}this.totalShards=options.totalShards||"auto";if(this.totalShards!=="auto"){if(typeof this.totalShards!=="number"||isNaN(this.totalShards)){throw new DiscordjsTypeError2(ErrorCodes2.ClientInvalidOption,"Amount of shards","a number.")}if(this.totalShards<1){throw new DiscordjsRangeError2(ErrorCodes2.ClientInvalidOption,"Amount of shards","at least 1.")}if(!Number.isInteger(this.totalShards)){throw new DiscordjsRangeError2(ErrorCodes2.ClientInvalidOption,"Amount of shards","an integer.")}}this.mode=options.mode;if(this.mode!=="process"&&this.mode!=="worker"){throw new DiscordjsRangeError2(ErrorCodes2.ClientInvalidOption,"Sharding mode",'"process" or "worker"')}this.respawn=options.respawn;this.shardArgs=options.shardArgs;this.execArgv=options.execArgv;this.token=((_a12=options.token)==null?void 0:_a12.replace(/^Bot\s*/i,""))??null;this.shards=new Collection2;process6.env.SHARDING_MANAGER=true;process6.env.SHARDING_MANAGER_MODE=this.mode;process6.env.DISCORD_TOKEN=this.token}createShard(id=this.shards.size){const shard=new Shard(this,id);this.shards.set(id,shard);this.emit("shardCreate",shard);return shard}async spawn({amount=this.totalShards,delay:delay3=5500,timeout=3e4}={}){if(amount==="auto"){amount=await fetchRecommendedShardCount(this.token)}else{if(typeof amount!=="number"||isNaN(amount)){throw new DiscordjsTypeError2(ErrorCodes2.ClientInvalidOption,"Amount of shards","a number.")}if(amount<1)throw new DiscordjsRangeError2(ErrorCodes2.ClientInvalidOption,"Amount of shards","at least 1.");if(!Number.isInteger(amount)){throw new DiscordjsTypeError2(ErrorCodes2.ClientInvalidOption,"Amount of shards","an integer.")}}if(this.shards.size>=amount)throw new DiscordjsError2(ErrorCodes2.ShardingAlreadySpawned,this.shards.size);if(this.shardList==="auto"||this.totalShards==="auto"||this.totalShards!==amount){this.shardList=[...Array(amount).keys()]}if(this.totalShards==="auto"||this.totalShards!==amount){this.totalShards=amount}if(this.shardList.some(shardId=>shardId>=amount)){throw new DiscordjsRangeError2(ErrorCodes2.ClientInvalidOption,"Amount of shards","bigger than the highest shardId in the shardList option.")}for(const shardId of this.shardList){const promises=[];const shard=this.createShard(shardId);promises.push(shard.spawn(timeout));if(delay3>0&&this.shards.size!==this.shardList.length)promises.push(sleep2(delay3));await Promise.all(promises)}return this.shards}broadcast(message3){const promises=[];for(const shard of this.shards.values())promises.push(shard.send(message3));return Promise.all(promises)}broadcastEval(script2,options={}){if(typeof script2!=="function"){return Promise.reject(new DiscordjsTypeError2(ErrorCodes2.ShardingInvalidEvalBroadcast))}return this._performOnShards("eval",[`(${script2})(this, ${JSON.stringify(options.context)})`],options.shard)}fetchClientValues(prop,shard){return this._performOnShards("fetchClientValue",[prop],shard)}_performOnShards(method2,args2,shard){if(this.shards.size===0)return Promise.reject(new DiscordjsError2(ErrorCodes2.ShardingNoShards));if(typeof shard==="number"){if(this.shards.has(shard))return this.shards.get(shard)[method2](...args2);return Promise.reject(new DiscordjsError2(ErrorCodes2.ShardingShardNotFound,shard))}if(this.shards.size!==this.shardList.length){return Promise.reject(new DiscordjsError2(ErrorCodes2.ShardingInProcess))}const promises=[];for(const sh of this.shards.values())promises.push(sh[method2](...args2));return Promise.all(promises)}async respawnAll({shardDelay=5e3,respawnDelay=500,timeout=3e4}={}){let s=0;for(const shard of this.shards.values()){const promises=[shard.respawn({delay:respawnDelay,timeout})];if(++s<this.shards.size&&shardDelay>0)promises.push(sleep2(shardDelay));await Promise.all(promises)}return this.shards}};module2.exports=ShardingManager}});var require_Formatters=__commonJS({"node_modules/discord.js/src/util/Formatters.js"(exports2,module2){"use strict";var{deprecate:deprecate2}=require("node:util");var{blockQuote,bold,channelMention,codeBlock,formatEmoji,hideLinkEmbed,hyperlink,inlineCode,italic,quote,roleMention,spoiler,strikethrough,time,TimestampStyles,underscore,userMention}=require_dist6();var Formatters=class extends null{static blockQuote=deprecate2(blockQuote,"Formatters.blockQuote() is deprecated. Import this method directly from discord.js instead.");static bold=deprecate2(bold,"Formatters.bold() is deprecated. Import this method directly from discord.js instead.");static channelMention=deprecate2(channelMention,"Formatters.channelMention() is deprecated. Import this method directly from discord.js instead.");static codeBlock=deprecate2(codeBlock,"Formatters.codeBlock() is deprecated. Import this method directly from discord.js instead.");static formatEmoji=deprecate2(formatEmoji,"Formatters.formatEmoji() is deprecated. Import this method directly from discord.js instead.");static hideLinkEmbed=deprecate2(hideLinkEmbed,"Formatters.hideLinkEmbed() is deprecated. Import this method directly from discord.js instead.");static hyperlink=deprecate2(hyperlink,"Formatters.hyperlink() is deprecated. Import this method directly from discord.js instead.");static inlineCode=deprecate2(inlineCode,"Formatters.inlineCode() is deprecated. Import this method directly from discord.js instead.");static italic=deprecate2(italic,"Formatters.italic() is deprecated. Import this method directly from discord.js instead.");static quote=deprecate2(quote,"Formatters.quote() is deprecated. Import this method directly from discord.js instead.");static roleMention=deprecate2(roleMention,"Formatters.roleMention() is deprecated. Import this method directly from discord.js instead.");static spoiler=deprecate2(spoiler,"Formatters.spoiler() is deprecated. Import this method directly from discord.js instead.");static strikethrough=deprecate2(strikethrough,"Formatters.strikethrough() is deprecated. Import this method directly from discord.js instead.");static time=deprecate2(time,"Formatters.time() is deprecated. Import this method directly from discord.js instead.");static TimestampStyles=TimestampStyles;static underscore=deprecate2(underscore,"Formatters.underscore() is deprecated. Import this method directly from discord.js instead.");static userMention=deprecate2(userMention,"Formatters.userMention() is deprecated. Import this method directly from discord.js instead.")};module2.exports=Formatters}});var require_EmbedBuilder=__commonJS({"node_modules/discord.js/src/structures/EmbedBuilder.js"(exports2,module2){"use strict";var{EmbedBuilder:BuildersEmbed}=require_dist6();var{isJSONEncodable}=require_dist2();var{toSnakeCase}=require_Transformers();var{resolveColor}=require_Util();var EmbedBuilder5=class extends BuildersEmbed{constructor(data){super(toSnakeCase(data))}setColor(color){return super.setColor(color&&resolveColor(color))}static from(other){return new this(isJSONEncodable(other)?other.toJSON():other)}};module2.exports=EmbedBuilder5}});var require_AttachmentBuilder=__commonJS({"node_modules/discord.js/src/structures/AttachmentBuilder.js"(exports2,module2){"use strict";var{basename:basename2,flatten:flatten2}=require_Util();var AttachmentBuilder=class _AttachmentBuilder{constructor(attachment,data={}){this.attachment=attachment;this.name=data.name;this.description=data.description}setDescription(description){this.description=description;return this}setFile(attachment){this.attachment=attachment;return this}setName(name){this.name=name;return this}setSpoiler(spoiler=true){if(spoiler===this.spoiler)return this;if(!spoiler){while(this.spoiler){this.name=this.name.slice("SPOILER_".length)}return this}this.name=`SPOILER_${this.name}`;return this}get spoiler(){return basename2(this.name).startsWith("SPOILER_")}toJSON(){return flatten2(this)}static from(other){return new _AttachmentBuilder(other.attachment,{name:other.name,description:other.description})}};module2.exports=AttachmentBuilder}});var require_ModalBuilder=__commonJS({"node_modules/discord.js/src/structures/ModalBuilder.js"(exports2,module2){"use strict";var{ModalBuilder:BuildersModal,ComponentBuilder}=require_dist6();var{isJSONEncodable}=require_dist2();var{toSnakeCase}=require_Transformers();var ModalBuilder=class extends BuildersModal{constructor({components,...data}={}){super({...toSnakeCase(data),components:components==null?void 0:components.map(c=>c instanceof ComponentBuilder?c:toSnakeCase(c))})}static from(other){return new this(isJSONEncodable(other)?other.toJSON():other)}};module2.exports=ModalBuilder}});var require_SelectMenuBuilder=__commonJS({"node_modules/discord.js/src/structures/SelectMenuBuilder.js"(exports2,module2){"use strict";var process6=require("node:process");var StringSelectMenuBuilder=require_StringSelectMenuBuilder();var deprecationEmitted=false;var SelectMenuBuilder2=class extends StringSelectMenuBuilder{constructor(...params){super(...params);if(!deprecationEmitted){process6.emitWarning("The SelectMenuBuilder class is deprecated. Use StringSelectMenuBuilder instead.","DeprecationWarning");deprecationEmitted=true}}};module2.exports=SelectMenuBuilder2}});var require_SelectMenuComponent=__commonJS({"node_modules/discord.js/src/structures/SelectMenuComponent.js"(exports2,module2){"use strict";var process6=require("node:process");var StringSelectMenuComponent=require_StringSelectMenuComponent();var deprecationEmitted=false;var SelectMenuComponent=class extends StringSelectMenuComponent{constructor(...params){super(...params);if(!deprecationEmitted){process6.emitWarning("The SelectMenuComponent class is deprecated. Use StringSelectMenuComponent instead.","DeprecationWarning");deprecationEmitted=true}}};module2.exports=SelectMenuComponent}});var require_SelectMenuInteraction=__commonJS({"node_modules/discord.js/src/structures/SelectMenuInteraction.js"(exports2,module2){"use strict";var process6=require("node:process");var StringSelectMenuInteraction=require_StringSelectMenuInteraction();var deprecationEmitted=false;var SelectMenuInteraction=class extends StringSelectMenuInteraction{constructor(...params){super(...params);if(!deprecationEmitted){process6.emitWarning("The SelectMenuInteraction class is deprecated. Use StringSelectMenuInteraction instead.","DeprecationWarning");deprecationEmitted=true}}};module2.exports=SelectMenuInteraction}});var require_StringSelectMenuOptionBuilder=__commonJS({"node_modules/discord.js/src/structures/StringSelectMenuOptionBuilder.js"(exports2,module2){"use strict";var{SelectMenuOptionBuilder:BuildersSelectMenuOption}=require_dist6();var{isJSONEncodable}=require_dist2();var{toSnakeCase}=require_Transformers();var{resolvePartialEmoji}=require_Util();var StringSelectMenuOptionBuilder=class extends BuildersSelectMenuOption{constructor({emoji,...data}={}){super(toSnakeCase({...data,emoji:emoji&&typeof emoji==="string"?resolvePartialEmoji(emoji):emoji}))}setEmoji(emoji){if(typeof emoji==="string"){return super.setEmoji(resolvePartialEmoji(emoji))}return super.setEmoji(emoji)}static from(other){return new this(isJSONEncodable(other)?other.toJSON():other)}};module2.exports=StringSelectMenuOptionBuilder}});var require_SelectMenuOptionBuilder=__commonJS({"node_modules/discord.js/src/structures/SelectMenuOptionBuilder.js"(exports2,module2){"use strict";var process6=require("node:process");var StringSelectMenuOptionBuilder=require_StringSelectMenuOptionBuilder();var deprecationEmitted=false;var SelectMenuOptionBuilder2=class extends StringSelectMenuOptionBuilder{constructor(...params){super(...params);if(!deprecationEmitted){process6.emitWarning("The SelectMenuOptionBuilder class is deprecated. Use StringSelectMenuOptionBuilder instead.","DeprecationWarning");deprecationEmitted=true}}};module2.exports=SelectMenuOptionBuilder2}});var require_dist9=__commonJS({"node_modules/@discordjs/formatters/dist/index.js"(exports2,module2){"use strict";var __defProp2=Object.defineProperty;var __getOwnPropDesc2=Object.getOwnPropertyDescriptor;var __getOwnPropNames2=Object.getOwnPropertyNames;var __hasOwnProp2=Object.prototype.hasOwnProperty;var __name=(target,value)=>__defProp2(target,"name",{value,configurable:true});var __export2=(target,all2)=>{for(var name in all2)__defProp2(target,name,{get:all2[name],enumerable:true})};var __copyProps2=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames2(from))if(!__hasOwnProp2.call(to,key)&&key!==except)__defProp2(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc2(from,key))||desc.enumerable})}return to};var __toCommonJS2=mod3=>__copyProps2(__defProp2({},"__esModule",{value:true}),mod3);var src_exports2={};__export2(src_exports2,{Faces:()=>Faces,GuildNavigationMentions:()=>GuildNavigationMentions,HeadingLevel:()=>HeadingLevel,TimestampStyles:()=>TimestampStyles,blockQuote:()=>blockQuote,bold:()=>bold,channelLink:()=>channelLink,channelMention:()=>channelMention,chatInputApplicationCommandMention:()=>chatInputApplicationCommandMention,codeBlock:()=>codeBlock,escapeBold:()=>escapeBold,escapeBulletedList:()=>escapeBulletedList,escapeCodeBlock:()=>escapeCodeBlock,escapeEscape:()=>escapeEscape,escapeHeading:()=>escapeHeading,escapeInlineCode:()=>escapeInlineCode,escapeItalic:()=>escapeItalic,escapeMarkdown:()=>escapeMarkdown,escapeMaskedLink:()=>escapeMaskedLink,escapeNumberedList:()=>escapeNumberedList,escapeSpoiler:()=>escapeSpoiler,escapeStrikethrough:()=>escapeStrikethrough,escapeUnderline:()=>escapeUnderline,formatEmoji:()=>formatEmoji,heading:()=>heading,hideLinkEmbed:()=>hideLinkEmbed,hyperlink:()=>hyperlink,inlineCode:()=>inlineCode,italic:()=>italic,messageLink:()=>messageLink,orderedList:()=>orderedList,quote:()=>quote,roleMention:()=>roleMention,spoiler:()=>spoiler,strikethrough:()=>strikethrough,time:()=>time,underscore:()=>underscore,unorderedList:()=>unorderedList,userMention:()=>userMention});module2.exports=__toCommonJS2(src_exports2);function escapeMarkdown(text,options={}){const{codeBlock:codeBlock2=true,inlineCode:inlineCode2=true,bold:bold2=true,italic:italic2=true,underline=true,strikethrough:strikethrough2=true,spoiler:spoiler2=true,codeBlockContent=true,inlineCodeContent=true,escape:escape3=true,heading:heading2=false,bulletedList=false,numberedList=false,maskedLink=false}=options;if(!codeBlockContent){return text.split("```").map((subString,index,array)=>{if(index%2&&index!==array.length-1)return subString;return escapeMarkdown(subString,{inlineCode:inlineCode2,bold:bold2,italic:italic2,underline,strikethrough:strikethrough2,spoiler:spoiler2,inlineCodeContent,escape:escape3,heading:heading2,bulletedList,numberedList,maskedLink})}).join(codeBlock2?"\\`\\`\\`":"```")}if(!inlineCodeContent){return text.split(/(?<=^|[^`])`(?=[^`]|$)/g).map((subString,index,array)=>{if(index%2&&index!==array.length-1)return subString;return escapeMarkdown(subString,{codeBlock:codeBlock2,bold:bold2,italic:italic2,underline,strikethrough:strikethrough2,spoiler:spoiler2,escape:escape3,heading:heading2,bulletedList,numberedList,maskedLink})}).join(inlineCode2?"\\`":"`")}let res=text;if(escape3)res=escapeEscape(res);if(inlineCode2)res=escapeInlineCode(res);if(codeBlock2)res=escapeCodeBlock(res);if(italic2)res=escapeItalic(res);if(bold2)res=escapeBold(res);if(underline)res=escapeUnderline(res);if(strikethrough2)res=escapeStrikethrough(res);if(spoiler2)res=escapeSpoiler(res);if(heading2)res=escapeHeading(res);if(bulletedList)res=escapeBulletedList(res);if(numberedList)res=escapeNumberedList(res);if(maskedLink)res=escapeMaskedLink(res);return res}__name(escapeMarkdown,"escapeMarkdown");function escapeCodeBlock(text){return text.replaceAll("```","\\`\\`\\`")}__name(escapeCodeBlock,"escapeCodeBlock");function escapeInlineCode(text){return text.replaceAll(/(?<=^|[^`])``?(?=[^`]|$)/g,match=>match.length===2?"\\`\\`":"\\`")}__name(escapeInlineCode,"escapeInlineCode");function escapeItalic(text){let idx=0;const newText=text.replaceAll(/(?<=^|[^*])\*([^*]|\*\*|$)/g,(_,match)=>{if(match==="**")return++idx%2?`\\*${match}`:`${match}\\*`;return`\\*${match}`});idx=0;return newText.replaceAll(/(?<=^|[^_])(?<!<a?:.+)_(?!:\d+>)([^_]|__|$)/g,(_,match)=>{if(match==="__")return++idx%2?`\\_${match}`:`${match}\\_`;return`\\_${match}`})}__name(escapeItalic,"escapeItalic");function escapeBold(text){let idx=0;return text.replaceAll(/\*\*(\*)?/g,(_,match)=>{if(match)return++idx%2?`${match}\\*\\*`:`\\*\\*${match}`;return"\\*\\*"})}__name(escapeBold,"escapeBold");function escapeUnderline(text){let idx=0;return text.replaceAll(/(?<!<a?:.+)__(_)?(?!:\d+>)/g,(_,match)=>{if(match)return++idx%2?`${match}\\_\\_`:`\\_\\_${match}`;return"\\_\\_"})}__name(escapeUnderline,"escapeUnderline");function escapeStrikethrough(text){return text.replaceAll("~~","\\~\\~")}__name(escapeStrikethrough,"escapeStrikethrough");function escapeSpoiler(text){return text.replaceAll("||","\\|\\|")}__name(escapeSpoiler,"escapeSpoiler");function escapeEscape(text){return text.replaceAll("\\","\\\\")}__name(escapeEscape,"escapeEscape");function escapeHeading(text){return text.replaceAll(/^( {0,2})([*-] )?( *)(#{1,3} )/gm,"$1$2$3\\$4")}__name(escapeHeading,"escapeHeading");function escapeBulletedList(text){return text.replaceAll(/^( *)([*-])( +)/gm,"$1\\$2$3")}__name(escapeBulletedList,"escapeBulletedList");function escapeNumberedList(text){return text.replaceAll(/^( *\d+)\./gm,"$1\\.")}__name(escapeNumberedList,"escapeNumberedList");function escapeMaskedLink(text){return text.replaceAll(/\[.+]\(.+\)/gm,"\\$&")}__name(escapeMaskedLink,"escapeMaskedLink");function codeBlock(language2,content){return content===void 0?`\`\`\`
${language2}
\`\`\``:`\`\`\`${language2}
${content}
\`\`\``}__name(codeBlock,"codeBlock");function inlineCode(content){return`\`${content}\``}__name(inlineCode,"inlineCode");function italic(content){return`_${content}_`}__name(italic,"italic");function bold(content){return`**${content}**`}__name(bold,"bold");function underscore(content){return`__${content}__`}__name(underscore,"underscore");function strikethrough(content){return`~~${content}~~`}__name(strikethrough,"strikethrough");function quote(content){return`> ${content}`}__name(quote,"quote");function blockQuote(content){return`>>> ${content}`}__name(blockQuote,"blockQuote");function hideLinkEmbed(url){return`<${url}>`}__name(hideLinkEmbed,"hideLinkEmbed");function hyperlink(content,url,title){return title?`[${content}](${url} "${title}")`:`[${content}](${url})`}__name(hyperlink,"hyperlink");function spoiler(content){return`||${content}||`}__name(spoiler,"spoiler");function userMention(userId){return`<@${userId}>`}__name(userMention,"userMention");function channelMention(channelId){return`<#${channelId}>`}__name(channelMention,"channelMention");function roleMention(roleId){return`<@&${roleId}>`}__name(roleMention,"roleMention");function chatInputApplicationCommandMention(commandName,subcommandGroupName,subcommandName,commandId){if(commandId!==void 0){return`</${commandName} ${subcommandGroupName} ${subcommandName}:${commandId}>`}if(subcommandName!==void 0){return`</${commandName} ${subcommandGroupName}:${subcommandName}>`}return`</${commandName}:${subcommandGroupName}>`}__name(chatInputApplicationCommandMention,"chatInputApplicationCommandMention");function formatEmoji(emojiId,animated=false){return`<${animated?"a":""}:_:${emojiId}>`}__name(formatEmoji,"formatEmoji");function channelLink(channelId,guildId){return`https://discord.com/channels/${guildId??"@me"}/${channelId}`}__name(channelLink,"channelLink");function messageLink(channelId,messageId,guildId){return`${guildId===void 0?channelLink(channelId):channelLink(channelId,guildId)}/${messageId}`}__name(messageLink,"messageLink");var HeadingLevel=(HeadingLevel2=>{HeadingLevel2[HeadingLevel2["One"]=1]="One";HeadingLevel2[HeadingLevel2["Two"]=2]="Two";HeadingLevel2[HeadingLevel2["Three"]=3]="Three";return HeadingLevel2})(HeadingLevel||{});function heading(content,level){switch(level){case 3:return`### ${content}`;case 2:return`## ${content}`;default:return`# ${content}`}}__name(heading,"heading");function listCallback(element,startNumber,depth=0){if(Array.isArray(element)){return element.map(element2=>listCallback(element2,startNumber,depth+1)).join("\n")}return`${"  ".repeat(depth-1)}${startNumber?`${startNumber}.`:"-"} ${element}`}__name(listCallback,"listCallback");function orderedList(list,startNumber=1){return listCallback(list,Math.max(startNumber,1))}__name(orderedList,"orderedList");function unorderedList(list){return listCallback(list)}__name(unorderedList,"unorderedList");function time(timeOrSeconds,style){if(typeof timeOrSeconds!=="number"){timeOrSeconds=Math.floor(((timeOrSeconds==null?void 0:timeOrSeconds.getTime())??Date.now())/1e3)}return typeof style==="string"?`<t:${timeOrSeconds}:${style}>`:`<t:${timeOrSeconds}>`}__name(time,"time");var TimestampStyles={ShortTime:"t",LongTime:"T",ShortDate:"d",LongDate:"D",ShortDateTime:"f",LongDateTime:"F",RelativeTime:"R"};var Faces=(Faces2=>{Faces2["Shrug"]="¯_(ツ)_/¯";Faces2["Tableflip"]="(╯°□°)╯︵ ┻━┻";Faces2["Unflip"]="┬─┬ノ( º _ ºノ)";return Faces2})(Faces||{});var GuildNavigationMentions=(GuildNavigationMentions2=>{GuildNavigationMentions2["Browse"]="<id:browse>";GuildNavigationMentions2["Customize"]="<id:customize>";GuildNavigationMentions2["Guide"]="<id:guide>";return GuildNavigationMentions2})(GuildNavigationMentions||{})}});var require_src2=__commonJS({"node_modules/discord.js/src/index.js"(exports2){"use strict";var{__exportStar:__exportStar2}=(init_tslib_es6(),__toCommonJS(tslib_es6_exports));exports2.BaseClient=require_BaseClient();exports2.Client=require_Client();exports2.Shard=require_Shard();exports2.ShardClientUtil=require_ShardClientUtil();exports2.ShardingManager=require_ShardingManager();exports2.WebhookClient=require_WebhookClient();exports2.DiscordjsError=require_DJSError().DiscordjsError;exports2.DiscordjsTypeError=require_DJSError().DiscordjsTypeError;exports2.DiscordjsRangeError=require_DJSError().DiscordjsRangeError;exports2.DiscordjsErrorCodes=require_ErrorCodes();exports2.ActivityFlagsBitField=require_ActivityFlagsBitField();exports2.ApplicationFlagsBitField=require_ApplicationFlagsBitField();exports2.BaseManager=require_BaseManager();exports2.BitField=require_BitField();exports2.ChannelFlagsBitField=require_ChannelFlagsBitField();exports2.Collection=require_dist().Collection;exports2.Constants=require_Constants();exports2.Colors=require_Colors();exports2.DataResolver=require_DataResolver();exports2.Events=require_Events();exports2.Formatters=require_Formatters();exports2.GuildMemberFlagsBitField=require_GuildMemberFlagsBitField().GuildMemberFlagsBitField;exports2.IntentsBitField=require_IntentsBitField();exports2.LimitedCollection=require_LimitedCollection();exports2.MessageFlagsBitField=require_MessageFlagsBitField();exports2.Options=require_Options();exports2.Partials=require_Partials();exports2.PermissionsBitField=require_PermissionsBitField();exports2.ShardEvents=require_ShardEvents();exports2.Status=require_Status();exports2.SnowflakeUtil=require_cjs2().DiscordSnowflake;exports2.Sweepers=require_Sweepers();exports2.SystemChannelFlagsBitField=require_SystemChannelFlagsBitField();exports2.ThreadMemberFlagsBitField=require_ThreadMemberFlagsBitField();exports2.UserFlagsBitField=require_UserFlagsBitField();__exportStar2(require_Util(),exports2);exports2.WebSocketShardEvents=require_WebSocketShardEvents();exports2.version=require_package4().version;exports2.ApplicationCommandManager=require_ApplicationCommandManager();exports2.ApplicationCommandPermissionsManager=require_ApplicationCommandPermissionsManager();exports2.AutoModerationRuleManager=require_AutoModerationRuleManager();exports2.BaseGuildEmojiManager=require_BaseGuildEmojiManager();exports2.CachedManager=require_CachedManager();exports2.ChannelManager=require_ChannelManager();exports2.ClientVoiceManager=require_ClientVoiceManager();exports2.DataManager=require_DataManager();exports2.GuildApplicationCommandManager=require_GuildApplicationCommandManager();exports2.GuildBanManager=require_GuildBanManager();exports2.GuildChannelManager=require_GuildChannelManager();exports2.GuildEmojiManager=require_GuildEmojiManager();exports2.GuildEmojiRoleManager=require_GuildEmojiRoleManager();exports2.GuildForumThreadManager=require_GuildForumThreadManager();exports2.GuildInviteManager=require_GuildInviteManager();exports2.GuildManager=require_GuildManager();exports2.GuildMemberManager=require_GuildMemberManager();exports2.GuildMemberRoleManager=require_GuildMemberRoleManager();exports2.GuildScheduledEventManager=require_GuildScheduledEventManager();exports2.GuildStickerManager=require_GuildStickerManager();exports2.GuildTextThreadManager=require_GuildTextThreadManager();exports2.MessageManager=require_MessageManager();exports2.PermissionOverwriteManager=require_PermissionOverwriteManager();exports2.PresenceManager=require_PresenceManager();exports2.ReactionManager=require_ReactionManager();exports2.ReactionUserManager=require_ReactionUserManager();exports2.RoleManager=require_RoleManager();exports2.StageInstanceManager=require_StageInstanceManager();exports2.ThreadManager=require_ThreadManager();exports2.ThreadMemberManager=require_ThreadMemberManager();exports2.UserManager=require_UserManager();exports2.VoiceStateManager=require_VoiceStateManager();exports2.WebSocketManager=require_WebSocketManager();exports2.WebSocketShard=require_WebSocketShard();exports2.ActionRow=require_ActionRow();exports2.ActionRowBuilder=require_ActionRowBuilder();exports2.Activity=require_Presence().Activity;exports2.AnonymousGuild=require_AnonymousGuild();exports2.Application=require_Application();exports2.ApplicationCommand=require_ApplicationCommand();exports2.ApplicationRoleConnectionMetadata=require_ApplicationRoleConnectionMetadata().ApplicationRoleConnectionMetadata;exports2.AutocompleteInteraction=require_AutocompleteInteraction();exports2.AutoModerationActionExecution=require_AutoModerationActionExecution();exports2.AutoModerationRule=require_AutoModerationRule();exports2.Base=require_Base();exports2.BaseGuild=require_BaseGuild();exports2.BaseGuildEmoji=require_BaseGuildEmoji();exports2.BaseGuildTextChannel=require_BaseGuildTextChannel();exports2.BaseGuildVoiceChannel=require_BaseGuildVoiceChannel();exports2.ButtonBuilder=require_ButtonBuilder();exports2.ButtonComponent=require_ButtonComponent();exports2.ButtonInteraction=require_ButtonInteraction();exports2.CategoryChannel=require_CategoryChannel();exports2.BaseChannel=require_BaseChannel().BaseChannel;exports2.ChatInputCommandInteraction=require_ChatInputCommandInteraction();exports2.ClientApplication=require_ClientApplication();exports2.ClientPresence=require_ClientPresence();exports2.ClientUser=require_ClientUser();exports2.CommandInteraction=require_CommandInteraction();exports2.Collector=require_Collector();exports2.CommandInteractionOptionResolver=require_CommandInteractionOptionResolver();exports2.Component=require_Component();exports2.ContextMenuCommandInteraction=require_ContextMenuCommandInteraction();exports2.DMChannel=require_DMChannel();exports2.Embed=require_Embed();exports2.EmbedBuilder=require_EmbedBuilder();exports2.Emoji=require_Emoji().Emoji;exports2.ForumChannel=require_ForumChannel();exports2.Guild=require_Guild().Guild;exports2.GuildAuditLogs=require_GuildAuditLogs();exports2.GuildAuditLogsEntry=require_GuildAuditLogsEntry();exports2.GuildBan=require_GuildBan();exports2.GuildChannel=require_GuildChannel();exports2.GuildEmoji=require_GuildEmoji();exports2.GuildMember=require_GuildMember().GuildMember;exports2.GuildPreview=require_GuildPreview();exports2.GuildPreviewEmoji=require_GuildPreviewEmoji();exports2.GuildScheduledEvent=require_GuildScheduledEvent().GuildScheduledEvent;exports2.GuildTemplate=require_GuildTemplate();exports2.Integration=require_Integration();exports2.IntegrationApplication=require_IntegrationApplication();exports2.BaseInteraction=require_BaseInteraction();exports2.InteractionCollector=require_InteractionCollector();exports2.InteractionResponse=require_InteractionResponse();exports2.InteractionWebhook=require_InteractionWebhook();exports2.Invite=require_Invite();exports2.InviteStageInstance=require_InviteStageInstance();exports2.InviteGuild=require_InviteGuild();exports2.Message=require_Message().Message;exports2.Attachment=require_Attachment();exports2.AttachmentBuilder=require_AttachmentBuilder();exports2.ModalBuilder=require_ModalBuilder();exports2.MessageCollector=require_MessageCollector();exports2.MessageComponentInteraction=require_MessageComponentInteraction();exports2.MessageContextMenuCommandInteraction=require_MessageContextMenuCommandInteraction();exports2.MessageMentions=require_MessageMentions();exports2.MessagePayload=require_MessagePayload();exports2.MessageReaction=require_MessageReaction();exports2.ModalSubmitInteraction=require_ModalSubmitInteraction();exports2.ModalSubmitFields=require_ModalSubmitFields();exports2.NewsChannel=require_NewsChannel();exports2.OAuth2Guild=require_OAuth2Guild();exports2.PartialGroupDMChannel=require_PartialGroupDMChannel();exports2.PermissionOverwrites=require_PermissionOverwrites();exports2.Presence=require_Presence().Presence;exports2.ReactionCollector=require_ReactionCollector();exports2.ReactionEmoji=require_ReactionEmoji();exports2.RichPresenceAssets=require_Presence().RichPresenceAssets;exports2.Role=require_Role().Role;exports2.SelectMenuBuilder=require_SelectMenuBuilder();exports2.ChannelSelectMenuBuilder=require_ChannelSelectMenuBuilder();exports2.MentionableSelectMenuBuilder=require_MentionableSelectMenuBuilder();exports2.RoleSelectMenuBuilder=require_RoleSelectMenuBuilder();exports2.StringSelectMenuBuilder=require_StringSelectMenuBuilder();exports2.UserSelectMenuBuilder=require_UserSelectMenuBuilder();exports2.BaseSelectMenuComponent=require_BaseSelectMenuComponent();exports2.SelectMenuComponent=require_SelectMenuComponent();exports2.ChannelSelectMenuComponent=require_ChannelSelectMenuComponent();exports2.MentionableSelectMenuComponent=require_MentionableSelectMenuComponent();exports2.RoleSelectMenuComponent=require_RoleSelectMenuComponent();exports2.StringSelectMenuComponent=require_StringSelectMenuComponent();exports2.UserSelectMenuComponent=require_UserSelectMenuComponent();exports2.SelectMenuInteraction=require_SelectMenuInteraction();exports2.ChannelSelectMenuInteraction=require_ChannelSelectMenuInteraction();exports2.MentionableSelectMenuInteraction=require_MentionableSelectMenuInteraction();exports2.MentionableSelectMenuInteraction=require_MentionableSelectMenuInteraction();exports2.RoleSelectMenuInteraction=require_RoleSelectMenuInteraction();exports2.StringSelectMenuInteraction=require_StringSelectMenuInteraction();exports2.UserSelectMenuInteraction=require_UserSelectMenuInteraction();exports2.SelectMenuOptionBuilder=require_SelectMenuOptionBuilder();exports2.StringSelectMenuOptionBuilder=require_StringSelectMenuOptionBuilder();exports2.StageChannel=require_StageChannel();exports2.StageInstance=require_StageInstance().StageInstance;exports2.Sticker=require_Sticker().Sticker;exports2.StickerPack=require_StickerPack();exports2.Team=require_Team();exports2.TeamMember=require_TeamMember();exports2.TextChannel=require_TextChannel();exports2.TextInputBuilder=require_TextInputBuilder();exports2.TextInputComponent=require_TextInputComponent();exports2.ThreadChannel=require_ThreadChannel();exports2.ThreadMember=require_ThreadMember();exports2.Typing=require_Typing();exports2.User=require_User();exports2.UserContextMenuCommandInteraction=require_UserContextMenuCommandInteraction();exports2.VoiceChannel=require_VoiceChannel();exports2.VoiceRegion=require_VoiceRegion();exports2.VoiceState=require_VoiceState();exports2.Webhook=require_Webhook();exports2.Widget=require_Widget();exports2.WidgetMember=require_WidgetMember();exports2.WelcomeChannel=require_WelcomeChannel();exports2.WelcomeScreen=require_WelcomeScreen();__exportStar2(require_v106(),exports2);__exportStar2(require_dist6(),exports2);__exportStar2(require_dist9(),exports2);__exportStar2(require_dist3(),exports2);__exportStar2(require_dist2(),exports2);__exportStar2(require_dist8(),exports2)}});var require_Assembler=__commonJS({"node_modules/stream-json/Assembler.js"(exports2,module2){"use strict";var EventEmitter3=require("events");var startObject=Ctr=>function(){if(this.done){this.done=false}else{this.stack.push(this.current,this.key)}this.current=new Ctr;this.key=null};var Assembler=class _Assembler extends EventEmitter3{static connectTo(stream3,options){return new _Assembler(options).connectTo(stream3)}constructor(options){super();this.stack=[];this.current=this.key=null;this.done=true;if(options){this.reviver=typeof options.reviver=="function"&&options.reviver;if(this.reviver){this.stringValue=this._saveValue=this._saveValueWithReviver}if(options.numberAsString){this.numberValue=this.stringValue}}}connectTo(stream3){stream3.on("data",chunk2=>{if(this[chunk2.name]){this[chunk2.name](chunk2.value);if(this.done)this.emit("done",this)}});return this}get depth(){return(this.stack.length>>1)+(this.done?0:1)}get path(){const path27=[];for(let i=0;i<this.stack.length;i+=2){const key=this.stack[i+1];path27.push(key===null?this.stack[i].length:key)}return path27}dropToLevel(level){if(level<this.depth){if(level){const index=level-1<<1;this.current=this.stack[index];this.key=this.stack[index+1];this.stack.splice(index)}else{this.stack=[];this.current=this.key=null;this.done=true}}return this}consume(chunk2){this[chunk2.name]&&this[chunk2.name](chunk2.value);return this}keyValue(value){this.key=value}numberValue(value){this._saveValue(parseFloat(value))}nullValue(){this._saveValue(null)}trueValue(){this._saveValue(true)}falseValue(){this._saveValue(false)}endObject(){if(this.stack.length){const value=this.current;this.key=this.stack.pop();this.current=this.stack.pop();this._saveValue(value)}else{this.done=true}}_saveValue(value){if(this.done){this.current=value}else{if(this.current instanceof Array){this.current.push(value)}else{this.current[this.key]=value;this.key=null}}}_saveValueWithReviver(value){if(this.done){this.current=this.reviver("",value)}else{if(this.current instanceof Array){value=this.reviver(""+this.current.length,value);this.current.push(value);if(value===void 0){delete this.current[this.current.length-1]}}else{value=this.reviver(this.key,value);if(value!==void 0){this.current[this.key]=value}this.key=null}}}};Assembler.prototype.stringValue=Assembler.prototype._saveValue;Assembler.prototype.startObject=startObject(Object);Assembler.prototype.startArray=startObject(Array);Assembler.prototype.endArray=Assembler.prototype.endObject;module2.exports=Assembler}});var require_StreamBase=__commonJS({"node_modules/stream-json/streamers/StreamBase.js"(exports2,module2){"use strict";var{Transform}=require("stream");var Assembler=require_Assembler();var Counter=class{constructor(initialDepth){this.depth=initialDepth}startObject(){++this.depth}endObject(){--this.depth}startArray(){++this.depth}endArray(){--this.depth}};var StreamBase=class extends Transform{constructor(options){super(Object.assign({},options,{writableObjectMode:true,readableObjectMode:true}));if(options){this.objectFilter=options.objectFilter;this.includeUndecided=options.includeUndecided}if(typeof this.objectFilter!="function"){this._filter=this._transform}this._transform=this._wait||this._filter;this._assembler=new Assembler(options)}_transform(chunk2,encoding,callback){if(this._assembler[chunk2.name]){this._assembler[chunk2.name](chunk2.value);if(this._assembler.depth===this._level){this._push()}}callback(null)}_filter(chunk2,encoding,callback){if(this._assembler[chunk2.name]){this._assembler[chunk2.name](chunk2.value);const result2=this.objectFilter(this._assembler);if(result2){if(this._assembler.depth===this._level){this._push();this._transform=this._filter}this._transform=this._accept;return callback(null)}if(result2===false){this._saved_assembler=this._assembler;this._assembler=new Counter(this._saved_assembler.depth);this._saved_assembler.dropToLevel(this._level);if(this._assembler.depth===this._level){this._assembler=this._saved_assembler;this._transform=this._filter}this._transform=this._reject;return callback(null)}if(this._assembler.depth===this._level){this._push(!this.includeUndecided)}}callback(null)}_accept(chunk2,encoding,callback){if(this._assembler[chunk2.name]){this._assembler[chunk2.name](chunk2.value);if(this._assembler.depth===this._level){this._push();this._transform=this._filter}}callback(null)}_reject(chunk2,encoding,callback){if(this._assembler[chunk2.name]){this._assembler[chunk2.name](chunk2.value);if(this._assembler.depth===this._level){this._assembler=this._saved_assembler;this._transform=this._filter}}callback(null)}};module2.exports=StreamBase}});var require_stream_chain=__commonJS({"node_modules/stream-chain/index.js"(exports2,module2){"use strict";var{Readable:Readable2,Writable:Writable4,Duplex:Duplex2,Transform}=require("stream");var none=Symbol.for("object-stream.none");var finalSymbol=Symbol.for("object-stream.final");var manySymbol=Symbol.for("object-stream.many");var final=value=>({[finalSymbol]:value});var many=values2=>({[manySymbol]:values2});var isFinal=o=>o&&typeof o=="object"&&finalSymbol in o;var isMany=o=>o&&typeof o=="object"&&manySymbol in o;var getFinalValue=o=>o[finalSymbol];var getManyValues=o=>o[manySymbol];var runAsyncGenerator=async(gen,stream3)=>{for(;;){let data=gen.next();if(data&&typeof data.then=="function"){data=await data}if(data.done)break;let value=data.value;if(value&&typeof value.then=="function"){value=await value}Chain.sanitize(value,stream3)}};var wrapFunction=fn2=>new Transform({writableObjectMode:true,readableObjectMode:true,transform(chunk2,encoding,callback){try{const result2=fn2.call(this,chunk2,encoding);if(result2&&typeof result2.then=="function"){result2.then(result3=>(Chain.sanitize(result3,this),callback(null)),error=>callback(error));return}if(result2&&typeof result2.next=="function"){runAsyncGenerator(result2,this).then(()=>callback(null),error=>callback(error));return}Chain.sanitize(result2,this);callback(null)}catch(error){callback(error)}}});var wrapArray=fns=>new Transform({writableObjectMode:true,readableObjectMode:true,transform(chunk2,encoding,callback){try{let value=chunk2;for(let i=0;i<fns.length;++i){const result2=fns[i].call(this,value,encoding);if(result2===Chain.none){callback(null);return}if(Chain.isFinal(result2)){value=Chain.getFinalValue(result2);break}value=result2}Chain.sanitize(value,this);callback(null)}catch(error){callback(error)}}});var isReadableNodeStream=obj=>obj&&typeof obj.pipe==="function"&&typeof obj.on==="function"&&(!obj._writableState||(typeof obj._readableState==="object"?obj._readableState.readable:null)!==false)&&(!obj._writableState||obj._readableState);var isWritableNodeStream=obj=>obj&&typeof obj.write==="function"&&typeof obj.on==="function"&&(!obj._readableState||(typeof obj._writableState==="object"?obj._writableState.writable:null)!==false);var isDuplexNodeStream=obj=>obj&&typeof obj.pipe==="function"&&obj._readableState&&typeof obj.on==="function"&&typeof obj.write==="function";var Chain=class _Chain extends Duplex2{constructor(fns,options){super(options||{writableObjectMode:true,readableObjectMode:true});if(!(fns instanceof Array)||!fns.length){throw Error("Chain's argument should be a non-empty array.")}this.streams=fns.filter(fn2=>fn2).map((fn2,index,fns2)=>{if(typeof fn2==="function"||fn2 instanceof Array)return _Chain.convertToTransform(fn2);if(isDuplexNodeStream(fn2)||!index&&isReadableNodeStream(fn2)||index===fns2.length-1&&isWritableNodeStream(fn2)){return fn2}throw Error("Arguments should be functions, arrays or streams.")}).filter(s=>s);this.input=this.streams[0];this.output=this.streams.reduce((output,stream3)=>output&&output.pipe(stream3)||stream3);if(!isWritableNodeStream(this.input)){this._write=(_1,_2,callback)=>callback(null);this._final=callback=>callback(null);this.input.on("end",()=>this.end())}if(isReadableNodeStream(this.output)){this.output.on("data",chunk2=>!this.push(chunk2)&&this.output.pause());this.output.on("end",()=>this.push(null))}else{this._read=()=>{};this.resume();this.output.on("finish",()=>this.push(null))}if(!options||!options.skipEvents){this.streams.forEach(stream3=>stream3.on("error",error=>this.emit("error",error)))}}_write(chunk2,encoding,callback){let error=null;try{this.input.write(chunk2,encoding,e=>callback(e||error))}catch(e){error=e}}_final(callback){let error=null;try{this.input.end(null,null,e=>callback(e||error))}catch(e){error=e}}_read(){this.output.resume()}static make(fns,options){return new _Chain(fns,options)}static sanitize(result2,stream3){if(_Chain.isFinal(result2)){result2=_Chain.getFinalValue(result2)}else if(_Chain.isMany(result2)){result2=_Chain.getManyValues(result2)}if(result2!==void 0&&result2!==null&&result2!==_Chain.none){if(result2 instanceof Array){result2.forEach(value=>value!==void 0&&value!==null&&stream3.push(value))}else{stream3.push(result2)}}}static convertToTransform(fn2){if(typeof fn2==="function")return wrapFunction(fn2);if(fn2 instanceof Array)return fn2.length?wrapArray(fn2):null;return null}};Chain.none=none;Chain.final=final;Chain.isFinal=isFinal;Chain.getFinalValue=getFinalValue;Chain.many=many;Chain.isMany=isMany;Chain.getManyValues=getManyValues;Chain.chain=Chain.make;Chain.make.Constructor=Chain;module2.exports=Chain}});var require_Utf8Stream=__commonJS({"node_modules/stream-json/utils/Utf8Stream.js"(exports2,module2){"use strict";var{Transform}=require("stream");var{StringDecoder}=require("string_decoder");var Utf8Stream=class extends Transform{constructor(options){super(Object.assign({},options,{writableObjectMode:false}));this._buffer=""}_transform(chunk2,encoding,callback){if(typeof chunk2=="string"){this._transform=this._transformString}else{this._stringDecoder=new StringDecoder;this._transform=this._transformBuffer}this._transform(chunk2,encoding,callback)}_transformBuffer(chunk2,_,callback){this._buffer+=this._stringDecoder.write(chunk2);this._processBuffer(callback)}_transformString(chunk2,_,callback){this._buffer+=chunk2.toString();this._processBuffer(callback)}_processBuffer(callback){if(this._buffer){this.push(this._buffer,"utf8");this._buffer=""}callback(null)}_flushInput(){if(this._stringDecoder){this._buffer+=this._stringDecoder.end()}}_flush(callback){this._flushInput();this._processBuffer(callback)}};module2.exports=Utf8Stream}});var require_Parser=__commonJS({"node_modules/stream-json/Parser.js"(exports2,module2){"use strict";var Utf8Stream=require_Utf8Stream();var patterns={value1:/^(?:[\"\{\[\]\-\d]|true\b|false\b|null\b|\s{1,256})/,string:/^(?:[^\x00-\x1f\"\\]{1,256}|\\[bfnrt\"\\\/]|\\u[\da-fA-F]{4}|\")/,key1:/^(?:[\"\}]|\s{1,256})/,colon:/^(?:\:|\s{1,256})/,comma:/^(?:[\,\]\}]|\s{1,256})/,ws:/^\s{1,256}/,numberStart:/^\d/,numberDigit:/^\d{0,256}/,numberFraction:/^[\.eE]/,numberExponent:/^[eE]/,numberExpSign:/^[-+]/};var MAX_PATTERN_SIZE=16;var noSticky=true;try{new RegExp(".","y");noSticky=false}catch(e){}!noSticky&&Object.keys(patterns).forEach(key=>{let src=patterns[key].source.slice(1);if(src.slice(0,3)==="(?:"&&src.slice(-1)===")"){src=src.slice(3,-1)}patterns[key]=new RegExp(src,"y")});patterns.numberFracStart=patterns.numberExpStart=patterns.numberStart;patterns.numberFracDigit=patterns.numberExpDigit=patterns.numberDigit;var values2={true:true,false:false,null:null};var expected={object:"objectStop",array:"arrayStop","":"done"};var fromHex=s=>String.fromCharCode(parseInt(s.slice(2),16));var codes={b:"\b",f:"\f",n:"\n",r:"\r",t:"	",'"':'"',"\\":"\\","/":"/"};var Parser=class _Parser extends Utf8Stream{static make(options){return new _Parser(options)}constructor(options){super(Object.assign({},options,{readableObjectMode:true}));this._packKeys=this._packStrings=this._packNumbers=this._streamKeys=this._streamStrings=this._streamNumbers=true;if(options){"packValues"in options&&(this._packKeys=this._packStrings=this._packNumbers=options.packValues);"packKeys"in options&&(this._packKeys=options.packKeys);"packStrings"in options&&(this._packStrings=options.packStrings);"packNumbers"in options&&(this._packNumbers=options.packNumbers);"streamValues"in options&&(this._streamKeys=this._streamStrings=this._streamNumbers=options.streamValues);"streamKeys"in options&&(this._streamKeys=options.streamKeys);"streamStrings"in options&&(this._streamStrings=options.streamStrings);"streamNumbers"in options&&(this._streamNumbers=options.streamNumbers);this._jsonStreaming=options.jsonStreaming}!this._packKeys&&(this._streamKeys=true);!this._packStrings&&(this._streamStrings=true);!this._packNumbers&&(this._streamNumbers=true);this._done=false;this._expect=this._jsonStreaming?"done":"value";this._stack=[];this._parent="";this._open_number=false;this._accumulator=""}_flush(callback){this._done=true;super._flush(error=>{if(error)return callback(error);if(this._open_number){if(this._streamNumbers){this.push({name:"endNumber"})}this._open_number=false;if(this._packNumbers){this.push({name:"numberValue",value:this._accumulator});this._accumulator=""}}callback(null)})}_processBuffer(callback){let match,value,index=0;main:for(;;){switch(this._expect){case"value1":case"value":patterns.value1.lastIndex=index;match=patterns.value1.exec(this._buffer);if(!match){if(this._done||index+MAX_PATTERN_SIZE<this._buffer.length){if(index<this._buffer.length)return callback(new Error("Parser cannot parse input: expected a value"));return callback(new Error("Parser has expected a value"))}break main}value=match[0];switch(value){case'"':this._streamStrings&&this.push({name:"startString"});this._expect="string";break;case"{":this.push({name:"startObject"});this._stack.push(this._parent);this._parent="object";this._expect="key1";break;case"[":this.push({name:"startArray"});this._stack.push(this._parent);this._parent="array";this._expect="value1";break;case"]":if(this._expect!=="value1")return callback(new Error("Parser cannot parse input: unexpected token ']'"));if(this._open_number){this._streamNumbers&&this.push({name:"endNumber"});this._open_number=false;if(this._packNumbers){this.push({name:"numberValue",value:this._accumulator});this._accumulator=""}}this.push({name:"endArray"});this._parent=this._stack.pop();this._expect=expected[this._parent];break;case"-":this._open_number=true;if(this._streamNumbers){this.push({name:"startNumber"});this.push({name:"numberChunk",value:"-"})}this._packNumbers&&(this._accumulator="-");this._expect="numberStart";break;case"0":this._open_number=true;if(this._streamNumbers){this.push({name:"startNumber"});this.push({name:"numberChunk",value:"0"})}this._packNumbers&&(this._accumulator="0");this._expect="numberFraction";break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":this._open_number=true;if(this._streamNumbers){this.push({name:"startNumber"});this.push({name:"numberChunk",value})}this._packNumbers&&(this._accumulator=value);this._expect="numberDigit";break;case"true":case"false":case"null":if(this._buffer.length-index===value.length&&!this._done)break main;this.push({name:value+"Value",value:values2[value]});this._expect=expected[this._parent];break}if(noSticky){this._buffer=this._buffer.slice(value.length)}else{index+=value.length}break;case"keyVal":case"string":patterns.string.lastIndex=index;match=patterns.string.exec(this._buffer);if(!match){if(index<this._buffer.length&&(this._done||this._buffer.length-index>=6))return callback(new Error("Parser cannot parse input: escaped characters"));if(this._done)return callback(new Error("Parser has expected a string value"));break main}value=match[0];if(value==='"'){if(this._expect==="keyVal"){this._streamKeys&&this.push({name:"endKey"});if(this._packKeys){this.push({name:"keyValue",value:this._accumulator});this._accumulator=""}this._expect="colon"}else{this._streamStrings&&this.push({name:"endString"});if(this._packStrings){this.push({name:"stringValue",value:this._accumulator});this._accumulator=""}this._expect=expected[this._parent]}}else if(value.length>1&&value.charAt(0)==="\\"){const t=value.length==2?codes[value.charAt(1)]:fromHex(value);if(this._expect==="keyVal"?this._streamKeys:this._streamStrings){this.push({name:"stringChunk",value:t})}if(this._expect==="keyVal"?this._packKeys:this._packStrings){this._accumulator+=t}}else{if(this._expect==="keyVal"?this._streamKeys:this._streamStrings){this.push({name:"stringChunk",value})}if(this._expect==="keyVal"?this._packKeys:this._packStrings){this._accumulator+=value}}if(noSticky){this._buffer=this._buffer.slice(value.length)}else{index+=value.length}break;case"key1":case"key":patterns.key1.lastIndex=index;match=patterns.key1.exec(this._buffer);if(!match){if(index<this._buffer.length||this._done)return callback(new Error("Parser cannot parse input: expected an object key"));break main}value=match[0];if(value==='"'){this._streamKeys&&this.push({name:"startKey"});this._expect="keyVal"}else if(value==="}"){if(this._expect!=="key1")return callback(new Error("Parser cannot parse input: unexpected token '}'"));this.push({name:"endObject"});this._parent=this._stack.pop();this._expect=expected[this._parent]}if(noSticky){this._buffer=this._buffer.slice(value.length)}else{index+=value.length}break;case"colon":patterns.colon.lastIndex=index;match=patterns.colon.exec(this._buffer);if(!match){if(index<this._buffer.length||this._done)return callback(new Error("Parser cannot parse input: expected ':'"));break main}value=match[0];value===":"&&(this._expect="value");if(noSticky){this._buffer=this._buffer.slice(value.length)}else{index+=value.length}break;case"arrayStop":case"objectStop":patterns.comma.lastIndex=index;match=patterns.comma.exec(this._buffer);if(!match){if(index<this._buffer.length||this._done)return callback(new Error("Parser cannot parse input: expected ','"));break main}if(this._open_number){this._streamNumbers&&this.push({name:"endNumber"});this._open_number=false;if(this._packNumbers){this.push({name:"numberValue",value:this._accumulator});this._accumulator=""}}value=match[0];if(value===","){this._expect=this._expect==="arrayStop"?"value":"key"}else if(value==="}"||value==="]"){if(value==="}"?this._expect==="arrayStop":this._expect!=="arrayStop"){return callback(new Error("Parser cannot parse input: expected '"+(this._expect==="arrayStop"?"]":"}")+"'"))}this.push({name:value==="}"?"endObject":"endArray"});this._parent=this._stack.pop();this._expect=expected[this._parent]}if(noSticky){this._buffer=this._buffer.slice(value.length)}else{index+=value.length}break;case"numberStart":patterns.numberStart.lastIndex=index;match=patterns.numberStart.exec(this._buffer);if(!match){if(index<this._buffer.length||this._done)return callback(new Error("Parser cannot parse input: expected a starting digit"));break main}value=match[0];this._streamNumbers&&this.push({name:"numberChunk",value});this._packNumbers&&(this._accumulator+=value);this._expect=value==="0"?"numberFraction":"numberDigit";if(noSticky){this._buffer=this._buffer.slice(value.length)}else{index+=value.length}break;case"numberDigit":patterns.numberDigit.lastIndex=index;match=patterns.numberDigit.exec(this._buffer);if(!match){if(index<this._buffer.length||this._done)return callback(new Error("Parser cannot parse input: expected a digit"));break main}value=match[0];if(value){this._streamNumbers&&this.push({name:"numberChunk",value});this._packNumbers&&(this._accumulator+=value);if(noSticky){this._buffer=this._buffer.slice(value.length)}else{index+=value.length}}else{if(index<this._buffer.length){this._expect="numberFraction";break}if(this._done){this._expect=expected[this._parent];break}break main}break;case"numberFraction":patterns.numberFraction.lastIndex=index;match=patterns.numberFraction.exec(this._buffer);if(!match){if(index<this._buffer.length||this._done){this._expect=expected[this._parent];break}break main}value=match[0];this._streamNumbers&&this.push({name:"numberChunk",value});this._packNumbers&&(this._accumulator+=value);this._expect=value==="."?"numberFracStart":"numberExpSign";if(noSticky){this._buffer=this._buffer.slice(value.length)}else{index+=value.length}break;case"numberFracStart":patterns.numberFracStart.lastIndex=index;match=patterns.numberFracStart.exec(this._buffer);if(!match){if(index<this._buffer.length||this._done)return callback(new Error("Parser cannot parse input: expected a fractional part of a number"));break main}value=match[0];this._streamNumbers&&this.push({name:"numberChunk",value});this._packNumbers&&(this._accumulator+=value);this._expect="numberFracDigit";if(noSticky){this._buffer=this._buffer.slice(value.length)}else{index+=value.length}break;case"numberFracDigit":patterns.numberFracDigit.lastIndex=index;match=patterns.numberFracDigit.exec(this._buffer);value=match[0];if(value){this._streamNumbers&&this.push({name:"numberChunk",value});this._packNumbers&&(this._accumulator+=value);if(noSticky){this._buffer=this._buffer.slice(value.length)}else{index+=value.length}}else{if(index<this._buffer.length){this._expect="numberExponent";break}if(this._done){this._expect=expected[this._parent];break}break main}break;case"numberExponent":patterns.numberExponent.lastIndex=index;match=patterns.numberExponent.exec(this._buffer);if(!match){if(index<this._buffer.length){this._expect=expected[this._parent];break}if(this._done){this._expect="done";break}break main}value=match[0];this._streamNumbers&&this.push({name:"numberChunk",value});this._packNumbers&&(this._accumulator+=value);this._expect="numberExpSign";if(noSticky){this._buffer=this._buffer.slice(value.length)}else{index+=value.length}break;case"numberExpSign":patterns.numberExpSign.lastIndex=index;match=patterns.numberExpSign.exec(this._buffer);if(!match){if(index<this._buffer.length){this._expect="numberExpStart";break}if(this._done)return callback(new Error("Parser has expected an exponent value of a number"));break main}value=match[0];this._streamNumbers&&this.push({name:"numberChunk",value});this._packNumbers&&(this._accumulator+=value);this._expect="numberExpStart";if(noSticky){this._buffer=this._buffer.slice(value.length)}else{index+=value.length}break;case"numberExpStart":patterns.numberExpStart.lastIndex=index;match=patterns.numberExpStart.exec(this._buffer);if(!match){if(index<this._buffer.length||this._done)return callback(new Error("Parser cannot parse input: expected an exponent part of a number"));break main}value=match[0];this._streamNumbers&&this.push({name:"numberChunk",value});this._packNumbers&&(this._accumulator+=value);this._expect="numberExpDigit";if(noSticky){this._buffer=this._buffer.slice(value.length)}else{index+=value.length}break;case"numberExpDigit":patterns.numberExpDigit.lastIndex=index;match=patterns.numberExpDigit.exec(this._buffer);value=match[0];if(value){this._streamNumbers&&this.push({name:"numberChunk",value});this._packNumbers&&(this._accumulator+=value);if(noSticky){this._buffer=this._buffer.slice(value.length)}else{index+=value.length}}else{if(index<this._buffer.length||this._done){this._expect=expected[this._parent];break}break main}break;case"done":patterns.ws.lastIndex=index;match=patterns.ws.exec(this._buffer);if(!match){if(index<this._buffer.length){if(this._jsonStreaming){this._expect="value";break}return callback(new Error("Parser cannot parse input: unexpected characters"))}break main}value=match[0];if(this._open_number){this._streamNumbers&&this.push({name:"endNumber"});this._open_number=false;if(this._packNumbers){this.push({name:"numberValue",value:this._accumulator});this._accumulator=""}}if(noSticky){this._buffer=this._buffer.slice(value.length)}else{index+=value.length}break}}!noSticky&&(this._buffer=this._buffer.slice(index));callback(null)}};Parser.parser=Parser.make;Parser.make.Constructor=Parser;module2.exports=Parser}});var require_withParser=__commonJS({"node_modules/stream-json/utils/withParser.js"(exports2,module2){"use strict";var{chain:chain2}=require_stream_chain();var Parser=require_Parser();var withParser=(fn2,options)=>chain2([new Parser(options),fn2(options)],Object.assign({},options,{writableObjectMode:false,readableObjectMode:true}));module2.exports=withParser}});var require_StreamValues=__commonJS({"node_modules/stream-json/streamers/StreamValues.js"(exports2,module2){"use strict";var StreamBase=require_StreamBase();var withParser=require_withParser();var StreamValues2=class _StreamValues extends StreamBase{static make(options){return new _StreamValues(options)}static withParser(options){return withParser(_StreamValues.make,Object.assign({},options,{jsonStreaming:true}))}constructor(options){super(options);this._counter=0;this._level=0}_push(discard){if(discard){++this._counter}else{this.push({key:this._counter++,value:this._assembler.current})}this._assembler.current=this._assembler.key=null}};StreamValues2.streamValues=StreamValues2.make;StreamValues2.make.Constructor=StreamValues2;module2.exports=StreamValues2}});var require_is_localhost_ip=__commonJS({"node_modules/is-localhost-ip/index.js"(exports2,module2){"use strict";var{isIP,isIPv4}=require("net");var{createSocket}=require("dgram");var{ADDRCONFIG:ADDRCONFIG2}=require("dns");var{lookup}=require("dns").promises;var IP_RANGES=[/^(:{2}f{4}:)?10(?:\.\d{1,3}){3}$/,/^(:{2}f{4}:)?127(?:\.\d{1,3}){3}$/,/^(::f{4}:)?169\.254\.([1-9]|1?\d\d|2[0-4]\d|25[0-4])\.\d{1,3}$/,/^(:{2}f{4}:)?(172\.1[6-9]|172\.2\d|172\.3[01])(?:\.\d{1,3}){2}$/,/^(:{2}f{4}:)?192\.168(?:\.\d{1,3}){2}$/,/^f[cd][\da-f]{2}(::1$|:[\da-f]{1,4}){1,7}$/,/^fe[89ab][\da-f](::1$|:[\da-f]{1,4}){1,7}$/];var IP_TESTER_RE=new RegExp(`^(${IP_RANGES.map(re=>re.source).join("|")})$`);var VALID_HOSTNAME=/(?![\w-]{64})((^(?=[-\w.]{1,253}\.?$)((\w{1,63}|(\w[-\w]{0,61}\w))\.?)+$)(?<!\.{2}))/;async function canBindToIp(ip){const socket=createSocket(isIPv4(ip)?"udp4":"udp6");return new Promise(resolve=>{try{socket.once("error",()=>socket.close(()=>resolve(false))).once("listening",()=>socket.close(()=>resolve(true))).unref().bind(0,ip)}catch{socket.close(()=>resolve(false))}})}async function isLocalhost2(ipOrHostname,canBind=false){if(typeof ipOrHostname!=="string")return false;if(isIP(ipOrHostname)){if(IP_TESTER_RE.test(ipOrHostname)&&!canBind)return true;return canBindToIp(ipOrHostname)}if(!VALID_HOSTNAME.test(ipOrHostname))return false;try{const addresses=await lookup(ipOrHostname,{all:true,family:0,verbatim:true,hints:ADDRCONFIG2});if(!Array.isArray(addresses))return false;for(const{address}of addresses){if(await isLocalhost2(address,canBind))return true}}catch{}return false}module2.exports=isLocalhost2;module2.exports.VALID_HOSTNAME=VALID_HOSTNAME}});var require_support=__commonJS({"node_modules/obliterator/support.js"(exports2){exports2.ARRAY_BUFFER_SUPPORT=typeof ArrayBuffer!=="undefined";exports2.SYMBOL_SUPPORT=typeof Symbol!=="undefined"}});var require_foreach=__commonJS({"node_modules/obliterator/foreach.js"(exports2,module2){var support=require_support();var ARRAY_BUFFER_SUPPORT=support.ARRAY_BUFFER_SUPPORT;var SYMBOL_SUPPORT=support.SYMBOL_SUPPORT;module2.exports=function forEach2(iterable,callback){var iterator,k,i,l,s;if(!iterable)throw new Error("obliterator/forEach: invalid iterable.");if(typeof callback!=="function")throw new Error("obliterator/forEach: expecting a callback.");if(Array.isArray(iterable)||ARRAY_BUFFER_SUPPORT&&ArrayBuffer.isView(iterable)||typeof iterable==="string"||iterable.toString()==="[object Arguments]"){for(i=0,l=iterable.length;i<l;i++)callback(iterable[i],i);return}if(typeof iterable.forEach==="function"){iterable.forEach(callback);return}if(SYMBOL_SUPPORT&&Symbol.iterator in iterable&&typeof iterable.next!=="function"){iterable=iterable[Symbol.iterator]()}if(typeof iterable.next==="function"){iterator=iterable;i=0;while(s=iterator.next(),s.done!==true){callback(s.value,i);i++}return}for(k in iterable){if(iterable.hasOwnProperty(k)){callback(iterable[k],k)}}return}}});var require_typed_arrays=__commonJS({"node_modules/mnemonist/utils/typed-arrays.js"(exports2){var MAX_8BIT_INTEGER=Math.pow(2,8)-1;var MAX_16BIT_INTEGER=Math.pow(2,16)-1;var MAX_32BIT_INTEGER=Math.pow(2,32)-1;var MAX_SIGNED_8BIT_INTEGER=Math.pow(2,7)-1;var MAX_SIGNED_16BIT_INTEGER=Math.pow(2,15)-1;var MAX_SIGNED_32BIT_INTEGER=Math.pow(2,31)-1;exports2.getPointerArray=function(size2){var maxIndex=size2-1;if(maxIndex<=MAX_8BIT_INTEGER)return Uint8Array;if(maxIndex<=MAX_16BIT_INTEGER)return Uint16Array;if(maxIndex<=MAX_32BIT_INTEGER)return Uint32Array;throw new Error("mnemonist: Pointer Array of size > 4294967295 is not supported.")};exports2.getSignedPointerArray=function(size2){var maxIndex=size2-1;if(maxIndex<=MAX_SIGNED_8BIT_INTEGER)return Int8Array;if(maxIndex<=MAX_SIGNED_16BIT_INTEGER)return Int16Array;if(maxIndex<=MAX_SIGNED_32BIT_INTEGER)return Int32Array;return Float64Array};exports2.getNumberType=function(value){if(value===(value|0)){if(Math.sign(value)===-1){if(value<=127&&value>=-128)return Int8Array;if(value<=32767&&value>=-32768)return Int16Array;return Int32Array}else{if(value<=255)return Uint8Array;if(value<=65535)return Uint16Array;return Uint32Array}}return Float64Array};var TYPE_PRIORITY={Uint8Array:1,Int8Array:2,Uint16Array:3,Int16Array:4,Uint32Array:5,Int32Array:6,Float32Array:7,Float64Array:8};exports2.getMinimalRepresentation=function(array,getter){var maxType=null,maxPriority=0,p,t,v,i,l;for(i=0,l=array.length;i<l;i++){v=getter?getter(array[i]):array[i];t=exports2.getNumberType(v);p=TYPE_PRIORITY[t.name];if(p>maxPriority){maxPriority=p;maxType=t}}return maxType};exports2.isTypedArray=function(value){return typeof ArrayBuffer!=="undefined"&&ArrayBuffer.isView(value)};exports2.concat=function(){var length=0,i,o,l;for(i=0,l=arguments.length;i<l;i++)length+=arguments[i].length;var array=new arguments[0].constructor(length);for(i=0,o=0;i<l;i++){array.set(arguments[i],o);o+=arguments[i].length}return array};exports2.indices=function(length){var PointerArray=exports2.getPointerArray(length);var array=new PointerArray(length);for(var i=0;i<length;i++)array[i]=i;return array}}});var require_iterables=__commonJS({"node_modules/mnemonist/utils/iterables.js"(exports2){var forEach2=require_foreach();var typed=require_typed_arrays();function isArrayLike2(target){return Array.isArray(target)||typed.isTypedArray(target)}function guessLength(target){if(typeof target.length==="number")return target.length;if(typeof target.size==="number")return target.size;return}function toArray3(target){var l=guessLength(target);var array=typeof l==="number"?new Array(l):[];var i=0;forEach2(target,function(value){array[i++]=value});return array}function toArrayWithIndices(target){var l=guessLength(target);var IndexArray=typeof l==="number"?typed.getPointerArray(l):Array;var array=typeof l==="number"?new Array(l):[];var indices=typeof l==="number"?new IndexArray(l):[];var i=0;forEach2(target,function(value){array[i]=value;indices[i]=i++});return[array,indices]}exports2.isArrayLike=isArrayLike2;exports2.guessLength=guessLength;exports2.toArray=toArray3;exports2.toArrayWithIndices=toArrayWithIndices}});var require_iterator2=__commonJS({"node_modules/obliterator/iterator.js"(exports2,module2){function Iterator2(next){if(typeof next!=="function")throw new Error("obliterator/iterator: expecting a function!");this.next=next}if(typeof Symbol!=="undefined")Iterator2.prototype[Symbol.iterator]=function(){return this};Iterator2.of=function(){var args2=arguments,l=args2.length,i=0;return new Iterator2(function(){if(i>=l)return{done:true};return{done:false,value:args2[i++]}})};Iterator2.empty=function(){var iterator=new Iterator2(function(){return{done:true}});return iterator};Iterator2.fromSequence=function(sequence){var i=0,l=sequence.length;return new Iterator2(function(){if(i>=l)return{done:true};return{done:false,value:sequence[i++]}})};Iterator2.is=function(value){if(value instanceof Iterator2)return true;return typeof value==="object"&&value!==null&&typeof value.next==="function"};module2.exports=Iterator2}});var require_fixed_deque=__commonJS({"node_modules/mnemonist/fixed-deque.js"(exports2,module2){var iterables=require_iterables();var Iterator2=require_iterator2();function FixedDeque(ArrayClass,capacity){if(arguments.length<2)throw new Error("mnemonist/fixed-deque: expecting an Array class and a capacity.");if(typeof capacity!=="number"||capacity<=0)throw new Error("mnemonist/fixed-deque: `capacity` should be a positive number.");this.ArrayClass=ArrayClass;this.capacity=capacity;this.items=new ArrayClass(this.capacity);this.clear()}FixedDeque.prototype.clear=function(){this.start=0;this.size=0};FixedDeque.prototype.push=function(item){if(this.size===this.capacity)throw new Error("mnemonist/fixed-deque.push: deque capacity ("+this.capacity+") exceeded!");var index=this.start+this.size;if(index>=this.capacity)index-=this.capacity;this.items[index]=item;return++this.size};FixedDeque.prototype.unshift=function(item){if(this.size===this.capacity)throw new Error("mnemonist/fixed-deque.unshift: deque capacity ("+this.capacity+") exceeded!");var index=this.start-1;if(this.start===0)index=this.capacity-1;this.items[index]=item;this.start=index;return++this.size};FixedDeque.prototype.pop=function(){if(this.size===0)return;this.size--;var index=this.start+this.size;if(index>=this.capacity)index-=this.capacity;return this.items[index]};FixedDeque.prototype.shift=function(){if(this.size===0)return;var index=this.start;this.size--;this.start++;if(this.start===this.capacity)this.start=0;return this.items[index]};FixedDeque.prototype.peekFirst=function(){if(this.size===0)return;return this.items[this.start]};FixedDeque.prototype.peekLast=function(){if(this.size===0)return;var index=this.start+this.size-1;if(index>=this.capacity)index-=this.capacity;return this.items[index]};FixedDeque.prototype.get=function(index){if(this.size===0||index>=this.capacity)return;index=this.start+index;if(index>=this.capacity)index-=this.capacity;return this.items[index]};FixedDeque.prototype.forEach=function(callback,scope){scope=arguments.length>1?scope:this;var c=this.capacity,l=this.size,i=this.start,j=0;while(j<l){callback.call(scope,this.items[i],j,this);i++;j++;if(i===c)i=0}};FixedDeque.prototype.toArray=function(){var offset=this.start+this.size;if(offset<this.capacity)return this.items.slice(this.start,offset);var array=new this.ArrayClass(this.size),c=this.capacity,l=this.size,i=this.start,j=0;while(j<l){array[j]=this.items[i];i++;j++;if(i===c)i=0}return array};FixedDeque.prototype.values=function(){var items=this.items,c=this.capacity,l=this.size,i=this.start,j=0;return new Iterator2(function(){if(j>=l)return{done:true};var value=items[i];i++;j++;if(i===c)i=0;return{value,done:false}})};FixedDeque.prototype.entries=function(){var items=this.items,c=this.capacity,l=this.size,i=this.start,j=0;return new Iterator2(function(){if(j>=l)return{done:true};var value=items[i];i++;if(i===c)i=0;return{value:[j++,value],done:false}})};if(typeof Symbol!=="undefined")FixedDeque.prototype[Symbol.iterator]=FixedDeque.prototype.values;FixedDeque.prototype.inspect=function(){var array=this.toArray();array.type=this.ArrayClass.name;array.capacity=this.capacity;Object.defineProperty(array,"constructor",{value:FixedDeque,enumerable:false});return array};if(typeof Symbol!=="undefined")FixedDeque.prototype[Symbol.for("nodejs.util.inspect.custom")]=FixedDeque.prototype.inspect;FixedDeque.from=function(iterable,ArrayClass,capacity){if(arguments.length<3){capacity=iterables.guessLength(iterable);if(typeof capacity!=="number")throw new Error("mnemonist/fixed-deque.from: could not guess iterable length. Please provide desired capacity as last argument.")}var deque=new FixedDeque(ArrayClass,capacity);if(iterables.isArrayLike(iterable)){var i,l;for(i=0,l=iterable.length;i<l;i++)deque.items[i]=iterable[i];deque.size=l;return deque}iterables.forEach(iterable,function(value){deque.push(value)});return deque};module2.exports=FixedDeque}});var require_circular_buffer=__commonJS({"node_modules/mnemonist/circular-buffer.js"(exports2,module2){var iterables=require_iterables();var FixedDeque=require_fixed_deque();function CircularBuffer2(ArrayClass,capacity){if(arguments.length<2)throw new Error("mnemonist/circular-buffer: expecting an Array class and a capacity.");if(typeof capacity!=="number"||capacity<=0)throw new Error("mnemonist/circular-buffer: `capacity` should be a positive number.");this.ArrayClass=ArrayClass;this.capacity=capacity;this.items=new ArrayClass(this.capacity);this.clear()}function paste(name){CircularBuffer2.prototype[name]=FixedDeque.prototype[name]}Object.keys(FixedDeque.prototype).forEach(paste);if(typeof Symbol!=="undefined")Object.getOwnPropertySymbols(FixedDeque.prototype).forEach(paste);CircularBuffer2.prototype.push=function(item){var index=this.start+this.size;if(index>=this.capacity)index-=this.capacity;this.items[index]=item;if(this.size===this.capacity){index++;if(index>=this.capacity){this.start=0}else{this.start=index}return this.size}return++this.size};CircularBuffer2.prototype.unshift=function(item){var index=this.start-1;if(this.start===0)index=this.capacity-1;this.items[index]=item;if(this.size===this.capacity){this.start=index;return this.size}this.start=index;return++this.size};CircularBuffer2.from=function(iterable,ArrayClass,capacity){if(arguments.length<3){capacity=iterables.guessLength(iterable);if(typeof capacity!=="number")throw new Error("mnemonist/circular-buffer.from: could not guess iterable length. Please provide desired capacity as last argument.")}var buffer=new CircularBuffer2(ArrayClass,capacity);if(iterables.isArrayLike(iterable)){var i,l;for(i=0,l=iterable.length;i<l;i++)buffer.items[i]=iterable[i];buffer.size=l;return buffer}iterables.forEach(iterable,function(value){buffer.push(value)});return buffer};module2.exports=CircularBuffer2}});var require_isArguments=__commonJS({"node_modules/object-keys/isArguments.js"(exports2,module2){"use strict";var toStr=Object.prototype.toString;module2.exports=function isArguments2(value){var str2=toStr.call(value);var isArgs=str2==="[object Arguments]";if(!isArgs){isArgs=str2!=="[object Array]"&&value!==null&&typeof value==="object"&&typeof value.length==="number"&&value.length>=0&&toStr.call(value.callee)==="[object Function]"}return isArgs}}});var require_implementation=__commonJS({"node_modules/object-keys/implementation.js"(exports2,module2){"use strict";var keysShim;if(!Object.keys){has3=Object.prototype.hasOwnProperty;toStr=Object.prototype.toString;isArgs=require_isArguments();isEnumerable=Object.prototype.propertyIsEnumerable;hasDontEnumBug=!isEnumerable.call({toString:null},"toString");hasProtoEnumBug=isEnumerable.call(function(){},"prototype");dontEnums=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"];equalsConstructorPrototype=function(o){var ctor=o.constructor;return ctor&&ctor.prototype===o};excludedKeys={$applicationCache:true,$console:true,$external:true,$frame:true,$frameElement:true,$frames:true,$innerHeight:true,$innerWidth:true,$onmozfullscreenchange:true,$onmozfullscreenerror:true,$outerHeight:true,$outerWidth:true,$pageXOffset:true,$pageYOffset:true,$parent:true,$scrollLeft:true,$scrollTop:true,$scrollX:true,$scrollY:true,$self:true,$webkitIndexedDB:true,$webkitStorageInfo:true,$window:true};hasAutomationEqualityBug=function(){if(typeof window==="undefined"){return false}for(var k in window){try{if(!excludedKeys["$"+k]&&has3.call(window,k)&&window[k]!==null&&typeof window[k]==="object"){try{equalsConstructorPrototype(window[k])}catch(e){return true}}}catch(e){return true}}return false}();equalsConstructorPrototypeIfNotBuggy=function(o){if(typeof window==="undefined"||!hasAutomationEqualityBug){return equalsConstructorPrototype(o)}try{return equalsConstructorPrototype(o)}catch(e){return false}};keysShim=function keys2(object){var isObject4=object!==null&&typeof object==="object";var isFunction3=toStr.call(object)==="[object Function]";var isArguments2=isArgs(object);var isString4=isObject4&&toStr.call(object)==="[object String]";var theKeys=[];if(!isObject4&&!isFunction3&&!isArguments2){throw new TypeError("Object.keys called on a non-object")}var skipProto=hasProtoEnumBug&&isFunction3;if(isString4&&object.length>0&&!has3.call(object,0)){for(var i=0;i<object.length;++i){theKeys.push(String(i))}}if(isArguments2&&object.length>0){for(var j=0;j<object.length;++j){theKeys.push(String(j))}}else{for(var name in object){if(!(skipProto&&name==="prototype")&&has3.call(object,name)){theKeys.push(String(name))}}}if(hasDontEnumBug){var skipConstructor=equalsConstructorPrototypeIfNotBuggy(object);for(var k=0;k<dontEnums.length;++k){if(!(skipConstructor&&dontEnums[k]==="constructor")&&has3.call(object,dontEnums[k])){theKeys.push(dontEnums[k])}}}return theKeys}}var has3;var toStr;var isArgs;var isEnumerable;var hasDontEnumBug;var hasProtoEnumBug;var dontEnums;var equalsConstructorPrototype;var excludedKeys;var hasAutomationEqualityBug;var equalsConstructorPrototypeIfNotBuggy;module2.exports=keysShim}});var require_object_keys=__commonJS({"node_modules/object-keys/index.js"(exports2,module2){"use strict";var slice2=Array.prototype.slice;var isArgs=require_isArguments();var origKeys=Object.keys;var keysShim=origKeys?function keys2(o){return origKeys(o)}:require_implementation();var originalKeys=Object.keys;keysShim.shim=function shimObjectKeys(){if(Object.keys){var keysWorksWithArguments=function(){var args2=Object.keys(arguments);return args2&&args2.length===arguments.length}(1,2);if(!keysWorksWithArguments){Object.keys=function keys2(object){if(isArgs(object)){return originalKeys(slice2.call(object))}return originalKeys(object)}}}else{Object.keys=keysShim}return Object.keys||keysShim};module2.exports=keysShim}});var require_es_define_property=__commonJS({"node_modules/es-define-property/index.js"(exports2,module2){"use strict";var $defineProperty=Object.defineProperty||false;if($defineProperty){try{$defineProperty({},"a",{value:1})}catch(e){$defineProperty=false}}module2.exports=$defineProperty}});var require_syntax=__commonJS({"node_modules/es-errors/syntax.js"(exports2,module2){"use strict";module2.exports=SyntaxError}});var require_type=__commonJS({"node_modules/es-errors/type.js"(exports2,module2){"use strict";module2.exports=TypeError}});var require_gOPD=__commonJS({"node_modules/gopd/gOPD.js"(exports2,module2){"use strict";module2.exports=Object.getOwnPropertyDescriptor}});var require_gopd=__commonJS({"node_modules/gopd/index.js"(exports2,module2){"use strict";var $gOPD=require_gOPD();if($gOPD){try{$gOPD([],"length")}catch(e){$gOPD=null}}module2.exports=$gOPD}});var require_define_data_property=__commonJS({"node_modules/define-data-property/index.js"(exports2,module2){"use strict";var $defineProperty=require_es_define_property();var $SyntaxError=require_syntax();var $TypeError=require_type();var gopd=require_gopd();module2.exports=function defineDataProperty(obj,property2,value){if(!obj||typeof obj!=="object"&&typeof obj!=="function"){throw new $TypeError("`obj` must be an object or a function`")}if(typeof property2!=="string"&&typeof property2!=="symbol"){throw new $TypeError("`property` must be a string or a symbol`")}if(arguments.length>3&&typeof arguments[3]!=="boolean"&&arguments[3]!==null){throw new $TypeError("`nonEnumerable`, if provided, must be a boolean or null")}if(arguments.length>4&&typeof arguments[4]!=="boolean"&&arguments[4]!==null){throw new $TypeError("`nonWritable`, if provided, must be a boolean or null")}if(arguments.length>5&&typeof arguments[5]!=="boolean"&&arguments[5]!==null){throw new $TypeError("`nonConfigurable`, if provided, must be a boolean or null")}if(arguments.length>6&&typeof arguments[6]!=="boolean"){throw new $TypeError("`loose`, if provided, must be a boolean")}var nonEnumerable=arguments.length>3?arguments[3]:null;var nonWritable=arguments.length>4?arguments[4]:null;var nonConfigurable=arguments.length>5?arguments[5]:null;var loose=arguments.length>6?arguments[6]:false;var desc=!!gopd&&gopd(obj,property2);if($defineProperty){$defineProperty(obj,property2,{configurable:nonConfigurable===null&&desc?desc.configurable:!nonConfigurable,enumerable:nonEnumerable===null&&desc?desc.enumerable:!nonEnumerable,value,writable:nonWritable===null&&desc?desc.writable:!nonWritable})}else if(loose||!nonEnumerable&&!nonWritable&&!nonConfigurable){obj[property2]=value}else{throw new $SyntaxError("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")}}}});var require_has_property_descriptors=__commonJS({"node_modules/has-property-descriptors/index.js"(exports2,module2){"use strict";var $defineProperty=require_es_define_property();var hasPropertyDescriptors=function hasPropertyDescriptors2(){return!!$defineProperty};hasPropertyDescriptors.hasArrayLengthDefineBug=function hasArrayLengthDefineBug(){if(!$defineProperty){return null}try{return $defineProperty([],"length",{value:1}).length!==1}catch(e){return true}};module2.exports=hasPropertyDescriptors}});var require_define_properties=__commonJS({"node_modules/define-properties/index.js"(exports2,module2){"use strict";var keys2=require_object_keys();var hasSymbols=typeof Symbol==="function"&&typeof Symbol("foo")==="symbol";var toStr=Object.prototype.toString;var concat3=Array.prototype.concat;var defineDataProperty=require_define_data_property();var isFunction3=function(fn2){return typeof fn2==="function"&&toStr.call(fn2)==="[object Function]"};var supportsDescriptors=require_has_property_descriptors()();var defineProperty2=function(object,name,value,predicate){if(name in object){if(predicate===true){if(object[name]===value){return}}else if(!isFunction3(predicate)||!predicate()){return}}if(supportsDescriptors){defineDataProperty(object,name,value,true)}else{defineDataProperty(object,name,value)}};var defineProperties=function(object,map3){var predicates=arguments.length>2?arguments[2]:{};var props=keys2(map3);if(hasSymbols){props=concat3.call(props,Object.getOwnPropertySymbols(map3))}for(var i=0;i<props.length;i+=1){defineProperty2(object,props[i],map3[props[i]],predicates[props[i]])}};defineProperties.supportsDescriptors=!!supportsDescriptors;module2.exports=defineProperties}});var require_es_object_atoms=__commonJS({"node_modules/es-object-atoms/index.js"(exports2,module2){"use strict";module2.exports=Object}});var require_es_errors=__commonJS({"node_modules/es-errors/index.js"(exports2,module2){"use strict";module2.exports=Error}});var require_eval=__commonJS({"node_modules/es-errors/eval.js"(exports2,module2){"use strict";module2.exports=EvalError}});var require_range=__commonJS({"node_modules/es-errors/range.js"(exports2,module2){"use strict";module2.exports=RangeError}});var require_ref=__commonJS({"node_modules/es-errors/ref.js"(exports2,module2){"use strict";module2.exports=ReferenceError}});var require_uri=__commonJS({"node_modules/es-errors/uri.js"(exports2,module2){"use strict";module2.exports=URIError}});var require_abs=__commonJS({"node_modules/math-intrinsics/abs.js"(exports2,module2){"use strict";module2.exports=Math.abs}});var require_floor=__commonJS({"node_modules/math-intrinsics/floor.js"(exports2,module2){"use strict";module2.exports=Math.floor}});var require_max=__commonJS({"node_modules/math-intrinsics/max.js"(exports2,module2){"use strict";module2.exports=Math.max}});var require_min=__commonJS({"node_modules/math-intrinsics/min.js"(exports2,module2){"use strict";module2.exports=Math.min}});var require_pow=__commonJS({"node_modules/math-intrinsics/pow.js"(exports2,module2){"use strict";module2.exports=Math.pow}});var require_round=__commonJS({"node_modules/math-intrinsics/round.js"(exports2,module2){"use strict";module2.exports=Math.round}});var require_isNaN=__commonJS({"node_modules/math-intrinsics/isNaN.js"(exports2,module2){"use strict";module2.exports=Number.isNaN||function isNaN3(a){return a!==a}}});var require_sign6=__commonJS({"node_modules/math-intrinsics/sign.js"(exports2,module2){"use strict";var $isNaN=require_isNaN();module2.exports=function sign(number2){if($isNaN(number2)||number2===0){return number2}return number2<0?-1:1}}});var require_shams=__commonJS({"node_modules/has-symbols/shams.js"(exports2,module2){"use strict";module2.exports=function hasSymbols(){if(typeof Symbol!=="function"||typeof Object.getOwnPropertySymbols!=="function"){return false}if(typeof Symbol.iterator==="symbol"){return true}var obj={};var sym=Symbol("test");var symObj=Object(sym);if(typeof sym==="string"){return false}if(Object.prototype.toString.call(sym)!=="[object Symbol]"){return false}if(Object.prototype.toString.call(symObj)!=="[object Symbol]"){return false}var symVal=42;obj[sym]=symVal;for(var _ in obj){return false}if(typeof Object.keys==="function"&&Object.keys(obj).length!==0){return false}if(typeof Object.getOwnPropertyNames==="function"&&Object.getOwnPropertyNames(obj).length!==0){return false}var syms=Object.getOwnPropertySymbols(obj);if(syms.length!==1||syms[0]!==sym){return false}if(!Object.prototype.propertyIsEnumerable.call(obj,sym)){return false}if(typeof Object.getOwnPropertyDescriptor==="function"){var descriptor=Object.getOwnPropertyDescriptor(obj,sym);if(descriptor.value!==symVal||descriptor.enumerable!==true){return false}}return true}}});var require_has_symbols=__commonJS({"node_modules/has-symbols/index.js"(exports2,module2){"use strict";var origSymbol=typeof Symbol!=="undefined"&&Symbol;var hasSymbolSham=require_shams();module2.exports=function hasNativeSymbols(){if(typeof origSymbol!=="function"){return false}if(typeof Symbol!=="function"){return false}if(typeof origSymbol("foo")!=="symbol"){return false}if(typeof Symbol("bar")!=="symbol"){return false}return hasSymbolSham()}}});var require_Reflect_getPrototypeOf=__commonJS({"node_modules/get-proto/Reflect.getPrototypeOf.js"(exports2,module2){"use strict";module2.exports=typeof Reflect!=="undefined"&&Reflect.getPrototypeOf||null}});var require_Object_getPrototypeOf=__commonJS({"node_modules/get-proto/Object.getPrototypeOf.js"(exports2,module2){"use strict";var $Object=require_es_object_atoms();module2.exports=$Object.getPrototypeOf||null}});var require_implementation2=__commonJS({"node_modules/function-bind/implementation.js"(exports2,module2){"use strict";var ERROR_MESSAGE="Function.prototype.bind called on incompatible ";var toStr=Object.prototype.toString;var max3=Math.max;var funcType="[object Function]";var concatty=function concatty2(a,b){var arr=[];for(var i=0;i<a.length;i+=1){arr[i]=a[i]}for(var j=0;j<b.length;j+=1){arr[j+a.length]=b[j]}return arr};var slicy=function slicy2(arrLike,offset){var arr=[];for(var i=offset||0,j=0;i<arrLike.length;i+=1,j+=1){arr[j]=arrLike[i]}return arr};var joiny=function(arr,joiner){var str2="";for(var i=0;i<arr.length;i+=1){str2+=arr[i];if(i+1<arr.length){str2+=joiner}}return str2};module2.exports=function bind2(that){var target=this;if(typeof target!=="function"||toStr.apply(target)!==funcType){throw new TypeError(ERROR_MESSAGE+target)}var args2=slicy(arguments,1);var bound;var binder=function(){if(this instanceof bound){var result2=target.apply(this,concatty(args2,arguments));if(Object(result2)===result2){return result2}return this}return target.apply(that,concatty(args2,arguments))};var boundLength=max3(0,target.length-args2.length);var boundArgs=[];for(var i=0;i<boundLength;i++){boundArgs[i]="$"+i}bound=Function("binder","return function ("+joiny(boundArgs,",")+"){ return binder.apply(this,arguments); }")(binder);if(target.prototype){var Empty=function Empty2(){};Empty.prototype=target.prototype;bound.prototype=new Empty;Empty.prototype=null}return bound}}});var require_function_bind=__commonJS({"node_modules/function-bind/index.js"(exports2,module2){"use strict";var implementation=require_implementation2();module2.exports=Function.prototype.bind||implementation}});var require_functionCall=__commonJS({"node_modules/call-bind-apply-helpers/functionCall.js"(exports2,module2){"use strict";module2.exports=Function.prototype.call}});var require_functionApply=__commonJS({"node_modules/call-bind-apply-helpers/functionApply.js"(exports2,module2){"use strict";module2.exports=Function.prototype.apply}});var require_reflectApply=__commonJS({"node_modules/call-bind-apply-helpers/reflectApply.js"(exports2,module2){"use strict";module2.exports=typeof Reflect!=="undefined"&&Reflect&&Reflect.apply}});var require_actualApply=__commonJS({"node_modules/call-bind-apply-helpers/actualApply.js"(exports2,module2){"use strict";var bind2=require_function_bind();var $apply=require_functionApply();var $call=require_functionCall();var $reflectApply=require_reflectApply();module2.exports=$reflectApply||bind2.call($call,$apply)}});var require_call_bind_apply_helpers=__commonJS({"node_modules/call-bind-apply-helpers/index.js"(exports2,module2){"use strict";var bind2=require_function_bind();var $TypeError=require_type();var $call=require_functionCall();var $actualApply=require_actualApply();module2.exports=function callBindBasic(args2){if(args2.length<1||typeof args2[0]!=="function"){throw new $TypeError("a function is required")}return $actualApply(bind2,$call,args2)}}});var require_get3=__commonJS({"node_modules/dunder-proto/get.js"(exports2,module2){"use strict";var callBind=require_call_bind_apply_helpers();var gOPD=require_gopd();var hasProtoAccessor;try{hasProtoAccessor=[].__proto__===Array.prototype}catch(e){if(!e||typeof e!=="object"||!("code"in e)||e.code!=="ERR_PROTO_ACCESS"){throw e}}var desc=!!hasProtoAccessor&&gOPD&&gOPD(Object.prototype,"__proto__");var $Object=Object;var $getPrototypeOf=$Object.getPrototypeOf;module2.exports=desc&&typeof desc.get==="function"?callBind([desc.get]):typeof $getPrototypeOf==="function"?function getDunder(value){return $getPrototypeOf(value==null?value:$Object(value))}:false}});var require_get_proto=__commonJS({"node_modules/get-proto/index.js"(exports2,module2){"use strict";var reflectGetProto=require_Reflect_getPrototypeOf();var originalGetProto=require_Object_getPrototypeOf();var getDunderProto=require_get3();module2.exports=reflectGetProto?function getProto(O){return reflectGetProto(O)}:originalGetProto?function getProto(O){if(!O||typeof O!=="object"&&typeof O!=="function"){throw new TypeError("getProto: not an object")}return originalGetProto(O)}:getDunderProto?function getProto(O){return getDunderProto(O)}:null}});var require_hasown=__commonJS({"node_modules/hasown/index.js"(exports2,module2){"use strict";var call=Function.prototype.call;var $hasOwn=Object.prototype.hasOwnProperty;var bind2=require_function_bind();module2.exports=bind2.call(call,$hasOwn)}});var require_get_intrinsic=__commonJS({"node_modules/get-intrinsic/index.js"(exports2,module2){"use strict";var undefined2;var $Object=require_es_object_atoms();var $Error=require_es_errors();var $EvalError=require_eval();var $RangeError=require_range();var $ReferenceError=require_ref();var $SyntaxError=require_syntax();var $TypeError=require_type();var $URIError=require_uri();var abs=require_abs();var floor2=require_floor();var max3=require_max();var min3=require_min();var pow=require_pow();var round2=require_round();var sign=require_sign6();var $Function=Function;var getEvalledConstructor=function(expressionSyntax){try{return $Function('"use strict"; return ('+expressionSyntax+").constructor;")()}catch(e){}};var $gOPD=require_gopd();var $defineProperty=require_es_define_property();var throwTypeError=function(){throw new $TypeError};var ThrowTypeError=$gOPD?function(){try{arguments.callee;return throwTypeError}catch(calleeThrows){try{return $gOPD(arguments,"callee").get}catch(gOPDthrows){return throwTypeError}}}():throwTypeError;var hasSymbols=require_has_symbols()();var getProto=require_get_proto();var $ObjectGPO=require_Object_getPrototypeOf();var $ReflectGPO=require_Reflect_getPrototypeOf();var $apply=require_functionApply();var $call=require_functionCall();var needsEval={};var TypedArray=typeof Uint8Array==="undefined"||!getProto?undefined2:getProto(Uint8Array);var INTRINSICS={__proto__:null,"%AggregateError%":typeof AggregateError==="undefined"?undefined2:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer==="undefined"?undefined2:ArrayBuffer,"%ArrayIteratorPrototype%":hasSymbols&&getProto?getProto([][Symbol.iterator]()):undefined2,"%AsyncFromSyncIteratorPrototype%":undefined2,"%AsyncFunction%":needsEval,"%AsyncGenerator%":needsEval,"%AsyncGeneratorFunction%":needsEval,"%AsyncIteratorPrototype%":needsEval,"%Atomics%":typeof Atomics==="undefined"?undefined2:Atomics,"%BigInt%":typeof BigInt==="undefined"?undefined2:BigInt,"%BigInt64Array%":typeof BigInt64Array==="undefined"?undefined2:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array==="undefined"?undefined2:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView==="undefined"?undefined2:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":$Error,"%eval%":eval,"%EvalError%":$EvalError,"%Float32Array%":typeof Float32Array==="undefined"?undefined2:Float32Array,"%Float64Array%":typeof Float64Array==="undefined"?undefined2:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry==="undefined"?undefined2:FinalizationRegistry,"%Function%":$Function,"%GeneratorFunction%":needsEval,"%Int8Array%":typeof Int8Array==="undefined"?undefined2:Int8Array,"%Int16Array%":typeof Int16Array==="undefined"?undefined2:Int16Array,"%Int32Array%":typeof Int32Array==="undefined"?undefined2:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":hasSymbols&&getProto?getProto(getProto([][Symbol.iterator]())):undefined2,"%JSON%":typeof JSON==="object"?JSON:undefined2,"%Map%":typeof Map==="undefined"?undefined2:Map,"%MapIteratorPrototype%":typeof Map==="undefined"||!hasSymbols||!getProto?undefined2:getProto(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":$Object,"%Object.getOwnPropertyDescriptor%":$gOPD,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise==="undefined"?undefined2:Promise,"%Proxy%":typeof Proxy==="undefined"?undefined2:Proxy,"%RangeError%":$RangeError,"%ReferenceError%":$ReferenceError,"%Reflect%":typeof Reflect==="undefined"?undefined2:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set==="undefined"?undefined2:Set,"%SetIteratorPrototype%":typeof Set==="undefined"||!hasSymbols||!getProto?undefined2:getProto(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer==="undefined"?undefined2:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":hasSymbols&&getProto?getProto(""[Symbol.iterator]()):undefined2,"%Symbol%":hasSymbols?Symbol:undefined2,"%SyntaxError%":$SyntaxError,"%ThrowTypeError%":ThrowTypeError,"%TypedArray%":TypedArray,"%TypeError%":$TypeError,"%Uint8Array%":typeof Uint8Array==="undefined"?undefined2:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray==="undefined"?undefined2:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array==="undefined"?undefined2:Uint16Array,"%Uint32Array%":typeof Uint32Array==="undefined"?undefined2:Uint32Array,"%URIError%":$URIError,"%WeakMap%":typeof WeakMap==="undefined"?undefined2:WeakMap,"%WeakRef%":typeof WeakRef==="undefined"?undefined2:WeakRef,"%WeakSet%":typeof WeakSet==="undefined"?undefined2:WeakSet,"%Function.prototype.call%":$call,"%Function.prototype.apply%":$apply,"%Object.defineProperty%":$defineProperty,"%Object.getPrototypeOf%":$ObjectGPO,"%Math.abs%":abs,"%Math.floor%":floor2,"%Math.max%":max3,"%Math.min%":min3,"%Math.pow%":pow,"%Math.round%":round2,"%Math.sign%":sign,"%Reflect.getPrototypeOf%":$ReflectGPO};if(getProto){try{null.error}catch(e){errorProto=getProto(getProto(e));INTRINSICS["%Error.prototype%"]=errorProto}}var errorProto;var doEval=function doEval2(name){var value;if(name==="%AsyncFunction%"){value=getEvalledConstructor("async function () {}")}else if(name==="%GeneratorFunction%"){value=getEvalledConstructor("function* () {}")}else if(name==="%AsyncGeneratorFunction%"){value=getEvalledConstructor("async function* () {}")}else if(name==="%AsyncGenerator%"){var fn2=doEval2("%AsyncGeneratorFunction%");if(fn2){value=fn2.prototype}}else if(name==="%AsyncIteratorPrototype%"){var gen=doEval2("%AsyncGenerator%");if(gen&&getProto){value=getProto(gen.prototype)}}INTRINSICS[name]=value;return value};var LEGACY_ALIASES={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]};var bind2=require_function_bind();var hasOwn2=require_hasown();var $concat=bind2.call($call,Array.prototype.concat);var $spliceApply=bind2.call($apply,Array.prototype.splice);var $replace=bind2.call($call,String.prototype.replace);var $strSlice=bind2.call($call,String.prototype.slice);var $exec=bind2.call($call,RegExp.prototype.exec);var rePropName2=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g;var reEscapeChar2=/\\(\\)?/g;var stringToPath2=function stringToPath3(string){var first=$strSlice(string,0,1);var last2=$strSlice(string,-1);if(first==="%"&&last2!=="%"){throw new $SyntaxError("invalid intrinsic syntax, expected closing `%`")}else if(last2==="%"&&first!=="%"){throw new $SyntaxError("invalid intrinsic syntax, expected opening `%`")}var result2=[];$replace(string,rePropName2,function(match,number2,quote,subString){result2[result2.length]=quote?$replace(subString,reEscapeChar2,"$1"):number2||match});return result2};var getBaseIntrinsic=function getBaseIntrinsic2(name,allowMissing){var intrinsicName=name;var alias;if(hasOwn2(LEGACY_ALIASES,intrinsicName)){alias=LEGACY_ALIASES[intrinsicName];intrinsicName="%"+alias[0]+"%"}if(hasOwn2(INTRINSICS,intrinsicName)){var value=INTRINSICS[intrinsicName];if(value===needsEval){value=doEval(intrinsicName)}if(typeof value==="undefined"&&!allowMissing){throw new $TypeError("intrinsic "+name+" exists, but is not available. Please file an issue!")}return{alias,name:intrinsicName,value}}throw new $SyntaxError("intrinsic "+name+" does not exist!")};module2.exports=function GetIntrinsic(name,allowMissing){if(typeof name!=="string"||name.length===0){throw new $TypeError("intrinsic name must be a non-empty string")}if(arguments.length>1&&typeof allowMissing!=="boolean"){throw new $TypeError('"allowMissing" argument must be a boolean')}if($exec(/^%?[^%]*%?$/,name)===null){throw new $SyntaxError("`%` may not be present anywhere but at the beginning and end of the intrinsic name")}var parts=stringToPath2(name);var intrinsicBaseName=parts.length>0?parts[0]:"";var intrinsic=getBaseIntrinsic("%"+intrinsicBaseName+"%",allowMissing);var intrinsicRealName=intrinsic.name;var value=intrinsic.value;var skipFurtherCaching=false;var alias=intrinsic.alias;if(alias){intrinsicBaseName=alias[0];$spliceApply(parts,$concat([0,1],alias))}for(var i=1,isOwn=true;i<parts.length;i+=1){var part=parts[i];var first=$strSlice(part,0,1);var last2=$strSlice(part,-1);if((first==='"'||first==="'"||first==="`"||(last2==='"'||last2==="'"||last2==="`"))&&first!==last2){throw new $SyntaxError("property names with quotes must have matching quotes")}if(part==="constructor"||!isOwn){skipFurtherCaching=true}intrinsicBaseName+="."+part;intrinsicRealName="%"+intrinsicBaseName+"%";if(hasOwn2(INTRINSICS,intrinsicRealName)){value=INTRINSICS[intrinsicRealName]}else if(value!=null){if(!(part in value)){if(!allowMissing){throw new $TypeError("base intrinsic for "+name+" exists, but the property is not available.")}return void 0}if($gOPD&&i+1>=parts.length){var desc=$gOPD(value,part);isOwn=!!desc;if(isOwn&&"get"in desc&&!("originalValue"in desc.get)){value=desc.get}else{value=value[part]}}else{isOwn=hasOwn2(value,part);value=value[part]}if(isOwn&&!skipFurtherCaching){INTRINSICS[intrinsicRealName]=value}}}return value}}});var require_set_function_length=__commonJS({"node_modules/set-function-length/index.js"(exports2,module2){"use strict";var GetIntrinsic=require_get_intrinsic();var define2=require_define_data_property();var hasDescriptors=require_has_property_descriptors()();var gOPD=require_gopd();var $TypeError=require_type();var $floor=GetIntrinsic("%Math.floor%");module2.exports=function setFunctionLength(fn2,length){if(typeof fn2!=="function"){throw new $TypeError("`fn` is not a function")}if(typeof length!=="number"||length<0||length>4294967295||$floor(length)!==length){throw new $TypeError("`length` must be a positive 32-bit integer")}var loose=arguments.length>2&&!!arguments[2];var functionLengthIsConfigurable=true;var functionLengthIsWritable=true;if("length"in fn2&&gOPD){var desc=gOPD(fn2,"length");if(desc&&!desc.configurable){functionLengthIsConfigurable=false}if(desc&&!desc.writable){functionLengthIsWritable=false}}if(functionLengthIsConfigurable||functionLengthIsWritable||!loose){if(hasDescriptors){define2(fn2,"length",length,true,true)}else{define2(fn2,"length",length)}}return fn2}}});var require_applyBind=__commonJS({"node_modules/call-bind-apply-helpers/applyBind.js"(exports2,module2){"use strict";var bind2=require_function_bind();var $apply=require_functionApply();var actualApply=require_actualApply();module2.exports=function applyBind(){return actualApply(bind2,$apply,arguments)}}});var require_call_bind=__commonJS({"node_modules/call-bind/index.js"(exports2,module2){"use strict";var setFunctionLength=require_set_function_length();var $defineProperty=require_es_define_property();var callBindBasic=require_call_bind_apply_helpers();var applyBind=require_applyBind();module2.exports=function callBind(originalFunction){var func=callBindBasic(arguments);var adjustedLength=originalFunction.length-(arguments.length-1);return setFunctionLength(func,1+(adjustedLength>0?adjustedLength:0),true)};if($defineProperty){$defineProperty(module2.exports,"apply",{value:applyBind})}else{module2.exports.apply=applyBind}}});var require_RequireObjectCoercible=__commonJS({"node_modules/es-object-atoms/RequireObjectCoercible.js"(exports2,module2){"use strict";var $TypeError=require_type();module2.exports=function RequireObjectCoercible(value){if(value==null){throw new $TypeError(arguments.length>0&&arguments[1]||"Cannot call method on "+value)}return value}}});var require_callBound=__commonJS({"node_modules/call-bind/callBound.js"(exports2,module2){"use strict";var GetIntrinsic=require_get_intrinsic();var callBind=require_call_bind();var $indexOf=callBind(GetIntrinsic("String.prototype.indexOf"));module2.exports=function callBoundIntrinsic(name,allowMissing){var intrinsic=GetIntrinsic(name,!!allowMissing);if(typeof intrinsic==="function"&&$indexOf(name,".prototype.")>-1){return callBind(intrinsic)}return intrinsic}}});var require_implementation3=__commonJS({"node_modules/object.entries/implementation.js"(exports2,module2){"use strict";var RequireObjectCoercible=require_RequireObjectCoercible();var callBound=require_callBound();var $isEnumerable=callBound("Object.prototype.propertyIsEnumerable");var $push=callBound("Array.prototype.push");module2.exports=function entries2(O){var obj=RequireObjectCoercible(O);var entrys=[];for(var key in obj){if($isEnumerable(obj,key)){$push(entrys,[key,obj[key]])}}return entrys}}});var require_polyfill=__commonJS({"node_modules/object.entries/polyfill.js"(exports2,module2){"use strict";var implementation=require_implementation3();module2.exports=function getPolyfill(){return typeof Object.entries==="function"?Object.entries:implementation}}});var require_shim=__commonJS({"node_modules/object.entries/shim.js"(exports2,module2){"use strict";var getPolyfill=require_polyfill();var define2=require_define_properties();module2.exports=function shimEntries(){var polyfill=getPolyfill();define2(Object,{entries:polyfill},{entries:function testEntries(){return Object.entries!==polyfill}});return polyfill}}});var require_object=__commonJS({"node_modules/object.entries/index.js"(exports2,module2){"use strict";var define2=require_define_properties();var callBind=require_call_bind();var implementation=require_implementation3();var getPolyfill=require_polyfill();var shim=require_shim();var polyfill=callBind(getPolyfill(),Object);define2(polyfill,{getPolyfill,implementation,shim});module2.exports=polyfill}});var require_warning=__commonJS({"node_modules/warning/warning.js"(exports2,module2){"use strict";var __DEV__=process.env.NODE_ENV!=="production";var warning=function(){};if(__DEV__){printWarning=function printWarning2(format2,args2){var len=arguments.length;args2=new Array(len>1?len-1:0);for(var key=1;key<len;key++){args2[key-1]=arguments[key]}var argIndex=0;var message3="Warning: "+format2.replace(/%s/g,function(){return args2[argIndex++]});if(typeof console!=="undefined"){console.error(message3)}try{throw new Error(message3)}catch(x){}};warning=function(condition,format2,args2){var len=arguments.length;args2=new Array(len>2?len-2:0);for(var key=2;key<len;key++){args2[key-2]=arguments[key]}if(format2===void 0){throw new Error("`warning(condition, format, ...args)` requires a warning message argument")}if(!condition){printWarning.apply(null,[format2].concat(args2))}}}var printWarning;module2.exports=warning}});var require_node_polyglot=__commonJS({"node_modules/node-polyglot/index.js"(exports2,module2){"use strict";var entries2=require_object();var warning=require_warning();var has3=require_hasown();var warn=function warn2(message3){warning(false,message3)};var defaultReplace=String.prototype.replace;var split2=String.prototype.split;var delimiter="||||";var russianPluralGroups=function(n){var lastTwo=n%100;var end=lastTwo%10;if(lastTwo!==11&&end===1){return 0}if(2<=end&&end<=4&&!(lastTwo>=12&&lastTwo<=14)){return 1}return 2};var defaultPluralRules={pluralTypes:{arabic:function(n){if(n<3){return n}var lastTwo=n%100;if(lastTwo>=3&&lastTwo<=10)return 3;return lastTwo>=11?4:5},bosnian_serbian:russianPluralGroups,chinese:function(){return 0},croatian:russianPluralGroups,french:function(n){return n>=2?1:0},german:function(n){return n!==1?1:0},russian:russianPluralGroups,lithuanian:function(n){if(n%10===1&&n%100!==11){return 0}return n%10>=2&&n%10<=9&&(n%100<11||n%100>19)?1:2},czech:function(n){if(n===1){return 0}return n>=2&&n<=4?1:2},polish:function(n){if(n===1){return 0}var end=n%10;return 2<=end&&end<=4&&(n%100<10||n%100>=20)?1:2},icelandic:function(n){return n%10!==1||n%100===11?1:0},slovenian:function(n){var lastTwo=n%100;if(lastTwo===1){return 0}if(lastTwo===2){return 1}if(lastTwo===3||lastTwo===4){return 2}return 3},romanian:function(n){if(n===1){return 0}var lastTwo=n%100;if(n===0||lastTwo>=2&&lastTwo<=19){return 1}return 2},ukrainian:russianPluralGroups},pluralTypeToLanguages:{arabic:["ar"],bosnian_serbian:["bs-Latn-BA","bs-Cyrl-BA","srl-RS","sr-RS"],chinese:["id","id-ID","ja","ko","ko-KR","lo","ms","th","th-TH","zh"],croatian:["hr","hr-HR"],german:["fa","da","de","en","es","fi","el","he","hi-IN","hu","hu-HU","it","nl","no","pt","sv","tr"],french:["fr","tl","pt-br"],russian:["ru","ru-RU"],lithuanian:["lt"],czech:["cs","cs-CZ","sk"],polish:["pl"],icelandic:["is","mk"],slovenian:["sl-SL"],romanian:["ro"],ukrainian:["uk","ua"]}};function langToTypeMap(mapping){var ret={};var mappingEntries=entries2(mapping);for(var i=0;i<mappingEntries.length;i+=1){var type2=mappingEntries[i][0];var langs=mappingEntries[i][1];for(var j=0;j<langs.length;j+=1){ret[langs[j]]=type2}}return ret}function pluralTypeName(pluralRules,locale){var langToPluralType=langToTypeMap(pluralRules.pluralTypeToLanguages);return langToPluralType[locale]||langToPluralType[split2.call(locale,/-/,1)[0]]||langToPluralType.en}function pluralTypeIndex(pluralRules,pluralType,count){return pluralRules.pluralTypes[pluralType](count)}function createMemoizedPluralTypeNameSelector(){var localePluralTypeStorage={};return function(pluralRules,locale){var pluralType=localePluralTypeStorage[locale];if(pluralType&&!pluralRules.pluralTypes[pluralType]){pluralType=null;localePluralTypeStorage[locale]=pluralType}if(!pluralType){pluralType=pluralTypeName(pluralRules,locale);if(pluralType){localePluralTypeStorage[locale]=pluralType}}return pluralType}}function escape3(token3){return token3.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function constructTokenRegex(opts){var prefix=opts&&opts.prefix||"%{";var suffix=opts&&opts.suffix||"}";if(prefix===delimiter||suffix===delimiter){throw new RangeError('"'+delimiter+'" token is reserved for pluralization')}return new RegExp(escape3(prefix)+"(.*?)"+escape3(suffix),"g")}var memoizedPluralTypeName=createMemoizedPluralTypeNameSelector();var defaultTokenRegex=/%\{(.*?)\}/g;function transformPhrase(phrase,substitutions,locale,tokenRegex,pluralRules,replaceImplementation){if(typeof phrase!=="string"){throw new TypeError("Polyglot.transformPhrase expects argument #1 to be string")}if(substitutions==null){return phrase}var result2=phrase;var interpolationRegex=tokenRegex||defaultTokenRegex;var replace2=replaceImplementation||defaultReplace;var options=typeof substitutions==="number"?{smart_count:substitutions}:substitutions;if(options.smart_count!=null&&phrase){var pluralRulesOrDefault=pluralRules||defaultPluralRules;var texts=split2.call(phrase,delimiter);var bestLocale=locale||"en";var pluralType=memoizedPluralTypeName(pluralRulesOrDefault,bestLocale);var pluralTypeWithCount=pluralTypeIndex(pluralRulesOrDefault,pluralType,options.smart_count);result2=defaultReplace.call(texts[pluralTypeWithCount]||texts[0],/^[^\S]*|[^\S]*$/g,"")}result2=replace2.call(result2,interpolationRegex,function(expression,argument){if(!has3(options,argument)||options[argument]==null){return expression}return options[argument]});return result2}function Polyglot2(options){var opts=options||{};this.phrases={};this.extend(opts.phrases||{});this.currentLocale=opts.locale||"en";var allowMissing=opts.allowMissing?transformPhrase:null;this.onMissingKey=typeof opts.onMissingKey==="function"?opts.onMissingKey:allowMissing;this.warn=opts.warn||warn;this.replaceImplementation=opts.replace||defaultReplace;this.tokenRegex=constructTokenRegex(opts.interpolation);this.pluralRules=opts.pluralRules||defaultPluralRules}Polyglot2.prototype.locale=function(newLocale){if(newLocale)this.currentLocale=newLocale;return this.currentLocale};Polyglot2.prototype.extend=function(morePhrases,prefix){var phraseEntries=entries2(morePhrases||{});for(var i=0;i<phraseEntries.length;i+=1){var key=phraseEntries[i][0];var phrase=phraseEntries[i][1];var prefixedKey=prefix?prefix+"."+key:key;if(typeof phrase==="object"){this.extend(phrase,prefixedKey)}else{this.phrases[prefixedKey]=phrase}}};Polyglot2.prototype.unset=function(morePhrases,prefix){if(typeof morePhrases==="string"){delete this.phrases[morePhrases]}else{var phraseEntries=entries2(morePhrases||{});for(var i=0;i<phraseEntries.length;i+=1){var key=phraseEntries[i][0];var phrase=phraseEntries[i][1];var prefixedKey=prefix?prefix+"."+key:key;if(typeof phrase==="object"){this.unset(phrase,prefixedKey)}else{delete this.phrases[prefixedKey]}}}};Polyglot2.prototype.clear=function(){this.phrases={}};Polyglot2.prototype.replace=function(newPhrases){this.clear();this.extend(newPhrases)};Polyglot2.prototype.t=function(key,options){var phrase,result2;var opts=options==null?{}:options;if(typeof this.phrases[key]==="string"){phrase=this.phrases[key]}else if(typeof opts._==="string"){phrase=opts._}else if(this.onMissingKey){var onMissingKey=this.onMissingKey;result2=onMissingKey(key,opts,this.currentLocale,this.tokenRegex,this.pluralRules,this.replaceImplementation)}else{this.warn('Missing translation for key: "'+key+'"');result2=key}if(typeof phrase==="string"){result2=transformPhrase(phrase,opts,this.currentLocale,this.tokenRegex,this.pluralRules,this.replaceImplementation)}return result2};Polyglot2.prototype.has=function(key){return has3(this.phrases,key)};Polyglot2.transformPhrase=function transform2(phrase,substitutions,locale){return transformPhrase(phrase,substitutions,locale)};module2.exports=Polyglot2}});var require_call_bound=__commonJS({"node_modules/call-bound/index.js"(exports2,module2){"use strict";var GetIntrinsic=require_get_intrinsic();var callBindBasic=require_call_bind_apply_helpers();var $indexOf=callBindBasic([GetIntrinsic("%String.prototype.indexOf%")]);module2.exports=function callBoundIntrinsic(name,allowMissing){var intrinsic=GetIntrinsic(name,!!allowMissing);if(typeof intrinsic==="function"&&$indexOf(name,".prototype.")>-1){return callBindBasic([intrinsic])}return intrinsic}}});var require_shams2=__commonJS({"node_modules/has-tostringtag/shams.js"(exports2,module2){"use strict";var hasSymbols=require_shams();module2.exports=function hasToStringTagShams(){return hasSymbols()&&!!Symbol.toStringTag}}});var require_is_regex=__commonJS({"node_modules/is-regex/index.js"(exports2,module2){"use strict";var callBound=require_call_bound();var hasToStringTag=require_shams2()();var hasOwn2=require_hasown();var gOPD=require_gopd();var fn2;if(hasToStringTag){$exec=callBound("RegExp.prototype.exec");isRegexMarker={};throwRegexMarker=function(){throw isRegexMarker};badStringifier={toString:throwRegexMarker,valueOf:throwRegexMarker};if(typeof Symbol.toPrimitive==="symbol"){badStringifier[Symbol.toPrimitive]=throwRegexMarker}fn2=function isRegex(value){if(!value||typeof value!=="object"){return false}var descriptor=gOPD(value,"lastIndex");var hasLastIndexDataProperty=descriptor&&hasOwn2(descriptor,"value");if(!hasLastIndexDataProperty){return false}try{$exec(value,badStringifier)}catch(e){return e===isRegexMarker}}}else{$toString=callBound("Object.prototype.toString");regexClass="[object RegExp]";fn2=function isRegex(value){if(!value||typeof value!=="object"&&typeof value!=="function"){return false}return $toString(value)===regexClass}}var $exec;var isRegexMarker;var throwRegexMarker;var badStringifier;var $toString;var regexClass;module2.exports=fn2}});var require_safe_regex_test=__commonJS({"node_modules/safe-regex-test/index.js"(exports2,module2){"use strict";var callBound=require_call_bound();var isRegex=require_is_regex();var $exec=callBound("RegExp.prototype.exec");var $TypeError=require_type();module2.exports=function regexTester(regex3){if(!isRegex(regex3)){throw new $TypeError("`regex` must be a RegExp")}return function test(s){return $exec(regex3,s)!==null}}}});var require_is_generator_function=__commonJS({"node_modules/is-generator-function/index.js"(exports2,module2){"use strict";var callBound=require_call_bound();var safeRegexTest=require_safe_regex_test();var isFnRegex=safeRegexTest(/^\s*(?:function)?\*/);var hasToStringTag=require_shams2()();var getProto=require_get_proto();var toStr=callBound("Object.prototype.toString");var fnToStr=callBound("Function.prototype.toString");var getGeneratorFunc=function(){if(!hasToStringTag){return false}try{return Function("return function*() {}")()}catch(e){}};var GeneratorFunction;module2.exports=function isGeneratorFunction(fn2){if(typeof fn2!=="function"){return false}if(isFnRegex(fnToStr(fn2))){return true}if(!hasToStringTag){var str2=toStr(fn2);return str2==="[object GeneratorFunction]"}if(!getProto){return false}if(typeof GeneratorFunction==="undefined"){var generatorFunc=getGeneratorFunc();GeneratorFunction=generatorFunc?getProto(generatorFunc):false}return getProto(fn2)===GeneratorFunction}}});var require_ms=__commonJS({"node_modules/ms/index.js"(exports2,module2){var s=1e3;var m=s*60;var h=m*60;var d=h*24;var w=d*7;var y=d*365.25;module2.exports=function(val,options){options=options||{};var type2=typeof val;if(type2==="string"&&val.length>0){return parse3(val)}else if(type2==="number"&&isFinite(val)){return options.long?fmtLong(val):fmtShort(val)}throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(val))};function parse3(str2){str2=String(str2);if(str2.length>100){return}var match=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(str2);if(!match){return}var n=parseFloat(match[1]);var type2=(match[2]||"ms").toLowerCase();switch(type2){case"years":case"year":case"yrs":case"yr":case"y":return n*y;case"weeks":case"week":case"w":return n*w;case"days":case"day":case"d":return n*d;case"hours":case"hour":case"hrs":case"hr":case"h":return n*h;case"minutes":case"minute":case"mins":case"min":case"m":return n*m;case"seconds":case"second":case"secs":case"sec":case"s":return n*s;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return void 0}}function fmtShort(ms){var msAbs=Math.abs(ms);if(msAbs>=d){return Math.round(ms/d)+"d"}if(msAbs>=h){return Math.round(ms/h)+"h"}if(msAbs>=m){return Math.round(ms/m)+"m"}if(msAbs>=s){return Math.round(ms/s)+"s"}return ms+"ms"}function fmtLong(ms){var msAbs=Math.abs(ms);if(msAbs>=d){return plural(ms,msAbs,d,"day")}if(msAbs>=h){return plural(ms,msAbs,h,"hour")}if(msAbs>=m){return plural(ms,msAbs,m,"minute")}if(msAbs>=s){return plural(ms,msAbs,s,"second")}return ms+" ms"}function plural(ms,msAbs,n,name){var isPlural=msAbs>=n*1.5;return Math.round(ms/n)+" "+name+(isPlural?"s":"")}}});var require_common5=__commonJS({"node_modules/debug/src/common.js"(exports2,module2){function setup(env2){createDebug.debug=createDebug;createDebug.default=createDebug;createDebug.coerce=coerce2;createDebug.disable=disable;createDebug.enable=enable;createDebug.enabled=enabled3;createDebug.humanize=require_ms();createDebug.destroy=destroy;Object.keys(env2).forEach(key=>{createDebug[key]=env2[key]});createDebug.names=[];createDebug.skips=[];createDebug.formatters={};function selectColor(namespace){let hash=0;for(let i=0;i<namespace.length;i++){hash=(hash<<5)-hash+namespace.charCodeAt(i);hash|=0}return createDebug.colors[Math.abs(hash)%createDebug.colors.length]}createDebug.selectColor=selectColor;function createDebug(namespace){let prevTime;let enableOverride=null;let namespacesCache;let enabledCache;function debug(...args2){if(!debug.enabled){return}const self2=debug;const curr=Number(new Date);const ms=curr-(prevTime||curr);self2.diff=ms;self2.prev=prevTime;self2.curr=curr;prevTime=curr;args2[0]=createDebug.coerce(args2[0]);if(typeof args2[0]!=="string"){args2.unshift("%O")}let index=0;args2[0]=args2[0].replace(/%([a-zA-Z%])/g,(match,format2)=>{if(match==="%%"){return"%"}index++;const formatter=createDebug.formatters[format2];if(typeof formatter==="function"){const val=args2[index];match=formatter.call(self2,val);args2.splice(index,1);index--}return match});createDebug.formatArgs.call(self2,args2);const logFn=self2.log||createDebug.log;logFn.apply(self2,args2)}debug.namespace=namespace;debug.useColors=createDebug.useColors();debug.color=createDebug.selectColor(namespace);debug.extend=extend3;debug.destroy=createDebug.destroy;Object.defineProperty(debug,"enabled",{enumerable:true,configurable:false,get:()=>{if(enableOverride!==null){return enableOverride}if(namespacesCache!==createDebug.namespaces){namespacesCache=createDebug.namespaces;enabledCache=createDebug.enabled(namespace)}return enabledCache},set:v=>{enableOverride=v}});if(typeof createDebug.init==="function"){createDebug.init(debug)}return debug}function extend3(namespace,delimiter){const newDebug=createDebug(this.namespace+(typeof delimiter==="undefined"?":":delimiter)+namespace);newDebug.log=this.log;return newDebug}function enable(namespaces){createDebug.save(namespaces);createDebug.namespaces=namespaces;createDebug.names=[];createDebug.skips=[];const split2=(typeof namespaces==="string"?namespaces:"").trim().replace(" ",",").split(",").filter(Boolean);for(const ns of split2){if(ns[0]==="-"){createDebug.skips.push(ns.slice(1))}else{createDebug.names.push(ns)}}}function matchesTemplate(search2,template2){let searchIndex=0;let templateIndex=0;let starIndex=-1;let matchIndex=0;while(searchIndex<search2.length){if(templateIndex<template2.length&&(template2[templateIndex]===search2[searchIndex]||template2[templateIndex]==="*")){if(template2[templateIndex]==="*"){starIndex=templateIndex;matchIndex=searchIndex;templateIndex++}else{searchIndex++;templateIndex++}}else if(starIndex!==-1){templateIndex=starIndex+1;matchIndex++;searchIndex=matchIndex}else{return false}}while(templateIndex<template2.length&&template2[templateIndex]==="*"){templateIndex++}return templateIndex===template2.length}function disable(){const namespaces=[...createDebug.names,...createDebug.skips.map(namespace=>"-"+namespace)].join(",");createDebug.enable("");return namespaces}function enabled3(name){for(const skip of createDebug.skips){if(matchesTemplate(name,skip)){return false}}for(const ns of createDebug.names){if(matchesTemplate(name,ns)){return true}}return false}function coerce2(val){if(val instanceof Error){return val.stack||val.message}return val}function destroy(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}createDebug.enable(createDebug.load());return createDebug}module2.exports=setup}});var require_browser=__commonJS({"node_modules/debug/src/browser.js"(exports2,module2){exports2.formatArgs=formatArgs;exports2.save=save;exports2.load=load2;exports2.useColors=useColors;exports2.storage=localstorage();exports2.destroy=(()=>{let warned=false;return()=>{if(!warned){warned=true;console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}}})();exports2.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function useColors(){if(typeof window!=="undefined"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)){return true}if(typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)){return false}let m;return typeof document!=="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!=="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!=="undefined"&&navigator.userAgent&&(m=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(m[1],10)>=31||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function formatArgs(args2){args2[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+args2[0]+(this.useColors?"%c ":" ")+"+"+module2.exports.humanize(this.diff);if(!this.useColors){return}const c="color: "+this.color;args2.splice(1,0,c,"color: inherit");let index=0;let lastC=0;args2[0].replace(/%[a-zA-Z%]/g,match=>{if(match==="%%"){return}index++;if(match==="%c"){lastC=index}});args2.splice(lastC,0,c)}exports2.log=console.debug||console.log||(()=>{});function save(namespaces){try{if(namespaces){exports2.storage.setItem("debug",namespaces)}else{exports2.storage.removeItem("debug")}}catch(error){}}function load2(){let r;try{r=exports2.storage.getItem("debug")}catch(error){}if(!r&&typeof process!=="undefined"&&"env"in process){r=process.env.DEBUG}return r}function localstorage(){try{return localStorage}catch(error){}}module2.exports=require_common5()(exports2);var{formatters}=module2.exports;formatters.j=function(v){try{return JSON.stringify(v)}catch(error){return"[UnexpectedJSONParseError]: "+error.message}}}});var require_has_flag=__commonJS({"node_modules/has-flag/index.js"(exports2,module2){"use strict";module2.exports=(flag,argv=process.argv)=>{const prefix=flag.startsWith("-")?"":flag.length===1?"-":"--";const position=argv.indexOf(prefix+flag);const terminatorPosition=argv.indexOf("--");return position!==-1&&(terminatorPosition===-1||position<terminatorPosition)}}});var require_supports_color=__commonJS({"node_modules/supports-color/index.js"(exports2,module2){"use strict";var os7=require("os");var tty2=require("tty");var hasFlag2=require_has_flag();var{env:env2}=process;var forceColor;if(hasFlag2("no-color")||hasFlag2("no-colors")||hasFlag2("color=false")||hasFlag2("color=never")){forceColor=0}else if(hasFlag2("color")||hasFlag2("colors")||hasFlag2("color=true")||hasFlag2("color=always")){forceColor=1}if("FORCE_COLOR"in env2){if(env2.FORCE_COLOR==="true"){forceColor=1}else if(env2.FORCE_COLOR==="false"){forceColor=0}else{forceColor=env2.FORCE_COLOR.length===0?1:Math.min(parseInt(env2.FORCE_COLOR,10),3)}}function translateLevel2(level){if(level===0){return false}return{level,hasBasic:true,has256:level>=2,has16m:level>=3}}function supportsColor2(haveStream,streamIsTTY){if(forceColor===0){return 0}if(hasFlag2("color=16m")||hasFlag2("color=full")||hasFlag2("color=truecolor")){return 3}if(hasFlag2("color=256")){return 2}if(haveStream&&!streamIsTTY&&forceColor===void 0){return 0}const min3=forceColor||0;if(env2.TERM==="dumb"){return min3}if(process.platform==="win32"){const osRelease=os7.release().split(".");if(Number(osRelease[0])>=10&&Number(osRelease[2])>=10586){return Number(osRelease[2])>=14931?3:2}return 1}if("CI"in env2){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(sign=>sign in env2)||env2.CI_NAME==="codeship"){return 1}return min3}if("TEAMCITY_VERSION"in env2){return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env2.TEAMCITY_VERSION)?1:0}if(env2.COLORTERM==="truecolor"){return 3}if("TERM_PROGRAM"in env2){const version=parseInt((env2.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(env2.TERM_PROGRAM){case"iTerm.app":return version>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(env2.TERM)){return 2}if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env2.TERM)){return 1}if("COLORTERM"in env2){return 1}return min3}function getSupportLevel(stream3){const level=supportsColor2(stream3,stream3&&stream3.isTTY);return translateLevel2(level)}module2.exports={supportsColor:getSupportLevel,stdout:translateLevel2(supportsColor2(true,tty2.isatty(1))),stderr:translateLevel2(supportsColor2(true,tty2.isatty(2)))}}});var require_node=__commonJS({"node_modules/debug/src/node.js"(exports2,module2){var tty2=require("tty");var util4=require("util");exports2.init=init2;exports2.log=log2;exports2.formatArgs=formatArgs;exports2.save=save;exports2.load=load2;exports2.useColors=useColors;exports2.destroy=util4.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");exports2.colors=[6,2,3,4,5,1];try{const supportsColor2=require_supports_color();if(supportsColor2&&(supportsColor2.stderr||supportsColor2).level>=2){exports2.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221]}}catch(error){}exports2.inspectOpts=Object.keys(process.env).filter(key=>{return/^debug_/i.test(key)}).reduce((obj,key)=>{const prop=key.substring(6).toLowerCase().replace(/_([a-z])/g,(_,k)=>{return k.toUpperCase()});let val=process.env[key];if(/^(yes|on|true|enabled)$/i.test(val)){val=true}else if(/^(no|off|false|disabled)$/i.test(val)){val=false}else if(val==="null"){val=null}else{val=Number(val)}obj[prop]=val;return obj},{});function useColors(){return"colors"in exports2.inspectOpts?Boolean(exports2.inspectOpts.colors):tty2.isatty(process.stderr.fd)}function formatArgs(args2){const{namespace:name,useColors:useColors2}=this;if(useColors2){const c=this.color;const colorCode="\x1B[3"+(c<8?c:"8;5;"+c);const prefix=`  ${colorCode};1m${name} \x1B[0m`;args2[0]=prefix+args2[0].split("\n").join("\n"+prefix);args2.push(colorCode+"m+"+module2.exports.humanize(this.diff)+"\x1B[0m")}else{args2[0]=getDate()+name+" "+args2[0]}}function getDate(){if(exports2.inspectOpts.hideDate){return""}return new Date().toISOString()+" "}function log2(...args2){return process.stderr.write(util4.formatWithOptions(exports2.inspectOpts,...args2)+"\n")}function save(namespaces){if(namespaces){process.env.DEBUG=namespaces}else{delete process.env.DEBUG}}function load2(){return process.env.DEBUG}function init2(debug){debug.inspectOpts={};const keys2=Object.keys(exports2.inspectOpts);for(let i=0;i<keys2.length;i++){debug.inspectOpts[keys2[i]]=exports2.inspectOpts[keys2[i]]}}module2.exports=require_common5()(exports2);var{formatters}=module2.exports;formatters.o=function(v){this.inspectOpts.colors=this.useColors;return util4.inspect(v,this.inspectOpts).split("\n").map(str2=>str2.trim()).join(" ")};formatters.O=function(v){this.inspectOpts.colors=this.useColors;return util4.inspect(v,this.inspectOpts)}}});var require_src3=__commonJS({"node_modules/debug/src/index.js"(exports2,module2){if(typeof process==="undefined"||process.type==="renderer"||process.browser===true||process.__nwjs){module2.exports=require_browser()}else{module2.exports=require_node()}}});var require_ee_first=__commonJS({"node_modules/ee-first/index.js"(exports2,module2){"use strict";module2.exports=first;function first(stuff,done){if(!Array.isArray(stuff))throw new TypeError("arg must be an array of [ee, events...] arrays");var cleanups=[];for(var i=0;i<stuff.length;i++){var arr=stuff[i];if(!Array.isArray(arr)||arr.length<2)throw new TypeError("each array member must be [ee, events...]");var ee=arr[0];for(var j=1;j<arr.length;j++){var event=arr[j];var fn2=listener(event,callback);ee.on(event,fn2);cleanups.push({ee,event,fn:fn2})}}function callback(){cleanup();done.apply(null,arguments)}function cleanup(){var x;for(var i2=0;i2<cleanups.length;i2++){x=cleanups[i2];x.ee.removeListener(x.event,x.fn)}}function thunk(fn3){done=fn3}thunk.cancel=cleanup;return thunk}function listener(event,done){return function onevent(arg1){var args2=new Array(arguments.length);var ee=this;var err=event==="error"?arg1:null;for(var i=0;i<args2.length;i++){args2[i]=arguments[i]}done(err,ee,event,args2)}}}});var require_on_finished=__commonJS({"node_modules/on-finished/index.js"(exports2,module2){"use strict";module2.exports=onFinished;module2.exports.isFinished=isFinished;var asyncHooks=tryRequireAsyncHooks();var first=require_ee_first();var defer2=typeof setImmediate==="function"?setImmediate:function(fn2){process.nextTick(fn2.bind.apply(fn2,arguments))};function onFinished(msg,listener){if(isFinished(msg)!==false){defer2(listener,null,msg);return msg}attachListener(msg,wrap4(listener));return msg}function isFinished(msg){var socket=msg.socket;if(typeof msg.finished==="boolean"){return Boolean(msg.finished||socket&&!socket.writable)}if(typeof msg.complete==="boolean"){return Boolean(msg.upgrade||!socket||!socket.readable||msg.complete&&!msg.readable)}return void 0}function attachFinishedListener(msg,callback){var eeMsg;var eeSocket;var finished=false;function onFinish(error){eeMsg.cancel();eeSocket.cancel();finished=true;callback(error)}eeMsg=eeSocket=first([[msg,"end","finish"]],onFinish);function onSocket(socket){msg.removeListener("socket",onSocket);if(finished)return;if(eeMsg!==eeSocket)return;eeSocket=first([[socket,"error","close"]],onFinish)}if(msg.socket){onSocket(msg.socket);return}msg.on("socket",onSocket);if(msg.socket===void 0){patchAssignSocket(msg,onSocket)}}function attachListener(msg,listener){var attached=msg.__onFinished;if(!attached||!attached.queue){attached=msg.__onFinished=createListener(msg);attachFinishedListener(msg,attached)}attached.queue.push(listener)}function createListener(msg){function listener(err){if(msg.__onFinished===listener)msg.__onFinished=null;if(!listener.queue)return;var queue=listener.queue;listener.queue=null;for(var i=0;i<queue.length;i++){queue[i](err,msg)}}listener.queue=[];return listener}function patchAssignSocket(res,callback){var assignSocket=res.assignSocket;if(typeof assignSocket!=="function")return;res.assignSocket=function _assignSocket(socket){assignSocket.call(this,socket);callback(socket)}}function tryRequireAsyncHooks(){try{return require("async_hooks")}catch(e){return{}}}function wrap4(fn2){var res;if(asyncHooks.AsyncResource){res=new asyncHooks.AsyncResource(fn2.name||"bound-anonymous-fn")}if(!res||!res.runInAsyncScope){return fn2}return res.runInAsyncScope.bind(res,fn2,null)}}});var require_content_disposition=__commonJS({"node_modules/content-disposition/index.js"(exports2,module2){"use strict";module2.exports=contentDisposition;module2.exports.parse=parse3;var basename2=require("path").basename;var Buffer12=require_safe_buffer().Buffer;var ENCODE_URL_ATTR_CHAR_REGEXP=/[\x00-\x20"'()*,/:;<=>?@[\\\]{}\x7f]/g;var HEX_ESCAPE_REGEXP=/%[0-9A-Fa-f]{2}/;var HEX_ESCAPE_REPLACE_REGEXP=/%([0-9A-Fa-f]{2})/g;var NON_LATIN1_REGEXP=/[^\x20-\x7e\xa0-\xff]/g;var QESC_REGEXP=/\\([\u0000-\u007f])/g;var QUOTE_REGEXP=/([\\"])/g;var PARAM_REGEXP=/;[\x09\x20]*([!#$%&'*+.0-9A-Z^_`a-z|~-]+)[\x09\x20]*=[\x09\x20]*("(?:[\x20!\x23-\x5b\x5d-\x7e\x80-\xff]|\\[\x20-\x7e])*"|[!#$%&'*+.0-9A-Z^_`a-z|~-]+)[\x09\x20]*/g;var TEXT_REGEXP=/^[\x20-\x7e\x80-\xff]+$/;var TOKEN_REGEXP=/^[!#$%&'*+.0-9A-Z^_`a-z|~-]+$/;var EXT_VALUE_REGEXP=/^([A-Za-z0-9!#$%&+\-^_`{}~]+)'(?:[A-Za-z]{2,3}(?:-[A-Za-z]{3}){0,3}|[A-Za-z]{4,8}|)'((?:%[0-9A-Fa-f]{2}|[A-Za-z0-9!#$&+.^_`|~-])+)$/;var DISPOSITION_TYPE_REGEXP=/^([!#$%&'*+.0-9A-Z^_`a-z|~-]+)[\x09\x20]*(?:$|;)/;function contentDisposition(filename,options){var opts=options||{};var type2=opts.type||"attachment";var params=createparams(filename,opts.fallback);return format2(new ContentDisposition(type2,params))}function createparams(filename,fallback){if(filename===void 0){return}var params={};if(typeof filename!=="string"){throw new TypeError("filename must be a string")}if(fallback===void 0){fallback=true}if(typeof fallback!=="string"&&typeof fallback!=="boolean"){throw new TypeError("fallback must be a string or boolean")}if(typeof fallback==="string"&&NON_LATIN1_REGEXP.test(fallback)){throw new TypeError("fallback must be ISO-8859-1 string")}var name=basename2(filename);var isQuotedString=TEXT_REGEXP.test(name);var fallbackName=typeof fallback!=="string"?fallback&&getlatin1(name):basename2(fallback);var hasFallback=typeof fallbackName==="string"&&fallbackName!==name;if(hasFallback||!isQuotedString||HEX_ESCAPE_REGEXP.test(name)){params["filename*"]=name}if(isQuotedString||hasFallback){params.filename=hasFallback?fallbackName:name}return params}function format2(obj){var parameters=obj.parameters;var type2=obj.type;if(!type2||typeof type2!=="string"||!TOKEN_REGEXP.test(type2)){throw new TypeError("invalid type")}var string=String(type2).toLowerCase();if(parameters&&typeof parameters==="object"){var param;var params=Object.keys(parameters).sort();for(var i=0;i<params.length;i++){param=params[i];var val=param.substr(-1)==="*"?ustring(parameters[param]):qstring(parameters[param]);string+="; "+param+"="+val}}return string}function decodefield(str2){var match=EXT_VALUE_REGEXP.exec(str2);if(!match){throw new TypeError("invalid extended field value")}var charset=match[1].toLowerCase();var encoded=match[2];var value;var binary2=encoded.replace(HEX_ESCAPE_REPLACE_REGEXP,pdecode);switch(charset){case"iso-8859-1":value=getlatin1(binary2);break;case"utf-8":value=Buffer12.from(binary2,"binary").toString("utf8");break;default:throw new TypeError("unsupported charset in extended field")}return value}function getlatin1(val){return String(val).replace(NON_LATIN1_REGEXP,"?")}function parse3(string){if(!string||typeof string!=="string"){throw new TypeError("argument string is required")}var match=DISPOSITION_TYPE_REGEXP.exec(string);if(!match){throw new TypeError("invalid type format")}var index=match[0].length;var type2=match[1].toLowerCase();var key;var names2=[];var params={};var value;index=PARAM_REGEXP.lastIndex=match[0].substr(-1)===";"?index-1:index;while(match=PARAM_REGEXP.exec(string)){if(match.index!==index){throw new TypeError("invalid parameter format")}index+=match[0].length;key=match[1].toLowerCase();value=match[2];if(names2.indexOf(key)!==-1){throw new TypeError("invalid duplicate parameter")}names2.push(key);if(key.indexOf("*")+1===key.length){key=key.slice(0,-1);value=decodefield(value);params[key]=value;continue}if(typeof params[key]==="string"){continue}if(value[0]==='"'){value=value.substr(1,value.length-2).replace(QESC_REGEXP,"$1")}params[key]=value}if(index!==-1&&index!==string.length){throw new TypeError("invalid parameter format")}return new ContentDisposition(type2,params)}function pdecode(str2,hex){return String.fromCharCode(parseInt(hex,16))}function pencode(char){return"%"+String(char).charCodeAt(0).toString(16).toUpperCase()}function qstring(val){var str2=String(val);return'"'+str2.replace(QUOTE_REGEXP,"\\$1")+'"'}function ustring(val){var str2=String(val);var encoded=encodeURIComponent(str2).replace(ENCODE_URL_ATTR_CHAR_REGEXP,pencode);return"UTF-8''"+encoded}function ContentDisposition(type2,parameters){this.type=type2;this.parameters=parameters}}});var require_db=__commonJS({"node_modules/mime-db/db.json"(exports2,module2){module2.exports={"application/1d-interleaved-parityfec":{source:"iana"},"application/3gpdash-qoe-report+xml":{source:"iana",charset:"UTF-8",compressible:true},"application/3gpp-ims+xml":{source:"iana",compressible:true},"application/3gpphal+json":{source:"iana",compressible:true},"application/3gpphalforms+json":{source:"iana",compressible:true},"application/a2l":{source:"iana"},"application/ace+cbor":{source:"iana"},"application/activemessage":{source:"iana"},"application/activity+json":{source:"iana",compressible:true},"application/alto-costmap+json":{source:"iana",compressible:true},"application/alto-costmapfilter+json":{source:"iana",compressible:true},"application/alto-directory+json":{source:"iana",compressible:true},"application/alto-endpointcost+json":{source:"iana",compressible:true},"application/alto-endpointcostparams+json":{source:"iana",compressible:true},"application/alto-endpointprop+json":{source:"iana",compressible:true},"application/alto-endpointpropparams+json":{source:"iana",compressible:true},"application/alto-error+json":{source:"iana",compressible:true},"application/alto-networkmap+json":{source:"iana",compressible:true},"application/alto-networkmapfilter+json":{source:"iana",compressible:true},"application/alto-updatestreamcontrol+json":{source:"iana",compressible:true},"application/alto-updatestreamparams+json":{source:"iana",compressible:true},"application/aml":{source:"iana"},"application/andrew-inset":{source:"iana",extensions:["ez"]},"application/applefile":{source:"iana"},"application/applixware":{source:"apache",extensions:["aw"]},"application/at+jwt":{source:"iana"},"application/atf":{source:"iana"},"application/atfx":{source:"iana"},"application/atom+xml":{source:"iana",compressible:true,extensions:["atom"]},"application/atomcat+xml":{source:"iana",compressible:true,extensions:["atomcat"]},"application/atomdeleted+xml":{source:"iana",compressible:true,extensions:["atomdeleted"]},"application/atomicmail":{source:"iana"},"application/atomsvc+xml":{source:"iana",compressible:true,extensions:["atomsvc"]},"application/atsc-dwd+xml":{source:"iana",compressible:true,extensions:["dwd"]},"application/atsc-dynamic-event-message":{source:"iana"},"application/atsc-held+xml":{source:"iana",compressible:true,extensions:["held"]},"application/atsc-rdt+json":{source:"iana",compressible:true},"application/atsc-rsat+xml":{source:"iana",compressible:true,extensions:["rsat"]},"application/atxml":{source:"iana"},"application/auth-policy+xml":{source:"iana",compressible:true},"application/bacnet-xdd+zip":{source:"iana",compressible:false},"application/batch-smtp":{source:"iana"},"application/bdoc":{compressible:false,extensions:["bdoc"]},"application/beep+xml":{source:"iana",charset:"UTF-8",compressible:true},"application/calendar+json":{source:"iana",compressible:true},"application/calendar+xml":{source:"iana",compressible:true,extensions:["xcs"]},"application/call-completion":{source:"iana"},"application/cals-1840":{source:"iana"},"application/captive+json":{source:"iana",compressible:true},"application/cbor":{source:"iana"},"application/cbor-seq":{source:"iana"},"application/cccex":{source:"iana"},"application/ccmp+xml":{source:"iana",compressible:true},"application/ccxml+xml":{source:"iana",compressible:true,extensions:["ccxml"]},"application/cdfx+xml":{source:"iana",compressible:true,extensions:["cdfx"]},"application/cdmi-capability":{source:"iana",extensions:["cdmia"]},"application/cdmi-container":{source:"iana",extensions:["cdmic"]},"application/cdmi-domain":{source:"iana",extensions:["cdmid"]},"application/cdmi-object":{source:"iana",extensions:["cdmio"]},"application/cdmi-queue":{source:"iana",extensions:["cdmiq"]},"application/cdni":{source:"iana"},"application/cea":{source:"iana"},"application/cea-2018+xml":{source:"iana",compressible:true},"application/cellml+xml":{source:"iana",compressible:true},"application/cfw":{source:"iana"},"application/city+json":{source:"iana",compressible:true},"application/clr":{source:"iana"},"application/clue+xml":{source:"iana",compressible:true},"application/clue_info+xml":{source:"iana",compressible:true},"application/cms":{source:"iana"},"application/cnrp+xml":{source:"iana",compressible:true},"application/coap-group+json":{source:"iana",compressible:true},"application/coap-payload":{source:"iana"},"application/commonground":{source:"iana"},"application/conference-info+xml":{source:"iana",compressible:true},"application/cose":{source:"iana"},"application/cose-key":{source:"iana"},"application/cose-key-set":{source:"iana"},"application/cpl+xml":{source:"iana",compressible:true,extensions:["cpl"]},"application/csrattrs":{source:"iana"},"application/csta+xml":{source:"iana",compressible:true},"application/cstadata+xml":{source:"iana",compressible:true},"application/csvm+json":{source:"iana",compressible:true},"application/cu-seeme":{source:"apache",extensions:["cu"]},"application/cwt":{source:"iana"},"application/cybercash":{source:"iana"},"application/dart":{compressible:true},"application/dash+xml":{source:"iana",compressible:true,extensions:["mpd"]},"application/dash-patch+xml":{source:"iana",compressible:true,extensions:["mpp"]},"application/dashdelta":{source:"iana"},"application/davmount+xml":{source:"iana",compressible:true,extensions:["davmount"]},"application/dca-rft":{source:"iana"},"application/dcd":{source:"iana"},"application/dec-dx":{source:"iana"},"application/dialog-info+xml":{source:"iana",compressible:true},"application/dicom":{source:"iana"},"application/dicom+json":{source:"iana",compressible:true},"application/dicom+xml":{source:"iana",compressible:true},"application/dii":{source:"iana"},"application/dit":{source:"iana"},"application/dns":{source:"iana"},"application/dns+json":{source:"iana",compressible:true},"application/dns-message":{source:"iana"},"application/docbook+xml":{source:"apache",compressible:true,extensions:["dbk"]},"application/dots+cbor":{source:"iana"},"application/dskpp+xml":{source:"iana",compressible:true},"application/dssc+der":{source:"iana",extensions:["dssc"]},"application/dssc+xml":{source:"iana",compressible:true,extensions:["xdssc"]},"application/dvcs":{source:"iana"},"application/ecmascript":{source:"iana",compressible:true,extensions:["es","ecma"]},"application/edi-consent":{source:"iana"},"application/edi-x12":{source:"iana",compressible:false},"application/edifact":{source:"iana",compressible:false},"application/efi":{source:"iana"},"application/elm+json":{source:"iana",charset:"UTF-8",compressible:true},"application/elm+xml":{source:"iana",compressible:true},"application/emergencycalldata.cap+xml":{source:"iana",charset:"UTF-8",compressible:true},"application/emergencycalldata.comment+xml":{source:"iana",compressible:true},"application/emergencycalldata.control+xml":{source:"iana",compressible:true},"application/emergencycalldata.deviceinfo+xml":{source:"iana",compressible:true},"application/emergencycalldata.ecall.msd":{source:"iana"},"application/emergencycalldata.providerinfo+xml":{source:"iana",compressible:true},"application/emergencycalldata.serviceinfo+xml":{source:"iana",compressible:true},"application/emergencycalldata.subscriberinfo+xml":{source:"iana",compressible:true},"application/emergencycalldata.veds+xml":{source:"iana",compressible:true},"application/emma+xml":{source:"iana",compressible:true,extensions:["emma"]},"application/emotionml+xml":{source:"iana",compressible:true,extensions:["emotionml"]},"application/encaprtp":{source:"iana"},"application/epp+xml":{source:"iana",compressible:true},"application/epub+zip":{source:"iana",compressible:false,extensions:["epub"]},"application/eshop":{source:"iana"},"application/exi":{source:"iana",extensions:["exi"]},"application/expect-ct-report+json":{source:"iana",compressible:true},"application/express":{source:"iana",extensions:["exp"]},"application/fastinfoset":{source:"iana"},"application/fastsoap":{source:"iana"},"application/fdt+xml":{source:"iana",compressible:true,extensions:["fdt"]},"application/fhir+json":{source:"iana",charset:"UTF-8",compressible:true},"application/fhir+xml":{source:"iana",charset:"UTF-8",compressible:true},"application/fido.trusted-apps+json":{compressible:true},"application/fits":{source:"iana"},"application/flexfec":{source:"iana"},"application/font-sfnt":{source:"iana"},"application/font-tdpfr":{source:"iana",extensions:["pfr"]},"application/font-woff":{source:"iana",compressible:false},"application/framework-attributes+xml":{source:"iana",compressible:true},"application/geo+json":{source:"iana",compressible:true,extensions:["geojson"]},"application/geo+json-seq":{source:"iana"},"application/geopackage+sqlite3":{source:"iana"},"application/geoxacml+xml":{source:"iana",compressible:true},"application/gltf-buffer":{source:"iana"},"application/gml+xml":{source:"iana",compressible:true,extensions:["gml"]},"application/gpx+xml":{source:"apache",compressible:true,extensions:["gpx"]},"application/gxf":{source:"apache",extensions:["gxf"]},"application/gzip":{source:"iana",compressible:false,extensions:["gz"]},"application/h224":{source:"iana"},"application/held+xml":{source:"iana",compressible:true},"application/hjson":{extensions:["hjson"]},"application/http":{source:"iana"},"application/hyperstudio":{source:"iana",extensions:["stk"]},"application/ibe-key-request+xml":{source:"iana",compressible:true},"application/ibe-pkg-reply+xml":{source:"iana",compressible:true},"application/ibe-pp-data":{source:"iana"},"application/iges":{source:"iana"},"application/im-iscomposing+xml":{source:"iana",charset:"UTF-8",compressible:true},"application/index":{source:"iana"},"application/index.cmd":{source:"iana"},"application/index.obj":{source:"iana"},"application/index.response":{source:"iana"},"application/index.vnd":{source:"iana"},"application/inkml+xml":{source:"iana",compressible:true,extensions:["ink","inkml"]},"application/iotp":{source:"iana"},"application/ipfix":{source:"iana",extensions:["ipfix"]},"application/ipp":{source:"iana"},"application/isup":{source:"iana"},"application/its+xml":{source:"iana",compressible:true,extensions:["its"]},"application/java-archive":{source:"apache",compressible:false,extensions:["jar","war","ear"]},"application/java-serialized-object":{source:"apache",compressible:false,extensions:["ser"]},"application/java-vm":{source:"apache",compressible:false,extensions:["class"]},"application/javascript":{source:"iana",charset:"UTF-8",compressible:true,extensions:["js","mjs"]},"application/jf2feed+json":{source:"iana",compressible:true},"application/jose":{source:"iana"},"application/jose+json":{source:"iana",compressible:true},"application/jrd+json":{source:"iana",compressible:true},"application/jscalendar+json":{source:"iana",compressible:true},"application/json":{source:"iana",charset:"UTF-8",compressible:true,extensions:["json","map"]},"application/json-patch+json":{source:"iana",compressible:true},"application/json-seq":{source:"iana"},"application/json5":{extensions:["json5"]},"application/jsonml+json":{source:"apache",compressible:true,extensions:["jsonml"]},"application/jwk+json":{source:"iana",compressible:true},"application/jwk-set+json":{source:"iana",compressible:true},"application/jwt":{source:"iana"},"application/kpml-request+xml":{source:"iana",compressible:true},"application/kpml-response+xml":{source:"iana",compressible:true},"application/ld+json":{source:"iana",compressible:true,extensions:["jsonld"]},"application/lgr+xml":{source:"iana",compressible:true,extensions:["lgr"]},"application/link-format":{source:"iana"},"application/load-control+xml":{source:"iana",compressible:true},"application/lost+xml":{source:"iana",compressible:true,extensions:["lostxml"]},"application/lostsync+xml":{source:"iana",compressible:true},"application/lpf+zip":{source:"iana",compressible:false},"application/lxf":{source:"iana"},"application/mac-binhex40":{source:"iana",extensions:["hqx"]},"application/mac-compactpro":{source:"apache",extensions:["cpt"]},"application/macwriteii":{source:"iana"},"application/mads+xml":{source:"iana",compressible:true,extensions:["mads"]},"application/manifest+json":{source:"iana",charset:"UTF-8",compressible:true,extensions:["webmanifest"]},"application/marc":{source:"iana",extensions:["mrc"]},"application/marcxml+xml":{source:"iana",compressible:true,extensions:["mrcx"]},"application/mathematica":{source:"iana",extensions:["ma","nb","mb"]},"application/mathml+xml":{source:"iana",compressible:true,extensions:["mathml"]},"application/mathml-content+xml":{source:"iana",compressible:true},"application/mathml-presentation+xml":{source:"iana",compressible:true},"application/mbms-associated-procedure-description+xml":{source:"iana",compressible:true},"application/mbms-deregister+xml":{source:"iana",compressible:true},"application/mbms-envelope+xml":{source:"iana",compressible:true},"application/mbms-msk+xml":{source:"iana",compressible:true},"application/mbms-msk-response+xml":{source:"iana",compressible:true},"application/mbms-protection-description+xml":{source:"iana",compressible:true},"application/mbms-reception-report+xml":{source:"iana",compressible:true},"application/mbms-register+xml":{source:"iana",compressible:true},"application/mbms-register-response+xml":{source:"iana",compressible:true},"application/mbms-schedule+xml":{source:"iana",compressible:true},"application/mbms-user-service-description+xml":{source:"iana",compressible:true},"application/mbox":{source:"iana",extensions:["mbox"]},"application/media-policy-dataset+xml":{source:"iana",compressible:true,extensions:["mpf"]},"application/media_control+xml":{source:"iana",compressible:true},"application/mediaservercontrol+xml":{source:"iana",compressible:true,extensions:["mscml"]},"application/merge-patch+json":{source:"iana",compressible:true},"application/metalink+xml":{source:"apache",compressible:true,extensions:["metalink"]},"application/metalink4+xml":{source:"iana",compressible:true,extensions:["meta4"]},"application/mets+xml":{source:"iana",compressible:true,extensions:["mets"]},"application/mf4":{source:"iana"},"application/mikey":{source:"iana"},"application/mipc":{source:"iana"},"application/missing-blocks+cbor-seq":{source:"iana"},"application/mmt-aei+xml":{source:"iana",compressible:true,extensions:["maei"]},"application/mmt-usd+xml":{source:"iana",compressible:true,extensions:["musd"]},"application/mods+xml":{source:"iana",compressible:true,extensions:["mods"]},"application/moss-keys":{source:"iana"},"application/moss-signature":{source:"iana"},"application/mosskey-data":{source:"iana"},"application/mosskey-request":{source:"iana"},"application/mp21":{source:"iana",extensions:["m21","mp21"]},"application/mp4":{source:"iana",extensions:["mp4s","m4p"]},"application/mpeg4-generic":{source:"iana"},"application/mpeg4-iod":{source:"iana"},"application/mpeg4-iod-xmt":{source:"iana"},"application/mrb-consumer+xml":{source:"iana",compressible:true},"application/mrb-publish+xml":{source:"iana",compressible:true},"application/msc-ivr+xml":{source:"iana",charset:"UTF-8",compressible:true},"application/msc-mixer+xml":{source:"iana",charset:"UTF-8",compressible:true},"application/msword":{source:"iana",compressible:false,extensions:["doc","dot"]},"application/mud+json":{source:"iana",compressible:true},"application/multipart-core":{source:"iana"},"application/mxf":{source:"iana",extensions:["mxf"]},"application/n-quads":{source:"iana",extensions:["nq"]},"application/n-triples":{source:"iana",extensions:["nt"]},"application/nasdata":{source:"iana"},"application/news-checkgroups":{source:"iana",charset:"US-ASCII"},"application/news-groupinfo":{source:"iana",charset:"US-ASCII"},"application/news-transmission":{source:"iana"},"application/nlsml+xml":{source:"iana",compressible:true},"application/node":{source:"iana",extensions:["cjs"]},"application/nss":{source:"iana"},"application/oauth-authz-req+jwt":{source:"iana"},"application/oblivious-dns-message":{source:"iana"},"application/ocsp-request":{source:"iana"},"application/ocsp-response":{source:"iana"},"application/octet-stream":{source:"iana",compressible:false,extensions:["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"]},"application/oda":{source:"iana",extensions:["oda"]},"application/odm+xml":{source:"iana",compressible:true},"application/odx":{source:"iana"},"application/oebps-package+xml":{source:"iana",compressible:true,extensions:["opf"]},"application/ogg":{source:"iana",compressible:false,extensions:["ogx"]},"application/omdoc+xml":{source:"apache",compressible:true,extensions:["omdoc"]},"application/onenote":{source:"apache",extensions:["onetoc","onetoc2","onetmp","onepkg"]},"application/opc-nodeset+xml":{source:"iana",compressible:true},"application/oscore":{source:"iana"},"application/oxps":{source:"iana",extensions:["oxps"]},"application/p21":{source:"iana"},"application/p21+zip":{source:"iana",compressible:false},"application/p2p-overlay+xml":{source:"iana",compressible:true,extensions:["relo"]},"application/parityfec":{source:"iana"},"application/passport":{source:"iana"},"application/patch-ops-error+xml":{source:"iana",compressible:true,extensions:["xer"]},"application/pdf":{source:"iana",compressible:false,extensions:["pdf"]},"application/pdx":{source:"iana"},"application/pem-certificate-chain":{source:"iana"},"application/pgp-encrypted":{source:"iana",compressible:false,extensions:["pgp"]},"application/pgp-keys":{source:"iana",extensions:["asc"]},"application/pgp-signature":{source:"iana",extensions:["asc","sig"]},"application/pics-rules":{source:"apache",extensions:["prf"]},"application/pidf+xml":{source:"iana",charset:"UTF-8",compressible:true},"application/pidf-diff+xml":{source:"iana",charset:"UTF-8",compressible:true},"application/pkcs10":{source:"iana",extensions:["p10"]},"application/pkcs12":{source:"iana"},"application/pkcs7-mime":{source:"iana",extensions:["p7m","p7c"]},"application/pkcs7-signature":{source:"iana",extensions:["p7s"]},"application/pkcs8":{source:"iana",extensions:["p8"]},"application/pkcs8-encrypted":{source:"iana"},"application/pkix-attr-cert":{source:"iana",extensions:["ac"]},"application/pkix-cert":{source:"iana",extensions:["cer"]},"application/pkix-crl":{source:"iana",extensions:["crl"]},"application/pkix-pkipath":{source:"iana",extensions:["pkipath"]},"application/pkixcmp":{source:"iana",extensions:["pki"]},"application/pls+xml":{source:"iana",compressible:true,extensions:["pls"]},"application/poc-settings+xml":{source:"iana",charset:"UTF-8",compressible:true},"application/postscript":{source:"iana",compressible:true,extensions:["ai","eps","ps"]},"application/ppsp-tracker+json":{source:"iana",compressible:true},"application/problem+json":{source:"iana",compressible:true},"application/problem+xml":{source:"iana",compressible:true},"application/provenance+xml":{source:"iana",compressible:true,extensions:["provx"]},"application/prs.alvestrand.titrax-sheet":{source:"iana"},"application/prs.cww":{source:"iana",extensions:["cww"]},"application/prs.cyn":{source:"iana",charset:"7-BIT"},"application/prs.hpub+zip":{source:"iana",compressible:false},"application/prs.nprend":{source:"iana"},"application/prs.plucker":{source:"iana"},"application/prs.rdf-xml-crypt":{source:"iana"},"application/prs.xsf+xml":{source:"iana",compressible:true},"application/pskc+xml":{source:"iana",compressible:true,extensions:["pskcxml"]},"application/pvd+json":{source:"iana",compressible:true},"application/qsig":{source:"iana"},"application/raml+yaml":{compressible:true,extensions:["raml"]},"application/raptorfec":{source:"iana"},"application/rdap+json":{source:"iana",compressible:true},"application/rdf+xml":{source:"iana",compressible:true,extensions:["rdf","owl"]},"application/reginfo+xml":{source:"iana",compressible:true,extensions:["rif"]},"application/relax-ng-compact-syntax":{source:"iana",extensions:["rnc"]},"application/remote-printing":{source:"iana"},"application/reputon+json":{source:"iana",compressible:true},"application/resource-lists+xml":{source:"iana",compressible:true,extensions:["rl"]},"application/resource-lists-diff+xml":{source:"iana",compressible:true,extensions:["rld"]},"application/rfc+xml":{source:"iana",compressible:true},"application/riscos":{source:"iana"},"application/rlmi+xml":{source:"iana",compressible:true},"application/rls-services+xml":{source:"iana",compressible:true,extensions:["rs"]},"application/route-apd+xml":{source:"iana",compressible:true,extensions:["rapd"]},"application/route-s-tsid+xml":{source:"iana",compressible:true,extensions:["sls"]},"application/route-usd+xml":{source:"iana",compressible:true,extensions:["rusd"]},"application/rpki-ghostbusters":{source:"iana",extensions:["gbr"]},"application/rpki-manifest":{source:"iana",extensions:["mft"]},"application/rpki-publication":{source:"iana"},"application/rpki-roa":{source:"iana",extensions:["roa"]},"application/rpki-updown":{source:"iana"},"application/rsd+xml":{source:"apache",compressible:true,extensions:["rsd"]},"application/rss+xml":{source:"apache",compressible:true,extensions:["rss"]},"application/rtf":{source:"iana",compressible:true,extensions:["rtf"]},"application/rtploopback":{source:"iana"},"application/rtx":{source:"iana"},"application/samlassertion+xml":{source:"iana",compressible:true},"application/samlmetadata+xml":{source:"iana",compressible:true},"application/sarif+json":{source:"iana",compressible:true},"application/sarif-external-properties+json":{source:"iana",compressible:true},"application/sbe":{source:"iana"},"application/sbml+xml":{source:"iana",compressible:true,extensions:["sbml"]},"application/scaip+xml":{source:"iana",compressible:true},"application/scim+json":{source:"iana",compressible:true},"application/scvp-cv-request":{source:"iana",extensions:["scq"]},"application/scvp-cv-response":{source:"iana",extensions:["scs"]},"application/scvp-vp-request":{source:"iana",extensions:["spq"]},"application/scvp-vp-response":{source:"iana",extensions:["spp"]},"application/sdp":{source:"iana",extensions:["sdp"]},"application/secevent+jwt":{source:"iana"},"application/senml+cbor":{source:"iana"},"application/senml+json":{source:"iana",compressible:true},"application/senml+xml":{source:"iana",compressible:true,extensions:["senmlx"]},"application/senml-etch+cbor":{source:"iana"},"application/senml-etch+json":{source:"iana",compressible:true},"application/senml-exi":{source:"iana"},"application/sensml+cbor":{source:"iana"},"application/sensml+json":{source:"iana",compressible:true},"application/sensml+xml":{source:"iana",compressible:true,extensions:["sensmlx"]},"application/sensml-exi":{source:"iana"},"application/sep+xml":{source:"iana",compressible:true},"application/sep-exi":{source:"iana"},"application/session-info":{source:"iana"},"application/set-payment":{source:"iana"},"application/set-payment-initiation":{source:"iana",extensions:["setpay"]},"application/set-registration":{source:"iana"},"application/set-registration-initiation":{source:"iana",extensions:["setreg"]},"application/sgml":{source:"iana"},"application/sgml-open-catalog":{source:"iana"},"application/shf+xml":{source:"iana",compressible:true,extensions:["shf"]},"application/sieve":{source:"iana",extensions:["siv","sieve"]},"application/simple-filter+xml":{source:"iana",compressible:true},"application/simple-message-summary":{source:"iana"},"application/simplesymbolcontainer":{source:"iana"},"application/sipc":{source:"iana"},"application/slate":{source:"iana"},"application/smil":{source:"iana"},"application/smil+xml":{source:"iana",compressible:true,extensions:["smi","smil"]},"application/smpte336m":{source:"iana"},"application/soap+fastinfoset":{source:"iana"},"application/soap+xml":{source:"iana",compressible:true},"application/sparql-query":{source:"iana",extensions:["rq"]},"application/sparql-results+xml":{source:"iana",compressible:true,extensions:["srx"]},"application/spdx+json":{source:"iana",compressible:true},"application/spirits-event+xml":{source:"iana",compressible:true},"application/sql":{source:"iana"},"application/srgs":{source:"iana",extensions:["gram"]},"application/srgs+xml":{source:"iana",compressible:true,extensions:["grxml"]},"application/sru+xml":{source:"iana",compressible:true,extensions:["sru"]},"application/ssdl+xml":{source:"apache",compressible:true,extensions:["ssdl"]},"application/ssml+xml":{source:"iana",compressible:true,extensions:["ssml"]},"application/stix+json":{source:"iana",compressible:true},"application/swid+xml":{source:"iana",compressible:true,extensions:["swidtag"]},"application/tamp-apex-update":{source:"iana"},"application/tamp-apex-update-confirm":{source:"iana"},"application/tamp-community-update":{source:"iana"},"application/tamp-community-update-confirm":{source:"iana"},"application/tamp-error":{source:"iana"},"application/tamp-sequence-adjust":{source:"iana"},"application/tamp-sequence-adjust-confirm":{source:"iana"},"application/tamp-status-query":{source:"iana"},"application/tamp-status-response":{source:"iana"},"application/tamp-update":{source:"iana"},"application/tamp-update-confirm":{source:"iana"},"application/tar":{compressible:true},"application/taxii+json":{source:"iana",compressible:true},"application/td+json":{source:"iana",compressible:true},"application/tei+xml":{source:"iana",compressible:true,extensions:["tei","teicorpus"]},"application/tetra_isi":{source:"iana"},"application/thraud+xml":{source:"iana",compressible:true,extensions:["tfi"]},"application/timestamp-query":{source:"iana"},"application/timestamp-reply":{source:"iana"},"application/timestamped-data":{source:"iana",extensions:["tsd"]},"application/tlsrpt+gzip":{source:"iana"},"application/tlsrpt+json":{source:"iana",compressible:true},"application/tnauthlist":{source:"iana"},"application/token-introspection+jwt":{source:"iana"},"application/toml":{compressible:true,extensions:["toml"]},"application/trickle-ice-sdpfrag":{source:"iana"},"application/trig":{source:"iana",extensions:["trig"]},"application/ttml+xml":{source:"iana",compressible:true,extensions:["ttml"]},"application/tve-trigger":{source:"iana"},"application/tzif":{source:"iana"},"application/tzif-leap":{source:"iana"},"application/ubjson":{compressible:false,extensions:["ubj"]},"application/ulpfec":{source:"iana"},"application/urc-grpsheet+xml":{source:"iana",compressible:true},"application/urc-ressheet+xml":{source:"iana",compressible:true,extensions:["rsheet"]},"application/urc-targetdesc+xml":{source:"iana",compressible:true,extensions:["td"]},"application/urc-uisocketdesc+xml":{source:"iana",compressible:true},"application/vcard+json":{source:"iana",compressible:true},"application/vcard+xml":{source:"iana",compressible:true},"application/vemmi":{source:"iana"},"application/vividence.scriptfile":{source:"apache"},"application/vnd.1000minds.decision-model+xml":{source:"iana",compressible:true,extensions:["1km"]},"application/vnd.3gpp-prose+xml":{source:"iana",compressible:true},"application/vnd.3gpp-prose-pc3ch+xml":{source:"iana",compressible:true},"application/vnd.3gpp-v2x-local-service-information":{source:"iana"},"application/vnd.3gpp.5gnas":{source:"iana"},"application/vnd.3gpp.access-transfer-events+xml":{source:"iana",compressible:true},"application/vnd.3gpp.bsf+xml":{source:"iana",compressible:true},"application/vnd.3gpp.gmop+xml":{source:"iana",compressible:true},"application/vnd.3gpp.gtpc":{source:"iana"},"application/vnd.3gpp.interworking-data":{source:"iana"},"application/vnd.3gpp.lpp":{source:"iana"},"application/vnd.3gpp.mc-signalling-ear":{source:"iana"},"application/vnd.3gpp.mcdata-affiliation-command+xml":{source:"iana",compressible:true},"application/vnd.3gpp.mcdata-info+xml":{source:"iana",compressible:true},"application/vnd.3gpp.mcdata-payload":{source:"iana"},"application/vnd.3gpp.mcdata-service-config+xml":{source:"iana",compressible:true},"application/vnd.3gpp.mcdata-signalling":{source:"iana"},"application/vnd.3gpp.mcdata-ue-config+xml":{source:"iana",compressible:true},"application/vnd.3gpp.mcdata-user-profile+xml":{source:"iana",compressible:true},"application/vnd.3gpp.mcptt-affiliation-command+xml":{source:"iana",compressible:true},"application/vnd.3gpp.mcptt-floor-request+xml":{source:"iana",compressible:true},"application/vnd.3gpp.mcptt-info+xml":{source:"iana",compressible:true},"application/vnd.3gpp.mcptt-location-info+xml":{source:"iana",compressible:true},"application/vnd.3gpp.mcptt-mbms-usage-info+xml":{source:"iana",compressible:true},"application/vnd.3gpp.mcptt-service-config+xml":{source:"iana",compressible:true},"application/vnd.3gpp.mcptt-signed+xml":{source:"iana",compressible:true},"application/vnd.3gpp.mcptt-ue-config+xml":{source:"iana",compressible:true},"application/vnd.3gpp.mcptt-ue-init-config+xml":{source:"iana",compressible:true},"application/vnd.3gpp.mcptt-user-profile+xml":{source:"iana",compressible:true},"application/vnd.3gpp.mcvideo-affiliation-command+xml":{source:"iana",compressible:true},"application/vnd.3gpp.mcvideo-affiliation-info+xml":{source:"iana",compressible:true},"application/vnd.3gpp.mcvideo-info+xml":{source:"iana",compressible:true},"application/vnd.3gpp.mcvideo-location-info+xml":{source:"iana",compressible:true},"application/vnd.3gpp.mcvideo-mbms-usage-info+xml":{source:"iana",compressible:true},"application/vnd.3gpp.mcvideo-service-config+xml":{source:"iana",compressible:true},"application/vnd.3gpp.mcvideo-transmission-request+xml":{source:"iana",compressible:true},"application/vnd.3gpp.mcvideo-ue-config+xml":{source:"iana",compressible:true},"application/vnd.3gpp.mcvideo-user-profile+xml":{source:"iana",compressible:true},"application/vnd.3gpp.mid-call+xml":{source:"iana",compressible:true},"application/vnd.3gpp.ngap":{source:"iana"},"application/vnd.3gpp.pfcp":{source:"iana"},"application/vnd.3gpp.pic-bw-large":{source:"iana",extensions:["plb"]},"application/vnd.3gpp.pic-bw-small":{source:"iana",extensions:["psb"]},"application/vnd.3gpp.pic-bw-var":{source:"iana",extensions:["pvb"]},"application/vnd.3gpp.s1ap":{source:"iana"},"application/vnd.3gpp.sms":{source:"iana"},"application/vnd.3gpp.sms+xml":{source:"iana",compressible:true},"application/vnd.3gpp.srvcc-ext+xml":{source:"iana",compressible:true},"application/vnd.3gpp.srvcc-info+xml":{source:"iana",compressible:true},"application/vnd.3gpp.state-and-event-info+xml":{source:"iana",compressible:true},"application/vnd.3gpp.ussd+xml":{source:"iana",compressible:true},"application/vnd.3gpp2.bcmcsinfo+xml":{source:"iana",compressible:true},"application/vnd.3gpp2.sms":{source:"iana"},"application/vnd.3gpp2.tcap":{source:"iana",extensions:["tcap"]},"application/vnd.3lightssoftware.imagescal":{source:"iana"},"application/vnd.3m.post-it-notes":{source:"iana",extensions:["pwn"]},"application/vnd.accpac.simply.aso":{source:"iana",extensions:["aso"]},"application/vnd.accpac.simply.imp":{source:"iana",extensions:["imp"]},"application/vnd.acucobol":{source:"iana",extensions:["acu"]},"application/vnd.acucorp":{source:"iana",extensions:["atc","acutc"]},"application/vnd.adobe.air-application-installer-package+zip":{source:"apache",compressible:false,extensions:["air"]},"application/vnd.adobe.flash.movie":{source:"iana"},"application/vnd.adobe.formscentral.fcdt":{source:"iana",extensions:["fcdt"]},"application/vnd.adobe.fxp":{source:"iana",extensions:["fxp","fxpl"]},"application/vnd.adobe.partial-upload":{source:"iana"},"application/vnd.adobe.xdp+xml":{source:"iana",compressible:true,extensions:["xdp"]},"application/vnd.adobe.xfdf":{source:"iana",extensions:["xfdf"]},"application/vnd.aether.imp":{source:"iana"},"application/vnd.afpc.afplinedata":{source:"iana"},"application/vnd.afpc.afplinedata-pagedef":{source:"iana"},"application/vnd.afpc.cmoca-cmresource":{source:"iana"},"application/vnd.afpc.foca-charset":{source:"iana"},"application/vnd.afpc.foca-codedfont":{source:"iana"},"application/vnd.afpc.foca-codepage":{source:"iana"},"application/vnd.afpc.modca":{source:"iana"},"application/vnd.afpc.modca-cmtable":{source:"iana"},"application/vnd.afpc.modca-formdef":{source:"iana"},"application/vnd.afpc.modca-mediummap":{source:"iana"},"application/vnd.afpc.modca-objectcontainer":{source:"iana"},"application/vnd.afpc.modca-overlay":{source:"iana"},"application/vnd.afpc.modca-pagesegment":{source:"iana"},"application/vnd.age":{source:"iana",extensions:["age"]},"application/vnd.ah-barcode":{source:"iana"},"application/vnd.ahead.space":{source:"iana",extensions:["ahead"]},"application/vnd.airzip.filesecure.azf":{source:"iana",extensions:["azf"]},"application/vnd.airzip.filesecure.azs":{source:"iana",extensions:["azs"]},"application/vnd.amadeus+json":{source:"iana",compressible:true},"application/vnd.amazon.ebook":{source:"apache",extensions:["azw"]},"application/vnd.amazon.mobi8-ebook":{source:"iana"},"application/vnd.americandynamics.acc":{source:"iana",extensions:["acc"]},"application/vnd.amiga.ami":{source:"iana",extensions:["ami"]},"application/vnd.amundsen.maze+xml":{source:"iana",compressible:true},"application/vnd.android.ota":{source:"iana"},"application/vnd.android.package-archive":{source:"apache",compressible:false,extensions:["apk"]},"application/vnd.anki":{source:"iana"},"application/vnd.anser-web-certificate-issue-initiation":{source:"iana",extensions:["cii"]},"application/vnd.anser-web-funds-transfer-initiation":{source:"apache",extensions:["fti"]},"application/vnd.antix.game-component":{source:"iana",extensions:["atx"]},"application/vnd.apache.arrow.file":{source:"iana"},"application/vnd.apache.arrow.stream":{source:"iana"},"application/vnd.apache.thrift.binary":{source:"iana"},"application/vnd.apache.thrift.compact":{source:"iana"},"application/vnd.apache.thrift.json":{source:"iana"},"application/vnd.api+json":{source:"iana",compressible:true},"application/vnd.aplextor.warrp+json":{source:"iana",compressible:true},"application/vnd.apothekende.reservation+json":{source:"iana",compressible:true},"application/vnd.apple.installer+xml":{source:"iana",compressible:true,extensions:["mpkg"]},"application/vnd.apple.keynote":{source:"iana",extensions:["key"]},"application/vnd.apple.mpegurl":{source:"iana",extensions:["m3u8"]},"application/vnd.apple.numbers":{source:"iana",extensions:["numbers"]},"application/vnd.apple.pages":{source:"iana",extensions:["pages"]},"application/vnd.apple.pkpass":{compressible:false,extensions:["pkpass"]},"application/vnd.arastra.swi":{source:"iana"},"application/vnd.aristanetworks.swi":{source:"iana",extensions:["swi"]},"application/vnd.artisan+json":{source:"iana",compressible:true},"application/vnd.artsquare":{source:"iana"},"application/vnd.astraea-software.iota":{source:"iana",extensions:["iota"]},"application/vnd.audiograph":{source:"iana",extensions:["aep"]},"application/vnd.autopackage":{source:"iana"},"application/vnd.avalon+json":{source:"iana",compressible:true},"application/vnd.avistar+xml":{source:"iana",compressible:true},"application/vnd.balsamiq.bmml+xml":{source:"iana",compressible:true,extensions:["bmml"]},"application/vnd.balsamiq.bmpr":{source:"iana"},"application/vnd.banana-accounting":{source:"iana"},"application/vnd.bbf.usp.error":{source:"iana"},"application/vnd.bbf.usp.msg":{source:"iana"},"application/vnd.bbf.usp.msg+json":{source:"iana",compressible:true},"application/vnd.bekitzur-stech+json":{source:"iana",compressible:true},"application/vnd.bint.med-content":{source:"iana"},"application/vnd.biopax.rdf+xml":{source:"iana",compressible:true},"application/vnd.blink-idb-value-wrapper":{source:"iana"},"application/vnd.blueice.multipass":{source:"iana",extensions:["mpm"]},"application/vnd.bluetooth.ep.oob":{source:"iana"},"application/vnd.bluetooth.le.oob":{source:"iana"},"application/vnd.bmi":{source:"iana",extensions:["bmi"]},"application/vnd.bpf":{source:"iana"},"application/vnd.bpf3":{source:"iana"},"application/vnd.businessobjects":{source:"iana",extensions:["rep"]},"application/vnd.byu.uapi+json":{source:"iana",compressible:true},"application/vnd.cab-jscript":{source:"iana"},"application/vnd.canon-cpdl":{source:"iana"},"application/vnd.canon-lips":{source:"iana"},"application/vnd.capasystems-pg+json":{source:"iana",compressible:true},"application/vnd.cendio.thinlinc.clientconf":{source:"iana"},"application/vnd.century-systems.tcp_stream":{source:"iana"},"application/vnd.chemdraw+xml":{source:"iana",compressible:true,extensions:["cdxml"]},"application/vnd.chess-pgn":{source:"iana"},"application/vnd.chipnuts.karaoke-mmd":{source:"iana",extensions:["mmd"]},"application/vnd.ciedi":{source:"iana"},"application/vnd.cinderella":{source:"iana",extensions:["cdy"]},"application/vnd.cirpack.isdn-ext":{source:"iana"},"application/vnd.citationstyles.style+xml":{source:"iana",compressible:true,extensions:["csl"]},"application/vnd.claymore":{source:"iana",extensions:["cla"]},"application/vnd.cloanto.rp9":{source:"iana",extensions:["rp9"]},"application/vnd.clonk.c4group":{source:"iana",extensions:["c4g","c4d","c4f","c4p","c4u"]},"application/vnd.cluetrust.cartomobile-config":{source:"iana",extensions:["c11amc"]},"application/vnd.cluetrust.cartomobile-config-pkg":{source:"iana",extensions:["c11amz"]},"application/vnd.coffeescript":{source:"iana"},"application/vnd.collabio.xodocuments.document":{source:"iana"},"application/vnd.collabio.xodocuments.document-template":{source:"iana"},"application/vnd.collabio.xodocuments.presentation":{source:"iana"},"application/vnd.collabio.xodocuments.presentation-template":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet-template":{source:"iana"},"application/vnd.collection+json":{source:"iana",compressible:true},"application/vnd.collection.doc+json":{source:"iana",compressible:true},"application/vnd.collection.next+json":{source:"iana",compressible:true},"application/vnd.comicbook+zip":{source:"iana",compressible:false},"application/vnd.comicbook-rar":{source:"iana"},"application/vnd.commerce-battelle":{source:"iana"},"application/vnd.commonspace":{source:"iana",extensions:["csp"]},"application/vnd.contact.cmsg":{source:"iana",extensions:["cdbcmsg"]},"application/vnd.coreos.ignition+json":{source:"iana",compressible:true},"application/vnd.cosmocaller":{source:"iana",extensions:["cmc"]},"application/vnd.crick.clicker":{source:"iana",extensions:["clkx"]},"application/vnd.crick.clicker.keyboard":{source:"iana",extensions:["clkk"]},"application/vnd.crick.clicker.palette":{source:"iana",extensions:["clkp"]},"application/vnd.crick.clicker.template":{source:"iana",extensions:["clkt"]},"application/vnd.crick.clicker.wordbank":{source:"iana",extensions:["clkw"]},"application/vnd.criticaltools.wbs+xml":{source:"iana",compressible:true,extensions:["wbs"]},"application/vnd.cryptii.pipe+json":{source:"iana",compressible:true},"application/vnd.crypto-shade-file":{source:"iana"},"application/vnd.cryptomator.encrypted":{source:"iana"},"application/vnd.cryptomator.vault":{source:"iana"},"application/vnd.ctc-posml":{source:"iana",extensions:["pml"]},"application/vnd.ctct.ws+xml":{source:"iana",compressible:true},"application/vnd.cups-pdf":{source:"iana"},"application/vnd.cups-postscript":{source:"iana"},"application/vnd.cups-ppd":{source:"iana",extensions:["ppd"]},"application/vnd.cups-raster":{source:"iana"},"application/vnd.cups-raw":{source:"iana"},"application/vnd.curl":{source:"iana"},"application/vnd.curl.car":{source:"apache",extensions:["car"]},"application/vnd.curl.pcurl":{source:"apache",extensions:["pcurl"]},"application/vnd.cyan.dean.root+xml":{source:"iana",compressible:true},"application/vnd.cybank":{source:"iana"},"application/vnd.cyclonedx+json":{source:"iana",compressible:true},"application/vnd.cyclonedx+xml":{source:"iana",compressible:true},"application/vnd.d2l.coursepackage1p0+zip":{source:"iana",compressible:false},"application/vnd.d3m-dataset":{source:"iana"},"application/vnd.d3m-problem":{source:"iana"},"application/vnd.dart":{source:"iana",compressible:true,extensions:["dart"]},"application/vnd.data-vision.rdz":{source:"iana",extensions:["rdz"]},"application/vnd.datapackage+json":{source:"iana",compressible:true},"application/vnd.dataresource+json":{source:"iana",compressible:true},"application/vnd.dbf":{source:"iana",extensions:["dbf"]},"application/vnd.debian.binary-package":{source:"iana"},"application/vnd.dece.data":{source:"iana",extensions:["uvf","uvvf","uvd","uvvd"]},"application/vnd.dece.ttml+xml":{source:"iana",compressible:true,extensions:["uvt","uvvt"]},"application/vnd.dece.unspecified":{source:"iana",extensions:["uvx","uvvx"]},"application/vnd.dece.zip":{source:"iana",extensions:["uvz","uvvz"]},"application/vnd.denovo.fcselayout-link":{source:"iana",extensions:["fe_launch"]},"application/vnd.desmume.movie":{source:"iana"},"application/vnd.dir-bi.plate-dl-nosuffix":{source:"iana"},"application/vnd.dm.delegation+xml":{source:"iana",compressible:true},"application/vnd.dna":{source:"iana",extensions:["dna"]},"application/vnd.document+json":{source:"iana",compressible:true},"application/vnd.dolby.mlp":{source:"apache",extensions:["mlp"]},"application/vnd.dolby.mobile.1":{source:"iana"},"application/vnd.dolby.mobile.2":{source:"iana"},"application/vnd.doremir.scorecloud-binary-document":{source:"iana"},"application/vnd.dpgraph":{source:"iana",extensions:["dpg"]},"application/vnd.dreamfactory":{source:"iana",extensions:["dfac"]},"application/vnd.drive+json":{source:"iana",compressible:true},"application/vnd.ds-keypoint":{source:"apache",extensions:["kpxx"]},"application/vnd.dtg.local":{source:"iana"},"application/vnd.dtg.local.flash":{source:"iana"},"application/vnd.dtg.local.html":{source:"iana"},"application/vnd.dvb.ait":{source:"iana",extensions:["ait"]},"application/vnd.dvb.dvbisl+xml":{source:"iana",compressible:true},"application/vnd.dvb.dvbj":{source:"iana"},"application/vnd.dvb.esgcontainer":{source:"iana"},"application/vnd.dvb.ipdcdftnotifaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess2":{source:"iana"},"application/vnd.dvb.ipdcesgpdd":{source:"iana"},"application/vnd.dvb.ipdcroaming":{source:"iana"},"application/vnd.dvb.iptv.alfec-base":{source:"iana"},"application/vnd.dvb.iptv.alfec-enhancement":{source:"iana"},"application/vnd.dvb.notif-aggregate-root+xml":{source:"iana",compressible:true},"application/vnd.dvb.notif-container+xml":{source:"iana",compressible:true},"application/vnd.dvb.notif-generic+xml":{source:"iana",compressible:true},"application/vnd.dvb.notif-ia-msglist+xml":{source:"iana",compressible:true},"application/vnd.dvb.notif-ia-registration-request+xml":{source:"iana",compressible:true},"application/vnd.dvb.notif-ia-registration-response+xml":{source:"iana",compressible:true},"application/vnd.dvb.notif-init+xml":{source:"iana",compressible:true},"application/vnd.dvb.pfr":{source:"iana"},"application/vnd.dvb.service":{source:"iana",extensions:["svc"]},"application/vnd.dxr":{source:"iana"},"application/vnd.dynageo":{source:"iana",extensions:["geo"]},"application/vnd.dzr":{source:"iana"},"application/vnd.easykaraoke.cdgdownload":{source:"iana"},"application/vnd.ecdis-update":{source:"iana"},"application/vnd.ecip.rlp":{source:"iana"},"application/vnd.eclipse.ditto+json":{source:"iana",compressible:true},"application/vnd.ecowin.chart":{source:"iana",extensions:["mag"]},"application/vnd.ecowin.filerequest":{source:"iana"},"application/vnd.ecowin.fileupdate":{source:"iana"},"application/vnd.ecowin.series":{source:"iana"},"application/vnd.ecowin.seriesrequest":{source:"iana"},"application/vnd.ecowin.seriesupdate":{source:"iana"},"application/vnd.efi.img":{source:"iana"},"application/vnd.efi.iso":{source:"iana"},"application/vnd.emclient.accessrequest+xml":{source:"iana",compressible:true},"application/vnd.enliven":{source:"iana",extensions:["nml"]},"application/vnd.enphase.envoy":{source:"iana"},"application/vnd.eprints.data+xml":{source:"iana",compressible:true},"application/vnd.epson.esf":{source:"iana",extensions:["esf"]},"application/vnd.epson.msf":{source:"iana",extensions:["msf"]},"application/vnd.epson.quickanime":{source:"iana",extensions:["qam"]},"application/vnd.epson.salt":{source:"iana",extensions:["slt"]},"application/vnd.epson.ssf":{source:"iana",extensions:["ssf"]},"application/vnd.ericsson.quickcall":{source:"iana"},"application/vnd.espass-espass+zip":{source:"iana",compressible:false},"application/vnd.eszigno3+xml":{source:"iana",compressible:true,extensions:["es3","et3"]},"application/vnd.etsi.aoc+xml":{source:"iana",compressible:true},"application/vnd.etsi.asic-e+zip":{source:"iana",compressible:false},"application/vnd.etsi.asic-s+zip":{source:"iana",compressible:false},"application/vnd.etsi.cug+xml":{source:"iana",compressible:true},"application/vnd.etsi.iptvcommand+xml":{source:"iana",compressible:true},"application/vnd.etsi.iptvdiscovery+xml":{source:"iana",compressible:true},"application/vnd.etsi.iptvprofile+xml":{source:"iana",compressible:true},"application/vnd.etsi.iptvsad-bc+xml":{source:"iana",compressible:true},"application/vnd.etsi.iptvsad-cod+xml":{source:"iana",compressible:true},"application/vnd.etsi.iptvsad-npvr+xml":{source:"iana",compressible:true},"application/vnd.etsi.iptvservice+xml":{source:"iana",compressible:true},"application/vnd.etsi.iptvsync+xml":{source:"iana",compressible:true},"application/vnd.etsi.iptvueprofile+xml":{source:"iana",compressible:true},"application/vnd.etsi.mcid+xml":{source:"iana",compressible:true},"application/vnd.etsi.mheg5":{source:"iana"},"application/vnd.etsi.overload-control-policy-dataset+xml":{source:"iana",compressible:true},"application/vnd.etsi.pstn+xml":{source:"iana",compressible:true},"application/vnd.etsi.sci+xml":{source:"iana",compressible:true},"application/vnd.etsi.simservs+xml":{source:"iana",compressible:true},"application/vnd.etsi.timestamp-token":{source:"iana"},"application/vnd.etsi.tsl+xml":{source:"iana",compressible:true},"application/vnd.etsi.tsl.der":{source:"iana"},"application/vnd.eu.kasparian.car+json":{source:"iana",compressible:true},"application/vnd.eudora.data":{source:"iana"},"application/vnd.evolv.ecig.profile":{source:"iana"},"application/vnd.evolv.ecig.settings":{source:"iana"},"application/vnd.evolv.ecig.theme":{source:"iana"},"application/vnd.exstream-empower+zip":{source:"iana",compressible:false},"application/vnd.exstream-package":{source:"iana"},"application/vnd.ezpix-album":{source:"iana",extensions:["ez2"]},"application/vnd.ezpix-package":{source:"iana",extensions:["ez3"]},"application/vnd.f-secure.mobile":{source:"iana"},"application/vnd.familysearch.gedcom+zip":{source:"iana",compressible:false},"application/vnd.fastcopy-disk-image":{source:"iana"},"application/vnd.fdf":{source:"iana",extensions:["fdf"]},"application/vnd.fdsn.mseed":{source:"iana",extensions:["mseed"]},"application/vnd.fdsn.seed":{source:"iana",extensions:["seed","dataless"]},"application/vnd.ffsns":{source:"iana"},"application/vnd.ficlab.flb+zip":{source:"iana",compressible:false},"application/vnd.filmit.zfc":{source:"iana"},"application/vnd.fints":{source:"iana"},"application/vnd.firemonkeys.cloudcell":{source:"iana"},"application/vnd.flographit":{source:"iana",extensions:["gph"]},"application/vnd.fluxtime.clip":{source:"iana",extensions:["ftc"]},"application/vnd.font-fontforge-sfd":{source:"iana"},"application/vnd.framemaker":{source:"iana",extensions:["fm","frame","maker","book"]},"application/vnd.frogans.fnc":{source:"iana",extensions:["fnc"]},"application/vnd.frogans.ltf":{source:"iana",extensions:["ltf"]},"application/vnd.fsc.weblaunch":{source:"iana",extensions:["fsc"]},"application/vnd.fujifilm.fb.docuworks":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.binder":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.container":{source:"iana"},"application/vnd.fujifilm.fb.jfi+xml":{source:"iana",compressible:true},"application/vnd.fujitsu.oasys":{source:"iana",extensions:["oas"]},"application/vnd.fujitsu.oasys2":{source:"iana",extensions:["oa2"]},"application/vnd.fujitsu.oasys3":{source:"iana",extensions:["oa3"]},"application/vnd.fujitsu.oasysgp":{source:"iana",extensions:["fg5"]},"application/vnd.fujitsu.oasysprs":{source:"iana",extensions:["bh2"]},"application/vnd.fujixerox.art-ex":{source:"iana"},"application/vnd.fujixerox.art4":{source:"iana"},"application/vnd.fujixerox.ddd":{source:"iana",extensions:["ddd"]},"application/vnd.fujixerox.docuworks":{source:"iana",extensions:["xdw"]},"application/vnd.fujixerox.docuworks.binder":{source:"iana",extensions:["xbd"]},"application/vnd.fujixerox.docuworks.container":{source:"iana"},"application/vnd.fujixerox.hbpl":{source:"iana"},"application/vnd.fut-misnet":{source:"iana"},"application/vnd.futoin+cbor":{source:"iana"},"application/vnd.futoin+json":{source:"iana",compressible:true},"application/vnd.fuzzysheet":{source:"iana",extensions:["fzs"]},"application/vnd.genomatix.tuxedo":{source:"iana",extensions:["txd"]},"application/vnd.gentics.grd+json":{source:"iana",compressible:true},"application/vnd.geo+json":{source:"iana",compressible:true},"application/vnd.geocube+xml":{source:"iana",compressible:true},"application/vnd.geogebra.file":{source:"iana",extensions:["ggb"]},"application/vnd.geogebra.slides":{source:"iana"},"application/vnd.geogebra.tool":{source:"iana",extensions:["ggt"]},"application/vnd.geometry-explorer":{source:"iana",extensions:["gex","gre"]},"application/vnd.geonext":{source:"iana",extensions:["gxt"]},"application/vnd.geoplan":{source:"iana",extensions:["g2w"]},"application/vnd.geospace":{source:"iana",extensions:["g3w"]},"application/vnd.gerber":{source:"iana"},"application/vnd.globalplatform.card-content-mgt":{source:"iana"},"application/vnd.globalplatform.card-content-mgt-response":{source:"iana"},"application/vnd.gmx":{source:"iana",extensions:["gmx"]},"application/vnd.google-apps.document":{compressible:false,extensions:["gdoc"]},"application/vnd.google-apps.presentation":{compressible:false,extensions:["gslides"]},"application/vnd.google-apps.spreadsheet":{compressible:false,extensions:["gsheet"]},"application/vnd.google-earth.kml+xml":{source:"iana",compressible:true,extensions:["kml"]},"application/vnd.google-earth.kmz":{source:"iana",compressible:false,extensions:["kmz"]},"application/vnd.gov.sk.e-form+xml":{source:"iana",compressible:true},"application/vnd.gov.sk.e-form+zip":{source:"iana",compressible:false},"application/vnd.gov.sk.xmldatacontainer+xml":{source:"iana",compressible:true},"application/vnd.grafeq":{source:"iana",extensions:["gqf","gqs"]},"application/vnd.gridmp":{source:"iana"},"application/vnd.groove-account":{source:"iana",extensions:["gac"]},"application/vnd.groove-help":{source:"iana",extensions:["ghf"]},"application/vnd.groove-identity-message":{source:"iana",extensions:["gim"]},"application/vnd.groove-injector":{source:"iana",extensions:["grv"]},"application/vnd.groove-tool-message":{source:"iana",extensions:["gtm"]},"application/vnd.groove-tool-template":{source:"iana",extensions:["tpl"]},"application/vnd.groove-vcard":{source:"iana",extensions:["vcg"]},"application/vnd.hal+json":{source:"iana",compressible:true},"application/vnd.hal+xml":{source:"iana",compressible:true,extensions:["hal"]},"application/vnd.handheld-entertainment+xml":{source:"iana",compressible:true,extensions:["zmm"]},"application/vnd.hbci":{source:"iana",extensions:["hbci"]},"application/vnd.hc+json":{source:"iana",compressible:true},"application/vnd.hcl-bireports":{source:"iana"},"application/vnd.hdt":{source:"iana"},"application/vnd.heroku+json":{source:"iana",compressible:true},"application/vnd.hhe.lesson-player":{source:"iana",extensions:["les"]},"application/vnd.hl7cda+xml":{source:"iana",charset:"UTF-8",compressible:true},"application/vnd.hl7v2+xml":{source:"iana",charset:"UTF-8",compressible:true},"application/vnd.hp-hpgl":{source:"iana",extensions:["hpgl"]},"application/vnd.hp-hpid":{source:"iana",extensions:["hpid"]},"application/vnd.hp-hps":{source:"iana",extensions:["hps"]},"application/vnd.hp-jlyt":{source:"iana",extensions:["jlt"]},"application/vnd.hp-pcl":{source:"iana",extensions:["pcl"]},"application/vnd.hp-pclxl":{source:"iana",extensions:["pclxl"]},"application/vnd.httphone":{source:"iana"},"application/vnd.hydrostatix.sof-data":{source:"iana",extensions:["sfd-hdstx"]},"application/vnd.hyper+json":{source:"iana",compressible:true},"application/vnd.hyper-item+json":{source:"iana",compressible:true},"application/vnd.hyperdrive+json":{source:"iana",compressible:true},"application/vnd.hzn-3d-crossword":{source:"iana"},"application/vnd.ibm.afplinedata":{source:"iana"},"application/vnd.ibm.electronic-media":{source:"iana"},"application/vnd.ibm.minipay":{source:"iana",extensions:["mpy"]},"application/vnd.ibm.modcap":{source:"iana",extensions:["afp","listafp","list3820"]},"application/vnd.ibm.rights-management":{source:"iana",extensions:["irm"]},"application/vnd.ibm.secure-container":{source:"iana",extensions:["sc"]},"application/vnd.iccprofile":{source:"iana",extensions:["icc","icm"]},"application/vnd.ieee.1905":{source:"iana"},"application/vnd.igloader":{source:"iana",extensions:["igl"]},"application/vnd.imagemeter.folder+zip":{source:"iana",compressible:false},"application/vnd.imagemeter.image+zip":{source:"iana",compressible:false},"application/vnd.immervision-ivp":{source:"iana",extensions:["ivp"]},"application/vnd.immervision-ivu":{source:"iana",extensions:["ivu"]},"application/vnd.ims.imsccv1p1":{source:"iana"},"application/vnd.ims.imsccv1p2":{source:"iana"},"application/vnd.ims.imsccv1p3":{source:"iana"},"application/vnd.ims.lis.v2.result+json":{source:"iana",compressible:true},"application/vnd.ims.lti.v2.toolconsumerprofile+json":{source:"iana",compressible:true},"application/vnd.ims.lti.v2.toolproxy+json":{source:"iana",compressible:true},"application/vnd.ims.lti.v2.toolproxy.id+json":{source:"iana",compressible:true},"application/vnd.ims.lti.v2.toolsettings+json":{source:"iana",compressible:true},"application/vnd.ims.lti.v2.toolsettings.simple+json":{source:"iana",compressible:true},"application/vnd.informedcontrol.rms+xml":{source:"iana",compressible:true},"application/vnd.informix-visionary":{source:"iana"},"application/vnd.infotech.project":{source:"iana"},"application/vnd.infotech.project+xml":{source:"iana",compressible:true},"application/vnd.innopath.wamp.notification":{source:"iana"},"application/vnd.insors.igm":{source:"iana",extensions:["igm"]},"application/vnd.intercon.formnet":{source:"iana",extensions:["xpw","xpx"]},"application/vnd.intergeo":{source:"iana",extensions:["i2g"]},"application/vnd.intertrust.digibox":{source:"iana"},"application/vnd.intertrust.nncp":{source:"iana"},"application/vnd.intu.qbo":{source:"iana",extensions:["qbo"]},"application/vnd.intu.qfx":{source:"iana",extensions:["qfx"]},"application/vnd.iptc.g2.catalogitem+xml":{source:"iana",compressible:true},"application/vnd.iptc.g2.conceptitem+xml":{source:"iana",compressible:true},"application/vnd.iptc.g2.knowledgeitem+xml":{source:"iana",compressible:true},"application/vnd.iptc.g2.newsitem+xml":{source:"iana",compressible:true},"application/vnd.iptc.g2.newsmessage+xml":{source:"iana",compressible:true},"application/vnd.iptc.g2.packageitem+xml":{source:"iana",compressible:true},"application/vnd.iptc.g2.planningitem+xml":{source:"iana",compressible:true},"application/vnd.ipunplugged.rcprofile":{source:"iana",extensions:["rcprofile"]},"application/vnd.irepository.package+xml":{source:"iana",compressible:true,extensions:["irp"]},"application/vnd.is-xpr":{source:"iana",extensions:["xpr"]},"application/vnd.isac.fcs":{source:"iana",extensions:["fcs"]},"application/vnd.iso11783-10+zip":{source:"iana",compressible:false},"application/vnd.jam":{source:"iana",extensions:["jam"]},"application/vnd.japannet-directory-service":{source:"iana"},"application/vnd.japannet-jpnstore-wakeup":{source:"iana"},"application/vnd.japannet-payment-wakeup":{source:"iana"},"application/vnd.japannet-registration":{source:"iana"},"application/vnd.japannet-registration-wakeup":{source:"iana"},"application/vnd.japannet-setstore-wakeup":{source:"iana"},"application/vnd.japannet-verification":{source:"iana"},"application/vnd.japannet-verification-wakeup":{source:"iana"},"application/vnd.jcp.javame.midlet-rms":{source:"iana",extensions:["rms"]},"application/vnd.jisp":{source:"iana",extensions:["jisp"]},"application/vnd.joost.joda-archive":{source:"iana",extensions:["joda"]},"application/vnd.jsk.isdn-ngn":{source:"iana"},"application/vnd.kahootz":{source:"iana",extensions:["ktz","ktr"]},"application/vnd.kde.karbon":{source:"iana",extensions:["karbon"]},"application/vnd.kde.kchart":{source:"iana",extensions:["chrt"]},"application/vnd.kde.kformula":{source:"iana",extensions:["kfo"]},"application/vnd.kde.kivio":{source:"iana",extensions:["flw"]},"application/vnd.kde.kontour":{source:"iana",extensions:["kon"]},"application/vnd.kde.kpresenter":{source:"iana",extensions:["kpr","kpt"]},"application/vnd.kde.kspread":{source:"iana",extensions:["ksp"]},"application/vnd.kde.kword":{source:"iana",extensions:["kwd","kwt"]},"application/vnd.kenameaapp":{source:"iana",extensions:["htke"]},"application/vnd.kidspiration":{source:"iana",extensions:["kia"]},"application/vnd.kinar":{source:"iana",extensions:["kne","knp"]},"application/vnd.koan":{source:"iana",extensions:["skp","skd","skt","skm"]},"application/vnd.kodak-descriptor":{source:"iana",extensions:["sse"]},"application/vnd.las":{source:"iana"},"application/vnd.las.las+json":{source:"iana",compressible:true},"application/vnd.las.las+xml":{source:"iana",compressible:true,extensions:["lasxml"]},"application/vnd.laszip":{source:"iana"},"application/vnd.leap+json":{source:"iana",compressible:true},"application/vnd.liberty-request+xml":{source:"iana",compressible:true},"application/vnd.llamagraphics.life-balance.desktop":{source:"iana",extensions:["lbd"]},"application/vnd.llamagraphics.life-balance.exchange+xml":{source:"iana",compressible:true,extensions:["lbe"]},"application/vnd.logipipe.circuit+zip":{source:"iana",compressible:false},"application/vnd.loom":{source:"iana"},"application/vnd.lotus-1-2-3":{source:"iana",extensions:["123"]},"application/vnd.lotus-approach":{source:"iana",extensions:["apr"]},"application/vnd.lotus-freelance":{source:"iana",extensions:["pre"]},"application/vnd.lotus-notes":{source:"iana",extensions:["nsf"]},"application/vnd.lotus-organizer":{source:"iana",extensions:["org"]},"application/vnd.lotus-screencam":{source:"iana",extensions:["scm"]},"application/vnd.lotus-wordpro":{source:"iana",extensions:["lwp"]},"application/vnd.macports.portpkg":{source:"iana",extensions:["portpkg"]},"application/vnd.mapbox-vector-tile":{source:"iana",extensions:["mvt"]},"application/vnd.marlin.drm.actiontoken+xml":{source:"iana",compressible:true},"application/vnd.marlin.drm.conftoken+xml":{source:"iana",compressible:true},"application/vnd.marlin.drm.license+xml":{source:"iana",compressible:true},"application/vnd.marlin.drm.mdcf":{source:"iana"},"application/vnd.mason+json":{source:"iana",compressible:true},"application/vnd.maxar.archive.3tz+zip":{source:"iana",compressible:false},"application/vnd.maxmind.maxmind-db":{source:"iana"},"application/vnd.mcd":{source:"iana",extensions:["mcd"]},"application/vnd.medcalcdata":{source:"iana",extensions:["mc1"]},"application/vnd.mediastation.cdkey":{source:"iana",extensions:["cdkey"]},"application/vnd.meridian-slingshot":{source:"iana"},"application/vnd.mfer":{source:"iana",extensions:["mwf"]},"application/vnd.mfmp":{source:"iana",extensions:["mfm"]},"application/vnd.micro+json":{source:"iana",compressible:true},"application/vnd.micrografx.flo":{source:"iana",extensions:["flo"]},"application/vnd.micrografx.igx":{source:"iana",extensions:["igx"]},"application/vnd.microsoft.portable-executable":{source:"iana"},"application/vnd.microsoft.windows.thumbnail-cache":{source:"iana"},"application/vnd.miele+json":{source:"iana",compressible:true},"application/vnd.mif":{source:"iana",extensions:["mif"]},"application/vnd.minisoft-hp3000-save":{source:"iana"},"application/vnd.mitsubishi.misty-guard.trustweb":{source:"iana"},"application/vnd.mobius.daf":{source:"iana",extensions:["daf"]},"application/vnd.mobius.dis":{source:"iana",extensions:["dis"]},"application/vnd.mobius.mbk":{source:"iana",extensions:["mbk"]},"application/vnd.mobius.mqy":{source:"iana",extensions:["mqy"]},"application/vnd.mobius.msl":{source:"iana",extensions:["msl"]},"application/vnd.mobius.plc":{source:"iana",extensions:["plc"]},"application/vnd.mobius.txf":{source:"iana",extensions:["txf"]},"application/vnd.mophun.application":{source:"iana",extensions:["mpn"]},"application/vnd.mophun.certificate":{source:"iana",extensions:["mpc"]},"application/vnd.motorola.flexsuite":{source:"iana"},"application/vnd.motorola.flexsuite.adsi":{source:"iana"},"application/vnd.motorola.flexsuite.fis":{source:"iana"},"application/vnd.motorola.flexsuite.gotap":{source:"iana"},"application/vnd.motorola.flexsuite.kmr":{source:"iana"},"application/vnd.motorola.flexsuite.ttc":{source:"iana"},"application/vnd.motorola.flexsuite.wem":{source:"iana"},"application/vnd.motorola.iprm":{source:"iana"},"application/vnd.mozilla.xul+xml":{source:"iana",compressible:true,extensions:["xul"]},"application/vnd.ms-3mfdocument":{source:"iana"},"application/vnd.ms-artgalry":{source:"iana",extensions:["cil"]},"application/vnd.ms-asf":{source:"iana"},"application/vnd.ms-cab-compressed":{source:"iana",extensions:["cab"]},"application/vnd.ms-color.iccprofile":{source:"apache"},"application/vnd.ms-excel":{source:"iana",compressible:false,extensions:["xls","xlm","xla","xlc","xlt","xlw"]},"application/vnd.ms-excel.addin.macroenabled.12":{source:"iana",extensions:["xlam"]},"application/vnd.ms-excel.sheet.binary.macroenabled.12":{source:"iana",extensions:["xlsb"]},"application/vnd.ms-excel.sheet.macroenabled.12":{source:"iana",extensions:["xlsm"]},"application/vnd.ms-excel.template.macroenabled.12":{source:"iana",extensions:["xltm"]},"application/vnd.ms-fontobject":{source:"iana",compressible:true,extensions:["eot"]},"application/vnd.ms-htmlhelp":{source:"iana",extensions:["chm"]},"application/vnd.ms-ims":{source:"iana",extensions:["ims"]},"application/vnd.ms-lrm":{source:"iana",extensions:["lrm"]},"application/vnd.ms-office.activex+xml":{source:"iana",compressible:true},"application/vnd.ms-officetheme":{source:"iana",extensions:["thmx"]},"application/vnd.ms-opentype":{source:"apache",compressible:true},"application/vnd.ms-outlook":{compressible:false,extensions:["msg"]},"application/vnd.ms-package.obfuscated-opentype":{source:"apache"},"application/vnd.ms-pki.seccat":{source:"apache",extensions:["cat"]},"application/vnd.ms-pki.stl":{source:"apache",extensions:["stl"]},"application/vnd.ms-playready.initiator+xml":{source:"iana",compressible:true},"application/vnd.ms-powerpoint":{source:"iana",compressible:false,extensions:["ppt","pps","pot"]},"application/vnd.ms-powerpoint.addin.macroenabled.12":{source:"iana",extensions:["ppam"]},"application/vnd.ms-powerpoint.presentation.macroenabled.12":{source:"iana",extensions:["pptm"]},"application/vnd.ms-powerpoint.slide.macroenabled.12":{source:"iana",extensions:["sldm"]},"application/vnd.ms-powerpoint.slideshow.macroenabled.12":{source:"iana",extensions:["ppsm"]},"application/vnd.ms-powerpoint.template.macroenabled.12":{source:"iana",extensions:["potm"]},"application/vnd.ms-printdevicecapabilities+xml":{source:"iana",compressible:true},"application/vnd.ms-printing.printticket+xml":{source:"apache",compressible:true},"application/vnd.ms-printschematicket+xml":{source:"iana",compressible:true},"application/vnd.ms-project":{source:"iana",extensions:["mpp","mpt"]},"application/vnd.ms-tnef":{source:"iana"},"application/vnd.ms-windows.devicepairing":{source:"iana"},"application/vnd.ms-windows.nwprinting.oob":{source:"iana"},"application/vnd.ms-windows.printerpairing":{source:"iana"},"application/vnd.ms-windows.wsd.oob":{source:"iana"},"application/vnd.ms-wmdrm.lic-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.lic-resp":{source:"iana"},"application/vnd.ms-wmdrm.meter-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.meter-resp":{source:"iana"},"application/vnd.ms-word.document.macroenabled.12":{source:"iana",extensions:["docm"]},"application/vnd.ms-word.template.macroenabled.12":{source:"iana",extensions:["dotm"]},"application/vnd.ms-works":{source:"iana",extensions:["wps","wks","wcm","wdb"]},"application/vnd.ms-wpl":{source:"iana",extensions:["wpl"]},"application/vnd.ms-xpsdocument":{source:"iana",compressible:false,extensions:["xps"]},"application/vnd.msa-disk-image":{source:"iana"},"application/vnd.mseq":{source:"iana",extensions:["mseq"]},"application/vnd.msign":{source:"iana"},"application/vnd.multiad.creator":{source:"iana"},"application/vnd.multiad.creator.cif":{source:"iana"},"application/vnd.music-niff":{source:"iana"},"application/vnd.musician":{source:"iana",extensions:["mus"]},"application/vnd.muvee.style":{source:"iana",extensions:["msty"]},"application/vnd.mynfc":{source:"iana",extensions:["taglet"]},"application/vnd.nacamar.ybrid+json":{source:"iana",compressible:true},"application/vnd.ncd.control":{source:"iana"},"application/vnd.ncd.reference":{source:"iana"},"application/vnd.nearst.inv+json":{source:"iana",compressible:true},"application/vnd.nebumind.line":{source:"iana"},"application/vnd.nervana":{source:"iana"},"application/vnd.netfpx":{source:"iana"},"application/vnd.neurolanguage.nlu":{source:"iana",extensions:["nlu"]},"application/vnd.nimn":{source:"iana"},"application/vnd.nintendo.nitro.rom":{source:"iana"},"application/vnd.nintendo.snes.rom":{source:"iana"},"application/vnd.nitf":{source:"iana",extensions:["ntf","nitf"]},"application/vnd.noblenet-directory":{source:"iana",extensions:["nnd"]},"application/vnd.noblenet-sealer":{source:"iana",extensions:["nns"]},"application/vnd.noblenet-web":{source:"iana",extensions:["nnw"]},"application/vnd.nokia.catalogs":{source:"iana"},"application/vnd.nokia.conml+wbxml":{source:"iana"},"application/vnd.nokia.conml+xml":{source:"iana",compressible:true},"application/vnd.nokia.iptv.config+xml":{source:"iana",compressible:true},"application/vnd.nokia.isds-radio-presets":{source:"iana"},"application/vnd.nokia.landmark+wbxml":{source:"iana"},"application/vnd.nokia.landmark+xml":{source:"iana",compressible:true},"application/vnd.nokia.landmarkcollection+xml":{source:"iana",compressible:true},"application/vnd.nokia.n-gage.ac+xml":{source:"iana",compressible:true,extensions:["ac"]},"application/vnd.nokia.n-gage.data":{source:"iana",extensions:["ngdat"]},"application/vnd.nokia.n-gage.symbian.install":{source:"iana",extensions:["n-gage"]},"application/vnd.nokia.ncd":{source:"iana"},"application/vnd.nokia.pcd+wbxml":{source:"iana"},"application/vnd.nokia.pcd+xml":{source:"iana",compressible:true},"application/vnd.nokia.radio-preset":{source:"iana",extensions:["rpst"]},"application/vnd.nokia.radio-presets":{source:"iana",extensions:["rpss"]},"application/vnd.novadigm.edm":{source:"iana",extensions:["edm"]},"application/vnd.novadigm.edx":{source:"iana",extensions:["edx"]},"application/vnd.novadigm.ext":{source:"iana",extensions:["ext"]},"application/vnd.ntt-local.content-share":{source:"iana"},"application/vnd.ntt-local.file-transfer":{source:"iana"},"application/vnd.ntt-local.ogw_remote-access":{source:"iana"},"application/vnd.ntt-local.sip-ta_remote":{source:"iana"},"application/vnd.ntt-local.sip-ta_tcp_stream":{source:"iana"},"application/vnd.oasis.opendocument.chart":{source:"iana",extensions:["odc"]},"application/vnd.oasis.opendocument.chart-template":{source:"iana",extensions:["otc"]},"application/vnd.oasis.opendocument.database":{source:"iana",extensions:["odb"]},"application/vnd.oasis.opendocument.formula":{source:"iana",extensions:["odf"]},"application/vnd.oasis.opendocument.formula-template":{source:"iana",extensions:["odft"]},"application/vnd.oasis.opendocument.graphics":{source:"iana",compressible:false,extensions:["odg"]},"application/vnd.oasis.opendocument.graphics-template":{source:"iana",extensions:["otg"]},"application/vnd.oasis.opendocument.image":{source:"iana",extensions:["odi"]},"application/vnd.oasis.opendocument.image-template":{source:"iana",extensions:["oti"]},"application/vnd.oasis.opendocument.presentation":{source:"iana",compressible:false,extensions:["odp"]},"application/vnd.oasis.opendocument.presentation-template":{source:"iana",extensions:["otp"]},"application/vnd.oasis.opendocument.spreadsheet":{source:"iana",compressible:false,extensions:["ods"]},"application/vnd.oasis.opendocument.spreadsheet-template":{source:"iana",extensions:["ots"]},"application/vnd.oasis.opendocument.text":{source:"iana",compressible:false,extensions:["odt"]},"application/vnd.oasis.opendocument.text-master":{source:"iana",extensions:["odm"]},"application/vnd.oasis.opendocument.text-template":{source:"iana",extensions:["ott"]},"application/vnd.oasis.opendocument.text-web":{source:"iana",extensions:["oth"]},"application/vnd.obn":{source:"iana"},"application/vnd.ocf+cbor":{source:"iana"},"application/vnd.oci.image.manifest.v1+json":{source:"iana",compressible:true},"application/vnd.oftn.l10n+json":{source:"iana",compressible:true},"application/vnd.oipf.contentaccessdownload+xml":{source:"iana",compressible:true},"application/vnd.oipf.contentaccessstreaming+xml":{source:"iana",compressible:true},"application/vnd.oipf.cspg-hexbinary":{source:"iana"},"application/vnd.oipf.dae.svg+xml":{source:"iana",compressible:true},"application/vnd.oipf.dae.xhtml+xml":{source:"iana",compressible:true},"application/vnd.oipf.mippvcontrolmessage+xml":{source:"iana",compressible:true},"application/vnd.oipf.pae.gem":{source:"iana"},"application/vnd.oipf.spdiscovery+xml":{source:"iana",compressible:true},"application/vnd.oipf.spdlist+xml":{source:"iana",compressible:true},"application/vnd.oipf.ueprofile+xml":{source:"iana",compressible:true},"application/vnd.oipf.userprofile+xml":{source:"iana",compressible:true},"application/vnd.olpc-sugar":{source:"iana",extensions:["xo"]},"application/vnd.oma-scws-config":{source:"iana"},"application/vnd.oma-scws-http-request":{source:"iana"},"application/vnd.oma-scws-http-response":{source:"iana"},"application/vnd.oma.bcast.associated-procedure-parameter+xml":{source:"iana",compressible:true},"application/vnd.oma.bcast.drm-trigger+xml":{source:"iana",compressible:true},"application/vnd.oma.bcast.imd+xml":{source:"iana",compressible:true},"application/vnd.oma.bcast.ltkm":{source:"iana"},"application/vnd.oma.bcast.notification+xml":{source:"iana",compressible:true},"application/vnd.oma.bcast.provisioningtrigger":{source:"iana"},"application/vnd.oma.bcast.sgboot":{source:"iana"},"application/vnd.oma.bcast.sgdd+xml":{source:"iana",compressible:true},"application/vnd.oma.bcast.sgdu":{source:"iana"},"application/vnd.oma.bcast.simple-symbol-container":{source:"iana"},"application/vnd.oma.bcast.smartcard-trigger+xml":{source:"iana",compressible:true},"application/vnd.oma.bcast.sprov+xml":{source:"iana",compressible:true},"application/vnd.oma.bcast.stkm":{source:"iana"},"application/vnd.oma.cab-address-book+xml":{source:"iana",compressible:true},"application/vnd.oma.cab-feature-handler+xml":{source:"iana",compressible:true},"application/vnd.oma.cab-pcc+xml":{source:"iana",compressible:true},"application/vnd.oma.cab-subs-invite+xml":{source:"iana",compressible:true},"application/vnd.oma.cab-user-prefs+xml":{source:"iana",compressible:true},"application/vnd.oma.dcd":{source:"iana"},"application/vnd.oma.dcdc":{source:"iana"},"application/vnd.oma.dd2+xml":{source:"iana",compressible:true,extensions:["dd2"]},"application/vnd.oma.drm.risd+xml":{source:"iana",compressible:true},"application/vnd.oma.group-usage-list+xml":{source:"iana",compressible:true},"application/vnd.oma.lwm2m+cbor":{source:"iana"},"application/vnd.oma.lwm2m+json":{source:"iana",compressible:true},"application/vnd.oma.lwm2m+tlv":{source:"iana"},"application/vnd.oma.pal+xml":{source:"iana",compressible:true},"application/vnd.oma.poc.detailed-progress-report+xml":{source:"iana",compressible:true},"application/vnd.oma.poc.final-report+xml":{source:"iana",compressible:true},"application/vnd.oma.poc.groups+xml":{source:"iana",compressible:true},"application/vnd.oma.poc.invocation-descriptor+xml":{source:"iana",compressible:true},"application/vnd.oma.poc.optimized-progress-report+xml":{source:"iana",compressible:true},"application/vnd.oma.push":{source:"iana"},"application/vnd.oma.scidm.messages+xml":{source:"iana",compressible:true},"application/vnd.oma.xcap-directory+xml":{source:"iana",compressible:true},"application/vnd.omads-email+xml":{source:"iana",charset:"UTF-8",compressible:true},"application/vnd.omads-file+xml":{source:"iana",charset:"UTF-8",compressible:true},"application/vnd.omads-folder+xml":{source:"iana",charset:"UTF-8",compressible:true},"application/vnd.omaloc-supl-init":{source:"iana"},"application/vnd.onepager":{source:"iana"},"application/vnd.onepagertamp":{source:"iana"},"application/vnd.onepagertamx":{source:"iana"},"application/vnd.onepagertat":{source:"iana"},"application/vnd.onepagertatp":{source:"iana"},"application/vnd.onepagertatx":{source:"iana"},"application/vnd.openblox.game+xml":{source:"iana",compressible:true,extensions:["obgx"]},"application/vnd.openblox.game-binary":{source:"iana"},"application/vnd.openeye.oeb":{source:"iana"},"application/vnd.openofficeorg.extension":{source:"apache",extensions:["oxt"]},"application/vnd.openstreetmap.data+xml":{source:"iana",compressible:true,extensions:["osm"]},"application/vnd.opentimestamps.ots":{source:"iana"},"application/vnd.openxmlformats-officedocument.custom-properties+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.customxmlproperties+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.drawing+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.drawingml.chart+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.extended-properties+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{source:"iana",compressible:false,extensions:["pptx"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.presentationml.slide":{source:"iana",extensions:["sldx"]},"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.presentationml.slideshow":{source:"iana",extensions:["ppsx"]},"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.presentationml.tags+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.presentationml.template":{source:"iana",extensions:["potx"]},"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{source:"iana",compressible:false,extensions:["xlsx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.spreadsheetml.template":{source:"iana",extensions:["xltx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.theme+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.themeoverride+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.vmldrawing":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{source:"iana",compressible:false,extensions:["docx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.wordprocessingml.template":{source:"iana",extensions:["dotx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-package.core-properties+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":{source:"iana",compressible:true},"application/vnd.openxmlformats-package.relationships+xml":{source:"iana",compressible:true},"application/vnd.oracle.resource+json":{source:"iana",compressible:true},"application/vnd.orange.indata":{source:"iana"},"application/vnd.osa.netdeploy":{source:"iana"},"application/vnd.osgeo.mapguide.package":{source:"iana",extensions:["mgp"]},"application/vnd.osgi.bundle":{source:"iana"},"application/vnd.osgi.dp":{source:"iana",extensions:["dp"]},"application/vnd.osgi.subsystem":{source:"iana",extensions:["esa"]},"application/vnd.otps.ct-kip+xml":{source:"iana",compressible:true},"application/vnd.oxli.countgraph":{source:"iana"},"application/vnd.pagerduty+json":{source:"iana",compressible:true},"application/vnd.palm":{source:"iana",extensions:["pdb","pqa","oprc"]},"application/vnd.panoply":{source:"iana"},"application/vnd.paos.xml":{source:"iana"},"application/vnd.patentdive":{source:"iana"},"application/vnd.patientecommsdoc":{source:"iana"},"application/vnd.pawaafile":{source:"iana",extensions:["paw"]},"application/vnd.pcos":{source:"iana"},"application/vnd.pg.format":{source:"iana",extensions:["str"]},"application/vnd.pg.osasli":{source:"iana",extensions:["ei6"]},"application/vnd.piaccess.application-licence":{source:"iana"},"application/vnd.picsel":{source:"iana",extensions:["efif"]},"application/vnd.pmi.widget":{source:"iana",extensions:["wg"]},"application/vnd.poc.group-advertisement+xml":{source:"iana",compressible:true},"application/vnd.pocketlearn":{source:"iana",extensions:["plf"]},"application/vnd.powerbuilder6":{source:"iana",extensions:["pbd"]},"application/vnd.powerbuilder6-s":{source:"iana"},"application/vnd.powerbuilder7":{source:"iana"},"application/vnd.powerbuilder7-s":{source:"iana"},"application/vnd.powerbuilder75":{source:"iana"},"application/vnd.powerbuilder75-s":{source:"iana"},"application/vnd.preminet":{source:"iana"},"application/vnd.previewsystems.box":{source:"iana",extensions:["box"]},"application/vnd.proteus.magazine":{source:"iana",extensions:["mgz"]},"application/vnd.psfs":{source:"iana"},"application/vnd.publishare-delta-tree":{source:"iana",extensions:["qps"]},"application/vnd.pvi.ptid1":{source:"iana",extensions:["ptid"]},"application/vnd.pwg-multiplexed":{source:"iana"},"application/vnd.pwg-xhtml-print+xml":{source:"iana",compressible:true},"application/vnd.qualcomm.brew-app-res":{source:"iana"},"application/vnd.quarantainenet":{source:"iana"},"application/vnd.quark.quarkxpress":{source:"iana",extensions:["qxd","qxt","qwd","qwt","qxl","qxb"]},"application/vnd.quobject-quoxdocument":{source:"iana"},"application/vnd.radisys.moml+xml":{source:"iana",compressible:true},"application/vnd.radisys.msml+xml":{source:"iana",compressible:true},"application/vnd.radisys.msml-audit+xml":{source:"iana",compressible:true},"application/vnd.radisys.msml-audit-conf+xml":{source:"iana",compressible:true},"application/vnd.radisys.msml-audit-conn+xml":{source:"iana",compressible:true},"application/vnd.radisys.msml-audit-dialog+xml":{source:"iana",compressible:true},"application/vnd.radisys.msml-audit-stream+xml":{source:"iana",compressible:true},"application/vnd.radisys.msml-conf+xml":{source:"iana",compressible:true},"application/vnd.radisys.msml-dialog+xml":{source:"iana",compressible:true},"application/vnd.radisys.msml-dialog-base+xml":{source:"iana",compressible:true},"application/vnd.radisys.msml-dialog-fax-detect+xml":{source:"iana",compressible:true},"application/vnd.radisys.msml-dialog-fax-sendrecv+xml":{source:"iana",compressible:true},"application/vnd.radisys.msml-dialog-group+xml":{source:"iana",compressible:true},"application/vnd.radisys.msml-dialog-speech+xml":{source:"iana",compressible:true},"application/vnd.radisys.msml-dialog-transform+xml":{source:"iana",compressible:true},"application/vnd.rainstor.data":{source:"iana"},"application/vnd.rapid":{source:"iana"},"application/vnd.rar":{source:"iana",extensions:["rar"]},"application/vnd.realvnc.bed":{source:"iana",extensions:["bed"]},"application/vnd.recordare.musicxml":{source:"iana",extensions:["mxl"]},"application/vnd.recordare.musicxml+xml":{source:"iana",compressible:true,extensions:["musicxml"]},"application/vnd.renlearn.rlprint":{source:"iana"},"application/vnd.resilient.logic":{source:"iana"},"application/vnd.restful+json":{source:"iana",compressible:true},"application/vnd.rig.cryptonote":{source:"iana",extensions:["cryptonote"]},"application/vnd.rim.cod":{source:"apache",extensions:["cod"]},"application/vnd.rn-realmedia":{source:"apache",extensions:["rm"]},"application/vnd.rn-realmedia-vbr":{source:"apache",extensions:["rmvb"]},"application/vnd.route66.link66+xml":{source:"iana",compressible:true,extensions:["link66"]},"application/vnd.rs-274x":{source:"iana"},"application/vnd.ruckus.download":{source:"iana"},"application/vnd.s3sms":{source:"iana"},"application/vnd.sailingtracker.track":{source:"iana",extensions:["st"]},"application/vnd.sar":{source:"iana"},"application/vnd.sbm.cid":{source:"iana"},"application/vnd.sbm.mid2":{source:"iana"},"application/vnd.scribus":{source:"iana"},"application/vnd.sealed.3df":{source:"iana"},"application/vnd.sealed.csf":{source:"iana"},"application/vnd.sealed.doc":{source:"iana"},"application/vnd.sealed.eml":{source:"iana"},"application/vnd.sealed.mht":{source:"iana"},"application/vnd.sealed.net":{source:"iana"},"application/vnd.sealed.ppt":{source:"iana"},"application/vnd.sealed.tiff":{source:"iana"},"application/vnd.sealed.xls":{source:"iana"},"application/vnd.sealedmedia.softseal.html":{source:"iana"},"application/vnd.sealedmedia.softseal.pdf":{source:"iana"},"application/vnd.seemail":{source:"iana",extensions:["see"]},"application/vnd.seis+json":{source:"iana",compressible:true},"application/vnd.sema":{source:"iana",extensions:["sema"]},"application/vnd.semd":{source:"iana",extensions:["semd"]},"application/vnd.semf":{source:"iana",extensions:["semf"]},"application/vnd.shade-save-file":{source:"iana"},"application/vnd.shana.informed.formdata":{source:"iana",extensions:["ifm"]},"application/vnd.shana.informed.formtemplate":{source:"iana",extensions:["itp"]},"application/vnd.shana.informed.interchange":{source:"iana",extensions:["iif"]},"application/vnd.shana.informed.package":{source:"iana",extensions:["ipk"]},"application/vnd.shootproof+json":{source:"iana",compressible:true},"application/vnd.shopkick+json":{source:"iana",compressible:true},"application/vnd.shp":{source:"iana"},"application/vnd.shx":{source:"iana"},"application/vnd.sigrok.session":{source:"iana"},"application/vnd.simtech-mindmapper":{source:"iana",extensions:["twd","twds"]},"application/vnd.siren+json":{source:"iana",compressible:true},"application/vnd.smaf":{source:"iana",extensions:["mmf"]},"application/vnd.smart.notebook":{source:"iana"},"application/vnd.smart.teacher":{source:"iana",extensions:["teacher"]},"application/vnd.snesdev-page-table":{source:"iana"},"application/vnd.software602.filler.form+xml":{source:"iana",compressible:true,extensions:["fo"]},"application/vnd.software602.filler.form-xml-zip":{source:"iana"},"application/vnd.solent.sdkm+xml":{source:"iana",compressible:true,extensions:["sdkm","sdkd"]},"application/vnd.spotfire.dxp":{source:"iana",extensions:["dxp"]},"application/vnd.spotfire.sfs":{source:"iana",extensions:["sfs"]},"application/vnd.sqlite3":{source:"iana"},"application/vnd.sss-cod":{source:"iana"},"application/vnd.sss-dtf":{source:"iana"},"application/vnd.sss-ntf":{source:"iana"},"application/vnd.stardivision.calc":{source:"apache",extensions:["sdc"]},"application/vnd.stardivision.draw":{source:"apache",extensions:["sda"]},"application/vnd.stardivision.impress":{source:"apache",extensions:["sdd"]},"application/vnd.stardivision.math":{source:"apache",extensions:["smf"]},"application/vnd.stardivision.writer":{source:"apache",extensions:["sdw","vor"]},"application/vnd.stardivision.writer-global":{source:"apache",extensions:["sgl"]},"application/vnd.stepmania.package":{source:"iana",extensions:["smzip"]},"application/vnd.stepmania.stepchart":{source:"iana",extensions:["sm"]},"application/vnd.street-stream":{source:"iana"},"application/vnd.sun.wadl+xml":{source:"iana",compressible:true,extensions:["wadl"]},"application/vnd.sun.xml.calc":{source:"apache",extensions:["sxc"]},"application/vnd.sun.xml.calc.template":{source:"apache",extensions:["stc"]},"application/vnd.sun.xml.draw":{source:"apache",extensions:["sxd"]},"application/vnd.sun.xml.draw.template":{source:"apache",extensions:["std"]},"application/vnd.sun.xml.impress":{source:"apache",extensions:["sxi"]},"application/vnd.sun.xml.impress.template":{source:"apache",extensions:["sti"]},"application/vnd.sun.xml.math":{source:"apache",extensions:["sxm"]},"application/vnd.sun.xml.writer":{source:"apache",extensions:["sxw"]},"application/vnd.sun.xml.writer.global":{source:"apache",extensions:["sxg"]},"application/vnd.sun.xml.writer.template":{source:"apache",extensions:["stw"]},"application/vnd.sus-calendar":{source:"iana",extensions:["sus","susp"]},"application/vnd.svd":{source:"iana",extensions:["svd"]},"application/vnd.swiftview-ics":{source:"iana"},"application/vnd.sycle+xml":{source:"iana",compressible:true},"application/vnd.syft+json":{source:"iana",compressible:true},"application/vnd.symbian.install":{source:"apache",extensions:["sis","sisx"]},"application/vnd.syncml+xml":{source:"iana",charset:"UTF-8",compressible:true,extensions:["xsm"]},"application/vnd.syncml.dm+wbxml":{source:"iana",charset:"UTF-8",extensions:["bdm"]},"application/vnd.syncml.dm+xml":{source:"iana",charset:"UTF-8",compressible:true,extensions:["xdm"]},"application/vnd.syncml.dm.notification":{source:"iana"},"application/vnd.syncml.dmddf+wbxml":{source:"iana"},"application/vnd.syncml.dmddf+xml":{source:"iana",charset:"UTF-8",compressible:true,extensions:["ddf"]},"application/vnd.syncml.dmtnds+wbxml":{source:"iana"},"application/vnd.syncml.dmtnds+xml":{source:"iana",charset:"UTF-8",compressible:true},"application/vnd.syncml.ds.notification":{source:"iana"},"application/vnd.tableschema+json":{source:"iana",compressible:true},"application/vnd.tao.intent-module-archive":{source:"iana",extensions:["tao"]},"application/vnd.tcpdump.pcap":{source:"iana",extensions:["pcap","cap","dmp"]},"application/vnd.think-cell.ppttc+json":{source:"iana",compressible:true},"application/vnd.tmd.mediaflex.api+xml":{source:"iana",compressible:true},"application/vnd.tml":{source:"iana"},"application/vnd.tmobile-livetv":{source:"iana",extensions:["tmo"]},"application/vnd.tri.onesource":{source:"iana"},"application/vnd.trid.tpt":{source:"iana",extensions:["tpt"]},"application/vnd.triscape.mxs":{source:"iana",extensions:["mxs"]},"application/vnd.trueapp":{source:"iana",extensions:["tra"]},"application/vnd.truedoc":{source:"iana"},"application/vnd.ubisoft.webplayer":{source:"iana"},"application/vnd.ufdl":{source:"iana",extensions:["ufd","ufdl"]},"application/vnd.uiq.theme":{source:"iana",extensions:["utz"]},"application/vnd.umajin":{source:"iana",extensions:["umj"]},"application/vnd.unity":{source:"iana",extensions:["unityweb"]},"application/vnd.uoml+xml":{source:"iana",compressible:true,extensions:["uoml"]},"application/vnd.uplanet.alert":{source:"iana"},"application/vnd.uplanet.alert-wbxml":{source:"iana"},"application/vnd.uplanet.bearer-choice":{source:"iana"},"application/vnd.uplanet.bearer-choice-wbxml":{source:"iana"},"application/vnd.uplanet.cacheop":{source:"iana"},"application/vnd.uplanet.cacheop-wbxml":{source:"iana"},"application/vnd.uplanet.channel":{source:"iana"},"application/vnd.uplanet.channel-wbxml":{source:"iana"},"application/vnd.uplanet.list":{source:"iana"},"application/vnd.uplanet.list-wbxml":{source:"iana"},"application/vnd.uplanet.listcmd":{source:"iana"},"application/vnd.uplanet.listcmd-wbxml":{source:"iana"},"application/vnd.uplanet.signal":{source:"iana"},"application/vnd.uri-map":{source:"iana"},"application/vnd.valve.source.material":{source:"iana"},"application/vnd.vcx":{source:"iana",extensions:["vcx"]},"application/vnd.vd-study":{source:"iana"},"application/vnd.vectorworks":{source:"iana"},"application/vnd.vel+json":{source:"iana",compressible:true},"application/vnd.verimatrix.vcas":{source:"iana"},"application/vnd.veritone.aion+json":{source:"iana",compressible:true},"application/vnd.veryant.thin":{source:"iana"},"application/vnd.ves.encrypted":{source:"iana"},"application/vnd.vidsoft.vidconference":{source:"iana"},"application/vnd.visio":{source:"iana",extensions:["vsd","vst","vss","vsw"]},"application/vnd.visionary":{source:"iana",extensions:["vis"]},"application/vnd.vividence.scriptfile":{source:"iana"},"application/vnd.vsf":{source:"iana",extensions:["vsf"]},"application/vnd.wap.sic":{source:"iana"},"application/vnd.wap.slc":{source:"iana"},"application/vnd.wap.wbxml":{source:"iana",charset:"UTF-8",extensions:["wbxml"]},"application/vnd.wap.wmlc":{source:"iana",extensions:["wmlc"]},"application/vnd.wap.wmlscriptc":{source:"iana",extensions:["wmlsc"]},"application/vnd.webturbo":{source:"iana",extensions:["wtb"]},"application/vnd.wfa.dpp":{source:"iana"},"application/vnd.wfa.p2p":{source:"iana"},"application/vnd.wfa.wsc":{source:"iana"},"application/vnd.windows.devicepairing":{source:"iana"},"application/vnd.wmc":{source:"iana"},"application/vnd.wmf.bootstrap":{source:"iana"},"application/vnd.wolfram.mathematica":{source:"iana"},"application/vnd.wolfram.mathematica.package":{source:"iana"},"application/vnd.wolfram.player":{source:"iana",extensions:["nbp"]},"application/vnd.wordperfect":{source:"iana",extensions:["wpd"]},"application/vnd.wqd":{source:"iana",extensions:["wqd"]},"application/vnd.wrq-hp3000-labelled":{source:"iana"},"application/vnd.wt.stf":{source:"iana",extensions:["stf"]},"application/vnd.wv.csp+wbxml":{source:"iana"},"application/vnd.wv.csp+xml":{source:"iana",compressible:true},"application/vnd.wv.ssp+xml":{source:"iana",compressible:true},"application/vnd.xacml+json":{source:"iana",compressible:true},"application/vnd.xara":{source:"iana",extensions:["xar"]},"application/vnd.xfdl":{source:"iana",extensions:["xfdl"]},"application/vnd.xfdl.webform":{source:"iana"},"application/vnd.xmi+xml":{source:"iana",compressible:true},"application/vnd.xmpie.cpkg":{source:"iana"},"application/vnd.xmpie.dpkg":{source:"iana"},"application/vnd.xmpie.plan":{source:"iana"},"application/vnd.xmpie.ppkg":{source:"iana"},"application/vnd.xmpie.xlim":{source:"iana"},"application/vnd.yamaha.hv-dic":{source:"iana",extensions:["hvd"]},"application/vnd.yamaha.hv-script":{source:"iana",extensions:["hvs"]},"application/vnd.yamaha.hv-voice":{source:"iana",extensions:["hvp"]},"application/vnd.yamaha.openscoreformat":{source:"iana",extensions:["osf"]},"application/vnd.yamaha.openscoreformat.osfpvg+xml":{source:"iana",compressible:true,extensions:["osfpvg"]},"application/vnd.yamaha.remote-setup":{source:"iana"},"application/vnd.yamaha.smaf-audio":{source:"iana",extensions:["saf"]},"application/vnd.yamaha.smaf-phrase":{source:"iana",extensions:["spf"]},"application/vnd.yamaha.through-ngn":{source:"iana"},"application/vnd.yamaha.tunnel-udpencap":{source:"iana"},"application/vnd.yaoweme":{source:"iana"},"application/vnd.yellowriver-custom-menu":{source:"iana",extensions:["cmp"]},"application/vnd.youtube.yt":{source:"iana"},"application/vnd.zul":{source:"iana",extensions:["zir","zirz"]},"application/vnd.zzazz.deck+xml":{source:"iana",compressible:true,extensions:["zaz"]},"application/voicexml+xml":{source:"iana",compressible:true,extensions:["vxml"]},"application/voucher-cms+json":{source:"iana",compressible:true},"application/vq-rtcpxr":{source:"iana"},"application/wasm":{source:"iana",compressible:true,extensions:["wasm"]},"application/watcherinfo+xml":{source:"iana",compressible:true,extensions:["wif"]},"application/webpush-options+json":{source:"iana",compressible:true},"application/whoispp-query":{source:"iana"},"application/whoispp-response":{source:"iana"},"application/widget":{source:"iana",extensions:["wgt"]},"application/winhlp":{source:"apache",extensions:["hlp"]},"application/wita":{source:"iana"},"application/wordperfect5.1":{source:"iana"},"application/wsdl+xml":{source:"iana",compressible:true,extensions:["wsdl"]},"application/wspolicy+xml":{source:"iana",compressible:true,extensions:["wspolicy"]},"application/x-7z-compressed":{source:"apache",compressible:false,extensions:["7z"]},"application/x-abiword":{source:"apache",extensions:["abw"]},"application/x-ace-compressed":{source:"apache",extensions:["ace"]},"application/x-amf":{source:"apache"},"application/x-apple-diskimage":{source:"apache",extensions:["dmg"]},"application/x-arj":{compressible:false,extensions:["arj"]},"application/x-authorware-bin":{source:"apache",extensions:["aab","x32","u32","vox"]},"application/x-authorware-map":{source:"apache",extensions:["aam"]},"application/x-authorware-seg":{source:"apache",extensions:["aas"]},"application/x-bcpio":{source:"apache",extensions:["bcpio"]},"application/x-bdoc":{compressible:false,extensions:["bdoc"]},"application/x-bittorrent":{source:"apache",extensions:["torrent"]},"application/x-blorb":{source:"apache",extensions:["blb","blorb"]},"application/x-bzip":{source:"apache",compressible:false,extensions:["bz"]},"application/x-bzip2":{source:"apache",compressible:false,extensions:["bz2","boz"]},"application/x-cbr":{source:"apache",extensions:["cbr","cba","cbt","cbz","cb7"]},"application/x-cdlink":{source:"apache",extensions:["vcd"]},"application/x-cfs-compressed":{source:"apache",extensions:["cfs"]},"application/x-chat":{source:"apache",extensions:["chat"]},"application/x-chess-pgn":{source:"apache",extensions:["pgn"]},"application/x-chrome-extension":{extensions:["crx"]},"application/x-cocoa":{source:"nginx",extensions:["cco"]},"application/x-compress":{source:"apache"},"application/x-conference":{source:"apache",extensions:["nsc"]},"application/x-cpio":{source:"apache",extensions:["cpio"]},"application/x-csh":{source:"apache",extensions:["csh"]},"application/x-deb":{compressible:false},"application/x-debian-package":{source:"apache",extensions:["deb","udeb"]},"application/x-dgc-compressed":{source:"apache",extensions:["dgc"]},"application/x-director":{source:"apache",extensions:["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"]},"application/x-doom":{source:"apache",extensions:["wad"]},"application/x-dtbncx+xml":{source:"apache",compressible:true,extensions:["ncx"]},"application/x-dtbook+xml":{source:"apache",compressible:true,extensions:["dtb"]},"application/x-dtbresource+xml":{source:"apache",compressible:true,extensions:["res"]},"application/x-dvi":{source:"apache",compressible:false,extensions:["dvi"]},"application/x-envoy":{source:"apache",extensions:["evy"]},"application/x-eva":{source:"apache",extensions:["eva"]},"application/x-font-bdf":{source:"apache",extensions:["bdf"]},"application/x-font-dos":{source:"apache"},"application/x-font-framemaker":{source:"apache"},"application/x-font-ghostscript":{source:"apache",extensions:["gsf"]},"application/x-font-libgrx":{source:"apache"},"application/x-font-linux-psf":{source:"apache",extensions:["psf"]},"application/x-font-pcf":{source:"apache",extensions:["pcf"]},"application/x-font-snf":{source:"apache",extensions:["snf"]},"application/x-font-speedo":{source:"apache"},"application/x-font-sunos-news":{source:"apache"},"application/x-font-type1":{source:"apache",extensions:["pfa","pfb","pfm","afm"]},"application/x-font-vfont":{source:"apache"},"application/x-freearc":{source:"apache",extensions:["arc"]},"application/x-futuresplash":{source:"apache",extensions:["spl"]},"application/x-gca-compressed":{source:"apache",extensions:["gca"]},"application/x-glulx":{source:"apache",extensions:["ulx"]},"application/x-gnumeric":{source:"apache",extensions:["gnumeric"]},"application/x-gramps-xml":{source:"apache",extensions:["gramps"]},"application/x-gtar":{source:"apache",extensions:["gtar"]},"application/x-gzip":{source:"apache"},"application/x-hdf":{source:"apache",extensions:["hdf"]},"application/x-httpd-php":{compressible:true,extensions:["php"]},"application/x-install-instructions":{source:"apache",extensions:["install"]},"application/x-iso9660-image":{source:"apache",extensions:["iso"]},"application/x-iwork-keynote-sffkey":{extensions:["key"]},"application/x-iwork-numbers-sffnumbers":{extensions:["numbers"]},"application/x-iwork-pages-sffpages":{extensions:["pages"]},"application/x-java-archive-diff":{source:"nginx",extensions:["jardiff"]},"application/x-java-jnlp-file":{source:"apache",compressible:false,extensions:["jnlp"]},"application/x-javascript":{compressible:true},"application/x-keepass2":{extensions:["kdbx"]},"application/x-latex":{source:"apache",compressible:false,extensions:["latex"]},"application/x-lua-bytecode":{extensions:["luac"]},"application/x-lzh-compressed":{source:"apache",extensions:["lzh","lha"]},"application/x-makeself":{source:"nginx",extensions:["run"]},"application/x-mie":{source:"apache",extensions:["mie"]},"application/x-mobipocket-ebook":{source:"apache",extensions:["prc","mobi"]},"application/x-mpegurl":{compressible:false},"application/x-ms-application":{source:"apache",extensions:["application"]},"application/x-ms-shortcut":{source:"apache",extensions:["lnk"]},"application/x-ms-wmd":{source:"apache",extensions:["wmd"]},"application/x-ms-wmz":{source:"apache",extensions:["wmz"]},"application/x-ms-xbap":{source:"apache",extensions:["xbap"]},"application/x-msaccess":{source:"apache",extensions:["mdb"]},"application/x-msbinder":{source:"apache",extensions:["obd"]},"application/x-mscardfile":{source:"apache",extensions:["crd"]},"application/x-msclip":{source:"apache",extensions:["clp"]},"application/x-msdos-program":{extensions:["exe"]},"application/x-msdownload":{source:"apache",extensions:["exe","dll","com","bat","msi"]},"application/x-msmediaview":{source:"apache",extensions:["mvb","m13","m14"]},"application/x-msmetafile":{source:"apache",extensions:["wmf","wmz","emf","emz"]},"application/x-msmoney":{source:"apache",extensions:["mny"]},"application/x-mspublisher":{source:"apache",extensions:["pub"]},"application/x-msschedule":{source:"apache",extensions:["scd"]},"application/x-msterminal":{source:"apache",extensions:["trm"]},"application/x-mswrite":{source:"apache",extensions:["wri"]},"application/x-netcdf":{source:"apache",extensions:["nc","cdf"]},"application/x-ns-proxy-autoconfig":{compressible:true,extensions:["pac"]},"application/x-nzb":{source:"apache",extensions:["nzb"]},"application/x-perl":{source:"nginx",extensions:["pl","pm"]},"application/x-pilot":{source:"nginx",extensions:["prc","pdb"]},"application/x-pkcs12":{source:"apache",compressible:false,extensions:["p12","pfx"]},"application/x-pkcs7-certificates":{source:"apache",extensions:["p7b","spc"]},"application/x-pkcs7-certreqresp":{source:"apache",extensions:["p7r"]},"application/x-pki-message":{source:"iana"},"application/x-rar-compressed":{source:"apache",compressible:false,extensions:["rar"]},"application/x-redhat-package-manager":{source:"nginx",extensions:["rpm"]},"application/x-research-info-systems":{source:"apache",extensions:["ris"]},"application/x-sea":{source:"nginx",extensions:["sea"]},"application/x-sh":{source:"apache",compressible:true,extensions:["sh"]},"application/x-shar":{source:"apache",extensions:["shar"]},"application/x-shockwave-flash":{source:"apache",compressible:false,extensions:["swf"]},"application/x-silverlight-app":{source:"apache",extensions:["xap"]},"application/x-sql":{source:"apache",extensions:["sql"]},"application/x-stuffit":{source:"apache",compressible:false,extensions:["sit"]},"application/x-stuffitx":{source:"apache",extensions:["sitx"]},"application/x-subrip":{source:"apache",extensions:["srt"]},"application/x-sv4cpio":{source:"apache",extensions:["sv4cpio"]},"application/x-sv4crc":{source:"apache",extensions:["sv4crc"]},"application/x-t3vm-image":{source:"apache",extensions:["t3"]},"application/x-tads":{source:"apache",extensions:["gam"]},"application/x-tar":{source:"apache",compressible:true,extensions:["tar"]},"application/x-tcl":{source:"apache",extensions:["tcl","tk"]},"application/x-tex":{source:"apache",extensions:["tex"]},"application/x-tex-tfm":{source:"apache",extensions:["tfm"]},"application/x-texinfo":{source:"apache",extensions:["texinfo","texi"]},"application/x-tgif":{source:"apache",extensions:["obj"]},"application/x-ustar":{source:"apache",extensions:["ustar"]},"application/x-virtualbox-hdd":{compressible:true,extensions:["hdd"]},"application/x-virtualbox-ova":{compressible:true,extensions:["ova"]},"application/x-virtualbox-ovf":{compressible:true,extensions:["ovf"]},"application/x-virtualbox-vbox":{compressible:true,extensions:["vbox"]},"application/x-virtualbox-vbox-extpack":{compressible:false,extensions:["vbox-extpack"]},"application/x-virtualbox-vdi":{compressible:true,extensions:["vdi"]},"application/x-virtualbox-vhd":{compressible:true,extensions:["vhd"]},"application/x-virtualbox-vmdk":{compressible:true,extensions:["vmdk"]},"application/x-wais-source":{source:"apache",extensions:["src"]},"application/x-web-app-manifest+json":{compressible:true,extensions:["webapp"]},"application/x-www-form-urlencoded":{source:"iana",compressible:true},"application/x-x509-ca-cert":{source:"iana",extensions:["der","crt","pem"]},"application/x-x509-ca-ra-cert":{source:"iana"},"application/x-x509-next-ca-cert":{source:"iana"},"application/x-xfig":{source:"apache",extensions:["fig"]},"application/x-xliff+xml":{source:"apache",compressible:true,extensions:["xlf"]},"application/x-xpinstall":{source:"apache",compressible:false,extensions:["xpi"]},"application/x-xz":{source:"apache",extensions:["xz"]},"application/x-zmachine":{source:"apache",extensions:["z1","z2","z3","z4","z5","z6","z7","z8"]},"application/x400-bp":{source:"iana"},"application/xacml+xml":{source:"iana",compressible:true},"application/xaml+xml":{source:"apache",compressible:true,extensions:["xaml"]},"application/xcap-att+xml":{source:"iana",compressible:true,extensions:["xav"]},"application/xcap-caps+xml":{source:"iana",compressible:true,extensions:["xca"]},"application/xcap-diff+xml":{source:"iana",compressible:true,extensions:["xdf"]},"application/xcap-el+xml":{source:"iana",compressible:true,extensions:["xel"]},"application/xcap-error+xml":{source:"iana",compressible:true},"application/xcap-ns+xml":{source:"iana",compressible:true,extensions:["xns"]},"application/xcon-conference-info+xml":{source:"iana",compressible:true},"application/xcon-conference-info-diff+xml":{source:"iana",compressible:true},"application/xenc+xml":{source:"iana",compressible:true,extensions:["xenc"]},"application/xhtml+xml":{source:"iana",compressible:true,extensions:["xhtml","xht"]},"application/xhtml-voice+xml":{source:"apache",compressible:true},"application/xliff+xml":{source:"iana",compressible:true,extensions:["xlf"]},"application/xml":{source:"iana",compressible:true,extensions:["xml","xsl","xsd","rng"]},"application/xml-dtd":{source:"iana",compressible:true,extensions:["dtd"]},"application/xml-external-parsed-entity":{source:"iana"},"application/xml-patch+xml":{source:"iana",compressible:true},"application/xmpp+xml":{source:"iana",compressible:true},"application/xop+xml":{source:"iana",compressible:true,extensions:["xop"]},"application/xproc+xml":{source:"apache",compressible:true,extensions:["xpl"]},"application/xslt+xml":{source:"iana",compressible:true,extensions:["xsl","xslt"]},"application/xspf+xml":{source:"apache",compressible:true,extensions:["xspf"]},"application/xv+xml":{source:"iana",compressible:true,extensions:["mxml","xhvml","xvml","xvm"]},"application/yang":{source:"iana",extensions:["yang"]},"application/yang-data+json":{source:"iana",compressible:true},"application/yang-data+xml":{source:"iana",compressible:true},"application/yang-patch+json":{source:"iana",compressible:true},"application/yang-patch+xml":{source:"iana",compressible:true},"application/yin+xml":{source:"iana",compressible:true,extensions:["yin"]},"application/zip":{source:"iana",compressible:false,extensions:["zip"]},"application/zlib":{source:"iana"},"application/zstd":{source:"iana"},"audio/1d-interleaved-parityfec":{source:"iana"},"audio/32kadpcm":{source:"iana"},"audio/3gpp":{source:"iana",compressible:false,extensions:["3gpp"]},"audio/3gpp2":{source:"iana"},"audio/aac":{source:"iana"},"audio/ac3":{source:"iana"},"audio/adpcm":{source:"apache",extensions:["adp"]},"audio/amr":{source:"iana",extensions:["amr"]},"audio/amr-wb":{source:"iana"},"audio/amr-wb+":{source:"iana"},"audio/aptx":{source:"iana"},"audio/asc":{source:"iana"},"audio/atrac-advanced-lossless":{source:"iana"},"audio/atrac-x":{source:"iana"},"audio/atrac3":{source:"iana"},"audio/basic":{source:"iana",compressible:false,extensions:["au","snd"]},"audio/bv16":{source:"iana"},"audio/bv32":{source:"iana"},"audio/clearmode":{source:"iana"},"audio/cn":{source:"iana"},"audio/dat12":{source:"iana"},"audio/dls":{source:"iana"},"audio/dsr-es201108":{source:"iana"},"audio/dsr-es202050":{source:"iana"},"audio/dsr-es202211":{source:"iana"},"audio/dsr-es202212":{source:"iana"},"audio/dv":{source:"iana"},"audio/dvi4":{source:"iana"},"audio/eac3":{source:"iana"},"audio/encaprtp":{source:"iana"},"audio/evrc":{source:"iana"},"audio/evrc-qcp":{source:"iana"},"audio/evrc0":{source:"iana"},"audio/evrc1":{source:"iana"},"audio/evrcb":{source:"iana"},"audio/evrcb0":{source:"iana"},"audio/evrcb1":{source:"iana"},"audio/evrcnw":{source:"iana"},"audio/evrcnw0":{source:"iana"},"audio/evrcnw1":{source:"iana"},"audio/evrcwb":{source:"iana"},"audio/evrcwb0":{source:"iana"},"audio/evrcwb1":{source:"iana"},"audio/evs":{source:"iana"},"audio/flexfec":{source:"iana"},"audio/fwdred":{source:"iana"},"audio/g711-0":{source:"iana"},"audio/g719":{source:"iana"},"audio/g722":{source:"iana"},"audio/g7221":{source:"iana"},"audio/g723":{source:"iana"},"audio/g726-16":{source:"iana"},"audio/g726-24":{source:"iana"},"audio/g726-32":{source:"iana"},"audio/g726-40":{source:"iana"},"audio/g728":{source:"iana"},"audio/g729":{source:"iana"},"audio/g7291":{source:"iana"},"audio/g729d":{source:"iana"},"audio/g729e":{source:"iana"},"audio/gsm":{source:"iana"},"audio/gsm-efr":{source:"iana"},"audio/gsm-hr-08":{source:"iana"},"audio/ilbc":{source:"iana"},"audio/ip-mr_v2.5":{source:"iana"},"audio/isac":{source:"apache"},"audio/l16":{source:"iana"},"audio/l20":{source:"iana"},"audio/l24":{source:"iana",compressible:false},"audio/l8":{source:"iana"},"audio/lpc":{source:"iana"},"audio/melp":{source:"iana"},"audio/melp1200":{source:"iana"},"audio/melp2400":{source:"iana"},"audio/melp600":{source:"iana"},"audio/mhas":{source:"iana"},"audio/midi":{source:"apache",extensions:["mid","midi","kar","rmi"]},"audio/mobile-xmf":{source:"iana",extensions:["mxmf"]},"audio/mp3":{compressible:false,extensions:["mp3"]},"audio/mp4":{source:"iana",compressible:false,extensions:["m4a","mp4a"]},"audio/mp4a-latm":{source:"iana"},"audio/mpa":{source:"iana"},"audio/mpa-robust":{source:"iana"},"audio/mpeg":{source:"iana",compressible:false,extensions:["mpga","mp2","mp2a","mp3","m2a","m3a"]},"audio/mpeg4-generic":{source:"iana"},"audio/musepack":{source:"apache"},"audio/ogg":{source:"iana",compressible:false,extensions:["oga","ogg","spx","opus"]},"audio/opus":{source:"iana"},"audio/parityfec":{source:"iana"},"audio/pcma":{source:"iana"},"audio/pcma-wb":{source:"iana"},"audio/pcmu":{source:"iana"},"audio/pcmu-wb":{source:"iana"},"audio/prs.sid":{source:"iana"},"audio/qcelp":{source:"iana"},"audio/raptorfec":{source:"iana"},"audio/red":{source:"iana"},"audio/rtp-enc-aescm128":{source:"iana"},"audio/rtp-midi":{source:"iana"},"audio/rtploopback":{source:"iana"},"audio/rtx":{source:"iana"},"audio/s3m":{source:"apache",extensions:["s3m"]},"audio/scip":{source:"iana"},"audio/silk":{source:"apache",extensions:["sil"]},"audio/smv":{source:"iana"},"audio/smv-qcp":{source:"iana"},"audio/smv0":{source:"iana"},"audio/sofa":{source:"iana"},"audio/sp-midi":{source:"iana"},"audio/speex":{source:"iana"},"audio/t140c":{source:"iana"},"audio/t38":{source:"iana"},"audio/telephone-event":{source:"iana"},"audio/tetra_acelp":{source:"iana"},"audio/tetra_acelp_bb":{source:"iana"},"audio/tone":{source:"iana"},"audio/tsvcis":{source:"iana"},"audio/uemclip":{source:"iana"},"audio/ulpfec":{source:"iana"},"audio/usac":{source:"iana"},"audio/vdvi":{source:"iana"},"audio/vmr-wb":{source:"iana"},"audio/vnd.3gpp.iufp":{source:"iana"},"audio/vnd.4sb":{source:"iana"},"audio/vnd.audiokoz":{source:"iana"},"audio/vnd.celp":{source:"iana"},"audio/vnd.cisco.nse":{source:"iana"},"audio/vnd.cmles.radio-events":{source:"iana"},"audio/vnd.cns.anp1":{source:"iana"},"audio/vnd.cns.inf1":{source:"iana"},"audio/vnd.dece.audio":{source:"iana",extensions:["uva","uvva"]},"audio/vnd.digital-winds":{source:"iana",extensions:["eol"]},"audio/vnd.dlna.adts":{source:"iana"},"audio/vnd.dolby.heaac.1":{source:"iana"},"audio/vnd.dolby.heaac.2":{source:"iana"},"audio/vnd.dolby.mlp":{source:"iana"},"audio/vnd.dolby.mps":{source:"iana"},"audio/vnd.dolby.pl2":{source:"iana"},"audio/vnd.dolby.pl2x":{source:"iana"},"audio/vnd.dolby.pl2z":{source:"iana"},"audio/vnd.dolby.pulse.1":{source:"iana"},"audio/vnd.dra":{source:"iana",extensions:["dra"]},"audio/vnd.dts":{source:"iana",extensions:["dts"]},"audio/vnd.dts.hd":{source:"iana",extensions:["dtshd"]},"audio/vnd.dts.uhd":{source:"iana"},"audio/vnd.dvb.file":{source:"iana"},"audio/vnd.everad.plj":{source:"iana"},"audio/vnd.hns.audio":{source:"iana"},"audio/vnd.lucent.voice":{source:"iana",extensions:["lvp"]},"audio/vnd.ms-playready.media.pya":{source:"iana",extensions:["pya"]},"audio/vnd.nokia.mobile-xmf":{source:"iana"},"audio/vnd.nortel.vbk":{source:"iana"},"audio/vnd.nuera.ecelp4800":{source:"iana",extensions:["ecelp4800"]},"audio/vnd.nuera.ecelp7470":{source:"iana",extensions:["ecelp7470"]},"audio/vnd.nuera.ecelp9600":{source:"iana",extensions:["ecelp9600"]},"audio/vnd.octel.sbc":{source:"iana"},"audio/vnd.presonus.multitrack":{source:"iana"},"audio/vnd.qcelp":{source:"iana"},"audio/vnd.rhetorex.32kadpcm":{source:"iana"},"audio/vnd.rip":{source:"iana",extensions:["rip"]},"audio/vnd.rn-realaudio":{compressible:false},"audio/vnd.sealedmedia.softseal.mpeg":{source:"iana"},"audio/vnd.vmx.cvsd":{source:"iana"},"audio/vnd.wave":{compressible:false},"audio/vorbis":{source:"iana",compressible:false},"audio/vorbis-config":{source:"iana"},"audio/wav":{compressible:false,extensions:["wav"]},"audio/wave":{compressible:false,extensions:["wav"]},"audio/webm":{source:"apache",compressible:false,extensions:["weba"]},"audio/x-aac":{source:"apache",compressible:false,extensions:["aac"]},"audio/x-aiff":{source:"apache",extensions:["aif","aiff","aifc"]},"audio/x-caf":{source:"apache",compressible:false,extensions:["caf"]},"audio/x-flac":{source:"apache",extensions:["flac"]},"audio/x-m4a":{source:"nginx",extensions:["m4a"]},"audio/x-matroska":{source:"apache",extensions:["mka"]},"audio/x-mpegurl":{source:"apache",extensions:["m3u"]},"audio/x-ms-wax":{source:"apache",extensions:["wax"]},"audio/x-ms-wma":{source:"apache",extensions:["wma"]},"audio/x-pn-realaudio":{source:"apache",extensions:["ram","ra"]},"audio/x-pn-realaudio-plugin":{source:"apache",extensions:["rmp"]},"audio/x-realaudio":{source:"nginx",extensions:["ra"]},"audio/x-tta":{source:"apache"},"audio/x-wav":{source:"apache",extensions:["wav"]},"audio/xm":{source:"apache",extensions:["xm"]},"chemical/x-cdx":{source:"apache",extensions:["cdx"]},"chemical/x-cif":{source:"apache",extensions:["cif"]},"chemical/x-cmdf":{source:"apache",extensions:["cmdf"]},"chemical/x-cml":{source:"apache",extensions:["cml"]},"chemical/x-csml":{source:"apache",extensions:["csml"]},"chemical/x-pdb":{source:"apache"},"chemical/x-xyz":{source:"apache",extensions:["xyz"]},"font/collection":{source:"iana",extensions:["ttc"]},"font/otf":{source:"iana",compressible:true,extensions:["otf"]},"font/sfnt":{source:"iana"},"font/ttf":{source:"iana",compressible:true,extensions:["ttf"]},"font/woff":{source:"iana",extensions:["woff"]},"font/woff2":{source:"iana",extensions:["woff2"]},"image/aces":{source:"iana",extensions:["exr"]},"image/apng":{compressible:false,extensions:["apng"]},"image/avci":{source:"iana",extensions:["avci"]},"image/avcs":{source:"iana",extensions:["avcs"]},"image/avif":{source:"iana",compressible:false,extensions:["avif"]},"image/bmp":{source:"iana",compressible:true,extensions:["bmp"]},"image/cgm":{source:"iana",extensions:["cgm"]},"image/dicom-rle":{source:"iana",extensions:["drle"]},"image/emf":{source:"iana",extensions:["emf"]},"image/fits":{source:"iana",extensions:["fits"]},"image/g3fax":{source:"iana",extensions:["g3"]},"image/gif":{source:"iana",compressible:false,extensions:["gif"]},"image/heic":{source:"iana",extensions:["heic"]},"image/heic-sequence":{source:"iana",extensions:["heics"]},"image/heif":{source:"iana",extensions:["heif"]},"image/heif-sequence":{source:"iana",extensions:["heifs"]},"image/hej2k":{source:"iana",extensions:["hej2"]},"image/hsj2":{source:"iana",extensions:["hsj2"]},"image/ief":{source:"iana",extensions:["ief"]},"image/jls":{source:"iana",extensions:["jls"]},"image/jp2":{source:"iana",compressible:false,extensions:["jp2","jpg2"]},"image/jpeg":{source:"iana",compressible:false,extensions:["jpeg","jpg","jpe"]},"image/jph":{source:"iana",extensions:["jph"]},"image/jphc":{source:"iana",extensions:["jhc"]},"image/jpm":{source:"iana",compressible:false,extensions:["jpm"]},"image/jpx":{source:"iana",compressible:false,extensions:["jpx","jpf"]},"image/jxr":{source:"iana",extensions:["jxr"]},"image/jxra":{source:"iana",extensions:["jxra"]},"image/jxrs":{source:"iana",extensions:["jxrs"]},"image/jxs":{source:"iana",extensions:["jxs"]},"image/jxsc":{source:"iana",extensions:["jxsc"]},"image/jxsi":{source:"iana",extensions:["jxsi"]},"image/jxss":{source:"iana",extensions:["jxss"]},"image/ktx":{source:"iana",extensions:["ktx"]},"image/ktx2":{source:"iana",extensions:["ktx2"]},"image/naplps":{source:"iana"},"image/pjpeg":{compressible:false},"image/png":{source:"iana",compressible:false,extensions:["png"]},"image/prs.btif":{source:"iana",extensions:["btif"]},"image/prs.pti":{source:"iana",extensions:["pti"]},"image/pwg-raster":{source:"iana"},"image/sgi":{source:"apache",extensions:["sgi"]},"image/svg+xml":{source:"iana",compressible:true,extensions:["svg","svgz"]},"image/t38":{source:"iana",extensions:["t38"]},"image/tiff":{source:"iana",compressible:false,extensions:["tif","tiff"]},"image/tiff-fx":{source:"iana",extensions:["tfx"]},"image/vnd.adobe.photoshop":{source:"iana",compressible:true,extensions:["psd"]},"image/vnd.airzip.accelerator.azv":{source:"iana",extensions:["azv"]},"image/vnd.cns.inf2":{source:"iana"},"image/vnd.dece.graphic":{source:"iana",extensions:["uvi","uvvi","uvg","uvvg"]},"image/vnd.djvu":{source:"iana",extensions:["djvu","djv"]},"image/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"image/vnd.dwg":{source:"iana",extensions:["dwg"]},"image/vnd.dxf":{source:"iana",extensions:["dxf"]},"image/vnd.fastbidsheet":{source:"iana",extensions:["fbs"]},"image/vnd.fpx":{source:"iana",extensions:["fpx"]},"image/vnd.fst":{source:"iana",extensions:["fst"]},"image/vnd.fujixerox.edmics-mmr":{source:"iana",extensions:["mmr"]},"image/vnd.fujixerox.edmics-rlc":{source:"iana",extensions:["rlc"]},"image/vnd.globalgraphics.pgb":{source:"iana"},"image/vnd.microsoft.icon":{source:"iana",compressible:true,extensions:["ico"]},"image/vnd.mix":{source:"iana"},"image/vnd.mozilla.apng":{source:"iana"},"image/vnd.ms-dds":{compressible:true,extensions:["dds"]},"image/vnd.ms-modi":{source:"iana",extensions:["mdi"]},"image/vnd.ms-photo":{source:"apache",extensions:["wdp"]},"image/vnd.net-fpx":{source:"iana",extensions:["npx"]},"image/vnd.pco.b16":{source:"iana",extensions:["b16"]},"image/vnd.radiance":{source:"iana"},"image/vnd.sealed.png":{source:"iana"},"image/vnd.sealedmedia.softseal.gif":{source:"iana"},"image/vnd.sealedmedia.softseal.jpg":{source:"iana"},"image/vnd.svf":{source:"iana"},"image/vnd.tencent.tap":{source:"iana",extensions:["tap"]},"image/vnd.valve.source.texture":{source:"iana",extensions:["vtf"]},"image/vnd.wap.wbmp":{source:"iana",extensions:["wbmp"]},"image/vnd.xiff":{source:"iana",extensions:["xif"]},"image/vnd.zbrush.pcx":{source:"iana",extensions:["pcx"]},"image/webp":{source:"apache",extensions:["webp"]},"image/wmf":{source:"iana",extensions:["wmf"]},"image/x-3ds":{source:"apache",extensions:["3ds"]},"image/x-cmu-raster":{source:"apache",extensions:["ras"]},"image/x-cmx":{source:"apache",extensions:["cmx"]},"image/x-freehand":{source:"apache",extensions:["fh","fhc","fh4","fh5","fh7"]},"image/x-icon":{source:"apache",compressible:true,extensions:["ico"]},"image/x-jng":{source:"nginx",extensions:["jng"]},"image/x-mrsid-image":{source:"apache",extensions:["sid"]},"image/x-ms-bmp":{source:"nginx",compressible:true,extensions:["bmp"]},"image/x-pcx":{source:"apache",extensions:["pcx"]},"image/x-pict":{source:"apache",extensions:["pic","pct"]},"image/x-portable-anymap":{source:"apache",extensions:["pnm"]},"image/x-portable-bitmap":{source:"apache",extensions:["pbm"]},"image/x-portable-graymap":{source:"apache",extensions:["pgm"]},"image/x-portable-pixmap":{source:"apache",extensions:["ppm"]},"image/x-rgb":{source:"apache",extensions:["rgb"]},"image/x-tga":{source:"apache",extensions:["tga"]},"image/x-xbitmap":{source:"apache",extensions:["xbm"]},"image/x-xcf":{compressible:false},"image/x-xpixmap":{source:"apache",extensions:["xpm"]},"image/x-xwindowdump":{source:"apache",extensions:["xwd"]},"message/cpim":{source:"iana"},"message/delivery-status":{source:"iana"},"message/disposition-notification":{source:"iana",extensions:["disposition-notification"]},"message/external-body":{source:"iana"},"message/feedback-report":{source:"iana"},"message/global":{source:"iana",extensions:["u8msg"]},"message/global-delivery-status":{source:"iana",extensions:["u8dsn"]},"message/global-disposition-notification":{source:"iana",extensions:["u8mdn"]},"message/global-headers":{source:"iana",extensions:["u8hdr"]},"message/http":{source:"iana",compressible:false},"message/imdn+xml":{source:"iana",compressible:true},"message/news":{source:"iana"},"message/partial":{source:"iana",compressible:false},"message/rfc822":{source:"iana",compressible:true,extensions:["eml","mime"]},"message/s-http":{source:"iana"},"message/sip":{source:"iana"},"message/sipfrag":{source:"iana"},"message/tracking-status":{source:"iana"},"message/vnd.si.simp":{source:"iana"},"message/vnd.wfa.wsc":{source:"iana",extensions:["wsc"]},"model/3mf":{source:"iana",extensions:["3mf"]},"model/e57":{source:"iana"},"model/gltf+json":{source:"iana",compressible:true,extensions:["gltf"]},"model/gltf-binary":{source:"iana",compressible:true,extensions:["glb"]},"model/iges":{source:"iana",compressible:false,extensions:["igs","iges"]},"model/mesh":{source:"iana",compressible:false,extensions:["msh","mesh","silo"]},"model/mtl":{source:"iana",extensions:["mtl"]},"model/obj":{source:"iana",extensions:["obj"]},"model/step":{source:"iana"},"model/step+xml":{source:"iana",compressible:true,extensions:["stpx"]},"model/step+zip":{source:"iana",compressible:false,extensions:["stpz"]},"model/step-xml+zip":{source:"iana",compressible:false,extensions:["stpxz"]},"model/stl":{source:"iana",extensions:["stl"]},"model/vnd.collada+xml":{source:"iana",compressible:true,extensions:["dae"]},"model/vnd.dwf":{source:"iana",extensions:["dwf"]},"model/vnd.flatland.3dml":{source:"iana"},"model/vnd.gdl":{source:"iana",extensions:["gdl"]},"model/vnd.gs-gdl":{source:"apache"},"model/vnd.gs.gdl":{source:"iana"},"model/vnd.gtw":{source:"iana",extensions:["gtw"]},"model/vnd.moml+xml":{source:"iana",compressible:true},"model/vnd.mts":{source:"iana",extensions:["mts"]},"model/vnd.opengex":{source:"iana",extensions:["ogex"]},"model/vnd.parasolid.transmit.binary":{source:"iana",extensions:["x_b"]},"model/vnd.parasolid.transmit.text":{source:"iana",extensions:["x_t"]},"model/vnd.pytha.pyox":{source:"iana"},"model/vnd.rosette.annotated-data-model":{source:"iana"},"model/vnd.sap.vds":{source:"iana",extensions:["vds"]},"model/vnd.usdz+zip":{source:"iana",compressible:false,extensions:["usdz"]},"model/vnd.valve.source.compiled-map":{source:"iana",extensions:["bsp"]},"model/vnd.vtu":{source:"iana",extensions:["vtu"]},"model/vrml":{source:"iana",compressible:false,extensions:["wrl","vrml"]},"model/x3d+binary":{source:"apache",compressible:false,extensions:["x3db","x3dbz"]},"model/x3d+fastinfoset":{source:"iana",extensions:["x3db"]},"model/x3d+vrml":{source:"apache",compressible:false,extensions:["x3dv","x3dvz"]},"model/x3d+xml":{source:"iana",compressible:true,extensions:["x3d","x3dz"]},"model/x3d-vrml":{source:"iana",extensions:["x3dv"]},"multipart/alternative":{source:"iana",compressible:false},"multipart/appledouble":{source:"iana"},"multipart/byteranges":{source:"iana"},"multipart/digest":{source:"iana"},"multipart/encrypted":{source:"iana",compressible:false},"multipart/form-data":{source:"iana",compressible:false},"multipart/header-set":{source:"iana"},"multipart/mixed":{source:"iana"},"multipart/multilingual":{source:"iana"},"multipart/parallel":{source:"iana"},"multipart/related":{source:"iana",compressible:false},"multipart/report":{source:"iana"},"multipart/signed":{source:"iana",compressible:false},"multipart/vnd.bint.med-plus":{source:"iana"},"multipart/voice-message":{source:"iana"},"multipart/x-mixed-replace":{source:"iana"},"text/1d-interleaved-parityfec":{source:"iana"},"text/cache-manifest":{source:"iana",compressible:true,extensions:["appcache","manifest"]},"text/calendar":{source:"iana",extensions:["ics","ifb"]},"text/calender":{compressible:true},"text/cmd":{compressible:true},"text/coffeescript":{extensions:["coffee","litcoffee"]},"text/cql":{source:"iana"},"text/cql-expression":{source:"iana"},"text/cql-identifier":{source:"iana"},"text/css":{source:"iana",charset:"UTF-8",compressible:true,extensions:["css"]},"text/csv":{source:"iana",compressible:true,extensions:["csv"]},"text/csv-schema":{source:"iana"},"text/directory":{source:"iana"},"text/dns":{source:"iana"},"text/ecmascript":{source:"iana"},"text/encaprtp":{source:"iana"},"text/enriched":{source:"iana"},"text/fhirpath":{source:"iana"},"text/flexfec":{source:"iana"},"text/fwdred":{source:"iana"},"text/gff3":{source:"iana"},"text/grammar-ref-list":{source:"iana"},"text/html":{source:"iana",compressible:true,extensions:["html","htm","shtml"]},"text/jade":{extensions:["jade"]},"text/javascript":{source:"iana",compressible:true},"text/jcr-cnd":{source:"iana"},"text/jsx":{compressible:true,extensions:["jsx"]},"text/less":{compressible:true,extensions:["less"]},"text/markdown":{source:"iana",compressible:true,extensions:["markdown","md"]},"text/mathml":{source:"nginx",extensions:["mml"]},"text/mdx":{compressible:true,extensions:["mdx"]},"text/mizar":{source:"iana"},"text/n3":{source:"iana",charset:"UTF-8",compressible:true,extensions:["n3"]},"text/parameters":{source:"iana",charset:"UTF-8"},"text/parityfec":{source:"iana"},"text/plain":{source:"iana",compressible:true,extensions:["txt","text","conf","def","list","log","in","ini"]},"text/provenance-notation":{source:"iana",charset:"UTF-8"},"text/prs.fallenstein.rst":{source:"iana"},"text/prs.lines.tag":{source:"iana",extensions:["dsc"]},"text/prs.prop.logic":{source:"iana"},"text/raptorfec":{source:"iana"},"text/red":{source:"iana"},"text/rfc822-headers":{source:"iana"},"text/richtext":{source:"iana",compressible:true,extensions:["rtx"]},"text/rtf":{source:"iana",compressible:true,extensions:["rtf"]},"text/rtp-enc-aescm128":{source:"iana"},"text/rtploopback":{source:"iana"},"text/rtx":{source:"iana"},"text/sgml":{source:"iana",extensions:["sgml","sgm"]},"text/shaclc":{source:"iana"},"text/shex":{source:"iana",extensions:["shex"]},"text/slim":{extensions:["slim","slm"]},"text/spdx":{source:"iana",extensions:["spdx"]},"text/strings":{source:"iana"},"text/stylus":{extensions:["stylus","styl"]},"text/t140":{source:"iana"},"text/tab-separated-values":{source:"iana",compressible:true,extensions:["tsv"]},"text/troff":{source:"iana",extensions:["t","tr","roff","man","me","ms"]},"text/turtle":{source:"iana",charset:"UTF-8",extensions:["ttl"]},"text/ulpfec":{source:"iana"},"text/uri-list":{source:"iana",compressible:true,extensions:["uri","uris","urls"]},"text/vcard":{source:"iana",compressible:true,extensions:["vcard"]},"text/vnd.a":{source:"iana"},"text/vnd.abc":{source:"iana"},"text/vnd.ascii-art":{source:"iana"},"text/vnd.curl":{source:"iana",extensions:["curl"]},"text/vnd.curl.dcurl":{source:"apache",extensions:["dcurl"]},"text/vnd.curl.mcurl":{source:"apache",extensions:["mcurl"]},"text/vnd.curl.scurl":{source:"apache",extensions:["scurl"]},"text/vnd.debian.copyright":{source:"iana",charset:"UTF-8"},"text/vnd.dmclientscript":{source:"iana"},"text/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"text/vnd.esmertec.theme-descriptor":{source:"iana",charset:"UTF-8"},"text/vnd.familysearch.gedcom":{source:"iana",extensions:["ged"]},"text/vnd.ficlab.flt":{source:"iana"},"text/vnd.fly":{source:"iana",extensions:["fly"]},"text/vnd.fmi.flexstor":{source:"iana",extensions:["flx"]},"text/vnd.gml":{source:"iana"},"text/vnd.graphviz":{source:"iana",extensions:["gv"]},"text/vnd.hans":{source:"iana"},"text/vnd.hgl":{source:"iana"},"text/vnd.in3d.3dml":{source:"iana",extensions:["3dml"]},"text/vnd.in3d.spot":{source:"iana",extensions:["spot"]},"text/vnd.iptc.newsml":{source:"iana"},"text/vnd.iptc.nitf":{source:"iana"},"text/vnd.latex-z":{source:"iana"},"text/vnd.motorola.reflex":{source:"iana"},"text/vnd.ms-mediapackage":{source:"iana"},"text/vnd.net2phone.commcenter.command":{source:"iana"},"text/vnd.radisys.msml-basic-layout":{source:"iana"},"text/vnd.senx.warpscript":{source:"iana"},"text/vnd.si.uricatalogue":{source:"iana"},"text/vnd.sosi":{source:"iana"},"text/vnd.sun.j2me.app-descriptor":{source:"iana",charset:"UTF-8",extensions:["jad"]},"text/vnd.trolltech.linguist":{source:"iana",charset:"UTF-8"},"text/vnd.wap.si":{source:"iana"},"text/vnd.wap.sl":{source:"iana"},"text/vnd.wap.wml":{source:"iana",extensions:["wml"]},"text/vnd.wap.wmlscript":{source:"iana",extensions:["wmls"]},"text/vtt":{source:"iana",charset:"UTF-8",compressible:true,extensions:["vtt"]},"text/x-asm":{source:"apache",extensions:["s","asm"]},"text/x-c":{source:"apache",extensions:["c","cc","cxx","cpp","h","hh","dic"]},"text/x-component":{source:"nginx",extensions:["htc"]},"text/x-fortran":{source:"apache",extensions:["f","for","f77","f90"]},"text/x-gwt-rpc":{compressible:true},"text/x-handlebars-template":{extensions:["hbs"]},"text/x-java-source":{source:"apache",extensions:["java"]},"text/x-jquery-tmpl":{compressible:true},"text/x-lua":{extensions:["lua"]},"text/x-markdown":{compressible:true,extensions:["mkd"]},"text/x-nfo":{source:"apache",extensions:["nfo"]},"text/x-opml":{source:"apache",extensions:["opml"]},"text/x-org":{compressible:true,extensions:["org"]},"text/x-pascal":{source:"apache",extensions:["p","pas"]},"text/x-processing":{compressible:true,extensions:["pde"]},"text/x-sass":{extensions:["sass"]},"text/x-scss":{extensions:["scss"]},"text/x-setext":{source:"apache",extensions:["etx"]},"text/x-sfv":{source:"apache",extensions:["sfv"]},"text/x-suse-ymp":{compressible:true,extensions:["ymp"]},"text/x-uuencode":{source:"apache",extensions:["uu"]},"text/x-vcalendar":{source:"apache",extensions:["vcs"]},"text/x-vcard":{source:"apache",extensions:["vcf"]},"text/xml":{source:"iana",compressible:true,extensions:["xml"]},"text/xml-external-parsed-entity":{source:"iana"},"text/yaml":{compressible:true,extensions:["yaml","yml"]},"video/1d-interleaved-parityfec":{source:"iana"},"video/3gpp":{source:"iana",extensions:["3gp","3gpp"]},"video/3gpp-tt":{source:"iana"},"video/3gpp2":{source:"iana",extensions:["3g2"]},"video/av1":{source:"iana"},"video/bmpeg":{source:"iana"},"video/bt656":{source:"iana"},"video/celb":{source:"iana"},"video/dv":{source:"iana"},"video/encaprtp":{source:"iana"},"video/ffv1":{source:"iana"},"video/flexfec":{source:"iana"},"video/h261":{source:"iana",extensions:["h261"]},"video/h263":{source:"iana",extensions:["h263"]},"video/h263-1998":{source:"iana"},"video/h263-2000":{source:"iana"},"video/h264":{source:"iana",extensions:["h264"]},"video/h264-rcdo":{source:"iana"},"video/h264-svc":{source:"iana"},"video/h265":{source:"iana"},"video/iso.segment":{source:"iana",extensions:["m4s"]},"video/jpeg":{source:"iana",extensions:["jpgv"]},"video/jpeg2000":{source:"iana"},"video/jpm":{source:"apache",extensions:["jpm","jpgm"]},"video/jxsv":{source:"iana"},"video/mj2":{source:"iana",extensions:["mj2","mjp2"]},"video/mp1s":{source:"iana"},"video/mp2p":{source:"iana"},"video/mp2t":{source:"iana",extensions:["ts"]},"video/mp4":{source:"iana",compressible:false,extensions:["mp4","mp4v","mpg4"]},"video/mp4v-es":{source:"iana"},"video/mpeg":{source:"iana",compressible:false,extensions:["mpeg","mpg","mpe","m1v","m2v"]},"video/mpeg4-generic":{source:"iana"},"video/mpv":{source:"iana"},"video/nv":{source:"iana"},"video/ogg":{source:"iana",compressible:false,extensions:["ogv"]},"video/parityfec":{source:"iana"},"video/pointer":{source:"iana"},"video/quicktime":{source:"iana",compressible:false,extensions:["qt","mov"]},"video/raptorfec":{source:"iana"},"video/raw":{source:"iana"},"video/rtp-enc-aescm128":{source:"iana"},"video/rtploopback":{source:"iana"},"video/rtx":{source:"iana"},"video/scip":{source:"iana"},"video/smpte291":{source:"iana"},"video/smpte292m":{source:"iana"},"video/ulpfec":{source:"iana"},"video/vc1":{source:"iana"},"video/vc2":{source:"iana"},"video/vnd.cctv":{source:"iana"},"video/vnd.dece.hd":{source:"iana",extensions:["uvh","uvvh"]},"video/vnd.dece.mobile":{source:"iana",extensions:["uvm","uvvm"]},"video/vnd.dece.mp4":{source:"iana"},"video/vnd.dece.pd":{source:"iana",extensions:["uvp","uvvp"]},"video/vnd.dece.sd":{source:"iana",extensions:["uvs","uvvs"]},"video/vnd.dece.video":{source:"iana",extensions:["uvv","uvvv"]},"video/vnd.directv.mpeg":{source:"iana"},"video/vnd.directv.mpeg-tts":{source:"iana"},"video/vnd.dlna.mpeg-tts":{source:"iana"},"video/vnd.dvb.file":{source:"iana",extensions:["dvb"]},"video/vnd.fvt":{source:"iana",extensions:["fvt"]},"video/vnd.hns.video":{source:"iana"},"video/vnd.iptvforum.1dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.1dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.2dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.2dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.ttsavc":{source:"iana"},"video/vnd.iptvforum.ttsmpeg2":{source:"iana"},"video/vnd.motorola.video":{source:"iana"},"video/vnd.motorola.videop":{source:"iana"},"video/vnd.mpegurl":{source:"iana",extensions:["mxu","m4u"]},"video/vnd.ms-playready.media.pyv":{source:"iana",extensions:["pyv"]},"video/vnd.nokia.interleaved-multimedia":{source:"iana"},"video/vnd.nokia.mp4vr":{source:"iana"},"video/vnd.nokia.videovoip":{source:"iana"},"video/vnd.objectvideo":{source:"iana"},"video/vnd.radgamettools.bink":{source:"iana"},"video/vnd.radgamettools.smacker":{source:"iana"},"video/vnd.sealed.mpeg1":{source:"iana"},"video/vnd.sealed.mpeg4":{source:"iana"},"video/vnd.sealed.swf":{source:"iana"},"video/vnd.sealedmedia.softseal.mov":{source:"iana"},"video/vnd.uvvu.mp4":{source:"iana",extensions:["uvu","uvvu"]},"video/vnd.vivo":{source:"iana",extensions:["viv"]},"video/vnd.youtube.yt":{source:"iana"},"video/vp8":{source:"iana"},"video/vp9":{source:"iana"},"video/webm":{source:"apache",compressible:false,extensions:["webm"]},"video/x-f4v":{source:"apache",extensions:["f4v"]},"video/x-fli":{source:"apache",extensions:["fli"]},"video/x-flv":{source:"apache",compressible:false,extensions:["flv"]},"video/x-m4v":{source:"apache",extensions:["m4v"]},"video/x-matroska":{source:"apache",compressible:false,extensions:["mkv","mk3d","mks"]},"video/x-mng":{source:"apache",extensions:["mng"]},"video/x-ms-asf":{source:"apache",extensions:["asf","asx"]},"video/x-ms-vob":{source:"apache",extensions:["vob"]},"video/x-ms-wm":{source:"apache",extensions:["wm"]},"video/x-ms-wmv":{source:"apache",compressible:false,extensions:["wmv"]},"video/x-ms-wmx":{source:"apache",extensions:["wmx"]},"video/x-ms-wvx":{source:"apache",extensions:["wvx"]},"video/x-msvideo":{source:"apache",extensions:["avi"]},"video/x-sgi-movie":{source:"apache",extensions:["movie"]},"video/x-smv":{source:"apache",extensions:["smv"]},"x-conference/x-cooltalk":{source:"apache",extensions:["ice"]},"x-shader/x-fragment":{compressible:true},"x-shader/x-vertex":{compressible:true}}}});var require_mime_db=__commonJS({"node_modules/mime-db/index.js"(exports2,module2){module2.exports=require_db()}});var require_mime_types=__commonJS({"node_modules/mime-types/index.js"(exports2){"use strict";var db=require_mime_db();var extname=require("path").extname;var EXTRACT_TYPE_REGEXP=/^\s*([^;\s]*)(?:;|\s|$)/;var TEXT_TYPE_REGEXP=/^text\//i;exports2.charset=charset;exports2.charsets={lookup:charset};exports2.contentType=contentType;exports2.extension=extension;exports2.extensions=Object.create(null);exports2.lookup=lookup;exports2.types=Object.create(null);populateMaps(exports2.extensions,exports2.types);function charset(type2){if(!type2||typeof type2!=="string"){return false}var match=EXTRACT_TYPE_REGEXP.exec(type2);var mime=match&&db[match[1].toLowerCase()];if(mime&&mime.charset){return mime.charset}if(match&&TEXT_TYPE_REGEXP.test(match[1])){return"UTF-8"}return false}function contentType(str2){if(!str2||typeof str2!=="string"){return false}var mime=str2.indexOf("/")===-1?exports2.lookup(str2):str2;if(!mime){return false}if(mime.indexOf("charset")===-1){var charset2=exports2.charset(mime);if(charset2)mime+="; charset="+charset2.toLowerCase()}return mime}function extension(type2){if(!type2||typeof type2!=="string"){return false}var match=EXTRACT_TYPE_REGEXP.exec(type2);var exts=match&&exports2.extensions[match[1].toLowerCase()];if(!exts||!exts.length){return false}return exts[0]}function lookup(path27){if(!path27||typeof path27!=="string"){return false}var extension2=extname("x."+path27).toLowerCase().substr(1);if(!extension2){return false}return exports2.types[extension2]||false}function populateMaps(extensions2,types6){var preference=["nginx","apache",void 0,"iana"];Object.keys(db).forEach(function forEachMimeType(type2){var mime=db[type2];var exts=mime.extensions;if(!exts||!exts.length){return}extensions2[type2]=exts;for(var i=0;i<exts.length;i++){var extension2=exts[i];if(types6[extension2]){var from=preference.indexOf(db[types6[extension2]].source);var to=preference.indexOf(mime.source);if(types6[extension2]!=="application/octet-stream"&&(from>to||from===to&&types6[extension2].substr(0,12)==="application/")){continue}}types6[extension2]=type2}})}}});var require_ylru=__commonJS({"node_modules/ylru/index.js"(exports2,module2){"use strict";var LRU=class{constructor(max3){this.max=max3;this.size=0;this.cache=new Map;this._cache=new Map}get(key,options){let item=this.cache.get(key);const maxAge=options&&options.maxAge;let now3;function getNow(){now3=now3||Date.now();return now3}if(item){if(item.expired&&getNow()>item.expired){item.expired=0;item.value=void 0}else{if(maxAge!==void 0){const expired=maxAge?getNow()+maxAge:0;item.expired=expired}}return item.value}item=this._cache.get(key);if(item){if(item.expired&&getNow()>item.expired){item.expired=0;item.value=void 0}else{this._update(key,item);if(maxAge!==void 0){const expired=maxAge?getNow()+maxAge:0;item.expired=expired}}return item.value}}set(key,value,options){const maxAge=options&&options.maxAge;const expired=maxAge?Date.now()+maxAge:0;let item=this.cache.get(key);if(item){item.expired=expired;item.value=value}else{item={value,expired};this._update(key,item)}}keys(){const cacheKeys=new Set;const now3=Date.now();for(const entry of this.cache.entries()){checkEntry(entry)}for(const entry of this._cache.entries()){checkEntry(entry)}function checkEntry(entry){const key=entry[0];const item=entry[1];if(entry[1].value&&!entry[1].expired||item.expired>=now3){cacheKeys.add(key)}}return Array.from(cacheKeys.keys())}reset(){this.size=0;this.cache.clear();this._cache.clear()}_update(key,item){this.cache.set(key,item);this.size++;if(this.size>=this.max){this.size=0;this._cache=this.cache;this.cache=new Map}}};module2.exports=LRU}});var require_cache_content_type=__commonJS({"node_modules/cache-content-type/index.js"(exports2,module2){"use strict";var mimeTypes2=require_mime_types();var LRU=require_ylru();var typeLRUCache=new LRU(100);module2.exports=type2=>{let mimeType=typeLRUCache.get(type2);if(!mimeType){mimeType=mimeTypes2.contentType(type2);typeLRUCache.set(type2,mimeType)}return mimeType}}});var require_escape_html=__commonJS({"node_modules/escape-html/index.js"(exports2,module2){"use strict";var matchHtmlRegExp=/["'&<>]/;module2.exports=escapeHtml;function escapeHtml(string){var str2=""+string;var match=matchHtmlRegExp.exec(str2);if(!match){return str2}var escape3;var html="";var index=0;var lastIndex=0;for(index=match.index;index<str2.length;index++){switch(str2.charCodeAt(index)){case 34:escape3="&quot;";break;case 38:escape3="&amp;";break;case 39:escape3="&#39;";break;case 60:escape3="&lt;";break;case 62:escape3="&gt;";break;default:continue}if(lastIndex!==index){html+=str2.substring(lastIndex,index)}lastIndex=index+1;html+=escape3}return lastIndex!==index?html+str2.substring(lastIndex,index):html}}});var require_media_typer=__commonJS({"node_modules/media-typer/index.js"(exports2){var paramRegExp=/; *([!#$%&'\*\+\-\.0-9A-Z\^_`a-z\|~]+) *= *("(?:[ !\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u0020-\u007e])*"|[!#$%&'\*\+\-\.0-9A-Z\^_`a-z\|~]+) */g;var textRegExp=/^[\u0020-\u007e\u0080-\u00ff]+$/;var tokenRegExp=/^[!#$%&'\*\+\-\.0-9A-Z\^_`a-z\|~]+$/;var qescRegExp=/\\([\u0000-\u007f])/g;var quoteRegExp=/([\\"])/g;var subtypeNameRegExp=/^[A-Za-z0-9][A-Za-z0-9!#$&^_.-]{0,126}$/;var typeNameRegExp=/^[A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126}$/;var typeRegExp=/^ *([A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126})\/([A-Za-z0-9][A-Za-z0-9!#$&^_.+-]{0,126}) *$/;exports2.format=format2;exports2.parse=parse3;function format2(obj){if(!obj||typeof obj!=="object"){throw new TypeError("argument obj is required")}var parameters=obj.parameters;var subtype=obj.subtype;var suffix=obj.suffix;var type2=obj.type;if(!type2||!typeNameRegExp.test(type2)){throw new TypeError("invalid type")}if(!subtype||!subtypeNameRegExp.test(subtype)){throw new TypeError("invalid subtype")}var string=type2+"/"+subtype;if(suffix){if(!typeNameRegExp.test(suffix)){throw new TypeError("invalid suffix")}string+="+"+suffix}if(parameters&&typeof parameters==="object"){var param;var params=Object.keys(parameters).sort();for(var i=0;i<params.length;i++){param=params[i];if(!tokenRegExp.test(param)){throw new TypeError("invalid parameter name")}string+="; "+param+"="+qstring(parameters[param])}}return string}function parse3(string){if(!string){throw new TypeError("argument string is required")}if(typeof string==="object"){string=getcontenttype(string)}if(typeof string!=="string"){throw new TypeError("argument string is required to be a string")}var index=string.indexOf(";");var type2=index!==-1?string.substr(0,index):string;var key;var match;var obj=splitType(type2);var params={};var value;paramRegExp.lastIndex=index;while(match=paramRegExp.exec(string)){if(match.index!==index){throw new TypeError("invalid parameter format")}index+=match[0].length;key=match[1].toLowerCase();value=match[2];if(value[0]==='"'){value=value.substr(1,value.length-2).replace(qescRegExp,"$1")}params[key]=value}if(index!==-1&&index!==string.length){throw new TypeError("invalid parameter format")}obj.parameters=params;return obj}function getcontenttype(obj){if(typeof obj.getHeader==="function"){return obj.getHeader("content-type")}if(typeof obj.headers==="object"){return obj.headers&&obj.headers["content-type"]}}function qstring(val){var str2=String(val);if(tokenRegExp.test(str2)){return str2}if(str2.length>0&&!textRegExp.test(str2)){throw new TypeError("invalid parameter value")}return'"'+str2.replace(quoteRegExp,"\\$1")+'"'}function splitType(string){var match=typeRegExp.exec(string.toLowerCase());if(!match){throw new TypeError("invalid media type")}var type2=match[1];var subtype=match[2];var suffix;var index=subtype.lastIndexOf("+");if(index!==-1){suffix=subtype.substr(index+1);subtype=subtype.substr(0,index)}var obj={type:type2,subtype,suffix};return obj}}});var require_type_is=__commonJS({"node_modules/type-is/index.js"(exports2,module2){"use strict";var typer=require_media_typer();var mime=require_mime_types();module2.exports=typeofrequest;module2.exports.is=typeis;module2.exports.hasBody=hasbody;module2.exports.normalize=normalize;module2.exports.match=mimeMatch;function typeis(value,types_){var i;var types6=types_;var val=tryNormalizeType(value);if(!val){return false}if(types6&&!Array.isArray(types6)){types6=new Array(arguments.length-1);for(i=0;i<types6.length;i++){types6[i]=arguments[i+1]}}if(!types6||!types6.length){return val}var type2;for(i=0;i<types6.length;i++){if(mimeMatch(normalize(type2=types6[i]),val)){return type2[0]==="+"||type2.indexOf("*")!==-1?val:type2}}return false}function hasbody(req){return req.headers["transfer-encoding"]!==void 0||!isNaN(req.headers["content-length"])}function typeofrequest(req,types_){var types6=types_;if(!hasbody(req)){return null}if(arguments.length>2){types6=new Array(arguments.length-1);for(var i=0;i<types6.length;i++){types6[i]=arguments[i+1]}}var value=req.headers["content-type"];return typeis(value,types6)}function normalize(type2){if(typeof type2!=="string"){return false}switch(type2){case"urlencoded":return"application/x-www-form-urlencoded";case"multipart":return"multipart/*"}if(type2[0]==="+"){return"*/*"+type2}return type2.indexOf("/")===-1?mime.lookup(type2):type2}function mimeMatch(expected,actual){if(expected===false){return false}var actualParts=actual.split("/");var expectedParts=expected.split("/");if(actualParts.length!==2||expectedParts.length!==2){return false}if(expectedParts[0]!=="*"&&expectedParts[0]!==actualParts[0]){return false}if(expectedParts[1].substr(0,2)==="*+"){return expectedParts[1].length<=actualParts[1].length+1&&expectedParts[1].substr(1)===actualParts[1].substr(1-expectedParts[1].length)}if(expectedParts[1]!=="*"&&expectedParts[1]!==actualParts[1]){return false}return true}function normalizeType(value){var type2=typer.parse(value);type2.parameters=void 0;return typer.format(type2)}function tryNormalizeType(value){if(!value){return null}try{return normalizeType(value)}catch(err){return null}}}});var require_codes=__commonJS({"node_modules/koa/node_modules/statuses/codes.json"(exports2,module2){module2.exports={"100":"Continue","101":"Switching Protocols","102":"Processing","103":"Early Hints","200":"OK","201":"Created","202":"Accepted","203":"Non-Authoritative Information","204":"No Content","205":"Reset Content","206":"Partial Content","207":"Multi-Status","208":"Already Reported","226":"IM Used","300":"Multiple Choices","301":"Moved Permanently","302":"Found","303":"See Other","304":"Not Modified","305":"Use Proxy","306":"(Unused)","307":"Temporary Redirect","308":"Permanent Redirect","400":"Bad Request","401":"Unauthorized","402":"Payment Required","403":"Forbidden","404":"Not Found","405":"Method Not Allowed","406":"Not Acceptable","407":"Proxy Authentication Required","408":"Request Timeout","409":"Conflict","410":"Gone","411":"Length Required","412":"Precondition Failed","413":"Payload Too Large","414":"URI Too Long","415":"Unsupported Media Type","416":"Range Not Satisfiable","417":"Expectation Failed","418":"I'm a teapot","421":"Misdirected Request","422":"Unprocessable Entity","423":"Locked","424":"Failed Dependency","425":"Unordered Collection","426":"Upgrade Required","428":"Precondition Required","429":"Too Many Requests","431":"Request Header Fields Too Large","451":"Unavailable For Legal Reasons","500":"Internal Server Error","501":"Not Implemented","502":"Bad Gateway","503":"Service Unavailable","504":"Gateway Timeout","505":"HTTP Version Not Supported","506":"Variant Also Negotiates","507":"Insufficient Storage","508":"Loop Detected","509":"Bandwidth Limit Exceeded","510":"Not Extended","511":"Network Authentication Required"}}});var require_statuses=__commonJS({"node_modules/koa/node_modules/statuses/index.js"(exports2,module2){"use strict";var codes=require_codes();module2.exports=status;status.STATUS_CODES=codes;status.codes=populateStatusesMap(status,codes);status.redirect={300:true,301:true,302:true,303:true,305:true,307:true,308:true};status.empty={204:true,205:true,304:true};status.retry={502:true,503:true,504:true};function populateStatusesMap(statuses,codes2){var arr=[];Object.keys(codes2).forEach(function forEachCode(code){var message3=codes2[code];var status2=Number(code);statuses[status2]=message3;statuses[message3]=status2;statuses[message3.toLowerCase()]=status2;arr.push(status2)});return arr}function status(code){if(typeof code==="number"){if(!status[code])throw new Error("invalid status code: "+code);return code}if(typeof code!=="string"){throw new TypeError("code must be a number or string")}var n=parseInt(code,10);if(!isNaN(n)){if(!status[n])throw new Error("invalid status code: "+n);return n}n=status[code.toLowerCase()];if(!n)throw new Error('invalid status message: "'+code+'"');return n}}});var require_destroy=__commonJS({"node_modules/destroy/index.js"(exports2,module2){"use strict";var EventEmitter3=require("events").EventEmitter;var ReadStream=require("fs").ReadStream;var Stream=require("stream");var Zlib=require("zlib");module2.exports=destroy;function destroy(stream3,suppress){if(isFsReadStream(stream3)){destroyReadStream(stream3)}else if(isZlibStream(stream3)){destroyZlibStream(stream3)}else if(hasDestroy(stream3)){stream3.destroy()}if(isEventEmitter(stream3)&&suppress){stream3.removeAllListeners("error");stream3.addListener("error",noop4)}return stream3}function destroyReadStream(stream3){stream3.destroy();if(typeof stream3.close==="function"){stream3.on("open",onOpenClose)}}function closeZlibStream(stream3){if(stream3._hadError===true){var prop=stream3._binding===null?"_binding":"_handle";stream3[prop]={close:function(){this[prop]=null}}}stream3.close()}function destroyZlibStream(stream3){if(typeof stream3.destroy==="function"){if(stream3._binding){stream3.destroy();if(stream3._processing){stream3._needDrain=true;stream3.once("drain",onDrainClearBinding)}else{stream3._binding.clear()}}else if(stream3._destroy&&stream3._destroy!==Stream.Transform.prototype._destroy){stream3.destroy()}else if(stream3._destroy&&typeof stream3.close==="function"){stream3.destroyed=true;stream3.close()}else{stream3.destroy()}}else if(typeof stream3.close==="function"){closeZlibStream(stream3)}}function hasDestroy(stream3){return stream3 instanceof Stream&&typeof stream3.destroy==="function"}function isEventEmitter(val){return val instanceof EventEmitter3}function isFsReadStream(stream3){return stream3 instanceof ReadStream}function isZlibStream(stream3){return stream3 instanceof Zlib.Gzip||stream3 instanceof Zlib.Gunzip||stream3 instanceof Zlib.Deflate||stream3 instanceof Zlib.DeflateRaw||stream3 instanceof Zlib.Inflate||stream3 instanceof Zlib.InflateRaw||stream3 instanceof Zlib.Unzip}function noop4(){}function onDrainClearBinding(){this._binding.clear()}function onOpenClose(){if(typeof this.fd==="number"){this.close()}}}});var require_vary=__commonJS({"node_modules/vary/index.js"(exports2,module2){"use strict";module2.exports=vary;module2.exports.append=append;var FIELD_NAME_REGEXP=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;function append(header2,field){if(typeof header2!=="string"){throw new TypeError("header argument is required")}if(!field){throw new TypeError("field argument is required")}var fields=!Array.isArray(field)?parse3(String(field)):field;for(var j=0;j<fields.length;j++){if(!FIELD_NAME_REGEXP.test(fields[j])){throw new TypeError("field argument contains an invalid header name")}}if(header2==="*"){return header2}var val=header2;var vals=parse3(header2.toLowerCase());if(fields.indexOf("*")!==-1||vals.indexOf("*")!==-1){return"*"}for(var i=0;i<fields.length;i++){var fld=fields[i].toLowerCase();if(vals.indexOf(fld)===-1){vals.push(fld);val=val?val+", "+fields[i]:fields[i]}}return val}function parse3(header2){var end=0;var list=[];var start=0;for(var i=0,len=header2.length;i<len;i++){switch(header2.charCodeAt(i)){case 32:if(start===end){start=end=i+1}break;case 44:list.push(header2.substring(start,end));start=end=i+1;break;default:end=i+1;break}}list.push(header2.substring(start,end));return list}function vary(res,field){if(!res||!res.getHeader||!res.setHeader){throw new TypeError("res argument is required")}var val=res.getHeader("Vary")||"";var header2=Array.isArray(val)?val.join(", "):String(val);if(val=append(header2,field)){res.setHeader("Vary",val)}}}});var require_only=__commonJS({"node_modules/only/index.js"(exports2,module2){module2.exports=function(obj,keys2){obj=obj||{};if("string"==typeof keys2)keys2=keys2.split(/ +/);return keys2.reduce(function(ret,key){if(null==obj[key])return ret;ret[key]=obj[key];return ret},{})}}});var require_encodeurl=__commonJS({"node_modules/encodeurl/index.js"(exports2,module2){"use strict";module2.exports=encodeUrl;var ENCODE_CHARS_REGEXP=/(?:[^\x21\x25\x26-\x3B\x3D\x3F-\x5B\x5D\x5F\x61-\x7A\x7E]|%(?:[^0-9A-Fa-f]|[0-9A-Fa-f][^0-9A-Fa-f]|$))+/g;var UNMATCHED_SURROGATE_PAIR_REGEXP=/(^|[^\uD800-\uDBFF])[\uDC00-\uDFFF]|[\uD800-\uDBFF]([^\uDC00-\uDFFF]|$)/g;var UNMATCHED_SURROGATE_PAIR_REPLACE="$1�$2";function encodeUrl(url){return String(url).replace(UNMATCHED_SURROGATE_PAIR_REGEXP,UNMATCHED_SURROGATE_PAIR_REPLACE).replace(ENCODE_CHARS_REGEXP,encodeURI)}}});var require_response2=__commonJS({"node_modules/koa/lib/response.js"(exports2,module2){"use strict";var contentDisposition=require_content_disposition();var getType2=require_cache_content_type();var onFinish=require_on_finished();var escape3=require_escape_html();var typeis=require_type_is().is;var statuses=require_statuses();var destroy=require_destroy();var assert2=require("assert");var extname=require("path").extname;var vary=require_vary();var only=require_only();var util4=require("util");var encodeUrl=require_encodeurl();var Stream=require("stream");var URL3=require("url").URL;module2.exports={get socket(){return this.res.socket},get header(){const{res}=this;return typeof res.getHeaders==="function"?res.getHeaders():res._headers||{}},get headers(){return this.header},get status(){return this.res.statusCode},set status(code){if(this.headerSent)return;assert2(Number.isInteger(code),"status code must be a number");assert2(code>=100&&code<=999,`invalid status code: ${code}`);this._explicitStatus=true;this.res.statusCode=code;if(this.req.httpVersionMajor<2)this.res.statusMessage=statuses[code];if(this.body&&statuses.empty[code])this.body=null},get message(){return this.res.statusMessage||statuses[this.status]},set message(msg){this.res.statusMessage=msg},get body(){return this._body},set body(val){const original=this._body;this._body=val;if(null==val){if(!statuses.empty[this.status])this.status=204;if(val===null)this._explicitNullBody=true;this.remove("Content-Type");this.remove("Content-Length");this.remove("Transfer-Encoding");return}if(!this._explicitStatus)this.status=200;const setType2=!this.has("Content-Type");if("string"===typeof val){if(setType2)this.type=/^\s*</.test(val)?"html":"text";this.length=Buffer.byteLength(val);return}if(Buffer.isBuffer(val)){if(setType2)this.type="bin";this.length=val.length;return}if(val instanceof Stream){onFinish(this.res,destroy.bind(null,val));if(original!=val){val.once("error",err=>this.ctx.onerror(err));if(null!=original)this.remove("Content-Length")}if(setType2)this.type="bin";return}this.remove("Content-Length");this.type="json"},set length(n){if(!this.has("Transfer-Encoding")){this.set("Content-Length",n)}},get length(){if(this.has("Content-Length")){return parseInt(this.get("Content-Length"),10)||0}const{body}=this;if(!body||body instanceof Stream)return void 0;if("string"===typeof body)return Buffer.byteLength(body);if(Buffer.isBuffer(body))return body.length;return Buffer.byteLength(JSON.stringify(body))},get headerSent(){return this.res.headersSent},vary(field){if(this.headerSent)return;vary(this.res,field)},redirect(url,alt){if("back"===url)url=this.ctx.get("Referrer")||alt||"/";if(/^https?:\/\//i.test(url)){url=new URL3(url).toString()}this.set("Location",encodeUrl(url));if(!statuses.redirect[this.status])this.status=302;if(this.ctx.accepts("html")){url=escape3(url);this.type="text/html; charset=utf-8";this.body=`Redirecting to <a href="${url}">${url}</a>.`;return}this.type="text/plain; charset=utf-8";this.body=`Redirecting to ${url}.`},attachment(filename,options){if(filename)this.type=extname(filename);this.set("Content-Disposition",contentDisposition(filename,options))},set type(type2){type2=getType2(type2);if(type2){this.set("Content-Type",type2)}else{this.remove("Content-Type")}},set lastModified(val){if("string"===typeof val)val=new Date(val);this.set("Last-Modified",val.toUTCString())},get lastModified(){const date=this.get("last-modified");if(date)return new Date(date)},set etag(val){if(!/^(W\/)?"/.test(val))val=`"${val}"`;this.set("ETag",val)},get etag(){return this.get("ETag")},get type(){const type2=this.get("Content-Type");if(!type2)return"";return type2.split(";",1)[0]},is(type2,...types6){return typeis(this.type,type2,...types6)},get(field){return this.header[field.toLowerCase()]||""},has(field){return typeof this.res.hasHeader==="function"?this.res.hasHeader(field):field.toLowerCase()in this.headers},set(field,val){if(this.headerSent)return;if(2===arguments.length){if(Array.isArray(val))val=val.map(v=>typeof v==="string"?v:String(v));else if(typeof val!=="string")val=String(val);this.res.setHeader(field,val)}else{for(const key in field){this.set(key,field[key])}}},append(field,val){const prev=this.get(field);if(prev){val=Array.isArray(prev)?prev.concat(val):[prev].concat(val)}return this.set(field,val)},remove(field){if(this.headerSent)return;this.res.removeHeader(field)},get writable(){if(this.res.writableEnded||this.res.finished)return false;const socket=this.res.socket;if(!socket)return true;return socket.writable},inspect(){if(!this.res)return;const o=this.toJSON();o.body=this.body;return o},toJSON(){return only(this,["status","message","header"])},flushHeaders(){this.res.flushHeaders()}};if(util4.inspect.custom){module2.exports[util4.inspect.custom]=module2.exports.inspect}}});var require_koa_compose=__commonJS({"node_modules/koa-compose/index.js"(exports2,module2){"use strict";module2.exports=compose;function compose(middleware){if(!Array.isArray(middleware))throw new TypeError("Middleware stack must be an array!");for(const fn2 of middleware){if(typeof fn2!=="function")throw new TypeError("Middleware must be composed of functions!")}return function(context,next){let index=-1;return dispatch(0);function dispatch(i){if(i<=index)return Promise.reject(new Error("next() called multiple times"));index=i;let fn2=middleware[i];if(i===middleware.length)fn2=next;if(!fn2)return Promise.resolve();try{return Promise.resolve(fn2(context,dispatch.bind(null,i+1)))}catch(err){return Promise.reject(err)}}}}}});var require_callsite_tostring=__commonJS({"node_modules/koa/node_modules/http-errors/node_modules/depd/lib/compat/callsite-tostring.js"(exports2,module2){"use strict";module2.exports=callSiteToString2;function callSiteFileLocation(callSite){var fileName;var fileLocation="";if(callSite.isNative()){fileLocation="native"}else if(callSite.isEval()){fileName=callSite.getScriptNameOrSourceURL();if(!fileName){fileLocation=callSite.getEvalOrigin()}}else{fileName=callSite.getFileName()}if(fileName){fileLocation+=fileName;var lineNumber=callSite.getLineNumber();if(lineNumber!=null){fileLocation+=":"+lineNumber;var columnNumber=callSite.getColumnNumber();if(columnNumber){fileLocation+=":"+columnNumber}}}return fileLocation||"unknown source"}function callSiteToString2(callSite){var addSuffix=true;var fileLocation=callSiteFileLocation(callSite);var functionName=callSite.getFunctionName();var isConstructor=callSite.isConstructor();var isMethodCall=!(callSite.isToplevel()||isConstructor);var line="";if(isMethodCall){var methodName=callSite.getMethodName();var typeName=getConstructorName(callSite);if(functionName){if(typeName&&functionName.indexOf(typeName)!==0){line+=typeName+"."}line+=functionName;if(methodName&&functionName.lastIndexOf("."+methodName)!==functionName.length-methodName.length-1){line+=" [as "+methodName+"]"}}else{line+=typeName+"."+(methodName||"<anonymous>")}}else if(isConstructor){line+="new "+(functionName||"<anonymous>")}else if(functionName){line+=functionName}else{addSuffix=false;line+=fileLocation}if(addSuffix){line+=" ("+fileLocation+")"}return line}function getConstructorName(obj){var receiver=obj.receiver;return receiver.constructor&&receiver.constructor.name||null}}});var require_event_listener_count=__commonJS({"node_modules/koa/node_modules/http-errors/node_modules/depd/lib/compat/event-listener-count.js"(exports2,module2){"use strict";module2.exports=eventListenerCount2;function eventListenerCount2(emitter,type2){return emitter.listeners(type2).length}}});var require_compat=__commonJS({"node_modules/koa/node_modules/http-errors/node_modules/depd/lib/compat/index.js"(exports2,module2){"use strict";var EventEmitter3=require("events").EventEmitter;lazyProperty(module2.exports,"callSiteToString",function callSiteToString2(){var limit=Error.stackTraceLimit;var obj={};var prep=Error.prepareStackTrace;function prepareObjectStackTrace2(obj2,stack3){return stack3}Error.prepareStackTrace=prepareObjectStackTrace2;Error.stackTraceLimit=2;Error.captureStackTrace(obj);var stack2=obj.stack.slice();Error.prepareStackTrace=prep;Error.stackTraceLimit=limit;return stack2[0].toString?toString5:require_callsite_tostring()});lazyProperty(module2.exports,"eventListenerCount",function eventListenerCount2(){return EventEmitter3.listenerCount||require_event_listener_count()});function lazyProperty(obj,prop,getter){function get4(){var val=getter();Object.defineProperty(obj,prop,{configurable:true,enumerable:true,value:val});return val}Object.defineProperty(obj,prop,{configurable:true,enumerable:true,get:get4})}function toString5(obj){return obj.toString()}}});var require_depd=__commonJS({"node_modules/koa/node_modules/http-errors/node_modules/depd/index.js"(exports,module){var callSiteToString=require_compat().callSiteToString;var eventListenerCount=require_compat().eventListenerCount;var relative=require("path").relative;module.exports=depd;var basePath=process.cwd();function containsNamespace(str2,namespace){var vals=str2.split(/[ ,]+/);var ns=String(namespace).toLowerCase();for(var i=0;i<vals.length;i++){var val=vals[i];if(val&&(val==="*"||val.toLowerCase()===ns)){return true}}return false}function convertDataDescriptorToAccessor(obj,prop,message3){var descriptor=Object.getOwnPropertyDescriptor(obj,prop);var value=descriptor.value;descriptor.get=function getter(){return value};if(descriptor.writable){descriptor.set=function setter(val){return value=val}}delete descriptor.value;delete descriptor.writable;Object.defineProperty(obj,prop,descriptor);return descriptor}function createArgumentsString(arity){var str2="";for(var i=0;i<arity;i++){str2+=", arg"+i}return str2.substr(2)}function createStackString(stack2){var str2=this.name+": "+this.namespace;if(this.message){str2+=" deprecated "+this.message}for(var i=0;i<stack2.length;i++){str2+="\n    at "+callSiteToString(stack2[i])}return str2}function depd(namespace){if(!namespace){throw new TypeError("argument namespace is required")}var stack2=getStack();var site2=callSiteLocation(stack2[1]);var file=site2[0];function deprecate2(message3){log.call(deprecate2,message3)}deprecate2._file=file;deprecate2._ignored=isignored(namespace);deprecate2._namespace=namespace;deprecate2._traced=istraced(namespace);deprecate2._warned=Object.create(null);deprecate2.function=wrapfunction;deprecate2.property=wrapproperty;return deprecate2}function isignored(namespace){if(process.noDeprecation){return true}var str2=process.env.NO_DEPRECATION||"";return containsNamespace(str2,namespace)}function istraced(namespace){if(process.traceDeprecation){return true}var str2=process.env.TRACE_DEPRECATION||"";return containsNamespace(str2,namespace)}function log(message3,site2){var haslisteners=eventListenerCount(process,"deprecation")!==0;if(!haslisteners&&this._ignored){return}var caller;var callFile;var callSite;var depSite;var i=0;var seen=false;var stack2=getStack();var file=this._file;if(site2){depSite=site2;callSite=callSiteLocation(stack2[1]);callSite.name=depSite.name;file=callSite[0]}else{i=2;depSite=callSiteLocation(stack2[i]);callSite=depSite}for(;i<stack2.length;i++){caller=callSiteLocation(stack2[i]);callFile=caller[0];if(callFile===file){seen=true}else if(callFile===this._file){file=this._file}else if(seen){break}}var key=caller?depSite.join(":")+"__"+caller.join(":"):void 0;if(key!==void 0&&key in this._warned){return}this._warned[key]=true;var msg=message3;if(!msg){msg=callSite===depSite||!callSite.name?defaultMessage(depSite):defaultMessage(callSite)}if(haslisteners){var err=DeprecationError(this._namespace,msg,stack2.slice(i));process.emit("deprecation",err);return}var format2=process.stderr.isTTY?formatColor:formatPlain;var output=format2.call(this,msg,caller,stack2.slice(i));process.stderr.write(output+"\n","utf8")}function callSiteLocation(callSite){var file=callSite.getFileName()||"<anonymous>";var line=callSite.getLineNumber();var colm=callSite.getColumnNumber();if(callSite.isEval()){file=callSite.getEvalOrigin()+", "+file}var site2=[file,line,colm];site2.callSite=callSite;site2.name=callSite.getFunctionName();return site2}function defaultMessage(site2){var callSite=site2.callSite;var funcName=site2.name;if(!funcName){funcName="<anonymous@"+formatLocation(site2)+">"}var context=callSite.getThis();var typeName=context&&callSite.getTypeName();if(typeName==="Object"){typeName=void 0}if(typeName==="Function"){typeName=context.name||typeName}return typeName&&callSite.getMethodName()?typeName+"."+funcName:funcName}function formatPlain(msg,caller,stack2){var timestamp2=new Date().toUTCString();var formatted=timestamp2+" "+this._namespace+" deprecated "+msg;if(this._traced){for(var i=0;i<stack2.length;i++){formatted+="\n    at "+callSiteToString(stack2[i])}return formatted}if(caller){formatted+=" at "+formatLocation(caller)}return formatted}function formatColor(msg,caller,stack2){var formatted="\x1B[36;1m"+this._namespace+"\x1B[22;39m \x1B[33;1mdeprecated\x1B[22;39m \x1B[0m"+msg+"\x1B[39m";if(this._traced){for(var i=0;i<stack2.length;i++){formatted+="\n    \x1B[36mat "+callSiteToString(stack2[i])+"\x1B[39m"}return formatted}if(caller){formatted+=" \x1B[36m"+formatLocation(caller)+"\x1B[39m"}return formatted}function formatLocation(callSite){return relative(basePath,callSite[0])+":"+callSite[1]+":"+callSite[2]}function getStack(){var limit=Error.stackTraceLimit;var obj={};var prep=Error.prepareStackTrace;Error.prepareStackTrace=prepareObjectStackTrace;Error.stackTraceLimit=Math.max(10,limit);Error.captureStackTrace(obj);var stack2=obj.stack.slice(1);Error.prepareStackTrace=prep;Error.stackTraceLimit=limit;return stack2}function prepareObjectStackTrace(obj,stack2){return stack2}function wrapfunction(fn,message){if(typeof fn!=="function"){throw new TypeError("argument fn must be a function")}var args=createArgumentsString(fn.length);var deprecate=this;var stack=getStack();var site=callSiteLocation(stack[1]);site.name=fn.name;var deprecatedfn=eval("(function ("+args+') {\n"use strict"\nlog.call(deprecate, message, site)\nreturn fn.apply(this, arguments)\n})');return deprecatedfn}function wrapproperty(obj,prop,message3){if(!obj||typeof obj!=="object"&&typeof obj!=="function"){throw new TypeError("argument obj must be object")}var descriptor=Object.getOwnPropertyDescriptor(obj,prop);if(!descriptor){throw new TypeError("must call property on owner object")}if(!descriptor.configurable){throw new TypeError("property must be configurable")}var deprecate2=this;var stack2=getStack();var site2=callSiteLocation(stack2[1]);site2.name=prop;if("value"in descriptor){descriptor=convertDataDescriptorToAccessor(obj,prop,message3)}var get4=descriptor.get;var set3=descriptor.set;if(typeof get4==="function"){descriptor.get=function getter(){log.call(deprecate2,message3,site2);return get4.apply(this,arguments)}}if(typeof set3==="function"){descriptor.set=function setter(){log.call(deprecate2,message3,site2);return set3.apply(this,arguments)}}Object.defineProperty(obj,prop,descriptor)}function DeprecationError(namespace,message3,stack2){var error=new Error;var stackString;Object.defineProperty(error,"constructor",{value:DeprecationError});Object.defineProperty(error,"message",{configurable:true,enumerable:false,value:message3,writable:true});Object.defineProperty(error,"name",{enumerable:false,configurable:true,value:"DeprecationError",writable:true});Object.defineProperty(error,"namespace",{configurable:true,enumerable:false,value:namespace,writable:true});Object.defineProperty(error,"stack",{configurable:true,enumerable:false,get:function(){if(stackString!==void 0){return stackString}return stackString=createStackString.call(this,stack2)},set:function setter(val){stackString=val}});return error}}});var require_setprototypeof=__commonJS({"node_modules/setprototypeof/index.js"(exports2,module2){"use strict";module2.exports=Object.setPrototypeOf||({__proto__:[]}instanceof Array?setProtoOf:mixinProperties);function setProtoOf(obj,proto2){obj.__proto__=proto2;return obj}function mixinProperties(obj,proto2){for(var prop in proto2){if(!Object.prototype.hasOwnProperty.call(obj,prop)){obj[prop]=proto2[prop]}}return obj}}});var require_inherits_browser=__commonJS({"node_modules/inherits/inherits_browser.js"(exports2,module2){if(typeof Object.create==="function"){module2.exports=function inherits(ctor,superCtor){if(superCtor){ctor.super_=superCtor;ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:false,writable:true,configurable:true}})}}}else{module2.exports=function inherits(ctor,superCtor){if(superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype;ctor.prototype=new TempCtor;ctor.prototype.constructor=ctor}}}}});var require_inherits=__commonJS({"node_modules/inherits/inherits.js"(exports2,module2){try{util4=require("util");if(typeof util4.inherits!=="function")throw"";module2.exports=util4.inherits}catch(e){module2.exports=require_inherits_browser()}var util4}});var require_toidentifier=__commonJS({"node_modules/toidentifier/index.js"(exports2,module2){"use strict";module2.exports=toIdentifier;function toIdentifier(str2){return str2.split(" ").map(function(token3){return token3.slice(0,1).toUpperCase()+token3.slice(1)}).join("").replace(/[^ _0-9a-z]/gi,"")}}});var require_http_errors=__commonJS({"node_modules/koa/node_modules/http-errors/index.js"(exports2,module2){"use strict";var deprecate2=require_depd()("http-errors");var setPrototypeOf=require_setprototypeof();var statuses=require_statuses();var inherits=require_inherits();var toIdentifier=require_toidentifier();module2.exports=createError;module2.exports.HttpError=createHttpErrorConstructor();module2.exports.isHttpError=createIsHttpErrorFunction(module2.exports.HttpError);populateConstructorExports(module2.exports,statuses.codes,module2.exports.HttpError);function codeClass(status){return Number(String(status).charAt(0)+"00")}function createError(){var err;var msg;var status=500;var props={};for(var i=0;i<arguments.length;i++){var arg=arguments[i];if(arg instanceof Error){err=arg;status=err.status||err.statusCode||status;continue}switch(typeof arg){case"string":msg=arg;break;case"number":status=arg;if(i!==0){deprecate2("non-first-argument status code; replace with createError("+arg+", ...)")}break;case"object":props=arg;break}}if(typeof status==="number"&&(status<400||status>=600)){deprecate2("non-error status code; use only 4xx or 5xx status codes")}if(typeof status!=="number"||!statuses[status]&&(status<400||status>=600)){status=500}var HttpError2=createError[status]||createError[codeClass(status)];if(!err){err=HttpError2?new HttpError2(msg):new Error(msg||statuses[status]);Error.captureStackTrace(err,createError)}if(!HttpError2||!(err instanceof HttpError2)||err.status!==status){err.expose=status<500;err.status=err.statusCode=status}for(var key in props){if(key!=="status"&&key!=="statusCode"){err[key]=props[key]}}return err}function createHttpErrorConstructor(){function HttpError2(){throw new TypeError("cannot construct abstract class")}inherits(HttpError2,Error);return HttpError2}function createClientErrorConstructor(HttpError2,name,code){var className=toClassName(name);function ClientError(message3){var msg=message3!=null?message3:statuses[code];var err=new Error(msg);Error.captureStackTrace(err,ClientError);setPrototypeOf(err,ClientError.prototype);Object.defineProperty(err,"message",{enumerable:true,configurable:true,value:msg,writable:true});Object.defineProperty(err,"name",{enumerable:false,configurable:true,value:className,writable:true});return err}inherits(ClientError,HttpError2);nameFunc(ClientError,className);ClientError.prototype.status=code;ClientError.prototype.statusCode=code;ClientError.prototype.expose=true;return ClientError}function createIsHttpErrorFunction(HttpError2){return function isHttpError(val){if(!val||typeof val!=="object"){return false}if(val instanceof HttpError2){return true}return val instanceof Error&&typeof val.expose==="boolean"&&typeof val.statusCode==="number"&&val.status===val.statusCode}}function createServerErrorConstructor(HttpError2,name,code){var className=toClassName(name);function ServerError(message3){var msg=message3!=null?message3:statuses[code];var err=new Error(msg);Error.captureStackTrace(err,ServerError);setPrototypeOf(err,ServerError.prototype);Object.defineProperty(err,"message",{enumerable:true,configurable:true,value:msg,writable:true});Object.defineProperty(err,"name",{enumerable:false,configurable:true,value:className,writable:true});return err}inherits(ServerError,HttpError2);nameFunc(ServerError,className);ServerError.prototype.status=code;ServerError.prototype.statusCode=code;ServerError.prototype.expose=false;return ServerError}function nameFunc(func,name){var desc=Object.getOwnPropertyDescriptor(func,"name");if(desc&&desc.configurable){desc.value=name;Object.defineProperty(func,"name",desc)}}function populateConstructorExports(exports3,codes,HttpError2){codes.forEach(function forEachCode(code){var CodeError;var name=toIdentifier(statuses[code]);switch(codeClass(code)){case 400:CodeError=createClientErrorConstructor(HttpError2,name,code);break;case 500:CodeError=createServerErrorConstructor(HttpError2,name,code);break}if(CodeError){exports3[code]=CodeError;exports3[name]=CodeError}});exports3["I'mateapot"]=deprecate2.function(exports3.ImATeapot,`"I'mateapot"; use "ImATeapot" instead`)}function toClassName(name){return name.substr(-5)!=="Error"?name+"Error":name}}});var require_callsite_tostring2=__commonJS({"node_modules/http-assert/node_modules/depd/lib/compat/callsite-tostring.js"(exports2,module2){"use strict";module2.exports=callSiteToString2;function callSiteFileLocation(callSite){var fileName;var fileLocation="";if(callSite.isNative()){fileLocation="native"}else if(callSite.isEval()){fileName=callSite.getScriptNameOrSourceURL();if(!fileName){fileLocation=callSite.getEvalOrigin()}}else{fileName=callSite.getFileName()}if(fileName){fileLocation+=fileName;var lineNumber=callSite.getLineNumber();if(lineNumber!=null){fileLocation+=":"+lineNumber;var columnNumber=callSite.getColumnNumber();if(columnNumber){fileLocation+=":"+columnNumber}}}return fileLocation||"unknown source"}function callSiteToString2(callSite){var addSuffix=true;var fileLocation=callSiteFileLocation(callSite);var functionName=callSite.getFunctionName();var isConstructor=callSite.isConstructor();var isMethodCall=!(callSite.isToplevel()||isConstructor);var line="";if(isMethodCall){var methodName=callSite.getMethodName();var typeName=getConstructorName(callSite);if(functionName){if(typeName&&functionName.indexOf(typeName)!==0){line+=typeName+"."}line+=functionName;if(methodName&&functionName.lastIndexOf("."+methodName)!==functionName.length-methodName.length-1){line+=" [as "+methodName+"]"}}else{line+=typeName+"."+(methodName||"<anonymous>")}}else if(isConstructor){line+="new "+(functionName||"<anonymous>")}else if(functionName){line+=functionName}else{addSuffix=false;line+=fileLocation}if(addSuffix){line+=" ("+fileLocation+")"}return line}function getConstructorName(obj){var receiver=obj.receiver;return receiver.constructor&&receiver.constructor.name||null}}});var require_event_listener_count2=__commonJS({"node_modules/http-assert/node_modules/depd/lib/compat/event-listener-count.js"(exports2,module2){"use strict";module2.exports=eventListenerCount2;function eventListenerCount2(emitter,type2){return emitter.listeners(type2).length}}});var require_compat2=__commonJS({"node_modules/http-assert/node_modules/depd/lib/compat/index.js"(exports2,module2){"use strict";var EventEmitter3=require("events").EventEmitter;lazyProperty(module2.exports,"callSiteToString",function callSiteToString2(){var limit=Error.stackTraceLimit;var obj={};var prep=Error.prepareStackTrace;function prepareObjectStackTrace2(obj2,stack3){return stack3}Error.prepareStackTrace=prepareObjectStackTrace2;Error.stackTraceLimit=2;Error.captureStackTrace(obj);var stack2=obj.stack.slice();Error.prepareStackTrace=prep;Error.stackTraceLimit=limit;return stack2[0].toString?toString5:require_callsite_tostring2()});lazyProperty(module2.exports,"eventListenerCount",function eventListenerCount2(){return EventEmitter3.listenerCount||require_event_listener_count2()});function lazyProperty(obj,prop,getter){function get4(){var val=getter();Object.defineProperty(obj,prop,{configurable:true,enumerable:true,value:val});return val}Object.defineProperty(obj,prop,{configurable:true,enumerable:true,get:get4})}function toString5(obj){return obj.toString()}}});var require_depd2=__commonJS({"node_modules/http-assert/node_modules/depd/index.js"(exports,module){var callSiteToString=require_compat2().callSiteToString;var eventListenerCount=require_compat2().eventListenerCount;var relative=require("path").relative;module.exports=depd;var basePath=process.cwd();function containsNamespace(str2,namespace){var vals=str2.split(/[ ,]+/);var ns=String(namespace).toLowerCase();for(var i=0;i<vals.length;i++){var val=vals[i];if(val&&(val==="*"||val.toLowerCase()===ns)){return true}}return false}function convertDataDescriptorToAccessor(obj,prop,message3){var descriptor=Object.getOwnPropertyDescriptor(obj,prop);var value=descriptor.value;descriptor.get=function getter(){return value};if(descriptor.writable){descriptor.set=function setter(val){return value=val}}delete descriptor.value;delete descriptor.writable;Object.defineProperty(obj,prop,descriptor);return descriptor}function createArgumentsString(arity){var str2="";for(var i=0;i<arity;i++){str2+=", arg"+i}return str2.substr(2)}function createStackString(stack2){var str2=this.name+": "+this.namespace;if(this.message){str2+=" deprecated "+this.message}for(var i=0;i<stack2.length;i++){str2+="\n    at "+callSiteToString(stack2[i])}return str2}function depd(namespace){if(!namespace){throw new TypeError("argument namespace is required")}var stack2=getStack();var site2=callSiteLocation(stack2[1]);var file=site2[0];function deprecate2(message3){log.call(deprecate2,message3)}deprecate2._file=file;deprecate2._ignored=isignored(namespace);deprecate2._namespace=namespace;deprecate2._traced=istraced(namespace);deprecate2._warned=Object.create(null);deprecate2.function=wrapfunction;deprecate2.property=wrapproperty;return deprecate2}function isignored(namespace){if(process.noDeprecation){return true}var str2=process.env.NO_DEPRECATION||"";return containsNamespace(str2,namespace)}function istraced(namespace){if(process.traceDeprecation){return true}var str2=process.env.TRACE_DEPRECATION||"";return containsNamespace(str2,namespace)}function log(message3,site2){var haslisteners=eventListenerCount(process,"deprecation")!==0;if(!haslisteners&&this._ignored){return}var caller;var callFile;var callSite;var depSite;var i=0;var seen=false;var stack2=getStack();var file=this._file;if(site2){depSite=site2;callSite=callSiteLocation(stack2[1]);callSite.name=depSite.name;file=callSite[0]}else{i=2;depSite=callSiteLocation(stack2[i]);callSite=depSite}for(;i<stack2.length;i++){caller=callSiteLocation(stack2[i]);callFile=caller[0];if(callFile===file){seen=true}else if(callFile===this._file){file=this._file}else if(seen){break}}var key=caller?depSite.join(":")+"__"+caller.join(":"):void 0;if(key!==void 0&&key in this._warned){return}this._warned[key]=true;var msg=message3;if(!msg){msg=callSite===depSite||!callSite.name?defaultMessage(depSite):defaultMessage(callSite)}if(haslisteners){var err=DeprecationError(this._namespace,msg,stack2.slice(i));process.emit("deprecation",err);return}var format2=process.stderr.isTTY?formatColor:formatPlain;var output=format2.call(this,msg,caller,stack2.slice(i));process.stderr.write(output+"\n","utf8")}function callSiteLocation(callSite){var file=callSite.getFileName()||"<anonymous>";var line=callSite.getLineNumber();var colm=callSite.getColumnNumber();if(callSite.isEval()){file=callSite.getEvalOrigin()+", "+file}var site2=[file,line,colm];site2.callSite=callSite;site2.name=callSite.getFunctionName();return site2}function defaultMessage(site2){var callSite=site2.callSite;var funcName=site2.name;if(!funcName){funcName="<anonymous@"+formatLocation(site2)+">"}var context=callSite.getThis();var typeName=context&&callSite.getTypeName();if(typeName==="Object"){typeName=void 0}if(typeName==="Function"){typeName=context.name||typeName}return typeName&&callSite.getMethodName()?typeName+"."+funcName:funcName}function formatPlain(msg,caller,stack2){var timestamp2=new Date().toUTCString();var formatted=timestamp2+" "+this._namespace+" deprecated "+msg;if(this._traced){for(var i=0;i<stack2.length;i++){formatted+="\n    at "+callSiteToString(stack2[i])}return formatted}if(caller){formatted+=" at "+formatLocation(caller)}return formatted}function formatColor(msg,caller,stack2){var formatted="\x1B[36;1m"+this._namespace+"\x1B[22;39m \x1B[33;1mdeprecated\x1B[22;39m \x1B[0m"+msg+"\x1B[39m";if(this._traced){for(var i=0;i<stack2.length;i++){formatted+="\n    \x1B[36mat "+callSiteToString(stack2[i])+"\x1B[39m"}return formatted}if(caller){formatted+=" \x1B[36m"+formatLocation(caller)+"\x1B[39m"}return formatted}function formatLocation(callSite){return relative(basePath,callSite[0])+":"+callSite[1]+":"+callSite[2]}function getStack(){var limit=Error.stackTraceLimit;var obj={};var prep=Error.prepareStackTrace;Error.prepareStackTrace=prepareObjectStackTrace;Error.stackTraceLimit=Math.max(10,limit);Error.captureStackTrace(obj);var stack2=obj.stack.slice(1);Error.prepareStackTrace=prep;Error.stackTraceLimit=limit;return stack2}function prepareObjectStackTrace(obj,stack2){return stack2}function wrapfunction(fn,message){if(typeof fn!=="function"){throw new TypeError("argument fn must be a function")}var args=createArgumentsString(fn.length);var deprecate=this;var stack=getStack();var site=callSiteLocation(stack[1]);site.name=fn.name;var deprecatedfn=eval("(function ("+args+') {\n"use strict"\nlog.call(deprecate, message, site)\nreturn fn.apply(this, arguments)\n})');return deprecatedfn}function wrapproperty(obj,prop,message3){if(!obj||typeof obj!=="object"&&typeof obj!=="function"){throw new TypeError("argument obj must be object")}var descriptor=Object.getOwnPropertyDescriptor(obj,prop);if(!descriptor){throw new TypeError("must call property on owner object")}if(!descriptor.configurable){throw new TypeError("property must be configurable")}var deprecate2=this;var stack2=getStack();var site2=callSiteLocation(stack2[1]);site2.name=prop;if("value"in descriptor){descriptor=convertDataDescriptorToAccessor(obj,prop,message3)}var get4=descriptor.get;var set3=descriptor.set;if(typeof get4==="function"){descriptor.get=function getter(){log.call(deprecate2,message3,site2);return get4.apply(this,arguments)}}if(typeof set3==="function"){descriptor.set=function setter(){log.call(deprecate2,message3,site2);return set3.apply(this,arguments)}}Object.defineProperty(obj,prop,descriptor)}function DeprecationError(namespace,message3,stack2){var error=new Error;var stackString;Object.defineProperty(error,"constructor",{value:DeprecationError});Object.defineProperty(error,"message",{configurable:true,enumerable:false,value:message3,writable:true});Object.defineProperty(error,"name",{enumerable:false,configurable:true,value:"DeprecationError",writable:true});Object.defineProperty(error,"namespace",{configurable:true,enumerable:false,value:namespace,writable:true});Object.defineProperty(error,"stack",{configurable:true,enumerable:false,get:function(){if(stackString!==void 0){return stackString}return stackString=createStackString.call(this,stack2)},set:function setter(val){stackString=val}});return error}}});var require_codes2=__commonJS({"node_modules/http-assert/node_modules/statuses/codes.json"(exports2,module2){module2.exports={"100":"Continue","101":"Switching Protocols","102":"Processing","103":"Early Hints","200":"OK","201":"Created","202":"Accepted","203":"Non-Authoritative Information","204":"No Content","205":"Reset Content","206":"Partial Content","207":"Multi-Status","208":"Already Reported","226":"IM Used","300":"Multiple Choices","301":"Moved Permanently","302":"Found","303":"See Other","304":"Not Modified","305":"Use Proxy","306":"(Unused)","307":"Temporary Redirect","308":"Permanent Redirect","400":"Bad Request","401":"Unauthorized","402":"Payment Required","403":"Forbidden","404":"Not Found","405":"Method Not Allowed","406":"Not Acceptable","407":"Proxy Authentication Required","408":"Request Timeout","409":"Conflict","410":"Gone","411":"Length Required","412":"Precondition Failed","413":"Payload Too Large","414":"URI Too Long","415":"Unsupported Media Type","416":"Range Not Satisfiable","417":"Expectation Failed","418":"I'm a teapot","421":"Misdirected Request","422":"Unprocessable Entity","423":"Locked","424":"Failed Dependency","425":"Unordered Collection","426":"Upgrade Required","428":"Precondition Required","429":"Too Many Requests","431":"Request Header Fields Too Large","451":"Unavailable For Legal Reasons","500":"Internal Server Error","501":"Not Implemented","502":"Bad Gateway","503":"Service Unavailable","504":"Gateway Timeout","505":"HTTP Version Not Supported","506":"Variant Also Negotiates","507":"Insufficient Storage","508":"Loop Detected","509":"Bandwidth Limit Exceeded","510":"Not Extended","511":"Network Authentication Required"}}});var require_statuses2=__commonJS({"node_modules/http-assert/node_modules/statuses/index.js"(exports2,module2){"use strict";var codes=require_codes2();module2.exports=status;status.STATUS_CODES=codes;status.codes=populateStatusesMap(status,codes);status.redirect={300:true,301:true,302:true,303:true,305:true,307:true,308:true};status.empty={204:true,205:true,304:true};status.retry={502:true,503:true,504:true};function populateStatusesMap(statuses,codes2){var arr=[];Object.keys(codes2).forEach(function forEachCode(code){var message3=codes2[code];var status2=Number(code);statuses[status2]=message3;statuses[message3]=status2;statuses[message3.toLowerCase()]=status2;arr.push(status2)});return arr}function status(code){if(typeof code==="number"){if(!status[code])throw new Error("invalid status code: "+code);return code}if(typeof code!=="string"){throw new TypeError("code must be a number or string")}var n=parseInt(code,10);if(!isNaN(n)){if(!status[n])throw new Error("invalid status code: "+n);return n}n=status[code.toLowerCase()];if(!n)throw new Error('invalid status message: "'+code+'"');return n}}});var require_http_errors2=__commonJS({"node_modules/http-assert/node_modules/http-errors/index.js"(exports2,module2){"use strict";var deprecate2=require_depd2()("http-errors");var setPrototypeOf=require_setprototypeof();var statuses=require_statuses2();var inherits=require_inherits();var toIdentifier=require_toidentifier();module2.exports=createError;module2.exports.HttpError=createHttpErrorConstructor();module2.exports.isHttpError=createIsHttpErrorFunction(module2.exports.HttpError);populateConstructorExports(module2.exports,statuses.codes,module2.exports.HttpError);function codeClass(status){return Number(String(status).charAt(0)+"00")}function createError(){var err;var msg;var status=500;var props={};for(var i=0;i<arguments.length;i++){var arg=arguments[i];if(arg instanceof Error){err=arg;status=err.status||err.statusCode||status;continue}switch(typeof arg){case"string":msg=arg;break;case"number":status=arg;if(i!==0){deprecate2("non-first-argument status code; replace with createError("+arg+", ...)")}break;case"object":props=arg;break}}if(typeof status==="number"&&(status<400||status>=600)){deprecate2("non-error status code; use only 4xx or 5xx status codes")}if(typeof status!=="number"||!statuses[status]&&(status<400||status>=600)){status=500}var HttpError2=createError[status]||createError[codeClass(status)];if(!err){err=HttpError2?new HttpError2(msg):new Error(msg||statuses[status]);Error.captureStackTrace(err,createError)}if(!HttpError2||!(err instanceof HttpError2)||err.status!==status){err.expose=status<500;err.status=err.statusCode=status}for(var key in props){if(key!=="status"&&key!=="statusCode"){err[key]=props[key]}}return err}function createHttpErrorConstructor(){function HttpError2(){throw new TypeError("cannot construct abstract class")}inherits(HttpError2,Error);return HttpError2}function createClientErrorConstructor(HttpError2,name,code){var className=toClassName(name);function ClientError(message3){var msg=message3!=null?message3:statuses[code];var err=new Error(msg);Error.captureStackTrace(err,ClientError);setPrototypeOf(err,ClientError.prototype);Object.defineProperty(err,"message",{enumerable:true,configurable:true,value:msg,writable:true});Object.defineProperty(err,"name",{enumerable:false,configurable:true,value:className,writable:true});return err}inherits(ClientError,HttpError2);nameFunc(ClientError,className);ClientError.prototype.status=code;ClientError.prototype.statusCode=code;ClientError.prototype.expose=true;return ClientError}function createIsHttpErrorFunction(HttpError2){return function isHttpError(val){if(!val||typeof val!=="object"){return false}if(val instanceof HttpError2){return true}return val instanceof Error&&typeof val.expose==="boolean"&&typeof val.statusCode==="number"&&val.status===val.statusCode}}function createServerErrorConstructor(HttpError2,name,code){var className=toClassName(name);function ServerError(message3){var msg=message3!=null?message3:statuses[code];var err=new Error(msg);Error.captureStackTrace(err,ServerError);setPrototypeOf(err,ServerError.prototype);Object.defineProperty(err,"message",{enumerable:true,configurable:true,value:msg,writable:true});Object.defineProperty(err,"name",{enumerable:false,configurable:true,value:className,writable:true});return err}inherits(ServerError,HttpError2);nameFunc(ServerError,className);ServerError.prototype.status=code;ServerError.prototype.statusCode=code;ServerError.prototype.expose=false;return ServerError}function nameFunc(func,name){var desc=Object.getOwnPropertyDescriptor(func,"name");if(desc&&desc.configurable){desc.value=name;Object.defineProperty(func,"name",desc)}}function populateConstructorExports(exports3,codes,HttpError2){codes.forEach(function forEachCode(code){var CodeError;var name=toIdentifier(statuses[code]);switch(codeClass(code)){case 400:CodeError=createClientErrorConstructor(HttpError2,name,code);break;case 500:CodeError=createServerErrorConstructor(HttpError2,name,code);break}if(CodeError){exports3[code]=CodeError;exports3[name]=CodeError}});exports3["I'mateapot"]=deprecate2.function(exports3.ImATeapot,`"I'mateapot"; use "ImATeapot" instead`)}function toClassName(name){return name.substr(-5)!=="Error"?name+"Error":name}}});var require_keys=__commonJS({"node_modules/deep-equal/lib/keys.js"(exports2,module2){exports2=module2.exports=typeof Object.keys==="function"?Object.keys:shim;exports2.shim=shim;function shim(obj){var keys2=[];for(var key in obj)keys2.push(key);return keys2}}});var require_is_arguments=__commonJS({"node_modules/deep-equal/lib/is_arguments.js"(exports2,module2){var supportsArgumentsClass=function(){return Object.prototype.toString.call(arguments)}()=="[object Arguments]";exports2=module2.exports=supportsArgumentsClass?supported:unsupported;exports2.supported=supported;function supported(object){return Object.prototype.toString.call(object)=="[object Arguments]"}exports2.unsupported=unsupported;function unsupported(object){return object&&typeof object=="object"&&typeof object.length=="number"&&Object.prototype.hasOwnProperty.call(object,"callee")&&!Object.prototype.propertyIsEnumerable.call(object,"callee")||false}}});var require_deep_equal=__commonJS({"node_modules/deep-equal/index.js"(exports2,module2){var pSlice=Array.prototype.slice;var objectKeys=require_keys();var isArguments2=require_is_arguments();var deepEqual=module2.exports=function(actual,expected,opts){if(!opts)opts={};if(actual===expected){return true}else if(actual instanceof Date&&expected instanceof Date){return actual.getTime()===expected.getTime()}else if(!actual||!expected||typeof actual!="object"&&typeof expected!="object"){return opts.strict?actual===expected:actual==expected}else{return objEquiv(actual,expected,opts)}};function isUndefinedOrNull(value){return value===null||value===void 0}function isBuffer2(x){if(!x||typeof x!=="object"||typeof x.length!=="number")return false;if(typeof x.copy!=="function"||typeof x.slice!=="function"){return false}if(x.length>0&&typeof x[0]!=="number")return false;return true}function objEquiv(a,b,opts){var i,key;if(isUndefinedOrNull(a)||isUndefinedOrNull(b))return false;if(a.prototype!==b.prototype)return false;if(isArguments2(a)){if(!isArguments2(b)){return false}a=pSlice.call(a);b=pSlice.call(b);return deepEqual(a,b,opts)}if(isBuffer2(a)){if(!isBuffer2(b)){return false}if(a.length!==b.length)return false;for(i=0;i<a.length;i++){if(a[i]!==b[i])return false}return true}try{var ka=objectKeys(a),kb=objectKeys(b)}catch(e){return false}if(ka.length!=kb.length)return false;ka.sort();kb.sort();for(i=ka.length-1;i>=0;i--){if(ka[i]!=kb[i])return false}for(i=ka.length-1;i>=0;i--){key=ka[i];if(!deepEqual(a[key],b[key],opts))return false}return typeof a===typeof b}}});var require_http_assert=__commonJS({"node_modules/http-assert/index.js"(exports2,module2){var createError=require_http_errors2();var eql=require_deep_equal();module2.exports=assert2;function assert2(value,status,msg,opts){if(value)return;throw createError(status,msg,opts)}assert2.fail=function(status,msg,opts){assert2(false,status,msg,opts)};assert2.equal=function(a,b,status,msg,opts){assert2(a==b,status,msg,opts)};assert2.notEqual=function(a,b,status,msg,opts){assert2(a!=b,status,msg,opts)};assert2.ok=function(value,status,msg,opts){assert2(value,status,msg,opts)};assert2.strictEqual=function(a,b,status,msg,opts){assert2(a===b,status,msg,opts)};assert2.notStrictEqual=function(a,b,status,msg,opts){assert2(a!==b,status,msg,opts)};assert2.deepEqual=function(a,b,status,msg,opts){assert2(eql(a,b),status,msg,opts)};assert2.notDeepEqual=function(a,b,status,msg,opts){assert2(!eql(a,b),status,msg,opts)}}});var require_delegates=__commonJS({"node_modules/delegates/index.js"(exports2,module2){module2.exports=Delegator;function Delegator(proto2,target){if(!(this instanceof Delegator))return new Delegator(proto2,target);this.proto=proto2;this.target=target;this.methods=[];this.getters=[];this.setters=[];this.fluents=[]}Delegator.prototype.method=function(name){var proto2=this.proto;var target=this.target;this.methods.push(name);proto2[name]=function(){return this[target][name].apply(this[target],arguments)};return this};Delegator.prototype.access=function(name){return this.getter(name).setter(name)};Delegator.prototype.getter=function(name){var proto2=this.proto;var target=this.target;this.getters.push(name);proto2.__defineGetter__(name,function(){return this[target][name]});return this};Delegator.prototype.setter=function(name){var proto2=this.proto;var target=this.target;this.setters.push(name);proto2.__defineSetter__(name,function(val){return this[target][name]=val});return this};Delegator.prototype.fluent=function(name){var proto2=this.proto;var target=this.target;this.fluents.push(name);proto2[name]=function(val){if("undefined"!=typeof val){this[target][name]=val;return this}else{return this[target][name]}};return this}}});var require_depd3=__commonJS({"node_modules/depd/index.js"(exports2,module2){var relative3=require("path").relative;module2.exports=depd2;var basePath2=process.cwd();function containsNamespace2(str2,namespace){var vals=str2.split(/[ ,]+/);var ns=String(namespace).toLowerCase();for(var i=0;i<vals.length;i++){var val=vals[i];if(val&&(val==="*"||val.toLowerCase()===ns)){return true}}return false}function convertDataDescriptorToAccessor2(obj,prop,message3){var descriptor=Object.getOwnPropertyDescriptor(obj,prop);var value=descriptor.value;descriptor.get=function getter(){return value};if(descriptor.writable){descriptor.set=function setter(val){return value=val}}delete descriptor.value;delete descriptor.writable;Object.defineProperty(obj,prop,descriptor);return descriptor}function createArgumentsString2(arity){var str2="";for(var i=0;i<arity;i++){str2+=", arg"+i}return str2.substr(2)}function createStackString2(stack2){var str2=this.name+": "+this.namespace;if(this.message){str2+=" deprecated "+this.message}for(var i=0;i<stack2.length;i++){str2+="\n    at "+stack2[i].toString()}return str2}function depd2(namespace){if(!namespace){throw new TypeError("argument namespace is required")}var stack2=getStack2();var site2=callSiteLocation2(stack2[1]);var file=site2[0];function deprecate2(message3){log2.call(deprecate2,message3)}deprecate2._file=file;deprecate2._ignored=isignored2(namespace);deprecate2._namespace=namespace;deprecate2._traced=istraced2(namespace);deprecate2._warned=Object.create(null);deprecate2.function=wrapfunction2;deprecate2.property=wrapproperty2;return deprecate2}function eehaslisteners(emitter,type2){var count=typeof emitter.listenerCount!=="function"?emitter.listeners(type2).length:emitter.listenerCount(type2);return count>0}function isignored2(namespace){if(process.noDeprecation){return true}var str2=process.env.NO_DEPRECATION||"";return containsNamespace2(str2,namespace)}function istraced2(namespace){if(process.traceDeprecation){return true}var str2=process.env.TRACE_DEPRECATION||"";return containsNamespace2(str2,namespace)}function log2(message3,site2){var haslisteners=eehaslisteners(process,"deprecation");if(!haslisteners&&this._ignored){return}var caller;var callFile;var callSite;var depSite;var i=0;var seen=false;var stack2=getStack2();var file=this._file;if(site2){depSite=site2;callSite=callSiteLocation2(stack2[1]);callSite.name=depSite.name;file=callSite[0]}else{i=2;depSite=callSiteLocation2(stack2[i]);callSite=depSite}for(;i<stack2.length;i++){caller=callSiteLocation2(stack2[i]);callFile=caller[0];if(callFile===file){seen=true}else if(callFile===this._file){file=this._file}else if(seen){break}}var key=caller?depSite.join(":")+"__"+caller.join(":"):void 0;if(key!==void 0&&key in this._warned){return}this._warned[key]=true;var msg=message3;if(!msg){msg=callSite===depSite||!callSite.name?defaultMessage2(depSite):defaultMessage2(callSite)}if(haslisteners){var err=DeprecationError2(this._namespace,msg,stack2.slice(i));process.emit("deprecation",err);return}var format2=process.stderr.isTTY?formatColor2:formatPlain2;var output=format2.call(this,msg,caller,stack2.slice(i));process.stderr.write(output+"\n","utf8")}function callSiteLocation2(callSite){var file=callSite.getFileName()||"<anonymous>";var line=callSite.getLineNumber();var colm=callSite.getColumnNumber();if(callSite.isEval()){file=callSite.getEvalOrigin()+", "+file}var site2=[file,line,colm];site2.callSite=callSite;site2.name=callSite.getFunctionName();return site2}function defaultMessage2(site2){var callSite=site2.callSite;var funcName=site2.name;if(!funcName){funcName="<anonymous@"+formatLocation2(site2)+">"}var context=callSite.getThis();var typeName=context&&callSite.getTypeName();if(typeName==="Object"){typeName=void 0}if(typeName==="Function"){typeName=context.name||typeName}return typeName&&callSite.getMethodName()?typeName+"."+funcName:funcName}function formatPlain2(msg,caller,stack2){var timestamp2=new Date().toUTCString();var formatted=timestamp2+" "+this._namespace+" deprecated "+msg;if(this._traced){for(var i=0;i<stack2.length;i++){formatted+="\n    at "+stack2[i].toString()}return formatted}if(caller){formatted+=" at "+formatLocation2(caller)}return formatted}function formatColor2(msg,caller,stack2){var formatted="\x1B[36;1m"+this._namespace+"\x1B[22;39m \x1B[33;1mdeprecated\x1B[22;39m \x1B[0m"+msg+"\x1B[39m";if(this._traced){for(var i=0;i<stack2.length;i++){formatted+="\n    \x1B[36mat "+stack2[i].toString()+"\x1B[39m"}return formatted}if(caller){formatted+=" \x1B[36m"+formatLocation2(caller)+"\x1B[39m"}return formatted}function formatLocation2(callSite){return relative3(basePath2,callSite[0])+":"+callSite[1]+":"+callSite[2]}function getStack2(){var limit=Error.stackTraceLimit;var obj={};var prep=Error.prepareStackTrace;Error.prepareStackTrace=prepareObjectStackTrace2;Error.stackTraceLimit=Math.max(10,limit);Error.captureStackTrace(obj);var stack2=obj.stack.slice(1);Error.prepareStackTrace=prep;Error.stackTraceLimit=limit;return stack2}function prepareObjectStackTrace2(obj,stack2){return stack2}function wrapfunction2(fn2,message3){if(typeof fn2!=="function"){throw new TypeError("argument fn must be a function")}var args2=createArgumentsString2(fn2.length);var stack2=getStack2();var site2=callSiteLocation2(stack2[1]);site2.name=fn2.name;var deprecatedfn2=new Function("fn","log","deprecate","message","site",'"use strict"\nreturn function ('+args2+") {log.call(deprecate, message, site)\nreturn fn.apply(this, arguments)\n}")(fn2,log2,this,message3,site2);return deprecatedfn2}function wrapproperty2(obj,prop,message3){if(!obj||typeof obj!=="object"&&typeof obj!=="function"){throw new TypeError("argument obj must be object")}var descriptor=Object.getOwnPropertyDescriptor(obj,prop);if(!descriptor){throw new TypeError("must call property on owner object")}if(!descriptor.configurable){throw new TypeError("property must be configurable")}var deprecate2=this;var stack2=getStack2();var site2=callSiteLocation2(stack2[1]);site2.name=prop;if("value"in descriptor){descriptor=convertDataDescriptorToAccessor2(obj,prop,message3)}var get4=descriptor.get;var set3=descriptor.set;if(typeof get4==="function"){descriptor.get=function getter(){log2.call(deprecate2,message3,site2);return get4.apply(this,arguments)}}if(typeof set3==="function"){descriptor.set=function setter(){log2.call(deprecate2,message3,site2);return set3.apply(this,arguments)}}Object.defineProperty(obj,prop,descriptor)}function DeprecationError2(namespace,message3,stack2){var error=new Error;var stackString;Object.defineProperty(error,"constructor",{value:DeprecationError2});Object.defineProperty(error,"message",{configurable:true,enumerable:false,value:message3,writable:true});Object.defineProperty(error,"name",{enumerable:false,configurable:true,value:"DeprecationError",writable:true});Object.defineProperty(error,"namespace",{configurable:true,enumerable:false,value:namespace,writable:true});Object.defineProperty(error,"stack",{configurable:true,enumerable:false,get:function(){if(stackString!==void 0){return stackString}return stackString=createStackString2.call(this,stack2)},set:function setter(val){stackString=val}});return error}}});var require_lib8=__commonJS({"node_modules/tsscmp/lib/index.js"(exports2,module2){"use strict";var crypto6=require("crypto");function bufferEqual(a,b){if(a.length!==b.length){return false}if(crypto6.timingSafeEqual){return crypto6.timingSafeEqual(a,b)}for(var i=0;i<a.length;i++){if(a[i]!==b[i]){return false}}return true}function timeSafeCompare(a,b){var sa=String(a);var sb=String(b);var key=crypto6.pseudoRandomBytes(32);var ah=crypto6.createHmac("sha256",key).update(sa).digest();var bh=crypto6.createHmac("sha256",key).update(sb).digest();return bufferEqual(ah,bh)&&a===b}module2.exports=timeSafeCompare}});var require_keygrip=__commonJS({"node_modules/keygrip/index.js"(exports2,module2){"use strict";var compare=require_lib8();var crypto6=require("crypto");function Keygrip(keys2,algorithm,encoding){if(!algorithm)algorithm="sha1";if(!encoding)encoding="base64";if(!(this instanceof Keygrip))return new Keygrip(keys2,algorithm,encoding);if(!keys2||!(0 in keys2)){throw new Error("Keys must be provided.")}function sign(data,key){return crypto6.createHmac(algorithm,key).update(data).digest(encoding).replace(/\/|\+|=/g,function(x){return{"/":"_","+":"-","=":""}[x]})}this.sign=function(data){return sign(data,keys2[0])};this.verify=function(data,digest2){return this.index(data,digest2)>-1};this.index=function(data,digest2){for(var i=0,l=keys2.length;i<l;i++){if(compare(digest2,sign(data,keys2[i]))){return i}}return-1}}Keygrip.sign=Keygrip.verify=Keygrip.index=function(){throw new Error("Usage: require('keygrip')(<array-of-keys>)")};module2.exports=Keygrip}});var require_cookies2=__commonJS({"node_modules/cookies/index.js"(exports2,module2){"use strict";var deprecate2=require_depd3()("cookies");var Keygrip=require_keygrip();var http3=require("http");var fieldContentRegExp=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;var PRIORITY_REGEXP=/^(?:low|medium|high)$/i;var REGEXP_CACHE=Object.create(null);var REGEXP_ESCAPE_CHARS_REGEXP=/[\^$\\.*+?()[\]{}|]/g;var RESTRICTED_NAME_CHARS_REGEXP=/[;=]/;var RESTRICTED_VALUE_CHARS_REGEXP=/[;]/;var SAME_SITE_REGEXP=/^(?:lax|none|strict)$/i;function Cookies(request,response,options){if(!(this instanceof Cookies))return new Cookies(request,response,options);this.secure=void 0;this.request=request;this.response=response;if(options){if(Array.isArray(options)){deprecate2('"keys" argument; provide using options {"keys": [...]}');this.keys=new Keygrip(options)}else if(options.constructor&&options.constructor.name==="Keygrip"){deprecate2('"keys" argument; provide using options {"keys": keygrip}');this.keys=options}else{this.keys=Array.isArray(options.keys)?new Keygrip(options.keys):options.keys;this.secure=options.secure}}}Cookies.prototype.get=function(name,opts){var sigName=name+".sig",header2,match,value,remote,data,index,signed=opts&&opts.signed!==void 0?opts.signed:!!this.keys;header2=this.request.headers["cookie"];if(!header2)return;match=header2.match(getPattern(name));if(!match)return;value=match[1];if(value[0]==='"')value=value.slice(1,-1);if(!opts||!signed)return value;remote=this.get(sigName);if(!remote)return;data=name+"="+value;if(!this.keys)throw new Error(".keys required for signed cookies");index=this.keys.index(data,remote);if(index<0){this.set(sigName,null,{path:"/",signed:false})}else{index&&this.set(sigName,this.keys.sign(data),{signed:false});return value}};Cookies.prototype.set=function(name,value,opts){var res=this.response,req=this.request,headers=res.getHeader("Set-Cookie")||[],cookie=new Cookie(name,value,opts),signed=opts&&opts.signed!==void 0?opts.signed:!!this.keys;var secure=this.secure===void 0?req.protocol==="https"||isRequestEncrypted(req):Boolean(this.secure);if(typeof headers=="string")headers=[headers];if(!secure&&opts&&opts.secure){throw new Error("Cannot send secure cookie over unencrypted connection")}cookie.secure=opts&&opts.secure!==void 0?opts.secure:secure;if(opts&&"secureProxy"in opts){deprecate2('"secureProxy" option; use "secure" option, provide "secure" to constructor if needed');cookie.secure=opts.secureProxy}pushCookie(headers,cookie);if(opts&&signed){if(!this.keys)throw new Error(".keys required for signed cookies");cookie.value=this.keys.sign(cookie.toString());cookie.name+=".sig";pushCookie(headers,cookie)}var setHeader=res.set?http3.OutgoingMessage.prototype.setHeader:res.setHeader;setHeader.call(res,"Set-Cookie",headers);return this};function Cookie(name,value,attrs){if(!fieldContentRegExp.test(name)||RESTRICTED_NAME_CHARS_REGEXP.test(name)){throw new TypeError("argument name is invalid")}if(value&&(!fieldContentRegExp.test(value)||RESTRICTED_VALUE_CHARS_REGEXP.test(value))){throw new TypeError("argument value is invalid")}this.name=name;this.value=value||"";for(var name in attrs){this[name]=attrs[name]}if(!this.value){this.expires=new Date(0);this.maxAge=null}if(this.path&&!fieldContentRegExp.test(this.path)){throw new TypeError("option path is invalid")}if(this.domain&&!fieldContentRegExp.test(this.domain)){throw new TypeError("option domain is invalid")}if(typeof this.maxAge==="number"?isNaN(this.maxAge)||!isFinite(this.maxAge):this.maxAge){throw new TypeError("option maxAge is invalid")}if(this.priority&&!PRIORITY_REGEXP.test(this.priority)){throw new TypeError("option priority is invalid")}if(this.sameSite&&this.sameSite!==true&&!SAME_SITE_REGEXP.test(this.sameSite)){throw new TypeError("option sameSite is invalid")}}Cookie.prototype.path="/";Cookie.prototype.expires=void 0;Cookie.prototype.domain=void 0;Cookie.prototype.httpOnly=true;Cookie.prototype.partitioned=false;Cookie.prototype.priority=void 0;Cookie.prototype.sameSite=false;Cookie.prototype.secure=false;Cookie.prototype.overwrite=false;Cookie.prototype.toString=function(){return this.name+"="+this.value};Cookie.prototype.toHeader=function(){var header2=this.toString();if(this.maxAge)this.expires=new Date(Date.now()+this.maxAge);if(this.path)header2+="; path="+this.path;if(this.expires)header2+="; expires="+this.expires.toUTCString();if(this.domain)header2+="; domain="+this.domain;if(this.priority)header2+="; priority="+this.priority.toLowerCase();if(this.sameSite)header2+="; samesite="+(this.sameSite===true?"strict":this.sameSite.toLowerCase());if(this.secure)header2+="; secure";if(this.httpOnly)header2+="; httponly";if(this.partitioned)header2+="; partitioned";return header2};Object.defineProperty(Cookie.prototype,"maxage",{configurable:true,enumerable:true,get:function(){return this.maxAge},set:function(val){return this.maxAge=val}});deprecate2.property(Cookie.prototype,"maxage",'"maxage"; use "maxAge" instead');function getPattern(name){if(!REGEXP_CACHE[name]){REGEXP_CACHE[name]=new RegExp("(?:^|;) *"+name.replace(REGEXP_ESCAPE_CHARS_REGEXP,"\\$&")+"=([^;]*)")}return REGEXP_CACHE[name]}function isRequestEncrypted(req){return req.socket?req.socket.encrypted:req.connection.encrypted}function pushCookie(headers,cookie){if(cookie.overwrite){for(var i=headers.length-1;i>=0;i--){if(headers[i].indexOf(cookie.name+"=")===0){headers.splice(i,1)}}}headers.push(cookie.toHeader())}Cookies.connect=Cookies.express=function(keys2){return function(req,res,next){req.cookies=res.cookies=new Cookies(req,res,{keys:keys2});next()}};Cookies.Cookie=Cookie;module2.exports=Cookies}});var require_context=__commonJS({"node_modules/koa/lib/context.js"(exports2,module2){"use strict";var util4=require("util");var createError=require_http_errors();var httpAssert=require_http_assert();var delegate=require_delegates();var statuses=require_statuses();var Cookies=require_cookies2();var COOKIES=Symbol("context#cookies");var proto2=module2.exports={inspect(){if(this===proto2)return this;return this.toJSON()},toJSON(){return{request:this.request.toJSON(),response:this.response.toJSON(),app:this.app.toJSON(),originalUrl:this.originalUrl,req:"<original node req>",res:"<original node res>",socket:"<original node socket>"}},assert:httpAssert,throw(...args2){throw createError(...args2)},onerror(err){if(null==err)return;const isNativeError=Object.prototype.toString.call(err)==="[object Error]"||err instanceof Error;if(!isNativeError)err=new Error(util4.format("non-error thrown: %j",err));let headerSent=false;if(this.headerSent||!this.writable){headerSent=err.headerSent=true}this.app.emit("error",err,this);if(headerSent){return}const{res}=this;if(typeof res.getHeaderNames==="function"){res.getHeaderNames().forEach(name=>res.removeHeader(name))}else{res._headers={}}this.set(err.headers);this.type="text";let statusCode=err.status||err.statusCode;if("ENOENT"===err.code)statusCode=404;if("number"!==typeof statusCode||!statuses[statusCode])statusCode=500;const code=statuses[statusCode];const msg=err.expose?err.message:code;this.status=err.status=statusCode;this.length=Buffer.byteLength(msg);res.end(msg)},get cookies(){if(!this[COOKIES]){this[COOKIES]=new Cookies(this.req,this.res,{keys:this.app.keys,secure:this.request.secure})}return this[COOKIES]},set cookies(_cookies){this[COOKIES]=_cookies}};if(util4.inspect.custom){module2.exports[util4.inspect.custom]=module2.exports.inspect}delegate(proto2,"response").method("attachment").method("redirect").method("remove").method("vary").method("has").method("set").method("append").method("flushHeaders").access("status").access("message").access("body").access("length").access("type").access("lastModified").access("etag").getter("headerSent").getter("writable");delegate(proto2,"request").method("acceptsLanguages").method("acceptsEncodings").method("acceptsCharsets").method("accepts").method("get").method("is").access("querystring").access("idempotent").access("socket").access("search").access("method").access("query").access("path").access("url").access("accept").getter("origin").getter("href").getter("subdomains").getter("protocol").getter("host").getter("hostname").getter("URL").getter("header").getter("headers").getter("secure").getter("stale").getter("fresh").getter("ips").getter("ip")}});var require_charset=__commonJS({"node_modules/accepts/node_modules/negotiator/lib/charset.js"(exports2,module2){"use strict";module2.exports=preferredCharsets;module2.exports.preferredCharsets=preferredCharsets;var simpleCharsetRegExp=/^\s*([^\s;]+)\s*(?:;(.*))?$/;function parseAcceptCharset(accept){var accepts=accept.split(",");for(var i=0,j=0;i<accepts.length;i++){var charset=parseCharset(accepts[i].trim(),i);if(charset){accepts[j++]=charset}}accepts.length=j;return accepts}function parseCharset(str2,i){var match=simpleCharsetRegExp.exec(str2);if(!match)return null;var charset=match[1];var q=1;if(match[2]){var params=match[2].split(";");for(var j=0;j<params.length;j++){var p=params[j].trim().split("=");if(p[0]==="q"){q=parseFloat(p[1]);break}}}return{charset,q,i}}function getCharsetPriority(charset,accepted,index){var priority={o:-1,q:0,s:0};for(var i=0;i<accepted.length;i++){var spec=specify(charset,accepted[i],index);if(spec&&(priority.s-spec.s||priority.q-spec.q||priority.o-spec.o)<0){priority=spec}}return priority}function specify(charset,spec,index){var s=0;if(spec.charset.toLowerCase()===charset.toLowerCase()){s|=1}else if(spec.charset!=="*"){return null}return{i:index,o:spec.i,q:spec.q,s}}function preferredCharsets(accept,provided){var accepts=parseAcceptCharset(accept===void 0?"*":accept||"");if(!provided){return accepts.filter(isQuality).sort(compareSpecs).map(getFullCharset)}var priorities=provided.map(function getPriority(type2,index){return getCharsetPriority(type2,accepts,index)});return priorities.filter(isQuality).sort(compareSpecs).map(function getCharset(priority){return provided[priorities.indexOf(priority)]})}function compareSpecs(a,b){return b.q-a.q||b.s-a.s||a.o-b.o||a.i-b.i||0}function getFullCharset(spec){return spec.charset}function isQuality(spec){return spec.q>0}}});var require_encoding2=__commonJS({"node_modules/accepts/node_modules/negotiator/lib/encoding.js"(exports2,module2){"use strict";module2.exports=preferredEncodings;module2.exports.preferredEncodings=preferredEncodings;var simpleEncodingRegExp=/^\s*([^\s;]+)\s*(?:;(.*))?$/;function parseAcceptEncoding(accept){var accepts=accept.split(",");var hasIdentity=false;var minQuality=1;for(var i=0,j=0;i<accepts.length;i++){var encoding=parseEncoding(accepts[i].trim(),i);if(encoding){accepts[j++]=encoding;hasIdentity=hasIdentity||specify("identity",encoding);minQuality=Math.min(minQuality,encoding.q||1)}}if(!hasIdentity){accepts[j++]={encoding:"identity",q:minQuality,i}}accepts.length=j;return accepts}function parseEncoding(str2,i){var match=simpleEncodingRegExp.exec(str2);if(!match)return null;var encoding=match[1];var q=1;if(match[2]){var params=match[2].split(";");for(var j=0;j<params.length;j++){var p=params[j].trim().split("=");if(p[0]==="q"){q=parseFloat(p[1]);break}}}return{encoding,q,i}}function getEncodingPriority(encoding,accepted,index){var priority={o:-1,q:0,s:0};for(var i=0;i<accepted.length;i++){var spec=specify(encoding,accepted[i],index);if(spec&&(priority.s-spec.s||priority.q-spec.q||priority.o-spec.o)<0){priority=spec}}return priority}function specify(encoding,spec,index){var s=0;if(spec.encoding.toLowerCase()===encoding.toLowerCase()){s|=1}else if(spec.encoding!=="*"){return null}return{i:index,o:spec.i,q:spec.q,s}}function preferredEncodings(accept,provided){var accepts=parseAcceptEncoding(accept||"");if(!provided){return accepts.filter(isQuality).sort(compareSpecs).map(getFullEncoding)}var priorities=provided.map(function getPriority(type2,index){return getEncodingPriority(type2,accepts,index)});return priorities.filter(isQuality).sort(compareSpecs).map(function getEncoding(priority){return provided[priorities.indexOf(priority)]})}function compareSpecs(a,b){return b.q-a.q||b.s-a.s||a.o-b.o||a.i-b.i||0}function getFullEncoding(spec){return spec.encoding}function isQuality(spec){return spec.q>0}}});var require_language=__commonJS({"node_modules/accepts/node_modules/negotiator/lib/language.js"(exports2,module2){"use strict";module2.exports=preferredLanguages;module2.exports.preferredLanguages=preferredLanguages;var simpleLanguageRegExp=/^\s*([^\s\-;]+)(?:-([^\s;]+))?\s*(?:;(.*))?$/;function parseAcceptLanguage(accept){var accepts=accept.split(",");for(var i=0,j=0;i<accepts.length;i++){var language2=parseLanguage(accepts[i].trim(),i);if(language2){accepts[j++]=language2}}accepts.length=j;return accepts}function parseLanguage(str2,i){var match=simpleLanguageRegExp.exec(str2);if(!match)return null;var prefix=match[1];var suffix=match[2];var full=prefix;if(suffix)full+="-"+suffix;var q=1;if(match[3]){var params=match[3].split(";");for(var j=0;j<params.length;j++){var p=params[j].split("=");if(p[0]==="q")q=parseFloat(p[1])}}return{prefix,suffix,q,i,full}}function getLanguagePriority(language2,accepted,index){var priority={o:-1,q:0,s:0};for(var i=0;i<accepted.length;i++){var spec=specify(language2,accepted[i],index);if(spec&&(priority.s-spec.s||priority.q-spec.q||priority.o-spec.o)<0){priority=spec}}return priority}function specify(language2,spec,index){var p=parseLanguage(language2);if(!p)return null;var s=0;if(spec.full.toLowerCase()===p.full.toLowerCase()){s|=4}else if(spec.prefix.toLowerCase()===p.full.toLowerCase()){s|=2}else if(spec.full.toLowerCase()===p.prefix.toLowerCase()){s|=1}else if(spec.full!=="*"){return null}return{i:index,o:spec.i,q:spec.q,s}}function preferredLanguages(accept,provided){var accepts=parseAcceptLanguage(accept===void 0?"*":accept||"");if(!provided){return accepts.filter(isQuality).sort(compareSpecs).map(getFullLanguage)}var priorities=provided.map(function getPriority(type2,index){return getLanguagePriority(type2,accepts,index)});return priorities.filter(isQuality).sort(compareSpecs).map(function getLanguage(priority){return provided[priorities.indexOf(priority)]})}function compareSpecs(a,b){return b.q-a.q||b.s-a.s||a.o-b.o||a.i-b.i||0}function getFullLanguage(spec){return spec.full}function isQuality(spec){return spec.q>0}}});var require_mediaType=__commonJS({"node_modules/accepts/node_modules/negotiator/lib/mediaType.js"(exports2,module2){"use strict";module2.exports=preferredMediaTypes;module2.exports.preferredMediaTypes=preferredMediaTypes;var simpleMediaTypeRegExp=/^\s*([^\s\/;]+)\/([^;\s]+)\s*(?:;(.*))?$/;function parseAccept(accept){var accepts=splitMediaTypes(accept);for(var i=0,j=0;i<accepts.length;i++){var mediaType=parseMediaType(accepts[i].trim(),i);if(mediaType){accepts[j++]=mediaType}}accepts.length=j;return accepts}function parseMediaType(str2,i){var match=simpleMediaTypeRegExp.exec(str2);if(!match)return null;var params=Object.create(null);var q=1;var subtype=match[2];var type2=match[1];if(match[3]){var kvps=splitParameters(match[3]).map(splitKeyValuePair);for(var j=0;j<kvps.length;j++){var pair=kvps[j];var key=pair[0].toLowerCase();var val=pair[1];var value=val&&val[0]==='"'&&val[val.length-1]==='"'?val.substr(1,val.length-2):val;if(key==="q"){q=parseFloat(value);break}params[key]=value}}return{type:type2,subtype,params,q,i}}function getMediaTypePriority(type2,accepted,index){var priority={o:-1,q:0,s:0};for(var i=0;i<accepted.length;i++){var spec=specify(type2,accepted[i],index);if(spec&&(priority.s-spec.s||priority.q-spec.q||priority.o-spec.o)<0){priority=spec}}return priority}function specify(type2,spec,index){var p=parseMediaType(type2);var s=0;if(!p){return null}if(spec.type.toLowerCase()==p.type.toLowerCase()){s|=4}else if(spec.type!="*"){return null}if(spec.subtype.toLowerCase()==p.subtype.toLowerCase()){s|=2}else if(spec.subtype!="*"){return null}var keys2=Object.keys(spec.params);if(keys2.length>0){if(keys2.every(function(k){return spec.params[k]=="*"||(spec.params[k]||"").toLowerCase()==(p.params[k]||"").toLowerCase()})){s|=1}else{return null}}return{i:index,o:spec.i,q:spec.q,s}}function preferredMediaTypes(accept,provided){var accepts=parseAccept(accept===void 0?"*/*":accept||"");if(!provided){return accepts.filter(isQuality).sort(compareSpecs).map(getFullType)}var priorities=provided.map(function getPriority(type2,index){return getMediaTypePriority(type2,accepts,index)});return priorities.filter(isQuality).sort(compareSpecs).map(function getType2(priority){return provided[priorities.indexOf(priority)]})}function compareSpecs(a,b){return b.q-a.q||b.s-a.s||a.o-b.o||a.i-b.i||0}function getFullType(spec){return spec.type+"/"+spec.subtype}function isQuality(spec){return spec.q>0}function quoteCount(string){var count=0;var index=0;while((index=string.indexOf('"',index))!==-1){count++;index++}return count}function splitKeyValuePair(str2){var index=str2.indexOf("=");var key;var val;if(index===-1){key=str2}else{key=str2.substr(0,index);val=str2.substr(index+1)}return[key,val]}function splitMediaTypes(accept){var accepts=accept.split(",");for(var i=1,j=0;i<accepts.length;i++){if(quoteCount(accepts[j])%2==0){accepts[++j]=accepts[i]}else{accepts[j]+=","+accepts[i]}}accepts.length=j+1;return accepts}function splitParameters(str2){var parameters=str2.split(";");for(var i=1,j=0;i<parameters.length;i++){if(quoteCount(parameters[j])%2==0){parameters[++j]=parameters[i]}else{parameters[j]+=";"+parameters[i]}}parameters.length=j+1;for(var i=0;i<parameters.length;i++){parameters[i]=parameters[i].trim()}return parameters}}});var require_negotiator=__commonJS({"node_modules/accepts/node_modules/negotiator/index.js"(exports2,module2){"use strict";var preferredCharsets=require_charset();var preferredEncodings=require_encoding2();var preferredLanguages=require_language();var preferredMediaTypes=require_mediaType();module2.exports=Negotiator;module2.exports.Negotiator=Negotiator;function Negotiator(request){if(!(this instanceof Negotiator)){return new Negotiator(request)}this.request=request}Negotiator.prototype.charset=function charset(available){var set3=this.charsets(available);return set3&&set3[0]};Negotiator.prototype.charsets=function charsets(available){return preferredCharsets(this.request.headers["accept-charset"],available)};Negotiator.prototype.encoding=function encoding(available){var set3=this.encodings(available);return set3&&set3[0]};Negotiator.prototype.encodings=function encodings(available){return preferredEncodings(this.request.headers["accept-encoding"],available)};Negotiator.prototype.language=function language2(available){var set3=this.languages(available);return set3&&set3[0]};Negotiator.prototype.languages=function languages(available){return preferredLanguages(this.request.headers["accept-language"],available)};Negotiator.prototype.mediaType=function mediaType(available){var set3=this.mediaTypes(available);return set3&&set3[0]};Negotiator.prototype.mediaTypes=function mediaTypes(available){return preferredMediaTypes(this.request.headers.accept,available)};Negotiator.prototype.preferredCharset=Negotiator.prototype.charset;Negotiator.prototype.preferredCharsets=Negotiator.prototype.charsets;Negotiator.prototype.preferredEncoding=Negotiator.prototype.encoding;Negotiator.prototype.preferredEncodings=Negotiator.prototype.encodings;Negotiator.prototype.preferredLanguage=Negotiator.prototype.language;Negotiator.prototype.preferredLanguages=Negotiator.prototype.languages;Negotiator.prototype.preferredMediaType=Negotiator.prototype.mediaType;Negotiator.prototype.preferredMediaTypes=Negotiator.prototype.mediaTypes}});var require_accepts=__commonJS({"node_modules/accepts/index.js"(exports2,module2){"use strict";var Negotiator=require_negotiator();var mime=require_mime_types();module2.exports=Accepts;function Accepts(req){if(!(this instanceof Accepts)){return new Accepts(req)}this.headers=req.headers;this.negotiator=new Negotiator(req)}Accepts.prototype.type=Accepts.prototype.types=function(types_){var types6=types_;if(types6&&!Array.isArray(types6)){types6=new Array(arguments.length);for(var i=0;i<types6.length;i++){types6[i]=arguments[i]}}if(!types6||types6.length===0){return this.negotiator.mediaTypes()}if(!this.headers.accept){return types6[0]}var mimes=types6.map(extToMime);var accepts=this.negotiator.mediaTypes(mimes.filter(validMime));var first=accepts[0];return first?types6[mimes.indexOf(first)]:false};Accepts.prototype.encoding=Accepts.prototype.encodings=function(encodings_){var encodings=encodings_;if(encodings&&!Array.isArray(encodings)){encodings=new Array(arguments.length);for(var i=0;i<encodings.length;i++){encodings[i]=arguments[i]}}if(!encodings||encodings.length===0){return this.negotiator.encodings()}return this.negotiator.encodings(encodings)[0]||false};Accepts.prototype.charset=Accepts.prototype.charsets=function(charsets_){var charsets=charsets_;if(charsets&&!Array.isArray(charsets)){charsets=new Array(arguments.length);for(var i=0;i<charsets.length;i++){charsets[i]=arguments[i]}}if(!charsets||charsets.length===0){return this.negotiator.charsets()}return this.negotiator.charsets(charsets)[0]||false};Accepts.prototype.lang=Accepts.prototype.langs=Accepts.prototype.language=Accepts.prototype.languages=function(languages_){var languages=languages_;if(languages&&!Array.isArray(languages)){languages=new Array(arguments.length);for(var i=0;i<languages.length;i++){languages[i]=arguments[i]}}if(!languages||languages.length===0){return this.negotiator.languages()}return this.negotiator.languages(languages)[0]||false};function extToMime(type2){return type2.indexOf("/")===-1?mime.lookup(type2):type2}function validMime(type2){return typeof type2==="string"}}});var require_content_type=__commonJS({"node_modules/content-type/index.js"(exports2){"use strict";var PARAM_REGEXP=/; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g;var TEXT_REGEXP=/^[\u000b\u0020-\u007e\u0080-\u00ff]+$/;var TOKEN_REGEXP=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;var QESC_REGEXP=/\\([\u000b\u0020-\u00ff])/g;var QUOTE_REGEXP=/([\\"])/g;var TYPE_REGEXP=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;exports2.format=format2;exports2.parse=parse3;function format2(obj){if(!obj||typeof obj!=="object"){throw new TypeError("argument obj is required")}var parameters=obj.parameters;var type2=obj.type;if(!type2||!TYPE_REGEXP.test(type2)){throw new TypeError("invalid type")}var string=type2;if(parameters&&typeof parameters==="object"){var param;var params=Object.keys(parameters).sort();for(var i=0;i<params.length;i++){param=params[i];if(!TOKEN_REGEXP.test(param)){throw new TypeError("invalid parameter name")}string+="; "+param+"="+qstring(parameters[param])}}return string}function parse3(string){if(!string){throw new TypeError("argument string is required")}var header2=typeof string==="object"?getcontenttype(string):string;if(typeof header2!=="string"){throw new TypeError("argument string is required to be a string")}var index=header2.indexOf(";");var type2=index!==-1?header2.slice(0,index).trim():header2.trim();if(!TYPE_REGEXP.test(type2)){throw new TypeError("invalid media type")}var obj=new ContentType(type2.toLowerCase());if(index!==-1){var key;var match;var value;PARAM_REGEXP.lastIndex=index;while(match=PARAM_REGEXP.exec(header2)){if(match.index!==index){throw new TypeError("invalid parameter format")}index+=match[0].length;key=match[1].toLowerCase();value=match[2];if(value.charCodeAt(0)===34){value=value.slice(1,-1);if(value.indexOf("\\")!==-1){value=value.replace(QESC_REGEXP,"$1")}}obj.parameters[key]=value}if(index!==header2.length){throw new TypeError("invalid parameter format")}}return obj}function getcontenttype(obj){var header2;if(typeof obj.getHeader==="function"){header2=obj.getHeader("content-type")}else if(typeof obj.headers==="object"){header2=obj.headers&&obj.headers["content-type"]}if(typeof header2!=="string"){throw new TypeError("content-type header is missing from object")}return header2}function qstring(val){var str2=String(val);if(TOKEN_REGEXP.test(str2)){return str2}if(str2.length>0&&!TEXT_REGEXP.test(str2)){throw new TypeError("invalid parameter value")}return'"'+str2.replace(QUOTE_REGEXP,"\\$1")+'"'}function ContentType(type2){this.parameters=Object.create(null);this.type=type2}}});var require_parseurl=__commonJS({"node_modules/parseurl/index.js"(exports2,module2){"use strict";var url=require("url");var parse3=url.parse;var Url=url.Url;module2.exports=parseurl;module2.exports.original=originalurl;function parseurl(req){var url2=req.url;if(url2===void 0){return void 0}var parsed=req._parsedUrl;if(fresh(url2,parsed)){return parsed}parsed=fastparse(url2);parsed._raw=url2;return req._parsedUrl=parsed}function originalurl(req){var url2=req.originalUrl;if(typeof url2!=="string"){return parseurl(req)}var parsed=req._parsedOriginalUrl;if(fresh(url2,parsed)){return parsed}parsed=fastparse(url2);parsed._raw=url2;return req._parsedOriginalUrl=parsed}function fastparse(str2){if(typeof str2!=="string"||str2.charCodeAt(0)!==47){return parse3(str2)}var pathname=str2;var query=null;var search2=null;for(var i=1;i<str2.length;i++){switch(str2.charCodeAt(i)){case 63:if(search2===null){pathname=str2.substring(0,i);query=str2.substring(i+1);search2=str2.substring(i)}break;case 9:case 10:case 12:case 13:case 32:case 35:case 160:case 65279:return parse3(str2)}}var url2=Url!==void 0?new Url:{};url2.path=str2;url2.href=str2;url2.pathname=pathname;if(search2!==null){url2.query=query;url2.search=search2}return url2}function fresh(url2,parsedUrl){return typeof parsedUrl==="object"&&parsedUrl!==null&&(Url===void 0||parsedUrl instanceof Url)&&parsedUrl._raw===url2}}});var require_fresh=__commonJS({"node_modules/fresh/index.js"(exports2,module2){"use strict";var CACHE_CONTROL_NO_CACHE_REGEXP=/(?:^|,)\s*?no-cache\s*?(?:,|$)/;module2.exports=fresh;function fresh(reqHeaders,resHeaders){var modifiedSince=reqHeaders["if-modified-since"];var noneMatch=reqHeaders["if-none-match"];if(!modifiedSince&&!noneMatch){return false}var cacheControl=reqHeaders["cache-control"];if(cacheControl&&CACHE_CONTROL_NO_CACHE_REGEXP.test(cacheControl)){return false}if(noneMatch&&noneMatch!=="*"){var etag=resHeaders["etag"];if(!etag){return false}var etagStale=true;var matches2=parseTokenList(noneMatch);for(var i=0;i<matches2.length;i++){var match=matches2[i];if(match===etag||match==="W/"+etag||"W/"+match===etag){etagStale=false;break}}if(etagStale){return false}}if(modifiedSince){var lastModified=resHeaders["last-modified"];var modifiedStale=!lastModified||!(parseHttpDate(lastModified)<=parseHttpDate(modifiedSince));if(modifiedStale){return false}}return true}function parseHttpDate(date){var timestamp2=date&&Date.parse(date);return typeof timestamp2==="number"?timestamp2:NaN}function parseTokenList(str2){var end=0;var list=[];var start=0;for(var i=0,len=str2.length;i<len;i++){switch(str2.charCodeAt(i)){case 32:if(start===end){start=end=i+1}break;case 44:list.push(str2.substring(start,end));start=end=i+1;break;default:end=i+1;break}}list.push(str2.substring(start,end));return list}}});var require_request4=__commonJS({"node_modules/koa/lib/request.js"(exports2,module2){"use strict";var URL3=require("url").URL;var net2=require("net");var accepts=require_accepts();var contentType=require_content_type();var stringify=require("url").format;var parse3=require_parseurl();var qs=require("querystring");var typeis=require_type_is();var fresh=require_fresh();var only=require_only();var util4=require("util");var IP=Symbol("context#ip");module2.exports={get header(){return this.req.headers},set header(val){this.req.headers=val},get headers(){return this.req.headers},set headers(val){this.req.headers=val},get url(){return this.req.url},set url(val){this.req.url=val},get origin(){return`${this.protocol}://${this.host}`},get href(){if(/^https?:\/\//i.test(this.originalUrl))return this.originalUrl;return this.origin+this.originalUrl},get method(){return this.req.method},set method(val){this.req.method=val},get path(){return parse3(this.req).pathname},set path(path27){const url=parse3(this.req);if(url.pathname===path27)return;url.pathname=path27;url.path=null;this.url=stringify(url)},get query(){const str2=this.querystring;const c=this._querycache=this._querycache||{};return c[str2]||(c[str2]=qs.parse(str2))},set query(obj){this.querystring=qs.stringify(obj)},get querystring(){if(!this.req)return"";return parse3(this.req).query||""},set querystring(str2){const url=parse3(this.req);if(url.search===`?${str2}`)return;url.search=str2;url.path=null;this.url=stringify(url)},get search(){if(!this.querystring)return"";return`?${this.querystring}`},set search(str2){this.querystring=str2},get host(){const proxy=this.app.proxy;let host=proxy&&this.get("X-Forwarded-Host");if(!host){if(this.req.httpVersionMajor>=2)host=this.get(":authority");if(!host)host=this.get("Host")}if(!host)return"";return splitCommaSeparatedValues(host,1)[0]},get hostname(){const host=this.host;if(!host)return"";if("["===host[0])return this.URL.hostname||"";return host.split(":",1)[0]},get URL(){if(!this.memoizedURL){const originalUrl=this.originalUrl||"";try{this.memoizedURL=new URL3(`${this.origin}${originalUrl}`)}catch(err){this.memoizedURL=Object.create(null)}}return this.memoizedURL},get fresh(){const method2=this.method;const s=this.ctx.status;if("GET"!==method2&&"HEAD"!==method2)return false;if(s>=200&&s<300||304===s){return fresh(this.header,this.response.header)}return false},get stale(){return!this.fresh},get idempotent(){const methods=["GET","HEAD","PUT","DELETE","OPTIONS","TRACE"];return!!~methods.indexOf(this.method)},get socket(){return this.req.socket},get charset(){try{const{parameters}=contentType.parse(this.req);return parameters.charset||""}catch(e){return""}},get length(){const len=this.get("Content-Length");if(len==="")return;return~~len},get protocol(){if(this.socket.encrypted)return"https";if(!this.app.proxy)return"http";const proto2=this.get("X-Forwarded-Proto");return proto2?splitCommaSeparatedValues(proto2,1)[0]:"http"},get secure(){return"https"===this.protocol},get ips(){const proxy=this.app.proxy;const val=this.get(this.app.proxyIpHeader);let ips=proxy&&val?splitCommaSeparatedValues(val):[];if(this.app.maxIpsCount>0){ips=ips.slice(-this.app.maxIpsCount)}return ips},get ip(){if(!this[IP]){this[IP]=this.ips[0]||this.socket.remoteAddress||""}return this[IP]},set ip(_ip){this[IP]=_ip},get subdomains(){const offset=this.app.subdomainOffset;const hostname=this.hostname;if(net2.isIP(hostname))return[];return hostname.split(".").reverse().slice(offset)},get accept(){return this._accept||(this._accept=accepts(this.req))},set accept(obj){this._accept=obj},accepts(...args2){return this.accept.types(...args2)},acceptsEncodings(...args2){return this.accept.encodings(...args2)},acceptsCharsets(...args2){return this.accept.charsets(...args2)},acceptsLanguages(...args2){return this.accept.languages(...args2)},is(type2,...types6){return typeis(this.req,type2,...types6)},get type(){const type2=this.get("Content-Type");if(!type2)return"";return type2.split(";")[0]},get(field){const req=this.req;switch(field=field.toLowerCase()){case"referer":case"referrer":return req.headers.referrer||req.headers.referer||"";default:return req.headers[field]||""}},inspect(){if(!this.req)return;return this.toJSON()},toJSON(){return only(this,["method","url","header"])}};if(util4.inspect.custom){module2.exports[util4.inspect.custom]=module2.exports.inspect}function splitCommaSeparatedValues(value,limit){return value.split(",",limit).map(v=>v.trim())}}});var require_co=__commonJS({"node_modules/co/index.js"(exports2,module2){var slice2=Array.prototype.slice;module2.exports=co["default"]=co.co=co;co.wrap=function(fn2){createPromise.__generatorFunction__=fn2;return createPromise;function createPromise(){return co.call(this,fn2.apply(this,arguments))}};function co(gen){var ctx=this;var args2=slice2.call(arguments,1);return new Promise(function(resolve,reject2){if(typeof gen==="function")gen=gen.apply(ctx,args2);if(!gen||typeof gen.next!=="function")return resolve(gen);onFulfilled();function onFulfilled(res){var ret;try{ret=gen.next(res)}catch(e){return reject2(e)}next(ret)}function onRejected(err){var ret;try{ret=gen.throw(err)}catch(e){return reject2(e)}next(ret)}function next(ret){if(ret.done)return resolve(ret.value);var value=toPromise.call(ctx,ret.value);if(value&&isPromise(value))return value.then(onFulfilled,onRejected);return onRejected(new TypeError('You may only yield a function, promise, generator, array, or object, but the following object was passed: "'+String(ret.value)+'"'))}})}function toPromise(obj){if(!obj)return obj;if(isPromise(obj))return obj;if(isGeneratorFunction(obj)||isGenerator(obj))return co.call(this,obj);if("function"==typeof obj)return thunkToPromise.call(this,obj);if(Array.isArray(obj))return arrayToPromise.call(this,obj);if(isObject4(obj))return objectToPromise.call(this,obj);return obj}function thunkToPromise(fn2){var ctx=this;return new Promise(function(resolve,reject2){fn2.call(ctx,function(err,res){if(err)return reject2(err);if(arguments.length>2)res=slice2.call(arguments,1);resolve(res)})})}function arrayToPromise(obj){return Promise.all(obj.map(toPromise,this))}function objectToPromise(obj){var results=new obj.constructor;var keys2=Object.keys(obj);var promises=[];for(var i=0;i<keys2.length;i++){var key=keys2[i];var promise=toPromise.call(this,obj[key]);if(promise&&isPromise(promise))defer2(promise,key);else results[key]=obj[key]}return Promise.all(promises).then(function(){return results});function defer2(promise2,key2){results[key2]=void 0;promises.push(promise2.then(function(res){results[key2]=res}))}}function isPromise(obj){return"function"==typeof obj.then}function isGenerator(obj){return"function"==typeof obj.next&&"function"==typeof obj.throw}function isGeneratorFunction(obj){var constructor=obj.constructor;if(!constructor)return false;if("GeneratorFunction"===constructor.name||"GeneratorFunction"===constructor.displayName)return true;return isGenerator(constructor.prototype)}function isObject4(val){return Object==val.constructor}}});var require_koa_convert=__commonJS({"node_modules/koa-convert/index.js"(exports2,module2){"use strict";var co=require_co();var compose=require_koa_compose();module2.exports=convert;function convert(mw){if(typeof mw!=="function"){throw new TypeError("middleware must be a function")}if(mw.constructor.name!=="GeneratorFunction"&&mw.constructor.name!=="AsyncGeneratorFunction"){return mw}const converted=function(ctx,next){return co.call(ctx,mw.call(ctx,function*(next2){return yield next2()}(next)))};converted._name=mw._name||mw.name;return converted}convert.compose=function(arr){if(!Array.isArray(arr)){arr=Array.from(arguments)}return compose(arr.map(convert))};convert.back=function(mw){if(typeof mw!=="function"){throw new TypeError("middleware must be a function")}if(mw.constructor.name==="GeneratorFunction"||mw.constructor.name==="AsyncGeneratorFunction"){return mw}const converted=function*(next){const ctx=this;let called=false;yield mw(ctx,function(){if(called){throw new Error("next() called multiple times")}called=true;return co.call(ctx,next)})};converted._name=mw._name||mw.name;return converted}}});var require_application3=__commonJS({"node_modules/koa/lib/application.js"(exports2,module2){"use strict";var isGeneratorFunction=require_is_generator_function();var debug=require_src3()("koa:application");var onFinished=require_on_finished();var assert2=require("assert");var response=require_response2();var compose=require_koa_compose();var context=require_context();var request=require_request4();var statuses=require_statuses();var Emitter=require("events");var util4=require("util");var Stream=require("stream");var http3=require("http");var only=require_only();var convert=require_koa_convert();var deprecate2=require_depd3()("koa");var{HttpError:HttpError2}=require_http_errors();module2.exports=class Application extends Emitter{constructor(options){super();options=options||{};this.proxy=options.proxy||false;this.subdomainOffset=options.subdomainOffset||2;this.proxyIpHeader=options.proxyIpHeader||"X-Forwarded-For";this.maxIpsCount=options.maxIpsCount||0;this.env=options.env||process.env.NODE_ENV||"development";if(options.keys)this.keys=options.keys;this.middleware=[];this.context=Object.create(context);this.request=Object.create(request);this.response=Object.create(response);if(util4.inspect.custom){this[util4.inspect.custom]=this.inspect}if(options.asyncLocalStorage){const{AsyncLocalStorage}=require("async_hooks");assert2(AsyncLocalStorage,"Requires node 12.17.0 or higher to enable asyncLocalStorage");this.ctxStorage=new AsyncLocalStorage}}listen(...args2){debug("listen");const server=http3.createServer(this.callback());return server.listen(...args2)}toJSON(){return only(this,["subdomainOffset","proxy","env"])}inspect(){return this.toJSON()}use(fn2){if(typeof fn2!=="function")throw new TypeError("middleware must be a function!");if(isGeneratorFunction(fn2)){deprecate2("Support for generators will be removed in v3. See the documentation for examples of how to convert old middleware https://github.com/koajs/koa/blob/master/docs/migration.md");fn2=convert(fn2)}debug("use %s",fn2._name||fn2.name||"-");this.middleware.push(fn2);return this}callback(){const fn2=compose(this.middleware);if(!this.listenerCount("error"))this.on("error",this.onerror);const handleRequest=(req,res)=>{const ctx=this.createContext(req,res);if(!this.ctxStorage){return this.handleRequest(ctx,fn2)}return this.ctxStorage.run(ctx,async()=>{return await this.handleRequest(ctx,fn2)})};return handleRequest}get currentContext(){if(this.ctxStorage)return this.ctxStorage.getStore()}handleRequest(ctx,fnMiddleware){const res=ctx.res;res.statusCode=404;const onerror=err=>ctx.onerror(err);const handleResponse=()=>respond(ctx);onFinished(res,onerror);return fnMiddleware(ctx).then(handleResponse).catch(onerror)}createContext(req,res){const context2=Object.create(this.context);const request2=context2.request=Object.create(this.request);const response2=context2.response=Object.create(this.response);context2.app=request2.app=response2.app=this;context2.req=request2.req=response2.req=req;context2.res=request2.res=response2.res=res;request2.ctx=response2.ctx=context2;request2.response=response2;response2.request=request2;context2.originalUrl=request2.originalUrl=req.url;context2.state={};return context2}onerror(err){const isNativeError=Object.prototype.toString.call(err)==="[object Error]"||err instanceof Error;if(!isNativeError)throw new TypeError(util4.format("non-error thrown: %j",err));if(404===err.status||err.expose)return;if(this.silent)return;const msg=err.stack||err.toString();console.error(`
${msg.replace(/^/gm,"  ")}
`)}static get default(){return Application}createAsyncCtxStorageMiddleware(){const app=this;return async function asyncCtxStorage(ctx,next){await app.ctxStorage.run(ctx,async()=>{return await next()})}}};function respond(ctx){if(false===ctx.respond)return;if(!ctx.writable)return;const res=ctx.res;let body=ctx.body;const code=ctx.status;if(statuses.empty[code]){ctx.body=null;return res.end()}if("HEAD"===ctx.method){if(!res.headersSent&&!ctx.response.has("Content-Length")){const{length}=ctx.response;if(Number.isInteger(length))ctx.length=length}return res.end()}if(null==body){if(ctx.response._explicitNullBody){ctx.response.remove("Content-Type");ctx.response.remove("Transfer-Encoding");return res.end()}if(ctx.req.httpVersionMajor>=2){body=String(code)}else{body=ctx.message||String(code)}if(!res.headersSent){ctx.type="text";ctx.length=Buffer.byteLength(body)}return res.end(body)}if(Buffer.isBuffer(body))return res.end(body);if("string"===typeof body)return res.end(body);if(body instanceof Stream)return body.pipe(res);body=JSON.stringify(body);if(!res.headersSent){ctx.length=Buffer.byteLength(body)}res.end(body)}module2.exports.HttpError=HttpError2}});var require_codes3=__commonJS({"node_modules/statuses/codes.json"(exports2,module2){module2.exports={"100":"Continue","101":"Switching Protocols","102":"Processing","103":"Early Hints","200":"OK","201":"Created","202":"Accepted","203":"Non-Authoritative Information","204":"No Content","205":"Reset Content","206":"Partial Content","207":"Multi-Status","208":"Already Reported","226":"IM Used","300":"Multiple Choices","301":"Moved Permanently","302":"Found","303":"See Other","304":"Not Modified","305":"Use Proxy","307":"Temporary Redirect","308":"Permanent Redirect","400":"Bad Request","401":"Unauthorized","402":"Payment Required","403":"Forbidden","404":"Not Found","405":"Method Not Allowed","406":"Not Acceptable","407":"Proxy Authentication Required","408":"Request Timeout","409":"Conflict","410":"Gone","411":"Length Required","412":"Precondition Failed","413":"Payload Too Large","414":"URI Too Long","415":"Unsupported Media Type","416":"Range Not Satisfiable","417":"Expectation Failed","418":"I'm a Teapot","421":"Misdirected Request","422":"Unprocessable Entity","423":"Locked","424":"Failed Dependency","425":"Too Early","426":"Upgrade Required","428":"Precondition Required","429":"Too Many Requests","431":"Request Header Fields Too Large","451":"Unavailable For Legal Reasons","500":"Internal Server Error","501":"Not Implemented","502":"Bad Gateway","503":"Service Unavailable","504":"Gateway Timeout","505":"HTTP Version Not Supported","506":"Variant Also Negotiates","507":"Insufficient Storage","508":"Loop Detected","509":"Bandwidth Limit Exceeded","510":"Not Extended","511":"Network Authentication Required"}}});var require_statuses3=__commonJS({"node_modules/statuses/index.js"(exports2,module2){"use strict";var codes=require_codes3();module2.exports=status;status.message=codes;status.code=createMessageToStatusCodeMap(codes);status.codes=createStatusCodeList(codes);status.redirect={300:true,301:true,302:true,303:true,305:true,307:true,308:true};status.empty={204:true,205:true,304:true};status.retry={502:true,503:true,504:true};function createMessageToStatusCodeMap(codes2){var map3={};Object.keys(codes2).forEach(function forEachCode(code){var message3=codes2[code];var status2=Number(code);map3[message3.toLowerCase()]=status2});return map3}function createStatusCodeList(codes2){return Object.keys(codes2).map(function mapCode(code){return Number(code)})}function getStatusCode(message3){var msg=message3.toLowerCase();if(!Object.prototype.hasOwnProperty.call(status.code,msg)){throw new Error('invalid status message: "'+message3+'"')}return status.code[msg]}function getStatusMessage(code){if(!Object.prototype.hasOwnProperty.call(status.message,code)){throw new Error("invalid status code: "+code)}return status.message[code]}function status(code){if(typeof code==="number"){return getStatusMessage(code)}if(typeof code!=="string"){throw new TypeError("code must be a number or string")}var n=parseInt(code,10);if(!isNaN(n)){return getStatusMessage(n)}return getStatusCode(code)}}});var require_http_errors3=__commonJS({"node_modules/http-errors/index.js"(exports2,module2){"use strict";var deprecate2=require_depd3()("http-errors");var setPrototypeOf=require_setprototypeof();var statuses=require_statuses3();var inherits=require_inherits();var toIdentifier=require_toidentifier();module2.exports=createError;module2.exports.HttpError=createHttpErrorConstructor();module2.exports.isHttpError=createIsHttpErrorFunction(module2.exports.HttpError);populateConstructorExports(module2.exports,statuses.codes,module2.exports.HttpError);function codeClass(status){return Number(String(status).charAt(0)+"00")}function createError(){var err;var msg;var status=500;var props={};for(var i=0;i<arguments.length;i++){var arg=arguments[i];var type2=typeof arg;if(type2==="object"&&arg instanceof Error){err=arg;status=err.status||err.statusCode||status}else if(type2==="number"&&i===0){status=arg}else if(type2==="string"){msg=arg}else if(type2==="object"){props=arg}else{throw new TypeError("argument #"+(i+1)+" unsupported type "+type2)}}if(typeof status==="number"&&(status<400||status>=600)){deprecate2("non-error status code; use only 4xx or 5xx status codes")}if(typeof status!=="number"||!statuses.message[status]&&(status<400||status>=600)){status=500}var HttpError2=createError[status]||createError[codeClass(status)];if(!err){err=HttpError2?new HttpError2(msg):new Error(msg||statuses.message[status]);Error.captureStackTrace(err,createError)}if(!HttpError2||!(err instanceof HttpError2)||err.status!==status){err.expose=status<500;err.status=err.statusCode=status}for(var key in props){if(key!=="status"&&key!=="statusCode"){err[key]=props[key]}}return err}function createHttpErrorConstructor(){function HttpError2(){throw new TypeError("cannot construct abstract class")}inherits(HttpError2,Error);return HttpError2}function createClientErrorConstructor(HttpError2,name,code){var className=toClassName(name);function ClientError(message3){var msg=message3!=null?message3:statuses.message[code];var err=new Error(msg);Error.captureStackTrace(err,ClientError);setPrototypeOf(err,ClientError.prototype);Object.defineProperty(err,"message",{enumerable:true,configurable:true,value:msg,writable:true});Object.defineProperty(err,"name",{enumerable:false,configurable:true,value:className,writable:true});return err}inherits(ClientError,HttpError2);nameFunc(ClientError,className);ClientError.prototype.status=code;ClientError.prototype.statusCode=code;ClientError.prototype.expose=true;return ClientError}function createIsHttpErrorFunction(HttpError2){return function isHttpError(val){if(!val||typeof val!=="object"){return false}if(val instanceof HttpError2){return true}return val instanceof Error&&typeof val.expose==="boolean"&&typeof val.statusCode==="number"&&val.status===val.statusCode}}function createServerErrorConstructor(HttpError2,name,code){var className=toClassName(name);function ServerError(message3){var msg=message3!=null?message3:statuses.message[code];var err=new Error(msg);Error.captureStackTrace(err,ServerError);setPrototypeOf(err,ServerError.prototype);Object.defineProperty(err,"message",{enumerable:true,configurable:true,value:msg,writable:true});Object.defineProperty(err,"name",{enumerable:false,configurable:true,value:className,writable:true});return err}inherits(ServerError,HttpError2);nameFunc(ServerError,className);ServerError.prototype.status=code;ServerError.prototype.statusCode=code;ServerError.prototype.expose=false;return ServerError}function nameFunc(func,name){var desc=Object.getOwnPropertyDescriptor(func,"name");if(desc&&desc.configurable){desc.value=name;Object.defineProperty(func,"name",desc)}}function populateConstructorExports(exports3,codes,HttpError2){codes.forEach(function forEachCode(code){var CodeError;var name=toIdentifier(statuses.message[code]);switch(codeClass(code)){case 400:CodeError=createClientErrorConstructor(HttpError2,name,code);break;case 500:CodeError=createServerErrorConstructor(HttpError2,name,code);break}if(CodeError){exports3[code]=CodeError;exports3[name]=CodeError}})}function toClassName(name){return name.substr(-5)!=="Error"?name+"Error":name}}});var require_bom_handling2=__commonJS({"node_modules/raw-body/node_modules/iconv-lite/lib/bom-handling.js"(exports2){"use strict";var BOMChar="\uFEFF";exports2.PrependBOM=PrependBOMWrapper;function PrependBOMWrapper(encoder2,options){this.encoder=encoder2;this.addBOM=true}PrependBOMWrapper.prototype.write=function(str2){if(this.addBOM){str2=BOMChar+str2;this.addBOM=false}return this.encoder.write(str2)};PrependBOMWrapper.prototype.end=function(){return this.encoder.end()};exports2.StripBOM=StripBOMWrapper;function StripBOMWrapper(decoder2,options){this.decoder=decoder2;this.pass=false;this.options=options||{}}StripBOMWrapper.prototype.write=function(buf){var res=this.decoder.write(buf);if(this.pass||!res)return res;if(res[0]===BOMChar){res=res.slice(1);if(typeof this.options.stripBOM==="function")this.options.stripBOM()}this.pass=true;return res};StripBOMWrapper.prototype.end=function(){return this.decoder.end()}}});var require_internal2=__commonJS({"node_modules/raw-body/node_modules/iconv-lite/encodings/internal.js"(exports2,module2){"use strict";var Buffer12=require_safer().Buffer;module2.exports={utf8:{type:"_internal",bomAware:true},cesu8:{type:"_internal",bomAware:true},unicode11utf8:"utf8",ucs2:{type:"_internal",bomAware:true},utf16le:"ucs2",binary:{type:"_internal"},base64:{type:"_internal"},hex:{type:"_internal"},_internal:InternalCodec};function InternalCodec(codecOptions,iconv){this.enc=codecOptions.encodingName;this.bomAware=codecOptions.bomAware;if(this.enc==="base64")this.encoder=InternalEncoderBase64;else if(this.enc==="cesu8"){this.enc="utf8";this.encoder=InternalEncoderCesu8;if(Buffer12.from("eda0bdedb2a9","hex").toString()!=="💩"){this.decoder=InternalDecoderCesu8;this.defaultCharUnicode=iconv.defaultCharUnicode}}}InternalCodec.prototype.encoder=InternalEncoder;InternalCodec.prototype.decoder=InternalDecoder;var StringDecoder=require("string_decoder").StringDecoder;if(!StringDecoder.prototype.end)StringDecoder.prototype.end=function(){};function InternalDecoder(options,codec){StringDecoder.call(this,codec.enc)}InternalDecoder.prototype=StringDecoder.prototype;function InternalEncoder(options,codec){this.enc=codec.enc}InternalEncoder.prototype.write=function(str2){return Buffer12.from(str2,this.enc)};InternalEncoder.prototype.end=function(){};function InternalEncoderBase64(options,codec){this.prevStr=""}InternalEncoderBase64.prototype.write=function(str2){str2=this.prevStr+str2;var completeQuads=str2.length-str2.length%4;this.prevStr=str2.slice(completeQuads);str2=str2.slice(0,completeQuads);return Buffer12.from(str2,"base64")};InternalEncoderBase64.prototype.end=function(){return Buffer12.from(this.prevStr,"base64")};function InternalEncoderCesu8(options,codec){}InternalEncoderCesu8.prototype.write=function(str2){var buf=Buffer12.alloc(str2.length*3),bufIdx=0;for(var i=0;i<str2.length;i++){var charCode=str2.charCodeAt(i);if(charCode<128)buf[bufIdx++]=charCode;else if(charCode<2048){buf[bufIdx++]=192+(charCode>>>6);buf[bufIdx++]=128+(charCode&63)}else{buf[bufIdx++]=224+(charCode>>>12);buf[bufIdx++]=128+(charCode>>>6&63);buf[bufIdx++]=128+(charCode&63)}}return buf.slice(0,bufIdx)};InternalEncoderCesu8.prototype.end=function(){};function InternalDecoderCesu8(options,codec){this.acc=0;this.contBytes=0;this.accBytes=0;this.defaultCharUnicode=codec.defaultCharUnicode}InternalDecoderCesu8.prototype.write=function(buf){var acc=this.acc,contBytes=this.contBytes,accBytes=this.accBytes,res="";for(var i=0;i<buf.length;i++){var curByte=buf[i];if((curByte&192)!==128){if(contBytes>0){res+=this.defaultCharUnicode;contBytes=0}if(curByte<128){res+=String.fromCharCode(curByte)}else if(curByte<224){acc=curByte&31;contBytes=1;accBytes=1}else if(curByte<240){acc=curByte&15;contBytes=2;accBytes=1}else{res+=this.defaultCharUnicode}}else{if(contBytes>0){acc=acc<<6|curByte&63;contBytes--;accBytes++;if(contBytes===0){if(accBytes===2&&acc<128&&acc>0)res+=this.defaultCharUnicode;else if(accBytes===3&&acc<2048)res+=this.defaultCharUnicode;else res+=String.fromCharCode(acc)}}else{res+=this.defaultCharUnicode}}}this.acc=acc;this.contBytes=contBytes;this.accBytes=accBytes;return res};InternalDecoderCesu8.prototype.end=function(){var res=0;if(this.contBytes>0)res+=this.defaultCharUnicode;return res}}});var require_utf162=__commonJS({"node_modules/raw-body/node_modules/iconv-lite/encodings/utf16.js"(exports2){"use strict";var Buffer12=require_safer().Buffer;exports2.utf16be=Utf16BECodec;function Utf16BECodec(){}Utf16BECodec.prototype.encoder=Utf16BEEncoder;Utf16BECodec.prototype.decoder=Utf16BEDecoder;Utf16BECodec.prototype.bomAware=true;function Utf16BEEncoder(){}Utf16BEEncoder.prototype.write=function(str2){var buf=Buffer12.from(str2,"ucs2");for(var i=0;i<buf.length;i+=2){var tmp=buf[i];buf[i]=buf[i+1];buf[i+1]=tmp}return buf};Utf16BEEncoder.prototype.end=function(){};function Utf16BEDecoder(){this.overflowByte=-1}Utf16BEDecoder.prototype.write=function(buf){if(buf.length==0)return"";var buf2=Buffer12.alloc(buf.length+1),i=0,j=0;if(this.overflowByte!==-1){buf2[0]=buf[0];buf2[1]=this.overflowByte;i=1;j=2}for(;i<buf.length-1;i+=2,j+=2){buf2[j]=buf[i+1];buf2[j+1]=buf[i]}this.overflowByte=i==buf.length-1?buf[buf.length-1]:-1;return buf2.slice(0,j).toString("ucs2")};Utf16BEDecoder.prototype.end=function(){};exports2.utf16=Utf16Codec;function Utf16Codec(codecOptions,iconv){this.iconv=iconv}Utf16Codec.prototype.encoder=Utf16Encoder;Utf16Codec.prototype.decoder=Utf16Decoder;function Utf16Encoder(options,codec){options=options||{};if(options.addBOM===void 0)options.addBOM=true;this.encoder=codec.iconv.getEncoder("utf-16le",options)}Utf16Encoder.prototype.write=function(str2){return this.encoder.write(str2)};Utf16Encoder.prototype.end=function(){return this.encoder.end()};function Utf16Decoder(options,codec){this.decoder=null;this.initialBytes=[];this.initialBytesLen=0;this.options=options||{};this.iconv=codec.iconv}Utf16Decoder.prototype.write=function(buf){if(!this.decoder){this.initialBytes.push(buf);this.initialBytesLen+=buf.length;if(this.initialBytesLen<16)return"";var buf=Buffer12.concat(this.initialBytes),encoding=detectEncoding(buf,this.options.defaultEncoding);this.decoder=this.iconv.getDecoder(encoding,this.options);this.initialBytes.length=this.initialBytesLen=0}return this.decoder.write(buf)};Utf16Decoder.prototype.end=function(){if(!this.decoder){var buf=Buffer12.concat(this.initialBytes),encoding=detectEncoding(buf,this.options.defaultEncoding);this.decoder=this.iconv.getDecoder(encoding,this.options);var res=this.decoder.write(buf),trail=this.decoder.end();return trail?res+trail:res}return this.decoder.end()};function detectEncoding(buf,defaultEncoding){var enc=defaultEncoding||"utf-16le";if(buf.length>=2){if(buf[0]==254&&buf[1]==255)enc="utf-16be";else if(buf[0]==255&&buf[1]==254)enc="utf-16le";else{var asciiCharsLE=0,asciiCharsBE=0,_len=Math.min(buf.length-buf.length%2,64);for(var i=0;i<_len;i+=2){if(buf[i]===0&&buf[i+1]!==0)asciiCharsBE++;if(buf[i]!==0&&buf[i+1]===0)asciiCharsLE++}if(asciiCharsBE>asciiCharsLE)enc="utf-16be";else if(asciiCharsBE<asciiCharsLE)enc="utf-16le"}}return enc}}});var require_utf72=__commonJS({"node_modules/raw-body/node_modules/iconv-lite/encodings/utf7.js"(exports2){"use strict";var Buffer12=require_safer().Buffer;exports2.utf7=Utf7Codec;exports2.unicode11utf7="utf7";function Utf7Codec(codecOptions,iconv){this.iconv=iconv}Utf7Codec.prototype.encoder=Utf7Encoder;Utf7Codec.prototype.decoder=Utf7Decoder;Utf7Codec.prototype.bomAware=true;var nonDirectChars=/[^A-Za-z0-9'\(\),-\.\/:\? \n\r\t]+/g;function Utf7Encoder(options,codec){this.iconv=codec.iconv}Utf7Encoder.prototype.write=function(str2){return Buffer12.from(str2.replace(nonDirectChars,function(chunk2){return"+"+(chunk2==="+"?"":this.iconv.encode(chunk2,"utf16-be").toString("base64").replace(/=+$/,""))+"-"}.bind(this)))};Utf7Encoder.prototype.end=function(){};function Utf7Decoder(options,codec){this.iconv=codec.iconv;this.inBase64=false;this.base64Accum=""}var base64Regex2=/[A-Za-z0-9\/+]/;var base64Chars=[];for(i=0;i<256;i++)base64Chars[i]=base64Regex2.test(String.fromCharCode(i));var i;var plusChar="+".charCodeAt(0);var minusChar="-".charCodeAt(0);var andChar="&".charCodeAt(0);Utf7Decoder.prototype.write=function(buf){var res="",lastI=0,inBase64=this.inBase64,base64Accum=this.base64Accum;for(var i2=0;i2<buf.length;i2++){if(!inBase64){if(buf[i2]==plusChar){res+=this.iconv.decode(buf.slice(lastI,i2),"ascii");lastI=i2+1;inBase64=true}}else{if(!base64Chars[buf[i2]]){if(i2==lastI&&buf[i2]==minusChar){res+="+"}else{var b64str=base64Accum+buf.slice(lastI,i2).toString();res+=this.iconv.decode(Buffer12.from(b64str,"base64"),"utf16-be")}if(buf[i2]!=minusChar)i2--;lastI=i2+1;inBase64=false;base64Accum=""}}}if(!inBase64){res+=this.iconv.decode(buf.slice(lastI),"ascii")}else{var b64str=base64Accum+buf.slice(lastI).toString();var canBeDecoded=b64str.length-b64str.length%8;base64Accum=b64str.slice(canBeDecoded);b64str=b64str.slice(0,canBeDecoded);res+=this.iconv.decode(Buffer12.from(b64str,"base64"),"utf16-be")}this.inBase64=inBase64;this.base64Accum=base64Accum;return res};Utf7Decoder.prototype.end=function(){var res="";if(this.inBase64&&this.base64Accum.length>0)res=this.iconv.decode(Buffer12.from(this.base64Accum,"base64"),"utf16-be");this.inBase64=false;this.base64Accum="";return res};exports2.utf7imap=Utf7IMAPCodec;function Utf7IMAPCodec(codecOptions,iconv){this.iconv=iconv}Utf7IMAPCodec.prototype.encoder=Utf7IMAPEncoder;Utf7IMAPCodec.prototype.decoder=Utf7IMAPDecoder;Utf7IMAPCodec.prototype.bomAware=true;function Utf7IMAPEncoder(options,codec){this.iconv=codec.iconv;this.inBase64=false;this.base64Accum=Buffer12.alloc(6);this.base64AccumIdx=0}Utf7IMAPEncoder.prototype.write=function(str2){var inBase64=this.inBase64,base64Accum=this.base64Accum,base64AccumIdx=this.base64AccumIdx,buf=Buffer12.alloc(str2.length*5+10),bufIdx=0;for(var i2=0;i2<str2.length;i2++){var uChar=str2.charCodeAt(i2);if(32<=uChar&&uChar<=126){if(inBase64){if(base64AccumIdx>0){bufIdx+=buf.write(base64Accum.slice(0,base64AccumIdx).toString("base64").replace(/\//g,",").replace(/=+$/,""),bufIdx);base64AccumIdx=0}buf[bufIdx++]=minusChar;inBase64=false}if(!inBase64){buf[bufIdx++]=uChar;if(uChar===andChar)buf[bufIdx++]=minusChar}}else{if(!inBase64){buf[bufIdx++]=andChar;inBase64=true}if(inBase64){base64Accum[base64AccumIdx++]=uChar>>8;base64Accum[base64AccumIdx++]=uChar&255;if(base64AccumIdx==base64Accum.length){bufIdx+=buf.write(base64Accum.toString("base64").replace(/\//g,","),bufIdx);base64AccumIdx=0}}}}this.inBase64=inBase64;this.base64AccumIdx=base64AccumIdx;return buf.slice(0,bufIdx)};Utf7IMAPEncoder.prototype.end=function(){var buf=Buffer12.alloc(10),bufIdx=0;if(this.inBase64){if(this.base64AccumIdx>0){bufIdx+=buf.write(this.base64Accum.slice(0,this.base64AccumIdx).toString("base64").replace(/\//g,",").replace(/=+$/,""),bufIdx);this.base64AccumIdx=0}buf[bufIdx++]=minusChar;this.inBase64=false}return buf.slice(0,bufIdx)};function Utf7IMAPDecoder(options,codec){this.iconv=codec.iconv;this.inBase64=false;this.base64Accum=""}var base64IMAPChars=base64Chars.slice();base64IMAPChars[",".charCodeAt(0)]=true;Utf7IMAPDecoder.prototype.write=function(buf){var res="",lastI=0,inBase64=this.inBase64,base64Accum=this.base64Accum;for(var i2=0;i2<buf.length;i2++){if(!inBase64){if(buf[i2]==andChar){res+=this.iconv.decode(buf.slice(lastI,i2),"ascii");lastI=i2+1;inBase64=true}}else{if(!base64IMAPChars[buf[i2]]){if(i2==lastI&&buf[i2]==minusChar){res+="&"}else{var b64str=base64Accum+buf.slice(lastI,i2).toString().replace(/,/g,"/");res+=this.iconv.decode(Buffer12.from(b64str,"base64"),"utf16-be")}if(buf[i2]!=minusChar)i2--;lastI=i2+1;inBase64=false;base64Accum=""}}}if(!inBase64){res+=this.iconv.decode(buf.slice(lastI),"ascii")}else{var b64str=base64Accum+buf.slice(lastI).toString().replace(/,/g,"/");var canBeDecoded=b64str.length-b64str.length%8;base64Accum=b64str.slice(canBeDecoded);b64str=b64str.slice(0,canBeDecoded);res+=this.iconv.decode(Buffer12.from(b64str,"base64"),"utf16-be")}this.inBase64=inBase64;this.base64Accum=base64Accum;return res};Utf7IMAPDecoder.prototype.end=function(){var res="";if(this.inBase64&&this.base64Accum.length>0)res=this.iconv.decode(Buffer12.from(this.base64Accum,"base64"),"utf16-be");this.inBase64=false;this.base64Accum="";return res}}});var require_sbcs_codec2=__commonJS({"node_modules/raw-body/node_modules/iconv-lite/encodings/sbcs-codec.js"(exports2){"use strict";var Buffer12=require_safer().Buffer;exports2._sbcs=SBCSCodec;function SBCSCodec(codecOptions,iconv){if(!codecOptions)throw new Error("SBCS codec is called without the data.");if(!codecOptions.chars||codecOptions.chars.length!==128&&codecOptions.chars.length!==256)throw new Error("Encoding '"+codecOptions.type+"' has incorrect 'chars' (must be of len 128 or 256)");if(codecOptions.chars.length===128){var asciiString="";for(var i=0;i<128;i++)asciiString+=String.fromCharCode(i);codecOptions.chars=asciiString+codecOptions.chars}this.decodeBuf=Buffer12.from(codecOptions.chars,"ucs2");var encodeBuf=Buffer12.alloc(65536,iconv.defaultCharSingleByte.charCodeAt(0));for(var i=0;i<codecOptions.chars.length;i++)encodeBuf[codecOptions.chars.charCodeAt(i)]=i;this.encodeBuf=encodeBuf}SBCSCodec.prototype.encoder=SBCSEncoder;SBCSCodec.prototype.decoder=SBCSDecoder;function SBCSEncoder(options,codec){this.encodeBuf=codec.encodeBuf}SBCSEncoder.prototype.write=function(str2){var buf=Buffer12.alloc(str2.length);for(var i=0;i<str2.length;i++)buf[i]=this.encodeBuf[str2.charCodeAt(i)];return buf};SBCSEncoder.prototype.end=function(){};function SBCSDecoder(options,codec){this.decodeBuf=codec.decodeBuf}SBCSDecoder.prototype.write=function(buf){var decodeBuf=this.decodeBuf;var newBuf=Buffer12.alloc(buf.length*2);var idx1=0,idx2=0;for(var i=0;i<buf.length;i++){idx1=buf[i]*2;idx2=i*2;newBuf[idx2]=decodeBuf[idx1];newBuf[idx2+1]=decodeBuf[idx1+1]}return newBuf.toString("ucs2")};SBCSDecoder.prototype.end=function(){}}});var require_sbcs_data2=__commonJS({"node_modules/raw-body/node_modules/iconv-lite/encodings/sbcs-data.js"(exports2,module2){"use strict";module2.exports={"10029":"maccenteuro","maccenteuro":{"type":"_sbcs","chars":"ÄĀāÉĄÖÜáąČäčĆćéŹźĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņŃ¬√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ"},"808":"cp808","ibm808":"cp808","cp808":{"type":"_sbcs","chars":"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№€■ "},"mik":{"type":"_sbcs","chars":"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя└┴┬├─┼╣║╚╔╩╦╠═╬┐░▒▓│┤№§╗╝┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},"ascii8bit":"ascii","usascii":"ascii","ansix34":"ascii","ansix341968":"ascii","ansix341986":"ascii","csascii":"ascii","cp367":"ascii","ibm367":"ascii","isoir6":"ascii","iso646us":"ascii","iso646irv":"ascii","us":"ascii","latin1":"iso88591","latin2":"iso88592","latin3":"iso88593","latin4":"iso88594","latin5":"iso88599","latin6":"iso885910","latin7":"iso885913","latin8":"iso885914","latin9":"iso885915","latin10":"iso885916","csisolatin1":"iso88591","csisolatin2":"iso88592","csisolatin3":"iso88593","csisolatin4":"iso88594","csisolatincyrillic":"iso88595","csisolatinarabic":"iso88596","csisolatingreek":"iso88597","csisolatinhebrew":"iso88598","csisolatin5":"iso88599","csisolatin6":"iso885910","l1":"iso88591","l2":"iso88592","l3":"iso88593","l4":"iso88594","l5":"iso88599","l6":"iso885910","l7":"iso885913","l8":"iso885914","l9":"iso885915","l10":"iso885916","isoir14":"iso646jp","isoir57":"iso646cn","isoir100":"iso88591","isoir101":"iso88592","isoir109":"iso88593","isoir110":"iso88594","isoir144":"iso88595","isoir127":"iso88596","isoir126":"iso88597","isoir138":"iso88598","isoir148":"iso88599","isoir157":"iso885910","isoir166":"tis620","isoir179":"iso885913","isoir199":"iso885914","isoir203":"iso885915","isoir226":"iso885916","cp819":"iso88591","ibm819":"iso88591","cyrillic":"iso88595","arabic":"iso88596","arabic8":"iso88596","ecma114":"iso88596","asmo708":"iso88596","greek":"iso88597","greek8":"iso88597","ecma118":"iso88597","elot928":"iso88597","hebrew":"iso88598","hebrew8":"iso88598","turkish":"iso88599","turkish8":"iso88599","thai":"iso885911","thai8":"iso885911","celtic":"iso885914","celtic8":"iso885914","isoceltic":"iso885914","tis6200":"tis620","tis62025291":"tis620","tis62025330":"tis620","10000":"macroman","10006":"macgreek","10007":"maccyrillic","10079":"maciceland","10081":"macturkish","cspc8codepage437":"cp437","cspc775baltic":"cp775","cspc850multilingual":"cp850","cspcp852":"cp852","cspc862latinhebrew":"cp862","cpgr":"cp869","msee":"cp1250","mscyrl":"cp1251","msansi":"cp1252","msgreek":"cp1253","msturk":"cp1254","mshebr":"cp1255","msarab":"cp1256","winbaltrim":"cp1257","cp20866":"koi8r","20866":"koi8r","ibm878":"koi8r","cskoi8r":"koi8r","cp21866":"koi8u","21866":"koi8u","ibm1168":"koi8u","strk10482002":"rk1048","tcvn5712":"tcvn","tcvn57121":"tcvn","gb198880":"iso646cn","cn":"iso646cn","csiso14jisc6220ro":"iso646jp","jisc62201969ro":"iso646jp","jp":"iso646jp","cshproman8":"hproman8","r8":"hproman8","roman8":"hproman8","xroman8":"hproman8","ibm1051":"hproman8","mac":"macintosh","csmacintosh":"macintosh"}}});var require_sbcs_data_generated2=__commonJS({"node_modules/raw-body/node_modules/iconv-lite/encodings/sbcs-data-generated.js"(exports2,module2){"use strict";module2.exports={"437":"cp437","737":"cp737","775":"cp775","850":"cp850","852":"cp852","855":"cp855","856":"cp856","857":"cp857","858":"cp858","860":"cp860","861":"cp861","862":"cp862","863":"cp863","864":"cp864","865":"cp865","866":"cp866","869":"cp869","874":"windows874","922":"cp922","1046":"cp1046","1124":"cp1124","1125":"cp1125","1129":"cp1129","1133":"cp1133","1161":"cp1161","1162":"cp1162","1163":"cp1163","1250":"windows1250","1251":"windows1251","1252":"windows1252","1253":"windows1253","1254":"windows1254","1255":"windows1255","1256":"windows1256","1257":"windows1257","1258":"windows1258","28591":"iso88591","28592":"iso88592","28593":"iso88593","28594":"iso88594","28595":"iso88595","28596":"iso88596","28597":"iso88597","28598":"iso88598","28599":"iso88599","28600":"iso885910","28601":"iso885911","28603":"iso885913","28604":"iso885914","28605":"iso885915","28606":"iso885916","windows874":{"type":"_sbcs","chars":"€����…�����������‘’“”•–—�������� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����"},"win874":"windows874","cp874":"windows874","windows1250":{"type":"_sbcs","chars":"€�‚�„…†‡�‰Š‹ŚŤŽŹ�‘’“”•–—�™š›śťžź ˇ˘Ł¤Ą¦§¨©Ş«¬­®Ż°±˛ł´µ¶·¸ąş»Ľ˝ľżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙"},"win1250":"windows1250","cp1250":"windows1250","windows1251":{"type":"_sbcs","chars":"ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—�™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬­®Ї°±Ііґµ¶·ё№є»јЅѕїАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя"},"win1251":"windows1251","cp1251":"windows1251","windows1252":{"type":"_sbcs","chars":"€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"},"win1252":"windows1252","cp1252":"windows1252","windows1253":{"type":"_sbcs","chars":"€�‚ƒ„…†‡�‰�‹�����‘’“”•–—�™�›���� ΅Ά£¤¥¦§¨©�«¬­®―°±²³΄µ¶·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�"},"win1253":"windows1253","cp1253":"windows1253","windows1254":{"type":"_sbcs","chars":"€�‚ƒ„…†‡ˆ‰Š‹Œ����‘’“”•–—˜™š›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖ×ØÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ"},"win1254":"windows1254","cp1254":"windows1254","windows1255":{"type":"_sbcs","chars":"€�‚ƒ„…†‡ˆ‰�‹�����‘’“”•–—˜™�›���� ¡¢£₪¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾¿ְֱֲֳִֵֶַָֹֺֻּֽ־ֿ׀ׁׂ׃װױײ׳״�������אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏�"},"win1255":"windows1255","cp1255":"windows1255","windows1256":{"type":"_sbcs","chars":"€پ‚ƒ„…†‡ˆ‰ٹ‹Œچژڈگ‘’“”•–—ک™ڑ›œ‌‍ں ،¢£¤¥¦§¨©ھ«¬­®¯°±²³´µ¶·¸¹؛»¼½¾؟ہءآأؤإئابةتثجحخدذرزسشصض×طظعغـفقكàلâمنهوçèéêëىيîïًٌٍَôُِ÷ّùْûü‎‏ے"},"win1256":"windows1256","cp1256":"windows1256","windows1257":{"type":"_sbcs","chars":"€�‚�„…†‡�‰�‹�¨ˇ¸�‘’“”•–—�™�›�¯˛� �¢£¤�¦§Ø©Ŗ«¬­®Æ°±²³´µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž˙"},"win1257":"windows1257","cp1257":"windows1257","windows1258":{"type":"_sbcs","chars":"€�‚ƒ„…†‡ˆ‰�‹Œ����‘’“”•–—˜™�›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖ×ØÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ"},"win1258":"windows1258","cp1258":"windows1258","iso88591":{"type":"_sbcs","chars":" ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"},"cp28591":"iso88591","iso88592":{"type":"_sbcs","chars":" Ą˘Ł¤ĽŚ§¨ŠŞŤŹ­ŽŻ°ą˛ł´ľśˇ¸šşťź˝žżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙"},"cp28592":"iso88592","iso88593":{"type":"_sbcs","chars":" Ħ˘£¤�Ĥ§¨İŞĞĴ­�Ż°ħ²³´µĥ·¸ışğĵ½�żÀÁÂ�ÄĊĈÇÈÉÊËÌÍÎÏ�ÑÒÓÔĠÖ×ĜÙÚÛÜŬŜßàáâ�äċĉçèéêëìíîï�ñòóôġö÷ĝùúûüŭŝ˙"},"cp28593":"iso88593","iso88594":{"type":"_sbcs","chars":" ĄĸŖ¤ĨĻ§¨ŠĒĢŦ­Ž¯°ą˛ŗ´ĩļˇ¸šēģŧŊžŋĀÁÂÃÄÅÆĮČÉĘËĖÍÎĪĐŅŌĶÔÕÖ×ØŲÚÛÜŨŪßāáâãäåæįčéęëėíîīđņōķôõö÷øųúûüũū˙"},"cp28594":"iso88594","iso88595":{"type":"_sbcs","chars":" ЁЂЃЄЅІЇЈЉЊЋЌ­ЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя№ёђѓєѕіїјљњћќ§ўџ"},"cp28595":"iso88595","iso88596":{"type":"_sbcs","chars":" ���¤�������،­�������������؛���؟�ءآأؤإئابةتثجحخدذرزسشصضطظعغ�����ـفقكلمنهوىيًٌٍَُِّْ�������������"},"cp28596":"iso88596","iso88597":{"type":"_sbcs","chars":" ‘’£€₯¦§¨©ͺ«¬­�―°±²³΄΅Ά·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�"},"cp28597":"iso88597","iso88598":{"type":"_sbcs","chars":" �¢£¤¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾��������������������������������‗אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏�"},"cp28598":"iso88598","iso88599":{"type":"_sbcs","chars":" ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖ×ØÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ"},"cp28599":"iso88599","iso885910":{"type":"_sbcs","chars":" ĄĒĢĪĨĶ§ĻĐŠŦŽ­ŪŊ°ąēģīĩķ·ļđšŧž―ūŋĀÁÂÃÄÅÆĮČÉĘËĖÍÎÏÐŅŌÓÔÕÖŨØŲÚÛÜÝÞßāáâãäåæįčéęëėíîïðņōóôõöũøųúûüýþĸ"},"cp28600":"iso885910","iso885911":{"type":"_sbcs","chars":" กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����"},"cp28601":"iso885911","iso885913":{"type":"_sbcs","chars":" ”¢£¤„¦§Ø©Ŗ«¬­®Æ°±²³“µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž’"},"cp28603":"iso885913","iso885914":{"type":"_sbcs","chars":" Ḃḃ£ĊċḊ§Ẁ©ẂḋỲ­®ŸḞḟĠġṀṁ¶ṖẁṗẃṠỳẄẅṡÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏŴÑÒÓÔÕÖṪØÙÚÛÜÝŶßàáâãäåæçèéêëìíîïŵñòóôõöṫøùúûüýŷÿ"},"cp28604":"iso885914","iso885915":{"type":"_sbcs","chars":" ¡¢£€¥Š§š©ª«¬­®¯°±²³Žµ¶·ž¹º»ŒœŸ¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"},"cp28605":"iso885915","iso885916":{"type":"_sbcs","chars":" ĄąŁ€„Š§š©Ș«Ź­źŻ°±ČłŽ”¶·žčș»ŒœŸżÀÁÂĂÄĆÆÇÈÉÊËÌÍÎÏĐŃÒÓÔŐÖŚŰÙÚÛÜĘȚßàáâăäćæçèéêëìíîïđńòóôőöśűùúûüęțÿ"},"cp28606":"iso885916","cp437":{"type":"_sbcs","chars":"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñÑªº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},"ibm437":"cp437","csibm437":"cp437","cp737":{"type":"_sbcs","chars":"ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρσςτυφχψ░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀ωάέήϊίόύϋώΆΈΉΊΌΎΏ±≥≤ΪΫ÷≈°∙·√ⁿ²■ "},"ibm737":"cp737","csibm737":"cp737","cp775":{"type":"_sbcs","chars":"ĆüéāäģåćłēŖŗīŹÄÅÉæÆōöĢ¢ŚśÖÜø£Ø×¤ĀĪóŻżź”¦©®¬½¼Ł«»░▒▓│┤ĄČĘĖ╣║╗╝ĮŠ┐└┴┬├─┼ŲŪ╚╔╩╦╠═╬Žąčęėįšųūž┘┌█▄▌▐▀ÓßŌŃõÕµńĶķĻļņĒŅ’­±“¾¶§÷„°∙·¹³²■ "},"ibm775":"cp775","csibm775":"cp775","cp850":{"type":"_sbcs","chars":"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø×ƒáíóúñÑªº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ðÐÊËÈıÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµþÞÚÛÙýÝ¯´­±‗¾¶§÷¸°¨·¹³²■ "},"ibm850":"cp850","csibm850":"cp850","cp852":{"type":"_sbcs","chars":"ÇüéâäůćçłëŐőîŹÄĆÉĹĺôöĽľŚśÖÜŤťŁ×čáíóúĄąŽžĘę¬źČş«»░▒▓│┤ÁÂĚŞ╣║╗╝Żż┐└┴┬├─┼Ăă╚╔╩╦╠═╬¤đĐĎËďŇÍÎě┘┌█▄ŢŮ▀ÓßÔŃńňŠšŔÚŕŰýÝţ´­˝˛ˇ˘§÷¸°¨˙űŘř■ "},"ibm852":"cp852","csibm852":"cp852","cp855":{"type":"_sbcs","chars":"ђЂѓЃёЁєЄѕЅіІїЇјЈљЉњЊћЋќЌўЎџЏюЮъЪаАбБцЦдДеЕфФгГ«»░▒▓│┤хХиИ╣║╗╝йЙ┐└┴┬├─┼кК╚╔╩╦╠═╬¤лЛмМнНоОп┘┌█▄Пя▀ЯрРсСтТуУжЖвВьЬ№­ыЫзЗшШэЭщЩчЧ§■ "},"ibm855":"cp855","csibm855":"cp855","cp856":{"type":"_sbcs","chars":"אבגדהוזחטיךכלםמןנסעףפץצקרשת�£�×����������®¬½¼�«»░▒▓│┤���©╣║╗╝¢¥┐└┴┬├─┼��╚╔╩╦╠═╬¤���������┘┌█▄¦�▀������µ�������¯´­±‗¾¶§÷¸°¨·¹³²■ "},"ibm856":"cp856","csibm856":"cp856","cp857":{"type":"_sbcs","chars":"ÇüéâäàåçêëèïîıÄÅÉæÆôöòûùİÖÜø£ØŞşáíóúñÑĞğ¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ºªÊËÈ�ÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµ�×ÚÛÙìÿ¯´­±�¾¶§÷¸°¨·¹³²■ "},"ibm857":"cp857","csibm857":"cp857","cp858":{"type":"_sbcs","chars":"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø×ƒáíóúñÑªº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ðÐÊËÈ€ÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµþÞÚÛÙýÝ¯´­±‗¾¶§÷¸°¨·¹³²■ "},"ibm858":"cp858","csibm858":"cp858","cp860":{"type":"_sbcs","chars":"ÇüéâãàÁçêÊèÍÔìÃÂÉÀÈôõòÚùÌÕÜ¢£Ù₧ÓáíóúñÑªº¿Ò¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},"ibm860":"cp860","csibm860":"cp860","cp861":{"type":"_sbcs","chars":"ÇüéâäàåçêëèÐðÞÄÅÉæÆôöþûÝýÖÜø£Ø₧ƒáíóúÁÍÓÚ¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},"ibm861":"cp861","csibm861":"cp861","cp862":{"type":"_sbcs","chars":"אבגדהוזחטיךכלםמןנסעףפץצקרשת¢£¥₧ƒáíóúñÑªº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},"ibm862":"cp862","csibm862":"cp862","cp863":{"type":"_sbcs","chars":"ÇüéâÂà¶çêëèïî‗À§ÉÈÊôËÏûù¤ÔÜ¢£ÙÛƒ¦´óú¨¸³¯Î⌐¬½¼¾«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},"ibm863":"cp863","csibm863":"cp863","cp864":{"type":"_sbcs","chars":"\0\x07\b	\n\v\f\r\x1B !\"#$٪&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~°·∙√▒─│┼┤┬├┴┐┌└┘β∞φ±½¼≈«»ﻷﻸ��ﻻﻼ� ­ﺂ£¤ﺄ��ﺎﺏﺕﺙ،ﺝﺡﺥ٠١٢٣٤٥٦٧٨٩ﻑ؛ﺱﺵﺹ؟¢ﺀﺁﺃﺅﻊﺋﺍﺑﺓﺗﺛﺟﺣﺧﺩﺫﺭﺯﺳﺷﺻﺿﻁﻅﻋﻏ¦¬÷×ﻉـﻓﻗﻛﻟﻣﻧﻫﻭﻯﻳﺽﻌﻎﻍﻡﹽّﻥﻩﻬﻰﻲﻐﻕﻵﻶﻝﻙﻱ■�"},"ibm864":"cp864","csibm864":"cp864","cp865":{"type":"_sbcs","chars":"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø₧ƒáíóúñÑªº¿⌐¬½¼¡«¤░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},"ibm865":"cp865","csibm865":"cp865","cp866":{"type":"_sbcs","chars":"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№¤■ "},"ibm866":"cp866","csibm866":"cp866","cp869":{"type":"_sbcs","chars":"������Ά�·¬¦‘’Έ―ΉΊΪΌ��ΎΫ©Ώ²³ά£έήίϊΐόύΑΒΓΔΕΖΗ½ΘΙ«»░▒▓│┤ΚΛΜΝ╣║╗╝ΞΟ┐└┴┬├─┼ΠΡ╚╔╩╦╠═╬ΣΤΥΦΧΨΩαβγ┘┌█▄δε▀ζηθικλμνξοπρσςτ΄­±υφχ§ψ΅°¨ωϋΰώ■ "},"ibm869":"cp869","csibm869":"cp869","cp922":{"type":"_sbcs","chars":" ¡¢£¤¥¦§¨©ª«¬­®‾°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏŠÑÒÓÔÕÖ×ØÙÚÛÜÝŽßàáâãäåæçèéêëìíîïšñòóôõö÷øùúûüýžÿ"},"ibm922":"cp922","csibm922":"cp922","cp1046":{"type":"_sbcs","chars":"ﺈ×÷ﹱ■│─┐┌└┘ﹹﹻﹽﹿﹷﺊﻰﻳﻲﻎﻏﻐﻶﻸﻺﻼ ¤ﺋﺑﺗﺛﺟﺣ،­ﺧﺳ٠١٢٣٤٥٦٧٨٩ﺷ؛ﺻﺿﻊ؟ﻋءآأؤإئابةتثجحخدذرزسشصضطﻇعغﻌﺂﺄﺎﻓـفقكلمنهوىيًٌٍَُِّْﻗﻛﻟﻵﻷﻹﻻﻣﻧﻬﻩ�"},"ibm1046":"cp1046","csibm1046":"cp1046","cp1124":{"type":"_sbcs","chars":" ЁЂҐЄЅІЇЈЉЊЋЌ­ЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя№ёђґєѕіїјљњћќ§ўџ"},"ibm1124":"cp1124","csibm1124":"cp1124","cp1125":{"type":"_sbcs","chars":"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёҐґЄєІіЇї·√№¤■ "},"ibm1125":"cp1125","csibm1125":"cp1125","cp1129":{"type":"_sbcs","chars":" ¡¢£¤¥¦§œ©ª«¬­®¯°±²³Ÿµ¶·Œ¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖ×ØÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ"},"ibm1129":"cp1129","csibm1129":"cp1129","cp1133":{"type":"_sbcs","chars":" ກຂຄງຈສຊຍດຕຖທນບປຜຝພຟມຢຣລວຫອຮ���ຯະາຳິີຶືຸູຼັົຽ���ເແໂໃໄ່້໊໋໌ໍໆ�ໜໝ₭����������������໐໑໒໓໔໕໖໗໘໙��¢¬¦�"},"ibm1133":"cp1133","csibm1133":"cp1133","cp1161":{"type":"_sbcs","chars":"��������������������������������่กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู้๊๋€฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛¢¬¦ "},"ibm1161":"cp1161","csibm1161":"cp1161","cp1162":{"type":"_sbcs","chars":"€…‘’“”•–— กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����"},"ibm1162":"cp1162","csibm1162":"cp1162","cp1163":{"type":"_sbcs","chars":" ¡¢£€¥¦§œ©ª«¬­®¯°±²³Ÿµ¶·Œ¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖ×ØÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ"},"ibm1163":"cp1163","csibm1163":"cp1163","maccroatian":{"type":"_sbcs","chars":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®Š™´¨≠ŽØ∞±≤≥∆µ∂∑∏š∫ªºΩžø¿¡¬√ƒ≈Ć«Č… ÀÃÕŒœĐ—“”‘’÷◊�©⁄¤‹›Æ»–·‚„‰ÂćÁčÈÍÎÏÌÓÔđÒÚÛÙıˆ˜¯πË˚¸Êæˇ"},"maccyrillic":{"type":"_sbcs","chars":"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°¢£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµ∂ЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю¤"},"macgreek":{"type":"_sbcs","chars":"Ä¹²É³ÖÜ΅àâä΄¨çéèêë£™îï•½‰ôö¦­ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ�"},"maciceland":{"type":"_sbcs","chars":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüÝ°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ"},"macroman":{"type":"_sbcs","chars":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›ﬁﬂ‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ"},"macromania":{"type":"_sbcs","chars":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ĂŞ∞±≤≥¥µ∂∑∏π∫ªºΩăş¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›Ţţ‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ"},"macthai":{"type":"_sbcs","chars":"«»…“”�•‘’� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู\uFEFF​–—฿เแโใไๅๆ็่้๊๋์ํ™๏๐๑๒๓๔๕๖๗๘๙®©����"},"macturkish":{"type":"_sbcs","chars":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙ�ˆ˜¯˘˙˚¸˝˛ˇ"},"macukraine":{"type":"_sbcs","chars":"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°Ґ£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµґЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю¤"},"koi8r":{"type":"_sbcs","chars":"─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥ ⌡°²·÷═║╒ё╓╔╕╖╗╘╙╚╛╜╝╞╟╠╡Ё╢╣╤╥╦╧╨╩╪╫╬©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ"},"koi8u":{"type":"_sbcs","chars":"─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥ ⌡°²·÷═║╒ёє╔ії╗╘╙╚╛ґ╝╞╟╠╡ЁЄ╣ІЇ╦╧╨╩╪Ґ╬©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ"},"koi8ru":{"type":"_sbcs","chars":"─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥ ⌡°²·÷═║╒ёє╔ії╗╘╙╚╛ґў╞╟╠╡ЁЄ╣ІЇ╦╧╨╩╪ҐЎ©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ"},"koi8t":{"type":"_sbcs","chars":"қғ‚Ғ„…†‡�‰ҳ‹ҲҷҶ�Қ‘’“”•–—�™�›�����ӯӮё¤ӣ¦§���«¬­®�°±²Ё�Ӣ¶·�№�»���©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ"},"armscii8":{"type":"_sbcs","chars":" �և։)(»«—.՝,-֊…՜՛՞ԱաԲբԳգԴդԵեԶզԷէԸըԹթԺժԻիԼլԽխԾծԿկՀհՁձՂղՃճՄմՅյՆնՇշՈոՉչՊպՋջՌռՍսՎվՏտՐրՑցՒւՓփՔքՕօՖֆ՚�"},"rk1048":{"type":"_sbcs","chars":"ЂЃ‚ѓ„…†‡€‰Љ‹ЊҚҺЏђ‘’“”•–—�™љ›њқһџ ҰұӘ¤Ө¦§Ё©Ғ«¬­®Ү°±Ііөµ¶·ё№ғ»әҢңүАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя"},"tcvn":{"type":"_sbcs","chars":"\0ÚỤỪỬỮ\x07\b	\n\v\f\rỨỰỲỶỸÝỴ\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÀẢÃÁẠẶẬÈẺẼÉẸỆÌỈĨÍỊÒỎÕÓỌỘỜỞỠỚỢÙỦŨ ĂÂÊÔƠƯĐăâêôơưđẶ̀̀̉̃́àảãáạẲằẳẵắẴẮẦẨẪẤỀặầẩẫấậèỂẻẽéẹềểễếệìỉỄẾỒĩíịòỔỏõóọồổỗốộờởỡớợùỖủũúụừửữứựỳỷỹýỵỐ"},"georgianacademy":{"type":"_sbcs","chars":"‚ƒ„…†‡ˆ‰Š‹Œ‘’“”•–—˜™š›œŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿აბგდევზთიკლმნოპჟრსტუფქღყშჩცძწჭხჯჰჱჲჳჴჵჶçèéêëìíîïðñòóôõö÷øùúûüýþÿ"},"georgianps":{"type":"_sbcs","chars":"‚ƒ„…†‡ˆ‰Š‹Œ‘’“”•–—˜™š›œŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿აბგდევზჱთიკლმნჲოპჟრსტჳუფქღყშჩცძწჭხჴჯჰჵæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"},"pt154":{"type":"_sbcs","chars":"ҖҒӮғ„…ҶҮҲүҠӢҢҚҺҸҗ‘’“”•–—ҳҷҡӣңқһҹ ЎўЈӨҘҰ§Ё©Ә«¬ӯ®Ҝ°ұІіҙө¶·ё№ә»јҪҫҝАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя"},"viscii":{"type":"_sbcs","chars":"\0ẲẴẪ\x07\b	\n\v\f\rỶỸ\x1BỴ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ẠẮẰẶẤẦẨẬẼẸẾỀỂỄỆỐỒỔỖỘỢỚỜỞỊỎỌỈỦŨỤỲÕắằặấầẩậẽẹếềểễệốồổỗỠƠộờởịỰỨỪỬơớƯÀÁÂÃẢĂẳẵÈÉÊẺÌÍĨỳĐứÒÓÔạỷừửÙÚỹỵÝỡưàáâãảăữẫèéêẻìíĩỉđựòóôõỏọụùúũủýợỮ"},"iso646cn":{"type":"_sbcs","chars":"\0\x07\b	\n\v\f\r\x1B !\"#¥%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}‾��������������������������������������������������������������������������������������������������������������������������������"},"iso646jp":{"type":"_sbcs","chars":"\0\x07\b	\n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[¥]^_`abcdefghijklmnopqrstuvwxyz{|}‾��������������������������������������������������������������������������������������������������������������������������������"},"hproman8":{"type":"_sbcs","chars":" ÀÂÈÊËÎÏ´ˋˆ¨˜ÙÛ₤¯Ýý°ÇçÑñ¡¿¤£¥§ƒ¢âêôûáéóúàèòùäëöüÅîØÆåíøæÄìÖÜÉïßÔÁÃãÐðÍÌÓÒÕõŠšÚŸÿÞþ·µ¶¾—¼½ªº«■»±�"},"macintosh":{"type":"_sbcs","chars":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›ﬁﬂ‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ"},"ascii":{"type":"_sbcs","chars":"��������������������������������������������������������������������������������������������������������������������������������"},"tis620":{"type":"_sbcs","chars":"���������������������������������กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����"}}}});var require_dbcs_codec2=__commonJS({"node_modules/raw-body/node_modules/iconv-lite/encodings/dbcs-codec.js"(exports2){"use strict";var Buffer12=require_safer().Buffer;exports2._dbcs=DBCSCodec;var UNASSIGNED=-1;var GB18030_CODE=-2;var SEQ_START=-10;var NODE_START=-1e3;var UNASSIGNED_NODE=new Array(256);var DEF_CHAR=-1;for(i=0;i<256;i++)UNASSIGNED_NODE[i]=UNASSIGNED;var i;function DBCSCodec(codecOptions,iconv){this.encodingName=codecOptions.encodingName;if(!codecOptions)throw new Error("DBCS codec is called without the data.");if(!codecOptions.table)throw new Error("Encoding '"+this.encodingName+"' has no data.");var mappingTable=codecOptions.table();this.decodeTables=[];this.decodeTables[0]=UNASSIGNED_NODE.slice(0);this.decodeTableSeq=[];for(var i2=0;i2<mappingTable.length;i2++)this._addDecodeChunk(mappingTable[i2]);this.defaultCharUnicode=iconv.defaultCharUnicode;this.encodeTable=[];this.encodeTableSeq=[];var skipEncodeChars={};if(codecOptions.encodeSkipVals)for(var i2=0;i2<codecOptions.encodeSkipVals.length;i2++){var val=codecOptions.encodeSkipVals[i2];if(typeof val==="number")skipEncodeChars[val]=true;else for(var j=val.from;j<=val.to;j++)skipEncodeChars[j]=true}this._fillEncodeTable(0,0,skipEncodeChars);if(codecOptions.encodeAdd){for(var uChar in codecOptions.encodeAdd)if(Object.prototype.hasOwnProperty.call(codecOptions.encodeAdd,uChar))this._setEncodeChar(uChar.charCodeAt(0),codecOptions.encodeAdd[uChar])}this.defCharSB=this.encodeTable[0][iconv.defaultCharSingleByte.charCodeAt(0)];if(this.defCharSB===UNASSIGNED)this.defCharSB=this.encodeTable[0]["?"];if(this.defCharSB===UNASSIGNED)this.defCharSB="?".charCodeAt(0);if(typeof codecOptions.gb18030==="function"){this.gb18030=codecOptions.gb18030();var thirdByteNodeIdx=this.decodeTables.length;var thirdByteNode=this.decodeTables[thirdByteNodeIdx]=UNASSIGNED_NODE.slice(0);var fourthByteNodeIdx=this.decodeTables.length;var fourthByteNode=this.decodeTables[fourthByteNodeIdx]=UNASSIGNED_NODE.slice(0);for(var i2=129;i2<=254;i2++){var secondByteNodeIdx=NODE_START-this.decodeTables[0][i2];var secondByteNode=this.decodeTables[secondByteNodeIdx];for(var j=48;j<=57;j++)secondByteNode[j]=NODE_START-thirdByteNodeIdx}for(var i2=129;i2<=254;i2++)thirdByteNode[i2]=NODE_START-fourthByteNodeIdx;for(var i2=48;i2<=57;i2++)fourthByteNode[i2]=GB18030_CODE}}DBCSCodec.prototype.encoder=DBCSEncoder;DBCSCodec.prototype.decoder=DBCSDecoder;DBCSCodec.prototype._getDecodeTrieNode=function(addr){var bytes9=[];for(;addr>0;addr>>=8)bytes9.push(addr&255);if(bytes9.length==0)bytes9.push(0);var node=this.decodeTables[0];for(var i2=bytes9.length-1;i2>0;i2--){var val=node[bytes9[i2]];if(val==UNASSIGNED){node[bytes9[i2]]=NODE_START-this.decodeTables.length;this.decodeTables.push(node=UNASSIGNED_NODE.slice(0))}else if(val<=NODE_START){node=this.decodeTables[NODE_START-val]}else throw new Error("Overwrite byte in "+this.encodingName+", addr: "+addr.toString(16))}return node};DBCSCodec.prototype._addDecodeChunk=function(chunk2){var curAddr=parseInt(chunk2[0],16);var writeTable=this._getDecodeTrieNode(curAddr);curAddr=curAddr&255;for(var k=1;k<chunk2.length;k++){var part=chunk2[k];if(typeof part==="string"){for(var l=0;l<part.length;){var code=part.charCodeAt(l++);if(55296<=code&&code<56320){var codeTrail=part.charCodeAt(l++);if(56320<=codeTrail&&codeTrail<57344)writeTable[curAddr++]=65536+(code-55296)*1024+(codeTrail-56320);else throw new Error("Incorrect surrogate pair in "+this.encodingName+" at chunk "+chunk2[0])}else if(4080<code&&code<=4095){var len=4095-code+2;var seq2=[];for(var m=0;m<len;m++)seq2.push(part.charCodeAt(l++));writeTable[curAddr++]=SEQ_START-this.decodeTableSeq.length;this.decodeTableSeq.push(seq2)}else writeTable[curAddr++]=code}}else if(typeof part==="number"){var charCode=writeTable[curAddr-1]+1;for(var l=0;l<part;l++)writeTable[curAddr++]=charCode++}else throw new Error("Incorrect type '"+typeof part+"' given in "+this.encodingName+" at chunk "+chunk2[0])}if(curAddr>255)throw new Error("Incorrect chunk in "+this.encodingName+" at addr "+chunk2[0]+": too long"+curAddr)};DBCSCodec.prototype._getEncodeBucket=function(uCode){var high=uCode>>8;if(this.encodeTable[high]===void 0)this.encodeTable[high]=UNASSIGNED_NODE.slice(0);return this.encodeTable[high]};DBCSCodec.prototype._setEncodeChar=function(uCode,dbcsCode){var bucket=this._getEncodeBucket(uCode);var low=uCode&255;if(bucket[low]<=SEQ_START)this.encodeTableSeq[SEQ_START-bucket[low]][DEF_CHAR]=dbcsCode;else if(bucket[low]==UNASSIGNED)bucket[low]=dbcsCode};DBCSCodec.prototype._setEncodeSequence=function(seq2,dbcsCode){var uCode=seq2[0];var bucket=this._getEncodeBucket(uCode);var low=uCode&255;var node;if(bucket[low]<=SEQ_START){node=this.encodeTableSeq[SEQ_START-bucket[low]]}else{node={};if(bucket[low]!==UNASSIGNED)node[DEF_CHAR]=bucket[low];bucket[low]=SEQ_START-this.encodeTableSeq.length;this.encodeTableSeq.push(node)}for(var j=1;j<seq2.length-1;j++){var oldVal=node[uCode];if(typeof oldVal==="object")node=oldVal;else{node=node[uCode]={};if(oldVal!==void 0)node[DEF_CHAR]=oldVal}}uCode=seq2[seq2.length-1];node[uCode]=dbcsCode};DBCSCodec.prototype._fillEncodeTable=function(nodeIdx,prefix,skipEncodeChars){var node=this.decodeTables[nodeIdx];for(var i2=0;i2<256;i2++){var uCode=node[i2];var mbCode=prefix+i2;if(skipEncodeChars[mbCode])continue;if(uCode>=0)this._setEncodeChar(uCode,mbCode);else if(uCode<=NODE_START)this._fillEncodeTable(NODE_START-uCode,mbCode<<8,skipEncodeChars);else if(uCode<=SEQ_START)this._setEncodeSequence(this.decodeTableSeq[SEQ_START-uCode],mbCode)}};function DBCSEncoder(options,codec){this.leadSurrogate=-1;this.seqObj=void 0;this.encodeTable=codec.encodeTable;this.encodeTableSeq=codec.encodeTableSeq;this.defaultCharSingleByte=codec.defCharSB;this.gb18030=codec.gb18030}DBCSEncoder.prototype.write=function(str2){var newBuf=Buffer12.alloc(str2.length*(this.gb18030?4:3)),leadSurrogate=this.leadSurrogate,seqObj=this.seqObj,nextChar=-1,i2=0,j=0;while(true){if(nextChar===-1){if(i2==str2.length)break;var uCode=str2.charCodeAt(i2++)}else{var uCode=nextChar;nextChar=-1}if(55296<=uCode&&uCode<57344){if(uCode<56320){if(leadSurrogate===-1){leadSurrogate=uCode;continue}else{leadSurrogate=uCode;uCode=UNASSIGNED}}else{if(leadSurrogate!==-1){uCode=65536+(leadSurrogate-55296)*1024+(uCode-56320);leadSurrogate=-1}else{uCode=UNASSIGNED}}}else if(leadSurrogate!==-1){nextChar=uCode;uCode=UNASSIGNED;leadSurrogate=-1}var dbcsCode=UNASSIGNED;if(seqObj!==void 0&&uCode!=UNASSIGNED){var resCode=seqObj[uCode];if(typeof resCode==="object"){seqObj=resCode;continue}else if(typeof resCode=="number"){dbcsCode=resCode}else if(resCode==void 0){resCode=seqObj[DEF_CHAR];if(resCode!==void 0){dbcsCode=resCode;nextChar=uCode}else{}}seqObj=void 0}else if(uCode>=0){var subtable=this.encodeTable[uCode>>8];if(subtable!==void 0)dbcsCode=subtable[uCode&255];if(dbcsCode<=SEQ_START){seqObj=this.encodeTableSeq[SEQ_START-dbcsCode];continue}if(dbcsCode==UNASSIGNED&&this.gb18030){var idx=findIdx(this.gb18030.uChars,uCode);if(idx!=-1){var dbcsCode=this.gb18030.gbChars[idx]+(uCode-this.gb18030.uChars[idx]);newBuf[j++]=129+Math.floor(dbcsCode/12600);dbcsCode=dbcsCode%12600;newBuf[j++]=48+Math.floor(dbcsCode/1260);dbcsCode=dbcsCode%1260;newBuf[j++]=129+Math.floor(dbcsCode/10);dbcsCode=dbcsCode%10;newBuf[j++]=48+dbcsCode;continue}}}if(dbcsCode===UNASSIGNED)dbcsCode=this.defaultCharSingleByte;if(dbcsCode<256){newBuf[j++]=dbcsCode}else if(dbcsCode<65536){newBuf[j++]=dbcsCode>>8;newBuf[j++]=dbcsCode&255}else{newBuf[j++]=dbcsCode>>16;newBuf[j++]=dbcsCode>>8&255;newBuf[j++]=dbcsCode&255}}this.seqObj=seqObj;this.leadSurrogate=leadSurrogate;return newBuf.slice(0,j)};DBCSEncoder.prototype.end=function(){if(this.leadSurrogate===-1&&this.seqObj===void 0)return;var newBuf=Buffer12.alloc(10),j=0;if(this.seqObj){var dbcsCode=this.seqObj[DEF_CHAR];if(dbcsCode!==void 0){if(dbcsCode<256){newBuf[j++]=dbcsCode}else{newBuf[j++]=dbcsCode>>8;newBuf[j++]=dbcsCode&255}}else{}this.seqObj=void 0}if(this.leadSurrogate!==-1){newBuf[j++]=this.defaultCharSingleByte;this.leadSurrogate=-1}return newBuf.slice(0,j)};DBCSEncoder.prototype.findIdx=findIdx;function DBCSDecoder(options,codec){this.nodeIdx=0;this.prevBuf=Buffer12.alloc(0);this.decodeTables=codec.decodeTables;this.decodeTableSeq=codec.decodeTableSeq;this.defaultCharUnicode=codec.defaultCharUnicode;this.gb18030=codec.gb18030}DBCSDecoder.prototype.write=function(buf){var newBuf=Buffer12.alloc(buf.length*2),nodeIdx=this.nodeIdx,prevBuf=this.prevBuf,prevBufOffset=this.prevBuf.length,seqStart=-this.prevBuf.length,uCode;if(prevBufOffset>0)prevBuf=Buffer12.concat([prevBuf,buf.slice(0,10)]);for(var i2=0,j=0;i2<buf.length;i2++){var curByte=i2>=0?buf[i2]:prevBuf[i2+prevBufOffset];var uCode=this.decodeTables[nodeIdx][curByte];if(uCode>=0){}else if(uCode===UNASSIGNED){i2=seqStart;uCode=this.defaultCharUnicode.charCodeAt(0)}else if(uCode===GB18030_CODE){var curSeq=seqStart>=0?buf.slice(seqStart,i2+1):prevBuf.slice(seqStart+prevBufOffset,i2+1+prevBufOffset);var ptr=(curSeq[0]-129)*12600+(curSeq[1]-48)*1260+(curSeq[2]-129)*10+(curSeq[3]-48);var idx=findIdx(this.gb18030.gbChars,ptr);uCode=this.gb18030.uChars[idx]+ptr-this.gb18030.gbChars[idx]}else if(uCode<=NODE_START){nodeIdx=NODE_START-uCode;continue}else if(uCode<=SEQ_START){var seq2=this.decodeTableSeq[SEQ_START-uCode];for(var k=0;k<seq2.length-1;k++){uCode=seq2[k];newBuf[j++]=uCode&255;newBuf[j++]=uCode>>8}uCode=seq2[seq2.length-1]}else throw new Error("iconv-lite internal error: invalid decoding table value "+uCode+" at "+nodeIdx+"/"+curByte);if(uCode>65535){uCode-=65536;var uCodeLead=55296+Math.floor(uCode/1024);newBuf[j++]=uCodeLead&255;newBuf[j++]=uCodeLead>>8;uCode=56320+uCode%1024}newBuf[j++]=uCode&255;newBuf[j++]=uCode>>8;nodeIdx=0;seqStart=i2+1}this.nodeIdx=nodeIdx;this.prevBuf=seqStart>=0?buf.slice(seqStart):prevBuf.slice(seqStart+prevBufOffset);return newBuf.slice(0,j).toString("ucs2")};DBCSDecoder.prototype.end=function(){var ret="";while(this.prevBuf.length>0){ret+=this.defaultCharUnicode;var buf=this.prevBuf.slice(1);this.prevBuf=Buffer12.alloc(0);this.nodeIdx=0;if(buf.length>0)ret+=this.write(buf)}this.nodeIdx=0;return ret};function findIdx(table,val){if(table[0]>val)return-1;var l=0,r=table.length;while(l<r-1){var mid=l+Math.floor((r-l+1)/2);if(table[mid]<=val)l=mid;else r=mid}return l}}});var require_shiftjis2=__commonJS({"node_modules/raw-body/node_modules/iconv-lite/encodings/tables/shiftjis.json"(exports2,module2){module2.exports=[["0","\0",128],["a1","｡",62],["8140","　、。，．・：；？！゛゜´｀¨＾￣＿ヽヾゝゞ〃仝々〆〇ー―‐／＼～∥｜…‥‘’“”（）〔〕［］｛｝〈",9,"＋－±×"],["8180","÷＝≠＜＞≦≧∞∴♂♀°′″℃￥＄￠￡％＃＆＊＠§☆★○●◎◇◆□■△▲▽▼※〒→←↑↓〓"],["81b8","∈∋⊆⊇⊂⊃∪∩"],["81c8","∧∨￢⇒⇔∀∃"],["81da","∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬"],["81f0","Å‰♯♭♪†‡¶"],["81fc","◯"],["824f","０",9],["8260","Ａ",25],["8281","ａ",25],["829f","ぁ",82],["8340","ァ",62],["8380","ム",22],["839f","Α",16,"Σ",6],["83bf","α",16,"σ",6],["8440","А",5,"ЁЖ",25],["8470","а",5,"ёж",7],["8480","о",17],["849f","─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂"],["8740","①",19,"Ⅰ",9],["875f","㍉㌔㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡"],["877e","㍻"],["8780","〝〟№㏍℡㊤",4,"㈱㈲㈹㍾㍽㍼≒≡∫∮∑√⊥∠∟⊿∵∩∪"],["889f","亜唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位依偉囲夷委威尉惟意慰易椅為畏異移維緯胃萎衣謂違遺医井亥域育郁磯一壱溢逸稲茨芋鰯允印咽員因姻引飲淫胤蔭"],["8940","院陰隠韻吋右宇烏羽迂雨卯鵜窺丑碓臼渦嘘唄欝蔚鰻姥厩浦瓜閏噂云運雲荏餌叡営嬰影映曳栄永泳洩瑛盈穎頴英衛詠鋭液疫益駅悦謁越閲榎厭円"],["8980","園堰奄宴延怨掩援沿演炎焔煙燕猿縁艶苑薗遠鉛鴛塩於汚甥凹央奥往応押旺横欧殴王翁襖鴬鴎黄岡沖荻億屋憶臆桶牡乙俺卸恩温穏音下化仮何伽価佳加可嘉夏嫁家寡科暇果架歌河火珂禍禾稼箇花苛茄荷華菓蝦課嘩貨迦過霞蚊俄峨我牙画臥芽蛾賀雅餓駕介会解回塊壊廻快怪悔恢懐戒拐改"],["8a40","魁晦械海灰界皆絵芥蟹開階貝凱劾外咳害崖慨概涯碍蓋街該鎧骸浬馨蛙垣柿蛎鈎劃嚇各廓拡撹格核殻獲確穫覚角赫較郭閣隔革学岳楽額顎掛笠樫"],["8a80","橿梶鰍潟割喝恰括活渇滑葛褐轄且鰹叶椛樺鞄株兜竃蒲釜鎌噛鴨栢茅萱粥刈苅瓦乾侃冠寒刊勘勧巻喚堪姦完官寛干幹患感慣憾換敢柑桓棺款歓汗漢澗潅環甘監看竿管簡緩缶翰肝艦莞観諌貫還鑑間閑関陥韓館舘丸含岸巌玩癌眼岩翫贋雁頑顔願企伎危喜器基奇嬉寄岐希幾忌揮机旗既期棋棄"],["8b40","機帰毅気汽畿祈季稀紀徽規記貴起軌輝飢騎鬼亀偽儀妓宜戯技擬欺犠疑祇義蟻誼議掬菊鞠吉吃喫桔橘詰砧杵黍却客脚虐逆丘久仇休及吸宮弓急救"],["8b80","朽求汲泣灸球究窮笈級糾給旧牛去居巨拒拠挙渠虚許距鋸漁禦魚亨享京供侠僑兇競共凶協匡卿叫喬境峡強彊怯恐恭挟教橋況狂狭矯胸脅興蕎郷鏡響饗驚仰凝尭暁業局曲極玉桐粁僅勤均巾錦斤欣欽琴禁禽筋緊芹菌衿襟謹近金吟銀九倶句区狗玖矩苦躯駆駈駒具愚虞喰空偶寓遇隅串櫛釧屑屈"],["8c40","掘窟沓靴轡窪熊隈粂栗繰桑鍬勲君薫訓群軍郡卦袈祁係傾刑兄啓圭珪型契形径恵慶慧憩掲携敬景桂渓畦稽系経継繋罫茎荊蛍計詣警軽頚鶏芸迎鯨"],["8c80","劇戟撃激隙桁傑欠決潔穴結血訣月件倹倦健兼券剣喧圏堅嫌建憲懸拳捲検権牽犬献研硯絹県肩見謙賢軒遣鍵険顕験鹸元原厳幻弦減源玄現絃舷言諺限乎個古呼固姑孤己庫弧戸故枯湖狐糊袴股胡菰虎誇跨鈷雇顧鼓五互伍午呉吾娯後御悟梧檎瑚碁語誤護醐乞鯉交佼侯候倖光公功効勾厚口向"],["8d40","后喉坑垢好孔孝宏工巧巷幸広庚康弘恒慌抗拘控攻昂晃更杭校梗構江洪浩港溝甲皇硬稿糠紅紘絞綱耕考肯肱腔膏航荒行衡講貢購郊酵鉱砿鋼閤降"],["8d80","項香高鴻剛劫号合壕拷濠豪轟麹克刻告国穀酷鵠黒獄漉腰甑忽惚骨狛込此頃今困坤墾婚恨懇昏昆根梱混痕紺艮魂些佐叉唆嵯左差査沙瑳砂詐鎖裟坐座挫債催再最哉塞妻宰彩才採栽歳済災采犀砕砦祭斎細菜裁載際剤在材罪財冴坂阪堺榊肴咲崎埼碕鷺作削咋搾昨朔柵窄策索錯桜鮭笹匙冊刷"],["8e40","察拶撮擦札殺薩雑皐鯖捌錆鮫皿晒三傘参山惨撒散桟燦珊産算纂蚕讃賛酸餐斬暫残仕仔伺使刺司史嗣四士始姉姿子屍市師志思指支孜斯施旨枝止"],["8e80","死氏獅祉私糸紙紫肢脂至視詞詩試誌諮資賜雌飼歯事似侍児字寺慈持時次滋治爾璽痔磁示而耳自蒔辞汐鹿式識鴫竺軸宍雫七叱執失嫉室悉湿漆疾質実蔀篠偲柴芝屡蕊縞舎写射捨赦斜煮社紗者謝車遮蛇邪借勺尺杓灼爵酌釈錫若寂弱惹主取守手朱殊狩珠種腫趣酒首儒受呪寿授樹綬需囚収周"],["8f40","宗就州修愁拾洲秀秋終繍習臭舟蒐衆襲讐蹴輯週酋酬集醜什住充十従戎柔汁渋獣縦重銃叔夙宿淑祝縮粛塾熟出術述俊峻春瞬竣舜駿准循旬楯殉淳"],["8f80","準潤盾純巡遵醇順処初所暑曙渚庶緒署書薯藷諸助叙女序徐恕鋤除傷償勝匠升召哨商唱嘗奨妾娼宵将小少尚庄床廠彰承抄招掌捷昇昌昭晶松梢樟樵沼消渉湘焼焦照症省硝礁祥称章笑粧紹肖菖蒋蕉衝裳訟証詔詳象賞醤鉦鍾鐘障鞘上丈丞乗冗剰城場壌嬢常情擾条杖浄状畳穣蒸譲醸錠嘱埴飾"],["9040","拭植殖燭織職色触食蝕辱尻伸信侵唇娠寝審心慎振新晋森榛浸深申疹真神秦紳臣芯薪親診身辛進針震人仁刃塵壬尋甚尽腎訊迅陣靭笥諏須酢図厨"],["9080","逗吹垂帥推水炊睡粋翠衰遂酔錐錘随瑞髄崇嵩数枢趨雛据杉椙菅頗雀裾澄摺寸世瀬畝是凄制勢姓征性成政整星晴棲栖正清牲生盛精聖声製西誠誓請逝醒青静斉税脆隻席惜戚斥昔析石積籍績脊責赤跡蹟碩切拙接摂折設窃節説雪絶舌蝉仙先千占宣専尖川戦扇撰栓栴泉浅洗染潜煎煽旋穿箭線"],["9140","繊羨腺舛船薦詮賎践選遷銭銑閃鮮前善漸然全禅繕膳糎噌塑岨措曾曽楚狙疏疎礎祖租粗素組蘇訴阻遡鼠僧創双叢倉喪壮奏爽宋層匝惣想捜掃挿掻"],["9180","操早曹巣槍槽漕燥争痩相窓糟総綜聡草荘葬蒼藻装走送遭鎗霜騒像増憎臓蔵贈造促側則即息捉束測足速俗属賊族続卒袖其揃存孫尊損村遜他多太汰詑唾堕妥惰打柁舵楕陀駄騨体堆対耐岱帯待怠態戴替泰滞胎腿苔袋貸退逮隊黛鯛代台大第醍題鷹滝瀧卓啄宅托択拓沢濯琢託鐸濁諾茸凧蛸只"],["9240","叩但達辰奪脱巽竪辿棚谷狸鱈樽誰丹単嘆坦担探旦歎淡湛炭短端箪綻耽胆蛋誕鍛団壇弾断暖檀段男談値知地弛恥智池痴稚置致蜘遅馳築畜竹筑蓄"],["9280","逐秩窒茶嫡着中仲宙忠抽昼柱注虫衷註酎鋳駐樗瀦猪苧著貯丁兆凋喋寵帖帳庁弔張彫徴懲挑暢朝潮牒町眺聴脹腸蝶調諜超跳銚長頂鳥勅捗直朕沈珍賃鎮陳津墜椎槌追鎚痛通塚栂掴槻佃漬柘辻蔦綴鍔椿潰坪壷嬬紬爪吊釣鶴亭低停偵剃貞呈堤定帝底庭廷弟悌抵挺提梯汀碇禎程締艇訂諦蹄逓"],["9340","邸鄭釘鼎泥摘擢敵滴的笛適鏑溺哲徹撤轍迭鉄典填天展店添纏甜貼転顛点伝殿澱田電兎吐堵塗妬屠徒斗杜渡登菟賭途都鍍砥砺努度土奴怒倒党冬"],["9380","凍刀唐塔塘套宕島嶋悼投搭東桃梼棟盗淘湯涛灯燈当痘祷等答筒糖統到董蕩藤討謄豆踏逃透鐙陶頭騰闘働動同堂導憧撞洞瞳童胴萄道銅峠鴇匿得徳涜特督禿篤毒独読栃橡凸突椴届鳶苫寅酉瀞噸屯惇敦沌豚遁頓呑曇鈍奈那内乍凪薙謎灘捺鍋楢馴縄畷南楠軟難汝二尼弐迩匂賑肉虹廿日乳入"],["9440","如尿韮任妊忍認濡禰祢寧葱猫熱年念捻撚燃粘乃廼之埜嚢悩濃納能脳膿農覗蚤巴把播覇杷波派琶破婆罵芭馬俳廃拝排敗杯盃牌背肺輩配倍培媒梅"],["9480","楳煤狽買売賠陪這蝿秤矧萩伯剥博拍柏泊白箔粕舶薄迫曝漠爆縛莫駁麦函箱硲箸肇筈櫨幡肌畑畠八鉢溌発醗髪伐罰抜筏閥鳩噺塙蛤隼伴判半反叛帆搬斑板氾汎版犯班畔繁般藩販範釆煩頒飯挽晩番盤磐蕃蛮匪卑否妃庇彼悲扉批披斐比泌疲皮碑秘緋罷肥被誹費避非飛樋簸備尾微枇毘琵眉美"],["9540","鼻柊稗匹疋髭彦膝菱肘弼必畢筆逼桧姫媛紐百謬俵彪標氷漂瓢票表評豹廟描病秒苗錨鋲蒜蛭鰭品彬斌浜瀕貧賓頻敏瓶不付埠夫婦富冨布府怖扶敷"],["9580","斧普浮父符腐膚芙譜負賦赴阜附侮撫武舞葡蕪部封楓風葺蕗伏副復幅服福腹複覆淵弗払沸仏物鮒分吻噴墳憤扮焚奮粉糞紛雰文聞丙併兵塀幣平弊柄並蔽閉陛米頁僻壁癖碧別瞥蔑箆偏変片篇編辺返遍便勉娩弁鞭保舗鋪圃捕歩甫補輔穂募墓慕戊暮母簿菩倣俸包呆報奉宝峰峯崩庖抱捧放方朋"],["9640","法泡烹砲縫胞芳萌蓬蜂褒訪豊邦鋒飽鳳鵬乏亡傍剖坊妨帽忘忙房暴望某棒冒紡肪膨謀貌貿鉾防吠頬北僕卜墨撲朴牧睦穆釦勃没殆堀幌奔本翻凡盆"],["9680","摩磨魔麻埋妹昧枚毎哩槙幕膜枕鮪柾鱒桝亦俣又抹末沫迄侭繭麿万慢満漫蔓味未魅巳箕岬密蜜湊蓑稔脈妙粍民眠務夢無牟矛霧鵡椋婿娘冥名命明盟迷銘鳴姪牝滅免棉綿緬面麺摸模茂妄孟毛猛盲網耗蒙儲木黙目杢勿餅尤戻籾貰問悶紋門匁也冶夜爺耶野弥矢厄役約薬訳躍靖柳薮鑓愉愈油癒"],["9740","諭輸唯佑優勇友宥幽悠憂揖有柚湧涌猶猷由祐裕誘遊邑郵雄融夕予余与誉輿預傭幼妖容庸揚揺擁曜楊様洋溶熔用窯羊耀葉蓉要謡踊遥陽養慾抑欲"],["9780","沃浴翌翼淀羅螺裸来莱頼雷洛絡落酪乱卵嵐欄濫藍蘭覧利吏履李梨理璃痢裏裡里離陸律率立葎掠略劉流溜琉留硫粒隆竜龍侶慮旅虜了亮僚両凌寮料梁涼猟療瞭稜糧良諒遼量陵領力緑倫厘林淋燐琳臨輪隣鱗麟瑠塁涙累類令伶例冷励嶺怜玲礼苓鈴隷零霊麗齢暦歴列劣烈裂廉恋憐漣煉簾練聯"],["9840","蓮連錬呂魯櫓炉賂路露労婁廊弄朗楼榔浪漏牢狼篭老聾蝋郎六麓禄肋録論倭和話歪賄脇惑枠鷲亙亘鰐詫藁蕨椀湾碗腕"],["989f","弌丐丕个丱丶丼丿乂乖乘亂亅豫亊舒弍于亞亟亠亢亰亳亶从仍仄仆仂仗仞仭仟价伉佚估佛佝佗佇佶侈侏侘佻佩佰侑佯來侖儘俔俟俎俘俛俑俚俐俤俥倚倨倔倪倥倅伜俶倡倩倬俾俯們倆偃假會偕偐偈做偖偬偸傀傚傅傴傲"],["9940","僉僊傳僂僖僞僥僭僣僮價僵儉儁儂儖儕儔儚儡儺儷儼儻儿兀兒兌兔兢竸兩兪兮冀冂囘册冉冏冑冓冕冖冤冦冢冩冪冫决冱冲冰况冽凅凉凛几處凩凭"],["9980","凰凵凾刄刋刔刎刧刪刮刳刹剏剄剋剌剞剔剪剴剩剳剿剽劍劔劒剱劈劑辨辧劬劭劼劵勁勍勗勞勣勦飭勠勳勵勸勹匆匈甸匍匐匏匕匚匣匯匱匳匸區卆卅丗卉卍凖卞卩卮夘卻卷厂厖厠厦厥厮厰厶參簒雙叟曼燮叮叨叭叺吁吽呀听吭吼吮吶吩吝呎咏呵咎呟呱呷呰咒呻咀呶咄咐咆哇咢咸咥咬哄哈咨"],["9a40","咫哂咤咾咼哘哥哦唏唔哽哮哭哺哢唹啀啣啌售啜啅啖啗唸唳啝喙喀咯喊喟啻啾喘喞單啼喃喩喇喨嗚嗅嗟嗄嗜嗤嗔嘔嗷嘖嗾嗽嘛嗹噎噐營嘴嘶嘲嘸"],["9a80","噫噤嘯噬噪嚆嚀嚊嚠嚔嚏嚥嚮嚶嚴囂嚼囁囃囀囈囎囑囓囗囮囹圀囿圄圉圈國圍圓團圖嗇圜圦圷圸坎圻址坏坩埀垈坡坿垉垓垠垳垤垪垰埃埆埔埒埓堊埖埣堋堙堝塲堡塢塋塰毀塒堽塹墅墹墟墫墺壞墻墸墮壅壓壑壗壙壘壥壜壤壟壯壺壹壻壼壽夂夊夐夛梦夥夬夭夲夸夾竒奕奐奎奚奘奢奠奧奬奩"],["9b40","奸妁妝佞侫妣妲姆姨姜妍姙姚娥娟娑娜娉娚婀婬婉娵娶婢婪媚媼媾嫋嫂媽嫣嫗嫦嫩嫖嫺嫻嬌嬋嬖嬲嫐嬪嬶嬾孃孅孀孑孕孚孛孥孩孰孳孵學斈孺宀"],["9b80","它宦宸寃寇寉寔寐寤實寢寞寥寫寰寶寳尅將專對尓尠尢尨尸尹屁屆屎屓屐屏孱屬屮乢屶屹岌岑岔妛岫岻岶岼岷峅岾峇峙峩峽峺峭嶌峪崋崕崗嵜崟崛崑崔崢崚崙崘嵌嵒嵎嵋嵬嵳嵶嶇嶄嶂嶢嶝嶬嶮嶽嶐嶷嶼巉巍巓巒巖巛巫已巵帋帚帙帑帛帶帷幄幃幀幎幗幔幟幢幤幇幵并幺麼广庠廁廂廈廐廏"],["9c40","廖廣廝廚廛廢廡廨廩廬廱廳廰廴廸廾弃弉彝彜弋弑弖弩弭弸彁彈彌彎弯彑彖彗彙彡彭彳彷徃徂彿徊很徑徇從徙徘徠徨徭徼忖忻忤忸忱忝悳忿怡恠"],["9c80","怙怐怩怎怱怛怕怫怦怏怺恚恁恪恷恟恊恆恍恣恃恤恂恬恫恙悁悍惧悃悚悄悛悖悗悒悧悋惡悸惠惓悴忰悽惆悵惘慍愕愆惶惷愀惴惺愃愡惻惱愍愎慇愾愨愧慊愿愼愬愴愽慂慄慳慷慘慙慚慫慴慯慥慱慟慝慓慵憙憖憇憬憔憚憊憑憫憮懌懊應懷懈懃懆憺懋罹懍懦懣懶懺懴懿懽懼懾戀戈戉戍戌戔戛"],["9d40","戞戡截戮戰戲戳扁扎扞扣扛扠扨扼抂抉找抒抓抖拔抃抔拗拑抻拏拿拆擔拈拜拌拊拂拇抛拉挌拮拱挧挂挈拯拵捐挾捍搜捏掖掎掀掫捶掣掏掉掟掵捫"],["9d80","捩掾揩揀揆揣揉插揶揄搖搴搆搓搦搶攝搗搨搏摧摯摶摎攪撕撓撥撩撈撼據擒擅擇撻擘擂擱擧舉擠擡抬擣擯攬擶擴擲擺攀擽攘攜攅攤攣攫攴攵攷收攸畋效敖敕敍敘敞敝敲數斂斃變斛斟斫斷旃旆旁旄旌旒旛旙无旡旱杲昊昃旻杳昵昶昴昜晏晄晉晁晞晝晤晧晨晟晢晰暃暈暎暉暄暘暝曁暹曉暾暼"],["9e40","曄暸曖曚曠昿曦曩曰曵曷朏朖朞朦朧霸朮朿朶杁朸朷杆杞杠杙杣杤枉杰枩杼杪枌枋枦枡枅枷柯枴柬枳柩枸柤柞柝柢柮枹柎柆柧檜栞框栩桀桍栲桎"],["9e80","梳栫桙档桷桿梟梏梭梔條梛梃檮梹桴梵梠梺椏梍桾椁棊椈棘椢椦棡椌棍棔棧棕椶椒椄棗棣椥棹棠棯椨椪椚椣椡棆楹楷楜楸楫楔楾楮椹楴椽楙椰楡楞楝榁楪榲榮槐榿槁槓榾槎寨槊槝榻槃榧樮榑榠榜榕榴槞槨樂樛槿權槹槲槧樅榱樞槭樔槫樊樒櫁樣樓橄樌橲樶橸橇橢橙橦橈樸樢檐檍檠檄檢檣"],["9f40","檗蘗檻櫃櫂檸檳檬櫞櫑櫟檪櫚櫪櫻欅蘖櫺欒欖鬱欟欸欷盜欹飮歇歃歉歐歙歔歛歟歡歸歹歿殀殄殃殍殘殕殞殤殪殫殯殲殱殳殷殼毆毋毓毟毬毫毳毯"],["9f80","麾氈氓气氛氤氣汞汕汢汪沂沍沚沁沛汾汨汳沒沐泄泱泓沽泗泅泝沮沱沾沺泛泯泙泪洟衍洶洫洽洸洙洵洳洒洌浣涓浤浚浹浙涎涕濤涅淹渕渊涵淇淦涸淆淬淞淌淨淒淅淺淙淤淕淪淮渭湮渮渙湲湟渾渣湫渫湶湍渟湃渺湎渤滿渝游溂溪溘滉溷滓溽溯滄溲滔滕溏溥滂溟潁漑灌滬滸滾漿滲漱滯漲滌"],["e040","漾漓滷澆潺潸澁澀潯潛濳潭澂潼潘澎澑濂潦澳澣澡澤澹濆澪濟濕濬濔濘濱濮濛瀉瀋濺瀑瀁瀏濾瀛瀚潴瀝瀘瀟瀰瀾瀲灑灣炙炒炯烱炬炸炳炮烟烋烝"],["e080","烙焉烽焜焙煥煕熈煦煢煌煖煬熏燻熄熕熨熬燗熹熾燒燉燔燎燠燬燧燵燼燹燿爍爐爛爨爭爬爰爲爻爼爿牀牆牋牘牴牾犂犁犇犒犖犢犧犹犲狃狆狄狎狒狢狠狡狹狷倏猗猊猜猖猝猴猯猩猥猾獎獏默獗獪獨獰獸獵獻獺珈玳珎玻珀珥珮珞璢琅瑯琥珸琲琺瑕琿瑟瑙瑁瑜瑩瑰瑣瑪瑶瑾璋璞璧瓊瓏瓔珱"],["e140","瓠瓣瓧瓩瓮瓲瓰瓱瓸瓷甄甃甅甌甎甍甕甓甞甦甬甼畄畍畊畉畛畆畚畩畤畧畫畭畸當疆疇畴疊疉疂疔疚疝疥疣痂疳痃疵疽疸疼疱痍痊痒痙痣痞痾痿"],["e180","痼瘁痰痺痲痳瘋瘍瘉瘟瘧瘠瘡瘢瘤瘴瘰瘻癇癈癆癜癘癡癢癨癩癪癧癬癰癲癶癸發皀皃皈皋皎皖皓皙皚皰皴皸皹皺盂盍盖盒盞盡盥盧盪蘯盻眈眇眄眩眤眞眥眦眛眷眸睇睚睨睫睛睥睿睾睹瞎瞋瞑瞠瞞瞰瞶瞹瞿瞼瞽瞻矇矍矗矚矜矣矮矼砌砒礦砠礪硅碎硴碆硼碚碌碣碵碪碯磑磆磋磔碾碼磅磊磬"],["e240","磧磚磽磴礇礒礑礙礬礫祀祠祗祟祚祕祓祺祿禊禝禧齋禪禮禳禹禺秉秕秧秬秡秣稈稍稘稙稠稟禀稱稻稾稷穃穗穉穡穢穩龝穰穹穽窈窗窕窘窖窩竈窰"],["e280","窶竅竄窿邃竇竊竍竏竕竓站竚竝竡竢竦竭竰笂笏笊笆笳笘笙笞笵笨笶筐筺笄筍笋筌筅筵筥筴筧筰筱筬筮箝箘箟箍箜箚箋箒箏筝箙篋篁篌篏箴篆篝篩簑簔篦篥籠簀簇簓篳篷簗簍篶簣簧簪簟簷簫簽籌籃籔籏籀籐籘籟籤籖籥籬籵粃粐粤粭粢粫粡粨粳粲粱粮粹粽糀糅糂糘糒糜糢鬻糯糲糴糶糺紆"],["e340","紂紜紕紊絅絋紮紲紿紵絆絳絖絎絲絨絮絏絣經綉絛綏絽綛綺綮綣綵緇綽綫總綢綯緜綸綟綰緘緝緤緞緻緲緡縅縊縣縡縒縱縟縉縋縢繆繦縻縵縹繃縷"],["e380","縲縺繧繝繖繞繙繚繹繪繩繼繻纃緕繽辮繿纈纉續纒纐纓纔纖纎纛纜缸缺罅罌罍罎罐网罕罔罘罟罠罨罩罧罸羂羆羃羈羇羌羔羞羝羚羣羯羲羹羮羶羸譱翅翆翊翕翔翡翦翩翳翹飜耆耄耋耒耘耙耜耡耨耿耻聊聆聒聘聚聟聢聨聳聲聰聶聹聽聿肄肆肅肛肓肚肭冐肬胛胥胙胝胄胚胖脉胯胱脛脩脣脯腋"],["e440","隋腆脾腓腑胼腱腮腥腦腴膃膈膊膀膂膠膕膤膣腟膓膩膰膵膾膸膽臀臂膺臉臍臑臙臘臈臚臟臠臧臺臻臾舁舂舅與舊舍舐舖舩舫舸舳艀艙艘艝艚艟艤"],["e480","艢艨艪艫舮艱艷艸艾芍芒芫芟芻芬苡苣苟苒苴苳苺莓范苻苹苞茆苜茉苙茵茴茖茲茱荀茹荐荅茯茫茗茘莅莚莪莟莢莖茣莎莇莊荼莵荳荵莠莉莨菴萓菫菎菽萃菘萋菁菷萇菠菲萍萢萠莽萸蔆菻葭萪萼蕚蒄葷葫蒭葮蒂葩葆萬葯葹萵蓊葢蒹蒿蒟蓙蓍蒻蓚蓐蓁蓆蓖蒡蔡蓿蓴蔗蔘蔬蔟蔕蔔蓼蕀蕣蕘蕈"],["e540","蕁蘂蕋蕕薀薤薈薑薊薨蕭薔薛藪薇薜蕷蕾薐藉薺藏薹藐藕藝藥藜藹蘊蘓蘋藾藺蘆蘢蘚蘰蘿虍乕虔號虧虱蚓蚣蚩蚪蚋蚌蚶蚯蛄蛆蚰蛉蠣蚫蛔蛞蛩蛬"],["e580","蛟蛛蛯蜒蜆蜈蜀蜃蛻蜑蜉蜍蛹蜊蜴蜿蜷蜻蜥蜩蜚蝠蝟蝸蝌蝎蝴蝗蝨蝮蝙蝓蝣蝪蠅螢螟螂螯蟋螽蟀蟐雖螫蟄螳蟇蟆螻蟯蟲蟠蠏蠍蟾蟶蟷蠎蟒蠑蠖蠕蠢蠡蠱蠶蠹蠧蠻衄衂衒衙衞衢衫袁衾袞衵衽袵衲袂袗袒袮袙袢袍袤袰袿袱裃裄裔裘裙裝裹褂裼裴裨裲褄褌褊褓襃褞褥褪褫襁襄褻褶褸襌褝襠襞"],["e640","襦襤襭襪襯襴襷襾覃覈覊覓覘覡覩覦覬覯覲覺覽覿觀觚觜觝觧觴觸訃訖訐訌訛訝訥訶詁詛詒詆詈詼詭詬詢誅誂誄誨誡誑誥誦誚誣諄諍諂諚諫諳諧"],["e680","諤諱謔諠諢諷諞諛謌謇謚諡謖謐謗謠謳鞫謦謫謾謨譁譌譏譎證譖譛譚譫譟譬譯譴譽讀讌讎讒讓讖讙讚谺豁谿豈豌豎豐豕豢豬豸豺貂貉貅貊貍貎貔豼貘戝貭貪貽貲貳貮貶賈賁賤賣賚賽賺賻贄贅贊贇贏贍贐齎贓賍贔贖赧赭赱赳趁趙跂趾趺跏跚跖跌跛跋跪跫跟跣跼踈踉跿踝踞踐踟蹂踵踰踴蹊"],["e740","蹇蹉蹌蹐蹈蹙蹤蹠踪蹣蹕蹶蹲蹼躁躇躅躄躋躊躓躑躔躙躪躡躬躰軆躱躾軅軈軋軛軣軼軻軫軾輊輅輕輒輙輓輜輟輛輌輦輳輻輹轅轂輾轌轉轆轎轗轜"],["e780","轢轣轤辜辟辣辭辯辷迚迥迢迪迯邇迴逅迹迺逑逕逡逍逞逖逋逧逶逵逹迸遏遐遑遒逎遉逾遖遘遞遨遯遶隨遲邂遽邁邀邊邉邏邨邯邱邵郢郤扈郛鄂鄒鄙鄲鄰酊酖酘酣酥酩酳酲醋醉醂醢醫醯醪醵醴醺釀釁釉釋釐釖釟釡釛釼釵釶鈞釿鈔鈬鈕鈑鉞鉗鉅鉉鉤鉈銕鈿鉋鉐銜銖銓銛鉚鋏銹銷鋩錏鋺鍄錮"],["e840","錙錢錚錣錺錵錻鍜鍠鍼鍮鍖鎰鎬鎭鎔鎹鏖鏗鏨鏥鏘鏃鏝鏐鏈鏤鐚鐔鐓鐃鐇鐐鐶鐫鐵鐡鐺鑁鑒鑄鑛鑠鑢鑞鑪鈩鑰鑵鑷鑽鑚鑼鑾钁鑿閂閇閊閔閖閘閙"],["e880","閠閨閧閭閼閻閹閾闊濶闃闍闌闕闔闖關闡闥闢阡阨阮阯陂陌陏陋陷陜陞陝陟陦陲陬隍隘隕隗險隧隱隲隰隴隶隸隹雎雋雉雍襍雜霍雕雹霄霆霈霓霎霑霏霖霙霤霪霰霹霽霾靄靆靈靂靉靜靠靤靦靨勒靫靱靹鞅靼鞁靺鞆鞋鞏鞐鞜鞨鞦鞣鞳鞴韃韆韈韋韜韭齏韲竟韶韵頏頌頸頤頡頷頽顆顏顋顫顯顰"],["e940","顱顴顳颪颯颱颶飄飃飆飩飫餃餉餒餔餘餡餝餞餤餠餬餮餽餾饂饉饅饐饋饑饒饌饕馗馘馥馭馮馼駟駛駝駘駑駭駮駱駲駻駸騁騏騅駢騙騫騷驅驂驀驃"],["e980","騾驕驍驛驗驟驢驥驤驩驫驪骭骰骼髀髏髑髓體髞髟髢髣髦髯髫髮髴髱髷髻鬆鬘鬚鬟鬢鬣鬥鬧鬨鬩鬪鬮鬯鬲魄魃魏魍魎魑魘魴鮓鮃鮑鮖鮗鮟鮠鮨鮴鯀鯊鮹鯆鯏鯑鯒鯣鯢鯤鯔鯡鰺鯲鯱鯰鰕鰔鰉鰓鰌鰆鰈鰒鰊鰄鰮鰛鰥鰤鰡鰰鱇鰲鱆鰾鱚鱠鱧鱶鱸鳧鳬鳰鴉鴈鳫鴃鴆鴪鴦鶯鴣鴟鵄鴕鴒鵁鴿鴾鵆鵈"],["ea40","鵝鵞鵤鵑鵐鵙鵲鶉鶇鶫鵯鵺鶚鶤鶩鶲鷄鷁鶻鶸鶺鷆鷏鷂鷙鷓鷸鷦鷭鷯鷽鸚鸛鸞鹵鹹鹽麁麈麋麌麒麕麑麝麥麩麸麪麭靡黌黎黏黐黔黜點黝黠黥黨黯"],["ea80","黴黶黷黹黻黼黽鼇鼈皷鼕鼡鼬鼾齊齒齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠堯槇遙瑤凜熙"],["ed40","纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏"],["ed80","塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱"],["ee40","犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙"],["ee80","蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑"],["eeef","ⅰ",9,"￢￤＇＂"],["f040","",62],["f080","",124],["f140","",62],["f180","",124],["f240","",62],["f280","",124],["f340","",62],["f380","",124],["f440","",62],["f480","",124],["f540","",62],["f580","",124],["f640","",62],["f680","",124],["f740","",62],["f780","",124],["f840","",62],["f880","",124],["f940",""],["fa40","ⅰ",9,"Ⅰ",9,"￢￤＇＂㈱№℡∵纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊"],["fa80","兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯"],["fb40","涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神"],["fb80","祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙"],["fc40","髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑"]]}});var require_eucjp2=__commonJS({"node_modules/raw-body/node_modules/iconv-lite/encodings/tables/eucjp.json"(exports2,module2){module2.exports=[["0","\0",127],["8ea1","｡",62],["a1a1","　、。，．・：；？！゛゜´｀¨＾￣＿ヽヾゝゞ〃仝々〆〇ー―‐／＼～∥｜…‥‘’“”（）〔〕［］｛｝〈",9,"＋－±×÷＝≠＜＞≦≧∞∴♂♀°′″℃￥＄￠￡％＃＆＊＠§☆★○●◎◇"],["a2a1","◆□■△▲▽▼※〒→←↑↓〓"],["a2ba","∈∋⊆⊇⊂⊃∪∩"],["a2ca","∧∨￢⇒⇔∀∃"],["a2dc","∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬"],["a2f2","Å‰♯♭♪†‡¶"],["a2fe","◯"],["a3b0","０",9],["a3c1","Ａ",25],["a3e1","ａ",25],["a4a1","ぁ",82],["a5a1","ァ",85],["a6a1","Α",16,"Σ",6],["a6c1","α",16,"σ",6],["a7a1","А",5,"ЁЖ",25],["a7d1","а",5,"ёж",25],["a8a1","─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂"],["ada1","①",19,"Ⅰ",9],["adc0","㍉㌔㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡"],["addf","㍻〝〟№㏍℡㊤",4,"㈱㈲㈹㍾㍽㍼≒≡∫∮∑√⊥∠∟⊿∵∩∪"],["b0a1","亜唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位依偉囲夷委威尉惟意慰易椅為畏異移維緯胃萎衣謂違遺医井亥域育郁磯一壱溢逸稲茨芋鰯允印咽員因姻引飲淫胤蔭"],["b1a1","院陰隠韻吋右宇烏羽迂雨卯鵜窺丑碓臼渦嘘唄欝蔚鰻姥厩浦瓜閏噂云運雲荏餌叡営嬰影映曳栄永泳洩瑛盈穎頴英衛詠鋭液疫益駅悦謁越閲榎厭円園堰奄宴延怨掩援沿演炎焔煙燕猿縁艶苑薗遠鉛鴛塩於汚甥凹央奥往応"],["b2a1","押旺横欧殴王翁襖鴬鴎黄岡沖荻億屋憶臆桶牡乙俺卸恩温穏音下化仮何伽価佳加可嘉夏嫁家寡科暇果架歌河火珂禍禾稼箇花苛茄荷華菓蝦課嘩貨迦過霞蚊俄峨我牙画臥芽蛾賀雅餓駕介会解回塊壊廻快怪悔恢懐戒拐改"],["b3a1","魁晦械海灰界皆絵芥蟹開階貝凱劾外咳害崖慨概涯碍蓋街該鎧骸浬馨蛙垣柿蛎鈎劃嚇各廓拡撹格核殻獲確穫覚角赫較郭閣隔革学岳楽額顎掛笠樫橿梶鰍潟割喝恰括活渇滑葛褐轄且鰹叶椛樺鞄株兜竃蒲釜鎌噛鴨栢茅萱"],["b4a1","粥刈苅瓦乾侃冠寒刊勘勧巻喚堪姦完官寛干幹患感慣憾換敢柑桓棺款歓汗漢澗潅環甘監看竿管簡緩缶翰肝艦莞観諌貫還鑑間閑関陥韓館舘丸含岸巌玩癌眼岩翫贋雁頑顔願企伎危喜器基奇嬉寄岐希幾忌揮机旗既期棋棄"],["b5a1","機帰毅気汽畿祈季稀紀徽規記貴起軌輝飢騎鬼亀偽儀妓宜戯技擬欺犠疑祇義蟻誼議掬菊鞠吉吃喫桔橘詰砧杵黍却客脚虐逆丘久仇休及吸宮弓急救朽求汲泣灸球究窮笈級糾給旧牛去居巨拒拠挙渠虚許距鋸漁禦魚亨享京"],["b6a1","供侠僑兇競共凶協匡卿叫喬境峡強彊怯恐恭挟教橋況狂狭矯胸脅興蕎郷鏡響饗驚仰凝尭暁業局曲極玉桐粁僅勤均巾錦斤欣欽琴禁禽筋緊芹菌衿襟謹近金吟銀九倶句区狗玖矩苦躯駆駈駒具愚虞喰空偶寓遇隅串櫛釧屑屈"],["b7a1","掘窟沓靴轡窪熊隈粂栗繰桑鍬勲君薫訓群軍郡卦袈祁係傾刑兄啓圭珪型契形径恵慶慧憩掲携敬景桂渓畦稽系経継繋罫茎荊蛍計詣警軽頚鶏芸迎鯨劇戟撃激隙桁傑欠決潔穴結血訣月件倹倦健兼券剣喧圏堅嫌建憲懸拳捲"],["b8a1","検権牽犬献研硯絹県肩見謙賢軒遣鍵険顕験鹸元原厳幻弦減源玄現絃舷言諺限乎個古呼固姑孤己庫弧戸故枯湖狐糊袴股胡菰虎誇跨鈷雇顧鼓五互伍午呉吾娯後御悟梧檎瑚碁語誤護醐乞鯉交佼侯候倖光公功効勾厚口向"],["b9a1","后喉坑垢好孔孝宏工巧巷幸広庚康弘恒慌抗拘控攻昂晃更杭校梗構江洪浩港溝甲皇硬稿糠紅紘絞綱耕考肯肱腔膏航荒行衡講貢購郊酵鉱砿鋼閤降項香高鴻剛劫号合壕拷濠豪轟麹克刻告国穀酷鵠黒獄漉腰甑忽惚骨狛込"],["baa1","此頃今困坤墾婚恨懇昏昆根梱混痕紺艮魂些佐叉唆嵯左差査沙瑳砂詐鎖裟坐座挫債催再最哉塞妻宰彩才採栽歳済災采犀砕砦祭斎細菜裁載際剤在材罪財冴坂阪堺榊肴咲崎埼碕鷺作削咋搾昨朔柵窄策索錯桜鮭笹匙冊刷"],["bba1","察拶撮擦札殺薩雑皐鯖捌錆鮫皿晒三傘参山惨撒散桟燦珊産算纂蚕讃賛酸餐斬暫残仕仔伺使刺司史嗣四士始姉姿子屍市師志思指支孜斯施旨枝止死氏獅祉私糸紙紫肢脂至視詞詩試誌諮資賜雌飼歯事似侍児字寺慈持時"],["bca1","次滋治爾璽痔磁示而耳自蒔辞汐鹿式識鴫竺軸宍雫七叱執失嫉室悉湿漆疾質実蔀篠偲柴芝屡蕊縞舎写射捨赦斜煮社紗者謝車遮蛇邪借勺尺杓灼爵酌釈錫若寂弱惹主取守手朱殊狩珠種腫趣酒首儒受呪寿授樹綬需囚収周"],["bda1","宗就州修愁拾洲秀秋終繍習臭舟蒐衆襲讐蹴輯週酋酬集醜什住充十従戎柔汁渋獣縦重銃叔夙宿淑祝縮粛塾熟出術述俊峻春瞬竣舜駿准循旬楯殉淳準潤盾純巡遵醇順処初所暑曙渚庶緒署書薯藷諸助叙女序徐恕鋤除傷償"],["bea1","勝匠升召哨商唱嘗奨妾娼宵将小少尚庄床廠彰承抄招掌捷昇昌昭晶松梢樟樵沼消渉湘焼焦照症省硝礁祥称章笑粧紹肖菖蒋蕉衝裳訟証詔詳象賞醤鉦鍾鐘障鞘上丈丞乗冗剰城場壌嬢常情擾条杖浄状畳穣蒸譲醸錠嘱埴飾"],["bfa1","拭植殖燭織職色触食蝕辱尻伸信侵唇娠寝審心慎振新晋森榛浸深申疹真神秦紳臣芯薪親診身辛進針震人仁刃塵壬尋甚尽腎訊迅陣靭笥諏須酢図厨逗吹垂帥推水炊睡粋翠衰遂酔錐錘随瑞髄崇嵩数枢趨雛据杉椙菅頗雀裾"],["c0a1","澄摺寸世瀬畝是凄制勢姓征性成政整星晴棲栖正清牲生盛精聖声製西誠誓請逝醒青静斉税脆隻席惜戚斥昔析石積籍績脊責赤跡蹟碩切拙接摂折設窃節説雪絶舌蝉仙先千占宣専尖川戦扇撰栓栴泉浅洗染潜煎煽旋穿箭線"],["c1a1","繊羨腺舛船薦詮賎践選遷銭銑閃鮮前善漸然全禅繕膳糎噌塑岨措曾曽楚狙疏疎礎祖租粗素組蘇訴阻遡鼠僧創双叢倉喪壮奏爽宋層匝惣想捜掃挿掻操早曹巣槍槽漕燥争痩相窓糟総綜聡草荘葬蒼藻装走送遭鎗霜騒像増憎"],["c2a1","臓蔵贈造促側則即息捉束測足速俗属賊族続卒袖其揃存孫尊損村遜他多太汰詑唾堕妥惰打柁舵楕陀駄騨体堆対耐岱帯待怠態戴替泰滞胎腿苔袋貸退逮隊黛鯛代台大第醍題鷹滝瀧卓啄宅托択拓沢濯琢託鐸濁諾茸凧蛸只"],["c3a1","叩但達辰奪脱巽竪辿棚谷狸鱈樽誰丹単嘆坦担探旦歎淡湛炭短端箪綻耽胆蛋誕鍛団壇弾断暖檀段男談値知地弛恥智池痴稚置致蜘遅馳築畜竹筑蓄逐秩窒茶嫡着中仲宙忠抽昼柱注虫衷註酎鋳駐樗瀦猪苧著貯丁兆凋喋寵"],["c4a1","帖帳庁弔張彫徴懲挑暢朝潮牒町眺聴脹腸蝶調諜超跳銚長頂鳥勅捗直朕沈珍賃鎮陳津墜椎槌追鎚痛通塚栂掴槻佃漬柘辻蔦綴鍔椿潰坪壷嬬紬爪吊釣鶴亭低停偵剃貞呈堤定帝底庭廷弟悌抵挺提梯汀碇禎程締艇訂諦蹄逓"],["c5a1","邸鄭釘鼎泥摘擢敵滴的笛適鏑溺哲徹撤轍迭鉄典填天展店添纏甜貼転顛点伝殿澱田電兎吐堵塗妬屠徒斗杜渡登菟賭途都鍍砥砺努度土奴怒倒党冬凍刀唐塔塘套宕島嶋悼投搭東桃梼棟盗淘湯涛灯燈当痘祷等答筒糖統到"],["c6a1","董蕩藤討謄豆踏逃透鐙陶頭騰闘働動同堂導憧撞洞瞳童胴萄道銅峠鴇匿得徳涜特督禿篤毒独読栃橡凸突椴届鳶苫寅酉瀞噸屯惇敦沌豚遁頓呑曇鈍奈那内乍凪薙謎灘捺鍋楢馴縄畷南楠軟難汝二尼弐迩匂賑肉虹廿日乳入"],["c7a1","如尿韮任妊忍認濡禰祢寧葱猫熱年念捻撚燃粘乃廼之埜嚢悩濃納能脳膿農覗蚤巴把播覇杷波派琶破婆罵芭馬俳廃拝排敗杯盃牌背肺輩配倍培媒梅楳煤狽買売賠陪這蝿秤矧萩伯剥博拍柏泊白箔粕舶薄迫曝漠爆縛莫駁麦"],["c8a1","函箱硲箸肇筈櫨幡肌畑畠八鉢溌発醗髪伐罰抜筏閥鳩噺塙蛤隼伴判半反叛帆搬斑板氾汎版犯班畔繁般藩販範釆煩頒飯挽晩番盤磐蕃蛮匪卑否妃庇彼悲扉批披斐比泌疲皮碑秘緋罷肥被誹費避非飛樋簸備尾微枇毘琵眉美"],["c9a1","鼻柊稗匹疋髭彦膝菱肘弼必畢筆逼桧姫媛紐百謬俵彪標氷漂瓢票表評豹廟描病秒苗錨鋲蒜蛭鰭品彬斌浜瀕貧賓頻敏瓶不付埠夫婦富冨布府怖扶敷斧普浮父符腐膚芙譜負賦赴阜附侮撫武舞葡蕪部封楓風葺蕗伏副復幅服"],["caa1","福腹複覆淵弗払沸仏物鮒分吻噴墳憤扮焚奮粉糞紛雰文聞丙併兵塀幣平弊柄並蔽閉陛米頁僻壁癖碧別瞥蔑箆偏変片篇編辺返遍便勉娩弁鞭保舗鋪圃捕歩甫補輔穂募墓慕戊暮母簿菩倣俸包呆報奉宝峰峯崩庖抱捧放方朋"],["cba1","法泡烹砲縫胞芳萌蓬蜂褒訪豊邦鋒飽鳳鵬乏亡傍剖坊妨帽忘忙房暴望某棒冒紡肪膨謀貌貿鉾防吠頬北僕卜墨撲朴牧睦穆釦勃没殆堀幌奔本翻凡盆摩磨魔麻埋妹昧枚毎哩槙幕膜枕鮪柾鱒桝亦俣又抹末沫迄侭繭麿万慢満"],["cca1","漫蔓味未魅巳箕岬密蜜湊蓑稔脈妙粍民眠務夢無牟矛霧鵡椋婿娘冥名命明盟迷銘鳴姪牝滅免棉綿緬面麺摸模茂妄孟毛猛盲網耗蒙儲木黙目杢勿餅尤戻籾貰問悶紋門匁也冶夜爺耶野弥矢厄役約薬訳躍靖柳薮鑓愉愈油癒"],["cda1","諭輸唯佑優勇友宥幽悠憂揖有柚湧涌猶猷由祐裕誘遊邑郵雄融夕予余与誉輿預傭幼妖容庸揚揺擁曜楊様洋溶熔用窯羊耀葉蓉要謡踊遥陽養慾抑欲沃浴翌翼淀羅螺裸来莱頼雷洛絡落酪乱卵嵐欄濫藍蘭覧利吏履李梨理璃"],["cea1","痢裏裡里離陸律率立葎掠略劉流溜琉留硫粒隆竜龍侶慮旅虜了亮僚両凌寮料梁涼猟療瞭稜糧良諒遼量陵領力緑倫厘林淋燐琳臨輪隣鱗麟瑠塁涙累類令伶例冷励嶺怜玲礼苓鈴隷零霊麗齢暦歴列劣烈裂廉恋憐漣煉簾練聯"],["cfa1","蓮連錬呂魯櫓炉賂路露労婁廊弄朗楼榔浪漏牢狼篭老聾蝋郎六麓禄肋録論倭和話歪賄脇惑枠鷲亙亘鰐詫藁蕨椀湾碗腕"],["d0a1","弌丐丕个丱丶丼丿乂乖乘亂亅豫亊舒弍于亞亟亠亢亰亳亶从仍仄仆仂仗仞仭仟价伉佚估佛佝佗佇佶侈侏侘佻佩佰侑佯來侖儘俔俟俎俘俛俑俚俐俤俥倚倨倔倪倥倅伜俶倡倩倬俾俯們倆偃假會偕偐偈做偖偬偸傀傚傅傴傲"],["d1a1","僉僊傳僂僖僞僥僭僣僮價僵儉儁儂儖儕儔儚儡儺儷儼儻儿兀兒兌兔兢竸兩兪兮冀冂囘册冉冏冑冓冕冖冤冦冢冩冪冫决冱冲冰况冽凅凉凛几處凩凭凰凵凾刄刋刔刎刧刪刮刳刹剏剄剋剌剞剔剪剴剩剳剿剽劍劔劒剱劈劑辨"],["d2a1","辧劬劭劼劵勁勍勗勞勣勦飭勠勳勵勸勹匆匈甸匍匐匏匕匚匣匯匱匳匸區卆卅丗卉卍凖卞卩卮夘卻卷厂厖厠厦厥厮厰厶參簒雙叟曼燮叮叨叭叺吁吽呀听吭吼吮吶吩吝呎咏呵咎呟呱呷呰咒呻咀呶咄咐咆哇咢咸咥咬哄哈咨"],["d3a1","咫哂咤咾咼哘哥哦唏唔哽哮哭哺哢唹啀啣啌售啜啅啖啗唸唳啝喙喀咯喊喟啻啾喘喞單啼喃喩喇喨嗚嗅嗟嗄嗜嗤嗔嘔嗷嘖嗾嗽嘛嗹噎噐營嘴嘶嘲嘸噫噤嘯噬噪嚆嚀嚊嚠嚔嚏嚥嚮嚶嚴囂嚼囁囃囀囈囎囑囓囗囮囹圀囿圄圉"],["d4a1","圈國圍圓團圖嗇圜圦圷圸坎圻址坏坩埀垈坡坿垉垓垠垳垤垪垰埃埆埔埒埓堊埖埣堋堙堝塲堡塢塋塰毀塒堽塹墅墹墟墫墺壞墻墸墮壅壓壑壗壙壘壥壜壤壟壯壺壹壻壼壽夂夊夐夛梦夥夬夭夲夸夾竒奕奐奎奚奘奢奠奧奬奩"],["d5a1","奸妁妝佞侫妣妲姆姨姜妍姙姚娥娟娑娜娉娚婀婬婉娵娶婢婪媚媼媾嫋嫂媽嫣嫗嫦嫩嫖嫺嫻嬌嬋嬖嬲嫐嬪嬶嬾孃孅孀孑孕孚孛孥孩孰孳孵學斈孺宀它宦宸寃寇寉寔寐寤實寢寞寥寫寰寶寳尅將專對尓尠尢尨尸尹屁屆屎屓"],["d6a1","屐屏孱屬屮乢屶屹岌岑岔妛岫岻岶岼岷峅岾峇峙峩峽峺峭嶌峪崋崕崗嵜崟崛崑崔崢崚崙崘嵌嵒嵎嵋嵬嵳嵶嶇嶄嶂嶢嶝嶬嶮嶽嶐嶷嶼巉巍巓巒巖巛巫已巵帋帚帙帑帛帶帷幄幃幀幎幗幔幟幢幤幇幵并幺麼广庠廁廂廈廐廏"],["d7a1","廖廣廝廚廛廢廡廨廩廬廱廳廰廴廸廾弃弉彝彜弋弑弖弩弭弸彁彈彌彎弯彑彖彗彙彡彭彳彷徃徂彿徊很徑徇從徙徘徠徨徭徼忖忻忤忸忱忝悳忿怡恠怙怐怩怎怱怛怕怫怦怏怺恚恁恪恷恟恊恆恍恣恃恤恂恬恫恙悁悍惧悃悚"],["d8a1","悄悛悖悗悒悧悋惡悸惠惓悴忰悽惆悵惘慍愕愆惶惷愀惴惺愃愡惻惱愍愎慇愾愨愧慊愿愼愬愴愽慂慄慳慷慘慙慚慫慴慯慥慱慟慝慓慵憙憖憇憬憔憚憊憑憫憮懌懊應懷懈懃懆憺懋罹懍懦懣懶懺懴懿懽懼懾戀戈戉戍戌戔戛"],["d9a1","戞戡截戮戰戲戳扁扎扞扣扛扠扨扼抂抉找抒抓抖拔抃抔拗拑抻拏拿拆擔拈拜拌拊拂拇抛拉挌拮拱挧挂挈拯拵捐挾捍搜捏掖掎掀掫捶掣掏掉掟掵捫捩掾揩揀揆揣揉插揶揄搖搴搆搓搦搶攝搗搨搏摧摯摶摎攪撕撓撥撩撈撼"],["daa1","據擒擅擇撻擘擂擱擧舉擠擡抬擣擯攬擶擴擲擺攀擽攘攜攅攤攣攫攴攵攷收攸畋效敖敕敍敘敞敝敲數斂斃變斛斟斫斷旃旆旁旄旌旒旛旙无旡旱杲昊昃旻杳昵昶昴昜晏晄晉晁晞晝晤晧晨晟晢晰暃暈暎暉暄暘暝曁暹曉暾暼"],["dba1","曄暸曖曚曠昿曦曩曰曵曷朏朖朞朦朧霸朮朿朶杁朸朷杆杞杠杙杣杤枉杰枩杼杪枌枋枦枡枅枷柯枴柬枳柩枸柤柞柝柢柮枹柎柆柧檜栞框栩桀桍栲桎梳栫桙档桷桿梟梏梭梔條梛梃檮梹桴梵梠梺椏梍桾椁棊椈棘椢椦棡椌棍"],["dca1","棔棧棕椶椒椄棗棣椥棹棠棯椨椪椚椣椡棆楹楷楜楸楫楔楾楮椹楴椽楙椰楡楞楝榁楪榲榮槐榿槁槓榾槎寨槊槝榻槃榧樮榑榠榜榕榴槞槨樂樛槿權槹槲槧樅榱樞槭樔槫樊樒櫁樣樓橄樌橲樶橸橇橢橙橦橈樸樢檐檍檠檄檢檣"],["dda1","檗蘗檻櫃櫂檸檳檬櫞櫑櫟檪櫚櫪櫻欅蘖櫺欒欖鬱欟欸欷盜欹飮歇歃歉歐歙歔歛歟歡歸歹歿殀殄殃殍殘殕殞殤殪殫殯殲殱殳殷殼毆毋毓毟毬毫毳毯麾氈氓气氛氤氣汞汕汢汪沂沍沚沁沛汾汨汳沒沐泄泱泓沽泗泅泝沮沱沾"],["dea1","沺泛泯泙泪洟衍洶洫洽洸洙洵洳洒洌浣涓浤浚浹浙涎涕濤涅淹渕渊涵淇淦涸淆淬淞淌淨淒淅淺淙淤淕淪淮渭湮渮渙湲湟渾渣湫渫湶湍渟湃渺湎渤滿渝游溂溪溘滉溷滓溽溯滄溲滔滕溏溥滂溟潁漑灌滬滸滾漿滲漱滯漲滌"],["dfa1","漾漓滷澆潺潸澁澀潯潛濳潭澂潼潘澎澑濂潦澳澣澡澤澹濆澪濟濕濬濔濘濱濮濛瀉瀋濺瀑瀁瀏濾瀛瀚潴瀝瀘瀟瀰瀾瀲灑灣炙炒炯烱炬炸炳炮烟烋烝烙焉烽焜焙煥煕熈煦煢煌煖煬熏燻熄熕熨熬燗熹熾燒燉燔燎燠燬燧燵燼"],["e0a1","燹燿爍爐爛爨爭爬爰爲爻爼爿牀牆牋牘牴牾犂犁犇犒犖犢犧犹犲狃狆狄狎狒狢狠狡狹狷倏猗猊猜猖猝猴猯猩猥猾獎獏默獗獪獨獰獸獵獻獺珈玳珎玻珀珥珮珞璢琅瑯琥珸琲琺瑕琿瑟瑙瑁瑜瑩瑰瑣瑪瑶瑾璋璞璧瓊瓏瓔珱"],["e1a1","瓠瓣瓧瓩瓮瓲瓰瓱瓸瓷甄甃甅甌甎甍甕甓甞甦甬甼畄畍畊畉畛畆畚畩畤畧畫畭畸當疆疇畴疊疉疂疔疚疝疥疣痂疳痃疵疽疸疼疱痍痊痒痙痣痞痾痿痼瘁痰痺痲痳瘋瘍瘉瘟瘧瘠瘡瘢瘤瘴瘰瘻癇癈癆癜癘癡癢癨癩癪癧癬癰"],["e2a1","癲癶癸發皀皃皈皋皎皖皓皙皚皰皴皸皹皺盂盍盖盒盞盡盥盧盪蘯盻眈眇眄眩眤眞眥眦眛眷眸睇睚睨睫睛睥睿睾睹瞎瞋瞑瞠瞞瞰瞶瞹瞿瞼瞽瞻矇矍矗矚矜矣矮矼砌砒礦砠礪硅碎硴碆硼碚碌碣碵碪碯磑磆磋磔碾碼磅磊磬"],["e3a1","磧磚磽磴礇礒礑礙礬礫祀祠祗祟祚祕祓祺祿禊禝禧齋禪禮禳禹禺秉秕秧秬秡秣稈稍稘稙稠稟禀稱稻稾稷穃穗穉穡穢穩龝穰穹穽窈窗窕窘窖窩竈窰窶竅竄窿邃竇竊竍竏竕竓站竚竝竡竢竦竭竰笂笏笊笆笳笘笙笞笵笨笶筐"],["e4a1","筺笄筍笋筌筅筵筥筴筧筰筱筬筮箝箘箟箍箜箚箋箒箏筝箙篋篁篌篏箴篆篝篩簑簔篦篥籠簀簇簓篳篷簗簍篶簣簧簪簟簷簫簽籌籃籔籏籀籐籘籟籤籖籥籬籵粃粐粤粭粢粫粡粨粳粲粱粮粹粽糀糅糂糘糒糜糢鬻糯糲糴糶糺紆"],["e5a1","紂紜紕紊絅絋紮紲紿紵絆絳絖絎絲絨絮絏絣經綉絛綏絽綛綺綮綣綵緇綽綫總綢綯緜綸綟綰緘緝緤緞緻緲緡縅縊縣縡縒縱縟縉縋縢繆繦縻縵縹繃縷縲縺繧繝繖繞繙繚繹繪繩繼繻纃緕繽辮繿纈纉續纒纐纓纔纖纎纛纜缸缺"],["e6a1","罅罌罍罎罐网罕罔罘罟罠罨罩罧罸羂羆羃羈羇羌羔羞羝羚羣羯羲羹羮羶羸譱翅翆翊翕翔翡翦翩翳翹飜耆耄耋耒耘耙耜耡耨耿耻聊聆聒聘聚聟聢聨聳聲聰聶聹聽聿肄肆肅肛肓肚肭冐肬胛胥胙胝胄胚胖脉胯胱脛脩脣脯腋"],["e7a1","隋腆脾腓腑胼腱腮腥腦腴膃膈膊膀膂膠膕膤膣腟膓膩膰膵膾膸膽臀臂膺臉臍臑臙臘臈臚臟臠臧臺臻臾舁舂舅與舊舍舐舖舩舫舸舳艀艙艘艝艚艟艤艢艨艪艫舮艱艷艸艾芍芒芫芟芻芬苡苣苟苒苴苳苺莓范苻苹苞茆苜茉苙"],["e8a1","茵茴茖茲茱荀茹荐荅茯茫茗茘莅莚莪莟莢莖茣莎莇莊荼莵荳荵莠莉莨菴萓菫菎菽萃菘萋菁菷萇菠菲萍萢萠莽萸蔆菻葭萪萼蕚蒄葷葫蒭葮蒂葩葆萬葯葹萵蓊葢蒹蒿蒟蓙蓍蒻蓚蓐蓁蓆蓖蒡蔡蓿蓴蔗蔘蔬蔟蔕蔔蓼蕀蕣蕘蕈"],["e9a1","蕁蘂蕋蕕薀薤薈薑薊薨蕭薔薛藪薇薜蕷蕾薐藉薺藏薹藐藕藝藥藜藹蘊蘓蘋藾藺蘆蘢蘚蘰蘿虍乕虔號虧虱蚓蚣蚩蚪蚋蚌蚶蚯蛄蛆蚰蛉蠣蚫蛔蛞蛩蛬蛟蛛蛯蜒蜆蜈蜀蜃蛻蜑蜉蜍蛹蜊蜴蜿蜷蜻蜥蜩蜚蝠蝟蝸蝌蝎蝴蝗蝨蝮蝙"],["eaa1","蝓蝣蝪蠅螢螟螂螯蟋螽蟀蟐雖螫蟄螳蟇蟆螻蟯蟲蟠蠏蠍蟾蟶蟷蠎蟒蠑蠖蠕蠢蠡蠱蠶蠹蠧蠻衄衂衒衙衞衢衫袁衾袞衵衽袵衲袂袗袒袮袙袢袍袤袰袿袱裃裄裔裘裙裝裹褂裼裴裨裲褄褌褊褓襃褞褥褪褫襁襄褻褶褸襌褝襠襞"],["eba1","襦襤襭襪襯襴襷襾覃覈覊覓覘覡覩覦覬覯覲覺覽覿觀觚觜觝觧觴觸訃訖訐訌訛訝訥訶詁詛詒詆詈詼詭詬詢誅誂誄誨誡誑誥誦誚誣諄諍諂諚諫諳諧諤諱謔諠諢諷諞諛謌謇謚諡謖謐謗謠謳鞫謦謫謾謨譁譌譏譎證譖譛譚譫"],["eca1","譟譬譯譴譽讀讌讎讒讓讖讙讚谺豁谿豈豌豎豐豕豢豬豸豺貂貉貅貊貍貎貔豼貘戝貭貪貽貲貳貮貶賈賁賤賣賚賽賺賻贄贅贊贇贏贍贐齎贓賍贔贖赧赭赱赳趁趙跂趾趺跏跚跖跌跛跋跪跫跟跣跼踈踉跿踝踞踐踟蹂踵踰踴蹊"],["eda1","蹇蹉蹌蹐蹈蹙蹤蹠踪蹣蹕蹶蹲蹼躁躇躅躄躋躊躓躑躔躙躪躡躬躰軆躱躾軅軈軋軛軣軼軻軫軾輊輅輕輒輙輓輜輟輛輌輦輳輻輹轅轂輾轌轉轆轎轗轜轢轣轤辜辟辣辭辯辷迚迥迢迪迯邇迴逅迹迺逑逕逡逍逞逖逋逧逶逵逹迸"],["eea1","遏遐遑遒逎遉逾遖遘遞遨遯遶隨遲邂遽邁邀邊邉邏邨邯邱邵郢郤扈郛鄂鄒鄙鄲鄰酊酖酘酣酥酩酳酲醋醉醂醢醫醯醪醵醴醺釀釁釉釋釐釖釟釡釛釼釵釶鈞釿鈔鈬鈕鈑鉞鉗鉅鉉鉤鉈銕鈿鉋鉐銜銖銓銛鉚鋏銹銷鋩錏鋺鍄錮"],["efa1","錙錢錚錣錺錵錻鍜鍠鍼鍮鍖鎰鎬鎭鎔鎹鏖鏗鏨鏥鏘鏃鏝鏐鏈鏤鐚鐔鐓鐃鐇鐐鐶鐫鐵鐡鐺鑁鑒鑄鑛鑠鑢鑞鑪鈩鑰鑵鑷鑽鑚鑼鑾钁鑿閂閇閊閔閖閘閙閠閨閧閭閼閻閹閾闊濶闃闍闌闕闔闖關闡闥闢阡阨阮阯陂陌陏陋陷陜陞"],["f0a1","陝陟陦陲陬隍隘隕隗險隧隱隲隰隴隶隸隹雎雋雉雍襍雜霍雕雹霄霆霈霓霎霑霏霖霙霤霪霰霹霽霾靄靆靈靂靉靜靠靤靦靨勒靫靱靹鞅靼鞁靺鞆鞋鞏鞐鞜鞨鞦鞣鞳鞴韃韆韈韋韜韭齏韲竟韶韵頏頌頸頤頡頷頽顆顏顋顫顯顰"],["f1a1","顱顴顳颪颯颱颶飄飃飆飩飫餃餉餒餔餘餡餝餞餤餠餬餮餽餾饂饉饅饐饋饑饒饌饕馗馘馥馭馮馼駟駛駝駘駑駭駮駱駲駻駸騁騏騅駢騙騫騷驅驂驀驃騾驕驍驛驗驟驢驥驤驩驫驪骭骰骼髀髏髑髓體髞髟髢髣髦髯髫髮髴髱髷"],["f2a1","髻鬆鬘鬚鬟鬢鬣鬥鬧鬨鬩鬪鬮鬯鬲魄魃魏魍魎魑魘魴鮓鮃鮑鮖鮗鮟鮠鮨鮴鯀鯊鮹鯆鯏鯑鯒鯣鯢鯤鯔鯡鰺鯲鯱鯰鰕鰔鰉鰓鰌鰆鰈鰒鰊鰄鰮鰛鰥鰤鰡鰰鱇鰲鱆鰾鱚鱠鱧鱶鱸鳧鳬鳰鴉鴈鳫鴃鴆鴪鴦鶯鴣鴟鵄鴕鴒鵁鴿鴾鵆鵈"],["f3a1","鵝鵞鵤鵑鵐鵙鵲鶉鶇鶫鵯鵺鶚鶤鶩鶲鷄鷁鶻鶸鶺鷆鷏鷂鷙鷓鷸鷦鷭鷯鷽鸚鸛鸞鹵鹹鹽麁麈麋麌麒麕麑麝麥麩麸麪麭靡黌黎黏黐黔黜點黝黠黥黨黯黴黶黷黹黻黼黽鼇鼈皷鼕鼡鼬鼾齊齒齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠"],["f4a1","堯槇遙瑤凜熙"],["f9a1","纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德"],["faa1","忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱"],["fba1","犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚"],["fca1","釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑"],["fcf1","ⅰ",9,"￢￤＇＂"],["8fa2af","˘ˇ¸˙˝¯˛˚～΄΅"],["8fa2c2","¡¦¿"],["8fa2eb","ºª©®™¤№"],["8fa6e1","ΆΈΉΊΪ"],["8fa6e7","Ό"],["8fa6e9","ΎΫ"],["8fa6ec","Ώ"],["8fa6f1","άέήίϊΐόςύϋΰώ"],["8fa7c2","Ђ",10,"ЎЏ"],["8fa7f2","ђ",10,"ўџ"],["8fa9a1","ÆĐ"],["8fa9a4","Ħ"],["8fa9a6","Ĳ"],["8fa9a8","ŁĿ"],["8fa9ab","ŊØŒ"],["8fa9af","ŦÞ"],["8fa9c1","æđðħıĳĸłŀŉŋøœßŧþ"],["8faaa1","ÁÀÄÂĂǍĀĄÅÃĆĈČÇĊĎÉÈËÊĚĖĒĘ"],["8faaba","ĜĞĢĠĤÍÌÏÎǏİĪĮĨĴĶĹĽĻŃŇŅÑÓÒÖÔǑŐŌÕŔŘŖŚŜŠŞŤŢÚÙÜÛŬǓŰŪŲŮŨǗǛǙǕŴÝŸŶŹŽŻ"],["8faba1","áàäâăǎāąåãćĉčçċďéèëêěėēęǵĝğ"],["8fabbd","ġĥíìïîǐ"],["8fabc5","īįĩĵķĺľļńňņñóòöôǒőōõŕřŗśŝšşťţúùüûŭǔűūųůũǘǜǚǖŵýÿŷźžż"],["8fb0a1","丂丄丅丌丒丟丣两丨丫丮丯丰丵乀乁乄乇乑乚乜乣乨乩乴乵乹乿亍亖亗亝亯亹仃仐仚仛仠仡仢仨仯仱仳仵份仾仿伀伂伃伈伋伌伒伕伖众伙伮伱你伳伵伷伹伻伾佀佂佈佉佋佌佒佔佖佘佟佣佪佬佮佱佷佸佹佺佽佾侁侂侄"],["8fb1a1","侅侉侊侌侎侐侒侓侔侗侙侚侞侟侲侷侹侻侼侽侾俀俁俅俆俈俉俋俌俍俏俒俜俠俢俰俲俼俽俿倀倁倄倇倊倌倎倐倓倗倘倛倜倝倞倢倧倮倰倲倳倵偀偁偂偅偆偊偌偎偑偒偓偗偙偟偠偢偣偦偧偪偭偰偱倻傁傃傄傆傊傎傏傐"],["8fb2a1","傒傓傔傖傛傜傞",4,"傪傯傰傹傺傽僀僃僄僇僌僎僐僓僔僘僜僝僟僢僤僦僨僩僯僱僶僺僾儃儆儇儈儋儌儍儎僲儐儗儙儛儜儝儞儣儧儨儬儭儯儱儳儴儵儸儹兂兊兏兓兕兗兘兟兤兦兾冃冄冋冎冘冝冡冣冭冸冺冼冾冿凂"],["8fb3a1","凈减凑凒凓凕凘凞凢凥凮凲凳凴凷刁刂刅划刓刕刖刘刢刨刱刲刵刼剅剉剕剗剘剚剜剟剠剡剦剮剷剸剹劀劂劅劊劌劓劕劖劗劘劚劜劤劥劦劧劯劰劶劷劸劺劻劽勀勄勆勈勌勏勑勔勖勛勜勡勥勨勩勪勬勰勱勴勶勷匀匃匊匋"],["8fb4a1","匌匑匓匘匛匜匞匟匥匧匨匩匫匬匭匰匲匵匼匽匾卂卌卋卙卛卡卣卥卬卭卲卹卾厃厇厈厎厓厔厙厝厡厤厪厫厯厲厴厵厷厸厺厽叀叅叏叒叓叕叚叝叞叠另叧叵吂吓吚吡吧吨吪启吱吴吵呃呄呇呍呏呞呢呤呦呧呩呫呭呮呴呿"],["8fb5a1","咁咃咅咈咉咍咑咕咖咜咟咡咦咧咩咪咭咮咱咷咹咺咻咿哆哊响哎哠哪哬哯哶哼哾哿唀唁唅唈唉唌唍唎唕唪唫唲唵唶唻唼唽啁啇啉啊啍啐啑啘啚啛啞啠啡啤啦啿喁喂喆喈喎喏喑喒喓喔喗喣喤喭喲喿嗁嗃嗆嗉嗋嗌嗎嗑嗒"],["8fb6a1","嗓嗗嗘嗛嗞嗢嗩嗶嗿嘅嘈嘊嘍",5,"嘙嘬嘰嘳嘵嘷嘹嘻嘼嘽嘿噀噁噃噄噆噉噋噍噏噔噞噠噡噢噣噦噩噭噯噱噲噵嚄嚅嚈嚋嚌嚕嚙嚚嚝嚞嚟嚦嚧嚨嚩嚫嚬嚭嚱嚳嚷嚾囅囉囊囋囏囐囌囍囙囜囝囟囡囤",4,"囱囫园"],["8fb7a1","囶囷圁圂圇圊圌圑圕圚圛圝圠圢圣圤圥圩圪圬圮圯圳圴圽圾圿坅坆坌坍坒坢坥坧坨坫坭",4,"坳坴坵坷坹坺坻坼坾垁垃垌垔垗垙垚垜垝垞垟垡垕垧垨垩垬垸垽埇埈埌埏埕埝埞埤埦埧埩埭埰埵埶埸埽埾埿堃堄堈堉埡"],["8fb8a1","堌堍堛堞堟堠堦堧堭堲堹堿塉塌塍塏塐塕塟塡塤塧塨塸塼塿墀墁墇墈墉墊墌墍墏墐墔墖墝墠墡墢墦墩墱墲壄墼壂壈壍壎壐壒壔壖壚壝壡壢壩壳夅夆夋夌夒夓夔虁夝夡夣夤夨夯夰夳夵夶夿奃奆奒奓奙奛奝奞奟奡奣奫奭"],["8fb9a1","奯奲奵奶她奻奼妋妌妎妒妕妗妟妤妧妭妮妯妰妳妷妺妼姁姃姄姈姊姍姒姝姞姟姣姤姧姮姯姱姲姴姷娀娄娌娍娎娒娓娞娣娤娧娨娪娭娰婄婅婇婈婌婐婕婞婣婥婧婭婷婺婻婾媋媐媓媖媙媜媞媟媠媢媧媬媱媲媳媵媸媺媻媿"],["8fbaa1","嫄嫆嫈嫏嫚嫜嫠嫥嫪嫮嫵嫶嫽嬀嬁嬈嬗嬴嬙嬛嬝嬡嬥嬭嬸孁孋孌孒孖孞孨孮孯孼孽孾孿宁宄宆宊宎宐宑宓宔宖宨宩宬宭宯宱宲宷宺宼寀寁寍寏寖",4,"寠寯寱寴寽尌尗尞尟尣尦尩尫尬尮尰尲尵尶屙屚屜屢屣屧屨屩"],["8fbba1","屭屰屴屵屺屻屼屽岇岈岊岏岒岝岟岠岢岣岦岪岲岴岵岺峉峋峒峝峗峮峱峲峴崁崆崍崒崫崣崤崦崧崱崴崹崽崿嵂嵃嵆嵈嵕嵑嵙嵊嵟嵠嵡嵢嵤嵪嵭嵰嵹嵺嵾嵿嶁嶃嶈嶊嶒嶓嶔嶕嶙嶛嶟嶠嶧嶫嶰嶴嶸嶹巃巇巋巐巎巘巙巠巤"],["8fbca1","巩巸巹帀帇帍帒帔帕帘帟帠帮帨帲帵帾幋幐幉幑幖幘幛幜幞幨幪",4,"幰庀庋庎庢庤庥庨庪庬庱庳庽庾庿廆廌廋廎廑廒廔廕廜廞廥廫异弆弇弈弎弙弜弝弡弢弣弤弨弫弬弮弰弴弶弻弽弿彀彄彅彇彍彐彔彘彛彠彣彤彧"],["8fbda1","彯彲彴彵彸彺彽彾徉徍徏徖徜徝徢徧徫徤徬徯徰徱徸忄忇忈忉忋忐",4,"忞忡忢忨忩忪忬忭忮忯忲忳忶忺忼怇怊怍怓怔怗怘怚怟怤怭怳怵恀恇恈恉恌恑恔恖恗恝恡恧恱恾恿悂悆悈悊悎悑悓悕悘悝悞悢悤悥您悰悱悷"],["8fbea1","悻悾惂惄惈惉惊惋惎惏惔惕惙惛惝惞惢惥惲惵惸惼惽愂愇愊愌愐",4,"愖愗愙愜愞愢愪愫愰愱愵愶愷愹慁慅慆慉慞慠慬慲慸慻慼慿憀憁憃憄憋憍憒憓憗憘憜憝憟憠憥憨憪憭憸憹憼懀懁懂懎懏懕懜懝懞懟懡懢懧懩懥"],["8fbfa1","懬懭懯戁戃戄戇戓戕戜戠戢戣戧戩戫戹戽扂扃扄扆扌扐扑扒扔扖扚扜扤扭扯扳扺扽抍抎抏抐抦抨抳抶抷抺抾抿拄拎拕拖拚拪拲拴拼拽挃挄挊挋挍挐挓挖挘挩挪挭挵挶挹挼捁捂捃捄捆捊捋捎捒捓捔捘捛捥捦捬捭捱捴捵"],["8fc0a1","捸捼捽捿掂掄掇掊掐掔掕掙掚掞掤掦掭掮掯掽揁揅揈揎揑揓揔揕揜揠揥揪揬揲揳揵揸揹搉搊搐搒搔搘搞搠搢搤搥搩搪搯搰搵搽搿摋摏摑摒摓摔摚摛摜摝摟摠摡摣摭摳摴摻摽撅撇撏撐撑撘撙撛撝撟撡撣撦撨撬撳撽撾撿"],["8fc1a1","擄擉擊擋擌擎擐擑擕擗擤擥擩擪擭擰擵擷擻擿攁攄攈攉攊攏攓攔攖攙攛攞攟攢攦攩攮攱攺攼攽敃敇敉敐敒敔敟敠敧敫敺敽斁斅斊斒斕斘斝斠斣斦斮斲斳斴斿旂旈旉旎旐旔旖旘旟旰旲旴旵旹旾旿昀昄昈昉昍昑昒昕昖昝"],["8fc2a1","昞昡昢昣昤昦昩昪昫昬昮昰昱昳昹昷晀晅晆晊晌晑晎晗晘晙晛晜晠晡曻晪晫晬晾晳晵晿晷晸晹晻暀晼暋暌暍暐暒暙暚暛暜暟暠暤暭暱暲暵暻暿曀曂曃曈曌曎曏曔曛曟曨曫曬曮曺朅朇朎朓朙朜朠朢朳朾杅杇杈杌杔杕杝"],["8fc3a1","杦杬杮杴杶杻极构枎枏枑枓枖枘枙枛枰枱枲枵枻枼枽柹柀柂柃柅柈柉柒柗柙柜柡柦柰柲柶柷桒栔栙栝栟栨栧栬栭栯栰栱栳栻栿桄桅桊桌桕桗桘桛桫桮",4,"桵桹桺桻桼梂梄梆梈梖梘梚梜梡梣梥梩梪梮梲梻棅棈棌棏"],["8fc4a1","棐棑棓棖棙棜棝棥棨棪棫棬棭棰棱棵棶棻棼棽椆椉椊椐椑椓椖椗椱椳椵椸椻楂楅楉楎楗楛楣楤楥楦楨楩楬楰楱楲楺楻楿榀榍榒榖榘榡榥榦榨榫榭榯榷榸榺榼槅槈槑槖槗槢槥槮槯槱槳槵槾樀樁樃樏樑樕樚樝樠樤樨樰樲"],["8fc5a1","樴樷樻樾樿橅橆橉橊橎橐橑橒橕橖橛橤橧橪橱橳橾檁檃檆檇檉檋檑檛檝檞檟檥檫檯檰檱檴檽檾檿櫆櫉櫈櫌櫐櫔櫕櫖櫜櫝櫤櫧櫬櫰櫱櫲櫼櫽欂欃欆欇欉欏欐欑欗欛欞欤欨欫欬欯欵欶欻欿歆歊歍歒歖歘歝歠歧歫歮歰歵歽"],["8fc6a1","歾殂殅殗殛殟殠殢殣殨殩殬殭殮殰殸殹殽殾毃毄毉毌毖毚毡毣毦毧毮毱毷毹毿氂氄氅氉氍氎氐氒氙氟氦氧氨氬氮氳氵氶氺氻氿汊汋汍汏汒汔汙汛汜汫汭汯汴汶汸汹汻沅沆沇沉沔沕沗沘沜沟沰沲沴泂泆泍泏泐泑泒泔泖"],["8fc7a1","泚泜泠泧泩泫泬泮泲泴洄洇洊洎洏洑洓洚洦洧洨汧洮洯洱洹洼洿浗浞浟浡浥浧浯浰浼涂涇涑涒涔涖涗涘涪涬涴涷涹涽涿淄淈淊淎淏淖淛淝淟淠淢淥淩淯淰淴淶淼渀渄渞渢渧渲渶渹渻渼湄湅湈湉湋湏湑湒湓湔湗湜湝湞"],["8fc8a1","湢湣湨湳湻湽溍溓溙溠溧溭溮溱溳溻溿滀滁滃滇滈滊滍滎滏滫滭滮滹滻滽漄漈漊漌漍漖漘漚漛漦漩漪漯漰漳漶漻漼漭潏潑潒潓潗潙潚潝潞潡潢潨潬潽潾澃澇澈澋澌澍澐澒澓澔澖澚澟澠澥澦澧澨澮澯澰澵澶澼濅濇濈濊"],["8fc9a1","濚濞濨濩濰濵濹濼濽瀀瀅瀆瀇瀍瀗瀠瀣瀯瀴瀷瀹瀼灃灄灈灉灊灋灔灕灝灞灎灤灥灬灮灵灶灾炁炅炆炔",4,"炛炤炫炰炱炴炷烊烑烓烔烕烖烘烜烤烺焃",4,"焋焌焏焞焠焫焭焯焰焱焸煁煅煆煇煊煋煐煒煗煚煜煞煠"],["8fcaa1","煨煹熀熅熇熌熒熚熛熠熢熯熰熲熳熺熿燀燁燄燋燌燓燖燙燚燜燸燾爀爇爈爉爓爗爚爝爟爤爫爯爴爸爹牁牂牃牅牎牏牐牓牕牖牚牜牞牠牣牨牫牮牯牱牷牸牻牼牿犄犉犍犎犓犛犨犭犮犱犴犾狁狇狉狌狕狖狘狟狥狳狴狺狻"],["8fcba1","狾猂猄猅猇猋猍猒猓猘猙猞猢猤猧猨猬猱猲猵猺猻猽獃獍獐獒獖獘獝獞獟獠獦獧獩獫獬獮獯獱獷獹獼玀玁玃玅玆玎玐玓玕玗玘玜玞玟玠玢玥玦玪玫玭玵玷玹玼玽玿珅珆珉珋珌珏珒珓珖珙珝珡珣珦珧珩珴珵珷珹珺珻珽"],["8fcca1","珿琀琁琄琇琊琑琚琛琤琦琨",9,"琹瑀瑃瑄瑆瑇瑋瑍瑑瑒瑗瑝瑢瑦瑧瑨瑫瑭瑮瑱瑲璀璁璅璆璇璉璏璐璑璒璘璙璚璜璟璠璡璣璦璨璩璪璫璮璯璱璲璵璹璻璿瓈瓉瓌瓐瓓瓘瓚瓛瓞瓟瓤瓨瓪瓫瓯瓴瓺瓻瓼瓿甆"],["8fcda1","甒甖甗甠甡甤甧甩甪甯甶甹甽甾甿畀畃畇畈畎畐畒畗畞畟畡畯畱畹",5,"疁疅疐疒疓疕疙疜疢疤疴疺疿痀痁痄痆痌痎痏痗痜痟痠痡痤痧痬痮痯痱痹瘀瘂瘃瘄瘇瘈瘊瘌瘏瘒瘓瘕瘖瘙瘛瘜瘝瘞瘣瘥瘦瘩瘭瘲瘳瘵瘸瘹"],["8fcea1","瘺瘼癊癀癁癃癄癅癉癋癕癙癟癤癥癭癮癯癱癴皁皅皌皍皕皛皜皝皟皠皢",6,"皪皭皽盁盅盉盋盌盎盔盙盠盦盨盬盰盱盶盹盼眀眆眊眎眒眔眕眗眙眚眜眢眨眭眮眯眴眵眶眹眽眾睂睅睆睊睍睎睏睒睖睗睜睞睟睠睢"],["8fcfa1","睤睧睪睬睰睲睳睴睺睽瞀瞄瞌瞍瞔瞕瞖瞚瞟瞢瞧瞪瞮瞯瞱瞵瞾矃矉矑矒矕矙矞矟矠矤矦矪矬矰矱矴矸矻砅砆砉砍砎砑砝砡砢砣砭砮砰砵砷硃硄硇硈硌硎硒硜硞硠硡硣硤硨硪确硺硾碊碏碔碘碡碝碞碟碤碨碬碭碰碱碲碳"],["8fd0a1","碻碽碿磇磈磉磌磎磒磓磕磖磤磛磟磠磡磦磪磲磳礀磶磷磺磻磿礆礌礐礚礜礞礟礠礥礧礩礭礱礴礵礻礽礿祄祅祆祊祋祏祑祔祘祛祜祧祩祫祲祹祻祼祾禋禌禑禓禔禕禖禘禛禜禡禨禩禫禯禱禴禸离秂秄秇秈秊秏秔秖秚秝秞"],["8fd1a1","秠秢秥秪秫秭秱秸秼稂稃稇稉稊稌稑稕稛稞稡稧稫稭稯稰稴稵稸稹稺穄穅穇穈穌穕穖穙穜穝穟穠穥穧穪穭穵穸穾窀窂窅窆窊窋窐窑窔窞窠窣窬窳窵窹窻窼竆竉竌竎竑竛竨竩竫竬竱竴竻竽竾笇笔笟笣笧笩笪笫笭笮笯笰"],["8fd2a1","笱笴笽笿筀筁筇筎筕筠筤筦筩筪筭筯筲筳筷箄箉箎箐箑箖箛箞箠箥箬箯箰箲箵箶箺箻箼箽篂篅篈篊篔篖篗篙篚篛篨篪篲篴篵篸篹篺篼篾簁簂簃簄簆簉簋簌簎簏簙簛簠簥簦簨簬簱簳簴簶簹簺籆籊籕籑籒籓籙",5],["8fd3a1","籡籣籧籩籭籮籰籲籹籼籽粆粇粏粔粞粠粦粰粶粷粺粻粼粿糄糇糈糉糍糏糓糔糕糗糙糚糝糦糩糫糵紃紇紈紉紏紑紒紓紖紝紞紣紦紪紭紱紼紽紾絀絁絇絈絍絑絓絗絙絚絜絝絥絧絪絰絸絺絻絿綁綂綃綅綆綈綋綌綍綑綖綗綝"],["8fd4a1","綞綦綧綪綳綶綷綹緂",4,"緌緍緎緗緙縀緢緥緦緪緫緭緱緵緶緹緺縈縐縑縕縗縜縝縠縧縨縬縭縯縳縶縿繄繅繇繎繐繒繘繟繡繢繥繫繮繯繳繸繾纁纆纇纊纍纑纕纘纚纝纞缼缻缽缾缿罃罄罇罏罒罓罛罜罝罡罣罤罥罦罭"],["8fd5a1","罱罽罾罿羀羋羍羏羐羑羖羗羜羡羢羦羪羭羴羼羿翀翃翈翎翏翛翟翣翥翨翬翮翯翲翺翽翾翿耇耈耊耍耎耏耑耓耔耖耝耞耟耠耤耦耬耮耰耴耵耷耹耺耼耾聀聄聠聤聦聭聱聵肁肈肎肜肞肦肧肫肸肹胈胍胏胒胔胕胗胘胠胭胮"],["8fd6a1","胰胲胳胶胹胺胾脃脋脖脗脘脜脞脠脤脧脬脰脵脺脼腅腇腊腌腒腗腠腡腧腨腩腭腯腷膁膐膄膅膆膋膎膖膘膛膞膢膮膲膴膻臋臃臅臊臎臏臕臗臛臝臞臡臤臫臬臰臱臲臵臶臸臹臽臿舀舃舏舓舔舙舚舝舡舢舨舲舴舺艃艄艅艆"],["8fd7a1","艋艎艏艑艖艜艠艣艧艭艴艻艽艿芀芁芃芄芇芉芊芎芑芔芖芘芚芛芠芡芣芤芧芨芩芪芮芰芲芴芷芺芼芾芿苆苐苕苚苠苢苤苨苪苭苯苶苷苽苾茀茁茇茈茊茋荔茛茝茞茟茡茢茬茭茮茰茳茷茺茼茽荂荃荄荇荍荎荑荕荖荗荰荸"],["8fd8a1","荽荿莀莂莄莆莍莒莔莕莘莙莛莜莝莦莧莩莬莾莿菀菇菉菏菐菑菔菝荓菨菪菶菸菹菼萁萆萊萏萑萕萙莭萯萹葅葇葈葊葍葏葑葒葖葘葙葚葜葠葤葥葧葪葰葳葴葶葸葼葽蒁蒅蒒蒓蒕蒞蒦蒨蒩蒪蒯蒱蒴蒺蒽蒾蓀蓂蓇蓈蓌蓏蓓"],["8fd9a1","蓜蓧蓪蓯蓰蓱蓲蓷蔲蓺蓻蓽蔂蔃蔇蔌蔎蔐蔜蔞蔢蔣蔤蔥蔧蔪蔫蔯蔳蔴蔶蔿蕆蕏",4,"蕖蕙蕜",6,"蕤蕫蕯蕹蕺蕻蕽蕿薁薅薆薉薋薌薏薓薘薝薟薠薢薥薧薴薶薷薸薼薽薾薿藂藇藊藋藎薭藘藚藟藠藦藨藭藳藶藼"],["8fdaa1","藿蘀蘄蘅蘍蘎蘐蘑蘒蘘蘙蘛蘞蘡蘧蘩蘶蘸蘺蘼蘽虀虂虆虒虓虖虗虘虙虝虠",4,"虩虬虯虵虶虷虺蚍蚑蚖蚘蚚蚜蚡蚦蚧蚨蚭蚱蚳蚴蚵蚷蚸蚹蚿蛀蛁蛃蛅蛑蛒蛕蛗蛚蛜蛠蛣蛥蛧蚈蛺蛼蛽蜄蜅蜇蜋蜎蜏蜐蜓蜔蜙蜞蜟蜡蜣"],["8fdba1","蜨蜮蜯蜱蜲蜹蜺蜼蜽蜾蝀蝃蝅蝍蝘蝝蝡蝤蝥蝯蝱蝲蝻螃",6,"螋螌螐螓螕螗螘螙螞螠螣螧螬螭螮螱螵螾螿蟁蟈蟉蟊蟎蟕蟖蟙蟚蟜蟟蟢蟣蟤蟪蟫蟭蟱蟳蟸蟺蟿蠁蠃蠆蠉蠊蠋蠐蠙蠒蠓蠔蠘蠚蠛蠜蠞蠟蠨蠭蠮蠰蠲蠵"],["8fdca1","蠺蠼衁衃衅衈衉衊衋衎衑衕衖衘衚衜衟衠衤衩衱衹衻袀袘袚袛袜袟袠袨袪袺袽袾裀裊",4,"裑裒裓裛裞裧裯裰裱裵裷褁褆褍褎褏褕褖褘褙褚褜褠褦褧褨褰褱褲褵褹褺褾襀襂襅襆襉襏襒襗襚襛襜襡襢襣襫襮襰襳襵襺"],["8fdda1","襻襼襽覉覍覐覔覕覛覜覟覠覥覰覴覵覶覷覼觔",4,"觥觩觫觭觱觳觶觹觽觿訄訅訇訏訑訒訔訕訞訠訢訤訦訫訬訯訵訷訽訾詀詃詅詇詉詍詎詓詖詗詘詜詝詡詥詧詵詶詷詹詺詻詾詿誀誃誆誋誏誐誒誖誗誙誟誧誩誮誯誳"],["8fdea1","誶誷誻誾諃諆諈諉諊諑諓諔諕諗諝諟諬諰諴諵諶諼諿謅謆謋謑謜謞謟謊謭謰謷謼譂",4,"譈譒譓譔譙譍譞譣譭譶譸譹譼譾讁讄讅讋讍讏讔讕讜讞讟谸谹谽谾豅豇豉豋豏豑豓豔豗豘豛豝豙豣豤豦豨豩豭豳豵豶豻豾貆"],["8fdfa1","貇貋貐貒貓貙貛貜貤貹貺賅賆賉賋賏賖賕賙賝賡賨賬賯賰賲賵賷賸賾賿贁贃贉贒贗贛赥赩赬赮赿趂趄趈趍趐趑趕趞趟趠趦趫趬趯趲趵趷趹趻跀跅跆跇跈跊跎跑跔跕跗跙跤跥跧跬跰趼跱跲跴跽踁踄踅踆踋踑踔踖踠踡踢"],["8fe0a1","踣踦踧踱踳踶踷踸踹踽蹀蹁蹋蹍蹎蹏蹔蹛蹜蹝蹞蹡蹢蹩蹬蹭蹯蹰蹱蹹蹺蹻躂躃躉躐躒躕躚躛躝躞躢躧躩躭躮躳躵躺躻軀軁軃軄軇軏軑軔軜軨軮軰軱軷軹軺軭輀輂輇輈輏輐輖輗輘輞輠輡輣輥輧輨輬輭輮輴輵輶輷輺轀轁"],["8fe1a1","轃轇轏轑",4,"轘轝轞轥辝辠辡辤辥辦辵辶辸达迀迁迆迊迋迍运迒迓迕迠迣迤迨迮迱迵迶迻迾适逄逈逌逘逛逨逩逯逪逬逭逳逴逷逿遃遄遌遛遝遢遦遧遬遰遴遹邅邈邋邌邎邐邕邗邘邙邛邠邡邢邥邰邲邳邴邶邽郌邾郃"],["8fe2a1","郄郅郇郈郕郗郘郙郜郝郟郥郒郶郫郯郰郴郾郿鄀鄄鄅鄆鄈鄍鄐鄔鄖鄗鄘鄚鄜鄞鄠鄥鄢鄣鄧鄩鄮鄯鄱鄴鄶鄷鄹鄺鄼鄽酃酇酈酏酓酗酙酚酛酡酤酧酭酴酹酺酻醁醃醅醆醊醎醑醓醔醕醘醞醡醦醨醬醭醮醰醱醲醳醶醻醼醽醿"],["8fe3a1","釂釃釅釓釔釗釙釚釞釤釥釩釪釬",5,"釷釹釻釽鈀鈁鈄鈅鈆鈇鈉鈊鈌鈐鈒鈓鈖鈘鈜鈝鈣鈤鈥鈦鈨鈮鈯鈰鈳鈵鈶鈸鈹鈺鈼鈾鉀鉂鉃鉆鉇鉊鉍鉎鉏鉑鉘鉙鉜鉝鉠鉡鉥鉧鉨鉩鉮鉯鉰鉵",4,"鉻鉼鉽鉿銈銉銊銍銎銒銗"],["8fe4a1","銙銟銠銤銥銧銨銫銯銲銶銸銺銻銼銽銿",4,"鋅鋆鋇鋈鋋鋌鋍鋎鋐鋓鋕鋗鋘鋙鋜鋝鋟鋠鋡鋣鋥鋧鋨鋬鋮鋰鋹鋻鋿錀錂錈錍錑錔錕錜錝錞錟錡錤錥錧錩錪錳錴錶錷鍇鍈鍉鍐鍑鍒鍕鍗鍘鍚鍞鍤鍥鍧鍩鍪鍭鍯鍰鍱鍳鍴鍶"],["8fe5a1","鍺鍽鍿鎀鎁鎂鎈鎊鎋鎍鎏鎒鎕鎘鎛鎞鎡鎣鎤鎦鎨鎫鎴鎵鎶鎺鎩鏁鏄鏅鏆鏇鏉",4,"鏓鏙鏜鏞鏟鏢鏦鏧鏹鏷鏸鏺鏻鏽鐁鐂鐄鐈鐉鐍鐎鐏鐕鐖鐗鐟鐮鐯鐱鐲鐳鐴鐻鐿鐽鑃鑅鑈鑊鑌鑕鑙鑜鑟鑡鑣鑨鑫鑭鑮鑯鑱鑲钄钃镸镹"],["8fe6a1","镾閄閈閌閍閎閝閞閟閡閦閩閫閬閴閶閺閽閿闆闈闉闋闐闑闒闓闙闚闝闞闟闠闤闦阝阞阢阤阥阦阬阱阳阷阸阹阺阼阽陁陒陔陖陗陘陡陮陴陻陼陾陿隁隂隃隄隉隑隖隚隝隟隤隥隦隩隮隯隳隺雊雒嶲雘雚雝雞雟雩雯雱雺霂"],["8fe7a1","霃霅霉霚霛霝霡霢霣霨霱霳靁靃靊靎靏靕靗靘靚靛靣靧靪靮靳靶靷靸靻靽靿鞀鞉鞕鞖鞗鞙鞚鞞鞟鞢鞬鞮鞱鞲鞵鞶鞸鞹鞺鞼鞾鞿韁韄韅韇韉韊韌韍韎韐韑韔韗韘韙韝韞韠韛韡韤韯韱韴韷韸韺頇頊頙頍頎頔頖頜頞頠頣頦"],["8fe8a1","頫頮頯頰頲頳頵頥頾顄顇顊顑顒顓顖顗顙顚顢顣顥顦顪顬颫颭颮颰颴颷颸颺颻颿飂飅飈飌飡飣飥飦飧飪飳飶餂餇餈餑餕餖餗餚餛餜餟餢餦餧餫餱",4,"餹餺餻餼饀饁饆饇饈饍饎饔饘饙饛饜饞饟饠馛馝馟馦馰馱馲馵"],["8fe9a1","馹馺馽馿駃駉駓駔駙駚駜駞駧駪駫駬駰駴駵駹駽駾騂騃騄騋騌騐騑騖騞騠騢騣騤騧騭騮騳騵騶騸驇驁驄驊驋驌驎驑驔驖驝骪骬骮骯骲骴骵骶骹骻骾骿髁髃髆髈髎髐髒髕髖髗髛髜髠髤髥髧髩髬髲髳髵髹髺髽髿",4],["8feaa1","鬄鬅鬈鬉鬋鬌鬍鬎鬐鬒鬖鬙鬛鬜鬠鬦鬫鬭鬳鬴鬵鬷鬹鬺鬽魈魋魌魕魖魗魛魞魡魣魥魦魨魪",4,"魳魵魷魸魹魿鮀鮄鮅鮆鮇鮉鮊鮋鮍鮏鮐鮔鮚鮝鮞鮦鮧鮩鮬鮰鮱鮲鮷鮸鮻鮼鮾鮿鯁鯇鯈鯎鯐鯗鯘鯝鯟鯥鯧鯪鯫鯯鯳鯷鯸"],["8feba1","鯹鯺鯽鯿鰀鰂鰋鰏鰑鰖鰘鰙鰚鰜鰞鰢鰣鰦",4,"鰱鰵鰶鰷鰽鱁鱃鱄鱅鱉鱊鱎鱏鱐鱓鱔鱖鱘鱛鱝鱞鱟鱣鱩鱪鱜鱫鱨鱮鱰鱲鱵鱷鱻鳦鳲鳷鳹鴋鴂鴑鴗鴘鴜鴝鴞鴯鴰鴲鴳鴴鴺鴼鵅鴽鵂鵃鵇鵊鵓鵔鵟鵣鵢鵥鵩鵪鵫鵰鵶鵷鵻"],["8feca1","鵼鵾鶃鶄鶆鶊鶍鶎鶒鶓鶕鶖鶗鶘鶡鶪鶬鶮鶱鶵鶹鶼鶿鷃鷇鷉鷊鷔鷕鷖鷗鷚鷞鷟鷠鷥鷧鷩鷫鷮鷰鷳鷴鷾鸊鸂鸇鸎鸐鸑鸒鸕鸖鸙鸜鸝鹺鹻鹼麀麂麃麄麅麇麎麏麖麘麛麞麤麨麬麮麯麰麳麴麵黆黈黋黕黟黤黧黬黭黮黰黱黲黵"],["8feda1","黸黿鼂鼃鼉鼏鼐鼑鼒鼔鼖鼗鼙鼚鼛鼟鼢鼦鼪鼫鼯鼱鼲鼴鼷鼹鼺鼼鼽鼿齁齃",4,"齓齕齖齗齘齚齝齞齨齩齭",4,"齳齵齺齽龏龐龑龒龔龖龗龞龡龢龣龥"]]}});var require_cp9362=__commonJS({"node_modules/raw-body/node_modules/iconv-lite/encodings/tables/cp936.json"(exports2,module2){module2.exports=[["0","\0",127,"€"],["8140","丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱丳丵丷丼乀乁乂乄乆乊乑乕乗乚乛乢乣乤乥乧乨乪",5,"乲乴",9,"乿",6,"亇亊"],["8180","亐亖亗亙亜亝亞亣亪亯亰亱亴亶亷亸亹亼亽亾仈仌仏仐仒仚仛仜仠仢仦仧仩仭仮仯仱仴仸仹仺仼仾伀伂",6,"伋伌伒",4,"伜伝伡伣伨伩伬伭伮伱伳伵伷伹伻伾",4,"佄佅佇",5,"佒佔佖佡佢佦佨佪佫佭佮佱佲併佷佸佹佺佽侀侁侂侅來侇侊侌侎侐侒侓侕侖侘侙侚侜侞侟価侢"],["8240","侤侫侭侰",4,"侶",8,"俀俁係俆俇俈俉俋俌俍俒",4,"俙俛俠俢俤俥俧俫俬俰俲俴俵俶俷俹俻俼俽俿",11],["8280","個倎倐們倓倕倖倗倛倝倞倠倢倣値倧倫倯",10,"倻倽倿偀偁偂偄偅偆偉偊偋偍偐",4,"偖偗偘偙偛偝",7,"偦",5,"偭",8,"偸偹偺偼偽傁傂傃傄傆傇傉傊傋傌傎",20,"傤傦傪傫傭",4,"傳",6,"傼"],["8340","傽",17,"僐",5,"僗僘僙僛",10,"僨僩僪僫僯僰僱僲僴僶",4,"僼",9,"儈"],["8380","儉儊儌",5,"儓",13,"儢",28,"兂兇兊兌兎兏児兒兓兗兘兙兛兝",4,"兣兤兦內兩兪兯兲兺兾兿冃冄円冇冊冋冎冏冐冑冓冔冘冚冝冞冟冡冣冦",4,"冭冮冴冸冹冺冾冿凁凂凃凅凈凊凍凎凐凒",5],["8440","凘凙凚凜凞凟凢凣凥",5,"凬凮凱凲凴凷凾刄刅刉刋刌刏刐刓刔刕刜刞刟刡刢刣別刦刧刪刬刯刱刲刴刵刼刾剄",5,"剋剎剏剒剓剕剗剘"],["8480","剙剚剛剝剟剠剢剣剤剦剨剫剬剭剮剰剱剳",9,"剾劀劃",4,"劉",6,"劑劒劔",6,"劜劤劥劦劧劮劯劰労",9,"勀勁勂勄勅勆勈勊勌勍勎勏勑勓勔動勗務",5,"勠勡勢勣勥",10,"勱",7,"勻勼勽匁匂匃匄匇匉匊匋匌匎"],["8540","匑匒匓匔匘匛匜匞匟匢匤匥匧匨匩匫匬匭匯",9,"匼匽區卂卄卆卋卌卍卐協単卙卛卝卥卨卪卬卭卲卶卹卻卼卽卾厀厁厃厇厈厊厎厏"],["8580","厐",4,"厖厗厙厛厜厞厠厡厤厧厪厫厬厭厯",6,"厷厸厹厺厼厽厾叀參",4,"収叏叐叒叓叕叚叜叝叞叡叢叧叴叺叾叿吀吂吅吇吋吔吘吙吚吜吢吤吥吪吰吳吶吷吺吽吿呁呂呄呅呇呉呌呍呎呏呑呚呝",4,"呣呥呧呩",7,"呴呹呺呾呿咁咃咅咇咈咉咊咍咑咓咗咘咜咞咟咠咡"],["8640","咢咥咮咰咲咵咶咷咹咺咼咾哃哅哊哋哖哘哛哠",4,"哫哬哯哰哱哴",5,"哻哾唀唂唃唄唅唈唊",4,"唒唓唕",5,"唜唝唞唟唡唥唦"],["8680","唨唩唫唭唲唴唵唶唸唹唺唻唽啀啂啅啇啈啋",4,"啑啒啓啔啗",4,"啝啞啟啠啢啣啨啩啫啯",5,"啹啺啽啿喅喆喌喍喎喐喒喓喕喖喗喚喛喞喠",6,"喨",8,"喲喴営喸喺喼喿",4,"嗆嗇嗈嗊嗋嗎嗏嗐嗕嗗",4,"嗞嗠嗢嗧嗩嗭嗮嗰嗱嗴嗶嗸",4,"嗿嘂嘃嘄嘅"],["8740","嘆嘇嘊嘋嘍嘐",7,"嘙嘚嘜嘝嘠嘡嘢嘥嘦嘨嘩嘪嘫嘮嘯嘰嘳嘵嘷嘸嘺嘼嘽嘾噀",11,"噏",4,"噕噖噚噛噝",4],["8780","噣噥噦噧噭噮噯噰噲噳噴噵噷噸噹噺噽",7,"嚇",6,"嚐嚑嚒嚔",14,"嚤",10,"嚰",6,"嚸嚹嚺嚻嚽",12,"囋",8,"囕囖囘囙囜団囥",5,"囬囮囯囲図囶囷囸囻囼圀圁圂圅圇國",6],["8840","園",9,"圝圞圠圡圢圤圥圦圧圫圱圲圴",4,"圼圽圿坁坃坄坅坆坈坉坋坒",4,"坘坙坢坣坥坧坬坮坰坱坲坴坵坸坹坺坽坾坿垀"],["8880","垁垇垈垉垊垍",4,"垔",6,"垜垝垞垟垥垨垪垬垯垰垱垳垵垶垷垹",8,"埄",6,"埌埍埐埑埓埖埗埛埜埞埡埢埣埥",7,"埮埰埱埲埳埵埶執埻埼埾埿堁堃堄堅堈堉堊堌堎堏堐堒堓堔堖堗堘堚堛堜堝堟堢堣堥",4,"堫",4,"報堲堳場堶",7],["8940","堾",5,"塅",6,"塎塏塐塒塓塕塖塗塙",4,"塟",5,"塦",4,"塭",16,"塿墂墄墆墇墈墊墋墌"],["8980","墍",4,"墔",4,"墛墜墝墠",7,"墪",17,"墽墾墿壀壂壃壄壆",10,"壒壓壔壖",13,"壥",5,"壭壯壱売壴壵壷壸壺",7,"夃夅夆夈",4,"夎夐夑夒夓夗夘夛夝夞夠夡夢夣夦夨夬夰夲夳夵夶夻"],["8a40","夽夾夿奀奃奅奆奊奌奍奐奒奓奙奛",4,"奡奣奤奦",12,"奵奷奺奻奼奾奿妀妅妉妋妌妎妏妐妑妔妕妘妚妛妜妝妟妠妡妢妦"],["8a80","妧妬妭妰妱妳",5,"妺妼妽妿",6,"姇姈姉姌姍姎姏姕姖姙姛姞",4,"姤姦姧姩姪姫姭",11,"姺姼姽姾娀娂娊娋娍娎娏娐娒娔娕娖娗娙娚娛娝娞娡娢娤娦娧娨娪",6,"娳娵娷",4,"娽娾娿婁",4,"婇婈婋",9,"婖婗婘婙婛",5],["8b40","婡婣婤婥婦婨婩婫",8,"婸婹婻婼婽婾媀",17,"媓",6,"媜",13,"媫媬"],["8b80","媭",4,"媴媶媷媹",4,"媿嫀嫃",5,"嫊嫋嫍",4,"嫓嫕嫗嫙嫚嫛嫝嫞嫟嫢嫤嫥嫧嫨嫪嫬",4,"嫲",22,"嬊",11,"嬘",25,"嬳嬵嬶嬸",7,"孁",6],["8c40","孈",7,"孒孖孞孠孡孧孨孫孭孮孯孲孴孶孷學孹孻孼孾孿宂宆宊宍宎宐宑宒宔宖実宧宨宩宬宭宮宯宱宲宷宺宻宼寀寁寃寈寉寊寋寍寎寏"],["8c80","寑寔",8,"寠寢寣實寧審",4,"寯寱",6,"寽対尀専尃尅將專尋尌對導尐尒尓尗尙尛尞尟尠尡尣尦尨尩尪尫尭尮尯尰尲尳尵尶尷屃屄屆屇屌屍屒屓屔屖屗屘屚屛屜屝屟屢層屧",6,"屰屲",6,"屻屼屽屾岀岃",4,"岉岊岋岎岏岒岓岕岝",4,"岤",4],["8d40","岪岮岯岰岲岴岶岹岺岻岼岾峀峂峃峅",5,"峌",5,"峓",5,"峚",6,"峢峣峧峩峫峬峮峯峱",9,"峼",4],["8d80","崁崄崅崈",5,"崏",4,"崕崗崘崙崚崜崝崟",4,"崥崨崪崫崬崯",4,"崵",7,"崿",7,"嵈嵉嵍",10,"嵙嵚嵜嵞",10,"嵪嵭嵮嵰嵱嵲嵳嵵",12,"嶃",21,"嶚嶛嶜嶞嶟嶠"],["8e40","嶡",21,"嶸",12,"巆",6,"巎",12,"巜巟巠巣巤巪巬巭"],["8e80","巰巵巶巸",4,"巿帀帄帇帉帊帋帍帎帒帓帗帞",7,"帨",4,"帯帰帲",4,"帹帺帾帿幀幁幃幆",5,"幍",6,"幖",4,"幜幝幟幠幣",14,"幵幷幹幾庁庂広庅庈庉庌庍庎庒庘庛庝庡庢庣庤庨",4,"庮",4,"庴庺庻庼庽庿",6],["8f40","廆廇廈廋",5,"廔廕廗廘廙廚廜",11,"廩廫",8,"廵廸廹廻廼廽弅弆弇弉弌弍弎弐弒弔弖弙弚弜弝弞弡弢弣弤"],["8f80","弨弫弬弮弰弲",6,"弻弽弾弿彁",14,"彑彔彙彚彛彜彞彟彠彣彥彧彨彫彮彯彲彴彵彶彸彺彽彾彿徃徆徍徎徏徑従徔徖徚徛徝從徟徠徢",5,"復徫徬徯",5,"徶徸徹徺徻徾",4,"忇忈忊忋忎忓忔忕忚忛応忞忟忢忣忥忦忨忩忬忯忰忲忳忴忶忷忹忺忼怇"],["9040","怈怉怋怌怐怑怓怗怘怚怞怟怢怣怤怬怭怮怰",4,"怶",4,"怽怾恀恄",6,"恌恎恏恑恓恔恖恗恘恛恜恞恟恠恡恥恦恮恱恲恴恵恷恾悀"],["9080","悁悂悅悆悇悈悊悋悎悏悐悑悓悕悗悘悙悜悞悡悢悤悥悧悩悪悮悰悳悵悶悷悹悺悽",7,"惇惈惉惌",4,"惒惓惔惖惗惙惛惞惡",4,"惪惱惲惵惷惸惻",4,"愂愃愄愅愇愊愋愌愐",4,"愖愗愘愙愛愜愝愞愡愢愥愨愩愪愬",18,"慀",6],["9140","慇慉態慍慏慐慒慓慔慖",6,"慞慟慠慡慣慤慥慦慩",6,"慱慲慳慴慶慸",18,"憌憍憏",4,"憕"],["9180","憖",6,"憞",8,"憪憫憭",9,"憸",5,"憿懀懁懃",4,"應懌",4,"懓懕",16,"懧",13,"懶",8,"戀",5,"戇戉戓戔戙戜戝戞戠戣戦戧戨戩戫戭戯戰戱戲戵戶戸",4,"扂扄扅扆扊"],["9240","扏扐払扖扗扙扚扜",6,"扤扥扨扱扲扴扵扷扸扺扻扽抁抂抃抅抆抇抈抋",5,"抔抙抜抝択抣抦抧抩抪抭抮抯抰抲抳抴抶抷抸抺抾拀拁"],["9280","拃拋拏拑拕拝拞拠拡拤拪拫拰拲拵拸拹拺拻挀挃挄挅挆挊挋挌挍挏挐挒挓挔挕挗挘挙挜挦挧挩挬挭挮挰挱挳",5,"挻挼挾挿捀捁捄捇捈捊捑捒捓捔捖",7,"捠捤捥捦捨捪捫捬捯捰捲捳捴捵捸捹捼捽捾捿掁掃掄掅掆掋掍掑掓掔掕掗掙",6,"採掤掦掫掯掱掲掵掶掹掻掽掿揀"],["9340","揁揂揃揅揇揈揊揋揌揑揓揔揕揗",6,"揟揢揤",4,"揫揬揮揯揰揱揳揵揷揹揺揻揼揾搃搄搆",4,"損搎搑搒搕",5,"搝搟搢搣搤"],["9380","搥搧搨搩搫搮",5,"搵",4,"搻搼搾摀摂摃摉摋",6,"摓摕摖摗摙",4,"摟",7,"摨摪摫摬摮",9,"摻",6,"撃撆撈",8,"撓撔撗撘撚撛撜撝撟",4,"撥撦撧撨撪撫撯撱撲撳撴撶撹撻撽撾撿擁擃擄擆",6,"擏擑擓擔擕擖擙據"],["9440","擛擜擝擟擠擡擣擥擧",24,"攁",7,"攊",7,"攓",4,"攙",8],["9480","攢攣攤攦",4,"攬攭攰攱攲攳攷攺攼攽敀",4,"敆敇敊敋敍敎敐敒敓敔敗敘敚敜敟敠敡敤敥敧敨敩敪敭敮敯敱敳敵敶數",14,"斈斉斊斍斎斏斒斔斕斖斘斚斝斞斠斢斣斦斨斪斬斮斱",7,"斺斻斾斿旀旂旇旈旉旊旍旐旑旓旔旕旘",7,"旡旣旤旪旫"],["9540","旲旳旴旵旸旹旻",4,"昁昄昅昇昈昉昋昍昐昑昒昖昗昘昚昛昜昞昡昢昣昤昦昩昪昫昬昮昰昲昳昷",4,"昽昿晀時晄",6,"晍晎晐晑晘"],["9580","晙晛晜晝晞晠晢晣晥晧晩",4,"晱晲晳晵晸晹晻晼晽晿暀暁暃暅暆暈暉暊暋暍暎暏暐暒暓暔暕暘",4,"暞",8,"暩",4,"暯",4,"暵暶暷暸暺暻暼暽暿",25,"曚曞",7,"曧曨曪",5,"曱曵曶書曺曻曽朁朂會"],["9640","朄朅朆朇朌朎朏朑朒朓朖朘朙朚朜朞朠",5,"朧朩朮朰朲朳朶朷朸朹朻朼朾朿杁杄杅杇杊杋杍杒杔杕杗",4,"杝杢杣杤杦杧杫杬杮東杴杶"],["9680","杸杹杺杻杽枀枂枃枅枆枈枊枌枍枎枏枑枒枓枔枖枙枛枟枠枡枤枦枩枬枮枱枲枴枹",7,"柂柅",9,"柕柖柗柛柟柡柣柤柦柧柨柪柫柭柮柲柵",7,"柾栁栂栃栄栆栍栐栒栔栕栘",4,"栞栟栠栢",6,"栫",6,"栴栵栶栺栻栿桇桋桍桏桒桖",5],["9740","桜桝桞桟桪桬",7,"桵桸",8,"梂梄梇",7,"梐梑梒梔梕梖梘",9,"梣梤梥梩梪梫梬梮梱梲梴梶梷梸"],["9780","梹",6,"棁棃",5,"棊棌棎棏棐棑棓棔棖棗棙棛",4,"棡棢棤",9,"棯棲棳棴棶棷棸棻棽棾棿椀椂椃椄椆",4,"椌椏椑椓",11,"椡椢椣椥",7,"椮椯椱椲椳椵椶椷椸椺椻椼椾楀楁楃",16,"楕楖楘楙楛楜楟"],["9840","楡楢楤楥楧楨楩楪楬業楯楰楲",4,"楺楻楽楾楿榁榃榅榊榋榌榎",5,"榖榗榙榚榝",9,"榩榪榬榮榯榰榲榳榵榶榸榹榺榼榽"],["9880","榾榿槀槂",7,"構槍槏槑槒槓槕",5,"槜槝槞槡",11,"槮槯槰槱槳",9,"槾樀",9,"樋",11,"標",5,"樠樢",5,"権樫樬樭樮樰樲樳樴樶",6,"樿",4,"橅橆橈",7,"橑",6,"橚"],["9940","橜",4,"橢橣橤橦",10,"橲",6,"橺橻橽橾橿檁檂檃檅",8,"檏檒",4,"檘",7,"檡",5],["9980","檧檨檪檭",114,"欥欦欨",6],["9a40","欯欰欱欳欴欵欶欸欻欼欽欿歀歁歂歄歅歈歊歋歍",11,"歚",7,"歨歩歫",13,"歺歽歾歿殀殅殈"],["9a80","殌殎殏殐殑殔殕殗殘殙殜",4,"殢",7,"殫",7,"殶殸",6,"毀毃毄毆",4,"毌毎毐毑毘毚毜",4,"毢",7,"毬毭毮毰毱毲毴毶毷毸毺毻毼毾",6,"氈",4,"氎氒気氜氝氞氠氣氥氫氬氭氱氳氶氷氹氺氻氼氾氿汃汄汅汈汋",4,"汑汒汓汖汘"],["9b40","汙汚汢汣汥汦汧汫",4,"汱汳汵汷汸決汻汼汿沀沄沇沊沋沍沎沑沒沕沖沗沘沚沜沝沞沠沢沨沬沯沰沴沵沶沷沺泀況泂泃泆泇泈泋泍泎泏泑泒泘"],["9b80","泙泚泜泝泟泤泦泧泩泬泭泲泴泹泿洀洂洃洅洆洈洉洊洍洏洐洑洓洔洕洖洘洜洝洟",5,"洦洨洩洬洭洯洰洴洶洷洸洺洿浀浂浄浉浌浐浕浖浗浘浛浝浟浡浢浤浥浧浨浫浬浭浰浱浲浳浵浶浹浺浻浽",4,"涃涄涆涇涊涋涍涏涐涒涖",4,"涜涢涥涬涭涰涱涳涴涶涷涹",5,"淁淂淃淈淉淊"],["9c40","淍淎淏淐淒淓淔淕淗淚淛淜淟淢淣淥淧淨淩淪淭淯淰淲淴淵淶淸淺淽",7,"渆渇済渉渋渏渒渓渕渘渙減渜渞渟渢渦渧渨渪測渮渰渱渳渵"],["9c80","渶渷渹渻",7,"湅",7,"湏湐湑湒湕湗湙湚湜湝湞湠",10,"湬湭湯",14,"満溁溂溄溇溈溊",4,"溑",6,"溙溚溛溝溞溠溡溣溤溦溨溩溫溬溭溮溰溳溵溸溹溼溾溿滀滃滄滅滆滈滉滊滌滍滎滐滒滖滘滙滛滜滝滣滧滪",5],["9d40","滰滱滲滳滵滶滷滸滺",7,"漃漄漅漇漈漊",4,"漐漑漒漖",9,"漡漢漣漥漦漧漨漬漮漰漲漴漵漷",6,"漿潀潁潂"],["9d80","潃潄潅潈潉潊潌潎",9,"潙潚潛潝潟潠潡潣潤潥潧",5,"潯潰潱潳潵潶潷潹潻潽",6,"澅澆澇澊澋澏",12,"澝澞澟澠澢",4,"澨",10,"澴澵澷澸澺",5,"濁濃",5,"濊",6,"濓",10,"濟濢濣濤濥"],["9e40","濦",7,"濰",32,"瀒",7,"瀜",6,"瀤",6],["9e80","瀫",9,"瀶瀷瀸瀺",17,"灍灎灐",13,"灟",11,"灮灱灲灳灴灷灹灺灻災炁炂炃炄炆炇炈炋炌炍炏炐炑炓炗炘炚炛炞",12,"炰炲炴炵炶為炾炿烄烅烆烇烉烋",12,"烚"],["9f40","烜烝烞烠烡烢烣烥烪烮烰",6,"烸烺烻烼烾",10,"焋",4,"焑焒焔焗焛",10,"焧",7,"焲焳焴"],["9f80","焵焷",13,"煆煇煈煉煋煍煏",12,"煝煟",4,"煥煩",4,"煯煰煱煴煵煶煷煹煻煼煾",5,"熅",4,"熋熌熍熎熐熑熒熓熕熖熗熚",4,"熡",6,"熩熪熫熭",5,"熴熶熷熸熺",8,"燄",9,"燏",4],["a040","燖",9,"燡燢燣燤燦燨",5,"燯",9,"燺",11,"爇",19],["a080","爛爜爞",9,"爩爫爭爮爯爲爳爴爺爼爾牀",6,"牉牊牋牎牏牐牑牓牔牕牗牘牚牜牞牠牣牤牥牨牪牫牬牭牰牱牳牴牶牷牸牻牼牽犂犃犅",4,"犌犎犐犑犓",11,"犠",11,"犮犱犲犳犵犺",6,"狅狆狇狉狊狋狌狏狑狓狔狕狖狘狚狛"],["a1a1","　、。·ˉˇ¨〃々—～‖…‘’“”〔〕〈",7,"〖〗【】±×÷∶∧∨∑∏∪∩∈∷√⊥∥∠⌒⊙∫∮≡≌≈∽∝≠≮≯≤≥∞∵∴♂♀°′″℃＄¤￠￡‰§№☆★○●◎◇◆□■△▲※→←↑↓〓"],["a2a1","ⅰ",9],["a2b1","⒈",19,"⑴",19,"①",9],["a2e5","㈠",9],["a2f1","Ⅰ",11],["a3a1","！＂＃￥％",88,"￣"],["a4a1","ぁ",82],["a5a1","ァ",85],["a6a1","Α",16,"Σ",6],["a6c1","α",16,"σ",6],["a6e0","︵︶︹︺︿﹀︽︾﹁﹂﹃﹄"],["a6ee","︻︼︷︸︱"],["a6f4","︳︴"],["a7a1","А",5,"ЁЖ",25],["a7d1","а",5,"ёж",25],["a840","ˊˋ˙–―‥‵℅℉↖↗↘↙∕∟∣≒≦≧⊿═",35,"▁",6],["a880","█",7,"▓▔▕▼▽◢◣◤◥☉⊕〒〝〞"],["a8a1","āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜüêɑ"],["a8bd","ńň"],["a8c0","ɡ"],["a8c5","ㄅ",36],["a940","〡",8,"㊣㎎㎏㎜㎝㎞㎡㏄㏎㏑㏒㏕︰￢￤"],["a959","℡㈱"],["a95c","‐"],["a960","ー゛゜ヽヾ〆ゝゞ﹉",9,"﹔﹕﹖﹗﹙",8],["a980","﹢",4,"﹨﹩﹪﹫"],["a996","〇"],["a9a4","─",75],["aa40","狜狝狟狢",5,"狪狫狵狶狹狽狾狿猀猂猄",5,"猋猌猍猏猐猑猒猔猘猙猚猟猠猣猤猦猧猨猭猯猰猲猳猵猶猺猻猼猽獀",8],["aa80","獉獊獋獌獎獏獑獓獔獕獖獘",7,"獡",10,"獮獰獱"],["ab40","獲",11,"獿",4,"玅玆玈玊玌玍玏玐玒玓玔玕玗玘玙玚玜玝玞玠玡玣",5,"玪玬玭玱玴玵玶玸玹玼玽玾玿珁珃",4],["ab80","珋珌珎珒",6,"珚珛珜珝珟珡珢珣珤珦珨珪珫珬珮珯珰珱珳",4],["ac40","珸",10,"琄琇琈琋琌琍琎琑",8,"琜",5,"琣琤琧琩琫琭琯琱琲琷",4,"琽琾琿瑀瑂",11],["ac80","瑎",6,"瑖瑘瑝瑠",12,"瑮瑯瑱",4,"瑸瑹瑺"],["ad40","瑻瑼瑽瑿璂璄璅璆璈璉璊璌璍璏璑",10,"璝璟",7,"璪",15,"璻",12],["ad80","瓈",9,"瓓",8,"瓝瓟瓡瓥瓧",6,"瓰瓱瓲"],["ae40","瓳瓵瓸",6,"甀甁甂甃甅",7,"甎甐甒甔甕甖甗甛甝甞甠",4,"甦甧甪甮甴甶甹甼甽甿畁畂畃畄畆畇畉畊畍畐畑畒畓畕畖畗畘"],["ae80","畝",7,"畧畨畩畫",6,"畳畵當畷畺",4,"疀疁疂疄疅疇"],["af40","疈疉疊疌疍疎疐疓疕疘疛疜疞疢疦",4,"疭疶疷疺疻疿痀痁痆痋痌痎痏痐痑痓痗痙痚痜痝痟痠痡痥痩痬痭痮痯痲痳痵痶痷痸痺痻痽痾瘂瘄瘆瘇"],["af80","瘈瘉瘋瘍瘎瘏瘑瘒瘓瘔瘖瘚瘜瘝瘞瘡瘣瘧瘨瘬瘮瘯瘱瘲瘶瘷瘹瘺瘻瘽癁療癄"],["b040","癅",6,"癎",5,"癕癗",4,"癝癟癠癡癢癤",6,"癬癭癮癰",7,"癹発發癿皀皁皃皅皉皊皌皍皏皐皒皔皕皗皘皚皛"],["b080","皜",7,"皥",8,"皯皰皳皵",9,"盀盁盃啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥"],["b140","盄盇盉盋盌盓盕盙盚盜盝盞盠",4,"盦",7,"盰盳盵盶盷盺盻盽盿眀眂眃眅眆眊県眎",10,"眛眜眝眞眡眣眤眥眧眪眫"],["b180","眬眮眰",4,"眹眻眽眾眿睂睄睅睆睈",7,"睒",7,"睜薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑北辈背贝钡倍狈备惫焙被奔苯本笨崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛鞭边编贬扁便变卞辨辩辫遍标彪膘表鳖憋别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳"],["b240","睝睞睟睠睤睧睩睪睭",11,"睺睻睼瞁瞂瞃瞆",5,"瞏瞐瞓",11,"瞡瞣瞤瞦瞨瞫瞭瞮瞯瞱瞲瞴瞶",4],["b280","瞼瞾矀",12,"矎",8,"矘矙矚矝",4,"矤病并玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳捕卜哺补埠不布步簿部怖擦猜裁材才财睬踩采彩菜蔡餐参蚕残惭惨灿苍舱仓沧藏操糙槽曹草厕策侧册测层蹭插叉茬茶查碴搽察岔差诧拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖"],["b340","矦矨矪矯矰矱矲矴矵矷矹矺矻矼砃",5,"砊砋砎砏砐砓砕砙砛砞砠砡砢砤砨砪砫砮砯砱砲砳砵砶砽砿硁硂硃硄硆硈硉硊硋硍硏硑硓硔硘硙硚"],["b380","硛硜硞",11,"硯",7,"硸硹硺硻硽",6,"场尝常长偿肠厂敞畅唱倡超抄钞朝嘲潮巢吵炒车扯撤掣彻澈郴臣辰尘晨忱沉陈趁衬撑称城橙成呈乘程惩澄诚承逞骋秤吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽充冲虫崇宠抽酬畴踌稠愁筹仇绸瞅丑臭初出橱厨躇锄雏滁除楚"],["b440","碄碅碆碈碊碋碏碐碒碔碕碖碙碝碞碠碢碤碦碨",7,"碵碶碷碸確碻碼碽碿磀磂磃磄磆磇磈磌磍磎磏磑磒磓磖磗磘磚",9],["b480","磤磥磦磧磩磪磫磭",4,"磳磵磶磸磹磻",5,"礂礃礄礆",6,"础储矗搐触处揣川穿椽传船喘串疮窗幢床闯创吹炊捶锤垂春椿醇唇淳纯蠢戳绰疵茨磁雌辞慈瓷词此刺赐次聪葱囱匆从丛凑粗醋簇促蹿篡窜摧崔催脆瘁粹淬翠村存寸磋撮搓措挫错搭达答瘩打大呆歹傣戴带殆代贷袋待逮"],["b540","礍",5,"礔",9,"礟",4,"礥",14,"礵",4,"礽礿祂祃祄祅祇祊",8,"祔祕祘祙祡祣"],["b580","祤祦祩祪祫祬祮祰",6,"祹祻",4,"禂禃禆禇禈禉禋禌禍禎禐禑禒怠耽担丹单郸掸胆旦氮但惮淡诞弹蛋当挡党荡档刀捣蹈倒岛祷导到稻悼道盗德得的蹬灯登等瞪凳邓堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔颠掂滇碘点典靛垫电佃甸店惦奠淀殿碉叼雕凋刁掉吊钓调跌爹碟蝶迭谍叠"],["b640","禓",6,"禛",11,"禨",10,"禴",4,"禼禿秂秄秅秇秈秊秌秎秏秐秓秔秖秗秙",5,"秠秡秢秥秨秪"],["b680","秬秮秱",6,"秹秺秼秾秿稁稄稅稇稈稉稊稌稏",4,"稕稖稘稙稛稜丁盯叮钉顶鼎锭定订丢东冬董懂动栋侗恫冻洞兜抖斗陡豆逗痘都督毒犊独读堵睹赌杜镀肚度渡妒端短锻段断缎堆兑队对墩吨蹲敦顿囤钝盾遁掇哆多夺垛躲朵跺舵剁惰堕蛾峨鹅俄额讹娥恶厄扼遏鄂饿恩而儿耳尔饵洱二"],["b740","稝稟稡稢稤",14,"稴稵稶稸稺稾穀",5,"穇",9,"穒",4,"穘",16],["b780","穩",6,"穱穲穳穵穻穼穽穾窂窅窇窉窊窋窌窎窏窐窓窔窙窚窛窞窡窢贰发罚筏伐乏阀法珐藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛坊芳方肪房防妨仿访纺放菲非啡飞肥匪诽吠肺废沸费芬酚吩氛分纷坟焚汾粉奋份忿愤粪丰封枫蜂峰锋风疯烽逢冯缝讽奉凤佛否夫敷肤孵扶拂辐幅氟符伏俘服"],["b840","窣窤窧窩窪窫窮",4,"窴",10,"竀",10,"竌",9,"竗竘竚竛竜竝竡竢竤竧",5,"竮竰竱竲竳"],["b880","竴",4,"竻竼竾笀笁笂笅笇笉笌笍笎笐笒笓笖笗笘笚笜笝笟笡笢笣笧笩笭浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐噶嘎该改概钙盖溉干甘杆柑竿肝赶感秆敢赣冈刚钢缸肛纲岗港杠篙皋高膏羔糕搞镐稿告哥歌搁戈鸽胳疙割革葛格蛤阁隔铬个各给根跟耕更庚羹"],["b940","笯笰笲笴笵笶笷笹笻笽笿",5,"筆筈筊筍筎筓筕筗筙筜筞筟筡筣",10,"筯筰筳筴筶筸筺筼筽筿箁箂箃箄箆",6,"箎箏"],["b980","箑箒箓箖箘箙箚箛箞箟箠箣箤箥箮箯箰箲箳箵箶箷箹",7,"篂篃範埂耿梗工攻功恭龚供躬公宫弓巩汞拱贡共钩勾沟苟狗垢构购够辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇刮瓜剐寡挂褂乖拐怪棺关官冠观管馆罐惯灌贯光广逛瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽辊滚棍锅郭国果裹过哈"],["ba40","篅篈築篊篋篍篎篏篐篒篔",4,"篛篜篞篟篠篢篣篤篧篨篩篫篬篭篯篰篲",4,"篸篹篺篻篽篿",7,"簈簉簊簍簎簐",5,"簗簘簙"],["ba80","簚",4,"簠",5,"簨簩簫",12,"簹",5,"籂骸孩海氦亥害骇酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉夯杭航壕嚎豪毫郝好耗号浩呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺嘿黑痕很狠恨哼亨横衡恒轰哄烘虹鸿洪宏弘红喉侯猴吼厚候后呼乎忽瑚壶葫胡蝴狐糊湖"],["bb40","籃",9,"籎",36,"籵",5,"籾",9],["bb80","粈粊",6,"粓粔粖粙粚粛粠粡粣粦粧粨粩粫粬粭粯粰粴",4,"粺粻弧虎唬护互沪户花哗华猾滑画划化话槐徊怀淮坏欢环桓还缓换患唤痪豢焕涣宦幻荒慌黄磺蝗簧皇凰惶煌晃幌恍谎灰挥辉徽恢蛔回毁悔慧卉惠晦贿秽会烩汇讳诲绘荤昏婚魂浑混豁活伙火获或惑霍货祸击圾基机畸稽积箕"],["bc40","粿糀糂糃糄糆糉糋糎",6,"糘糚糛糝糞糡",6,"糩",5,"糰",7,"糹糺糼",13,"紋",5],["bc80","紑",14,"紡紣紤紥紦紨紩紪紬紭紮細",6,"肌饥迹激讥鸡姬绩缉吉极棘辑籍集及急疾汲即嫉级挤几脊己蓟技冀季伎祭剂悸济寄寂计记既忌际妓继纪嘉枷夹佳家加荚颊贾甲钾假稼价架驾嫁歼监坚尖笺间煎兼肩艰奸缄茧检柬碱硷拣捡简俭剪减荐槛鉴践贱见键箭件"],["bd40","紷",54,"絯",7],["bd80","絸",32,"健舰剑饯渐溅涧建僵姜将浆江疆蒋桨奖讲匠酱降蕉椒礁焦胶交郊浇骄娇嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较叫窖揭接皆秸街阶截劫节桔杰捷睫竭洁结解姐戒藉芥界借介疥诫届巾筋斤金今津襟紧锦仅谨进靳晋禁近烬浸"],["be40","継",12,"綧",6,"綯",42],["be80","線",32,"尽劲荆兢茎睛晶鲸京惊精粳经井警景颈静境敬镜径痉靖竟竞净炯窘揪究纠玖韭久灸九酒厩救旧臼舅咎就疚鞠拘狙疽居驹菊局咀矩举沮聚拒据巨具距踞锯俱句惧炬剧捐鹃娟倦眷卷绢撅攫抉掘倔爵觉决诀绝均菌钧军君峻"],["bf40","緻",62],["bf80","縺縼",4,"繂",4,"繈",21,"俊竣浚郡骏喀咖卡咯开揩楷凯慨刊堪勘坎砍看康慷糠扛抗亢炕考拷烤靠坷苛柯棵磕颗科壳咳可渴克刻客课肯啃垦恳坑吭空恐孔控抠口扣寇枯哭窟苦酷库裤夸垮挎跨胯块筷侩快宽款匡筐狂框矿眶旷况亏盔岿窥葵奎魁傀"],["c040","繞",35,"纃",23,"纜纝纞"],["c080","纮纴纻纼绖绤绬绹缊缐缞缷缹缻",6,"罃罆",9,"罒罓馈愧溃坤昆捆困括扩廓阔垃拉喇蜡腊辣啦莱来赖蓝婪栏拦篮阑兰澜谰揽览懒缆烂滥琅榔狼廊郎朗浪捞劳牢老佬姥酪烙涝勒乐雷镭蕾磊累儡垒擂肋类泪棱楞冷厘梨犁黎篱狸离漓理李里鲤礼莉荔吏栗丽厉励砾历利傈例俐"],["c140","罖罙罛罜罝罞罠罣",4,"罫罬罭罯罰罳罵罶罷罸罺罻罼罽罿羀羂",7,"羋羍羏",4,"羕",4,"羛羜羠羢羣羥羦羨",6,"羱"],["c180","羳",4,"羺羻羾翀翂翃翄翆翇翈翉翋翍翏",4,"翖翗翙",5,"翢翣痢立粒沥隶力璃哩俩联莲连镰廉怜涟帘敛脸链恋炼练粮凉梁粱良两辆量晾亮谅撩聊僚疗燎寥辽潦了撂镣廖料列裂烈劣猎琳林磷霖临邻鳞淋凛赁吝拎玲菱零龄铃伶羚凌灵陵岭领另令溜琉榴硫馏留刘瘤流柳六龙聋咙笼窿"],["c240","翤翧翨翪翫翬翭翯翲翴",6,"翽翾翿耂耇耈耉耊耎耏耑耓耚耛耝耞耟耡耣耤耫",5,"耲耴耹耺耼耾聀聁聄聅聇聈聉聎聏聐聑聓聕聖聗"],["c280","聙聛",13,"聫",5,"聲",11,"隆垄拢陇楼娄搂篓漏陋芦卢颅庐炉掳卤虏鲁麓碌露路赂鹿潞禄录陆戮驴吕铝侣旅履屡缕虑氯律率滤绿峦挛孪滦卵乱掠略抡轮伦仑沦纶论萝螺罗逻锣箩骡裸落洛骆络妈麻玛码蚂马骂嘛吗埋买麦卖迈脉瞒馒蛮满蔓曼慢漫"],["c340","聾肁肂肅肈肊肍",5,"肔肕肗肙肞肣肦肧肨肬肰肳肵肶肸肹肻胅胇",4,"胏",6,"胘胟胠胢胣胦胮胵胷胹胻胾胿脀脁脃脄脅脇脈脋"],["c380","脌脕脗脙脛脜脝脟",12,"脭脮脰脳脴脵脷脹",4,"脿谩芒茫盲氓忙莽猫茅锚毛矛铆卯茂冒帽貌贸么玫枚梅酶霉煤没眉媒镁每美昧寐妹媚门闷们萌蒙檬盟锰猛梦孟眯醚靡糜迷谜弥米秘觅泌蜜密幂棉眠绵冕免勉娩缅面苗描瞄藐秒渺庙妙蔑灭民抿皿敏悯闽明螟鸣铭名命谬摸"],["c440","腀",5,"腇腉腍腎腏腒腖腗腘腛",4,"腡腢腣腤腦腨腪腫腬腯腲腳腵腶腷腸膁膃",4,"膉膋膌膍膎膐膒",5,"膙膚膞",4,"膤膥"],["c480","膧膩膫",7,"膴",5,"膼膽膾膿臄臅臇臈臉臋臍",6,"摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌谋牟某拇牡亩姆母墓暮幕募慕木目睦牧穆拿哪呐钠那娜纳氖乃奶耐奈南男难囊挠脑恼闹淖呢馁内嫩能妮霓倪泥尼拟你匿腻逆溺蔫拈年碾撵捻念娘酿鸟尿捏聂孽啮镊镍涅您柠狞凝宁"],["c540","臔",14,"臤臥臦臨臩臫臮",4,"臵",5,"臽臿舃與",4,"舎舏舑舓舕",5,"舝舠舤舥舦舧舩舮舲舺舼舽舿"],["c580","艀艁艂艃艅艆艈艊艌艍艎艐",7,"艙艛艜艝艞艠",7,"艩拧泞牛扭钮纽脓浓农弄奴努怒女暖虐疟挪懦糯诺哦欧鸥殴藕呕偶沤啪趴爬帕怕琶拍排牌徘湃派攀潘盘磐盼畔判叛乓庞旁耪胖抛咆刨炮袍跑泡呸胚培裴赔陪配佩沛喷盆砰抨烹澎彭蓬棚硼篷膨朋鹏捧碰坯砒霹批披劈琵毗"],["c640","艪艫艬艭艱艵艶艷艸艻艼芀芁芃芅芆芇芉芌芐芓芔芕芖芚芛芞芠芢芣芧芲芵芶芺芻芼芿苀苂苃苅苆苉苐苖苙苚苝苢苧苨苩苪苬苭苮苰苲苳苵苶苸"],["c680","苺苼",4,"茊茋茍茐茒茓茖茘茙茝",9,"茩茪茮茰茲茷茻茽啤脾疲皮匹痞僻屁譬篇偏片骗飘漂瓢票撇瞥拼频贫品聘乒坪苹萍平凭瓶评屏坡泼颇婆破魄迫粕剖扑铺仆莆葡菩蒲埔朴圃普浦谱曝瀑期欺栖戚妻七凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑起岂乞企启契砌器气迄弃汽泣讫掐"],["c740","茾茿荁荂荄荅荈荊",4,"荓荕",4,"荝荢荰",6,"荹荺荾",6,"莇莈莊莋莌莍莏莐莑莔莕莖莗莙莚莝莟莡",6,"莬莭莮"],["c780","莯莵莻莾莿菂菃菄菆菈菉菋菍菎菐菑菒菓菕菗菙菚菛菞菢菣菤菦菧菨菫菬菭恰洽牵扦钎铅千迁签仟谦乾黔钱钳前潜遣浅谴堑嵌欠歉枪呛腔羌墙蔷强抢橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍切茄且怯窃钦侵亲秦琴勤芹擒禽寝沁青轻氢倾卿清擎晴氰情顷请庆琼穷秋丘邱球求囚酋泅趋区蛆曲躯屈驱渠"],["c840","菮華菳",4,"菺菻菼菾菿萀萂萅萇萈萉萊萐萒",5,"萙萚萛萞",5,"萩",7,"萲",5,"萹萺萻萾",7,"葇葈葉"],["c880","葊",6,"葒",4,"葘葝葞葟葠葢葤",4,"葪葮葯葰葲葴葷葹葻葼取娶龋趣去圈颧权醛泉全痊拳犬券劝缺炔瘸却鹊榷确雀裙群然燃冉染瓤壤攘嚷让饶扰绕惹热壬仁人忍韧任认刃妊纫扔仍日戎茸蓉荣融熔溶容绒冗揉柔肉茹蠕儒孺如辱乳汝入褥软阮蕊瑞锐闰润若弱撒洒萨腮鳃塞赛三叁"],["c940","葽",4,"蒃蒄蒅蒆蒊蒍蒏",7,"蒘蒚蒛蒝蒞蒟蒠蒢",12,"蒰蒱蒳蒵蒶蒷蒻蒼蒾蓀蓂蓃蓅蓆蓇蓈蓋蓌蓎蓏蓒蓔蓕蓗"],["c980","蓘",4,"蓞蓡蓢蓤蓧",4,"蓭蓮蓯蓱",10,"蓽蓾蔀蔁蔂伞散桑嗓丧搔骚扫嫂瑟色涩森僧莎砂杀刹沙纱傻啥煞筛晒珊苫杉山删煽衫闪陕擅赡膳善汕扇缮墒伤商赏晌上尚裳梢捎稍烧芍勺韶少哨邵绍奢赊蛇舌舍赦摄射慑涉社设砷申呻伸身深娠绅神沈审婶甚肾慎渗声生甥牲升绳"],["ca40","蔃",8,"蔍蔎蔏蔐蔒蔔蔕蔖蔘蔙蔛蔜蔝蔞蔠蔢",8,"蔭",9,"蔾",4,"蕄蕅蕆蕇蕋",10],["ca80","蕗蕘蕚蕛蕜蕝蕟",4,"蕥蕦蕧蕩",8,"蕳蕵蕶蕷蕸蕼蕽蕿薀薁省盛剩胜圣师失狮施湿诗尸虱十石拾时什食蚀实识史矢使屎驶始式示士世柿事拭誓逝势是嗜噬适仕侍释饰氏市恃室视试收手首守寿授售受瘦兽蔬枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙署蜀黍鼠属术述树束戍竖墅庶数漱"],["cb40","薂薃薆薈",6,"薐",10,"薝",6,"薥薦薧薩薫薬薭薱",5,"薸薺",6,"藂",6,"藊",4,"藑藒"],["cb80","藔藖",5,"藝",6,"藥藦藧藨藪",14,"恕刷耍摔衰甩帅栓拴霜双爽谁水睡税吮瞬顺舜说硕朔烁斯撕嘶思私司丝死肆寺嗣四伺似饲巳松耸怂颂送宋讼诵搜艘擞嗽苏酥俗素速粟僳塑溯宿诉肃酸蒜算虽隋随绥髓碎岁穗遂隧祟孙损笋蓑梭唆缩琐索锁所塌他它她塔"],["cc40","藹藺藼藽藾蘀",4,"蘆",10,"蘒蘓蘔蘕蘗",15,"蘨蘪",13,"蘹蘺蘻蘽蘾蘿虀"],["cc80","虁",11,"虒虓處",4,"虛虜虝號虠虡虣",7,"獭挞蹋踏胎苔抬台泰酞太态汰坍摊贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭汤塘搪堂棠膛唐糖倘躺淌趟烫掏涛滔绦萄桃逃淘陶讨套特藤腾疼誊梯剔踢锑提题蹄啼体替嚏惕涕剃屉天添填田甜恬舔腆挑条迢眺跳贴铁帖厅听烃"],["cd40","虭虯虰虲",6,"蚃",6,"蚎",4,"蚔蚖",5,"蚞",4,"蚥蚦蚫蚭蚮蚲蚳蚷蚸蚹蚻",4,"蛁蛂蛃蛅蛈蛌蛍蛒蛓蛕蛖蛗蛚蛜"],["cd80","蛝蛠蛡蛢蛣蛥蛦蛧蛨蛪蛫蛬蛯蛵蛶蛷蛺蛻蛼蛽蛿蜁蜄蜅蜆蜋蜌蜎蜏蜐蜑蜔蜖汀廷停亭庭挺艇通桐酮瞳同铜彤童桶捅筒统痛偷投头透凸秃突图徒途涂屠土吐兔湍团推颓腿蜕褪退吞屯臀拖托脱鸵陀驮驼椭妥拓唾挖哇蛙洼娃瓦袜歪外豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕汪王亡枉网往旺望忘妄威"],["ce40","蜙蜛蜝蜟蜠蜤蜦蜧蜨蜪蜫蜬蜭蜯蜰蜲蜳蜵蜶蜸蜹蜺蜼蜽蝀",6,"蝊蝋蝍蝏蝐蝑蝒蝔蝕蝖蝘蝚",5,"蝡蝢蝦",7,"蝯蝱蝲蝳蝵"],["ce80","蝷蝸蝹蝺蝿螀螁螄螆螇螉螊螌螎",4,"螔螕螖螘",6,"螠",4,"巍微危韦违桅围唯惟为潍维苇萎委伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰卫瘟温蚊文闻纹吻稳紊问嗡翁瓮挝蜗涡窝我斡卧握沃巫呜钨乌污诬屋无芜梧吾吴毋武五捂午舞伍侮坞戊雾晤物勿务悟误昔熙析西硒矽晰嘻吸锡牺"],["cf40","螥螦螧螩螪螮螰螱螲螴螶螷螸螹螻螼螾螿蟁",4,"蟇蟈蟉蟌",4,"蟔",6,"蟜蟝蟞蟟蟡蟢蟣蟤蟦蟧蟨蟩蟫蟬蟭蟯",9],["cf80","蟺蟻蟼蟽蟿蠀蠁蠂蠄",5,"蠋",7,"蠔蠗蠘蠙蠚蠜",4,"蠣稀息希悉膝夕惜熄烯溪汐犀檄袭席习媳喜铣洗系隙戏细瞎虾匣霞辖暇峡侠狭下厦夏吓掀锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷限线相厢镶香箱襄湘乡翔祥详想响享项巷橡像向象萧硝霄削哮嚣销消宵淆晓"],["d040","蠤",13,"蠳",5,"蠺蠻蠽蠾蠿衁衂衃衆",5,"衎",5,"衕衖衘衚",6,"衦衧衪衭衯衱衳衴衵衶衸衹衺"],["d080","衻衼袀袃袆袇袉袊袌袎袏袐袑袓袔袕袗",4,"袝",4,"袣袥",5,"小孝校肖啸笑效楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑薪芯锌欣辛新忻心信衅星腥猩惺兴刑型形邢行醒幸杏性姓兄凶胸匈汹雄熊休修羞朽嗅锈秀袖绣墟戌需虚嘘须徐许蓄酗叙旭序畜恤絮婿绪续轩喧宣悬旋玄"],["d140","袬袮袯袰袲",4,"袸袹袺袻袽袾袿裀裃裄裇裈裊裋裌裍裏裐裑裓裖裗裚",4,"裠裡裦裧裩",6,"裲裵裶裷裺裻製裿褀褁褃",5],["d180","褉褋",4,"褑褔",4,"褜",4,"褢褣褤褦褧褨褩褬褭褮褯褱褲褳褵褷选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶"],["d240","褸",8,"襂襃襅",24,"襠",5,"襧",19,"襼"],["d280","襽襾覀覂覄覅覇",26,"摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐"],["d340","覢",30,"觃觍觓觔觕觗觘觙觛觝觟觠觡觢觤觧觨觩觪觬觭觮觰觱觲觴",6],["d380","觻",4,"訁",5,"計",21,"印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉"],["d440","訞",31,"訿",8,"詉",21],["d480","詟",25,"詺",6,"浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧"],["d540","誁",7,"誋",7,"誔",46],["d580","諃",32,"铡闸眨栅榨咋乍炸诈摘斋宅窄债寨瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽樟章彰漳张掌涨杖丈帐账仗胀瘴障招昭找沼赵照罩兆肇召遮折哲蛰辙者锗蔗这浙珍斟真甄砧臻贞针侦枕疹诊震振镇阵蒸挣睁征狰争怔整拯正政"],["d640","諤",34,"謈",27],["d680","謤謥謧",30,"帧症郑证芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒中盅忠钟衷终种肿重仲众舟周州洲诌粥轴肘帚咒皱宙昼骤珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑"],["d740","譆",31,"譧",4,"譭",25],["d780","讇",24,"讬讱讻诇诐诪谉谞住注祝驻抓爪拽专砖转撰赚篆桩庄装妆撞壮状椎锥追赘坠缀谆准捉拙卓桌琢茁酌啄着灼浊兹咨资姿滋淄孜紫仔籽滓子自渍字鬃棕踪宗综总纵邹走奏揍租足卒族祖诅阻组钻纂嘴醉最罪尊遵昨左佐柞做作坐座"],["d840","谸",8,"豂豃豄豅豈豊豋豍",7,"豖豗豘豙豛",5,"豣",6,"豬",6,"豴豵豶豷豻",6,"貃貄貆貇"],["d880","貈貋貍",6,"貕貖貗貙",20,"亍丌兀丐廿卅丕亘丞鬲孬噩丨禺丿匕乇夭爻卮氐囟胤馗毓睾鼗丶亟鼐乜乩亓芈孛啬嘏仄厍厝厣厥厮靥赝匚叵匦匮匾赜卦卣刂刈刎刭刳刿剀剌剞剡剜蒯剽劂劁劐劓冂罔亻仃仉仂仨仡仫仞伛仳伢佤仵伥伧伉伫佞佧攸佚佝"],["d940","貮",62],["d980","賭",32,"佟佗伲伽佶佴侑侉侃侏佾佻侪佼侬侔俦俨俪俅俚俣俜俑俟俸倩偌俳倬倏倮倭俾倜倌倥倨偾偃偕偈偎偬偻傥傧傩傺僖儆僭僬僦僮儇儋仝氽佘佥俎龠汆籴兮巽黉馘冁夔勹匍訇匐凫夙兕亠兖亳衮袤亵脔裒禀嬴蠃羸冫冱冽冼"],["da40","贎",14,"贠赑赒赗赟赥赨赩赪赬赮赯赱赲赸",8,"趂趃趆趇趈趉趌",4,"趒趓趕",9,"趠趡"],["da80","趢趤",12,"趲趶趷趹趻趽跀跁跂跅跇跈跉跊跍跐跒跓跔凇冖冢冥讠讦讧讪讴讵讷诂诃诋诏诎诒诓诔诖诘诙诜诟诠诤诨诩诮诰诳诶诹诼诿谀谂谄谇谌谏谑谒谔谕谖谙谛谘谝谟谠谡谥谧谪谫谮谯谲谳谵谶卩卺阝阢阡阱阪阽阼陂陉陔陟陧陬陲陴隈隍隗隰邗邛邝邙邬邡邴邳邶邺"],["db40","跕跘跙跜跠跡跢跥跦跧跩跭跮跰跱跲跴跶跼跾",6,"踆踇踈踋踍踎踐踑踒踓踕",7,"踠踡踤",4,"踫踭踰踲踳踴踶踷踸踻踼踾"],["db80","踿蹃蹅蹆蹌",4,"蹓",5,"蹚",11,"蹧蹨蹪蹫蹮蹱邸邰郏郅邾郐郄郇郓郦郢郜郗郛郫郯郾鄄鄢鄞鄣鄱鄯鄹酃酆刍奂劢劬劭劾哿勐勖勰叟燮矍廴凵凼鬯厶弁畚巯坌垩垡塾墼壅壑圩圬圪圳圹圮圯坜圻坂坩垅坫垆坼坻坨坭坶坳垭垤垌垲埏垧垴垓垠埕埘埚埙埒垸埴埯埸埤埝"],["dc40","蹳蹵蹷",4,"蹽蹾躀躂躃躄躆躈",6,"躑躒躓躕",6,"躝躟",11,"躭躮躰躱躳",6,"躻",7],["dc80","軃",10,"軏",21,"堋堍埽埭堀堞堙塄堠塥塬墁墉墚墀馨鼙懿艹艽艿芏芊芨芄芎芑芗芙芫芸芾芰苈苊苣芘芷芮苋苌苁芩芴芡芪芟苄苎芤苡茉苷苤茏茇苜苴苒苘茌苻苓茑茚茆茔茕苠苕茜荑荛荜茈莒茼茴茱莛荞茯荏荇荃荟荀茗荠茭茺茳荦荥"],["dd40","軥",62],["dd80","輤",32,"荨茛荩荬荪荭荮莰荸莳莴莠莪莓莜莅荼莶莩荽莸荻莘莞莨莺莼菁萁菥菘堇萘萋菝菽菖萜萸萑萆菔菟萏萃菸菹菪菅菀萦菰菡葜葑葚葙葳蒇蒈葺蒉葸萼葆葩葶蒌蒎萱葭蓁蓍蓐蓦蒽蓓蓊蒿蒺蓠蒡蒹蒴蒗蓥蓣蔌甍蔸蓰蔹蔟蔺"],["de40","轅",32,"轪辀辌辒辝辠辡辢辤辥辦辧辪辬辭辮辯農辳辴辵辷辸辺辻込辿迀迃迆"],["de80","迉",4,"迏迒迖迗迚迠迡迣迧迬迯迱迲迴迵迶迺迻迼迾迿逇逈逌逎逓逕逘蕖蔻蓿蓼蕙蕈蕨蕤蕞蕺瞢蕃蕲蕻薤薨薇薏蕹薮薜薅薹薷薰藓藁藜藿蘧蘅蘩蘖蘼廾弈夼奁耷奕奚奘匏尢尥尬尴扌扪抟抻拊拚拗拮挢拶挹捋捃掭揶捱捺掎掴捭掬掊捩掮掼揲揸揠揿揄揞揎摒揆掾摅摁搋搛搠搌搦搡摞撄摭撖"],["df40","這逜連逤逥逧",5,"逰",4,"逷逹逺逽逿遀遃遅遆遈",4,"過達違遖遙遚遜",5,"遤遦遧適遪遫遬遯",4,"遶",6,"遾邁"],["df80","還邅邆邇邉邊邌",4,"邒邔邖邘邚邜邞邟邠邤邥邧邨邩邫邭邲邷邼邽邿郀摺撷撸撙撺擀擐擗擤擢攉攥攮弋忒甙弑卟叱叽叩叨叻吒吖吆呋呒呓呔呖呃吡呗呙吣吲咂咔呷呱呤咚咛咄呶呦咝哐咭哂咴哒咧咦哓哔呲咣哕咻咿哌哙哚哜咩咪咤哝哏哞唛哧唠哽唔哳唢唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼"],["e040","郂郃郆郈郉郋郌郍郒郔郕郖郘郙郚郞郟郠郣郤郥郩郪郬郮郰郱郲郳郵郶郷郹郺郻郼郿鄀鄁鄃鄅",19,"鄚鄛鄜"],["e080","鄝鄟鄠鄡鄤",10,"鄰鄲",6,"鄺",8,"酄唷啖啵啶啷唳唰啜喋嗒喃喱喹喈喁喟啾嗖喑啻嗟喽喾喔喙嗪嗷嗉嘟嗑嗫嗬嗔嗦嗝嗄嗯嗥嗲嗳嗌嗍嗨嗵嗤辔嘞嘈嘌嘁嘤嘣嗾嘀嘧嘭噘嘹噗嘬噍噢噙噜噌噔嚆噤噱噫噻噼嚅嚓嚯囔囗囝囡囵囫囹囿圄圊圉圜帏帙帔帑帱帻帼"],["e140","酅酇酈酑酓酔酕酖酘酙酛酜酟酠酦酧酨酫酭酳酺酻酼醀",4,"醆醈醊醎醏醓",6,"醜",5,"醤",5,"醫醬醰醱醲醳醶醷醸醹醻"],["e180","醼",10,"釈釋釐釒",9,"針",8,"帷幄幔幛幞幡岌屺岍岐岖岈岘岙岑岚岜岵岢岽岬岫岱岣峁岷峄峒峤峋峥崂崃崧崦崮崤崞崆崛嵘崾崴崽嵬嵛嵯嵝嵫嵋嵊嵩嵴嶂嶙嶝豳嶷巅彳彷徂徇徉後徕徙徜徨徭徵徼衢彡犭犰犴犷犸狃狁狎狍狒狨狯狩狲狴狷猁狳猃狺"],["e240","釦",62],["e280","鈥",32,"狻猗猓猡猊猞猝猕猢猹猥猬猸猱獐獍獗獠獬獯獾舛夥飧夤夂饣饧",5,"饴饷饽馀馄馇馊馍馐馑馓馔馕庀庑庋庖庥庠庹庵庾庳赓廒廑廛廨廪膺忄忉忖忏怃忮怄忡忤忾怅怆忪忭忸怙怵怦怛怏怍怩怫怊怿怡恸恹恻恺恂"],["e340","鉆",45,"鉵",16],["e380","銆",7,"銏",24,"恪恽悖悚悭悝悃悒悌悛惬悻悱惝惘惆惚悴愠愦愕愣惴愀愎愫慊慵憬憔憧憷懔懵忝隳闩闫闱闳闵闶闼闾阃阄阆阈阊阋阌阍阏阒阕阖阗阙阚丬爿戕氵汔汜汊沣沅沐沔沌汨汩汴汶沆沩泐泔沭泷泸泱泗沲泠泖泺泫泮沱泓泯泾"],["e440","銨",5,"銯",24,"鋉",31],["e480","鋩",32,"洹洧洌浃浈洇洄洙洎洫浍洮洵洚浏浒浔洳涑浯涞涠浞涓涔浜浠浼浣渚淇淅淞渎涿淠渑淦淝淙渖涫渌涮渫湮湎湫溲湟溆湓湔渲渥湄滟溱溘滠漭滢溥溧溽溻溷滗溴滏溏滂溟潢潆潇漤漕滹漯漶潋潴漪漉漩澉澍澌潸潲潼潺濑"],["e540","錊",51,"錿",10],["e580","鍊",31,"鍫濉澧澹澶濂濡濮濞濠濯瀚瀣瀛瀹瀵灏灞宀宄宕宓宥宸甯骞搴寤寮褰寰蹇謇辶迓迕迥迮迤迩迦迳迨逅逄逋逦逑逍逖逡逵逶逭逯遄遑遒遐遨遘遢遛暹遴遽邂邈邃邋彐彗彖彘尻咫屐屙孱屣屦羼弪弩弭艴弼鬻屮妁妃妍妩妪妣"],["e640","鍬",34,"鎐",27],["e680","鎬",29,"鏋鏌鏍妗姊妫妞妤姒妲妯姗妾娅娆姝娈姣姘姹娌娉娲娴娑娣娓婀婧婊婕娼婢婵胬媪媛婷婺媾嫫媲嫒嫔媸嫠嫣嫱嫖嫦嫘嫜嬉嬗嬖嬲嬷孀尕尜孚孥孳孑孓孢驵驷驸驺驿驽骀骁骅骈骊骐骒骓骖骘骛骜骝骟骠骢骣骥骧纟纡纣纥纨纩"],["e740","鏎",7,"鏗",54],["e780","鐎",32,"纭纰纾绀绁绂绉绋绌绐绔绗绛绠绡绨绫绮绯绱绲缍绶绺绻绾缁缂缃缇缈缋缌缏缑缒缗缙缜缛缟缡",6,"缪缫缬缭缯",4,"缵幺畿巛甾邕玎玑玮玢玟珏珂珑玷玳珀珉珈珥珙顼琊珩珧珞玺珲琏琪瑛琦琥琨琰琮琬"],["e840","鐯",14,"鐿",43,"鑬鑭鑮鑯"],["e880","鑰",20,"钑钖钘铇铏铓铔铚铦铻锜锠琛琚瑁瑜瑗瑕瑙瑷瑭瑾璜璎璀璁璇璋璞璨璩璐璧瓒璺韪韫韬杌杓杞杈杩枥枇杪杳枘枧杵枨枞枭枋杷杼柰栉柘栊柩枰栌柙枵柚枳柝栀柃枸柢栎柁柽栲栳桠桡桎桢桄桤梃栝桕桦桁桧桀栾桊桉栩梵梏桴桷梓桫棂楮棼椟椠棹"],["e940","锧锳锽镃镈镋镕镚镠镮镴镵長",7,"門",42],["e980","閫",32,"椤棰椋椁楗棣椐楱椹楠楂楝榄楫榀榘楸椴槌榇榈槎榉楦楣楹榛榧榻榫榭槔榱槁槊槟榕槠榍槿樯槭樗樘橥槲橄樾檠橐橛樵檎橹樽樨橘橼檑檐檩檗檫猷獒殁殂殇殄殒殓殍殚殛殡殪轫轭轱轲轳轵轶轸轷轹轺轼轾辁辂辄辇辋"],["ea40","闌",27,"闬闿阇阓阘阛阞阠阣",6,"阫阬阭阯阰阷阸阹阺阾陁陃陊陎陏陑陒陓陖陗"],["ea80","陘陙陚陜陝陞陠陣陥陦陫陭",4,"陳陸",12,"隇隉隊辍辎辏辘辚軎戋戗戛戟戢戡戥戤戬臧瓯瓴瓿甏甑甓攴旮旯旰昊昙杲昃昕昀炅曷昝昴昱昶昵耆晟晔晁晏晖晡晗晷暄暌暧暝暾曛曜曦曩贲贳贶贻贽赀赅赆赈赉赇赍赕赙觇觊觋觌觎觏觐觑牮犟牝牦牯牾牿犄犋犍犏犒挈挲掰"],["eb40","隌階隑隒隓隕隖隚際隝",9,"隨",7,"隱隲隴隵隷隸隺隻隿雂雃雈雊雋雐雑雓雔雖",9,"雡",6,"雫"],["eb80","雬雭雮雰雱雲雴雵雸雺電雼雽雿霂霃霅霊霋霌霐霑霒霔霕霗",4,"霝霟霠搿擘耄毪毳毽毵毹氅氇氆氍氕氘氙氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂胄胙胍胗朐胝胫胱胴胭脍脎胲胼朕脒豚脶脞脬脘脲腈腌腓腴腙腚腱腠腩腼腽腭腧塍媵膈膂膑滕膣膪臌朦臊膻"],["ec40","霡",8,"霫霬霮霯霱霳",4,"霺霻霼霽霿",18,"靔靕靗靘靚靜靝靟靣靤靦靧靨靪",7],["ec80","靲靵靷",4,"靽",7,"鞆",4,"鞌鞎鞏鞐鞓鞕鞖鞗鞙",4,"臁膦欤欷欹歃歆歙飑飒飓飕飙飚殳彀毂觳斐齑斓於旆旄旃旌旎旒旖炀炜炖炝炻烀炷炫炱烨烊焐焓焖焯焱煳煜煨煅煲煊煸煺熘熳熵熨熠燠燔燧燹爝爨灬焘煦熹戾戽扃扈扉礻祀祆祉祛祜祓祚祢祗祠祯祧祺禅禊禚禧禳忑忐"],["ed40","鞞鞟鞡鞢鞤",6,"鞬鞮鞰鞱鞳鞵",46],["ed80","韤韥韨韮",4,"韴韷",23,"怼恝恚恧恁恙恣悫愆愍慝憩憝懋懑戆肀聿沓泶淼矶矸砀砉砗砘砑斫砭砜砝砹砺砻砟砼砥砬砣砩硎硭硖硗砦硐硇硌硪碛碓碚碇碜碡碣碲碹碥磔磙磉磬磲礅磴礓礤礞礴龛黹黻黼盱眄眍盹眇眈眚眢眙眭眦眵眸睐睑睇睃睚睨"],["ee40","頏",62],["ee80","顎",32,"睢睥睿瞍睽瞀瞌瞑瞟瞠瞰瞵瞽町畀畎畋畈畛畲畹疃罘罡罟詈罨罴罱罹羁罾盍盥蠲钅钆钇钋钊钌钍钏钐钔钗钕钚钛钜钣钤钫钪钭钬钯钰钲钴钶",4,"钼钽钿铄铈",6,"铐铑铒铕铖铗铙铘铛铞铟铠铢铤铥铧铨铪"],["ef40","顯",5,"颋颎颒颕颙颣風",37,"飏飐飔飖飗飛飜飝飠",4],["ef80","飥飦飩",30,"铩铫铮铯铳铴铵铷铹铼铽铿锃锂锆锇锉锊锍锎锏锒",4,"锘锛锝锞锟锢锪锫锩锬锱锲锴锶锷锸锼锾锿镂锵镄镅镆镉镌镎镏镒镓镔镖镗镘镙镛镞镟镝镡镢镤",8,"镯镱镲镳锺矧矬雉秕秭秣秫稆嵇稃稂稞稔"],["f040","餈",4,"餎餏餑",28,"餯",26],["f080","饊",9,"饖",12,"饤饦饳饸饹饻饾馂馃馉稹稷穑黏馥穰皈皎皓皙皤瓞瓠甬鸠鸢鸨",4,"鸲鸱鸶鸸鸷鸹鸺鸾鹁鹂鹄鹆鹇鹈鹉鹋鹌鹎鹑鹕鹗鹚鹛鹜鹞鹣鹦",6,"鹱鹭鹳疒疔疖疠疝疬疣疳疴疸痄疱疰痃痂痖痍痣痨痦痤痫痧瘃痱痼痿瘐瘀瘅瘌瘗瘊瘥瘘瘕瘙"],["f140","馌馎馚",10,"馦馧馩",47],["f180","駙",32,"瘛瘼瘢瘠癀瘭瘰瘿瘵癃瘾瘳癍癞癔癜癖癫癯翊竦穸穹窀窆窈窕窦窠窬窨窭窳衤衩衲衽衿袂袢裆袷袼裉裢裎裣裥裱褚裼裨裾裰褡褙褓褛褊褴褫褶襁襦襻疋胥皲皴矜耒耔耖耜耠耢耥耦耧耩耨耱耋耵聃聆聍聒聩聱覃顸颀颃"],["f240","駺",62],["f280","騹",32,"颉颌颍颏颔颚颛颞颟颡颢颥颦虍虔虬虮虿虺虼虻蚨蚍蚋蚬蚝蚧蚣蚪蚓蚩蚶蛄蚵蛎蚰蚺蚱蚯蛉蛏蚴蛩蛱蛲蛭蛳蛐蜓蛞蛴蛟蛘蛑蜃蜇蛸蜈蜊蜍蜉蜣蜻蜞蜥蜮蜚蜾蝈蜴蜱蜩蜷蜿螂蜢蝽蝾蝻蝠蝰蝌蝮螋蝓蝣蝼蝤蝙蝥螓螯螨蟒"],["f340","驚",17,"驲骃骉骍骎骔骕骙骦骩",6,"骲骳骴骵骹骻骽骾骿髃髄髆",4,"髍髎髏髐髒體髕髖髗髙髚髛髜"],["f380","髝髞髠髢髣髤髥髧髨髩髪髬髮髰",8,"髺髼",6,"鬄鬅鬆蟆螈螅螭螗螃螫蟥螬螵螳蟋蟓螽蟑蟀蟊蟛蟪蟠蟮蠖蠓蟾蠊蠛蠡蠹蠼缶罂罄罅舐竺竽笈笃笄笕笊笫笏筇笸笪笙笮笱笠笥笤笳笾笞筘筚筅筵筌筝筠筮筻筢筲筱箐箦箧箸箬箝箨箅箪箜箢箫箴篑篁篌篝篚篥篦篪簌篾篼簏簖簋"],["f440","鬇鬉",5,"鬐鬑鬒鬔",10,"鬠鬡鬢鬤",10,"鬰鬱鬳",7,"鬽鬾鬿魀魆魊魋魌魎魐魒魓魕",5],["f480","魛",32,"簟簪簦簸籁籀臾舁舂舄臬衄舡舢舣舭舯舨舫舸舻舳舴舾艄艉艋艏艚艟艨衾袅袈裘裟襞羝羟羧羯羰羲籼敉粑粝粜粞粢粲粼粽糁糇糌糍糈糅糗糨艮暨羿翎翕翥翡翦翩翮翳糸絷綦綮繇纛麸麴赳趄趔趑趱赧赭豇豉酊酐酎酏酤"],["f540","魼",62],["f580","鮻",32,"酢酡酰酩酯酽酾酲酴酹醌醅醐醍醑醢醣醪醭醮醯醵醴醺豕鹾趸跫踅蹙蹩趵趿趼趺跄跖跗跚跞跎跏跛跆跬跷跸跣跹跻跤踉跽踔踝踟踬踮踣踯踺蹀踹踵踽踱蹉蹁蹂蹑蹒蹊蹰蹶蹼蹯蹴躅躏躔躐躜躞豸貂貊貅貘貔斛觖觞觚觜"],["f640","鯜",62],["f680","鰛",32,"觥觫觯訾謦靓雩雳雯霆霁霈霏霎霪霭霰霾龀龃龅",5,"龌黾鼋鼍隹隼隽雎雒瞿雠銎銮鋈錾鍪鏊鎏鐾鑫鱿鲂鲅鲆鲇鲈稣鲋鲎鲐鲑鲒鲔鲕鲚鲛鲞",5,"鲥",4,"鲫鲭鲮鲰",7,"鲺鲻鲼鲽鳄鳅鳆鳇鳊鳋"],["f740","鰼",62],["f780","鱻鱽鱾鲀鲃鲄鲉鲊鲌鲏鲓鲖鲗鲘鲙鲝鲪鲬鲯鲹鲾",4,"鳈鳉鳑鳒鳚鳛鳠鳡鳌",4,"鳓鳔鳕鳗鳘鳙鳜鳝鳟鳢靼鞅鞑鞒鞔鞯鞫鞣鞲鞴骱骰骷鹘骶骺骼髁髀髅髂髋髌髑魅魃魇魉魈魍魑飨餍餮饕饔髟髡髦髯髫髻髭髹鬈鬏鬓鬟鬣麽麾縻麂麇麈麋麒鏖麝麟黛黜黝黠黟黢黩黧黥黪黯鼢鼬鼯鼹鼷鼽鼾齄"],["f840","鳣",62],["f880","鴢",32],["f940","鵃",62],["f980","鶂",32],["fa40","鶣",62],["fa80","鷢",32],["fb40","鸃",27,"鸤鸧鸮鸰鸴鸻鸼鹀鹍鹐鹒鹓鹔鹖鹙鹝鹟鹠鹡鹢鹥鹮鹯鹲鹴",9,"麀"],["fb80","麁麃麄麅麆麉麊麌",5,"麔",8,"麞麠",5,"麧麨麩麪"],["fc40","麫",8,"麵麶麷麹麺麼麿",4,"黅黆黇黈黊黋黌黐黒黓黕黖黗黙黚點黡黣黤黦黨黫黬黭黮黰",8,"黺黽黿",6],["fc80","鼆",4,"鼌鼏鼑鼒鼔鼕鼖鼘鼚",5,"鼡鼣",8,"鼭鼮鼰鼱"],["fd40","鼲",4,"鼸鼺鼼鼿",4,"齅",10,"齒",38],["fd80","齹",5,"龁龂龍",11,"龜龝龞龡",4,"郎凉秊裏隣"],["fe40","兀嗀﨎﨏﨑﨓﨔礼﨟蘒﨡﨣﨤﨧﨨﨩"]]}});var require_gbk_added2=__commonJS({"node_modules/raw-body/node_modules/iconv-lite/encodings/tables/gbk-added.json"(exports2,module2){module2.exports=[["a140","",62],["a180","",32],["a240","",62],["a280","",32],["a2ab","",5],["a2e3","€"],["a2ef",""],["a2fd",""],["a340","",62],["a380","",31,"　"],["a440","",62],["a480","",32],["a4f4","",10],["a540","",62],["a580","",32],["a5f7","",7],["a640","",62],["a680","",32],["a6b9","",7],["a6d9","",6],["a6ec",""],["a6f3",""],["a6f6","",8],["a740","",62],["a780","",32],["a7c2","",14],["a7f2","",12],["a896","",10],["a8bc",""],["a8bf","ǹ"],["a8c1",""],["a8ea","",20],["a958",""],["a95b",""],["a95d",""],["a989","〾⿰",11],["a997","",12],["a9f0","",14],["aaa1","",93],["aba1","",93],["aca1","",93],["ada1","",93],["aea1","",93],["afa1","",93],["d7fa","",4],["f8a1","",93],["f9a1","",93],["faa1","",93],["fba1","",93],["fca1","",93],["fda1","",93],["fe50","⺁⺄㑳㑇⺈⺋㖞㘚㘎⺌⺗㥮㤘㧏㧟㩳㧐㭎㱮㳠⺧⺪䁖䅟⺮䌷⺳⺶⺷䎱䎬⺻䏝䓖䙡䙌"],["fe80","䜣䜩䝼䞍⻊䥇䥺䥽䦂䦃䦅䦆䦟䦛䦷䦶䲣䲟䲠䲡䱷䲢䴓",6,"䶮",93]]}});var require_gb18030_ranges2=__commonJS({"node_modules/raw-body/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json"(exports2,module2){module2.exports={uChars:[128,165,169,178,184,216,226,235,238,244,248,251,253,258,276,284,300,325,329,334,364,463,465,467,469,471,473,475,477,506,594,610,712,716,730,930,938,962,970,1026,1104,1106,8209,8215,8218,8222,8231,8241,8244,8246,8252,8365,8452,8454,8458,8471,8482,8556,8570,8596,8602,8713,8720,8722,8726,8731,8737,8740,8742,8748,8751,8760,8766,8777,8781,8787,8802,8808,8816,8854,8858,8870,8896,8979,9322,9372,9548,9588,9616,9622,9634,9652,9662,9672,9676,9680,9702,9735,9738,9793,9795,11906,11909,11913,11917,11928,11944,11947,11951,11956,11960,11964,11979,12284,12292,12312,12319,12330,12351,12436,12447,12535,12543,12586,12842,12850,12964,13200,13215,13218,13253,13263,13267,13270,13384,13428,13727,13839,13851,14617,14703,14801,14816,14964,15183,15471,15585,16471,16736,17208,17325,17330,17374,17623,17997,18018,18212,18218,18301,18318,18760,18811,18814,18820,18823,18844,18848,18872,19576,19620,19738,19887,40870,59244,59336,59367,59413,59417,59423,59431,59437,59443,59452,59460,59478,59493,63789,63866,63894,63976,63986,64016,64018,64021,64025,64034,64037,64042,65074,65093,65107,65112,65127,65132,65375,65510,65536],gbChars:[0,36,38,45,50,81,89,95,96,100,103,104,105,109,126,133,148,172,175,179,208,306,307,308,309,310,311,312,313,341,428,443,544,545,558,741,742,749,750,805,819,820,7922,7924,7925,7927,7934,7943,7944,7945,7950,8062,8148,8149,8152,8164,8174,8236,8240,8262,8264,8374,8380,8381,8384,8388,8390,8392,8393,8394,8396,8401,8406,8416,8419,8424,8437,8439,8445,8482,8485,8496,8521,8603,8936,8946,9046,9050,9063,9066,9076,9092,9100,9108,9111,9113,9131,9162,9164,9218,9219,11329,11331,11334,11336,11346,11361,11363,11366,11370,11372,11375,11389,11682,11686,11687,11692,11694,11714,11716,11723,11725,11730,11736,11982,11989,12102,12336,12348,12350,12384,12393,12395,12397,12510,12553,12851,12962,12973,13738,13823,13919,13933,14080,14298,14585,14698,15583,15847,16318,16434,16438,16481,16729,17102,17122,17315,17320,17402,17418,17859,17909,17911,17915,17916,17936,17939,17961,18664,18703,18814,18962,19043,33469,33470,33471,33484,33485,33490,33497,33501,33505,33513,33520,33536,33550,37845,37921,37948,38029,38038,38064,38065,38066,38069,38075,38076,38078,39108,39109,39113,39114,39115,39116,39265,39394,189e3]}}});var require_cp9492=__commonJS({"node_modules/raw-body/node_modules/iconv-lite/encodings/tables/cp949.json"(exports2,module2){module2.exports=[["0","\0",127],["8141","갂갃갅갆갋",4,"갘갞갟갡갢갣갥",6,"갮갲갳갴"],["8161","갵갶갷갺갻갽갾갿걁",9,"걌걎",5,"걕"],["8181","걖걗걙걚걛걝",18,"걲걳걵걶걹걻",4,"겂겇겈겍겎겏겑겒겓겕",6,"겞겢",5,"겫겭겮겱",6,"겺겾겿곀곂곃곅곆곇곉곊곋곍",7,"곖곘",7,"곢곣곥곦곩곫곭곮곲곴곷",4,"곾곿괁괂괃괅괇",4,"괎괐괒괓"],["8241","괔괕괖괗괙괚괛괝괞괟괡",7,"괪괫괮",5],["8261","괶괷괹괺괻괽",6,"굆굈굊",5,"굑굒굓굕굖굗"],["8281","굙",7,"굢굤",7,"굮굯굱굲굷굸굹굺굾궀궃",4,"궊궋궍궎궏궑",10,"궞",5,"궥",17,"궸",7,"귂귃귅귆귇귉",6,"귒귔",7,"귝귞귟귡귢귣귥",18],["8341","귺귻귽귾긂",5,"긊긌긎",5,"긕",7],["8361","긝",18,"긲긳긵긶긹긻긼"],["8381","긽긾긿깂깄깇깈깉깋깏깑깒깓깕깗",4,"깞깢깣깤깦깧깪깫깭깮깯깱",6,"깺깾",5,"꺆",5,"꺍",46,"꺿껁껂껃껅",6,"껎껒",5,"껚껛껝",8],["8441","껦껧껩껪껬껮",5,"껵껶껷껹껺껻껽",8],["8461","꼆꼉꼊꼋꼌꼎꼏꼑",18],["8481","꼤",7,"꼮꼯꼱꼳꼵",6,"꼾꽀꽄꽅꽆꽇꽊",5,"꽑",10,"꽞",5,"꽦",18,"꽺",5,"꾁꾂꾃꾅꾆꾇꾉",6,"꾒꾓꾔꾖",5,"꾝",26,"꾺꾻꾽꾾"],["8541","꾿꿁",5,"꿊꿌꿏",4,"꿕",6,"꿝",4],["8561","꿢",5,"꿪",5,"꿲꿳꿵꿶꿷꿹",6,"뀂뀃"],["8581","뀅",6,"뀍뀎뀏뀑뀒뀓뀕",6,"뀞",9,"뀩",26,"끆끇끉끋끍끏끐끑끒끖끘끚끛끜끞",29,"끾끿낁낂낃낅",6,"낎낐낒",5,"낛낝낞낣낤"],["8641","낥낦낧낪낰낲낶낷낹낺낻낽",6,"냆냊",5,"냒"],["8661","냓냕냖냗냙",6,"냡냢냣냤냦",10],["8681","냱",22,"넊넍넎넏넑넔넕넖넗넚넞",4,"넦넧넩넪넫넭",6,"넶넺",5,"녂녃녅녆녇녉",6,"녒녓녖녗녙녚녛녝녞녟녡",22,"녺녻녽녾녿놁놃",4,"놊놌놎놏놐놑놕놖놗놙놚놛놝"],["8741","놞",9,"놩",15],["8761","놹",18,"뇍뇎뇏뇑뇒뇓뇕"],["8781","뇖",5,"뇞뇠",7,"뇪뇫뇭뇮뇯뇱",7,"뇺뇼뇾",5,"눆눇눉눊눍",6,"눖눘눚",5,"눡",18,"눵",6,"눽",26,"뉙뉚뉛뉝뉞뉟뉡",6,"뉪",4],["8841","뉯",4,"뉶",5,"뉽",6,"늆늇늈늊",4],["8861","늏늒늓늕늖늗늛",4,"늢늤늧늨늩늫늭늮늯늱늲늳늵늶늷"],["8881","늸",15,"닊닋닍닎닏닑닓",4,"닚닜닞닟닠닡닣닧닩닪닰닱닲닶닼닽닾댂댃댅댆댇댉",6,"댒댖",5,"댝",54,"덗덙덚덝덠덡덢덣"],["8941","덦덨덪덬덭덯덲덳덵덶덷덹",6,"뎂뎆",5,"뎍"],["8961","뎎뎏뎑뎒뎓뎕",10,"뎢",5,"뎩뎪뎫뎭"],["8981","뎮",21,"돆돇돉돊돍돏돑돒돓돖돘돚돜돞돟돡돢돣돥돦돧돩",18,"돽",18,"됑",6,"됙됚됛됝됞됟됡",6,"됪됬",7,"됵",15],["8a41","둅",10,"둒둓둕둖둗둙",6,"둢둤둦"],["8a61","둧",4,"둭",18,"뒁뒂"],["8a81","뒃",4,"뒉",19,"뒞",5,"뒥뒦뒧뒩뒪뒫뒭",7,"뒶뒸뒺",5,"듁듂듃듅듆듇듉",6,"듑듒듓듔듖",5,"듞듟듡듢듥듧",4,"듮듰듲",5,"듹",26,"딖딗딙딚딝"],["8b41","딞",5,"딦딫",4,"딲딳딵딶딷딹",6,"땂땆"],["8b61","땇땈땉땊땎땏땑땒땓땕",6,"땞땢",8],["8b81","땫",52,"떢떣떥떦떧떩떬떭떮떯떲떶",4,"떾떿뗁뗂뗃뗅",6,"뗎뗒",5,"뗙",18,"뗭",18],["8c41","똀",15,"똒똓똕똖똗똙",4],["8c61","똞",6,"똦",5,"똭",6,"똵",5],["8c81","똻",12,"뙉",26,"뙥뙦뙧뙩",50,"뚞뚟뚡뚢뚣뚥",5,"뚭뚮뚯뚰뚲",16],["8d41","뛃",16,"뛕",8],["8d61","뛞",17,"뛱뛲뛳뛵뛶뛷뛹뛺"],["8d81","뛻",4,"뜂뜃뜄뜆",33,"뜪뜫뜭뜮뜱",6,"뜺뜼",7,"띅띆띇띉띊띋띍",6,"띖",9,"띡띢띣띥띦띧띩",6,"띲띴띶",5,"띾띿랁랂랃랅",6,"랎랓랔랕랚랛랝랞"],["8e41","랟랡",6,"랪랮",5,"랶랷랹",8],["8e61","럂",4,"럈럊",19],["8e81","럞",13,"럮럯럱럲럳럵",6,"럾렂",4,"렊렋렍렎렏렑",6,"렚렜렞",5,"렦렧렩렪렫렭",6,"렶렺",5,"롁롂롃롅",11,"롒롔",7,"롞롟롡롢롣롥",6,"롮롰롲",5,"롹롺롻롽",7],["8f41","뢅",7,"뢎",17],["8f61","뢠",7,"뢩",6,"뢱뢲뢳뢵뢶뢷뢹",4],["8f81","뢾뢿룂룄룆",5,"룍룎룏룑룒룓룕",7,"룞룠룢",5,"룪룫룭룮룯룱",6,"룺룼룾",5,"뤅",18,"뤙",6,"뤡",26,"뤾뤿륁륂륃륅",6,"륍륎륐륒",5],["9041","륚륛륝륞륟륡",6,"륪륬륮",5,"륶륷륹륺륻륽"],["9061","륾",5,"릆릈릋릌릏",15],["9081","릟",12,"릮릯릱릲릳릵",6,"릾맀맂",5,"맊맋맍맓",4,"맚맜맟맠맢맦맧맩맪맫맭",6,"맶맻",4,"먂",5,"먉",11,"먖",33,"먺먻먽먾먿멁멃멄멅멆"],["9141","멇멊멌멏멐멑멒멖멗멙멚멛멝",6,"멦멪",5],["9161","멲멳멵멶멷멹",9,"몆몈몉몊몋몍",5],["9181","몓",20,"몪몭몮몯몱몳",4,"몺몼몾",5,"뫅뫆뫇뫉",14,"뫚",33,"뫽뫾뫿묁묂묃묅",7,"묎묐묒",5,"묙묚묛묝묞묟묡",6],["9241","묨묪묬",7,"묷묹묺묿",4,"뭆뭈뭊뭋뭌뭎뭑뭒"],["9261","뭓뭕뭖뭗뭙",7,"뭢뭤",7,"뭭",4],["9281","뭲",21,"뮉뮊뮋뮍뮎뮏뮑",18,"뮥뮦뮧뮩뮪뮫뮭",6,"뮵뮶뮸",7,"믁믂믃믅믆믇믉",6,"믑믒믔",35,"믺믻믽믾밁"],["9341","밃",4,"밊밎밐밒밓밙밚밠밡밢밣밦밨밪밫밬밮밯밲밳밵"],["9361","밶밷밹",6,"뱂뱆뱇뱈뱊뱋뱎뱏뱑",8],["9381","뱚뱛뱜뱞",37,"벆벇벉벊벍벏",4,"벖벘벛",4,"벢벣벥벦벩",6,"벲벶",5,"벾벿볁볂볃볅",7,"볎볒볓볔볖볗볙볚볛볝",22,"볷볹볺볻볽"],["9441","볾",5,"봆봈봊",5,"봑봒봓봕",8],["9461","봞",5,"봥",6,"봭",12],["9481","봺",5,"뵁",6,"뵊뵋뵍뵎뵏뵑",6,"뵚",9,"뵥뵦뵧뵩",22,"붂붃붅붆붋",4,"붒붔붖붗붘붛붝",6,"붥",10,"붱",6,"붹",24],["9541","뷒뷓뷖뷗뷙뷚뷛뷝",11,"뷪",5,"뷱"],["9561","뷲뷳뷵뷶뷷뷹",6,"븁븂븄븆",5,"븎븏븑븒븓"],["9581","븕",6,"븞븠",35,"빆빇빉빊빋빍빏",4,"빖빘빜빝빞빟빢빣빥빦빧빩빫",4,"빲빶",4,"빾빿뺁뺂뺃뺅",6,"뺎뺒",5,"뺚",13,"뺩",14],["9641","뺸",23,"뻒뻓"],["9661","뻕뻖뻙",6,"뻡뻢뻦",5,"뻭",8],["9681","뻶",10,"뼂",5,"뼊",13,"뼚뼞",33,"뽂뽃뽅뽆뽇뽉",6,"뽒뽓뽔뽖",44],["9741","뾃",16,"뾕",8],["9761","뾞",17,"뾱",7],["9781","뾹",11,"뿆",5,"뿎뿏뿑뿒뿓뿕",6,"뿝뿞뿠뿢",89,"쀽쀾쀿"],["9841","쁀",16,"쁒",5,"쁙쁚쁛"],["9861","쁝쁞쁟쁡",6,"쁪",15],["9881","쁺",21,"삒삓삕삖삗삙",6,"삢삤삦",5,"삮삱삲삷",4,"삾샂샃샄샆샇샊샋샍샎샏샑",6,"샚샞",5,"샦샧샩샪샫샭",6,"샶샸샺",5,"섁섂섃섅섆섇섉",6,"섑섒섓섔섖",5,"섡섢섥섨섩섪섫섮"],["9941","섲섳섴섵섷섺섻섽섾섿셁",6,"셊셎",5,"셖셗"],["9961","셙셚셛셝",6,"셦셪",5,"셱셲셳셵셶셷셹셺셻"],["9981","셼",8,"솆",5,"솏솑솒솓솕솗",4,"솞솠솢솣솤솦솧솪솫솭솮솯솱",11,"솾",5,"쇅쇆쇇쇉쇊쇋쇍",6,"쇕쇖쇙",6,"쇡쇢쇣쇥쇦쇧쇩",6,"쇲쇴",7,"쇾쇿숁숂숃숅",6,"숎숐숒",5,"숚숛숝숞숡숢숣"],["9a41","숤숥숦숧숪숬숮숰숳숵",16],["9a61","쉆쉇쉉",6,"쉒쉓쉕쉖쉗쉙",6,"쉡쉢쉣쉤쉦"],["9a81","쉧",4,"쉮쉯쉱쉲쉳쉵",6,"쉾슀슂",5,"슊",5,"슑",6,"슙슚슜슞",5,"슦슧슩슪슫슮",5,"슶슸슺",33,"싞싟싡싢싥",5,"싮싰싲싳싴싵싷싺싽싾싿쌁",6,"쌊쌋쌎쌏"],["9b41","쌐쌑쌒쌖쌗쌙쌚쌛쌝",6,"쌦쌧쌪",8],["9b61","쌳",17,"썆",7],["9b81","썎",25,"썪썫썭썮썯썱썳",4,"썺썻썾",5,"쎅쎆쎇쎉쎊쎋쎍",50,"쏁",22,"쏚"],["9c41","쏛쏝쏞쏡쏣",4,"쏪쏫쏬쏮",5,"쏶쏷쏹",5],["9c61","쏿",8,"쐉",6,"쐑",9],["9c81","쐛",8,"쐥",6,"쐭쐮쐯쐱쐲쐳쐵",6,"쐾",9,"쑉",26,"쑦쑧쑩쑪쑫쑭",6,"쑶쑷쑸쑺",5,"쒁",18,"쒕",6,"쒝",12],["9d41","쒪",13,"쒹쒺쒻쒽",8],["9d61","쓆",25],["9d81","쓠",8,"쓪",5,"쓲쓳쓵쓶쓷쓹쓻쓼쓽쓾씂",9,"씍씎씏씑씒씓씕",6,"씝",10,"씪씫씭씮씯씱",6,"씺씼씾",5,"앆앇앋앏앐앑앒앖앚앛앜앟앢앣앥앦앧앩",6,"앲앶",5,"앾앿얁얂얃얅얆얈얉얊얋얎얐얒얓얔"],["9e41","얖얙얚얛얝얞얟얡",7,"얪",9,"얶"],["9e61","얷얺얿",4,"엋엍엏엒엓엕엖엗엙",6,"엢엤엦엧"],["9e81","엨엩엪엫엯엱엲엳엵엸엹엺엻옂옃옄옉옊옋옍옎옏옑",6,"옚옝",6,"옦옧옩옪옫옯옱옲옶옸옺옼옽옾옿왂왃왅왆왇왉",6,"왒왖",5,"왞왟왡",10,"왭왮왰왲",5,"왺왻왽왾왿욁",6,"욊욌욎",5,"욖욗욙욚욛욝",6,"욦"],["9f41","욨욪",5,"욲욳욵욶욷욻",4,"웂웄웆",5,"웎"],["9f61","웏웑웒웓웕",6,"웞웟웢",5,"웪웫웭웮웯웱웲"],["9f81","웳",4,"웺웻웼웾",5,"윆윇윉윊윋윍",6,"윖윘윚",5,"윢윣윥윦윧윩",6,"윲윴윶윸윹윺윻윾윿읁읂읃읅",4,"읋읎읐읙읚읛읝읞읟읡",6,"읩읪읬",7,"읶읷읹읺읻읿잀잁잂잆잋잌잍잏잒잓잕잙잛",4,"잢잧",4,"잮잯잱잲잳잵잶잷"],["a041","잸잹잺잻잾쟂",5,"쟊쟋쟍쟏쟑",6,"쟙쟚쟛쟜"],["a061","쟞",5,"쟥쟦쟧쟩쟪쟫쟭",13],["a081","쟻",4,"젂젃젅젆젇젉젋",4,"젒젔젗",4,"젞젟젡젢젣젥",6,"젮젰젲",5,"젹젺젻젽젾젿졁",6,"졊졋졎",5,"졕",26,"졲졳졵졶졷졹졻",4,"좂좄좈좉좊좎",5,"좕",7,"좞좠좢좣좤"],["a141","좥좦좧좩",18,"좾좿죀죁"],["a161","죂죃죅죆죇죉죊죋죍",6,"죖죘죚",5,"죢죣죥"],["a181","죦",14,"죶",5,"죾죿줁줂줃줇",4,"줎　、。·‥…¨〃­―∥＼∼‘’“”〔〕〈",9,"±×÷≠≤≥∞∴°′″℃Å￠￡￥♂♀∠⊥⌒∂∇≡≒§※☆★○●◎◇◆□■△▲▽▼→←↑↓↔〓≪≫√∽∝∵∫∬∈∋⊆⊇⊂⊃∪∩∧∨￢"],["a241","줐줒",5,"줙",18],["a261","줭",6,"줵",18],["a281","쥈",7,"쥒쥓쥕쥖쥗쥙",6,"쥢쥤",7,"쥭쥮쥯⇒⇔∀∃´～ˇ˘˝˚˙¸˛¡¿ː∮∑∏¤℉‰◁◀▷▶♤♠♡♥♧♣⊙◈▣◐◑▒▤▥▨▧▦▩♨☏☎☜☞¶†‡↕↗↙↖↘♭♩♪♬㉿㈜№㏇™㏂㏘℡€®"],["a341","쥱쥲쥳쥵",6,"쥽",10,"즊즋즍즎즏"],["a361","즑",6,"즚즜즞",16],["a381","즯",16,"짂짃짅짆짉짋",4,"짒짔짗짘짛！",58,"￦］",32,"￣"],["a441","짞짟짡짣짥짦짨짩짪짫짮짲",5,"짺짻짽짾짿쨁쨂쨃쨄"],["a461","쨅쨆쨇쨊쨎",5,"쨕쨖쨗쨙",12],["a481","쨦쨧쨨쨪",28,"ㄱ",93],["a541","쩇",4,"쩎쩏쩑쩒쩓쩕",6,"쩞쩢",5,"쩩쩪"],["a561","쩫",17,"쩾",5,"쪅쪆"],["a581","쪇",16,"쪙",14,"ⅰ",9],["a5b0","Ⅰ",9],["a5c1","Α",16,"Σ",6],["a5e1","α",16,"σ",6],["a641","쪨",19,"쪾쪿쫁쫂쫃쫅"],["a661","쫆",5,"쫎쫐쫒쫔쫕쫖쫗쫚",5,"쫡",6],["a681","쫨쫩쫪쫫쫭",6,"쫵",18,"쬉쬊─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂┒┑┚┙┖┕┎┍┞┟┡┢┦┧┩┪┭┮┱┲┵┶┹┺┽┾╀╁╃",7],["a741","쬋",4,"쬑쬒쬓쬕쬖쬗쬙",6,"쬢",7],["a761","쬪",22,"쭂쭃쭄"],["a781","쭅쭆쭇쭊쭋쭍쭎쭏쭑",6,"쭚쭛쭜쭞",5,"쭥",7,"㎕㎖㎗ℓ㎘㏄㎣㎤㎥㎦㎙",9,"㏊㎍㎎㎏㏏㎈㎉㏈㎧㎨㎰",9,"㎀",4,"㎺",5,"㎐",4,"Ω㏀㏁㎊㎋㎌㏖㏅㎭㎮㎯㏛㎩㎪㎫㎬㏝㏐㏓㏃㏉㏜㏆"],["a841","쭭",10,"쭺",14],["a861","쮉",18,"쮝",6],["a881","쮤",19,"쮹",11,"ÆÐªĦ"],["a8a6","Ĳ"],["a8a8","ĿŁØŒºÞŦŊ"],["a8b1","㉠",27,"ⓐ",25,"①",14,"½⅓⅔¼¾⅛⅜⅝⅞"],["a941","쯅",14,"쯕",10],["a961","쯠쯡쯢쯣쯥쯦쯨쯪",18],["a981","쯽",14,"찎찏찑찒찓찕",6,"찞찟찠찣찤æđðħıĳĸŀłøœßþŧŋŉ㈀",27,"⒜",25,"⑴",14,"¹²³⁴ⁿ₁₂₃₄"],["aa41","찥찦찪찫찭찯찱",6,"찺찿",4,"챆챇챉챊챋챍챎"],["aa61","챏",4,"챖챚",5,"챡챢챣챥챧챩",6,"챱챲"],["aa81","챳챴챶",29,"ぁ",82],["ab41","첔첕첖첗첚첛첝첞첟첡",6,"첪첮",5,"첶첷첹"],["ab61","첺첻첽",6,"쳆쳈쳊",5,"쳑쳒쳓쳕",5],["ab81","쳛",8,"쳥",6,"쳭쳮쳯쳱",12,"ァ",85],["ac41","쳾쳿촀촂",5,"촊촋촍촎촏촑",6,"촚촜촞촟촠"],["ac61","촡촢촣촥촦촧촩촪촫촭",11,"촺",4],["ac81","촿",28,"쵝쵞쵟А",5,"ЁЖ",25],["acd1","а",5,"ёж",25],["ad41","쵡쵢쵣쵥",6,"쵮쵰쵲",5,"쵹",7],["ad61","춁",6,"춉",10,"춖춗춙춚춛춝춞춟"],["ad81","춠춡춢춣춦춨춪",5,"춱",18,"췅"],["ae41","췆",5,"췍췎췏췑",16],["ae61","췢",5,"췩췪췫췭췮췯췱",6,"췺췼췾",4],["ae81","츃츅츆츇츉츊츋츍",6,"츕츖츗츘츚",5,"츢츣츥츦츧츩츪츫"],["af41","츬츭츮츯츲츴츶",19],["af61","칊",13,"칚칛칝칞칢",5,"칪칬"],["af81","칮",5,"칶칷칹칺칻칽",6,"캆캈캊",5,"캒캓캕캖캗캙"],["b041","캚",5,"캢캦",5,"캮",12],["b061","캻",5,"컂",19],["b081","컖",13,"컦컧컩컪컭",6,"컶컺",5,"가각간갇갈갉갊감",7,"같",4,"갠갤갬갭갯갰갱갸갹갼걀걋걍걔걘걜거걱건걷걸걺검겁것겄겅겆겉겊겋게겐겔겜겝겟겠겡겨격겪견겯결겸겹겻겼경곁계곈곌곕곗고곡곤곧골곪곬곯곰곱곳공곶과곽관괄괆"],["b141","켂켃켅켆켇켉",6,"켒켔켖",5,"켝켞켟켡켢켣"],["b161","켥",6,"켮켲",5,"켹",11],["b181","콅",14,"콖콗콙콚콛콝",6,"콦콨콪콫콬괌괍괏광괘괜괠괩괬괭괴괵괸괼굄굅굇굉교굔굘굡굣구국군굳굴굵굶굻굼굽굿궁궂궈궉권궐궜궝궤궷귀귁귄귈귐귑귓규균귤그극근귿글긁금급긋긍긔기긱긴긷길긺김깁깃깅깆깊까깍깎깐깔깖깜깝깟깠깡깥깨깩깬깰깸"],["b241","콭콮콯콲콳콵콶콷콹",6,"쾁쾂쾃쾄쾆",5,"쾍"],["b261","쾎",18,"쾢",5,"쾩"],["b281","쾪",5,"쾱",18,"쿅",6,"깹깻깼깽꺄꺅꺌꺼꺽꺾껀껄껌껍껏껐껑께껙껜껨껫껭껴껸껼꼇꼈꼍꼐꼬꼭꼰꼲꼴꼼꼽꼿꽁꽂꽃꽈꽉꽐꽜꽝꽤꽥꽹꾀꾄꾈꾐꾑꾕꾜꾸꾹꾼꿀꿇꿈꿉꿋꿍꿎꿔꿜꿨꿩꿰꿱꿴꿸뀀뀁뀄뀌뀐뀔뀜뀝뀨끄끅끈끊끌끎끓끔끕끗끙"],["b341","쿌",19,"쿢쿣쿥쿦쿧쿩"],["b361","쿪",5,"쿲쿴쿶",5,"쿽쿾쿿퀁퀂퀃퀅",5],["b381","퀋",5,"퀒",5,"퀙",19,"끝끼끽낀낄낌낍낏낑나낙낚난낟날낡낢남납낫",4,"낱낳내낵낸낼냄냅냇냈냉냐냑냔냘냠냥너넉넋넌널넒넓넘넙넛넜넝넣네넥넨넬넴넵넷넸넹녀녁년녈념녑녔녕녘녜녠노녹논놀놂놈놉놋농높놓놔놘놜놨뇌뇐뇔뇜뇝"],["b441","퀮",5,"퀶퀷퀹퀺퀻퀽",6,"큆큈큊",5],["b461","큑큒큓큕큖큗큙",6,"큡",10,"큮큯"],["b481","큱큲큳큵",6,"큾큿킀킂",18,"뇟뇨뇩뇬뇰뇹뇻뇽누눅눈눋눌눔눕눗눙눠눴눼뉘뉜뉠뉨뉩뉴뉵뉼늄늅늉느늑는늘늙늚늠늡늣능늦늪늬늰늴니닉닌닐닒님닙닛닝닢다닥닦단닫",4,"닳담답닷",4,"닿대댁댄댈댐댑댓댔댕댜더덕덖던덛덜덞덟덤덥"],["b541","킕",14,"킦킧킩킪킫킭",5],["b561","킳킶킸킺",5,"탂탃탅탆탇탊",5,"탒탖",4],["b581","탛탞탟탡탢탣탥",6,"탮탲",5,"탹",11,"덧덩덫덮데덱덴델뎀뎁뎃뎄뎅뎌뎐뎔뎠뎡뎨뎬도독돈돋돌돎돐돔돕돗동돛돝돠돤돨돼됐되된될됨됩됫됴두둑둔둘둠둡둣둥둬뒀뒈뒝뒤뒨뒬뒵뒷뒹듀듄듈듐듕드득든듣들듦듬듭듯등듸디딕딘딛딜딤딥딧딨딩딪따딱딴딸"],["b641","턅",7,"턎",17],["b661","턠",15,"턲턳턵턶턷턹턻턼턽턾"],["b681","턿텂텆",5,"텎텏텑텒텓텕",6,"텞텠텢",5,"텩텪텫텭땀땁땃땄땅땋때땍땐땔땜땝땟땠땡떠떡떤떨떪떫떰떱떳떴떵떻떼떽뗀뗄뗌뗍뗏뗐뗑뗘뗬또똑똔똘똥똬똴뙈뙤뙨뚜뚝뚠뚤뚫뚬뚱뛔뛰뛴뛸뜀뜁뜅뜨뜩뜬뜯뜰뜸뜹뜻띄띈띌띔띕띠띤띨띰띱띳띵라락란랄람랍랏랐랑랒랖랗"],["b741","텮",13,"텽",6,"톅톆톇톉톊"],["b761","톋",20,"톢톣톥톦톧"],["b781","톩",6,"톲톴톶톷톸톹톻톽톾톿퇁",14,"래랙랜랠램랩랫랬랭랴략랸럇량러럭런럴럼럽럿렀렁렇레렉렌렐렘렙렛렝려력련렬렴렵렷렸령례롄롑롓로록론롤롬롭롯롱롸롼뢍뢨뢰뢴뢸룀룁룃룅료룐룔룝룟룡루룩룬룰룸룹룻룽뤄뤘뤠뤼뤽륀륄륌륏륑류륙륜률륨륩"],["b841","퇐",7,"퇙",17],["b861","퇫",8,"퇵퇶퇷퇹",13],["b881","툈툊",5,"툑",24,"륫륭르륵른를름릅릇릉릊릍릎리릭린릴림립릿링마막만많",4,"맘맙맛망맞맡맣매맥맨맬맴맵맷맸맹맺먀먁먈먕머먹먼멀멂멈멉멋멍멎멓메멕멘멜멤멥멧멨멩며멱면멸몃몄명몇몌모목몫몬몰몲몸몹못몽뫄뫈뫘뫙뫼"],["b941","툪툫툮툯툱툲툳툵",6,"툾퉀퉂",5,"퉉퉊퉋퉌"],["b961","퉍",14,"퉝",6,"퉥퉦퉧퉨"],["b981","퉩",22,"튂튃튅튆튇튉튊튋튌묀묄묍묏묑묘묜묠묩묫무묵묶문묻물묽묾뭄뭅뭇뭉뭍뭏뭐뭔뭘뭡뭣뭬뮈뮌뮐뮤뮨뮬뮴뮷므믄믈믐믓미믹민믿밀밂밈밉밋밌밍및밑바",4,"받",4,"밤밥밧방밭배백밴밸뱀뱁뱃뱄뱅뱉뱌뱍뱐뱝버벅번벋벌벎범법벗"],["ba41","튍튎튏튒튓튔튖",5,"튝튞튟튡튢튣튥",6,"튭"],["ba61","튮튯튰튲",5,"튺튻튽튾틁틃",4,"틊틌",5],["ba81","틒틓틕틖틗틙틚틛틝",6,"틦",9,"틲틳틵틶틷틹틺벙벚베벡벤벧벨벰벱벳벴벵벼벽변별볍볏볐병볕볘볜보복볶본볼봄봅봇봉봐봔봤봬뵀뵈뵉뵌뵐뵘뵙뵤뵨부북분붇불붉붊붐붑붓붕붙붚붜붤붰붸뷔뷕뷘뷜뷩뷰뷴뷸븀븃븅브븍븐블븜븝븟비빅빈빌빎빔빕빗빙빚빛빠빡빤"],["bb41","틻",4,"팂팄팆",5,"팏팑팒팓팕팗",4,"팞팢팣"],["bb61","팤팦팧팪팫팭팮팯팱",6,"팺팾",5,"퍆퍇퍈퍉"],["bb81","퍊",31,"빨빪빰빱빳빴빵빻빼빽뺀뺄뺌뺍뺏뺐뺑뺘뺙뺨뻐뻑뻔뻗뻘뻠뻣뻤뻥뻬뼁뼈뼉뼘뼙뼛뼜뼝뽀뽁뽄뽈뽐뽑뽕뾔뾰뿅뿌뿍뿐뿔뿜뿟뿡쀼쁑쁘쁜쁠쁨쁩삐삑삔삘삠삡삣삥사삭삯산삳살삵삶삼삽삿샀상샅새색샌샐샘샙샛샜생샤"],["bc41","퍪",17,"퍾퍿펁펂펃펅펆펇"],["bc61","펈펉펊펋펎펒",5,"펚펛펝펞펟펡",6,"펪펬펮"],["bc81","펯",4,"펵펶펷펹펺펻펽",6,"폆폇폊",5,"폑",5,"샥샨샬샴샵샷샹섀섄섈섐섕서",4,"섣설섦섧섬섭섯섰성섶세섹센셀셈셉셋셌셍셔셕션셜셤셥셧셨셩셰셴셸솅소속솎손솔솖솜솝솟송솥솨솩솬솰솽쇄쇈쇌쇔쇗쇘쇠쇤쇨쇰쇱쇳쇼쇽숀숄숌숍숏숑수숙순숟술숨숩숫숭"],["bd41","폗폙",7,"폢폤",7,"폮폯폱폲폳폵폶폷"],["bd61","폸폹폺폻폾퐀퐂",5,"퐉",13],["bd81","퐗",5,"퐞",25,"숯숱숲숴쉈쉐쉑쉔쉘쉠쉥쉬쉭쉰쉴쉼쉽쉿슁슈슉슐슘슛슝스슥슨슬슭슴습슷승시식신싣실싫심십싯싱싶싸싹싻싼쌀쌈쌉쌌쌍쌓쌔쌕쌘쌜쌤쌥쌨쌩썅써썩썬썰썲썸썹썼썽쎄쎈쎌쏀쏘쏙쏜쏟쏠쏢쏨쏩쏭쏴쏵쏸쐈쐐쐤쐬쐰"],["be41","퐸",7,"푁푂푃푅",14],["be61","푔",7,"푝푞푟푡푢푣푥",7,"푮푰푱푲"],["be81","푳",4,"푺푻푽푾풁풃",4,"풊풌풎",5,"풕",8,"쐴쐼쐽쑈쑤쑥쑨쑬쑴쑵쑹쒀쒔쒜쒸쒼쓩쓰쓱쓴쓸쓺쓿씀씁씌씐씔씜씨씩씬씰씸씹씻씽아악안앉않알앍앎앓암압앗았앙앝앞애액앤앨앰앱앳앴앵야약얀얄얇얌얍얏양얕얗얘얜얠얩어억언얹얻얼얽얾엄",6,"엌엎"],["bf41","풞",10,"풪",14],["bf61","풹",18,"퓍퓎퓏퓑퓒퓓퓕"],["bf81","퓖",5,"퓝퓞퓠",7,"퓩퓪퓫퓭퓮퓯퓱",6,"퓹퓺퓼에엑엔엘엠엡엣엥여역엮연열엶엷염",5,"옅옆옇예옌옐옘옙옛옜오옥온올옭옮옰옳옴옵옷옹옻와왁완왈왐왑왓왔왕왜왝왠왬왯왱외왹왼욀욈욉욋욍요욕욘욜욤욥욧용우욱운울욹욺움웁웃웅워웍원월웜웝웠웡웨"],["c041","퓾",5,"픅픆픇픉픊픋픍",6,"픖픘",5],["c061","픞",25],["c081","픸픹픺픻픾픿핁핂핃핅",6,"핎핐핒",5,"핚핛핝핞핟핡핢핣웩웬웰웸웹웽위윅윈윌윔윕윗윙유육윤율윰윱윳융윷으윽은을읊음읍읏응",7,"읜읠읨읫이익인일읽읾잃임입잇있잉잊잎자작잔잖잗잘잚잠잡잣잤장잦재잭잰잴잼잽잿쟀쟁쟈쟉쟌쟎쟐쟘쟝쟤쟨쟬저적전절젊"],["c141","핤핦핧핪핬핮",5,"핶핷핹핺핻핽",6,"햆햊햋"],["c161","햌햍햎햏햑",19,"햦햧"],["c181","햨",31,"점접젓정젖제젝젠젤젬젭젯젱져젼졀졈졉졌졍졔조족존졸졺좀좁좃종좆좇좋좌좍좔좝좟좡좨좼좽죄죈죌죔죕죗죙죠죡죤죵주죽준줄줅줆줌줍줏중줘줬줴쥐쥑쥔쥘쥠쥡쥣쥬쥰쥴쥼즈즉즌즐즘즙즛증지직진짇질짊짐집짓"],["c241","헊헋헍헎헏헑헓",4,"헚헜헞",5,"헦헧헩헪헫헭헮"],["c261","헯",4,"헶헸헺",5,"혂혃혅혆혇혉",6,"혒"],["c281","혖",5,"혝혞혟혡혢혣혥",7,"혮",9,"혺혻징짖짙짚짜짝짠짢짤짧짬짭짯짰짱째짹짼쨀쨈쨉쨋쨌쨍쨔쨘쨩쩌쩍쩐쩔쩜쩝쩟쩠쩡쩨쩽쪄쪘쪼쪽쫀쫄쫌쫍쫏쫑쫓쫘쫙쫠쫬쫴쬈쬐쬔쬘쬠쬡쭁쭈쭉쭌쭐쭘쭙쭝쭤쭸쭹쮜쮸쯔쯤쯧쯩찌찍찐찔찜찝찡찢찧차착찬찮찰참찹찻"],["c341","혽혾혿홁홂홃홄홆홇홊홌홎홏홐홒홓홖홗홙홚홛홝",4],["c361","홢",4,"홨홪",5,"홲홳홵",11],["c381","횁횂횄횆",5,"횎횏횑횒횓횕",7,"횞횠횢",5,"횩횪찼창찾채책챈챌챔챕챗챘챙챠챤챦챨챰챵처척천철첨첩첫첬청체첵첸첼쳄쳅쳇쳉쳐쳔쳤쳬쳰촁초촉촌촐촘촙촛총촤촨촬촹최쵠쵤쵬쵭쵯쵱쵸춈추축춘출춤춥춧충춰췄췌췐취췬췰췸췹췻췽츄츈츌츔츙츠측츤츨츰츱츳층"],["c441","횫횭횮횯횱",7,"횺횼",7,"훆훇훉훊훋"],["c461","훍훎훏훐훒훓훕훖훘훚",5,"훡훢훣훥훦훧훩",4],["c481","훮훯훱훲훳훴훶",5,"훾훿휁휂휃휅",11,"휒휓휔치칙친칟칠칡침칩칫칭카칵칸칼캄캅캇캉캐캑캔캘캠캡캣캤캥캬캭컁커컥컨컫컬컴컵컷컸컹케켁켄켈켐켑켓켕켜켠켤켬켭켯켰켱켸코콕콘콜콤콥콧콩콰콱콴콸쾀쾅쾌쾡쾨쾰쿄쿠쿡쿤쿨쿰쿱쿳쿵쿼퀀퀄퀑퀘퀭퀴퀵퀸퀼"],["c541","휕휖휗휚휛휝휞휟휡",6,"휪휬휮",5,"휶휷휹"],["c561","휺휻휽",6,"흅흆흈흊",5,"흒흓흕흚",4],["c581","흟흢흤흦흧흨흪흫흭흮흯흱흲흳흵",6,"흾흿힀힂",5,"힊힋큄큅큇큉큐큔큘큠크큭큰클큼큽킁키킥킨킬킴킵킷킹타탁탄탈탉탐탑탓탔탕태택탠탤탬탭탯탰탱탸턍터턱턴털턺텀텁텃텄텅테텍텐텔템텝텟텡텨텬텼톄톈토톡톤톨톰톱톳통톺톼퇀퇘퇴퇸툇툉툐투툭툰툴툼툽툿퉁퉈퉜"],["c641","힍힎힏힑",6,"힚힜힞",5],["c6a1","퉤튀튁튄튈튐튑튕튜튠튤튬튱트특튼튿틀틂틈틉틋틔틘틜틤틥티틱틴틸팀팁팃팅파팍팎판팔팖팜팝팟팠팡팥패팩팬팰팸팹팻팼팽퍄퍅퍼퍽펀펄펌펍펏펐펑페펙펜펠펨펩펫펭펴편펼폄폅폈평폐폘폡폣포폭폰폴폼폽폿퐁"],["c7a1","퐈퐝푀푄표푠푤푭푯푸푹푼푿풀풂품풉풋풍풔풩퓌퓐퓔퓜퓟퓨퓬퓰퓸퓻퓽프픈플픔픕픗피픽핀필핌핍핏핑하학한할핥함합핫항해핵핸핼햄햅햇했행햐향허헉헌헐헒험헙헛헝헤헥헨헬헴헵헷헹혀혁현혈혐협혓혔형혜혠"],["c8a1","혤혭호혹혼홀홅홈홉홋홍홑화확환활홧황홰홱홴횃횅회획횐횔횝횟횡효횬횰횹횻후훅훈훌훑훔훗훙훠훤훨훰훵훼훽휀휄휑휘휙휜휠휨휩휫휭휴휵휸휼흄흇흉흐흑흔흖흗흘흙흠흡흣흥흩희흰흴흼흽힁히힉힌힐힘힙힛힝"],["caa1","伽佳假價加可呵哥嘉嫁家暇架枷柯歌珂痂稼苛茄街袈訶賈跏軻迦駕刻却各恪慤殼珏脚覺角閣侃刊墾奸姦干幹懇揀杆柬桿澗癎看磵稈竿簡肝艮艱諫間乫喝曷渴碣竭葛褐蝎鞨勘坎堪嵌感憾戡敢柑橄減甘疳監瞰紺邯鑑鑒龕"],["cba1","匣岬甲胛鉀閘剛堈姜岡崗康强彊慷江畺疆糠絳綱羌腔舡薑襁講鋼降鱇介价個凱塏愷愾慨改槪漑疥皆盖箇芥蓋豈鎧開喀客坑更粳羹醵倨去居巨拒据據擧渠炬祛距踞車遽鉅鋸乾件健巾建愆楗腱虔蹇鍵騫乞傑杰桀儉劍劒檢"],["cca1","瞼鈐黔劫怯迲偈憩揭擊格檄激膈覡隔堅牽犬甄絹繭肩見譴遣鵑抉決潔結缺訣兼慊箝謙鉗鎌京俓倞傾儆勁勍卿坰境庚徑慶憬擎敬景暻更梗涇炅烱璟璥瓊痙硬磬竟競絅經耕耿脛莖警輕逕鏡頃頸驚鯨係啓堺契季屆悸戒桂械"],["cda1","棨溪界癸磎稽系繫繼計誡谿階鷄古叩告呱固姑孤尻庫拷攷故敲暠枯槁沽痼皐睾稿羔考股膏苦苽菰藁蠱袴誥賈辜錮雇顧高鼓哭斛曲梏穀谷鵠困坤崑昆梱棍滾琨袞鯤汨滑骨供公共功孔工恐恭拱控攻珙空蚣貢鞏串寡戈果瓜"],["cea1","科菓誇課跨過鍋顆廓槨藿郭串冠官寬慣棺款灌琯瓘管罐菅觀貫關館刮恝括适侊光匡壙廣曠洸炚狂珖筐胱鑛卦掛罫乖傀塊壞怪愧拐槐魁宏紘肱轟交僑咬喬嬌嶠巧攪敎校橋狡皎矯絞翹膠蕎蛟較轎郊餃驕鮫丘久九仇俱具勾"],["cfa1","區口句咎嘔坵垢寇嶇廐懼拘救枸柩構歐毆毬求溝灸狗玖球瞿矩究絿耉臼舅舊苟衢謳購軀逑邱鉤銶駒驅鳩鷗龜國局菊鞠鞫麴君窘群裙軍郡堀屈掘窟宮弓穹窮芎躬倦券勸卷圈拳捲權淃眷厥獗蕨蹶闕机櫃潰詭軌饋句晷歸貴"],["d0a1","鬼龜叫圭奎揆槻珪硅窺竅糾葵規赳逵閨勻均畇筠菌鈞龜橘克剋劇戟棘極隙僅劤勤懃斤根槿瑾筋芹菫覲謹近饉契今妗擒昑檎琴禁禽芩衾衿襟金錦伋及急扱汲級給亘兢矜肯企伎其冀嗜器圻基埼夔奇妓寄岐崎己幾忌技旗旣"],["d1a1","朞期杞棋棄機欺氣汽沂淇玘琦琪璂璣畸畿碁磯祁祇祈祺箕紀綺羈耆耭肌記譏豈起錡錤飢饑騎騏驥麒緊佶吉拮桔金喫儺喇奈娜懦懶拏拿癩",5,"那樂",4,"諾酪駱亂卵暖欄煖爛蘭難鸞捏捺南嵐枏楠湳濫男藍襤拉"],["d2a1","納臘蠟衲囊娘廊",4,"乃來內奈柰耐冷女年撚秊念恬拈捻寧寗努勞奴弩怒擄櫓爐瑙盧",5,"駑魯",10,"濃籠聾膿農惱牢磊腦賂雷尿壘",7,"嫩訥杻紐勒",5,"能菱陵尼泥匿溺多茶"],["d3a1","丹亶但單團壇彖斷旦檀段湍短端簞緞蛋袒鄲鍛撻澾獺疸達啖坍憺擔曇淡湛潭澹痰聃膽蕁覃談譚錟沓畓答踏遝唐堂塘幢戇撞棠當糖螳黨代垈坮大對岱帶待戴擡玳臺袋貸隊黛宅德悳倒刀到圖堵塗導屠島嶋度徒悼挑掉搗桃"],["d4a1","棹櫂淘渡滔濤燾盜睹禱稻萄覩賭跳蹈逃途道都鍍陶韜毒瀆牘犢獨督禿篤纛讀墩惇敦旽暾沌焞燉豚頓乭突仝冬凍動同憧東桐棟洞潼疼瞳童胴董銅兜斗杜枓痘竇荳讀豆逗頭屯臀芚遁遯鈍得嶝橙燈登等藤謄鄧騰喇懶拏癩羅"],["d5a1","蘿螺裸邏樂洛烙珞絡落諾酪駱丹亂卵欄欒瀾爛蘭鸞剌辣嵐擥攬欖濫籃纜藍襤覽拉臘蠟廊朗浪狼琅瑯螂郞來崍徠萊冷掠略亮倆兩凉梁樑粮粱糧良諒輛量侶儷勵呂廬慮戾旅櫚濾礪藜蠣閭驢驪麗黎力曆歷瀝礫轢靂憐戀攣漣"],["d6a1","煉璉練聯蓮輦連鍊冽列劣洌烈裂廉斂殮濂簾獵令伶囹寧岺嶺怜玲笭羚翎聆逞鈴零靈領齡例澧禮醴隷勞怒撈擄櫓潞瀘爐盧老蘆虜路輅露魯鷺鹵碌祿綠菉錄鹿麓論壟弄朧瀧瓏籠聾儡瀨牢磊賂賚賴雷了僚寮廖料燎療瞭聊蓼"],["d7a1","遼鬧龍壘婁屢樓淚漏瘻累縷蔞褸鏤陋劉旒柳榴流溜瀏琉瑠留瘤硫謬類六戮陸侖倫崙淪綸輪律慄栗率隆勒肋凜凌楞稜綾菱陵俚利厘吏唎履悧李梨浬犁狸理璃異痢籬罹羸莉裏裡里釐離鯉吝潾燐璘藺躪隣鱗麟林淋琳臨霖砬"],["d8a1","立笠粒摩瑪痲碼磨馬魔麻寞幕漠膜莫邈万卍娩巒彎慢挽晩曼滿漫灣瞞萬蔓蠻輓饅鰻唜抹末沫茉襪靺亡妄忘忙望網罔芒茫莽輞邙埋妹媒寐昧枚梅每煤罵買賣邁魅脈貊陌驀麥孟氓猛盲盟萌冪覓免冕勉棉沔眄眠綿緬面麵滅"],["d9a1","蔑冥名命明暝椧溟皿瞑茗蓂螟酩銘鳴袂侮冒募姆帽慕摸摹暮某模母毛牟牡瑁眸矛耗芼茅謀謨貌木沐牧目睦穆鶩歿沒夢朦蒙卯墓妙廟描昴杳渺猫竗苗錨務巫憮懋戊拇撫无楙武毋無珷畝繆舞茂蕪誣貿霧鵡墨默們刎吻問文"],["daa1","汶紊紋聞蚊門雯勿沕物味媚尾嵋彌微未梶楣渼湄眉米美薇謎迷靡黴岷悶愍憫敏旻旼民泯玟珉緡閔密蜜謐剝博拍搏撲朴樸泊珀璞箔粕縛膊舶薄迫雹駁伴半反叛拌搬攀斑槃泮潘班畔瘢盤盼磐磻礬絆般蟠返頒飯勃拔撥渤潑"],["dba1","發跋醱鉢髮魃倣傍坊妨尨幇彷房放方旁昉枋榜滂磅紡肪膀舫芳蒡蚌訪謗邦防龐倍俳北培徘拜排杯湃焙盃背胚裴裵褙賠輩配陪伯佰帛柏栢白百魄幡樊煩燔番磻繁蕃藩飜伐筏罰閥凡帆梵氾汎泛犯範范法琺僻劈壁擘檗璧癖"],["dca1","碧蘗闢霹便卞弁變辨辯邊別瞥鱉鼈丙倂兵屛幷昞昺柄棅炳甁病秉竝輧餠騈保堡報寶普步洑湺潽珤甫菩補褓譜輔伏僕匐卜宓復服福腹茯蔔複覆輹輻馥鰒本乶俸奉封峯峰捧棒烽熢琫縫蓬蜂逢鋒鳳不付俯傅剖副否咐埠夫婦"],["dda1","孚孵富府復扶敷斧浮溥父符簿缶腐腑膚艀芙莩訃負賦賻赴趺部釜阜附駙鳧北分吩噴墳奔奮忿憤扮昐汾焚盆粉糞紛芬賁雰不佛弗彿拂崩朋棚硼繃鵬丕備匕匪卑妃婢庇悲憊扉批斐枇榧比毖毗毘沸泌琵痺砒碑秕秘粃緋翡肥"],["dea1","脾臂菲蜚裨誹譬費鄙非飛鼻嚬嬪彬斌檳殯浜濱瀕牝玭貧賓頻憑氷聘騁乍事些仕伺似使俟僿史司唆嗣四士奢娑寫寺射巳師徙思捨斜斯柶査梭死沙泗渣瀉獅砂社祀祠私篩紗絲肆舍莎蓑蛇裟詐詞謝賜赦辭邪飼駟麝削數朔索"],["dfa1","傘刪山散汕珊産疝算蒜酸霰乷撒殺煞薩三參杉森渗芟蔘衫揷澁鈒颯上傷像償商喪嘗孀尙峠常床庠廂想桑橡湘爽牀狀相祥箱翔裳觴詳象賞霜塞璽賽嗇塞穡索色牲生甥省笙墅壻嶼序庶徐恕抒捿敍暑曙書栖棲犀瑞筮絮緖署"],["e0a1","胥舒薯西誓逝鋤黍鼠夕奭席惜昔晳析汐淅潟石碩蓆釋錫仙僊先善嬋宣扇敾旋渲煽琁瑄璇璿癬禪線繕羨腺膳船蘚蟬詵跣選銑鐥饍鮮卨屑楔泄洩渫舌薛褻設說雪齧剡暹殲纖蟾贍閃陝攝涉燮葉城姓宬性惺成星晟猩珹盛省筬"],["e1a1","聖聲腥誠醒世勢歲洗稅笹細說貰召嘯塑宵小少巢所掃搔昭梳沼消溯瀟炤燒甦疏疎瘙笑篠簫素紹蔬蕭蘇訴逍遡邵銷韶騷俗屬束涑粟續謖贖速孫巽損蓀遜飡率宋悚松淞訟誦送頌刷殺灑碎鎖衰釗修受嗽囚垂壽嫂守岫峀帥愁"],["e2a1","戍手授搜收數樹殊水洙漱燧狩獸琇璲瘦睡秀穗竪粹綏綬繡羞脩茱蒐蓚藪袖誰讐輸遂邃酬銖銹隋隧隨雖需須首髓鬚叔塾夙孰宿淑潚熟琡璹肅菽巡徇循恂旬栒楯橓殉洵淳珣盾瞬筍純脣舜荀蓴蕣詢諄醇錞順馴戌術述鉥崇崧"],["e3a1","嵩瑟膝蝨濕拾習褶襲丞乘僧勝升承昇繩蠅陞侍匙嘶始媤尸屎屍市弑恃施是時枾柴猜矢示翅蒔蓍視試詩諡豕豺埴寔式息拭植殖湜熄篒蝕識軾食飾伸侁信呻娠宸愼新晨燼申神紳腎臣莘薪藎蜃訊身辛辰迅失室實悉審尋心沁"],["e4a1","沈深瀋甚芯諶什十拾雙氏亞俄兒啞娥峨我牙芽莪蛾衙訝阿雅餓鴉鵝堊岳嶽幄惡愕握樂渥鄂鍔顎鰐齷安岸按晏案眼雁鞍顔鮟斡謁軋閼唵岩巖庵暗癌菴闇壓押狎鴨仰央怏昻殃秧鴦厓哀埃崖愛曖涯碍艾隘靄厄扼掖液縊腋額"],["e5a1","櫻罌鶯鸚也倻冶夜惹揶椰爺耶若野弱掠略約若葯蒻藥躍亮佯兩凉壤孃恙揚攘敭暘梁楊樣洋瀁煬痒瘍禳穰糧羊良襄諒讓釀陽量養圄御於漁瘀禦語馭魚齬億憶抑檍臆偃堰彦焉言諺孼蘖俺儼嚴奄掩淹嶪業円予余勵呂女如廬"],["e6a1","旅歟汝濾璵礖礪與艅茹輿轝閭餘驪麗黎亦力域役易曆歷疫繹譯轢逆驛嚥堧姸娟宴年延憐戀捐挻撚椽沇沿涎涓淵演漣烟然煙煉燃燕璉硏硯秊筵緣練縯聯衍軟輦蓮連鉛鍊鳶列劣咽悅涅烈熱裂說閱厭廉念捻染殮炎焰琰艶苒"],["e7a1","簾閻髥鹽曄獵燁葉令囹塋寧嶺嶸影怜映暎楹榮永泳渶潁濚瀛瀯煐營獰玲瑛瑩瓔盈穎纓羚聆英詠迎鈴鍈零霙靈領乂倪例刈叡曳汭濊猊睿穢芮藝蘂禮裔詣譽豫醴銳隸霓預五伍俉傲午吾吳嗚塢墺奧娛寤悟惡懊敖旿晤梧汚澳"],["e8a1","烏熬獒筽蜈誤鰲鼇屋沃獄玉鈺溫瑥瘟穩縕蘊兀壅擁瓮甕癰翁邕雍饔渦瓦窩窪臥蛙蝸訛婉完宛梡椀浣玩琓琬碗緩翫脘腕莞豌阮頑曰往旺枉汪王倭娃歪矮外嵬巍猥畏了僚僥凹堯夭妖姚寥寮尿嶢拗搖撓擾料曜樂橈燎燿瑤療"],["e9a1","窈窯繇繞耀腰蓼蟯要謠遙遼邀饒慾欲浴縟褥辱俑傭冗勇埇墉容庸慂榕涌湧溶熔瑢用甬聳茸蓉踊鎔鏞龍于佑偶優又友右宇寓尤愚憂旴牛玗瑀盂祐禑禹紆羽芋藕虞迂遇郵釪隅雨雩勖彧旭昱栯煜稶郁頊云暈橒殞澐熉耘芸蕓"],["eaa1","運隕雲韻蔚鬱亐熊雄元原員圓園垣媛嫄寃怨愿援沅洹湲源爰猿瑗苑袁轅遠阮院願鴛月越鉞位偉僞危圍委威尉慰暐渭爲瑋緯胃萎葦蔿蝟衛褘謂違韋魏乳侑儒兪劉唯喩孺宥幼幽庾悠惟愈愉揄攸有杻柔柚柳楡楢油洧流游溜"],["eba1","濡猶猷琉瑜由留癒硫紐維臾萸裕誘諛諭踰蹂遊逾遺酉釉鍮類六堉戮毓肉育陸倫允奫尹崙淪潤玧胤贇輪鈗閏律慄栗率聿戎瀜絨融隆垠恩慇殷誾銀隱乙吟淫蔭陰音飮揖泣邑凝應膺鷹依倚儀宜意懿擬椅毅疑矣義艤薏蟻衣誼"],["eca1","議醫二以伊利吏夷姨履已弛彛怡易李梨泥爾珥理異痍痢移罹而耳肄苡荑裏裡貽貳邇里離飴餌匿溺瀷益翊翌翼謚人仁刃印吝咽因姻寅引忍湮燐璘絪茵藺蚓認隣靭靷鱗麟一佚佾壹日溢逸鎰馹任壬妊姙恁林淋稔臨荏賃入卄"],["eda1","立笠粒仍剩孕芿仔刺咨姉姿子字孜恣慈滋炙煮玆瓷疵磁紫者自茨蔗藉諮資雌作勺嚼斫昨灼炸爵綽芍酌雀鵲孱棧殘潺盞岑暫潛箴簪蠶雜丈仗匠場墻壯奬將帳庄張掌暲杖樟檣欌漿牆狀獐璋章粧腸臟臧莊葬蔣薔藏裝贓醬長"],["eea1","障再哉在宰才材栽梓渽滓災縡裁財載齋齎爭箏諍錚佇低儲咀姐底抵杵楮樗沮渚狙猪疽箸紵苧菹著藷詛貯躇這邸雎齟勣吊嫡寂摘敵滴狄炙的積笛籍績翟荻謫賊赤跡蹟迪迹適鏑佃佺傳全典前剪塡塼奠專展廛悛戰栓殿氈澱"],["efa1","煎琠田甸畑癲筌箋箭篆纏詮輾轉鈿銓錢鐫電顚顫餞切截折浙癤竊節絶占岾店漸点粘霑鮎點接摺蝶丁井亭停偵呈姃定幀庭廷征情挺政整旌晶晸柾楨檉正汀淀淨渟湞瀞炡玎珽町睛碇禎程穽精綎艇訂諪貞鄭酊釘鉦鋌錠霆靖"],["f0a1","靜頂鼎制劑啼堤帝弟悌提梯濟祭第臍薺製諸蹄醍除際霽題齊俎兆凋助嘲弔彫措操早晁曺曹朝條棗槽漕潮照燥爪璪眺祖祚租稠窕粗糟組繰肇藻蚤詔調趙躁造遭釣阻雕鳥族簇足鏃存尊卒拙猝倧宗從悰慫棕淙琮種終綜縱腫"],["f1a1","踪踵鍾鐘佐坐左座挫罪主住侏做姝胄呪周嗾奏宙州廚晝朱柱株注洲湊澍炷珠疇籌紂紬綢舟蛛註誅走躊輳週酎酒鑄駐竹粥俊儁准埈寯峻晙樽浚準濬焌畯竣蠢逡遵雋駿茁中仲衆重卽櫛楫汁葺增憎曾拯烝甑症繒蒸證贈之只"],["f2a1","咫地址志持指摯支旨智枝枳止池沚漬知砥祉祗紙肢脂至芝芷蜘誌識贄趾遲直稙稷織職唇嗔塵振搢晉晋桭榛殄津溱珍瑨璡畛疹盡眞瞋秦縉縝臻蔯袗診賑軫辰進鎭陣陳震侄叱姪嫉帙桎瓆疾秩窒膣蛭質跌迭斟朕什執潗緝輯"],["f3a1","鏶集徵懲澄且侘借叉嗟嵯差次此磋箚茶蹉車遮捉搾着窄錯鑿齪撰澯燦璨瓚竄簒纂粲纘讚贊鑽餐饌刹察擦札紮僭參塹慘慙懺斬站讒讖倉倡創唱娼廠彰愴敞昌昶暢槍滄漲猖瘡窓脹艙菖蒼債埰寀寨彩採砦綵菜蔡采釵冊柵策"],["f4a1","責凄妻悽處倜刺剔尺慽戚拓擲斥滌瘠脊蹠陟隻仟千喘天川擅泉淺玔穿舛薦賤踐遷釧闡阡韆凸哲喆徹撤澈綴輟轍鐵僉尖沾添甛瞻簽籤詹諂堞妾帖捷牒疊睫諜貼輒廳晴淸聽菁請靑鯖切剃替涕滯締諦逮遞體初剿哨憔抄招梢"],["f5a1","椒楚樵炒焦硝礁礎秒稍肖艸苕草蕉貂超酢醋醮促囑燭矗蜀觸寸忖村邨叢塚寵悤憁摠總聰蔥銃撮催崔最墜抽推椎楸樞湫皺秋芻萩諏趨追鄒酋醜錐錘鎚雛騶鰍丑畜祝竺筑築縮蓄蹙蹴軸逐春椿瑃出朮黜充忠沖蟲衝衷悴膵萃"],["f6a1","贅取吹嘴娶就炊翠聚脆臭趣醉驟鷲側仄厠惻測層侈値嗤峙幟恥梔治淄熾痔痴癡稚穉緇緻置致蚩輜雉馳齒則勅飭親七柒漆侵寢枕沈浸琛砧針鍼蟄秤稱快他咤唾墮妥惰打拖朶楕舵陀馱駝倬卓啄坼度托拓擢晫柝濁濯琢琸託"],["f7a1","鐸呑嘆坦彈憚歎灘炭綻誕奪脫探眈耽貪塔搭榻宕帑湯糖蕩兌台太怠態殆汰泰笞胎苔跆邰颱宅擇澤撑攄兎吐土討慟桶洞痛筒統通堆槌腿褪退頹偸套妬投透鬪慝特闖坡婆巴把播擺杷波派爬琶破罷芭跛頗判坂板版瓣販辦鈑"],["f8a1","阪八叭捌佩唄悖敗沛浿牌狽稗覇貝彭澎烹膨愎便偏扁片篇編翩遍鞭騙貶坪平枰萍評吠嬖幣廢弊斃肺蔽閉陛佈包匍匏咆哺圃布怖抛抱捕暴泡浦疱砲胞脯苞葡蒲袍褒逋鋪飽鮑幅暴曝瀑爆輻俵剽彪慓杓標漂瓢票表豹飇飄驃"],["f9a1","品稟楓諷豊風馮彼披疲皮被避陂匹弼必泌珌畢疋筆苾馝乏逼下何厦夏廈昰河瑕荷蝦賀遐霞鰕壑學虐謔鶴寒恨悍旱汗漢澣瀚罕翰閑閒限韓割轄函含咸啣喊檻涵緘艦銜陷鹹合哈盒蛤閤闔陜亢伉姮嫦巷恒抗杭桁沆港缸肛航"],["faa1","行降項亥偕咳垓奚孩害懈楷海瀣蟹解該諧邂駭骸劾核倖幸杏荇行享向嚮珦鄕響餉饗香噓墟虛許憲櫶獻軒歇險驗奕爀赫革俔峴弦懸晛泫炫玄玹現眩睍絃絢縣舷衒見賢鉉顯孑穴血頁嫌俠協夾峽挾浹狹脅脇莢鋏頰亨兄刑型"],["fba1","形泂滎瀅灐炯熒珩瑩荊螢衡逈邢鎣馨兮彗惠慧暳蕙蹊醯鞋乎互呼壕壺好岵弧戶扈昊晧毫浩淏湖滸澔濠濩灝狐琥瑚瓠皓祜糊縞胡芦葫蒿虎號蝴護豪鎬頀顥惑或酷婚昏混渾琿魂忽惚笏哄弘汞泓洪烘紅虹訌鴻化和嬅樺火畵"],["fca1","禍禾花華話譁貨靴廓擴攫確碻穫丸喚奐宦幻患換歡晥桓渙煥環紈還驩鰥活滑猾豁闊凰幌徨恍惶愰慌晃晄榥況湟滉潢煌璜皇篁簧荒蝗遑隍黃匯回廻徊恢悔懷晦會檜淮澮灰獪繪膾茴蛔誨賄劃獲宖橫鐄哮嚆孝效斅曉梟涍淆"],["fda1","爻肴酵驍侯候厚后吼喉嗅帿後朽煦珝逅勛勳塤壎焄熏燻薰訓暈薨喧暄煊萱卉喙毁彙徽揮暉煇諱輝麾休携烋畦虧恤譎鷸兇凶匈洶胸黑昕欣炘痕吃屹紇訖欠欽歆吸恰洽翕興僖凞喜噫囍姬嬉希憙憘戱晞曦熙熹熺犧禧稀羲詰"]]}});var require_cp9502=__commonJS({"node_modules/raw-body/node_modules/iconv-lite/encodings/tables/cp950.json"(exports2,module2){module2.exports=[["0","\0",127],["a140","　，、。．‧；：？！︰…‥﹐﹑﹒·﹔﹕﹖﹗｜–︱—︳╴︴﹏（）︵︶｛｝︷︸〔〕︹︺【】︻︼《》︽︾〈〉︿﹀「」﹁﹂『』﹃﹄﹙﹚"],["a1a1","﹛﹜﹝﹞‘’“”〝〞‵′＃＆＊※§〃○●△▲◎☆★◇◆□■▽▼㊣℅¯￣＿ˍ﹉﹊﹍﹎﹋﹌﹟﹠﹡＋－×÷±√＜＞＝≦≧≠∞≒≡﹢",4,"～∩∪⊥∠∟⊿㏒㏑∫∮∵∴♀♂⊕⊙↑↓←→↖↗↙↘∥∣／"],["a240","＼∕﹨＄￥〒￠￡％＠℃℉﹩﹪﹫㏕㎜㎝㎞㏎㎡㎎㎏㏄°兙兛兞兝兡兣嗧瓩糎▁",7,"▏▎▍▌▋▊▉┼┴┬┤├▔─│▕┌┐└┘╭"],["a2a1","╮╰╯═╞╪╡◢◣◥◤╱╲╳０",9,"Ⅰ",9,"〡",8,"十卄卅Ａ",25,"ａ",21],["a340","ｗｘｙｚΑ",16,"Σ",6,"α",16,"σ",6,"ㄅ",10],["a3a1","ㄐ",25,"˙ˉˊˇˋ"],["a3e1","€"],["a440","一乙丁七乃九了二人儿入八几刀刁力匕十卜又三下丈上丫丸凡久么也乞于亡兀刃勺千叉口土士夕大女子孑孓寸小尢尸山川工己已巳巾干廾弋弓才"],["a4a1","丑丐不中丰丹之尹予云井互五亢仁什仃仆仇仍今介仄元允內六兮公冗凶分切刈勻勾勿化匹午升卅卞厄友及反壬天夫太夭孔少尤尺屯巴幻廿弔引心戈戶手扎支文斗斤方日曰月木欠止歹毋比毛氏水火爪父爻片牙牛犬王丙"],["a540","世丕且丘主乍乏乎以付仔仕他仗代令仙仞充兄冉冊冬凹出凸刊加功包匆北匝仟半卉卡占卯卮去可古右召叮叩叨叼司叵叫另只史叱台句叭叻四囚外"],["a5a1","央失奴奶孕它尼巨巧左市布平幼弁弘弗必戊打扔扒扑斥旦朮本未末札正母民氐永汁汀氾犯玄玉瓜瓦甘生用甩田由甲申疋白皮皿目矛矢石示禾穴立丞丟乒乓乩亙交亦亥仿伉伙伊伕伍伐休伏仲件任仰仳份企伋光兇兆先全"],["a640","共再冰列刑划刎刖劣匈匡匠印危吉吏同吊吐吁吋各向名合吃后吆吒因回囝圳地在圭圬圯圩夙多夷夸妄奸妃好她如妁字存宇守宅安寺尖屹州帆并年"],["a6a1","式弛忙忖戎戌戍成扣扛托收早旨旬旭曲曳有朽朴朱朵次此死氖汝汗汙江池汐汕污汛汍汎灰牟牝百竹米糸缶羊羽老考而耒耳聿肉肋肌臣自至臼舌舛舟艮色艾虫血行衣西阡串亨位住佇佗佞伴佛何估佐佑伽伺伸佃佔似但佣"],["a740","作你伯低伶余佝佈佚兌克免兵冶冷別判利刪刨劫助努劬匣即卵吝吭吞吾否呎吧呆呃吳呈呂君吩告吹吻吸吮吵吶吠吼呀吱含吟听囪困囤囫坊坑址坍"],["a7a1","均坎圾坐坏圻壯夾妝妒妨妞妣妙妖妍妤妓妊妥孝孜孚孛完宋宏尬局屁尿尾岐岑岔岌巫希序庇床廷弄弟彤形彷役忘忌志忍忱快忸忪戒我抄抗抖技扶抉扭把扼找批扳抒扯折扮投抓抑抆改攻攸旱更束李杏材村杜杖杞杉杆杠"],["a840","杓杗步每求汞沙沁沈沉沅沛汪決沐汰沌汨沖沒汽沃汲汾汴沆汶沍沔沘沂灶灼災灸牢牡牠狄狂玖甬甫男甸皂盯矣私秀禿究系罕肖肓肝肘肛肚育良芒"],["a8a1","芋芍見角言谷豆豕貝赤走足身車辛辰迂迆迅迄巡邑邢邪邦那酉釆里防阮阱阪阬並乖乳事些亞享京佯依侍佳使佬供例來侃佰併侈佩佻侖佾侏侑佺兔兒兕兩具其典冽函刻券刷刺到刮制剁劾劻卒協卓卑卦卷卸卹取叔受味呵"],["a940","咖呸咕咀呻呷咄咒咆呼咐呱呶和咚呢周咋命咎固垃坷坪坩坡坦坤坼夜奉奇奈奄奔妾妻委妹妮姑姆姐姍始姓姊妯妳姒姅孟孤季宗定官宜宙宛尚屈居"],["a9a1","屆岷岡岸岩岫岱岳帘帚帖帕帛帑幸庚店府底庖延弦弧弩往征彿彼忝忠忽念忿怏怔怯怵怖怪怕怡性怩怫怛或戕房戾所承拉拌拄抿拂抹拒招披拓拔拋拈抨抽押拐拙拇拍抵拚抱拘拖拗拆抬拎放斧於旺昔易昌昆昂明昀昏昕昊"],["aa40","昇服朋杭枋枕東果杳杷枇枝林杯杰板枉松析杵枚枓杼杪杲欣武歧歿氓氛泣注泳沱泌泥河沽沾沼波沫法泓沸泄油況沮泗泅泱沿治泡泛泊沬泯泜泖泠"],["aaa1","炕炎炒炊炙爬爭爸版牧物狀狎狙狗狐玩玨玟玫玥甽疝疙疚的盂盲直知矽社祀祁秉秈空穹竺糾罔羌羋者肺肥肢肱股肫肩肴肪肯臥臾舍芳芝芙芭芽芟芹花芬芥芯芸芣芰芾芷虎虱初表軋迎返近邵邸邱邶采金長門阜陀阿阻附"],["ab40","陂隹雨青非亟亭亮信侵侯便俠俑俏保促侶俘俟俊俗侮俐俄係俚俎俞侷兗冒冑冠剎剃削前剌剋則勇勉勃勁匍南卻厚叛咬哀咨哎哉咸咦咳哇哂咽咪品"],["aba1","哄哈咯咫咱咻咩咧咿囿垂型垠垣垢城垮垓奕契奏奎奐姜姘姿姣姨娃姥姪姚姦威姻孩宣宦室客宥封屎屏屍屋峙峒巷帝帥帟幽庠度建弈弭彥很待徊律徇後徉怒思怠急怎怨恍恰恨恢恆恃恬恫恪恤扁拜挖按拼拭持拮拽指拱拷"],["ac40","拯括拾拴挑挂政故斫施既春昭映昧是星昨昱昤曷柿染柱柔某柬架枯柵柩柯柄柑枴柚查枸柏柞柳枰柙柢柝柒歪殃殆段毒毗氟泉洋洲洪流津洌洱洞洗"],["aca1","活洽派洶洛泵洹洧洸洩洮洵洎洫炫為炳炬炯炭炸炮炤爰牲牯牴狩狠狡玷珊玻玲珍珀玳甚甭畏界畎畋疫疤疥疢疣癸皆皇皈盈盆盃盅省盹相眉看盾盼眇矜砂研砌砍祆祉祈祇禹禺科秒秋穿突竿竽籽紂紅紀紉紇約紆缸美羿耄"],["ad40","耐耍耑耶胖胥胚胃胄背胡胛胎胞胤胝致舢苧范茅苣苛苦茄若茂茉苒苗英茁苜苔苑苞苓苟苯茆虐虹虻虺衍衫要觔計訂訃貞負赴赳趴軍軌述迦迢迪迥"],["ada1","迭迫迤迨郊郎郁郃酋酊重閂限陋陌降面革韋韭音頁風飛食首香乘亳倌倍倣俯倦倥俸倩倖倆值借倚倒們俺倀倔倨俱倡個候倘俳修倭倪俾倫倉兼冤冥冢凍凌准凋剖剜剔剛剝匪卿原厝叟哨唐唁唷哼哥哲唆哺唔哩哭員唉哮哪"],["ae40","哦唧唇哽唏圃圄埂埔埋埃堉夏套奘奚娑娘娜娟娛娓姬娠娣娩娥娌娉孫屘宰害家宴宮宵容宸射屑展屐峭峽峻峪峨峰島崁峴差席師庫庭座弱徒徑徐恙"],["aea1","恣恥恐恕恭恩息悄悟悚悍悔悌悅悖扇拳挈拿捎挾振捕捂捆捏捉挺捐挽挪挫挨捍捌效敉料旁旅時晉晏晃晒晌晅晁書朔朕朗校核案框桓根桂桔栩梳栗桌桑栽柴桐桀格桃株桅栓栘桁殊殉殷氣氧氨氦氤泰浪涕消涇浦浸海浙涓"],["af40","浬涉浮浚浴浩涌涊浹涅浥涔烊烘烤烙烈烏爹特狼狹狽狸狷玆班琉珮珠珪珞畔畝畜畚留疾病症疲疳疽疼疹痂疸皋皰益盍盎眩真眠眨矩砰砧砸砝破砷"],["afa1","砥砭砠砟砲祕祐祠祟祖神祝祗祚秤秣秧租秦秩秘窄窈站笆笑粉紡紗紋紊素索純紐紕級紜納紙紛缺罟羔翅翁耆耘耕耙耗耽耿胱脂胰脅胭胴脆胸胳脈能脊胼胯臭臬舀舐航舫舨般芻茫荒荔荊茸荐草茵茴荏茲茹茶茗荀茱茨荃"],["b040","虔蚊蚪蚓蚤蚩蚌蚣蚜衰衷袁袂衽衹記訐討訌訕訊託訓訖訏訑豈豺豹財貢起躬軒軔軏辱送逆迷退迺迴逃追逅迸邕郡郝郢酒配酌釘針釗釜釙閃院陣陡"],["b0a1","陛陝除陘陞隻飢馬骨高鬥鬲鬼乾偺偽停假偃偌做偉健偶偎偕偵側偷偏倏偯偭兜冕凰剪副勒務勘動匐匏匙匿區匾參曼商啪啦啄啞啡啃啊唱啖問啕唯啤唸售啜唬啣唳啁啗圈國圉域堅堊堆埠埤基堂堵執培夠奢娶婁婉婦婪婀"],["b140","娼婢婚婆婊孰寇寅寄寂宿密尉專將屠屜屝崇崆崎崛崖崢崑崩崔崙崤崧崗巢常帶帳帷康庸庶庵庾張強彗彬彩彫得徙從徘御徠徜恿患悉悠您惋悴惦悽"],["b1a1","情悻悵惜悼惘惕惆惟悸惚惇戚戛扈掠控捲掖探接捷捧掘措捱掩掉掃掛捫推掄授掙採掬排掏掀捻捩捨捺敝敖救教敗啟敏敘敕敔斜斛斬族旋旌旎晝晚晤晨晦晞曹勗望梁梯梢梓梵桿桶梱梧梗械梃棄梭梆梅梔條梨梟梡梂欲殺"],["b240","毫毬氫涎涼淳淙液淡淌淤添淺清淇淋涯淑涮淞淹涸混淵淅淒渚涵淚淫淘淪深淮淨淆淄涪淬涿淦烹焉焊烽烯爽牽犁猜猛猖猓猙率琅琊球理現琍瓠瓶"],["b2a1","瓷甜產略畦畢異疏痔痕疵痊痍皎盔盒盛眷眾眼眶眸眺硫硃硎祥票祭移窒窕笠笨笛第符笙笞笮粒粗粕絆絃統紮紹紼絀細紳組累終紲紱缽羞羚翌翎習耜聊聆脯脖脣脫脩脰脤舂舵舷舶船莎莞莘荸莢莖莽莫莒莊莓莉莠荷荻荼"],["b340","莆莧處彪蛇蛀蚶蛄蚵蛆蛋蚱蚯蛉術袞袈被袒袖袍袋覓規訪訝訣訥許設訟訛訢豉豚販責貫貨貪貧赧赦趾趺軛軟這逍通逗連速逝逐逕逞造透逢逖逛途"],["b3a1","部郭都酗野釵釦釣釧釭釩閉陪陵陳陸陰陴陶陷陬雀雪雩章竟頂頃魚鳥鹵鹿麥麻傢傍傅備傑傀傖傘傚最凱割剴創剩勞勝勛博厥啻喀喧啼喊喝喘喂喜喪喔喇喋喃喳單喟唾喲喚喻喬喱啾喉喫喙圍堯堪場堤堰報堡堝堠壹壺奠"],["b440","婷媚婿媒媛媧孳孱寒富寓寐尊尋就嵌嵐崴嵇巽幅帽幀幃幾廊廁廂廄弼彭復循徨惑惡悲悶惠愜愣惺愕惰惻惴慨惱愎惶愉愀愒戟扉掣掌描揀揩揉揆揍"],["b4a1","插揣提握揖揭揮捶援揪換摒揚揹敞敦敢散斑斐斯普晰晴晶景暑智晾晷曾替期朝棺棕棠棘棗椅棟棵森棧棹棒棲棣棋棍植椒椎棉棚楮棻款欺欽殘殖殼毯氮氯氬港游湔渡渲湧湊渠渥渣減湛湘渤湖湮渭渦湯渴湍渺測湃渝渾滋"],["b540","溉渙湎湣湄湲湩湟焙焚焦焰無然煮焜牌犄犀猶猥猴猩琺琪琳琢琥琵琶琴琯琛琦琨甥甦畫番痢痛痣痙痘痞痠登發皖皓皴盜睏短硝硬硯稍稈程稅稀窘"],["b5a1","窗窖童竣等策筆筐筒答筍筋筏筑粟粥絞結絨絕紫絮絲絡給絢絰絳善翔翕耋聒肅腕腔腋腑腎脹腆脾腌腓腴舒舜菩萃菸萍菠菅萋菁華菱菴著萊菰萌菌菽菲菊萸萎萄菜萇菔菟虛蛟蛙蛭蛔蛛蛤蛐蛞街裁裂袱覃視註詠評詞証詁"],["b640","詔詛詐詆訴診訶詖象貂貯貼貳貽賁費賀貴買貶貿貸越超趁跎距跋跚跑跌跛跆軻軸軼辜逮逵週逸進逶鄂郵鄉郾酣酥量鈔鈕鈣鈉鈞鈍鈐鈇鈑閔閏開閑"],["b6a1","間閒閎隊階隋陽隅隆隍陲隄雁雅雄集雇雯雲韌項順須飧飪飯飩飲飭馮馭黃黍黑亂傭債傲傳僅傾催傷傻傯僇剿剷剽募勦勤勢勣匯嗟嗨嗓嗦嗎嗜嗇嗑嗣嗤嗯嗚嗡嗅嗆嗥嗉園圓塞塑塘塗塚塔填塌塭塊塢塒塋奧嫁嫉嫌媾媽媼"],["b740","媳嫂媲嵩嵯幌幹廉廈弒彙徬微愚意慈感想愛惹愁愈慎慌慄慍愾愴愧愍愆愷戡戢搓搾搞搪搭搽搬搏搜搔損搶搖搗搆敬斟新暗暉暇暈暖暄暘暍會榔業"],["b7a1","楚楷楠楔極椰概楊楨楫楞楓楹榆楝楣楛歇歲毀殿毓毽溢溯滓溶滂源溝滇滅溥溘溼溺溫滑準溜滄滔溪溧溴煎煙煩煤煉照煜煬煦煌煥煞煆煨煖爺牒猷獅猿猾瑯瑚瑕瑟瑞瑁琿瑙瑛瑜當畸瘀痰瘁痲痱痺痿痴痳盞盟睛睫睦睞督"],["b840","睹睪睬睜睥睨睢矮碎碰碗碘碌碉硼碑碓硿祺祿禁萬禽稜稚稠稔稟稞窟窠筷節筠筮筧粱粳粵經絹綑綁綏絛置罩罪署義羨群聖聘肆肄腱腰腸腥腮腳腫"],["b8a1","腹腺腦舅艇蒂葷落萱葵葦葫葉葬葛萼萵葡董葩葭葆虞虜號蛹蜓蜈蜇蜀蛾蛻蜂蜃蜆蜊衙裟裔裙補裘裝裡裊裕裒覜解詫該詳試詩詰誇詼詣誠話誅詭詢詮詬詹詻訾詨豢貊貉賊資賈賄貲賃賂賅跡跟跨路跳跺跪跤跦躲較載軾輊"],["b940","辟農運遊道遂達逼違遐遇遏過遍遑逾遁鄒鄗酬酪酩釉鈷鉗鈸鈽鉀鈾鉛鉋鉤鉑鈴鉉鉍鉅鈹鈿鉚閘隘隔隕雍雋雉雊雷電雹零靖靴靶預頑頓頊頒頌飼飴"],["b9a1","飽飾馳馱馴髡鳩麂鼎鼓鼠僧僮僥僖僭僚僕像僑僱僎僩兢凳劃劂匱厭嗾嘀嘛嘗嗽嘔嘆嘉嘍嘎嗷嘖嘟嘈嘐嗶團圖塵塾境墓墊塹墅塽壽夥夢夤奪奩嫡嫦嫩嫗嫖嫘嫣孵寞寧寡寥實寨寢寤察對屢嶄嶇幛幣幕幗幔廓廖弊彆彰徹慇"],["ba40","愿態慷慢慣慟慚慘慵截撇摘摔撤摸摟摺摑摧搴摭摻敲斡旗旖暢暨暝榜榨榕槁榮槓構榛榷榻榫榴槐槍榭槌榦槃榣歉歌氳漳演滾漓滴漩漾漠漬漏漂漢"],["baa1","滿滯漆漱漸漲漣漕漫漯澈漪滬漁滲滌滷熔熙煽熊熄熒爾犒犖獄獐瑤瑣瑪瑰瑭甄疑瘧瘍瘋瘉瘓盡監瞄睽睿睡磁碟碧碳碩碣禎福禍種稱窪窩竭端管箕箋筵算箝箔箏箸箇箄粹粽精綻綰綜綽綾綠緊綴網綱綺綢綿綵綸維緒緇綬"],["bb40","罰翠翡翟聞聚肇腐膀膏膈膊腿膂臧臺與舔舞艋蓉蒿蓆蓄蒙蒞蒲蒜蓋蒸蓀蓓蒐蒼蓑蓊蜿蜜蜻蜢蜥蜴蜘蝕蜷蜩裳褂裴裹裸製裨褚裯誦誌語誣認誡誓誤"],["bba1","說誥誨誘誑誚誧豪貍貌賓賑賒赫趙趕跼輔輒輕輓辣遠遘遜遣遙遞遢遝遛鄙鄘鄞酵酸酷酴鉸銀銅銘銖鉻銓銜銨鉼銑閡閨閩閣閥閤隙障際雌雒需靼鞅韶頗領颯颱餃餅餌餉駁骯骰髦魁魂鳴鳶鳳麼鼻齊億儀僻僵價儂儈儉儅凜"],["bc40","劇劈劉劍劊勰厲嘮嘻嘹嘲嘿嘴嘩噓噎噗噴嘶嘯嘰墀墟增墳墜墮墩墦奭嬉嫻嬋嫵嬌嬈寮寬審寫層履嶝嶔幢幟幡廢廚廟廝廣廠彈影德徵慶慧慮慝慕憂"],["bca1","慼慰慫慾憧憐憫憎憬憚憤憔憮戮摩摯摹撞撲撈撐撰撥撓撕撩撒撮播撫撚撬撙撢撳敵敷數暮暫暴暱樣樟槨樁樞標槽模樓樊槳樂樅槭樑歐歎殤毅毆漿潼澄潑潦潔澆潭潛潸潮澎潺潰潤澗潘滕潯潠潟熟熬熱熨牖犛獎獗瑩璋璃"],["bd40","瑾璀畿瘠瘩瘟瘤瘦瘡瘢皚皺盤瞎瞇瞌瞑瞋磋磅確磊碾磕碼磐稿稼穀稽稷稻窯窮箭箱範箴篆篇篁箠篌糊締練緯緻緘緬緝編緣線緞緩綞緙緲緹罵罷羯"],["bda1","翩耦膛膜膝膠膚膘蔗蔽蔚蓮蔬蔭蔓蔑蔣蔡蔔蓬蔥蓿蔆螂蝴蝶蝠蝦蝸蝨蝙蝗蝌蝓衛衝褐複褒褓褕褊誼諒談諄誕請諸課諉諂調誰論諍誶誹諛豌豎豬賠賞賦賤賬賭賢賣賜質賡赭趟趣踫踐踝踢踏踩踟踡踞躺輝輛輟輩輦輪輜輞"],["be40","輥適遮遨遭遷鄰鄭鄧鄱醇醉醋醃鋅銻銷鋪銬鋤鋁銳銼鋒鋇鋰銲閭閱霄霆震霉靠鞍鞋鞏頡頫頜颳養餓餒餘駝駐駟駛駑駕駒駙骷髮髯鬧魅魄魷魯鴆鴉"],["bea1","鴃麩麾黎墨齒儒儘儔儐儕冀冪凝劑劓勳噙噫噹噩噤噸噪器噥噱噯噬噢噶壁墾壇壅奮嬝嬴學寰導彊憲憑憩憊懍憶憾懊懈戰擅擁擋撻撼據擄擇擂操撿擒擔撾整曆曉暹曄曇暸樽樸樺橙橫橘樹橄橢橡橋橇樵機橈歙歷氅濂澱澡"],["bf40","濃澤濁澧澳激澹澶澦澠澴熾燉燐燒燈燕熹燎燙燜燃燄獨璜璣璘璟璞瓢甌甍瘴瘸瘺盧盥瞠瞞瞟瞥磨磚磬磧禦積穎穆穌穋窺篙簑築篤篛篡篩篦糕糖縊"],["bfa1","縑縈縛縣縞縝縉縐罹羲翰翱翮耨膳膩膨臻興艘艙蕊蕙蕈蕨蕩蕃蕉蕭蕪蕞螃螟螞螢融衡褪褲褥褫褡親覦諦諺諫諱謀諜諧諮諾謁謂諷諭諳諶諼豫豭貓賴蹄踱踴蹂踹踵輻輯輸輳辨辦遵遴選遲遼遺鄴醒錠錶鋸錳錯錢鋼錫錄錚"],["c040","錐錦錡錕錮錙閻隧隨險雕霎霑霖霍霓霏靛靜靦鞘頰頸頻頷頭頹頤餐館餞餛餡餚駭駢駱骸骼髻髭鬨鮑鴕鴣鴦鴨鴒鴛默黔龍龜優償儡儲勵嚎嚀嚐嚅嚇"],["c0a1","嚏壕壓壑壎嬰嬪嬤孺尷屨嶼嶺嶽嶸幫彌徽應懂懇懦懋戲戴擎擊擘擠擰擦擬擱擢擭斂斃曙曖檀檔檄檢檜櫛檣橾檗檐檠歜殮毚氈濘濱濟濠濛濤濫濯澀濬濡濩濕濮濰燧營燮燦燥燭燬燴燠爵牆獰獲璩環璦璨癆療癌盪瞳瞪瞰瞬"],["c140","瞧瞭矯磷磺磴磯礁禧禪穗窿簇簍篾篷簌篠糠糜糞糢糟糙糝縮績繆縷縲繃縫總縱繅繁縴縹繈縵縿縯罄翳翼聱聲聰聯聳臆臃膺臂臀膿膽臉膾臨舉艱薪"],["c1a1","薄蕾薜薑薔薯薛薇薨薊虧蟀蟑螳蟒蟆螫螻螺蟈蟋褻褶襄褸褽覬謎謗謙講謊謠謝謄謐豁谿豳賺賽購賸賻趨蹉蹋蹈蹊轄輾轂轅輿避遽還邁邂邀鄹醣醞醜鍍鎂錨鍵鍊鍥鍋錘鍾鍬鍛鍰鍚鍔闊闋闌闈闆隱隸雖霜霞鞠韓顆颶餵騁"],["c240","駿鮮鮫鮪鮭鴻鴿麋黏點黜黝黛鼾齋叢嚕嚮壙壘嬸彝懣戳擴擲擾攆擺擻擷斷曜朦檳檬櫃檻檸櫂檮檯歟歸殯瀉瀋濾瀆濺瀑瀏燻燼燾燸獷獵璧璿甕癖癘"],["c2a1","癒瞽瞿瞻瞼礎禮穡穢穠竄竅簫簧簪簞簣簡糧織繕繞繚繡繒繙罈翹翻職聶臍臏舊藏薩藍藐藉薰薺薹薦蟯蟬蟲蟠覆覲觴謨謹謬謫豐贅蹙蹣蹦蹤蹟蹕軀轉轍邇邃邈醫醬釐鎔鎊鎖鎢鎳鎮鎬鎰鎘鎚鎗闔闖闐闕離雜雙雛雞霤鞣鞦"],["c340","鞭韹額顏題顎顓颺餾餿餽餮馥騎髁鬃鬆魏魎魍鯊鯉鯽鯈鯀鵑鵝鵠黠鼕鼬儳嚥壞壟壢寵龐廬懲懷懶懵攀攏曠曝櫥櫝櫚櫓瀛瀟瀨瀚瀝瀕瀘爆爍牘犢獸"],["c3a1","獺璽瓊瓣疇疆癟癡矇礙禱穫穩簾簿簸簽簷籀繫繭繹繩繪羅繳羶羹羸臘藩藝藪藕藤藥藷蟻蠅蠍蟹蟾襠襟襖襞譁譜識證譚譎譏譆譙贈贊蹼蹲躇蹶蹬蹺蹴轔轎辭邊邋醱醮鏡鏑鏟鏃鏈鏜鏝鏖鏢鏍鏘鏤鏗鏨關隴難霪霧靡韜韻類"],["c440","願顛颼饅饉騖騙鬍鯨鯧鯖鯛鶉鵡鵲鵪鵬麒麗麓麴勸嚨嚷嚶嚴嚼壤孀孃孽寶巉懸懺攘攔攙曦朧櫬瀾瀰瀲爐獻瓏癢癥礦礪礬礫竇競籌籃籍糯糰辮繽繼"],["c4a1","纂罌耀臚艦藻藹蘑藺蘆蘋蘇蘊蠔蠕襤覺觸議譬警譯譟譫贏贍躉躁躅躂醴釋鐘鐃鏽闡霰飄饒饑馨騫騰騷騵鰓鰍鹹麵黨鼯齟齣齡儷儸囁囀囂夔屬巍懼懾攝攜斕曩櫻欄櫺殲灌爛犧瓖瓔癩矓籐纏續羼蘗蘭蘚蠣蠢蠡蠟襪襬覽譴"],["c540","護譽贓躊躍躋轟辯醺鐮鐳鐵鐺鐸鐲鐫闢霸霹露響顧顥饗驅驃驀騾髏魔魑鰭鰥鶯鶴鷂鶸麝黯鼙齜齦齧儼儻囈囊囉孿巔巒彎懿攤權歡灑灘玀瓤疊癮癬"],["c5a1","禳籠籟聾聽臟襲襯觼讀贖贗躑躓轡酈鑄鑑鑒霽霾韃韁顫饕驕驍髒鬚鱉鰱鰾鰻鷓鷗鼴齬齪龔囌巖戀攣攫攪曬欐瓚竊籤籣籥纓纖纔臢蘸蘿蠱變邐邏鑣鑠鑤靨顯饜驚驛驗髓體髑鱔鱗鱖鷥麟黴囑壩攬灞癱癲矗罐羈蠶蠹衢讓讒"],["c640","讖艷贛釀鑪靂靈靄韆顰驟鬢魘鱟鷹鷺鹼鹽鼇齷齲廳欖灣籬籮蠻觀躡釁鑲鑰顱饞髖鬣黌灤矚讚鑷韉驢驥纜讜躪釅鑽鑾鑼鱷鱸黷豔鑿鸚爨驪鬱鸛鸞籲"],["c940","乂乜凵匚厂万丌乇亍囗兀屮彳丏冇与丮亓仂仉仈冘勼卬厹圠夃夬尐巿旡殳毌气爿丱丼仨仜仩仡仝仚刌匜卌圢圣夗夯宁宄尒尻屴屳帄庀庂忉戉扐氕"],["c9a1","氶汃氿氻犮犰玊禸肊阞伎优伬仵伔仱伀价伈伝伂伅伢伓伄仴伒冱刓刉刐劦匢匟卍厊吇囡囟圮圪圴夼妀奼妅奻奾奷奿孖尕尥屼屺屻屾巟幵庄异弚彴忕忔忏扜扞扤扡扦扢扙扠扚扥旯旮朾朹朸朻机朿朼朳氘汆汒汜汏汊汔汋"],["ca40","汌灱牞犴犵玎甪癿穵网艸艼芀艽艿虍襾邙邗邘邛邔阢阤阠阣佖伻佢佉体佤伾佧佒佟佁佘伭伳伿佡冏冹刜刞刡劭劮匉卣卲厎厏吰吷吪呔呅吙吜吥吘"],["caa1","吽呏呁吨吤呇囮囧囥坁坅坌坉坋坒夆奀妦妘妠妗妎妢妐妏妧妡宎宒尨尪岍岏岈岋岉岒岊岆岓岕巠帊帎庋庉庌庈庍弅弝彸彶忒忑忐忭忨忮忳忡忤忣忺忯忷忻怀忴戺抃抌抎抏抔抇扱扻扺扰抁抈扷扽扲扴攷旰旴旳旲旵杅杇"],["cb40","杙杕杌杈杝杍杚杋毐氙氚汸汧汫沄沋沏汱汯汩沚汭沇沕沜汦汳汥汻沎灴灺牣犿犽狃狆狁犺狅玕玗玓玔玒町甹疔疕皁礽耴肕肙肐肒肜芐芏芅芎芑芓"],["cba1","芊芃芄豸迉辿邟邡邥邞邧邠阰阨阯阭丳侘佼侅佽侀侇佶佴侉侄佷佌侗佪侚佹侁佸侐侜侔侞侒侂侕佫佮冞冼冾刵刲刳剆刱劼匊匋匼厒厔咇呿咁咑咂咈呫呺呾呥呬呴呦咍呯呡呠咘呣呧呤囷囹坯坲坭坫坱坰坶垀坵坻坳坴坢"],["cc40","坨坽夌奅妵妺姏姎妲姌姁妶妼姃姖妱妽姀姈妴姇孢孥宓宕屄屇岮岤岠岵岯岨岬岟岣岭岢岪岧岝岥岶岰岦帗帔帙弨弢弣弤彔徂彾彽忞忥怭怦怙怲怋"],["cca1","怴怊怗怳怚怞怬怢怍怐怮怓怑怌怉怜戔戽抭抴拑抾抪抶拊抮抳抯抻抩抰抸攽斨斻昉旼昄昒昈旻昃昋昍昅旽昑昐曶朊枅杬枎枒杶杻枘枆构杴枍枌杺枟枑枙枃杽极杸杹枔欥殀歾毞氝沓泬泫泮泙沶泔沭泧沷泐泂沺泃泆泭泲"],["cd40","泒泝沴沊沝沀泞泀洰泍泇沰泹泏泩泑炔炘炅炓炆炄炑炖炂炚炃牪狖狋狘狉狜狒狔狚狌狑玤玡玭玦玢玠玬玝瓝瓨甿畀甾疌疘皯盳盱盰盵矸矼矹矻矺"],["cda1","矷祂礿秅穸穻竻籵糽耵肏肮肣肸肵肭舠芠苀芫芚芘芛芵芧芮芼芞芺芴芨芡芩苂芤苃芶芢虰虯虭虮豖迒迋迓迍迖迕迗邲邴邯邳邰阹阽阼阺陃俍俅俓侲俉俋俁俔俜俙侻侳俛俇俖侺俀侹俬剄剉勀勂匽卼厗厖厙厘咺咡咭咥哏"],["ce40","哃茍咷咮哖咶哅哆咠呰咼咢咾呲哞咰垵垞垟垤垌垗垝垛垔垘垏垙垥垚垕壴复奓姡姞姮娀姱姝姺姽姼姶姤姲姷姛姩姳姵姠姾姴姭宨屌峐峘峌峗峋峛"],["cea1","峞峚峉峇峊峖峓峔峏峈峆峎峟峸巹帡帢帣帠帤庰庤庢庛庣庥弇弮彖徆怷怹恔恲恞恅恓恇恉恛恌恀恂恟怤恄恘恦恮扂扃拏挍挋拵挎挃拫拹挏挌拸拶挀挓挔拺挕拻拰敁敃斪斿昶昡昲昵昜昦昢昳昫昺昝昴昹昮朏朐柁柲柈枺"],["cf40","柜枻柸柘柀枷柅柫柤柟枵柍枳柷柶柮柣柂枹柎柧柰枲柼柆柭柌枮柦柛柺柉柊柃柪柋欨殂殄殶毖毘毠氠氡洨洴洭洟洼洿洒洊泚洳洄洙洺洚洑洀洝浂"],["cfa1","洁洘洷洃洏浀洇洠洬洈洢洉洐炷炟炾炱炰炡炴炵炩牁牉牊牬牰牳牮狊狤狨狫狟狪狦狣玅珌珂珈珅玹玶玵玴珫玿珇玾珃珆玸珋瓬瓮甮畇畈疧疪癹盄眈眃眄眅眊盷盻盺矧矨砆砑砒砅砐砏砎砉砃砓祊祌祋祅祄秕种秏秖秎窀"],["d040","穾竑笀笁籺籸籹籿粀粁紃紈紁罘羑羍羾耇耎耏耔耷胘胇胠胑胈胂胐胅胣胙胜胊胕胉胏胗胦胍臿舡芔苙苾苹茇苨茀苕茺苫苖苴苬苡苲苵茌苻苶苰苪"],["d0a1","苤苠苺苳苭虷虴虼虳衁衎衧衪衩觓訄訇赲迣迡迮迠郱邽邿郕郅邾郇郋郈釔釓陔陏陑陓陊陎倞倅倇倓倢倰倛俵俴倳倷倬俶俷倗倜倠倧倵倯倱倎党冔冓凊凄凅凈凎剡剚剒剞剟剕剢勍匎厞唦哢唗唒哧哳哤唚哿唄唈哫唑唅哱"],["d140","唊哻哷哸哠唎唃唋圁圂埌堲埕埒垺埆垽垼垸垶垿埇埐垹埁夎奊娙娖娭娮娕娏娗娊娞娳孬宧宭宬尃屖屔峬峿峮峱峷崀峹帩帨庨庮庪庬弳弰彧恝恚恧"],["d1a1","恁悢悈悀悒悁悝悃悕悛悗悇悜悎戙扆拲挐捖挬捄捅挶捃揤挹捋捊挼挩捁挴捘捔捙挭捇挳捚捑挸捗捀捈敊敆旆旃旄旂晊晟晇晑朒朓栟栚桉栲栳栻桋桏栖栱栜栵栫栭栯桎桄栴栝栒栔栦栨栮桍栺栥栠欬欯欭欱欴歭肂殈毦毤"],["d240","毨毣毢毧氥浺浣浤浶洍浡涒浘浢浭浯涑涍淯浿涆浞浧浠涗浰浼浟涂涘洯浨涋浾涀涄洖涃浻浽浵涐烜烓烑烝烋缹烢烗烒烞烠烔烍烅烆烇烚烎烡牂牸"],["d2a1","牷牶猀狺狴狾狶狳狻猁珓珙珥珖玼珧珣珩珜珒珛珔珝珚珗珘珨瓞瓟瓴瓵甡畛畟疰痁疻痄痀疿疶疺皊盉眝眛眐眓眒眣眑眕眙眚眢眧砣砬砢砵砯砨砮砫砡砩砳砪砱祔祛祏祜祓祒祑秫秬秠秮秭秪秜秞秝窆窉窅窋窌窊窇竘笐"],["d340","笄笓笅笏笈笊笎笉笒粄粑粊粌粈粍粅紞紝紑紎紘紖紓紟紒紏紌罜罡罞罠罝罛羖羒翃翂翀耖耾耹胺胲胹胵脁胻脀舁舯舥茳茭荄茙荑茥荖茿荁茦茜茢"],["d3a1","荂荎茛茪茈茼荍茖茤茠茷茯茩荇荅荌荓茞茬荋茧荈虓虒蚢蚨蚖蚍蚑蚞蚇蚗蚆蚋蚚蚅蚥蚙蚡蚧蚕蚘蚎蚝蚐蚔衃衄衭衵衶衲袀衱衿衯袃衾衴衼訒豇豗豻貤貣赶赸趵趷趶軑軓迾迵适迿迻逄迼迶郖郠郙郚郣郟郥郘郛郗郜郤酐"],["d440","酎酏釕釢釚陜陟隼飣髟鬯乿偰偪偡偞偠偓偋偝偲偈偍偁偛偊偢倕偅偟偩偫偣偤偆偀偮偳偗偑凐剫剭剬剮勖勓匭厜啵啶唼啍啐唴唪啑啢唶唵唰啒啅"],["d4a1","唌唲啥啎唹啈唭唻啀啋圊圇埻堔埢埶埜埴堀埭埽堈埸堋埳埏堇埮埣埲埥埬埡堎埼堐埧堁堌埱埩埰堍堄奜婠婘婕婧婞娸娵婭婐婟婥婬婓婤婗婃婝婒婄婛婈媎娾婍娹婌婰婩婇婑婖婂婜孲孮寁寀屙崞崋崝崚崠崌崨崍崦崥崏"],["d540","崰崒崣崟崮帾帴庱庴庹庲庳弶弸徛徖徟悊悐悆悾悰悺惓惔惏惤惙惝惈悱惛悷惊悿惃惍惀挲捥掊掂捽掽掞掭掝掗掫掎捯掇掐据掯捵掜捭掮捼掤挻掟"],["d5a1","捸掅掁掑掍捰敓旍晥晡晛晙晜晢朘桹梇梐梜桭桮梮梫楖桯梣梬梩桵桴梲梏桷梒桼桫桲梪梀桱桾梛梖梋梠梉梤桸桻梑梌梊桽欶欳欷欸殑殏殍殎殌氪淀涫涴涳湴涬淩淢涷淶淔渀淈淠淟淖涾淥淜淝淛淴淊涽淭淰涺淕淂淏淉"],["d640","淐淲淓淽淗淍淣涻烺焍烷焗烴焌烰焄烳焐烼烿焆焓焀烸烶焋焂焎牾牻牼牿猝猗猇猑猘猊猈狿猏猞玈珶珸珵琄琁珽琇琀珺珼珿琌琋珴琈畤畣痎痒痏"],["d6a1","痋痌痑痐皏皉盓眹眯眭眱眲眴眳眽眥眻眵硈硒硉硍硊硌砦硅硐祤祧祩祪祣祫祡离秺秸秶秷窏窔窐笵筇笴笥笰笢笤笳笘笪笝笱笫笭笯笲笸笚笣粔粘粖粣紵紽紸紶紺絅紬紩絁絇紾紿絊紻紨罣羕羜羝羛翊翋翍翐翑翇翏翉耟"],["d740","耞耛聇聃聈脘脥脙脛脭脟脬脞脡脕脧脝脢舑舸舳舺舴舲艴莐莣莨莍荺荳莤荴莏莁莕莙荵莔莩荽莃莌莝莛莪莋荾莥莯莈莗莰荿莦莇莮荶莚虙虖蚿蚷"],["d7a1","蛂蛁蛅蚺蚰蛈蚹蚳蚸蛌蚴蚻蚼蛃蚽蚾衒袉袕袨袢袪袚袑袡袟袘袧袙袛袗袤袬袌袓袎覂觖觙觕訰訧訬訞谹谻豜豝豽貥赽赻赹趼跂趹趿跁軘軞軝軜軗軠軡逤逋逑逜逌逡郯郪郰郴郲郳郔郫郬郩酖酘酚酓酕釬釴釱釳釸釤釹釪"],["d840","釫釷釨釮镺閆閈陼陭陫陱陯隿靪頄飥馗傛傕傔傞傋傣傃傌傎傝偨傜傒傂傇兟凔匒匑厤厧喑喨喥喭啷噅喢喓喈喏喵喁喣喒喤啽喌喦啿喕喡喎圌堩堷"],["d8a1","堙堞堧堣堨埵塈堥堜堛堳堿堶堮堹堸堭堬堻奡媯媔媟婺媢媞婸媦婼媥媬媕媮娷媄媊媗媃媋媩婻婽媌媜媏媓媝寪寍寋寔寑寊寎尌尰崷嵃嵫嵁嵋崿崵嵑嵎嵕崳崺嵒崽崱嵙嵂崹嵉崸崼崲崶嵀嵅幄幁彘徦徥徫惉悹惌惢惎惄愔"],["d940","惲愊愖愅惵愓惸惼惾惁愃愘愝愐惿愄愋扊掔掱掰揎揥揨揯揃撝揳揊揠揶揕揲揵摡揟掾揝揜揄揘揓揂揇揌揋揈揰揗揙攲敧敪敤敜敨敥斌斝斞斮旐旒"],["d9a1","晼晬晻暀晱晹晪晲朁椌棓椄棜椪棬棪棱椏棖棷棫棤棶椓椐棳棡椇棌椈楰梴椑棯棆椔棸棐棽棼棨椋椊椗棎棈棝棞棦棴棑椆棔棩椕椥棇欹欻欿欼殔殗殙殕殽毰毲毳氰淼湆湇渟湉溈渼渽湅湢渫渿湁湝湳渜渳湋湀湑渻渃渮湞"],["da40","湨湜湡渱渨湠湱湫渹渢渰湓湥渧湸湤湷湕湹湒湦渵渶湚焠焞焯烻焮焱焣焥焢焲焟焨焺焛牋牚犈犉犆犅犋猒猋猰猢猱猳猧猲猭猦猣猵猌琮琬琰琫琖"],["daa1","琚琡琭琱琤琣琝琩琠琲瓻甯畯畬痧痚痡痦痝痟痤痗皕皒盚睆睇睄睍睅睊睎睋睌矞矬硠硤硥硜硭硱硪确硰硩硨硞硢祴祳祲祰稂稊稃稌稄窙竦竤筊笻筄筈筌筎筀筘筅粢粞粨粡絘絯絣絓絖絧絪絏絭絜絫絒絔絩絑絟絎缾缿罥"],["db40","罦羢羠羡翗聑聏聐胾胔腃腊腒腏腇脽腍脺臦臮臷臸臹舄舼舽舿艵茻菏菹萣菀菨萒菧菤菼菶萐菆菈菫菣莿萁菝菥菘菿菡菋菎菖菵菉萉萏菞萑萆菂菳"],["dba1","菕菺菇菑菪萓菃菬菮菄菻菗菢萛菛菾蛘蛢蛦蛓蛣蛚蛪蛝蛫蛜蛬蛩蛗蛨蛑衈衖衕袺裗袹袸裀袾袶袼袷袽袲褁裉覕覘覗觝觚觛詎詍訹詙詀詗詘詄詅詒詈詑詊詌詏豟貁貀貺貾貰貹貵趄趀趉跘跓跍跇跖跜跏跕跙跈跗跅軯軷軺"],["dc40","軹軦軮軥軵軧軨軶軫軱軬軴軩逭逴逯鄆鄬鄄郿郼鄈郹郻鄁鄀鄇鄅鄃酡酤酟酢酠鈁鈊鈥鈃鈚鈦鈏鈌鈀鈒釿釽鈆鈄鈧鈂鈜鈤鈙鈗鈅鈖镻閍閌閐隇陾隈"],["dca1","隉隃隀雂雈雃雱雰靬靰靮頇颩飫鳦黹亃亄亶傽傿僆傮僄僊傴僈僂傰僁傺傱僋僉傶傸凗剺剸剻剼嗃嗛嗌嗐嗋嗊嗝嗀嗔嗄嗩喿嗒喍嗏嗕嗢嗖嗈嗲嗍嗙嗂圔塓塨塤塏塍塉塯塕塎塝塙塥塛堽塣塱壼嫇嫄嫋媺媸媱媵媰媿嫈媻嫆"],["dd40","媷嫀嫊媴媶嫍媹媐寖寘寙尟尳嵱嵣嵊嵥嵲嵬嵞嵨嵧嵢巰幏幎幊幍幋廅廌廆廋廇彀徯徭惷慉慊愫慅愶愲愮慆愯慏愩慀戠酨戣戥戤揅揱揫搐搒搉搠搤"],["dda1","搳摃搟搕搘搹搷搢搣搌搦搰搨摁搵搯搊搚摀搥搧搋揧搛搮搡搎敯斒旓暆暌暕暐暋暊暙暔晸朠楦楟椸楎楢楱椿楅楪椹楂楗楙楺楈楉椵楬椳椽楥棰楸椴楩楀楯楄楶楘楁楴楌椻楋椷楜楏楑椲楒椯楻椼歆歅歃歂歈歁殛嗀毻毼"],["de40","毹毷毸溛滖滈溏滀溟溓溔溠溱溹滆滒溽滁溞滉溷溰滍溦滏溲溾滃滜滘溙溒溎溍溤溡溿溳滐滊溗溮溣煇煔煒煣煠煁煝煢煲煸煪煡煂煘煃煋煰煟煐煓"],["dea1","煄煍煚牏犍犌犑犐犎猼獂猻猺獀獊獉瑄瑊瑋瑒瑑瑗瑀瑏瑐瑎瑂瑆瑍瑔瓡瓿瓾瓽甝畹畷榃痯瘏瘃痷痾痼痹痸瘐痻痶痭痵痽皙皵盝睕睟睠睒睖睚睩睧睔睙睭矠碇碚碔碏碄碕碅碆碡碃硹碙碀碖硻祼禂祽祹稑稘稙稒稗稕稢稓"],["df40","稛稐窣窢窞竫筦筤筭筴筩筲筥筳筱筰筡筸筶筣粲粴粯綈綆綀綍絿綅絺綎絻綃絼綌綔綄絽綒罭罫罧罨罬羦羥羧翛翜耡腤腠腷腜腩腛腢腲朡腞腶腧腯"],["dfa1","腄腡舝艉艄艀艂艅蓱萿葖葶葹蒏蒍葥葑葀蒆葧萰葍葽葚葙葴葳葝蔇葞萷萺萴葺葃葸萲葅萩菙葋萯葂萭葟葰萹葎葌葒葯蓅蒎萻葇萶萳葨葾葄萫葠葔葮葐蜋蜄蛷蜌蛺蛖蛵蝍蛸蜎蜉蜁蛶蜍蜅裖裋裍裎裞裛裚裌裐覅覛觟觥觤"],["e040","觡觠觢觜触詶誆詿詡訿詷誂誄詵誃誁詴詺谼豋豊豥豤豦貆貄貅賌赨赩趑趌趎趏趍趓趔趐趒跰跠跬跱跮跐跩跣跢跧跲跫跴輆軿輁輀輅輇輈輂輋遒逿"],["e0a1","遄遉逽鄐鄍鄏鄑鄖鄔鄋鄎酮酯鉈鉒鈰鈺鉦鈳鉥鉞銃鈮鉊鉆鉭鉬鉏鉠鉧鉯鈶鉡鉰鈱鉔鉣鉐鉲鉎鉓鉌鉖鈲閟閜閞閛隒隓隑隗雎雺雽雸雵靳靷靸靲頏頍頎颬飶飹馯馲馰馵骭骫魛鳪鳭鳧麀黽僦僔僗僨僳僛僪僝僤僓僬僰僯僣僠"],["e140","凘劀劁勩勫匰厬嘧嘕嘌嘒嗼嘏嘜嘁嘓嘂嗺嘝嘄嗿嗹墉塼墐墘墆墁塿塴墋塺墇墑墎塶墂墈塻墔墏壾奫嫜嫮嫥嫕嫪嫚嫭嫫嫳嫢嫠嫛嫬嫞嫝嫙嫨嫟孷寠"],["e1a1","寣屣嶂嶀嵽嶆嵺嶁嵷嶊嶉嶈嵾嵼嶍嵹嵿幘幙幓廘廑廗廎廜廕廙廒廔彄彃彯徶愬愨慁慞慱慳慒慓慲慬憀慴慔慺慛慥愻慪慡慖戩戧戫搫摍摛摝摴摶摲摳摽摵摦撦摎撂摞摜摋摓摠摐摿搿摬摫摙摥摷敳斠暡暠暟朅朄朢榱榶槉"],["e240","榠槎榖榰榬榼榑榙榎榧榍榩榾榯榿槄榽榤槔榹槊榚槏榳榓榪榡榞槙榗榐槂榵榥槆歊歍歋殞殟殠毃毄毾滎滵滱漃漥滸漷滻漮漉潎漙漚漧漘漻漒滭漊"],["e2a1","漶潳滹滮漭潀漰漼漵滫漇漎潃漅滽滶漹漜滼漺漟漍漞漈漡熇熐熉熀熅熂熏煻熆熁熗牄牓犗犕犓獃獍獑獌瑢瑳瑱瑵瑲瑧瑮甀甂甃畽疐瘖瘈瘌瘕瘑瘊瘔皸瞁睼瞅瞂睮瞀睯睾瞃碲碪碴碭碨硾碫碞碥碠碬碢碤禘禊禋禖禕禔禓"],["e340","禗禈禒禐稫穊稰稯稨稦窨窫窬竮箈箜箊箑箐箖箍箌箛箎箅箘劄箙箤箂粻粿粼粺綧綷緂綣綪緁緀緅綝緎緄緆緋緌綯綹綖綼綟綦綮綩綡緉罳翢翣翥翞"],["e3a1","耤聝聜膉膆膃膇膍膌膋舕蒗蒤蒡蒟蒺蓎蓂蒬蒮蒫蒹蒴蓁蓍蒪蒚蒱蓐蒝蒧蒻蒢蒔蓇蓌蒛蒩蒯蒨蓖蒘蒶蓏蒠蓗蓔蓒蓛蒰蒑虡蜳蜣蜨蝫蝀蜮蜞蜡蜙蜛蝃蜬蝁蜾蝆蜠蜲蜪蜭蜼蜒蜺蜱蜵蝂蜦蜧蜸蜤蜚蜰蜑裷裧裱裲裺裾裮裼裶裻"],["e440","裰裬裫覝覡覟覞觩觫觨誫誙誋誒誏誖谽豨豩賕賏賗趖踉踂跿踍跽踊踃踇踆踅跾踀踄輐輑輎輍鄣鄜鄠鄢鄟鄝鄚鄤鄡鄛酺酲酹酳銥銤鉶銛鉺銠銔銪銍"],["e4a1","銦銚銫鉹銗鉿銣鋮銎銂銕銢鉽銈銡銊銆銌銙銧鉾銇銩銝銋鈭隞隡雿靘靽靺靾鞃鞀鞂靻鞄鞁靿韎韍頖颭颮餂餀餇馝馜駃馹馻馺駂馽駇骱髣髧鬾鬿魠魡魟鳱鳲鳵麧僿儃儰僸儆儇僶僾儋儌僽儊劋劌勱勯噈噂噌嘵噁噊噉噆噘"],["e540","噚噀嘳嘽嘬嘾嘸嘪嘺圚墫墝墱墠墣墯墬墥墡壿嫿嫴嫽嫷嫶嬃嫸嬂嫹嬁嬇嬅嬏屧嶙嶗嶟嶒嶢嶓嶕嶠嶜嶡嶚嶞幩幝幠幜緳廛廞廡彉徲憋憃慹憱憰憢憉"],["e5a1","憛憓憯憭憟憒憪憡憍慦憳戭摮摰撖撠撅撗撜撏撋撊撌撣撟摨撱撘敶敺敹敻斲斳暵暰暩暲暷暪暯樀樆樗槥槸樕槱槤樠槿槬槢樛樝槾樧槲槮樔槷槧橀樈槦槻樍槼槫樉樄樘樥樏槶樦樇槴樖歑殥殣殢殦氁氀毿氂潁漦潾澇濆澒"],["e640","澍澉澌潢潏澅潚澖潶潬澂潕潲潒潐潗澔澓潝漀潡潫潽潧澐潓澋潩潿澕潣潷潪潻熲熯熛熰熠熚熩熵熝熥熞熤熡熪熜熧熳犘犚獘獒獞獟獠獝獛獡獚獙"],["e6a1","獢璇璉璊璆璁瑽璅璈瑼瑹甈甇畾瘥瘞瘙瘝瘜瘣瘚瘨瘛皜皝皞皛瞍瞏瞉瞈磍碻磏磌磑磎磔磈磃磄磉禚禡禠禜禢禛歶稹窲窴窳箷篋箾箬篎箯箹篊箵糅糈糌糋緷緛緪緧緗緡縃緺緦緶緱緰緮緟罶羬羰羭翭翫翪翬翦翨聤聧膣膟"],["e740","膞膕膢膙膗舖艏艓艒艐艎艑蔤蔻蔏蔀蔩蔎蔉蔍蔟蔊蔧蔜蓻蔫蓺蔈蔌蓴蔪蓲蔕蓷蓫蓳蓼蔒蓪蓩蔖蓾蔨蔝蔮蔂蓽蔞蓶蔱蔦蓧蓨蓰蓯蓹蔘蔠蔰蔋蔙蔯虢"],["e7a1","蝖蝣蝤蝷蟡蝳蝘蝔蝛蝒蝡蝚蝑蝞蝭蝪蝐蝎蝟蝝蝯蝬蝺蝮蝜蝥蝏蝻蝵蝢蝧蝩衚褅褌褔褋褗褘褙褆褖褑褎褉覢覤覣觭觰觬諏諆誸諓諑諔諕誻諗誾諀諅諘諃誺誽諙谾豍貏賥賟賙賨賚賝賧趠趜趡趛踠踣踥踤踮踕踛踖踑踙踦踧"],["e840","踔踒踘踓踜踗踚輬輤輘輚輠輣輖輗遳遰遯遧遫鄯鄫鄩鄪鄲鄦鄮醅醆醊醁醂醄醀鋐鋃鋄鋀鋙銶鋏鋱鋟鋘鋩鋗鋝鋌鋯鋂鋨鋊鋈鋎鋦鋍鋕鋉鋠鋞鋧鋑鋓"],["e8a1","銵鋡鋆銴镼閬閫閮閰隤隢雓霅霈霂靚鞊鞎鞈韐韏頞頝頦頩頨頠頛頧颲餈飺餑餔餖餗餕駜駍駏駓駔駎駉駖駘駋駗駌骳髬髫髳髲髱魆魃魧魴魱魦魶魵魰魨魤魬鳼鳺鳽鳿鳷鴇鴀鳹鳻鴈鴅鴄麃黓鼏鼐儜儓儗儚儑凞匴叡噰噠噮"],["e940","噳噦噣噭噲噞噷圜圛壈墽壉墿墺壂墼壆嬗嬙嬛嬡嬔嬓嬐嬖嬨嬚嬠嬞寯嶬嶱嶩嶧嶵嶰嶮嶪嶨嶲嶭嶯嶴幧幨幦幯廩廧廦廨廥彋徼憝憨憖懅憴懆懁懌憺"],["e9a1","憿憸憌擗擖擐擏擉撽撉擃擛擳擙攳敿敼斢曈暾曀曊曋曏暽暻暺曌朣樴橦橉橧樲橨樾橝橭橶橛橑樨橚樻樿橁橪橤橐橏橔橯橩橠樼橞橖橕橍橎橆歕歔歖殧殪殫毈毇氄氃氆澭濋澣濇澼濎濈潞濄澽澞濊澨瀄澥澮澺澬澪濏澿澸"],["ea40","澢濉澫濍澯澲澰燅燂熿熸燖燀燁燋燔燊燇燏熽燘熼燆燚燛犝犞獩獦獧獬獥獫獪瑿璚璠璔璒璕璡甋疀瘯瘭瘱瘽瘳瘼瘵瘲瘰皻盦瞚瞝瞡瞜瞛瞢瞣瞕瞙"],["eaa1","瞗磝磩磥磪磞磣磛磡磢磭磟磠禤穄穈穇窶窸窵窱窷篞篣篧篝篕篥篚篨篹篔篪篢篜篫篘篟糒糔糗糐糑縒縡縗縌縟縠縓縎縜縕縚縢縋縏縖縍縔縥縤罃罻罼罺羱翯耪耩聬膱膦膮膹膵膫膰膬膴膲膷膧臲艕艖艗蕖蕅蕫蕍蕓蕡蕘"],["eb40","蕀蕆蕤蕁蕢蕄蕑蕇蕣蔾蕛蕱蕎蕮蕵蕕蕧蕠薌蕦蕝蕔蕥蕬虣虥虤螛螏螗螓螒螈螁螖螘蝹螇螣螅螐螑螝螄螔螜螚螉褞褦褰褭褮褧褱褢褩褣褯褬褟觱諠"],["eba1","諢諲諴諵諝謔諤諟諰諈諞諡諨諿諯諻貑貒貐賵賮賱賰賳赬赮趥趧踳踾踸蹀蹅踶踼踽蹁踰踿躽輶輮輵輲輹輷輴遶遹遻邆郺鄳鄵鄶醓醐醑醍醏錧錞錈錟錆錏鍺錸錼錛錣錒錁鍆錭錎錍鋋錝鋺錥錓鋹鋷錴錂錤鋿錩錹錵錪錔錌"],["ec40","錋鋾錉錀鋻錖閼闍閾閹閺閶閿閵閽隩雔霋霒霐鞙鞗鞔韰韸頵頯頲餤餟餧餩馞駮駬駥駤駰駣駪駩駧骹骿骴骻髶髺髹髷鬳鮀鮅鮇魼魾魻鮂鮓鮒鮐魺鮕"],["eca1","魽鮈鴥鴗鴠鴞鴔鴩鴝鴘鴢鴐鴙鴟麈麆麇麮麭黕黖黺鼒鼽儦儥儢儤儠儩勴嚓嚌嚍嚆嚄嚃噾嚂噿嚁壖壔壏壒嬭嬥嬲嬣嬬嬧嬦嬯嬮孻寱寲嶷幬幪徾徻懃憵憼懧懠懥懤懨懞擯擩擣擫擤擨斁斀斶旚曒檍檖檁檥檉檟檛檡檞檇檓檎"],["ed40","檕檃檨檤檑橿檦檚檅檌檒歛殭氉濌澩濴濔濣濜濭濧濦濞濲濝濢濨燡燱燨燲燤燰燢獳獮獯璗璲璫璐璪璭璱璥璯甐甑甒甏疄癃癈癉癇皤盩瞵瞫瞲瞷瞶"],["eda1","瞴瞱瞨矰磳磽礂磻磼磲礅磹磾礄禫禨穜穛穖穘穔穚窾竀竁簅簏篲簀篿篻簎篴簋篳簂簉簃簁篸篽簆篰篱簐簊糨縭縼繂縳顈縸縪繉繀繇縩繌縰縻縶繄縺罅罿罾罽翴翲耬膻臄臌臊臅臇膼臩艛艚艜薃薀薏薧薕薠薋薣蕻薤薚薞"],["ee40","蕷蕼薉薡蕺蕸蕗薎薖薆薍薙薝薁薢薂薈薅蕹蕶薘薐薟虨螾螪螭蟅螰螬螹螵螼螮蟉蟃蟂蟌螷螯蟄蟊螴螶螿螸螽蟞螲褵褳褼褾襁襒褷襂覭覯覮觲觳謞"],["eea1","謘謖謑謅謋謢謏謒謕謇謍謈謆謜謓謚豏豰豲豱豯貕貔賹赯蹎蹍蹓蹐蹌蹇轃轀邅遾鄸醚醢醛醙醟醡醝醠鎡鎃鎯鍤鍖鍇鍼鍘鍜鍶鍉鍐鍑鍠鍭鎏鍌鍪鍹鍗鍕鍒鍏鍱鍷鍻鍡鍞鍣鍧鎀鍎鍙闇闀闉闃闅閷隮隰隬霠霟霘霝霙鞚鞡鞜"],["ef40","鞞鞝韕韔韱顁顄顊顉顅顃餥餫餬餪餳餲餯餭餱餰馘馣馡騂駺駴駷駹駸駶駻駽駾駼騃骾髾髽鬁髼魈鮚鮨鮞鮛鮦鮡鮥鮤鮆鮢鮠鮯鴳鵁鵧鴶鴮鴯鴱鴸鴰"],["efa1","鵅鵂鵃鴾鴷鵀鴽翵鴭麊麉麍麰黈黚黻黿鼤鼣鼢齔龠儱儭儮嚘嚜嚗嚚嚝嚙奰嬼屩屪巀幭幮懘懟懭懮懱懪懰懫懖懩擿攄擽擸攁攃擼斔旛曚曛曘櫅檹檽櫡櫆檺檶檷櫇檴檭歞毉氋瀇瀌瀍瀁瀅瀔瀎濿瀀濻瀦濼濷瀊爁燿燹爃燽獶"],["f040","璸瓀璵瓁璾璶璻瓂甔甓癜癤癙癐癓癗癚皦皽盬矂瞺磿礌礓礔礉礐礒礑禭禬穟簜簩簙簠簟簭簝簦簨簢簥簰繜繐繖繣繘繢繟繑繠繗繓羵羳翷翸聵臑臒"],["f0a1","臐艟艞薴藆藀藃藂薳薵薽藇藄薿藋藎藈藅薱薶藒蘤薸薷薾虩蟧蟦蟢蟛蟫蟪蟥蟟蟳蟤蟔蟜蟓蟭蟘蟣螤蟗蟙蠁蟴蟨蟝襓襋襏襌襆襐襑襉謪謧謣謳謰謵譇謯謼謾謱謥謷謦謶謮謤謻謽謺豂豵貙貘貗賾贄贂贀蹜蹢蹠蹗蹖蹞蹥蹧"],["f140","蹛蹚蹡蹝蹩蹔轆轇轈轋鄨鄺鄻鄾醨醥醧醯醪鎵鎌鎒鎷鎛鎝鎉鎧鎎鎪鎞鎦鎕鎈鎙鎟鎍鎱鎑鎲鎤鎨鎴鎣鎥闒闓闑隳雗雚巂雟雘雝霣霢霥鞬鞮鞨鞫鞤鞪"],["f1a1","鞢鞥韗韙韖韘韺顐顑顒颸饁餼餺騏騋騉騍騄騑騊騅騇騆髀髜鬈鬄鬅鬩鬵魊魌魋鯇鯆鯃鮿鯁鮵鮸鯓鮶鯄鮹鮽鵜鵓鵏鵊鵛鵋鵙鵖鵌鵗鵒鵔鵟鵘鵚麎麌黟鼁鼀鼖鼥鼫鼪鼩鼨齌齕儴儵劖勷厴嚫嚭嚦嚧嚪嚬壚壝壛夒嬽嬾嬿巃幰"],["f240","徿懻攇攐攍攉攌攎斄旞旝曞櫧櫠櫌櫑櫙櫋櫟櫜櫐櫫櫏櫍櫞歠殰氌瀙瀧瀠瀖瀫瀡瀢瀣瀩瀗瀤瀜瀪爌爊爇爂爅犥犦犤犣犡瓋瓅璷瓃甖癠矉矊矄矱礝礛"],["f2a1","礡礜礗礞禰穧穨簳簼簹簬簻糬糪繶繵繸繰繷繯繺繲繴繨罋罊羃羆羷翽翾聸臗臕艤艡艣藫藱藭藙藡藨藚藗藬藲藸藘藟藣藜藑藰藦藯藞藢蠀蟺蠃蟶蟷蠉蠌蠋蠆蟼蠈蟿蠊蠂襢襚襛襗襡襜襘襝襙覈覷覶觶譐譈譊譀譓譖譔譋譕"],["f340","譑譂譒譗豃豷豶貚贆贇贉趬趪趭趫蹭蹸蹳蹪蹯蹻軂轒轑轏轐轓辴酀鄿醰醭鏞鏇鏏鏂鏚鏐鏹鏬鏌鏙鎩鏦鏊鏔鏮鏣鏕鏄鏎鏀鏒鏧镽闚闛雡霩霫霬霨霦"],["f3a1","鞳鞷鞶韝韞韟顜顙顝顗颿颽颻颾饈饇饃馦馧騚騕騥騝騤騛騢騠騧騣騞騜騔髂鬋鬊鬎鬌鬷鯪鯫鯠鯞鯤鯦鯢鯰鯔鯗鯬鯜鯙鯥鯕鯡鯚鵷鶁鶊鶄鶈鵱鶀鵸鶆鶋鶌鵽鵫鵴鵵鵰鵩鶅鵳鵻鶂鵯鵹鵿鶇鵨麔麑黀黼鼭齀齁齍齖齗齘匷嚲"],["f440","嚵嚳壣孅巆巇廮廯忀忁懹攗攖攕攓旟曨曣曤櫳櫰櫪櫨櫹櫱櫮櫯瀼瀵瀯瀷瀴瀱灂瀸瀿瀺瀹灀瀻瀳灁爓爔犨獽獼璺皫皪皾盭矌矎矏矍矲礥礣礧礨礤礩"],["f4a1","禲穮穬穭竷籉籈籊籇籅糮繻繾纁纀羺翿聹臛臙舋艨艩蘢藿蘁藾蘛蘀藶蘄蘉蘅蘌藽蠙蠐蠑蠗蠓蠖襣襦覹觷譠譪譝譨譣譥譧譭趮躆躈躄轙轖轗轕轘轚邍酃酁醷醵醲醳鐋鐓鏻鐠鐏鐔鏾鐕鐐鐨鐙鐍鏵鐀鏷鐇鐎鐖鐒鏺鐉鏸鐊鏿"],["f540","鏼鐌鏶鐑鐆闞闠闟霮霯鞹鞻韽韾顠顢顣顟飁飂饐饎饙饌饋饓騲騴騱騬騪騶騩騮騸騭髇髊髆鬐鬒鬑鰋鰈鯷鰅鰒鯸鱀鰇鰎鰆鰗鰔鰉鶟鶙鶤鶝鶒鶘鶐鶛"],["f5a1","鶠鶔鶜鶪鶗鶡鶚鶢鶨鶞鶣鶿鶩鶖鶦鶧麙麛麚黥黤黧黦鼰鼮齛齠齞齝齙龑儺儹劘劗囃嚽嚾孈孇巋巏廱懽攛欂櫼欃櫸欀灃灄灊灈灉灅灆爝爚爙獾甗癪矐礭礱礯籔籓糲纊纇纈纋纆纍罍羻耰臝蘘蘪蘦蘟蘣蘜蘙蘧蘮蘡蘠蘩蘞蘥"],["f640","蠩蠝蠛蠠蠤蠜蠫衊襭襩襮襫觺譹譸譅譺譻贐贔趯躎躌轞轛轝酆酄酅醹鐿鐻鐶鐩鐽鐼鐰鐹鐪鐷鐬鑀鐱闥闤闣霵霺鞿韡顤飉飆飀饘饖騹騽驆驄驂驁騺"],["f6a1","騿髍鬕鬗鬘鬖鬺魒鰫鰝鰜鰬鰣鰨鰩鰤鰡鶷鶶鶼鷁鷇鷊鷏鶾鷅鷃鶻鶵鷎鶹鶺鶬鷈鶱鶭鷌鶳鷍鶲鹺麜黫黮黭鼛鼘鼚鼱齎齥齤龒亹囆囅囋奱孋孌巕巑廲攡攠攦攢欋欈欉氍灕灖灗灒爞爟犩獿瓘瓕瓙瓗癭皭礵禴穰穱籗籜籙籛籚"],["f740","糴糱纑罏羇臞艫蘴蘵蘳蘬蘲蘶蠬蠨蠦蠪蠥襱覿覾觻譾讄讂讆讅譿贕躕躔躚躒躐躖躗轠轢酇鑌鑐鑊鑋鑏鑇鑅鑈鑉鑆霿韣顪顩飋饔饛驎驓驔驌驏驈驊"],["f7a1","驉驒驐髐鬙鬫鬻魖魕鱆鱈鰿鱄鰹鰳鱁鰼鰷鰴鰲鰽鰶鷛鷒鷞鷚鷋鷐鷜鷑鷟鷩鷙鷘鷖鷵鷕鷝麶黰鼵鼳鼲齂齫龕龢儽劙壨壧奲孍巘蠯彏戁戃戄攩攥斖曫欑欒欏毊灛灚爢玂玁玃癰矔籧籦纕艬蘺虀蘹蘼蘱蘻蘾蠰蠲蠮蠳襶襴襳觾"],["f840","讌讎讋讈豅贙躘轤轣醼鑢鑕鑝鑗鑞韄韅頀驖驙鬞鬟鬠鱒鱘鱐鱊鱍鱋鱕鱙鱌鱎鷻鷷鷯鷣鷫鷸鷤鷶鷡鷮鷦鷲鷰鷢鷬鷴鷳鷨鷭黂黐黲黳鼆鼜鼸鼷鼶齃齏"],["f8a1","齱齰齮齯囓囍孎屭攭曭曮欓灟灡灝灠爣瓛瓥矕礸禷禶籪纗羉艭虃蠸蠷蠵衋讔讕躞躟躠躝醾醽釂鑫鑨鑩雥靆靃靇韇韥驞髕魙鱣鱧鱦鱢鱞鱠鸂鷾鸇鸃鸆鸅鸀鸁鸉鷿鷽鸄麠鼞齆齴齵齶囔攮斸欘欙欗欚灢爦犪矘矙礹籩籫糶纚"],["f940","纘纛纙臠臡虆虇虈襹襺襼襻觿讘讙躥躤躣鑮鑭鑯鑱鑳靉顲饟鱨鱮鱭鸋鸍鸐鸏鸒鸑麡黵鼉齇齸齻齺齹圞灦籯蠼趲躦釃鑴鑸鑶鑵驠鱴鱳鱱鱵鸔鸓黶鼊"],["f9a1","龤灨灥糷虪蠾蠽蠿讞貜躩軉靋顳顴飌饡馫驤驦驧鬤鸕鸗齈戇欞爧虌躨钂钀钁驩驨鬮鸙爩虋讟钃鱹麷癵驫鱺鸝灩灪麤齾齉龘碁銹裏墻恒粧嫺╔╦╗╠╬╣╚╩╝╒╤╕╞╪╡╘╧╛╓╥╖╟╫╢╙╨╜║═╭╮╰╯▓"]]}});var require_big5_added2=__commonJS({"node_modules/raw-body/node_modules/iconv-lite/encodings/tables/big5-added.json"(exports2,module2){module2.exports=[["8740","䏰䰲䘃䖦䕸𧉧䵷䖳𧲱䳢𧳅㮕䜶䝄䱇䱀𤊿𣘗𧍒𦺋𧃒䱗𪍑䝏䗚䲅𧱬䴇䪤䚡𦬣爥𥩔𡩣𣸆𣽡晍囻"],["8767","綕夝𨮹㷴霴𧯯寛𡵞媤㘥𩺰嫑宷峼杮薓𩥅瑡璝㡵𡵓𣚞𦀡㻬"],["87a1","𥣞㫵竼龗𤅡𨤍𣇪𠪊𣉞䌊蒄龖鐯䤰蘓墖靊鈘秐稲晠権袝瑌篅枂稬剏遆㓦珄𥶹瓆鿇垳䤯呌䄱𣚎堘穲𧭥讏䚮𦺈䆁𥶙箮𢒼鿈𢓁𢓉𢓌鿉蔄𣖻䂴鿊䓡𪷿拁灮鿋"],["8840","㇀",4,"𠄌㇅𠃑𠃍㇆㇇𠃋𡿨㇈𠃊㇉㇊㇋㇌𠄎㇍㇎ĀÁǍÀĒÉĚÈŌÓǑÒ࿿Ê̄Ế࿿Ê̌ỀÊāáǎàɑēéěèīíǐìōóǒòūúǔùǖǘǚ"],["88a1","ǜü࿿ê̄ế࿿ê̌ềêɡ⏚⏛"],["8940","𪎩𡅅"],["8943","攊"],["8946","丽滝鵎釟"],["894c","𧜵撑会伨侨兖兴农凤务动医华发变团声处备夲头学实実岚庆总斉柾栄桥济炼电纤纬纺织经统缆缷艺苏药视设询车轧轮"],["89a1","琑糼緍楆竉刧"],["89ab","醌碸酞肼"],["89b0","贋胶𠧧"],["89b5","肟黇䳍鷉鸌䰾𩷶𧀎鸊𪄳㗁"],["89c1","溚舾甙"],["89c5","䤑马骏龙禇𨑬𡷊𠗐𢫦两亁亀亇亿仫伷㑌侽㹈倃傈㑽㒓㒥円夅凛凼刅争剹劐匧㗇厩㕑厰㕓参吣㕭㕲㚁咓咣咴咹哐哯唘唣唨㖘唿㖥㖿嗗㗅"],["8a40","𧶄唥"],["8a43","𠱂𠴕𥄫喐𢳆㧬𠍁蹆𤶸𩓥䁓𨂾睺𢰸㨴䟕𨅝𦧲𤷪擝𠵼𠾴𠳕𡃴撍蹾𠺖𠰋𠽤𢲩𨉖𤓓"],["8a64","𠵆𩩍𨃩䟴𤺧𢳂骲㩧𩗴㿭㔆𥋇𩟔𧣈𢵄鵮頕"],["8a76","䏙𦂥撴哣𢵌𢯊𡁷㧻𡁯"],["8aa1","𦛚𦜖𧦠擪𥁒𠱃蹨𢆡𨭌𠜱"],["8aac","䠋𠆩㿺塳𢶍"],["8ab2","𤗈𠓼𦂗𠽌𠶖啹䂻䎺"],["8abb","䪴𢩦𡂝膪飵𠶜捹㧾𢝵跀嚡摼㹃"],["8ac9","𪘁𠸉𢫏𢳉"],["8ace","𡃈𣧂㦒㨆𨊛㕸𥹉𢃇噒𠼱𢲲𩜠㒼氽𤸻"],["8adf","𧕴𢺋𢈈𪙛𨳍𠹺𠰴𦠜羓𡃏𢠃𢤹㗻𥇣𠺌𠾍𠺪㾓𠼰𠵇𡅏𠹌"],["8af6","𠺫𠮩𠵈𡃀𡄽㿹𢚖搲𠾭"],["8b40","𣏴𧘹𢯎𠵾𠵿𢱑𢱕㨘𠺘𡃇𠼮𪘲𦭐𨳒𨶙𨳊閪哌苄喹"],["8b55","𩻃鰦骶𧝞𢷮煀腭胬尜𦕲脴㞗卟𨂽醶𠻺𠸏𠹷𠻻㗝𤷫㘉𠳖嚯𢞵𡃉𠸐𠹸𡁸𡅈𨈇𡑕𠹹𤹐𢶤婔𡀝𡀞𡃵𡃶垜𠸑"],["8ba1","𧚔𨋍𠾵𠹻𥅾㜃𠾶𡆀𥋘𪊽𤧚𡠺𤅷𨉼墙剨㘚𥜽箲孨䠀䬬鼧䧧鰟鮍𥭴𣄽嗻㗲嚉丨夂𡯁屮靑𠂆乛亻㔾尣彑忄㣺扌攵歺氵氺灬爫丬犭𤣩罒礻糹罓𦉪㓁"],["8bde","𦍋耂肀𦘒𦥑卝衤见𧢲讠贝钅镸长门𨸏韦页风飞饣𩠐鱼鸟黄歯龜丷𠂇阝户钢"],["8c40","倻淾𩱳龦㷉袏𤅎灷峵䬠𥇍㕙𥴰愢𨨲辧釶熑朙玺𣊁𪄇㲋𡦀䬐磤琂冮𨜏䀉橣𪊺䈣蘏𠩯稪𩥇𨫪靕灍匤𢁾鏴盙𨧣龧矝亣俰傼丯众龨吴綋墒壐𡶶庒庙忂𢜒斋"],["8ca1","𣏹椙橃𣱣泿"],["8ca7","爀𤔅玌㻛𤨓嬕璹讃𥲤𥚕窓篬糃繬苸薗龩袐龪躹龫迏蕟駠鈡龬𨶹𡐿䁱䊢娚"],["8cc9","顨杫䉶圽"],["8cce","藖𤥻芿𧄍䲁𦵴嵻𦬕𦾾龭龮宖龯曧繛湗秊㶈䓃𣉖𢞖䎚䔶"],["8ce6","峕𣬚諹屸㴒𣕑嵸龲煗䕘𤃬𡸣䱷㥸㑊𠆤𦱁諌侴𠈹妿腬顖𩣺弻"],["8d40","𠮟"],["8d42","𢇁𨥭䄂䚻𩁹㼇龳𪆵䃸㟖䛷𦱆䅼𨚲𧏿䕭㣔𥒚䕡䔛䶉䱻䵶䗪㿈𤬏㙡䓞䒽䇭崾嵈嵖㷼㠏嶤嶹㠠㠸幂庽弥徃㤈㤔㤿㥍惗愽峥㦉憷憹懏㦸戬抐拥挘㧸嚱"],["8da1","㨃揢揻搇摚㩋擀崕嘡龟㪗斆㪽旿晓㫲暒㬢朖㭂枤栀㭘桊梄㭲㭱㭻椉楃牜楤榟榅㮼槖㯝橥橴橱檂㯬檙㯲檫檵櫔櫶殁毁毪汵沪㳋洂洆洦涁㳯涤涱渕渘温溆𨧀溻滢滚齿滨滩漤漴㵆𣽁澁澾㵪㵵熷岙㶊瀬㶑灐灔灯灿炉𠌥䏁㗱𠻘"],["8e40","𣻗垾𦻓焾𥟠㙎榢𨯩孴穉𥣡𩓙穥穽𥦬窻窰竂竃燑𦒍䇊竚竝竪䇯咲𥰁笋筕笩𥌎𥳾箢筯莜𥮴𦱿篐萡箒箸𥴠㶭𥱥蒒篺簆簵𥳁籄粃𤢂粦晽𤕸糉糇糦籴糳糵糎"],["8ea1","繧䔝𦹄絝𦻖璍綉綫焵綳緒𤁗𦀩緤㴓緵𡟹緥𨍭縝𦄡𦅚繮纒䌫鑬縧罀罁罇礶𦋐駡羗𦍑羣𡙡𠁨䕜𣝦䔃𨌺翺𦒉者耈耝耨耯𪂇𦳃耻耼聡𢜔䦉𦘦𣷣𦛨朥肧𨩈脇脚墰𢛶汿𦒘𤾸擧𡒊舘𡡞橓𤩥𤪕䑺舩𠬍𦩒𣵾俹𡓽蓢荢𦬊𤦧𣔰𡝳𣷸芪椛芳䇛"],["8f40","蕋苐茚𠸖𡞴㛁𣅽𣕚艻苢茘𣺋𦶣𦬅𦮗𣗎㶿茝嗬莅䔋𦶥莬菁菓㑾𦻔橗蕚㒖𦹂𢻯葘𥯤葱㷓䓤檧葊𣲵祘蒨𦮖𦹷𦹃蓞萏莑䒠蒓蓤𥲑䉀𥳀䕃蔴嫲𦺙䔧蕳䔖枿蘖"],["8fa1","𨘥𨘻藁𧂈蘂𡖂𧃍䕫䕪蘨㙈𡢢号𧎚虾蝱𪃸蟮𢰧螱蟚蠏噡虬桖䘏衅衆𧗠𣶹𧗤衞袜䙛袴袵揁装睷𧜏覇覊覦覩覧覼𨨥觧𧤤𧪽誜瞓釾誐𧩙竩𧬺𣾏䜓𧬸煼謌謟𥐰𥕥謿譌譍誩𤩺讐讛誯𡛟䘕衏貛𧵔𧶏貫㜥𧵓賖𧶘𧶽贒贃𡤐賛灜贑𤳉㻐起"],["9040","趩𨀂𡀔𤦊㭼𨆼𧄌竧躭躶軃鋔輙輭𨍥𨐒辥錃𪊟𠩐辳䤪𨧞𨔽𣶻廸𣉢迹𪀔𨚼𨔁𢌥㦀𦻗逷𨔼𧪾遡𨕬𨘋邨𨜓郄𨛦邮都酧㫰醩釄粬𨤳𡺉鈎沟鉁鉢𥖹銹𨫆𣲛𨬌𥗛"],["90a1","𠴱錬鍫𨫡𨯫炏嫃𨫢𨫥䥥鉄𨯬𨰹𨯿鍳鑛躼閅閦鐦閠濶䊹𢙺𨛘𡉼𣸮䧟氜陻隖䅬隣𦻕懚隶磵𨫠隽双䦡𦲸𠉴𦐐𩂯𩃥𤫑𡤕𣌊霱虂霶䨏䔽䖅𤫩灵孁霛靜𩇕靗孊𩇫靟鐥僐𣂷𣂼鞉鞟鞱鞾韀韒韠𥑬韮琜𩐳響韵𩐝𧥺䫑頴頳顋顦㬎𧅵㵑𠘰𤅜"],["9140","𥜆飊颷飈飇䫿𦴧𡛓喰飡飦飬鍸餹𤨩䭲𩡗𩤅駵騌騻騐驘𥜥㛄𩂱𩯕髠髢𩬅髴䰎鬔鬭𨘀倴鬴𦦨㣃𣁽魐魀𩴾婅𡡣鮎𤉋鰂鯿鰌𩹨鷔𩾷𪆒𪆫𪃡𪄣𪇟鵾鶃𪄴鸎梈"],["91a1","鷄𢅛𪆓𪈠𡤻𪈳鴹𪂹𪊴麐麕麞麢䴴麪麯𤍤黁㭠㧥㴝伲㞾𨰫鼂鼈䮖鐤𦶢鼗鼖鼹嚟嚊齅馸𩂋韲葿齢齩竜龎爖䮾𤥵𤦻煷𤧸𤍈𤩑玞𨯚𡣺禟𨥾𨸶鍩鏳𨩄鋬鎁鏋𨥬𤒹爗㻫睲穃烐𤑳𤏸煾𡟯炣𡢾𣖙㻇𡢅𥐯𡟸㜢𡛻𡠹㛡𡝴𡣑𥽋㜣𡛀坛𤨥𡏾𡊨"],["9240","𡏆𡒶蔃𣚦蔃葕𤦔𧅥𣸱𥕜𣻻𧁒䓴𣛮𩦝𦼦柹㜳㰕㷧塬𡤢栐䁗𣜿𤃡𤂋𤄏𦰡哋嚞𦚱嚒𠿟𠮨𠸍鏆𨬓鎜仸儫㠙𤐶亼𠑥𠍿佋侊𥙑婨𠆫𠏋㦙𠌊𠐔㐵伩𠋀𨺳𠉵諚𠈌亘"],["92a1","働儍侢伃𤨎𣺊佂倮偬傁俌俥偘僼兙兛兝兞湶𣖕𣸹𣺿浲𡢄𣺉冨凃𠗠䓝𠒣𠒒𠒑赺𨪜𠜎剙劤𠡳勡鍮䙺熌𤎌𠰠𤦬𡃤槑𠸝瑹㻞璙琔瑖玘䮎𤪼𤂍叐㖄爏𤃉喴𠍅响𠯆圝鉝雴鍦埝垍坿㘾壋媙𨩆𡛺𡝯𡜐娬妸銏婾嫏娒𥥆𡧳𡡡𤊕㛵洅瑃娡𥺃"],["9340","媁𨯗𠐓鏠璌𡌃焅䥲鐈𨧻鎽㞠尞岞幞幈𡦖𡥼𣫮廍孏𡤃𡤄㜁𡢠㛝𡛾㛓脪𨩇𡶺𣑲𨦨弌弎𡤧𡞫婫𡜻孄蘔𧗽衠恾𢡠𢘫忛㺸𢖯𢖾𩂈𦽳懀𠀾𠁆𢘛憙憘恵𢲛𢴇𤛔𩅍"],["93a1","摱𤙥𢭪㨩𢬢𣑐𩣪𢹸挷𪑛撶挱揑𤧣𢵧护𢲡搻敫楲㯴𣂎𣊭𤦉𣊫唍𣋠𡣙𩐿曎𣊉𣆳㫠䆐𥖄𨬢𥖏𡛼𥕛𥐥磮𣄃𡠪𣈴㑤𣈏𣆂𤋉暎𦴤晫䮓昰𧡰𡷫晣𣋒𣋡昞𥡲㣑𣠺𣞼㮙𣞢𣏾瓐㮖枏𤘪梶栞㯄檾㡣𣟕𤒇樳橒櫉欅𡤒攑梘橌㯗橺歗𣿀𣲚鎠鋲𨯪𨫋"],["9440","銉𨀞𨧜鑧涥漋𤧬浧𣽿㶏渄𤀼娽渊塇洤硂焻𤌚𤉶烱牐犇犔𤞏𤜥兹𤪤𠗫瑺𣻸𣙟𤩊𤤗𥿡㼆㺱𤫟𨰣𣼵悧㻳瓌琼鎇琷䒟𦷪䕑疃㽣𤳙𤴆㽘畕癳𪗆㬙瑨𨫌𤦫𤦎㫻"],["94a1","㷍𤩎㻿𤧅𤣳釺圲鍂𨫣𡡤僟𥈡𥇧睸𣈲眎眏睻𤚗𣞁㩞𤣰琸璛㺿𤪺𤫇䃈𤪖𦆮錇𥖁砞碍碈磒珐祙𧝁𥛣䄎禛蒖禥樭𣻺稺秴䅮𡛦䄲鈵秱𠵌𤦌𠊙𣶺𡝮㖗啫㕰㚪𠇔𠰍竢婙𢛵𥪯𥪜娍𠉛磰娪𥯆竾䇹籝籭䈑𥮳𥺼𥺦糍𤧹𡞰粎籼粮檲緜縇緓罎𦉡"],["9540","𦅜𧭈綗𥺂䉪𦭵𠤖柖𠁎𣗏埄𦐒𦏸𤥢翝笧𠠬𥫩𥵃笌𥸎駦虅驣樜𣐿㧢𤧷𦖭騟𦖠蒀𧄧𦳑䓪脷䐂胆脉腂𦞴飃𦩂艢艥𦩑葓𦶧蘐𧈛媆䅿𡡀嬫𡢡嫤𡣘蚠蜨𣶏蠭𧐢娂"],["95a1","衮佅袇袿裦襥襍𥚃襔𧞅𧞄𨯵𨯙𨮜𨧹㺭蒣䛵䛏㟲訽訜𩑈彍鈫𤊄旔焩烄𡡅鵭貟賩𧷜妚矃姰䍮㛔踪躧𤰉輰轊䋴汘澻𢌡䢛潹溋𡟚鯩㚵𤤯邻邗啱䤆醻鐄𨩋䁢𨫼鐧𨰝𨰻蓥訫閙閧閗閖𨴴瑅㻂𤣿𤩂𤏪㻧𣈥随𨻧𨹦𨹥㻌𤧭𤩸𣿮琒瑫㻼靁𩂰"],["9640","桇䨝𩂓𥟟靝鍨𨦉𨰦𨬯𦎾銺嬑譩䤼珹𤈛鞛靱餸𠼦巁𨯅𤪲頟𩓚鋶𩗗釥䓀𨭐𤩧𨭤飜𨩅㼀鈪䤥萔餻饍𧬆㷽馛䭯馪驜𨭥𥣈檏騡嫾騯𩣱䮐𩥈馼䮽䮗鍽塲𡌂堢𤦸"],["96a1","𡓨硄𢜟𣶸棅㵽鑘㤧慐𢞁𢥫愇鱏鱓鱻鰵鰐魿鯏𩸭鮟𪇵𪃾鴡䲮𤄄鸘䲰鴌𪆴𪃭𪃳𩤯鶥蒽𦸒𦿟𦮂藼䔳𦶤𦺄𦷰萠藮𦸀𣟗𦁤秢𣖜𣙀䤭𤧞㵢鏛銾鍈𠊿碹鉷鑍俤㑀遤𥕝砽硔碶硋𡝗𣇉𤥁㚚佲濚濙瀞瀞吔𤆵垻壳垊鴖埗焴㒯𤆬燫𦱀𤾗嬨𡞵𨩉"],["9740","愌嫎娋䊼𤒈㜬䭻𨧼鎻鎸𡣖𠼝葲𦳀𡐓𤋺𢰦𤏁妔𣶷𦝁綨𦅛𦂤𤦹𤦋𨧺鋥珢㻩璴𨭣𡢟㻡𤪳櫘珳珻㻖𤨾𤪔𡟙𤩦𠎧𡐤𤧥瑈𤤖炥𤥶銄珦鍟𠓾錱𨫎𨨖鎆𨯧𥗕䤵𨪂煫"],["97a1","𤥃𠳿嚤𠘚𠯫𠲸唂秄𡟺緾𡛂𤩐𡡒䔮鐁㜊𨫀𤦭妰𡢿𡢃𧒄媡㛢𣵛㚰鉟婹𨪁𡡢鍴㳍𠪴䪖㦊僴㵩㵌𡎜煵䋻𨈘渏𩃤䓫浗𧹏灧沯㳖𣿭𣸭渂漌㵯𠏵畑㚼㓈䚀㻚䡱姄鉮䤾轁𨰜𦯀堒埈㛖𡑒烾𤍢𤩱𢿣𡊰𢎽梹楧𡎘𣓥𧯴𣛟𨪃𣟖𣏺𤲟樚𣚭𦲷萾䓟䓎"],["9840","𦴦𦵑𦲂𦿞漗𧄉茽𡜺菭𦲀𧁓𡟛妉媂𡞳婡婱𡤅𤇼㜭姯𡜼㛇熎鎐暚𤊥婮娫𤊓樫𣻹𧜶𤑛𤋊焝𤉙𨧡侰𦴨峂𤓎𧹍𤎽樌𤉖𡌄炦焳𤏩㶥泟勇𤩏繥姫崯㷳彜𤩝𡟟綤萦"],["98a1","咅𣫺𣌀𠈔坾𠣕𠘙㿥𡾞𪊶瀃𩅛嵰玏糓𨩙𩐠俈翧狍猐𧫴猸猹𥛶獁獈㺩𧬘遬燵𤣲珡臶㻊県㻑沢国琙琞琟㻢㻰㻴㻺瓓㼎㽓畂畭畲疍㽼痈痜㿀癍㿗癴㿜発𤽜熈嘣覀塩䀝睃䀹条䁅㗛瞘䁪䁯属瞾矋売砘点砜䂨砹硇硑硦葈𥔵礳栃礲䄃"],["9940","䄉禑禙辻稆込䅧窑䆲窼艹䇄竏竛䇏両筢筬筻簒簛䉠䉺类粜䊌粸䊔糭输烀𠳏総緔緐緽羮羴犟䎗耠耥笹耮耱联㷌垴炠肷胩䏭脌猪脎脒畠脔䐁㬹腖腙腚"],["99a1","䐓堺腼膄䐥膓䐭膥埯臁臤艔䒏芦艶苊苘苿䒰荗险榊萅烵葤惣蒈䔄蒾蓡蓸蔐蔸蕒䔻蕯蕰藠䕷虲蚒蚲蛯际螋䘆䘗袮裿褤襇覑𧥧訩訸誔誴豑賔賲贜䞘塟跃䟭仮踺嗘坔蹱嗵躰䠷軎転軤軭軲辷迁迊迌逳駄䢭飠鈓䤞鈨鉘鉫銱銮銿"],["9a40","鋣鋫鋳鋴鋽鍃鎄鎭䥅䥑麿鐗匁鐝鐭鐾䥪鑔鑹锭関䦧间阳䧥枠䨤靀䨵鞲韂噔䫤惨颹䬙飱塄餎餙冴餜餷饂饝饢䭰駅䮝騼鬏窃魩鮁鯝鯱鯴䱭鰠㝯𡯂鵉鰺"],["9aa1","黾噐鶓鶽鷀鷼银辶鹻麬麱麽黆铜黢黱黸竈齄𠂔𠊷𠎠椚铃妬𠓗塀铁㞹𠗕𠘕𠙶𡚺块煳𠫂𠫍𠮿呪吆𠯋咞𠯻𠰻𠱓𠱥𠱼惧𠲍噺𠲵𠳝𠳭𠵯𠶲𠷈楕鰯螥𠸄𠸎𠻗𠾐𠼭𠹳尠𠾼帋𡁜𡁏𡁶朞𡁻𡂈𡂖㙇𡂿𡃓𡄯𡄻卤蒭𡋣𡍵𡌶讁𡕷𡘙𡟃𡟇乸炻𡠭𡥪"],["9b40","𡨭𡩅𡰪𡱰𡲬𡻈拃𡻕𡼕熘桕𢁅槩㛈𢉼𢏗𢏺𢜪𢡱𢥏苽𢥧𢦓𢫕覥𢫨辠𢬎鞸𢬿顇骽𢱌"],["9b62","𢲈𢲷𥯨𢴈𢴒𢶷𢶕𢹂𢽴𢿌𣀳𣁦𣌟𣏞徱晈暿𧩹𣕧𣗳爁𤦺矗𣘚𣜖纇𠍆墵朎"],["9ba1","椘𣪧𧙗𥿢𣸑𣺹𧗾𢂚䣐䪸𤄙𨪚𤋮𤌍𤀻𤌴𤎖𤩅𠗊凒𠘑妟𡺨㮾𣳿𤐄𤓖垈𤙴㦛𤜯𨗨𩧉㝢𢇃譞𨭎駖𤠒𤣻𤨕爉𤫀𠱸奥𤺥𤾆𠝹軚𥀬劏圿煱𥊙𥐙𣽊𤪧喼𥑆𥑮𦭒釔㑳𥔿𧘲𥕞䜘𥕢𥕦𥟇𤤿𥡝偦㓻𣏌惞𥤃䝼𨥈𥪮𥮉𥰆𡶐垡煑澶𦄂𧰒遖𦆲𤾚譢𦐂𦑊"],["9c40","嵛𦯷輶𦒄𡤜諪𤧶𦒈𣿯𦔒䯀𦖿𦚵𢜛鑥𥟡憕娧晉侻嚹𤔡𦛼乪𤤴陖涏𦲽㘘襷𦞙𦡮𦐑𦡞營𦣇筂𩃀𠨑𦤦鄄𦤹穅鷰𦧺騦𦨭㙟𦑩𠀡禃𦨴𦭛崬𣔙菏𦮝䛐𦲤画补𦶮墶"],["9ca1","㜜𢖍𧁋𧇍㱔𧊀𧊅銁𢅺𧊋錰𧋦𤧐氹钟𧑐𠻸蠧裵𢤦𨑳𡞱溸𤨪𡠠㦤㚹尐秣䔿暶𩲭𩢤襃𧟌𧡘囖䃟𡘊㦡𣜯𨃨𡏅熭荦𧧝𩆨婧䲷𧂯𨦫𧧽𧨊𧬋𧵦𤅺筃祾𨀉澵𪋟樃𨌘厢𦸇鎿栶靝𨅯𨀣𦦵𡏭𣈯𨁈嶅𨰰𨂃圕頣𨥉嶫𤦈斾槕叒𤪥𣾁㰑朶𨂐𨃴𨄮𡾡𨅏"],["9d40","𨆉𨆯𨈚𨌆𨌯𨎊㗊𨑨𨚪䣺揦𨥖砈鉕𨦸䏲𨧧䏟𨧨𨭆𨯔姸𨰉輋𨿅𩃬筑𩄐𩄼㷷𩅞𤫊运犏嚋𩓧𩗩𩖰𩖸𩜲𩣑𩥉𩥪𩧃𩨨𩬎𩵚𩶛纟𩻸𩼣䲤镇𪊓熢𪋿䶑递𪗋䶜𠲜达嗁"],["9da1","辺𢒰边𤪓䔉繿潖檱仪㓤𨬬𧢝㜺躀𡟵𨀤𨭬𨮙𧨾𦚯㷫𧙕𣲷𥘵𥥖亚𥺁𦉘嚿𠹭踎孭𣺈𤲞揞拐𡟶𡡻攰嘭𥱊吚𥌑㷆𩶘䱽嘢嘞罉𥻘奵𣵀蝰东𠿪𠵉𣚺脗鵞贘瘻鱅癎瞹鍅吲腈苷嘥脲萘肽嗪祢噃吖𠺝㗎嘅嗱曱𨋢㘭甴嗰喺咗啲𠱁𠲖廐𥅈𠹶𢱢"],["9e40","𠺢麫絚嗞𡁵抝靭咔賍燶酶揼掹揾啩𢭃鱲𢺳冚㓟𠶧冧呍唞唓癦踭𦢊疱肶蠄螆裇膶萜𡃁䓬猄𤜆宐茋𦢓噻𢛴𧴯𤆣𧵳𦻐𧊶酰𡇙鈈𣳼𪚩𠺬𠻹牦𡲢䝎𤿂𧿹𠿫䃺"],["9ea1","鱝攟𢶠䣳𤟠𩵼𠿬𠸊恢𧖣𠿭"],["9ead","𦁈𡆇熣纎鵐业丄㕷嬍沲卧㚬㧜卽㚥𤘘墚𤭮舭呋垪𥪕𠥹"],["9ec5","㩒𢑥獴𩺬䴉鯭𣳾𩼰䱛𤾩𩖞𩿞葜𣶶𧊲𦞳𣜠挮紥𣻷𣸬㨪逈勌㹴㙺䗩𠒎癀嫰𠺶硺𧼮墧䂿噼鮋嵴癔𪐴麅䳡痹㟻愙𣃚𤏲"],["9ef5","噝𡊩垧𤥣𩸆刴𧂮㖭汊鵼"],["9f40","籖鬹埞𡝬屓擓𩓐𦌵𧅤蚭𠴨𦴢𤫢𠵱"],["9f4f","凾𡼏嶎霃𡷑麁遌笟鬂峑箣扨挵髿篏鬪籾鬮籂粆鰕篼鬉鼗鰛𤤾齚啳寃俽麘俲剠㸆勑坧偖妷帒韈鶫轜呩鞴饀鞺匬愰"],["9fa1","椬叚鰊鴂䰻陁榀傦畆𡝭駚剳"],["9fae","酙隁酜"],["9fb2","酑𨺗捿𦴣櫊嘑醎畺抅𠏼獏籰𥰡𣳽"],["9fc1","𤤙盖鮝个𠳔莾衂"],["9fc9","届槀僭坺刟巵从氱𠇲伹咜哚劚趂㗾弌㗳"],["9fdb","歒酼龥鮗頮颴骺麨麄煺笔"],["9fe7","毺蠘罸"],["9feb","嘠𪙊蹷齓"],["9ff0","跔蹏鸜踁抂𨍽踨蹵竓𤩷稾磘泪詧瘇"],["a040","𨩚鼦泎蟖痃𪊲硓咢贌狢獱謭猂瓱賫𤪻蘯徺袠䒷"],["a055","𡠻𦸅"],["a058","詾𢔛"],["a05b","惽癧髗鵄鍮鮏蟵"],["a063","蠏賷猬霡鮰㗖犲䰇籑饊𦅙慙䰄麖慽"],["a073","坟慯抦戹拎㩜懢厪𣏵捤栂㗒"],["a0a1","嵗𨯂迚𨸹"],["a0a6","僙𡵆礆匲阸𠼻䁥"],["a0ae","矾"],["a0b0","糂𥼚糚稭聦聣絍甅瓲覔舚朌聢𧒆聛瓰脃眤覉𦟌畓𦻑螩蟎臈螌詉貭譃眫瓸蓚㘵榲趦"],["a0d4","覩瑨涹蟁𤀑瓧㷛煶悤憜㳑煢恷"],["a0e2","罱𨬭牐惩䭾删㰘𣳇𥻗𧙖𥔱𡥄𡋾𩤃𦷜𧂭峁𦆭𨨏𣙷𠃮𦡆𤼎䕢嬟𦍌齐麦𦉫"],["a3c0","␀",31,"␡"],["c6a1","①",9,"⑴",9,"ⅰ",9,"丶丿亅亠冂冖冫勹匸卩厶夊宀巛⼳广廴彐彡攴无疒癶辵隶¨ˆヽヾゝゞ〃仝々〆〇ー［］✽ぁ",23],["c740","す",58,"ァアィイ"],["c7a1","ゥ",81,"А",5,"ЁЖ",4],["c840","Л",26,"ёж",25,"⇧↸↹㇏𠃌乚𠂊刂䒑"],["c8a1","龰冈龱𧘇"],["c8cd","￢￤＇＂㈱№℡゛゜⺀⺄⺆⺇⺈⺊⺌⺍⺕⺜⺝⺥⺧⺪⺬⺮⺶⺼⺾⻆⻊⻌⻍⻏⻖⻗⻞⻣"],["c8f5","ʃɐɛɔɵœøŋʊɪ"],["f9fe","￭"],["fa40","𠕇鋛𠗟𣿅蕌䊵珯况㙉𤥂𨧤鍄𡧛苮𣳈砼杄拟𤤳𨦪𠊠𦮳𡌅侫𢓭倈𦴩𧪄𣘀𤪱𢔓倩𠍾徤𠎀𠍇滛𠐟偽儁㑺儎顬㝃萖𤦤𠒇兠𣎴兪𠯿𢃼𠋥𢔰𠖎𣈳𡦃宂蝽𠖳𣲙冲冸"],["faa1","鴴凉减凑㳜凓𤪦决凢卂凭菍椾𣜭彻刋刦刼劵剗劔効勅簕蕂勠蘍𦬓包𨫞啉滙𣾀𠥔𣿬匳卄𠯢泋𡜦栛珕恊㺪㣌𡛨燝䒢卭却𨚫卾卿𡖖𡘓矦厓𨪛厠厫厮玧𥝲㽙玜叁叅汉义埾叙㪫𠮏叠𣿫𢶣叶𠱷吓灹唫晗浛呭𦭓𠵴啝咏咤䞦𡜍𠻝㶴𠵍"],["fb40","𨦼𢚘啇䳭启琗喆喩嘅𡣗𤀺䕒𤐵暳𡂴嘷曍𣊊暤暭噍噏磱囱鞇叾圀囯园𨭦㘣𡉏坆𤆥汮炋坂㚱𦱾埦𡐖堃𡑔𤍣堦𤯵塜墪㕡壠壜𡈼壻寿坃𪅐𤉸鏓㖡够梦㛃湙"],["fba1","𡘾娤啓𡚒蔅姉𠵎𦲁𦴪𡟜姙𡟻𡞲𦶦浱𡠨𡛕姹𦹅媫婣㛦𤦩婷㜈媖瑥嫓𦾡𢕔㶅𡤑㜲𡚸広勐孶斈孼𧨎䀄䡝𠈄寕慠𡨴𥧌𠖥寳宝䴐尅𡭄尓珎尔𡲥𦬨屉䣝岅峩峯嶋𡷹𡸷崐崘嵆𡺤岺巗苼㠭𤤁𢁉𢅳芇㠶㯂帮檊幵幺𤒼𠳓厦亷廐厨𡝱帉廴𨒂"],["fc40","廹廻㢠廼栾鐛弍𠇁弢㫞䢮𡌺强𦢈𢏐彘𢑱彣鞽𦹮彲鍀𨨶徧嶶㵟𥉐𡽪𧃸𢙨釖𠊞𨨩怱暅𡡷㥣㷇㘹垐𢞴祱㹀悞悤悳𤦂𤦏𧩓璤僡媠慤萤慂慈𦻒憁凴𠙖憇宪𣾷"],["fca1","𢡟懓𨮝𩥝懐㤲𢦀𢣁怣慜攞掋𠄘担𡝰拕𢸍捬𤧟㨗搸揸𡎎𡟼撐澊𢸶頔𤂌𥜝擡擥鑻㩦携㩗敍漖𤨨𤨣斅敭敟𣁾斵𤥀䬷旑䃘𡠩无旣忟𣐀昘𣇷𣇸晄𣆤𣆥晋𠹵晧𥇦晳晴𡸽𣈱𨗴𣇈𥌓矅𢣷馤朂𤎜𤨡㬫槺𣟂杞杧杢𤇍𩃭柗䓩栢湐鈼栁𣏦𦶠桝"],["fd40","𣑯槡樋𨫟楳棃𣗍椁椀㴲㨁𣘼㮀枬楡𨩊䋼椶榘㮡𠏉荣傐槹𣙙𢄪橅𣜃檝㯳枱櫈𩆜㰍欝𠤣惞欵歴𢟍溵𣫛𠎵𡥘㝀吡𣭚毡𣻼毜氷𢒋𤣱𦭑汚舦汹𣶼䓅𣶽𤆤𤤌𤤀"],["fda1","𣳉㛥㳫𠴲鮃𣇹𢒑羏样𦴥𦶡𦷫涖浜湼漄𤥿𤂅𦹲蔳𦽴凇沜渝萮𨬡港𣸯瑓𣾂秌湏媑𣁋濸㜍澝𣸰滺𡒗𤀽䕕鏰潄潜㵎潴𩅰㴻澟𤅄濓𤂑𤅕𤀹𣿰𣾴𤄿凟𤅖𤅗𤅀𦇝灋灾炧炁烌烕烖烟䄄㷨熴熖𤉷焫煅媈煊煮岜𤍥煏鍢𤋁焬𤑚𤨧𤨢熺𨯨炽爎"],["fe40","鑂爕夑鑃爤鍁𥘅爮牀𤥴梽牕牗㹕𣁄栍漽犂猪猫𤠣𨠫䣭𨠄猨献珏玪𠰺𦨮珉瑉𤇢𡛧𤨤昣㛅𤦷𤦍𤧻珷琕椃𤨦琹𠗃㻗瑜𢢭瑠𨺲瑇珤瑶莹瑬㜰瑴鏱樬璂䥓𤪌"],["fea1","𤅟𤩹𨮏孆𨰃𡢞瓈𡦈甎瓩甞𨻙𡩋寗𨺬鎅畍畊畧畮𤾂㼄𤴓疎瑝疞疴瘂瘬癑癏癯癶𦏵皐臯㟸𦤑𦤎皡皥皷盌𦾟葢𥂝𥅽𡸜眞眦着撯𥈠睘𣊬瞯𨥤𨥨𡛁矴砉𡍶𤨒棊碯磇磓隥礮𥗠磗礴碱𧘌辸袄𨬫𦂃𢘜禆褀椂禀𥡗禝𧬹礼禩渪𧄦㺨秆𩄍秔"]]}});var require_dbcs_data2=__commonJS({"node_modules/raw-body/node_modules/iconv-lite/encodings/dbcs-data.js"(exports2,module2){"use strict";module2.exports={"shiftjis":{type:"_dbcs",table:function(){return require_shiftjis2()},encodeAdd:{"¥":92,"‾":126},encodeSkipVals:[{from:60736,to:63808}]},"csshiftjis":"shiftjis","mskanji":"shiftjis","sjis":"shiftjis","windows31j":"shiftjis","ms31j":"shiftjis","xsjis":"shiftjis","windows932":"shiftjis","ms932":"shiftjis","932":"shiftjis","cp932":"shiftjis","eucjp":{type:"_dbcs",table:function(){return require_eucjp2()},encodeAdd:{"¥":92,"‾":126}},"gb2312":"cp936","gb231280":"cp936","gb23121980":"cp936","csgb2312":"cp936","csiso58gb231280":"cp936","euccn":"cp936","windows936":"cp936","ms936":"cp936","936":"cp936","cp936":{type:"_dbcs",table:function(){return require_cp9362()}},"gbk":{type:"_dbcs",table:function(){return require_cp9362().concat(require_gbk_added2())}},"xgbk":"gbk","isoir58":"gbk","gb18030":{type:"_dbcs",table:function(){return require_cp9362().concat(require_gbk_added2())},gb18030:function(){return require_gb18030_ranges2()},encodeSkipVals:[128],encodeAdd:{"€":41699}},"chinese":"gb18030","windows949":"cp949","ms949":"cp949","949":"cp949","cp949":{type:"_dbcs",table:function(){return require_cp9492()}},"cseuckr":"cp949","csksc56011987":"cp949","euckr":"cp949","isoir149":"cp949","korean":"cp949","ksc56011987":"cp949","ksc56011989":"cp949","ksc5601":"cp949","windows950":"cp950","ms950":"cp950","950":"cp950","cp950":{type:"_dbcs",table:function(){return require_cp9502()}},"big5":"big5hkscs","big5hkscs":{type:"_dbcs",table:function(){return require_cp9502().concat(require_big5_added2())},encodeSkipVals:[41676]},"cnbig5":"big5hkscs","csbig5":"big5hkscs","xxbig5":"big5hkscs"}}});var require_encodings2=__commonJS({"node_modules/raw-body/node_modules/iconv-lite/encodings/index.js"(exports2,module2){"use strict";var modules=[require_internal2(),require_utf162(),require_utf72(),require_sbcs_codec2(),require_sbcs_data2(),require_sbcs_data_generated2(),require_dbcs_codec2(),require_dbcs_data2()];for(i=0;i<modules.length;i++){module2=modules[i];for(enc in module2)if(Object.prototype.hasOwnProperty.call(module2,enc))exports2[enc]=module2[enc]}var module2;var enc;var i}});var require_streams2=__commonJS({"node_modules/raw-body/node_modules/iconv-lite/lib/streams.js"(exports2,module2){"use strict";var Buffer12=require("buffer").Buffer;var Transform=require("stream").Transform;module2.exports=function(iconv){iconv.encodeStream=function encodeStream(encoding,options){return new IconvLiteEncoderStream(iconv.getEncoder(encoding,options),options)};iconv.decodeStream=function decodeStream(encoding,options){return new IconvLiteDecoderStream(iconv.getDecoder(encoding,options),options)};iconv.supportsStreams=true;iconv.IconvLiteEncoderStream=IconvLiteEncoderStream;iconv.IconvLiteDecoderStream=IconvLiteDecoderStream;iconv._collect=IconvLiteDecoderStream.prototype.collect};function IconvLiteEncoderStream(conv,options){this.conv=conv;options=options||{};options.decodeStrings=false;Transform.call(this,options)}IconvLiteEncoderStream.prototype=Object.create(Transform.prototype,{constructor:{value:IconvLiteEncoderStream}});IconvLiteEncoderStream.prototype._transform=function(chunk2,encoding,done){if(typeof chunk2!="string")return done(new Error("Iconv encoding stream needs strings as its input."));try{var res=this.conv.write(chunk2);if(res&&res.length)this.push(res);done()}catch(e){done(e)}};IconvLiteEncoderStream.prototype._flush=function(done){try{var res=this.conv.end();if(res&&res.length)this.push(res);done()}catch(e){done(e)}};IconvLiteEncoderStream.prototype.collect=function(cb){var chunks=[];this.on("error",cb);this.on("data",function(chunk2){chunks.push(chunk2)});this.on("end",function(){cb(null,Buffer12.concat(chunks))});return this};function IconvLiteDecoderStream(conv,options){this.conv=conv;options=options||{};options.encoding=this.encoding="utf8";Transform.call(this,options)}IconvLiteDecoderStream.prototype=Object.create(Transform.prototype,{constructor:{value:IconvLiteDecoderStream}});IconvLiteDecoderStream.prototype._transform=function(chunk2,encoding,done){if(!Buffer12.isBuffer(chunk2))return done(new Error("Iconv decoding stream needs buffers as its input."));try{var res=this.conv.write(chunk2);if(res&&res.length)this.push(res,this.encoding);done()}catch(e){done(e)}};IconvLiteDecoderStream.prototype._flush=function(done){try{var res=this.conv.end();if(res&&res.length)this.push(res,this.encoding);done()}catch(e){done(e)}};IconvLiteDecoderStream.prototype.collect=function(cb){var res="";this.on("error",cb);this.on("data",function(chunk2){res+=chunk2});this.on("end",function(){cb(null,res)});return this}}});var require_extend_node=__commonJS({"node_modules/raw-body/node_modules/iconv-lite/lib/extend-node.js"(exports2,module2){"use strict";var Buffer12=require("buffer").Buffer;module2.exports=function(iconv){var original=void 0;iconv.supportsNodeEncodingsExtension=!(Buffer12.from||new Buffer12(0)instanceof Uint8Array);iconv.extendNodeEncodings=function extendNodeEncodings(){if(original)return;original={};if(!iconv.supportsNodeEncodingsExtension){console.error("ACTION NEEDED: require('iconv-lite').extendNodeEncodings() is not supported in your version of Node");console.error("See more info at https://github.com/ashtuchkin/iconv-lite/wiki/Node-v4-compatibility");return}var nodeNativeEncodings={"hex":true,"utf8":true,"utf-8":true,"ascii":true,"binary":true,"base64":true,"ucs2":true,"ucs-2":true,"utf16le":true,"utf-16le":true};Buffer12.isNativeEncoding=function(enc){return enc&&nodeNativeEncodings[enc.toLowerCase()]};var SlowBuffer=require("buffer").SlowBuffer;original.SlowBufferToString=SlowBuffer.prototype.toString;SlowBuffer.prototype.toString=function(encoding,start,end){encoding=String(encoding||"utf8").toLowerCase();if(Buffer12.isNativeEncoding(encoding))return original.SlowBufferToString.call(this,encoding,start,end);if(typeof start=="undefined")start=0;if(typeof end=="undefined")end=this.length;return iconv.decode(this.slice(start,end),encoding)};original.SlowBufferWrite=SlowBuffer.prototype.write;SlowBuffer.prototype.write=function(string,offset,length,encoding){if(isFinite(offset)){if(!isFinite(length)){encoding=length;length=void 0}}else{var swap2=encoding;encoding=offset;offset=length;length=swap2}offset=+offset||0;var remaining=this.length-offset;if(!length){length=remaining}else{length=+length;if(length>remaining){length=remaining}}encoding=String(encoding||"utf8").toLowerCase();if(Buffer12.isNativeEncoding(encoding))return original.SlowBufferWrite.call(this,string,offset,length,encoding);if(string.length>0&&(length<0||offset<0))throw new RangeError("attempt to write beyond buffer bounds");var buf=iconv.encode(string,encoding);if(buf.length<length)length=buf.length;buf.copy(this,offset,0,length);return length};original.BufferIsEncoding=Buffer12.isEncoding;Buffer12.isEncoding=function(encoding){return Buffer12.isNativeEncoding(encoding)||iconv.encodingExists(encoding)};original.BufferByteLength=Buffer12.byteLength;Buffer12.byteLength=SlowBuffer.byteLength=function(str2,encoding){encoding=String(encoding||"utf8").toLowerCase();if(Buffer12.isNativeEncoding(encoding))return original.BufferByteLength.call(this,str2,encoding);return iconv.encode(str2,encoding).length};original.BufferToString=Buffer12.prototype.toString;Buffer12.prototype.toString=function(encoding,start,end){encoding=String(encoding||"utf8").toLowerCase();if(Buffer12.isNativeEncoding(encoding))return original.BufferToString.call(this,encoding,start,end);if(typeof start=="undefined")start=0;if(typeof end=="undefined")end=this.length;return iconv.decode(this.slice(start,end),encoding)};original.BufferWrite=Buffer12.prototype.write;Buffer12.prototype.write=function(string,offset,length,encoding){var _offset=offset,_length=length,_encoding=encoding;if(isFinite(offset)){if(!isFinite(length)){encoding=length;length=void 0}}else{var swap2=encoding;encoding=offset;offset=length;length=swap2}encoding=String(encoding||"utf8").toLowerCase();if(Buffer12.isNativeEncoding(encoding))return original.BufferWrite.call(this,string,_offset,_length,_encoding);offset=+offset||0;var remaining=this.length-offset;if(!length){length=remaining}else{length=+length;if(length>remaining){length=remaining}}if(string.length>0&&(length<0||offset<0))throw new RangeError("attempt to write beyond buffer bounds");var buf=iconv.encode(string,encoding);if(buf.length<length)length=buf.length;buf.copy(this,offset,0,length);return length};if(iconv.supportsStreams){var Readable2=require("stream").Readable;original.ReadableSetEncoding=Readable2.prototype.setEncoding;Readable2.prototype.setEncoding=function setEncoding(enc,options){this._readableState.decoder=iconv.getDecoder(enc,options);this._readableState.encoding=enc};Readable2.prototype.collect=iconv._collect}};iconv.undoExtendNodeEncodings=function undoExtendNodeEncodings(){if(!iconv.supportsNodeEncodingsExtension)return;if(!original)throw new Error("require('iconv-lite').undoExtendNodeEncodings(): Nothing to undo; extendNodeEncodings() is not called.");delete Buffer12.isNativeEncoding;var SlowBuffer=require("buffer").SlowBuffer;SlowBuffer.prototype.toString=original.SlowBufferToString;SlowBuffer.prototype.write=original.SlowBufferWrite;Buffer12.isEncoding=original.BufferIsEncoding;Buffer12.byteLength=original.BufferByteLength;Buffer12.prototype.toString=original.BufferToString;Buffer12.prototype.write=original.BufferWrite;if(iconv.supportsStreams){var Readable2=require("stream").Readable;Readable2.prototype.setEncoding=original.ReadableSetEncoding;delete Readable2.prototype.collect}original=void 0}}}});var require_lib9=__commonJS({"node_modules/raw-body/node_modules/iconv-lite/lib/index.js"(exports2,module2){"use strict";var Buffer12=require_safer().Buffer;var bomHandling=require_bom_handling2();var iconv=module2.exports;iconv.encodings=null;iconv.defaultCharUnicode="�";iconv.defaultCharSingleByte="?";iconv.encode=function encode2(str2,encoding,options){str2=""+(str2||"");var encoder2=iconv.getEncoder(encoding,options);var res=encoder2.write(str2);var trail=encoder2.end();return trail&&trail.length>0?Buffer12.concat([res,trail]):res};iconv.decode=function decode(buf,encoding,options){if(typeof buf==="string"){if(!iconv.skipDecodeWarning){console.error("Iconv-lite warning: decode()-ing strings is deprecated. Refer to https://github.com/ashtuchkin/iconv-lite/wiki/Use-Buffers-when-decoding");iconv.skipDecodeWarning=true}buf=Buffer12.from(""+(buf||""),"binary")}var decoder2=iconv.getDecoder(encoding,options);var res=decoder2.write(buf);var trail=decoder2.end();return trail?res+trail:res};iconv.encodingExists=function encodingExists(enc){try{iconv.getCodec(enc);return true}catch(e){return false}};iconv.toEncoding=iconv.encode;iconv.fromEncoding=iconv.decode;iconv._codecDataCache={};iconv.getCodec=function getCodec(encoding){if(!iconv.encodings)iconv.encodings=require_encodings2();var enc=iconv._canonicalizeEncoding(encoding);var codecOptions={};while(true){var codec=iconv._codecDataCache[enc];if(codec)return codec;var codecDef=iconv.encodings[enc];switch(typeof codecDef){case"string":enc=codecDef;break;case"object":for(var key in codecDef)codecOptions[key]=codecDef[key];if(!codecOptions.encodingName)codecOptions.encodingName=enc;enc=codecDef.type;break;case"function":if(!codecOptions.encodingName)codecOptions.encodingName=enc;codec=new codecDef(codecOptions,iconv);iconv._codecDataCache[codecOptions.encodingName]=codec;return codec;default:throw new Error("Encoding not recognized: '"+encoding+"' (searched as: '"+enc+"')")}}};iconv._canonicalizeEncoding=function(encoding){return(""+encoding).toLowerCase().replace(/:\d{4}$|[^0-9a-z]/g,"")};iconv.getEncoder=function getEncoder(encoding,options){var codec=iconv.getCodec(encoding),encoder2=new codec.encoder(options,codec);if(codec.bomAware&&options&&options.addBOM)encoder2=new bomHandling.PrependBOM(encoder2,options);return encoder2};iconv.getDecoder=function getDecoder(encoding,options){var codec=iconv.getCodec(encoding),decoder2=new codec.decoder(options,codec);if(codec.bomAware&&!(options&&options.stripBOM===false))decoder2=new bomHandling.StripBOM(decoder2,options);return decoder2};var nodeVer=typeof process!=="undefined"&&process.versions&&process.versions.node;if(nodeVer){nodeVerArr=nodeVer.split(".").map(Number);if(nodeVerArr[0]>0||nodeVerArr[1]>=10){require_streams2()(iconv)}require_extend_node()(iconv)}var nodeVerArr;if(false){console.error("iconv-lite warning: javascript files use encoding different from utf-8. See https://github.com/ashtuchkin/iconv-lite/wiki/Javascript-source-file-encodings for more info.")}}});var require_unpipe=__commonJS({"node_modules/unpipe/index.js"(exports2,module2){"use strict";module2.exports=unpipe;function hasPipeDataListeners(stream3){var listeners=stream3.listeners("data");for(var i=0;i<listeners.length;i++){if(listeners[i].name==="ondata"){return true}}return false}function unpipe(stream3){if(!stream3){throw new TypeError("argument stream is required")}if(typeof stream3.unpipe==="function"){stream3.unpipe();return}if(!hasPipeDataListeners(stream3)){return}var listener;var listeners=stream3.listeners("close");for(var i=0;i<listeners.length;i++){listener=listeners[i];if(listener.name!=="cleanup"&&listener.name!=="onclose"){continue}listener.call(stream3)}}}});var require_raw_body=__commonJS({"node_modules/raw-body/index.js"(exports2,module2){"use strict";var asyncHooks=tryRequireAsyncHooks();var bytes9=require_bytes();var createError=require_http_errors3();var iconv=require_lib9();var unpipe=require_unpipe();module2.exports=getRawBody;var ICONV_ENCODING_MESSAGE_REGEXP=/^Encoding not recognized: /;function getDecoder(encoding){if(!encoding)return null;try{return iconv.getDecoder(encoding)}catch(e){if(!ICONV_ENCODING_MESSAGE_REGEXP.test(e.message))throw e;throw createError(415,"specified encoding unsupported",{encoding,type:"encoding.unsupported"})}}function getRawBody(stream3,options,callback){var done=callback;var opts=options||{};if(stream3===void 0){throw new TypeError("argument stream is required")}else if(typeof stream3!=="object"||stream3===null||typeof stream3.on!=="function"){throw new TypeError("argument stream must be a stream")}if(options===true||typeof options==="string"){opts={encoding:options}}if(typeof options==="function"){done=options;opts={}}if(done!==void 0&&typeof done!=="function"){throw new TypeError("argument callback must be a function")}if(!done&&!global.Promise){throw new TypeError("argument callback is required")}var encoding=opts.encoding!==true?opts.encoding:"utf-8";var limit=bytes9.parse(opts.limit);var length=opts.length!=null&&!isNaN(opts.length)?parseInt(opts.length,10):null;if(done){return readStream2(stream3,encoding,length,limit,wrap4(done))}return new Promise(function executor(resolve,reject2){readStream2(stream3,encoding,length,limit,function onRead(err,buf){if(err)return reject2(err);resolve(buf)})})}function halt(stream3){unpipe(stream3);if(typeof stream3.pause==="function"){stream3.pause()}}function readStream2(stream3,encoding,length,limit,callback){var complete=false;var sync=true;if(limit!==null&&length!==null&&length>limit){return done(createError(413,"request entity too large",{expected:length,length,limit,type:"entity.too.large"}))}var state=stream3._readableState;if(stream3._decoder||state&&(state.encoding||state.decoder)){return done(createError(500,"stream encoding should not be set",{type:"stream.encoding.set"}))}if(typeof stream3.readable!=="undefined"&&!stream3.readable){return done(createError(500,"stream is not readable",{type:"stream.not.readable"}))}var received=0;var decoder2;try{decoder2=getDecoder(encoding)}catch(err){return done(err)}var buffer=decoder2?"":[];stream3.on("aborted",onAborted);stream3.on("close",cleanup);stream3.on("data",onData);stream3.on("end",onEnd);stream3.on("error",onEnd);sync=false;function done(){var args2=new Array(arguments.length);for(var i=0;i<args2.length;i++){args2[i]=arguments[i]}complete=true;if(sync){process.nextTick(invokeCallback)}else{invokeCallback()}function invokeCallback(){cleanup();if(args2[0]){halt(stream3)}callback.apply(null,args2)}}function onAborted(){if(complete)return;done(createError(400,"request aborted",{code:"ECONNABORTED",expected:length,length,received,type:"request.aborted"}))}function onData(chunk2){if(complete)return;received+=chunk2.length;if(limit!==null&&received>limit){done(createError(413,"request entity too large",{limit,received,type:"entity.too.large"}))}else if(decoder2){buffer+=decoder2.write(chunk2)}else{buffer.push(chunk2)}}function onEnd(err){if(complete)return;if(err)return done(err);if(length!==null&&received!==length){done(createError(400,"request size did not match content length",{expected:length,length,received,type:"request.size.invalid"}))}else{var string=decoder2?buffer+(decoder2.end()||""):Buffer.concat(buffer);done(null,string)}}function cleanup(){buffer=null;stream3.removeListener("aborted",onAborted);stream3.removeListener("data",onData);stream3.removeListener("end",onEnd);stream3.removeListener("error",onEnd);stream3.removeListener("close",cleanup)}}function tryRequireAsyncHooks(){try{return require("async_hooks")}catch(e){return{}}}function wrap4(fn2){var res;if(asyncHooks.AsyncResource){res=new asyncHooks.AsyncResource(fn2.name||"bound-anonymous-fn")}if(!res||!res.runInAsyncScope){return fn2}return res.runInAsyncScope.bind(res,fn2,null)}}});var require_inflation=__commonJS({"node_modules/inflation/index.js"(exports2,module2){var zlib2=require("zlib");module2.exports=inflate;function inflate(stream3,options){if(!stream3){throw new TypeError("argument stream is required")}options=options||{};var encoding=options.encoding||stream3.headers&&stream3.headers["content-encoding"]||"identity";var decompression;switch(encoding){case"gzip":case"deflate":delete options.brotli;delete options.encoding;decompression=zlib2.createUnzip(options);break;case"br":if(zlib2.createBrotliDecompress){decompression=zlib2.createBrotliDecompress(options.brotli)}break;case"identity":return stream3}if(!decompression){var err=new Error("Unsupported Content-Encoding: "+encoding);err.status=415;throw err}return stream3.pipe(decompression)}}});var require_lib10=__commonJS({"node_modules/@hapi/bourne/lib/index.js"(exports2){"use strict";var internals={suspectRx:/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*\:/};exports2.parse=function(text,...args2){const firstOptions=typeof args2[0]==="object"&&args2[0];const reviver=args2.length>1||!firstOptions?args2[0]:void 0;const options=args2.length>1&&args2[1]||firstOptions||{};const obj=JSON.parse(text,reviver);if(options.protoAction==="ignore"){return obj}if(!obj||typeof obj!=="object"){return obj}if(!text.match(internals.suspectRx)){return obj}exports2.scan(obj,options);return obj};exports2.scan=function(obj,options={}){let next=[obj];while(next.length){const nodes=next;next=[];for(const node of nodes){if(Object.prototype.hasOwnProperty.call(node,"__proto__")){if(options.protoAction!=="remove"){throw new SyntaxError("Object contains forbidden prototype property")}delete node.__proto__}for(const key in node){const value=node[key];if(value&&typeof value==="object"){next.push(node[key])}}}}};exports2.safeParse=function(text,reviver){try{return exports2.parse(text,reviver)}catch(ignoreError){return null}}}});var require_utils3=__commonJS({"node_modules/co-body/lib/utils.js"(exports2){"use strict";exports2.clone=function(opts){const options={};opts=opts||{};for(const key in opts){options[key]=opts[key]}return options}}});var require_json2=__commonJS({"node_modules/co-body/lib/json.js"(exports2,module2){"use strict";var raw=require_raw_body();var inflate=require_inflation();var bourne=require_lib10();var utils=require_utils3();var strictJSONReg=/^[\x20\x09\x0a\x0d]*(\[|\{)/;module2.exports=async function(req,opts){req=req.req||req;opts=utils.clone(opts);const len=req.headers["content-length"];const encoding=req.headers["content-encoding"]||"identity";if(len&&encoding==="identity")opts.length=~~len;opts.encoding=opts.encoding||"utf8";opts.limit=opts.limit||"1mb";const strict=opts.strict!==false;const protoAction=opts.onProtoPoisoning||"error";const str2=await raw(inflate(req),opts);try{const parsed=parse3(str2);return opts.returnRawBody?{parsed,raw:str2}:parsed}catch(err){err.status=400;err.body=str2;throw err}function parse3(str3){if(!strict)return str3?bourne.parse(str3,{protoAction}):str3;if(!str3)return{};if(!strictJSONReg.test(str3)){throw new SyntaxError("invalid JSON, only supports object and array")}return bourne.parse(str3,{protoAction})}}}});var require_util_inspect=__commonJS({"node_modules/object-inspect/util.inspect.js"(exports2,module2){module2.exports=require("util").inspect}});var require_object_inspect=__commonJS({"node_modules/object-inspect/index.js"(exports2,module2){var hasMap=typeof Map==="function"&&Map.prototype;var mapSizeDescriptor=Object.getOwnPropertyDescriptor&&hasMap?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null;var mapSize=hasMap&&mapSizeDescriptor&&typeof mapSizeDescriptor.get==="function"?mapSizeDescriptor.get:null;var mapForEach=hasMap&&Map.prototype.forEach;var hasSet=typeof Set==="function"&&Set.prototype;var setSizeDescriptor=Object.getOwnPropertyDescriptor&&hasSet?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null;var setSize=hasSet&&setSizeDescriptor&&typeof setSizeDescriptor.get==="function"?setSizeDescriptor.get:null;var setForEach=hasSet&&Set.prototype.forEach;var hasWeakMap=typeof WeakMap==="function"&&WeakMap.prototype;var weakMapHas=hasWeakMap?WeakMap.prototype.has:null;var hasWeakSet=typeof WeakSet==="function"&&WeakSet.prototype;var weakSetHas=hasWeakSet?WeakSet.prototype.has:null;var hasWeakRef=typeof WeakRef==="function"&&WeakRef.prototype;var weakRefDeref=hasWeakRef?WeakRef.prototype.deref:null;var booleanValueOf=Boolean.prototype.valueOf;var objectToString2=Object.prototype.toString;var functionToString=Function.prototype.toString;var $match=String.prototype.match;var $slice=String.prototype.slice;var $replace=String.prototype.replace;var $toUpperCase=String.prototype.toUpperCase;var $toLowerCase=String.prototype.toLowerCase;var $test=RegExp.prototype.test;var $concat=Array.prototype.concat;var $join=Array.prototype.join;var $arrSlice=Array.prototype.slice;var $floor=Math.floor;var bigIntValueOf=typeof BigInt==="function"?BigInt.prototype.valueOf:null;var gOPS=Object.getOwnPropertySymbols;var symToString=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?Symbol.prototype.toString:null;var hasShammedSymbols=typeof Symbol==="function"&&typeof Symbol.iterator==="object";var toStringTag=typeof Symbol==="function"&&Symbol.toStringTag&&(typeof Symbol.toStringTag===hasShammedSymbols?"object":"symbol")?Symbol.toStringTag:null;var isEnumerable=Object.prototype.propertyIsEnumerable;var gPO=(typeof Reflect==="function"?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(O){return O.__proto__}:null);function addNumericSeparator(num,str2){if(num===Infinity||num===-Infinity||num!==num||num&&num>-1e3&&num<1e3||$test.call(/e/,str2)){return str2}var sepRegex=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof num==="number"){var int2=num<0?-$floor(-num):$floor(num);if(int2!==num){var intStr=String(int2);var dec=$slice.call(str2,intStr.length+1);return $replace.call(intStr,sepRegex,"$&_")+"."+$replace.call($replace.call(dec,/([0-9]{3})/g,"$&_"),/_$/,"")}}return $replace.call(str2,sepRegex,"$&_")}var utilInspect=require_util_inspect();var inspectCustom=utilInspect.custom;var inspectSymbol=isSymbol2(inspectCustom)?inspectCustom:null;var quotes={__proto__:null,"double":'"',single:"'"};var quoteREs={__proto__:null,"double":/(["\\])/g,single:/(['\\])/g};module2.exports=function inspect_(obj,options,depth,seen){var opts=options||{};if(has3(opts,"quoteStyle")&&!has3(quotes,opts.quoteStyle)){throw new TypeError('option "quoteStyle" must be "single" or "double"')}if(has3(opts,"maxStringLength")&&(typeof opts.maxStringLength==="number"?opts.maxStringLength<0&&opts.maxStringLength!==Infinity:opts.maxStringLength!==null)){throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`')}var customInspect=has3(opts,"customInspect")?opts.customInspect:true;if(typeof customInspect!=="boolean"&&customInspect!=="symbol"){throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`")}if(has3(opts,"indent")&&opts.indent!==null&&opts.indent!=="	"&&!(parseInt(opts.indent,10)===opts.indent&&opts.indent>0)){throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`')}if(has3(opts,"numericSeparator")&&typeof opts.numericSeparator!=="boolean"){throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`')}var numericSeparator=opts.numericSeparator;if(typeof obj==="undefined"){return"undefined"}if(obj===null){return"null"}if(typeof obj==="boolean"){return obj?"true":"false"}if(typeof obj==="string"){return inspectString(obj,opts)}if(typeof obj==="number"){if(obj===0){return Infinity/obj>0?"0":"-0"}var str2=String(obj);return numericSeparator?addNumericSeparator(obj,str2):str2}if(typeof obj==="bigint"){var bigIntStr=String(obj)+"n";return numericSeparator?addNumericSeparator(obj,bigIntStr):bigIntStr}var maxDepth=typeof opts.depth==="undefined"?5:opts.depth;if(typeof depth==="undefined"){depth=0}if(depth>=maxDepth&&maxDepth>0&&typeof obj==="object"){return isArray3(obj)?"[Array]":"[Object]"}var indent=getIndent(opts,depth);if(typeof seen==="undefined"){seen=[]}else if(indexOf2(seen,obj)>=0){return"[Circular]"}function inspect3(value,from,noIndent){if(from){seen=$arrSlice.call(seen);seen.push(from)}if(noIndent){var newOpts={depth:opts.depth};if(has3(opts,"quoteStyle")){newOpts.quoteStyle=opts.quoteStyle}return inspect_(value,newOpts,depth+1,seen)}return inspect_(value,opts,depth+1,seen)}if(typeof obj==="function"&&!isRegExp2(obj)){var name=nameOf(obj);var keys2=arrObjKeys(obj,inspect3);return"[Function"+(name?": "+name:" (anonymous)")+"]"+(keys2.length>0?" { "+$join.call(keys2,", ")+" }":"")}if(isSymbol2(obj)){var symString=hasShammedSymbols?$replace.call(String(obj),/^(Symbol\(.*\))_[^)]*$/,"$1"):symToString.call(obj);return typeof obj==="object"&&!hasShammedSymbols?markBoxed(symString):symString}if(isElement2(obj)){var s="<"+$toLowerCase.call(String(obj.nodeName));var attrs=obj.attributes||[];for(var i=0;i<attrs.length;i++){s+=" "+attrs[i].name+"="+wrapQuotes(quote(attrs[i].value),"double",opts)}s+=">";if(obj.childNodes&&obj.childNodes.length){s+="..."}s+="</"+$toLowerCase.call(String(obj.nodeName))+">";return s}if(isArray3(obj)){if(obj.length===0){return"[]"}var xs=arrObjKeys(obj,inspect3);if(indent&&!singleLineValues(xs)){return"["+indentedJoin(xs,indent)+"]"}return"[ "+$join.call(xs,", ")+" ]"}if(isError2(obj)){var parts=arrObjKeys(obj,inspect3);if(!("cause"in Error.prototype)&&"cause"in obj&&!isEnumerable.call(obj,"cause")){return"{ ["+String(obj)+"] "+$join.call($concat.call("[cause]: "+inspect3(obj.cause),parts),", ")+" }"}if(parts.length===0){return"["+String(obj)+"]"}return"{ ["+String(obj)+"] "+$join.call(parts,", ")+" }"}if(typeof obj==="object"&&customInspect){if(inspectSymbol&&typeof obj[inspectSymbol]==="function"&&utilInspect){return utilInspect(obj,{depth:maxDepth-depth})}else if(customInspect!=="symbol"&&typeof obj.inspect==="function"){return obj.inspect()}}if(isMap2(obj)){var mapParts=[];if(mapForEach){mapForEach.call(obj,function(value,key){mapParts.push(inspect3(key,obj,true)+" => "+inspect3(value,obj))})}return collectionOf("Map",mapSize.call(obj),mapParts,indent)}if(isSet2(obj)){var setParts=[];if(setForEach){setForEach.call(obj,function(value){setParts.push(inspect3(value,obj))})}return collectionOf("Set",setSize.call(obj),setParts,indent)}if(isWeakMap2(obj)){return weakCollectionOf("WeakMap")}if(isWeakSet2(obj)){return weakCollectionOf("WeakSet")}if(isWeakRef(obj)){return weakCollectionOf("WeakRef")}if(isNumber4(obj)){return markBoxed(inspect3(Number(obj)))}if(isBigInt(obj)){return markBoxed(inspect3(bigIntValueOf.call(obj)))}if(isBoolean4(obj)){return markBoxed(booleanValueOf.call(obj))}if(isString4(obj)){return markBoxed(inspect3(String(obj)))}if(typeof window!=="undefined"&&obj===window){return"{ [object Window] }"}if(typeof globalThis!=="undefined"&&obj===globalThis||typeof global!=="undefined"&&obj===global){return"{ [object globalThis] }"}if(!isDate2(obj)&&!isRegExp2(obj)){var ys=arrObjKeys(obj,inspect3);var isPlainObject3=gPO?gPO(obj)===Object.prototype:obj instanceof Object||obj.constructor===Object;var protoTag=obj instanceof Object?"":"null prototype";var stringTag6=!isPlainObject3&&toStringTag&&Object(obj)===obj&&toStringTag in obj?$slice.call(toStr(obj),8,-1):protoTag?"Object":"";var constructorTag=isPlainObject3||typeof obj.constructor!=="function"?"":obj.constructor.name?obj.constructor.name+" ":"";var tag=constructorTag+(stringTag6||protoTag?"["+$join.call($concat.call([],stringTag6||[],protoTag||[]),": ")+"] ":"");if(ys.length===0){return tag+"{}"}if(indent){return tag+"{"+indentedJoin(ys,indent)+"}"}return tag+"{ "+$join.call(ys,", ")+" }"}return String(obj)};function wrapQuotes(s,defaultStyle,opts){var style=opts.quoteStyle||defaultStyle;var quoteChar=quotes[style];return quoteChar+s+quoteChar}function quote(s){return $replace.call(String(s),/"/g,"&quot;")}function isArray3(obj){return toStr(obj)==="[object Array]"&&(!toStringTag||!(typeof obj==="object"&&toStringTag in obj))}function isDate2(obj){return toStr(obj)==="[object Date]"&&(!toStringTag||!(typeof obj==="object"&&toStringTag in obj))}function isRegExp2(obj){return toStr(obj)==="[object RegExp]"&&(!toStringTag||!(typeof obj==="object"&&toStringTag in obj))}function isError2(obj){return toStr(obj)==="[object Error]"&&(!toStringTag||!(typeof obj==="object"&&toStringTag in obj))}function isString4(obj){return toStr(obj)==="[object String]"&&(!toStringTag||!(typeof obj==="object"&&toStringTag in obj))}function isNumber4(obj){return toStr(obj)==="[object Number]"&&(!toStringTag||!(typeof obj==="object"&&toStringTag in obj))}function isBoolean4(obj){return toStr(obj)==="[object Boolean]"&&(!toStringTag||!(typeof obj==="object"&&toStringTag in obj))}function isSymbol2(obj){if(hasShammedSymbols){return obj&&typeof obj==="object"&&obj instanceof Symbol}if(typeof obj==="symbol"){return true}if(!obj||typeof obj!=="object"||!symToString){return false}try{symToString.call(obj);return true}catch(e){}return false}function isBigInt(obj){if(!obj||typeof obj!=="object"||!bigIntValueOf){return false}try{bigIntValueOf.call(obj);return true}catch(e){}return false}var hasOwn2=Object.prototype.hasOwnProperty||function(key){return key in this};function has3(obj,key){return hasOwn2.call(obj,key)}function toStr(obj){return objectToString2.call(obj)}function nameOf(f){if(f.name){return f.name}var m=$match.call(functionToString.call(f),/^function\s*([\w$]+)/);if(m){return m[1]}return null}function indexOf2(xs,x){if(xs.indexOf){return xs.indexOf(x)}for(var i=0,l=xs.length;i<l;i++){if(xs[i]===x){return i}}return-1}function isMap2(x){if(!mapSize||!x||typeof x!=="object"){return false}try{mapSize.call(x);try{setSize.call(x)}catch(s){return true}return x instanceof Map}catch(e){}return false}function isWeakMap2(x){if(!weakMapHas||!x||typeof x!=="object"){return false}try{weakMapHas.call(x,weakMapHas);try{weakSetHas.call(x,weakSetHas)}catch(s){return true}return x instanceof WeakMap}catch(e){}return false}function isWeakRef(x){if(!weakRefDeref||!x||typeof x!=="object"){return false}try{weakRefDeref.call(x);return true}catch(e){}return false}function isSet2(x){if(!setSize||!x||typeof x!=="object"){return false}try{setSize.call(x);try{mapSize.call(x)}catch(m){return true}return x instanceof Set}catch(e){}return false}function isWeakSet2(x){if(!weakSetHas||!x||typeof x!=="object"){return false}try{weakSetHas.call(x,weakSetHas);try{weakMapHas.call(x,weakMapHas)}catch(s){return true}return x instanceof WeakSet}catch(e){}return false}function isElement2(x){if(!x||typeof x!=="object"){return false}if(typeof HTMLElement!=="undefined"&&x instanceof HTMLElement){return true}return typeof x.nodeName==="string"&&typeof x.getAttribute==="function"}function inspectString(str2,opts){if(str2.length>opts.maxStringLength){var remaining=str2.length-opts.maxStringLength;var trailer="... "+remaining+" more character"+(remaining>1?"s":"");return inspectString($slice.call(str2,0,opts.maxStringLength),opts)+trailer}var quoteRE=quoteREs[opts.quoteStyle||"single"];quoteRE.lastIndex=0;var s=$replace.call($replace.call(str2,quoteRE,"\\$1"),/[\x00-\x1f]/g,lowbyte);return wrapQuotes(s,"single",opts)}function lowbyte(c){var n=c.charCodeAt(0);var x={8:"b",9:"t",10:"n",12:"f",13:"r"}[n];if(x){return"\\"+x}return"\\x"+(n<16?"0":"")+$toUpperCase.call(n.toString(16))}function markBoxed(str2){return"Object("+str2+")"}function weakCollectionOf(type2){return type2+" { ? }"}function collectionOf(type2,size2,entries2,indent){var joinedEntries=indent?indentedJoin(entries2,indent):$join.call(entries2,", ");return type2+" ("+size2+") {"+joinedEntries+"}"}function singleLineValues(xs){for(var i=0;i<xs.length;i++){if(indexOf2(xs[i],"\n")>=0){return false}}return true}function getIndent(opts,depth){var baseIndent;if(opts.indent==="	"){baseIndent="	"}else if(typeof opts.indent==="number"&&opts.indent>0){baseIndent=$join.call(Array(opts.indent+1)," ")}else{return null}return{base:baseIndent,prev:$join.call(Array(depth+1),baseIndent)}}function indentedJoin(xs,indent){if(xs.length===0){return""}var lineJoiner="\n"+indent.prev+indent.base;return lineJoiner+$join.call(xs,","+lineJoiner)+"\n"+indent.prev}function arrObjKeys(obj,inspect3){var isArr=isArray3(obj);var xs=[];if(isArr){xs.length=obj.length;for(var i=0;i<obj.length;i++){xs[i]=has3(obj,i)?inspect3(obj[i],obj):""}}var syms=typeof gOPS==="function"?gOPS(obj):[];var symMap;if(hasShammedSymbols){symMap={};for(var k=0;k<syms.length;k++){symMap["$"+syms[k]]=syms[k]}}for(var key in obj){if(!has3(obj,key)){continue}if(isArr&&String(Number(key))===key&&key<obj.length){continue}if(hasShammedSymbols&&symMap["$"+key]instanceof Symbol){continue}else if($test.call(/[^\w$]/,key)){xs.push(inspect3(key,obj)+": "+inspect3(obj[key],obj))}else{xs.push(key+": "+inspect3(obj[key],obj))}}if(typeof gOPS==="function"){for(var j=0;j<syms.length;j++){if(isEnumerable.call(obj,syms[j])){xs.push("["+inspect3(syms[j])+"]: "+inspect3(obj[syms[j]],obj))}}}return xs}}});var require_side_channel_list=__commonJS({"node_modules/side-channel-list/index.js"(exports2,module2){"use strict";var inspect3=require_object_inspect();var $TypeError=require_type();var listGetNode=function(list,key,isDelete){var prev=list;var curr;for(;(curr=prev.next)!=null;prev=curr){if(curr.key===key){prev.next=curr.next;if(!isDelete){curr.next=list.next;list.next=curr}return curr}}};var listGet=function(objects,key){if(!objects){return void 0}var node=listGetNode(objects,key);return node&&node.value};var listSet=function(objects,key,value){var node=listGetNode(objects,key);if(node){node.value=value}else{objects.next={key,next:objects.next,value}}};var listHas=function(objects,key){if(!objects){return false}return!!listGetNode(objects,key)};var listDelete=function(objects,key){if(objects){return listGetNode(objects,key,true)}};module2.exports=function getSideChannelList(){var $o;var channel={assert:function(key){if(!channel.has(key)){throw new $TypeError("Side channel does not contain "+inspect3(key))}},"delete":function(key){var root2=$o&&$o.next;var deletedNode=listDelete($o,key);if(deletedNode&&root2&&root2===deletedNode){$o=void 0}return!!deletedNode},get:function(key){return listGet($o,key)},has:function(key){return listHas($o,key)},set:function(key,value){if(!$o){$o={next:void 0}}listSet($o,key,value)}};return channel}}});var require_side_channel_map=__commonJS({"node_modules/side-channel-map/index.js"(exports2,module2){"use strict";var GetIntrinsic=require_get_intrinsic();var callBound=require_call_bound();var inspect3=require_object_inspect();var $TypeError=require_type();var $Map=GetIntrinsic("%Map%",true);var $mapGet=callBound("Map.prototype.get",true);var $mapSet=callBound("Map.prototype.set",true);var $mapHas=callBound("Map.prototype.has",true);var $mapDelete=callBound("Map.prototype.delete",true);var $mapSize=callBound("Map.prototype.size",true);module2.exports=!!$Map&&function getSideChannelMap(){var $m;var channel={assert:function(key){if(!channel.has(key)){throw new $TypeError("Side channel does not contain "+inspect3(key))}},"delete":function(key){if($m){var result2=$mapDelete($m,key);if($mapSize($m)===0){$m=void 0}return result2}return false},get:function(key){if($m){return $mapGet($m,key)}},has:function(key){if($m){return $mapHas($m,key)}return false},set:function(key,value){if(!$m){$m=new $Map}$mapSet($m,key,value)}};return channel}}});var require_side_channel_weakmap=__commonJS({"node_modules/side-channel-weakmap/index.js"(exports2,module2){"use strict";var GetIntrinsic=require_get_intrinsic();var callBound=require_call_bound();var inspect3=require_object_inspect();var getSideChannelMap=require_side_channel_map();var $TypeError=require_type();var $WeakMap=GetIntrinsic("%WeakMap%",true);var $weakMapGet=callBound("WeakMap.prototype.get",true);var $weakMapSet=callBound("WeakMap.prototype.set",true);var $weakMapHas=callBound("WeakMap.prototype.has",true);var $weakMapDelete=callBound("WeakMap.prototype.delete",true);module2.exports=$WeakMap?function getSideChannelWeakMap(){var $wm;var $m;var channel={assert:function(key){if(!channel.has(key)){throw new $TypeError("Side channel does not contain "+inspect3(key))}},"delete":function(key){if($WeakMap&&key&&(typeof key==="object"||typeof key==="function")){if($wm){return $weakMapDelete($wm,key)}}else if(getSideChannelMap){if($m){return $m["delete"](key)}}return false},get:function(key){if($WeakMap&&key&&(typeof key==="object"||typeof key==="function")){if($wm){return $weakMapGet($wm,key)}}return $m&&$m.get(key)},has:function(key){if($WeakMap&&key&&(typeof key==="object"||typeof key==="function")){if($wm){return $weakMapHas($wm,key)}}return!!$m&&$m.has(key)},set:function(key,value){if($WeakMap&&key&&(typeof key==="object"||typeof key==="function")){if(!$wm){$wm=new $WeakMap}$weakMapSet($wm,key,value)}else if(getSideChannelMap){if(!$m){$m=getSideChannelMap()}$m.set(key,value)}}};return channel}:getSideChannelMap}});var require_side_channel=__commonJS({"node_modules/side-channel/index.js"(exports2,module2){"use strict";var $TypeError=require_type();var inspect3=require_object_inspect();var getSideChannelList=require_side_channel_list();var getSideChannelMap=require_side_channel_map();var getSideChannelWeakMap=require_side_channel_weakmap();var makeChannel=getSideChannelWeakMap||getSideChannelMap||getSideChannelList;module2.exports=function getSideChannel(){var $channelData;var channel={assert:function(key){if(!channel.has(key)){throw new $TypeError("Side channel does not contain "+inspect3(key))}},"delete":function(key){return!!$channelData&&$channelData["delete"](key)},get:function(key){return $channelData&&$channelData.get(key)},has:function(key){return!!$channelData&&$channelData.has(key)},set:function(key,value){if(!$channelData){$channelData=makeChannel()}$channelData.set(key,value)}};return channel}}});var require_formats=__commonJS({"node_modules/qs/lib/formats.js"(exports2,module2){"use strict";var replace2=String.prototype.replace;var percentTwenties=/%20/g;var Format={RFC1738:"RFC1738",RFC3986:"RFC3986"};module2.exports={"default":Format.RFC3986,formatters:{RFC1738:function(value){return replace2.call(value,percentTwenties,"+")},RFC3986:function(value){return String(value)}},RFC1738:Format.RFC1738,RFC3986:Format.RFC3986}}});var require_utils4=__commonJS({"node_modules/qs/lib/utils.js"(exports2,module2){"use strict";var formats=require_formats();var has3=Object.prototype.hasOwnProperty;var isArray3=Array.isArray;var hexTable=function(){var array=[];for(var i=0;i<256;++i){array.push("%"+((i<16?"0":"")+i.toString(16)).toUpperCase())}return array}();var compactQueue=function compactQueue2(queue){while(queue.length>1){var item=queue.pop();var obj=item.obj[item.prop];if(isArray3(obj)){var compacted=[];for(var j=0;j<obj.length;++j){if(typeof obj[j]!=="undefined"){compacted.push(obj[j])}}item.obj[item.prop]=compacted}}};var arrayToObject=function arrayToObject2(source,options){var obj=options&&options.plainObjects?{__proto__:null}:{};for(var i=0;i<source.length;++i){if(typeof source[i]!=="undefined"){obj[i]=source[i]}}return obj};var merge3=function merge4(target,source,options){if(!source){return target}if(typeof source!=="object"&&typeof source!=="function"){if(isArray3(target)){target.push(source)}else if(target&&typeof target==="object"){if(options&&(options.plainObjects||options.allowPrototypes)||!has3.call(Object.prototype,source)){target[source]=true}}else{return[target,source]}return target}if(!target||typeof target!=="object"){return[target].concat(source)}var mergeTarget=target;if(isArray3(target)&&!isArray3(source)){mergeTarget=arrayToObject(target,options)}if(isArray3(target)&&isArray3(source)){source.forEach(function(item,i){if(has3.call(target,i)){var targetItem=target[i];if(targetItem&&typeof targetItem==="object"&&item&&typeof item==="object"){target[i]=merge4(targetItem,item,options)}else{target.push(item)}}else{target[i]=item}});return target}return Object.keys(source).reduce(function(acc,key){var value=source[key];if(has3.call(acc,key)){acc[key]=merge4(acc[key],value,options)}else{acc[key]=value}return acc},mergeTarget)};var assign2=function assignSingleSource(target,source){return Object.keys(source).reduce(function(acc,key){acc[key]=source[key];return acc},target)};var decode=function(str2,defaultDecoder,charset){var strWithoutPlus=str2.replace(/\+/g," ");if(charset==="iso-8859-1"){return strWithoutPlus.replace(/%[0-9a-f]{2}/gi,unescape)}try{return decodeURIComponent(strWithoutPlus)}catch(e){return strWithoutPlus}};var limit=1024;var encode2=function encode3(str2,defaultEncoder,charset,kind,format2){if(str2.length===0){return str2}var string=str2;if(typeof str2==="symbol"){string=Symbol.prototype.toString.call(str2)}else if(typeof str2!=="string"){string=String(str2)}if(charset==="iso-8859-1"){return escape(string).replace(/%u[0-9a-f]{4}/gi,function($0){return"%26%23"+parseInt($0.slice(2),16)+"%3B"})}var out="";for(var j=0;j<string.length;j+=limit){var segment=string.length>=limit?string.slice(j,j+limit):string;var arr=[];for(var i=0;i<segment.length;++i){var c=segment.charCodeAt(i);if(c===45||c===46||c===95||c===126||c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122||format2===formats.RFC1738&&(c===40||c===41)){arr[arr.length]=segment.charAt(i);continue}if(c<128){arr[arr.length]=hexTable[c];continue}if(c<2048){arr[arr.length]=hexTable[192|c>>6]+hexTable[128|c&63];continue}if(c<55296||c>=57344){arr[arr.length]=hexTable[224|c>>12]+hexTable[128|c>>6&63]+hexTable[128|c&63];continue}i+=1;c=65536+((c&1023)<<10|segment.charCodeAt(i)&1023);arr[arr.length]=hexTable[240|c>>18]+hexTable[128|c>>12&63]+hexTable[128|c>>6&63]+hexTable[128|c&63]}out+=arr.join("")}return out};var compact2=function compact3(value){var queue=[{obj:{o:value},prop:"o"}];var refs=[];for(var i=0;i<queue.length;++i){var item=queue[i];var obj=item.obj[item.prop];var keys2=Object.keys(obj);for(var j=0;j<keys2.length;++j){var key=keys2[j];var val=obj[key];if(typeof val==="object"&&val!==null&&refs.indexOf(val)===-1){queue.push({obj,prop:key});refs.push(val)}}}compactQueue(queue);return value};var isRegExp2=function isRegExp3(obj){return Object.prototype.toString.call(obj)==="[object RegExp]"};var isBuffer2=function isBuffer3(obj){if(!obj||typeof obj!=="object"){return false}return!!(obj.constructor&&obj.constructor.isBuffer&&obj.constructor.isBuffer(obj))};var combine=function combine2(a,b){return[].concat(a,b)};var maybeMap=function maybeMap2(val,fn2){if(isArray3(val)){var mapped=[];for(var i=0;i<val.length;i+=1){mapped.push(fn2(val[i]))}return mapped}return fn2(val)};module2.exports={arrayToObject,assign:assign2,combine,compact:compact2,decode,encode:encode2,isBuffer:isBuffer2,isRegExp:isRegExp2,maybeMap,merge:merge3}}});var require_stringify=__commonJS({"node_modules/qs/lib/stringify.js"(exports2,module2){"use strict";var getSideChannel=require_side_channel();var utils=require_utils4();var formats=require_formats();var has3=Object.prototype.hasOwnProperty;var arrayPrefixGenerators={brackets:function brackets(prefix){return prefix+"[]"},comma:"comma",indices:function indices(prefix,key){return prefix+"["+key+"]"},repeat:function repeat3(prefix){return prefix}};var isArray3=Array.isArray;var push=Array.prototype.push;var pushToArray=function(arr,valueOrArray){push.apply(arr,isArray3(valueOrArray)?valueOrArray:[valueOrArray])};var toISO=Date.prototype.toISOString;var defaultFormat=formats["default"];var defaults3={addQueryPrefix:false,allowDots:false,allowEmptyArrays:false,arrayFormat:"indices",charset:"utf-8",charsetSentinel:false,commaRoundTrip:false,delimiter:"&",encode:true,encodeDotInKeys:false,encoder:utils.encode,encodeValuesOnly:false,filter:void 0,format:defaultFormat,formatter:formats.formatters[defaultFormat],indices:false,serializeDate:function serializeDate(date){return toISO.call(date)},skipNulls:false,strictNullHandling:false};var isNonNullishPrimitive=function isNonNullishPrimitive2(v){return typeof v==="string"||typeof v==="number"||typeof v==="boolean"||typeof v==="symbol"||typeof v==="bigint"};var sentinel={};var stringify=function stringify2(object,prefix,generateArrayPrefix,commaRoundTrip,allowEmptyArrays,strictNullHandling,skipNulls,encodeDotInKeys,encoder2,filter2,sort,allowDots,serializeDate,format2,formatter,encodeValuesOnly,charset,sideChannel){var obj=object;var tmpSc=sideChannel;var step=0;var findFlag=false;while((tmpSc=tmpSc.get(sentinel))!==void 0&&!findFlag){var pos=tmpSc.get(object);step+=1;if(typeof pos!=="undefined"){if(pos===step){throw new RangeError("Cyclic object value")}else{findFlag=true}}if(typeof tmpSc.get(sentinel)==="undefined"){step=0}}if(typeof filter2==="function"){obj=filter2(prefix,obj)}else if(obj instanceof Date){obj=serializeDate(obj)}else if(generateArrayPrefix==="comma"&&isArray3(obj)){obj=utils.maybeMap(obj,function(value2){if(value2 instanceof Date){return serializeDate(value2)}return value2})}if(obj===null){if(strictNullHandling){return encoder2&&!encodeValuesOnly?encoder2(prefix,defaults3.encoder,charset,"key",format2):prefix}obj=""}if(isNonNullishPrimitive(obj)||utils.isBuffer(obj)){if(encoder2){var keyValue=encodeValuesOnly?prefix:encoder2(prefix,defaults3.encoder,charset,"key",format2);return[formatter(keyValue)+"="+formatter(encoder2(obj,defaults3.encoder,charset,"value",format2))]}return[formatter(prefix)+"="+formatter(String(obj))]}var values2=[];if(typeof obj==="undefined"){return values2}var objKeys;if(generateArrayPrefix==="comma"&&isArray3(obj)){if(encodeValuesOnly&&encoder2){obj=utils.maybeMap(obj,encoder2)}objKeys=[{value:obj.length>0?obj.join(",")||null:void 0}]}else if(isArray3(filter2)){objKeys=filter2}else{var keys2=Object.keys(obj);objKeys=sort?keys2.sort(sort):keys2}var encodedPrefix=encodeDotInKeys?String(prefix).replace(/\./g,"%2E"):String(prefix);var adjustedPrefix=commaRoundTrip&&isArray3(obj)&&obj.length===1?encodedPrefix+"[]":encodedPrefix;if(allowEmptyArrays&&isArray3(obj)&&obj.length===0){return adjustedPrefix+"[]"}for(var j=0;j<objKeys.length;++j){var key=objKeys[j];var value=typeof key==="object"&&key&&typeof key.value!=="undefined"?key.value:obj[key];if(skipNulls&&value===null){continue}var encodedKey=allowDots&&encodeDotInKeys?String(key).replace(/\./g,"%2E"):String(key);var keyPrefix=isArray3(obj)?typeof generateArrayPrefix==="function"?generateArrayPrefix(adjustedPrefix,encodedKey):adjustedPrefix:adjustedPrefix+(allowDots?"."+encodedKey:"["+encodedKey+"]");sideChannel.set(object,step);var valueSideChannel=getSideChannel();valueSideChannel.set(sentinel,sideChannel);pushToArray(values2,stringify2(value,keyPrefix,generateArrayPrefix,commaRoundTrip,allowEmptyArrays,strictNullHandling,skipNulls,encodeDotInKeys,generateArrayPrefix==="comma"&&encodeValuesOnly&&isArray3(obj)?null:encoder2,filter2,sort,allowDots,serializeDate,format2,formatter,encodeValuesOnly,charset,valueSideChannel))}return values2};var normalizeStringifyOptions=function normalizeStringifyOptions2(opts){if(!opts){return defaults3}if(typeof opts.allowEmptyArrays!=="undefined"&&typeof opts.allowEmptyArrays!=="boolean"){throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided")}if(typeof opts.encodeDotInKeys!=="undefined"&&typeof opts.encodeDotInKeys!=="boolean"){throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided")}if(opts.encoder!==null&&typeof opts.encoder!=="undefined"&&typeof opts.encoder!=="function"){throw new TypeError("Encoder has to be a function.")}var charset=opts.charset||defaults3.charset;if(typeof opts.charset!=="undefined"&&opts.charset!=="utf-8"&&opts.charset!=="iso-8859-1"){throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined")}var format2=formats["default"];if(typeof opts.format!=="undefined"){if(!has3.call(formats.formatters,opts.format)){throw new TypeError("Unknown format option provided.")}format2=opts.format}var formatter=formats.formatters[format2];var filter2=defaults3.filter;if(typeof opts.filter==="function"||isArray3(opts.filter)){filter2=opts.filter}var arrayFormat;if(opts.arrayFormat in arrayPrefixGenerators){arrayFormat=opts.arrayFormat}else if("indices"in opts){arrayFormat=opts.indices?"indices":"repeat"}else{arrayFormat=defaults3.arrayFormat}if("commaRoundTrip"in opts&&typeof opts.commaRoundTrip!=="boolean"){throw new TypeError("`commaRoundTrip` must be a boolean, or absent")}var allowDots=typeof opts.allowDots==="undefined"?opts.encodeDotInKeys===true?true:defaults3.allowDots:!!opts.allowDots;return{addQueryPrefix:typeof opts.addQueryPrefix==="boolean"?opts.addQueryPrefix:defaults3.addQueryPrefix,allowDots,allowEmptyArrays:typeof opts.allowEmptyArrays==="boolean"?!!opts.allowEmptyArrays:defaults3.allowEmptyArrays,arrayFormat,charset,charsetSentinel:typeof opts.charsetSentinel==="boolean"?opts.charsetSentinel:defaults3.charsetSentinel,commaRoundTrip:!!opts.commaRoundTrip,delimiter:typeof opts.delimiter==="undefined"?defaults3.delimiter:opts.delimiter,encode:typeof opts.encode==="boolean"?opts.encode:defaults3.encode,encodeDotInKeys:typeof opts.encodeDotInKeys==="boolean"?opts.encodeDotInKeys:defaults3.encodeDotInKeys,encoder:typeof opts.encoder==="function"?opts.encoder:defaults3.encoder,encodeValuesOnly:typeof opts.encodeValuesOnly==="boolean"?opts.encodeValuesOnly:defaults3.encodeValuesOnly,filter:filter2,format:format2,formatter,serializeDate:typeof opts.serializeDate==="function"?opts.serializeDate:defaults3.serializeDate,skipNulls:typeof opts.skipNulls==="boolean"?opts.skipNulls:defaults3.skipNulls,sort:typeof opts.sort==="function"?opts.sort:null,strictNullHandling:typeof opts.strictNullHandling==="boolean"?opts.strictNullHandling:defaults3.strictNullHandling}};module2.exports=function(object,opts){var obj=object;var options=normalizeStringifyOptions(opts);var objKeys;var filter2;if(typeof options.filter==="function"){filter2=options.filter;obj=filter2("",obj)}else if(isArray3(options.filter)){filter2=options.filter;objKeys=filter2}var keys2=[];if(typeof obj!=="object"||obj===null){return""}var generateArrayPrefix=arrayPrefixGenerators[options.arrayFormat];var commaRoundTrip=generateArrayPrefix==="comma"&&options.commaRoundTrip;if(!objKeys){objKeys=Object.keys(obj)}if(options.sort){objKeys.sort(options.sort)}var sideChannel=getSideChannel();for(var i=0;i<objKeys.length;++i){var key=objKeys[i];var value=obj[key];if(options.skipNulls&&value===null){continue}pushToArray(keys2,stringify(value,key,generateArrayPrefix,commaRoundTrip,options.allowEmptyArrays,options.strictNullHandling,options.skipNulls,options.encodeDotInKeys,options.encode?options.encoder:null,options.filter,options.sort,options.allowDots,options.serializeDate,options.format,options.formatter,options.encodeValuesOnly,options.charset,sideChannel))}var joined=keys2.join(options.delimiter);var prefix=options.addQueryPrefix===true?"?":"";if(options.charsetSentinel){if(options.charset==="iso-8859-1"){prefix+="utf8=%26%2310003%3B&"}else{prefix+="utf8=%E2%9C%93&"}}return joined.length>0?prefix+joined:""}}});var require_parse3=__commonJS({"node_modules/qs/lib/parse.js"(exports2,module2){"use strict";var utils=require_utils4();var has3=Object.prototype.hasOwnProperty;var isArray3=Array.isArray;var defaults3={allowDots:false,allowEmptyArrays:false,allowPrototypes:false,allowSparse:false,arrayLimit:20,charset:"utf-8",charsetSentinel:false,comma:false,decodeDotInKeys:false,decoder:utils.decode,delimiter:"&",depth:5,duplicates:"combine",ignoreQueryPrefix:false,interpretNumericEntities:false,parameterLimit:1e3,parseArrays:true,plainObjects:false,strictDepth:false,strictNullHandling:false};var interpretNumericEntities=function(str2){return str2.replace(/&#(\d+);/g,function($0,numberStr){return String.fromCharCode(parseInt(numberStr,10))})};var parseArrayValue=function(val,options){if(val&&typeof val==="string"&&options.comma&&val.indexOf(",")>-1){return val.split(",")}return val};var isoSentinel="utf8=%26%2310003%3B";var charsetSentinel="utf8=%E2%9C%93";var parseValues=function parseQueryStringValues(str2,options){var obj={__proto__:null};var cleanStr=options.ignoreQueryPrefix?str2.replace(/^\?/,""):str2;cleanStr=cleanStr.replace(/%5B/gi,"[").replace(/%5D/gi,"]");var limit=options.parameterLimit===Infinity?void 0:options.parameterLimit;var parts=cleanStr.split(options.delimiter,limit);var skipIndex=-1;var i;var charset=options.charset;if(options.charsetSentinel){for(i=0;i<parts.length;++i){if(parts[i].indexOf("utf8=")===0){if(parts[i]===charsetSentinel){charset="utf-8"}else if(parts[i]===isoSentinel){charset="iso-8859-1"}skipIndex=i;i=parts.length}}}for(i=0;i<parts.length;++i){if(i===skipIndex){continue}var part=parts[i];var bracketEqualsPos=part.indexOf("]=");var pos=bracketEqualsPos===-1?part.indexOf("="):bracketEqualsPos+1;var key;var val;if(pos===-1){key=options.decoder(part,defaults3.decoder,charset,"key");val=options.strictNullHandling?null:""}else{key=options.decoder(part.slice(0,pos),defaults3.decoder,charset,"key");val=utils.maybeMap(parseArrayValue(part.slice(pos+1),options),function(encodedVal){return options.decoder(encodedVal,defaults3.decoder,charset,"value")})}if(val&&options.interpretNumericEntities&&charset==="iso-8859-1"){val=interpretNumericEntities(String(val))}if(part.indexOf("[]=")>-1){val=isArray3(val)?[val]:val}var existing=has3.call(obj,key);if(existing&&options.duplicates==="combine"){obj[key]=utils.combine(obj[key],val)}else if(!existing||options.duplicates==="last"){obj[key]=val}}return obj};var parseObject=function(chain2,val,options,valuesParsed){var leaf=valuesParsed?val:parseArrayValue(val,options);for(var i=chain2.length-1;i>=0;--i){var obj;var root2=chain2[i];if(root2==="[]"&&options.parseArrays){obj=options.allowEmptyArrays&&(leaf===""||options.strictNullHandling&&leaf===null)?[]:[].concat(leaf)}else{obj=options.plainObjects?{__proto__:null}:{};var cleanRoot=root2.charAt(0)==="["&&root2.charAt(root2.length-1)==="]"?root2.slice(1,-1):root2;var decodedRoot=options.decodeDotInKeys?cleanRoot.replace(/%2E/g,"."):cleanRoot;var index=parseInt(decodedRoot,10);if(!options.parseArrays&&decodedRoot===""){obj={0:leaf}}else if(!isNaN(index)&&root2!==decodedRoot&&String(index)===decodedRoot&&index>=0&&(options.parseArrays&&index<=options.arrayLimit)){obj=[];obj[index]=leaf}else if(decodedRoot!=="__proto__"){obj[decodedRoot]=leaf}}leaf=obj}return leaf};var parseKeys=function parseQueryStringKeys(givenKey,val,options,valuesParsed){if(!givenKey){return}var key=options.allowDots?givenKey.replace(/\.([^.[]+)/g,"[$1]"):givenKey;var brackets=/(\[[^[\]]*])/;var child=/(\[[^[\]]*])/g;var segment=options.depth>0&&brackets.exec(key);var parent2=segment?key.slice(0,segment.index):key;var keys2=[];if(parent2){if(!options.plainObjects&&has3.call(Object.prototype,parent2)){if(!options.allowPrototypes){return}}keys2.push(parent2)}var i=0;while(options.depth>0&&(segment=child.exec(key))!==null&&i<options.depth){i+=1;if(!options.plainObjects&&has3.call(Object.prototype,segment[1].slice(1,-1))){if(!options.allowPrototypes){return}}keys2.push(segment[1])}if(segment){if(options.strictDepth===true){throw new RangeError("Input depth exceeded depth option of "+options.depth+" and strictDepth is true")}keys2.push("["+key.slice(segment.index)+"]")}return parseObject(keys2,val,options,valuesParsed)};var normalizeParseOptions=function normalizeParseOptions2(opts){if(!opts){return defaults3}if(typeof opts.allowEmptyArrays!=="undefined"&&typeof opts.allowEmptyArrays!=="boolean"){throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided")}if(typeof opts.decodeDotInKeys!=="undefined"&&typeof opts.decodeDotInKeys!=="boolean"){throw new TypeError("`decodeDotInKeys` option can only be `true` or `false`, when provided")}if(opts.decoder!==null&&typeof opts.decoder!=="undefined"&&typeof opts.decoder!=="function"){throw new TypeError("Decoder has to be a function.")}if(typeof opts.charset!=="undefined"&&opts.charset!=="utf-8"&&opts.charset!=="iso-8859-1"){throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined")}var charset=typeof opts.charset==="undefined"?defaults3.charset:opts.charset;var duplicates=typeof opts.duplicates==="undefined"?defaults3.duplicates:opts.duplicates;if(duplicates!=="combine"&&duplicates!=="first"&&duplicates!=="last"){throw new TypeError("The duplicates option must be either combine, first, or last")}var allowDots=typeof opts.allowDots==="undefined"?opts.decodeDotInKeys===true?true:defaults3.allowDots:!!opts.allowDots;return{allowDots,allowEmptyArrays:typeof opts.allowEmptyArrays==="boolean"?!!opts.allowEmptyArrays:defaults3.allowEmptyArrays,allowPrototypes:typeof opts.allowPrototypes==="boolean"?opts.allowPrototypes:defaults3.allowPrototypes,allowSparse:typeof opts.allowSparse==="boolean"?opts.allowSparse:defaults3.allowSparse,arrayLimit:typeof opts.arrayLimit==="number"?opts.arrayLimit:defaults3.arrayLimit,charset,charsetSentinel:typeof opts.charsetSentinel==="boolean"?opts.charsetSentinel:defaults3.charsetSentinel,comma:typeof opts.comma==="boolean"?opts.comma:defaults3.comma,decodeDotInKeys:typeof opts.decodeDotInKeys==="boolean"?opts.decodeDotInKeys:defaults3.decodeDotInKeys,decoder:typeof opts.decoder==="function"?opts.decoder:defaults3.decoder,delimiter:typeof opts.delimiter==="string"||utils.isRegExp(opts.delimiter)?opts.delimiter:defaults3.delimiter,depth:typeof opts.depth==="number"||opts.depth===false?+opts.depth:defaults3.depth,duplicates,ignoreQueryPrefix:opts.ignoreQueryPrefix===true,interpretNumericEntities:typeof opts.interpretNumericEntities==="boolean"?opts.interpretNumericEntities:defaults3.interpretNumericEntities,parameterLimit:typeof opts.parameterLimit==="number"?opts.parameterLimit:defaults3.parameterLimit,parseArrays:opts.parseArrays!==false,plainObjects:typeof opts.plainObjects==="boolean"?opts.plainObjects:defaults3.plainObjects,strictDepth:typeof opts.strictDepth==="boolean"?!!opts.strictDepth:defaults3.strictDepth,strictNullHandling:typeof opts.strictNullHandling==="boolean"?opts.strictNullHandling:defaults3.strictNullHandling}};module2.exports=function(str2,opts){var options=normalizeParseOptions(opts);if(str2===""||str2===null||typeof str2==="undefined"){return options.plainObjects?{__proto__:null}:{}}var tempObj=typeof str2==="string"?parseValues(str2,options):str2;var obj=options.plainObjects?{__proto__:null}:{};var keys2=Object.keys(tempObj);for(var i=0;i<keys2.length;++i){var key=keys2[i];var newObj=parseKeys(key,tempObj[key],options,typeof str2==="string");obj=utils.merge(obj,newObj,options)}if(options.allowSparse===true){return obj}return utils.compact(obj)}}});var require_lib11=__commonJS({"node_modules/qs/lib/index.js"(exports2,module2){"use strict";var stringify=require_stringify();var parse3=require_parse3();var formats=require_formats();module2.exports={formats,parse:parse3,stringify}}});var require_form=__commonJS({"node_modules/co-body/lib/form.js"(exports2,module2){"use strict";var raw=require_raw_body();var inflate=require_inflation();var qs=require_lib11();var utils=require_utils3();module2.exports=async function(req,opts){req=req.req||req;opts=utils.clone(opts);const queryString=opts.queryString||{};if(queryString.allowDots===void 0)queryString.allowDots=true;const len=req.headers["content-length"];const encoding=req.headers["content-encoding"]||"identity";if(len&&encoding==="identity")opts.length=~~len;opts.encoding=opts.encoding||"utf8";opts.limit=opts.limit||"56kb";opts.qs=opts.qs||qs;const str2=await raw(inflate(req),opts);try{const parsed=opts.qs.parse(str2,queryString);return opts.returnRawBody?{parsed,raw:str2}:parsed}catch(err){err.status=400;err.body=str2;throw err}}}});var require_text=__commonJS({"node_modules/co-body/lib/text.js"(exports2,module2){"use strict";var raw=require_raw_body();var inflate=require_inflation();var utils=require_utils3();module2.exports=async function(req,opts){req=req.req||req;opts=utils.clone(opts);const len=req.headers["content-length"];const encoding=req.headers["content-encoding"]||"identity";if(len&&encoding==="identity")opts.length=~~len;opts.encoding=opts.encoding===void 0?"utf8":opts.encoding;opts.limit=opts.limit||"1mb";const str2=await raw(inflate(req),opts);return opts.returnRawBody?{parsed:str2,raw:str2}:str2}}});var require_any=__commonJS({"node_modules/co-body/lib/any.js"(exports2,module2){"use strict";var typeis=require_type_is();var json2=require_json2();var form=require_form();var text=require_text();var jsonTypes=["json","application/*+json","application/csp-report"];var formTypes=["urlencoded"];var textTypes=["text"];module2.exports=async function(req,opts){req=req.req||req;opts=opts||{};const jsonType=opts.jsonTypes||jsonTypes;if(typeis(req,jsonType))return json2(req,opts);const formType=opts.formTypes||formTypes;if(typeis(req,formType))return form(req,opts);const textType=opts.textTypes||textTypes;if(typeis(req,textType))return text(req,opts);const type2=req.headers["content-type"]||"";const message3=type2?"Unsupported content-type: "+type2:"Missing content-type";const err=new Error(message3);err.status=415;throw err}}});var require_co_body=__commonJS({"node_modules/co-body/index.js"(exports2,module2){"use strict";exports2=module2.exports=require_any();exports2.json=require_json2();exports2.form=require_form();exports2.text=require_text()}});var require_copy_to=__commonJS({"node_modules/copy-to/index.js"(exports2,module2){"use strict";var slice2=Array.prototype.slice;module2.exports=Copy;function Copy(src,withAccess){if(!(this instanceof Copy))return new Copy(src,withAccess);this.src=src;this._withAccess=withAccess}Copy.prototype.withAccess=function(w){this._withAccess=w!==false;return this};Copy.prototype.pick=function(keys2){if(!Array.isArray(keys2)){keys2=slice2.call(arguments)}if(keys2.length){this.keys=keys2}return this};Copy.prototype.to=function(to){to=to||{};if(!this.src)return to;var keys2=this.keys||Object.keys(this.src);if(!this._withAccess){for(var i=0;i<keys2.length;i++){key=keys2[i];if(to[key]!==void 0)continue;to[key]=this.src[key]}return to}for(var i=0;i<keys2.length;i++){var key=keys2[i];if(!notDefined(to,key))continue;var getter=this.src.__lookupGetter__(key);var setter=this.src.__lookupSetter__(key);if(getter)to.__defineGetter__(key,getter);if(setter)to.__defineSetter__(key,setter);if(!getter&&!setter){to[key]=this.src[key]}}return to};Copy.prototype.toCover=function(to){var keys2=this.keys||Object.keys(this.src);for(var i=0;i<keys2.length;i++){var key=keys2[i];delete to[key];var getter=this.src.__lookupGetter__(key);var setter=this.src.__lookupSetter__(key);if(getter)to.__defineGetter__(key,getter);if(setter)to.__defineSetter__(key,setter);if(!getter&&!setter){to[key]=this.src[key]}}};Copy.prototype.override=Copy.prototype.toCover;Copy.prototype.and=function(obj){var src={};this.to(src);this.src=obj;this.to(src);this.src=src;return this};function notDefined(obj,key){return obj[key]===void 0&&obj.__lookupGetter__(key)===void 0&&obj.__lookupSetter__(key)===void 0}}});var require_koa_bodyparser=__commonJS({"node_modules/koa-bodyparser/index.js"(exports2,module2){"use strict";var parse3=require_co_body();var copy=require_copy_to();var typeis=require_type_is();module2.exports=function(opts){opts=opts||{};const{detectJSON}=opts;const{onerror}=opts;const enableTypes=opts.enableTypes||["json","form"];const enableForm=checkEnable(enableTypes,"form");const enableJson=checkEnable(enableTypes,"json");const enableText=checkEnable(enableTypes,"text");const enableXml=checkEnable(enableTypes,"xml");opts.detectJSON=void 0;opts.onerror=void 0;opts.returnRawBody=true;const jsonTypes=["application/json","application/json-patch+json","application/vnd.api+json","application/csp-report","application/scim+json"];const formTypes=["application/x-www-form-urlencoded"];const textTypes=["text/plain"];const xmlTypes=["text/xml","application/xml"];const jsonOpts=formatOptions(opts,"json");const formOpts=formatOptions(opts,"form");const textOpts=formatOptions(opts,"text");const xmlOpts=formatOptions(opts,"xml");const extendTypes=opts.extendTypes||{};extendType(jsonTypes,extendTypes.json);extendType(formTypes,extendTypes.form);extendType(textTypes,extendTypes.text);extendType(xmlTypes,extendTypes.xml);return async function bodyParser(ctx,next){if(ctx.request.body!==void 0||ctx.disableBodyParser)return await next();try{const res=await parseBody2(ctx);ctx.request.body="parsed"in res?res.parsed:{};if(ctx.request.rawBody===void 0)ctx.request.rawBody=res.raw}catch(err){if(onerror){onerror(err,ctx)}else{throw err}}await next()};async function parseBody2(ctx){if(enableJson&&(detectJSON&&detectJSON(ctx)||isTypes(ctx.request.get("content-type"),jsonTypes))){return await parse3.json(ctx,jsonOpts)}if(enableForm&&ctx.request.is(formTypes)){return await parse3.form(ctx,formOpts)}if(enableText&&ctx.request.is(textTypes)){return await parse3.text(ctx,textOpts)||""}if(enableXml&&ctx.request.is(xmlTypes)){return await parse3.text(ctx,xmlOpts)||""}return{}}};function formatOptions(opts,type2){const res={};copy(opts).to(res);res.limit=opts[type2+"Limit"];return res}function extendType(original,extend3){if(extend3){if(!Array.isArray(extend3)){extend3=[extend3]}extend3.forEach(function(extend4){original.push(extend4)})}}function checkEnable(types6,type2){return types6.includes(type2)}function isTypes(contentTypeValue,types6){if(typeof contentTypeValue==="string"){contentTypeValue=contentTypeValue.replace(/;$/,"")}return typeis.is(contentTypeValue,types6)}}});var require_cors=__commonJS({"node_modules/@koa/cors/index.js"(exports2,module2){var vary=require_vary();module2.exports=function(options){const defaults3={allowMethods:"GET,HEAD,PUT,POST,DELETE,PATCH",secureContext:false};options={...defaults3,...options};if(Array.isArray(options.exposeHeaders)){options.exposeHeaders=options.exposeHeaders.join(",")}if(Array.isArray(options.allowMethods)){options.allowMethods=options.allowMethods.join(",")}if(Array.isArray(options.allowHeaders)){options.allowHeaders=options.allowHeaders.join(",")}if(options.maxAge){options.maxAge=String(options.maxAge)}options.keepHeadersOnError=options.keepHeadersOnError===void 0||!!options.keepHeadersOnError;return async function cors(ctx,next){const requestOrigin=ctx.get("Origin");ctx.vary("Origin");let origin;if(typeof options.origin==="function"){origin=await options.origin(ctx);if(!origin){return await next()}}else{origin=options.origin||"*"}let credentials;if(typeof options.credentials==="function"){credentials=await options.credentials(ctx)}else{credentials=!!options.credentials}if(credentials&&origin==="*"){origin=requestOrigin}const headersSet={};function set3(key,value){ctx.set(key,value);headersSet[key]=value}if(ctx.method!=="OPTIONS"){set3("Access-Control-Allow-Origin",origin);if(credentials===true){set3("Access-Control-Allow-Credentials","true")}if(options.exposeHeaders){set3("Access-Control-Expose-Headers",options.exposeHeaders)}if(options.secureContext){set3("Cross-Origin-Opener-Policy","same-origin");set3("Cross-Origin-Embedder-Policy","require-corp")}if(!options.keepHeadersOnError){return await next()}try{return await next()}catch(err){const errHeadersSet=err.headers||{};const varyWithOrigin=vary.append(errHeadersSet.vary||errHeadersSet.Vary||"","Origin");delete errHeadersSet.Vary;err.headers={...errHeadersSet,...headersSet,...{vary:varyWithOrigin}};throw err}}else{if(!ctx.get("Access-Control-Request-Method")){return await next()}ctx.set("Access-Control-Allow-Origin",origin);if(credentials===true){ctx.set("Access-Control-Allow-Credentials","true")}if(options.maxAge){ctx.set("Access-Control-Max-Age",options.maxAge)}if(options.privateNetworkAccess&&ctx.get("Access-Control-Request-Private-Network")){ctx.set("Access-Control-Allow-Private-Network","true")}if(options.allowMethods){ctx.set("Access-Control-Allow-Methods",options.allowMethods)}if(options.secureContext){set3("Cross-Origin-Opener-Policy","same-origin");set3("Cross-Origin-Embedder-Policy","require-corp")}let allowHeaders=options.allowHeaders;if(!allowHeaders){allowHeaders=ctx.get("Access-Control-Request-Headers")}if(allowHeaders){ctx.set("Access-Control-Allow-Headers",allowHeaders)}ctx.status=204}}}}});var require_base64id=__commonJS({"node_modules/base64id/lib/base64id.js"(exports2,module2){var crypto6=require("crypto");var Base64Id=function(){};Base64Id.prototype.getRandomBytes=function(bytes9){var BUFFER_SIZE=4096;var self2=this;bytes9=bytes9||12;if(bytes9>BUFFER_SIZE){return crypto6.randomBytes(bytes9)}var bytesInBuffer=parseInt(BUFFER_SIZE/bytes9);var threshold=parseInt(bytesInBuffer*.85);if(!threshold){return crypto6.randomBytes(bytes9)}if(this.bytesBufferIndex==null){this.bytesBufferIndex=-1}if(this.bytesBufferIndex==bytesInBuffer){this.bytesBuffer=null;this.bytesBufferIndex=-1}if(this.bytesBufferIndex==-1||this.bytesBufferIndex>threshold){if(!this.isGeneratingBytes){this.isGeneratingBytes=true;crypto6.randomBytes(BUFFER_SIZE,function(err,bytes10){self2.bytesBuffer=bytes10;self2.bytesBufferIndex=0;self2.isGeneratingBytes=false})}if(this.bytesBufferIndex==-1){return crypto6.randomBytes(bytes9)}}var result2=this.bytesBuffer.slice(bytes9*this.bytesBufferIndex,bytes9*(this.bytesBufferIndex+1));this.bytesBufferIndex++;return result2};Base64Id.prototype.generateId=function(){var rand=Buffer.alloc(15);if(!rand.writeInt32BE){return Math.abs(Math.random()*Math.random()*Date.now()|0).toString()+Math.abs(Math.random()*Math.random()*Date.now()|0).toString()}this.sequenceNumber=this.sequenceNumber+1|0;rand.writeInt32BE(this.sequenceNumber,11);if(crypto6.randomBytes){this.getRandomBytes(12).copy(rand)}else{[0,4,8].forEach(function(i){rand.writeInt32BE(Math.random()*Math.pow(2,32)|0,i)})}return rand.toString("base64").replace(/\//g,"_").replace(/\+/g,"-")};exports2=module2.exports=new Base64Id}});var require_commons=__commonJS({"node_modules/engine.io-parser/build/cjs/commons.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.ERROR_PACKET=exports2.PACKET_TYPES_REVERSE=exports2.PACKET_TYPES=void 0;var PACKET_TYPES=Object.create(null);exports2.PACKET_TYPES=PACKET_TYPES;PACKET_TYPES["open"]="0";PACKET_TYPES["close"]="1";PACKET_TYPES["ping"]="2";PACKET_TYPES["pong"]="3";PACKET_TYPES["message"]="4";PACKET_TYPES["upgrade"]="5";PACKET_TYPES["noop"]="6";var PACKET_TYPES_REVERSE=Object.create(null);exports2.PACKET_TYPES_REVERSE=PACKET_TYPES_REVERSE;Object.keys(PACKET_TYPES).forEach(key=>{PACKET_TYPES_REVERSE[PACKET_TYPES[key]]=key});var ERROR_PACKET={type:"error",data:"parser error"};exports2.ERROR_PACKET=ERROR_PACKET}});var require_encodePacket=__commonJS({"node_modules/engine.io-parser/build/cjs/encodePacket.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.encodePacket=void 0;exports2.encodePacketToBinary=encodePacketToBinary;var commons_js_1=require_commons();var encodePacket=({type:type2,data},supportsBinary,callback)=>{if(data instanceof ArrayBuffer||ArrayBuffer.isView(data)){return callback(supportsBinary?data:"b"+toBuffer(data,true).toString("base64"))}return callback(commons_js_1.PACKET_TYPES[type2]+(data||""))};exports2.encodePacket=encodePacket;var toBuffer=(data,forceBufferConversion)=>{if(Buffer.isBuffer(data)||data instanceof Uint8Array&&!forceBufferConversion){return data}else if(data instanceof ArrayBuffer){return Buffer.from(data)}else{return Buffer.from(data.buffer,data.byteOffset,data.byteLength)}};var TEXT_ENCODER;function encodePacketToBinary(packet,callback){if(packet.data instanceof ArrayBuffer||ArrayBuffer.isView(packet.data)){return callback(toBuffer(packet.data,false))}(0,exports2.encodePacket)(packet,true,encoded=>{if(!TEXT_ENCODER){TEXT_ENCODER=new TextEncoder}callback(TEXT_ENCODER.encode(encoded))})}}});var require_decodePacket=__commonJS({"node_modules/engine.io-parser/build/cjs/decodePacket.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.decodePacket=void 0;var commons_js_1=require_commons();var decodePacket=(encodedPacket,binaryType)=>{if(typeof encodedPacket!=="string"){return{type:"message",data:mapBinary(encodedPacket,binaryType)}}const type2=encodedPacket.charAt(0);if(type2==="b"){const buffer=Buffer.from(encodedPacket.substring(1),"base64");return{type:"message",data:mapBinary(buffer,binaryType)}}if(!commons_js_1.PACKET_TYPES_REVERSE[type2]){return commons_js_1.ERROR_PACKET}return encodedPacket.length>1?{type:commons_js_1.PACKET_TYPES_REVERSE[type2],data:encodedPacket.substring(1)}:{type:commons_js_1.PACKET_TYPES_REVERSE[type2]}};exports2.decodePacket=decodePacket;var mapBinary=(data,binaryType)=>{switch(binaryType){case"arraybuffer":if(data instanceof ArrayBuffer){return data}else if(Buffer.isBuffer(data)){return data.buffer.slice(data.byteOffset,data.byteOffset+data.byteLength)}else{return data.buffer}case"nodebuffer":default:if(Buffer.isBuffer(data)){return data}else{return Buffer.from(data)}}}}});var require_cjs6=__commonJS({"node_modules/engine.io-parser/build/cjs/index.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.decodePayload=exports2.decodePacket=exports2.encodePayload=exports2.encodePacket=exports2.protocol=void 0;exports2.createPacketEncoderStream=createPacketEncoderStream;exports2.createPacketDecoderStream=createPacketDecoderStream;var encodePacket_js_1=require_encodePacket();Object.defineProperty(exports2,"encodePacket",{enumerable:true,get:function(){return encodePacket_js_1.encodePacket}});var decodePacket_js_1=require_decodePacket();Object.defineProperty(exports2,"decodePacket",{enumerable:true,get:function(){return decodePacket_js_1.decodePacket}});var commons_js_1=require_commons();var SEPARATOR=String.fromCharCode(30);var encodePayload=(packets,callback)=>{const length=packets.length;const encodedPackets=new Array(length);let count=0;packets.forEach((packet,i)=>{(0,encodePacket_js_1.encodePacket)(packet,false,encodedPacket=>{encodedPackets[i]=encodedPacket;if(++count===length){callback(encodedPackets.join(SEPARATOR))}})})};exports2.encodePayload=encodePayload;var decodePayload=(encodedPayload,binaryType)=>{const encodedPackets=encodedPayload.split(SEPARATOR);const packets=[];for(let i=0;i<encodedPackets.length;i++){const decodedPacket=(0,decodePacket_js_1.decodePacket)(encodedPackets[i],binaryType);packets.push(decodedPacket);if(decodedPacket.type==="error"){break}}return packets};exports2.decodePayload=decodePayload;function createPacketEncoderStream(){return new TransformStream({transform(packet,controller){(0,encodePacket_js_1.encodePacketToBinary)(packet,encodedPacket=>{const payloadLength=encodedPacket.length;let header2;if(payloadLength<126){header2=new Uint8Array(1);new DataView(header2.buffer).setUint8(0,payloadLength)}else if(payloadLength<65536){header2=new Uint8Array(3);const view=new DataView(header2.buffer);view.setUint8(0,126);view.setUint16(1,payloadLength)}else{header2=new Uint8Array(9);const view=new DataView(header2.buffer);view.setUint8(0,127);view.setBigUint64(1,BigInt(payloadLength))}if(packet.data&&typeof packet.data!=="string"){header2[0]|=128}controller.enqueue(header2);controller.enqueue(encodedPacket)})}})}var TEXT_DECODER;function totalLength(chunks){return chunks.reduce((acc,chunk2)=>acc+chunk2.length,0)}function concatChunks(chunks,size2){if(chunks[0].length===size2){return chunks.shift()}const buffer=new Uint8Array(size2);let j=0;for(let i=0;i<size2;i++){buffer[i]=chunks[0][j++];if(j===chunks[0].length){chunks.shift();j=0}}if(chunks.length&&j<chunks[0].length){chunks[0]=chunks[0].slice(j)}return buffer}function createPacketDecoderStream(maxPayload,binaryType){if(!TEXT_DECODER){TEXT_DECODER=new TextDecoder}const chunks=[];let state=0;let expectedLength=-1;let isBinary2=false;return new TransformStream({transform(chunk2,controller){chunks.push(chunk2);while(true){if(state===0){if(totalLength(chunks)<1){break}const header2=concatChunks(chunks,1);isBinary2=(header2[0]&128)===128;expectedLength=header2[0]&127;if(expectedLength<126){state=3}else if(expectedLength===126){state=1}else{state=2}}else if(state===1){if(totalLength(chunks)<2){break}const headerArray=concatChunks(chunks,2);expectedLength=new DataView(headerArray.buffer,headerArray.byteOffset,headerArray.length).getUint16(0);state=3}else if(state===2){if(totalLength(chunks)<8){break}const headerArray=concatChunks(chunks,8);const view=new DataView(headerArray.buffer,headerArray.byteOffset,headerArray.length);const n=view.getUint32(0);if(n>Math.pow(2,53-32)-1){controller.enqueue(commons_js_1.ERROR_PACKET);break}expectedLength=n*Math.pow(2,32)+view.getUint32(4);state=3}else{if(totalLength(chunks)<expectedLength){break}const data=concatChunks(chunks,expectedLength);controller.enqueue((0,decodePacket_js_1.decodePacket)(isBinary2?data:TEXT_DECODER.decode(data),binaryType));state=0}if(expectedLength===0||expectedLength>maxPayload){controller.enqueue(commons_js_1.ERROR_PACKET);break}}}})}exports2.protocol=4}});var require_utf8=__commonJS({"node_modules/engine.io/build/parser-v3/utf8.js"(exports2,module2){var stringFromCharCode=String.fromCharCode;function ucs2decode(string){var output=[];var counter=0;var length=string.length;var value;var extra;while(counter<length){value=string.charCodeAt(counter++);if(value>=55296&&value<=56319&&counter<length){extra=string.charCodeAt(counter++);if((extra&64512)==56320){output.push(((value&1023)<<10)+(extra&1023)+65536)}else{output.push(value);counter--}}else{output.push(value)}}return output}function ucs2encode(array){var length=array.length;var index=-1;var value;var output="";while(++index<length){value=array[index];if(value>65535){value-=65536;output+=stringFromCharCode(value>>>10&1023|55296);value=56320|value&1023}output+=stringFromCharCode(value)}return output}function checkScalarValue(codePoint,strict){if(codePoint>=55296&&codePoint<=57343){if(strict){throw Error("Lone surrogate U+"+codePoint.toString(16).toUpperCase()+" is not a scalar value")}return false}return true}function createByte(codePoint,shift){return stringFromCharCode(codePoint>>shift&63|128)}function encodeCodePoint(codePoint,strict){if((codePoint&4294967168)==0){return stringFromCharCode(codePoint)}var symbol="";if((codePoint&4294965248)==0){symbol=stringFromCharCode(codePoint>>6&31|192)}else if((codePoint&4294901760)==0){if(!checkScalarValue(codePoint,strict)){codePoint=65533}symbol=stringFromCharCode(codePoint>>12&15|224);symbol+=createByte(codePoint,6)}else if((codePoint&4292870144)==0){symbol=stringFromCharCode(codePoint>>18&7|240);symbol+=createByte(codePoint,12);symbol+=createByte(codePoint,6)}symbol+=stringFromCharCode(codePoint&63|128);return symbol}function utf8encode(string,opts){opts=opts||{};var strict=false!==opts.strict;var codePoints=ucs2decode(string);var length=codePoints.length;var index=-1;var codePoint;var byteString="";while(++index<length){codePoint=codePoints[index];byteString+=encodeCodePoint(codePoint,strict)}return byteString}function readContinuationByte(){if(byteIndex>=byteCount){throw Error("Invalid byte index")}var continuationByte=byteArray[byteIndex]&255;byteIndex++;if((continuationByte&192)==128){return continuationByte&63}throw Error("Invalid continuation byte")}function decodeSymbol(strict){var byte1;var byte2;var byte3;var byte4;var codePoint;if(byteIndex>byteCount){throw Error("Invalid byte index")}if(byteIndex==byteCount){return false}byte1=byteArray[byteIndex]&255;byteIndex++;if((byte1&128)==0){return byte1}if((byte1&224)==192){byte2=readContinuationByte();codePoint=(byte1&31)<<6|byte2;if(codePoint>=128){return codePoint}else{throw Error("Invalid continuation byte")}}if((byte1&240)==224){byte2=readContinuationByte();byte3=readContinuationByte();codePoint=(byte1&15)<<12|byte2<<6|byte3;if(codePoint>=2048){return checkScalarValue(codePoint,strict)?codePoint:65533}else{throw Error("Invalid continuation byte")}}if((byte1&248)==240){byte2=readContinuationByte();byte3=readContinuationByte();byte4=readContinuationByte();codePoint=(byte1&7)<<18|byte2<<12|byte3<<6|byte4;if(codePoint>=65536&&codePoint<=1114111){return codePoint}}throw Error("Invalid UTF-8 detected")}var byteArray;var byteCount;var byteIndex;function utf8decode(byteString,opts){opts=opts||{};var strict=false!==opts.strict;byteArray=ucs2decode(byteString);byteCount=byteArray.length;byteIndex=0;var codePoints=[];var tmp;while((tmp=decodeSymbol(strict))!==false){codePoints.push(tmp)}return ucs2encode(codePoints)}module2.exports={version:"2.1.2",encode:utf8encode,decode:utf8decode}}});var require_parser_v3=__commonJS({"node_modules/engine.io/build/parser-v3/index.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.packets=exports2.protocol=void 0;exports2.encodePacket=encodePacket;exports2.encodeBase64Packet=encodeBase64Packet;exports2.decodePacket=decodePacket;exports2.decodeBase64Packet=decodeBase64Packet;exports2.encodePayload=encodePayload;exports2.decodePayload=decodePayload;exports2.encodePayloadAsBinary=encodePayloadAsBinary;exports2.decodePayloadAsBinary=decodePayloadAsBinary;var utf8=require_utf8();exports2.protocol=3;var hasBinary=packets=>{for(const packet of packets){if(packet.data instanceof ArrayBuffer||ArrayBuffer.isView(packet.data)){return true}}return false};exports2.packets={open:0,close:1,ping:2,pong:3,message:4,upgrade:5,noop:6};var packetslist=Object.keys(exports2.packets);var err={type:"error",data:"parser error"};var EMPTY_BUFFER=Buffer.concat([]);function encodePacket(packet,supportsBinary,utf8encode,callback){if(typeof supportsBinary==="function"){callback=supportsBinary;supportsBinary=null}if(typeof utf8encode==="function"){callback=utf8encode;utf8encode=null}if(Buffer.isBuffer(packet.data)){return encodeBuffer(packet,supportsBinary,callback)}else if(packet.data&&(packet.data.buffer||packet.data)instanceof ArrayBuffer){return encodeBuffer({type:packet.type,data:arrayBufferToBuffer(packet.data)},supportsBinary,callback)}var encoded=exports2.packets[packet.type];if(void 0!==packet.data){encoded+=utf8encode?utf8.encode(String(packet.data),{strict:false}):String(packet.data)}return callback(""+encoded)}function encodeBuffer(packet,supportsBinary,callback){if(!supportsBinary){return encodeBase64Packet(packet,callback)}var data=packet.data;var typeBuffer=Buffer.allocUnsafe(1);typeBuffer[0]=exports2.packets[packet.type];return callback(Buffer.concat([typeBuffer,data]))}function encodeBase64Packet(packet,callback){var data=Buffer.isBuffer(packet.data)?packet.data:arrayBufferToBuffer(packet.data);var message3="b"+exports2.packets[packet.type];message3+=data.toString("base64");return callback(message3)}function decodePacket(data,binaryType,utf8decode){if(data===void 0){return err}var type2;if(typeof data==="string"){type2=data.charAt(0);if(type2==="b"){return decodeBase64Packet(data.slice(1),binaryType)}if(utf8decode){data=tryDecode(data);if(data===false){return err}}if(Number(type2)!=type2||!packetslist[type2]){return err}if(data.length>1){return{type:packetslist[type2],data:data.slice(1)}}else{return{type:packetslist[type2]}}}if(binaryType==="arraybuffer"){var intArray=new Uint8Array(data);type2=intArray[0];return{type:packetslist[type2],data:intArray.buffer.slice(1)}}if(data instanceof ArrayBuffer){data=arrayBufferToBuffer(data)}type2=data[0];return{type:packetslist[type2],data:data.slice(1)}}function tryDecode(data){try{data=utf8.decode(data,{strict:false})}catch(e){return false}return data}function decodeBase64Packet(msg,binaryType){var type2=packetslist[msg.charAt(0)];var data=Buffer.from(msg.slice(1),"base64");if(binaryType==="arraybuffer"){var abv=new Uint8Array(data.length);for(var i=0;i<abv.length;i++){abv[i]=data[i]}data=abv.buffer}return{type:type2,data}}function encodePayload(packets,supportsBinary,callback){if(typeof supportsBinary==="function"){callback=supportsBinary;supportsBinary=null}if(supportsBinary&&hasBinary(packets)){return encodePayloadAsBinary(packets,callback)}if(!packets.length){return callback("0:")}function encodeOne(packet,doneCallback){encodePacket(packet,supportsBinary,false,function(message3){doneCallback(null,setLengthHeader(message3))})}map3(packets,encodeOne,function(err2,results){return callback(results.join(""))})}function setLengthHeader(message3){return message3.length+":"+message3}function map3(ary2,each,done){const results=new Array(ary2.length);let count=0;for(let i=0;i<ary2.length;i++){each(ary2[i],(error,msg)=>{results[i]=msg;if(++count===ary2.length){done(null,results)}})}}function decodePayload(data,binaryType,callback){if(typeof data!=="string"){return decodePayloadAsBinary(data,binaryType,callback)}if(typeof binaryType==="function"){callback=binaryType;binaryType=null}if(data===""){return callback(err,0,1)}var length="",n,msg,packet;for(var i=0,l=data.length;i<l;i++){var chr=data.charAt(i);if(chr!==":"){length+=chr;continue}if(length===""||length!=(n=Number(length))){return callback(err,0,1)}msg=data.slice(i+1,i+1+n);if(length!=msg.length){return callback(err,0,1)}if(msg.length){packet=decodePacket(msg,binaryType,false);if(err.type===packet.type&&err.data===packet.data){return callback(err,0,1)}var more=callback(packet,i+n,l);if(false===more)return}i+=n;length=""}if(length!==""){return callback(err,0,1)}}function bufferToString(buffer){var str2="";for(var i=0,l=buffer.length;i<l;i++){str2+=String.fromCharCode(buffer[i])}return str2}function stringToBuffer(string){var buf=Buffer.allocUnsafe(string.length);for(var i=0,l=string.length;i<l;i++){buf.writeUInt8(string.charCodeAt(i),i)}return buf}function arrayBufferToBuffer(data){var length=data.byteLength||data.length;var offset=data.byteOffset||0;return Buffer.from(data.buffer||data,offset,length)}function encodePayloadAsBinary(packets,callback){if(!packets.length){return callback(EMPTY_BUFFER)}map3(packets,encodeOneBinaryPacket,function(err2,results){return callback(Buffer.concat(results))})}function encodeOneBinaryPacket(p,doneCallback){function onBinaryPacketEncode(packet){var encodingLength=""+packet.length;var sizeBuffer;if(typeof packet==="string"){sizeBuffer=Buffer.allocUnsafe(encodingLength.length+2);sizeBuffer[0]=0;for(var i=0;i<encodingLength.length;i++){sizeBuffer[i+1]=parseInt(encodingLength[i],10)}sizeBuffer[sizeBuffer.length-1]=255;return doneCallback(null,Buffer.concat([sizeBuffer,stringToBuffer(packet)]))}sizeBuffer=Buffer.allocUnsafe(encodingLength.length+2);sizeBuffer[0]=1;for(var i=0;i<encodingLength.length;i++){sizeBuffer[i+1]=parseInt(encodingLength[i],10)}sizeBuffer[sizeBuffer.length-1]=255;doneCallback(null,Buffer.concat([sizeBuffer,packet]))}encodePacket(p,true,true,onBinaryPacketEncode)}function decodePayloadAsBinary(data,binaryType,callback){if(typeof binaryType==="function"){callback=binaryType;binaryType=null}var bufferTail=data;var buffers=[];var i;while(bufferTail.length>0){var strLen="";var isString4=bufferTail[0]===0;for(i=1;;i++){if(bufferTail[i]===255)break;if(strLen.length>310){return callback(err,0,1)}strLen+=""+bufferTail[i]}bufferTail=bufferTail.slice(strLen.length+1);var msgLength=parseInt(strLen,10);var msg=bufferTail.slice(1,msgLength+1);if(isString4)msg=bufferToString(msg);buffers.push(msg);bufferTail=bufferTail.slice(msgLength+1)}var total=buffers.length;for(i=0;i<total;i++){var buffer=buffers[i];callback(decodePacket(buffer,binaryType,true),i,total)}}}});var require_common6=__commonJS({"node_modules/engine.io/node_modules/debug/src/common.js"(exports2,module2){function setup(env2){createDebug.debug=createDebug;createDebug.default=createDebug;createDebug.coerce=coerce2;createDebug.disable=disable;createDebug.enable=enable;createDebug.enabled=enabled3;createDebug.humanize=require_ms();createDebug.destroy=destroy;Object.keys(env2).forEach(key=>{createDebug[key]=env2[key]});createDebug.names=[];createDebug.skips=[];createDebug.formatters={};function selectColor(namespace){let hash=0;for(let i=0;i<namespace.length;i++){hash=(hash<<5)-hash+namespace.charCodeAt(i);hash|=0}return createDebug.colors[Math.abs(hash)%createDebug.colors.length]}createDebug.selectColor=selectColor;function createDebug(namespace){let prevTime;let enableOverride=null;let namespacesCache;let enabledCache;function debug(...args2){if(!debug.enabled){return}const self2=debug;const curr=Number(new Date);const ms=curr-(prevTime||curr);self2.diff=ms;self2.prev=prevTime;self2.curr=curr;prevTime=curr;args2[0]=createDebug.coerce(args2[0]);if(typeof args2[0]!=="string"){args2.unshift("%O")}let index=0;args2[0]=args2[0].replace(/%([a-zA-Z%])/g,(match,format2)=>{if(match==="%%"){return"%"}index++;const formatter=createDebug.formatters[format2];if(typeof formatter==="function"){const val=args2[index];match=formatter.call(self2,val);args2.splice(index,1);index--}return match});createDebug.formatArgs.call(self2,args2);const logFn=self2.log||createDebug.log;logFn.apply(self2,args2)}debug.namespace=namespace;debug.useColors=createDebug.useColors();debug.color=createDebug.selectColor(namespace);debug.extend=extend3;debug.destroy=createDebug.destroy;Object.defineProperty(debug,"enabled",{enumerable:true,configurable:false,get:()=>{if(enableOverride!==null){return enableOverride}if(namespacesCache!==createDebug.namespaces){namespacesCache=createDebug.namespaces;enabledCache=createDebug.enabled(namespace)}return enabledCache},set:v=>{enableOverride=v}});if(typeof createDebug.init==="function"){createDebug.init(debug)}return debug}function extend3(namespace,delimiter){const newDebug=createDebug(this.namespace+(typeof delimiter==="undefined"?":":delimiter)+namespace);newDebug.log=this.log;return newDebug}function enable(namespaces){createDebug.save(namespaces);createDebug.namespaces=namespaces;createDebug.names=[];createDebug.skips=[];let i;const split2=(typeof namespaces==="string"?namespaces:"").split(/[\s,]+/);const len=split2.length;for(i=0;i<len;i++){if(!split2[i]){continue}namespaces=split2[i].replace(/\*/g,".*?");if(namespaces[0]==="-"){createDebug.skips.push(new RegExp("^"+namespaces.slice(1)+"$"))}else{createDebug.names.push(new RegExp("^"+namespaces+"$"))}}}function disable(){const namespaces=[...createDebug.names.map(toNamespace),...createDebug.skips.map(toNamespace).map(namespace=>"-"+namespace)].join(",");createDebug.enable("");return namespaces}function enabled3(name){if(name[name.length-1]==="*"){return true}let i;let len;for(i=0,len=createDebug.skips.length;i<len;i++){if(createDebug.skips[i].test(name)){return false}}for(i=0,len=createDebug.names.length;i<len;i++){if(createDebug.names[i].test(name)){return true}}return false}function toNamespace(regexp){return regexp.toString().substring(2,regexp.toString().length-2).replace(/\.\*\?$/,"*")}function coerce2(val){if(val instanceof Error){return val.stack||val.message}return val}function destroy(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}createDebug.enable(createDebug.load());return createDebug}module2.exports=setup}});var require_browser2=__commonJS({"node_modules/engine.io/node_modules/debug/src/browser.js"(exports2,module2){exports2.formatArgs=formatArgs;exports2.save=save;exports2.load=load2;exports2.useColors=useColors;exports2.storage=localstorage();exports2.destroy=(()=>{let warned=false;return()=>{if(!warned){warned=true;console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}}})();exports2.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function useColors(){if(typeof window!=="undefined"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)){return true}if(typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)){return false}let m;return typeof document!=="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!=="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!=="undefined"&&navigator.userAgent&&(m=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(m[1],10)>=31||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function formatArgs(args2){args2[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+args2[0]+(this.useColors?"%c ":" ")+"+"+module2.exports.humanize(this.diff);if(!this.useColors){return}const c="color: "+this.color;args2.splice(1,0,c,"color: inherit");let index=0;let lastC=0;args2[0].replace(/%[a-zA-Z%]/g,match=>{if(match==="%%"){return}index++;if(match==="%c"){lastC=index}});args2.splice(lastC,0,c)}exports2.log=console.debug||console.log||(()=>{});function save(namespaces){try{if(namespaces){exports2.storage.setItem("debug",namespaces)}else{exports2.storage.removeItem("debug")}}catch(error){}}function load2(){let r;try{r=exports2.storage.getItem("debug")}catch(error){}if(!r&&typeof process!=="undefined"&&"env"in process){r=process.env.DEBUG}return r}function localstorage(){try{return localStorage}catch(error){}}module2.exports=require_common6()(exports2);var{formatters}=module2.exports;formatters.j=function(v){try{return JSON.stringify(v)}catch(error){return"[UnexpectedJSONParseError]: "+error.message}}}});var require_node2=__commonJS({"node_modules/engine.io/node_modules/debug/src/node.js"(exports2,module2){var tty2=require("tty");var util4=require("util");exports2.init=init2;exports2.log=log2;exports2.formatArgs=formatArgs;exports2.save=save;exports2.load=load2;exports2.useColors=useColors;exports2.destroy=util4.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");exports2.colors=[6,2,3,4,5,1];try{const supportsColor2=require_supports_color();if(supportsColor2&&(supportsColor2.stderr||supportsColor2).level>=2){exports2.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221]}}catch(error){}exports2.inspectOpts=Object.keys(process.env).filter(key=>{return/^debug_/i.test(key)}).reduce((obj,key)=>{const prop=key.substring(6).toLowerCase().replace(/_([a-z])/g,(_,k)=>{return k.toUpperCase()});let val=process.env[key];if(/^(yes|on|true|enabled)$/i.test(val)){val=true}else if(/^(no|off|false|disabled)$/i.test(val)){val=false}else if(val==="null"){val=null}else{val=Number(val)}obj[prop]=val;return obj},{});function useColors(){return"colors"in exports2.inspectOpts?Boolean(exports2.inspectOpts.colors):tty2.isatty(process.stderr.fd)}function formatArgs(args2){const{namespace:name,useColors:useColors2}=this;if(useColors2){const c=this.color;const colorCode="\x1B[3"+(c<8?c:"8;5;"+c);const prefix=`  ${colorCode};1m${name} \x1B[0m`;args2[0]=prefix+args2[0].split("\n").join("\n"+prefix);args2.push(colorCode+"m+"+module2.exports.humanize(this.diff)+"\x1B[0m")}else{args2[0]=getDate()+name+" "+args2[0]}}function getDate(){if(exports2.inspectOpts.hideDate){return""}return new Date().toISOString()+" "}function log2(...args2){return process.stderr.write(util4.formatWithOptions(exports2.inspectOpts,...args2)+"\n")}function save(namespaces){if(namespaces){process.env.DEBUG=namespaces}else{delete process.env.DEBUG}}function load2(){return process.env.DEBUG}function init2(debug){debug.inspectOpts={};const keys2=Object.keys(exports2.inspectOpts);for(let i=0;i<keys2.length;i++){debug.inspectOpts[keys2[i]]=exports2.inspectOpts[keys2[i]]}}module2.exports=require_common6()(exports2);var{formatters}=module2.exports;formatters.o=function(v){this.inspectOpts.colors=this.useColors;return util4.inspect(v,this.inspectOpts).split("\n").map(str2=>str2.trim()).join(" ")};formatters.O=function(v){this.inspectOpts.colors=this.useColors;return util4.inspect(v,this.inspectOpts)}}});var require_src4=__commonJS({"node_modules/engine.io/node_modules/debug/src/index.js"(exports2,module2){if(typeof process==="undefined"||process.type==="renderer"||process.browser===true||process.__nwjs){module2.exports=require_browser2()}else{module2.exports=require_node2()}}});var require_transport=__commonJS({"node_modules/engine.io/build/transport.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.Transport=void 0;var events_1=require("events");var parser_v4=require_cjs6();var parser_v3=require_parser_v3();var debug_1=require_src4();var debug=(0,debug_1.default)("engine:transport");function noop4(){}var Transport=class extends events_1.EventEmitter{get readyState(){return this._readyState}set readyState(state){debug("readyState updated from %s to %s (%s)",this._readyState,state,this.name);this._readyState=state}constructor(req){super();this.writable=false;this._readyState="open";this.discarded=false;this.protocol=req._query.EIO==="4"?4:3;this.parser=this.protocol===4?parser_v4:parser_v3;this.supportsBinary=!(req._query&&req._query.b64)}discard(){this.discarded=true}onRequest(req){}close(fn2){if("closed"===this.readyState||"closing"===this.readyState)return;this.readyState="closing";this.doClose(fn2||noop4)}onError(msg,desc){if(this.listeners("error").length){const err=new Error(msg);err.type="TransportError";err.description=desc;this.emit("error",err)}else{debug("ignored transport error %s (%s)",msg,desc)}}onPacket(packet){this.emit("packet",packet)}onData(data){this.onPacket(this.parser.decodePacket(data))}onClose(){this.readyState="closed";this.emit("close")}};exports2.Transport=Transport}});var require_polling=__commonJS({"node_modules/engine.io/build/transports/polling.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.Polling=void 0;var transport_1=require_transport();var zlib_1=require("zlib");var accepts=require_accepts();var debug_1=require_src4();var debug=(0,debug_1.default)("engine:polling");var compressionMethods={gzip:zlib_1.createGzip,deflate:zlib_1.createDeflate};var Polling=class extends transport_1.Transport{constructor(req){super(req);this.closeTimeout=30*1e3}get name(){return"polling"}onRequest(req){const res=req.res;req.res=null;if("GET"===req.method){this.onPollRequest(req,res)}else if("POST"===req.method){this.onDataRequest(req,res)}else{res.writeHead(500);res.end()}}onPollRequest(req,res){if(this.req){debug("request overlap");this.onError("overlap from client");res.writeHead(400);res.end();return}debug("setting request");this.req=req;this.res=res;const onClose=()=>{this.onError("poll connection closed prematurely")};const cleanup=()=>{req.removeListener("close",onClose);this.req=this.res=null};req.cleanup=cleanup;req.on("close",onClose);this.writable=true;this.emit("ready");if(this.writable&&this.shouldClose){debug("triggering empty send to append close packet");this.send([{type:"noop"}])}}onDataRequest(req,res){if(this.dataReq){this.onError("data request overlap from client");res.writeHead(400);res.end();return}const isBinary2="application/octet-stream"===req.headers["content-type"];if(isBinary2&&this.protocol===4){return this.onError("invalid content")}this.dataReq=req;this.dataRes=res;let chunks=isBinary2?Buffer.concat([]):"";const cleanup=()=>{req.removeListener("data",onData);req.removeListener("end",onEnd);req.removeListener("close",onClose);this.dataReq=this.dataRes=chunks=null};const onClose=()=>{cleanup();this.onError("data request connection closed prematurely")};const onData=data=>{let contentLength;if(isBinary2){chunks=Buffer.concat([chunks,data]);contentLength=chunks.length}else{chunks+=data;contentLength=Buffer.byteLength(chunks)}if(contentLength>this.maxHttpBufferSize){res.writeHead(413).end();cleanup()}};const onEnd=()=>{this.onData(chunks);const headers={"Content-Type":"text/html","Content-Length":"2"};res.writeHead(200,this.headers(req,headers));res.end("ok");cleanup()};req.on("close",onClose);if(!isBinary2)req.setEncoding("utf8");req.on("data",onData);req.on("end",onEnd)}onData(data){debug('received "%s"',data);const callback=packet=>{if("close"===packet.type){debug("got xhr close packet");this.onClose();return false}this.onPacket(packet)};if(this.protocol===3){this.parser.decodePayload(data,callback)}else{this.parser.decodePayload(data).forEach(callback)}}onClose(){if(this.writable){this.send([{type:"noop"}])}super.onClose()}send(packets){this.writable=false;if(this.shouldClose){debug("appending close packet to payload");packets.push({type:"close"});this.shouldClose();this.shouldClose=null}const doWrite=data=>{const compress=packets.some(packet=>{return packet.options&&packet.options.compress});this.write(data,{compress})};if(this.protocol===3){this.parser.encodePayload(packets,this.supportsBinary,doWrite)}else{this.parser.encodePayload(packets,doWrite)}}write(data,options){debug('writing "%s"',data);this.doWrite(data,options,()=>{this.req.cleanup();this.emit("drain")})}doWrite(data,options,callback){const isString4=typeof data==="string";const contentType=isString4?"text/plain; charset=UTF-8":"application/octet-stream";const headers={"Content-Type":contentType};const respond=data2=>{headers["Content-Length"]="string"===typeof data2?Buffer.byteLength(data2):data2.length;this.res.writeHead(200,this.headers(this.req,headers));this.res.end(data2);callback()};if(!this.httpCompression||!options.compress){respond(data);return}const len=isString4?Buffer.byteLength(data):data.length;if(len<this.httpCompression.threshold){respond(data);return}const encoding=accepts(this.req).encodings(["gzip","deflate"]);if(!encoding){respond(data);return}this.compress(data,encoding,(err,data2)=>{if(err){this.res.writeHead(500);this.res.end();callback(err);return}headers["Content-Encoding"]=encoding;respond(data2)})}compress(data,encoding,callback){debug("compressing");const buffers=[];let nread=0;compressionMethods[encoding](this.httpCompression).on("error",callback).on("data",function(chunk2){buffers.push(chunk2);nread+=chunk2.length}).on("end",function(){callback(null,Buffer.concat(buffers,nread))}).end(data)}doClose(fn2){debug("closing");let closeTimeoutTimer;if(this.dataReq){debug("aborting ongoing data request");this.dataReq.destroy()}const onClose=()=>{clearTimeout(closeTimeoutTimer);fn2();this.onClose()};if(this.writable){debug("transport writable - closing right away");this.send([{type:"close"}]);onClose()}else if(this.discarded){debug("transport discarded - closing right away");onClose()}else{debug("transport not writable - buffering orderly close");this.shouldClose=onClose;closeTimeoutTimer=setTimeout(onClose,this.closeTimeout)}}headers(req,headers={}){const ua=req.headers["user-agent"];if(ua&&(~ua.indexOf(";MSIE")||~ua.indexOf("Trident/"))){headers["X-XSS-Protection"]="0"}headers["cache-control"]="no-store";this.emit("headers",headers,req);return headers}};exports2.Polling=Polling}});var require_polling_jsonp=__commonJS({"node_modules/engine.io/build/transports/polling-jsonp.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.JSONP=void 0;var polling_1=require_polling();var qs=require("querystring");var rDoubleSlashes=/\\\\n/g;var rSlashes=/(\\)?\\n/g;var JSONP=class extends polling_1.Polling{constructor(req){super(req);this.head="___eio["+(req._query.j||"").replace(/[^0-9]/g,"")+"](";this.foot=");"}onData(data){data=qs.parse(data).d;if("string"===typeof data){data=data.replace(rSlashes,function(match,slashes){return slashes?match:"\n"});super.onData(data.replace(rDoubleSlashes,"\\n"))}}doWrite(data,options,callback){const js=JSON.stringify(data).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");data=this.head+js+this.foot;super.doWrite(data,options,callback)}};exports2.JSONP=JSONP}});var require_websocket3=__commonJS({"node_modules/engine.io/build/transports/websocket.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.WebSocket=void 0;var transport_1=require_transport();var debug_1=require_src4();var debug=(0,debug_1.default)("engine:ws");var WebSocket2=class extends transport_1.Transport{constructor(req){super(req);this._doSend=data=>{this.socket.send(data,this._onSent)};this._doSendLast=data=>{this.socket.send(data,this._onSentLast)};this._onSent=err=>{if(err){this.onError("write error",err.stack)}};this._onSentLast=err=>{if(err){this.onError("write error",err.stack)}else{this.emit("drain");this.writable=true;this.emit("ready")}};this.socket=req.websocket;this.socket.on("message",(data,isBinary2)=>{const message3=isBinary2?data:data.toString();debug('received "%s"',message3);super.onData(message3)});this.socket.once("close",this.onClose.bind(this));this.socket.on("error",this.onError.bind(this));this.writable=true;this.perMessageDeflate=null}get name(){return"websocket"}get handlesUpgrades(){return true}send(packets){this.writable=false;for(let i=0;i<packets.length;i++){const packet=packets[i];const isLast=i+1===packets.length;if(this._canSendPreEncodedFrame(packet)){this.socket._sender.sendFrame(packet.options.wsPreEncodedFrame,isLast?this._onSentLast:this._onSent)}else{this.parser.encodePacket(packet,this.supportsBinary,isLast?this._doSendLast:this._doSend)}}}_canSendPreEncodedFrame(packet){var _a12,_b2,_c;return!this.perMessageDeflate&&typeof((_b2=(_a12=this.socket)===null||_a12===void 0?void 0:_a12._sender)===null||_b2===void 0?void 0:_b2.sendFrame)==="function"&&((_c=packet.options)===null||_c===void 0?void 0:_c.wsPreEncodedFrame)!==void 0}doClose(fn2){debug("closing");this.socket.close();fn2&&fn2()}};exports2.WebSocket=WebSocket2}});var require_webtransport=__commonJS({"node_modules/engine.io/build/transports/webtransport.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.WebTransport=void 0;var transport_1=require_transport();var debug_1=require_src4();var engine_io_parser_1=require_cjs6();var debug=(0,debug_1.default)("engine:webtransport");var WebTransport=class extends transport_1.Transport{constructor(session,stream3,reader){super({_query:{EIO:"4"}});this.session=session;const transformStream=(0,engine_io_parser_1.createPacketEncoderStream)();transformStream.readable.pipeTo(stream3.writable).catch(()=>{debug("the stream was closed")});this.writer=transformStream.writable.getWriter();(async()=>{try{while(true){const{value,done}=await reader.read();if(done){debug("session is closed");break}debug("received chunk: %o",value);this.onPacket(value)}}catch(e){debug("error while reading: %s",e.message)}})();session.closed.then(()=>this.onClose());this.writable=true}get name(){return"webtransport"}async send(packets){this.writable=false;try{for(let i=0;i<packets.length;i++){const packet=packets[i];await this.writer.write(packet)}}catch(e){debug("error while writing: %s",e.message)}this.emit("drain");this.writable=true;this.emit("ready")}doClose(fn2){debug("closing WebTransport session");this.session.close();fn2&&fn2()}};exports2.WebTransport=WebTransport}});var require_transports=__commonJS({"node_modules/engine.io/build/transports/index.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});var polling_1=require_polling();var polling_jsonp_1=require_polling_jsonp();var websocket_1=require_websocket3();var webtransport_1=require_webtransport();exports2.default={polling,websocket:websocket_1.WebSocket,webtransport:webtransport_1.WebTransport};function polling(req){if("string"===typeof req._query.j){return new polling_jsonp_1.JSONP(req)}else{return new polling_1.Polling(req)}}polling.upgradesTo=["websocket","webtransport"]}});var require_socket=__commonJS({"node_modules/engine.io/build/socket.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.Socket=void 0;var events_1=require("events");var debug_1=require_src4();var timers_1=require("timers");var debug=(0,debug_1.default)("engine:socket");var Socket2=class extends events_1.EventEmitter{get readyState(){return this._readyState}set readyState(state){debug("readyState updated from %s to %s",this._readyState,state);this._readyState=state}constructor(id,server,transport,req,protocol){super();this._readyState="opening";this.upgrading=false;this.upgraded=false;this.writeBuffer=[];this.packetsFn=[];this.sentCallbackFn=[];this.cleanupFn=[];this.id=id;this.server=server;this.request=req;this.protocol=protocol;if(req){if(req.websocket&&req.websocket._socket){this.remoteAddress=req.websocket._socket.remoteAddress}else{this.remoteAddress=req.connection.remoteAddress}}else{}this.pingTimeoutTimer=null;this.pingIntervalTimer=null;this.setTransport(transport);this.onOpen()}onOpen(){this.readyState="open";this.transport.sid=this.id;this.sendPacket("open",JSON.stringify({sid:this.id,upgrades:this.getAvailableUpgrades(),pingInterval:this.server.opts.pingInterval,pingTimeout:this.server.opts.pingTimeout,maxPayload:this.server.opts.maxHttpBufferSize}));if(this.server.opts.initialPacket){this.sendPacket("message",this.server.opts.initialPacket)}this.emit("open");if(this.protocol===3){this.resetPingTimeout()}else{this.schedulePing()}}onPacket(packet){if("open"!==this.readyState){return debug("packet received with closed socket")}debug(`received packet ${packet.type}`);this.emit("packet",packet);switch(packet.type){case"ping":if(this.transport.protocol!==3){this.onError(new Error("invalid heartbeat direction"));return}debug("got ping");this.pingTimeoutTimer.refresh();this.sendPacket("pong");this.emit("heartbeat");break;case"pong":if(this.transport.protocol===3){this.onError(new Error("invalid heartbeat direction"));return}debug("got pong");(0,timers_1.clearTimeout)(this.pingTimeoutTimer);this.pingIntervalTimer.refresh();this.emit("heartbeat");break;case"error":this.onClose("parse error");break;case"message":this.emit("data",packet.data);this.emit("message",packet.data);break}}onError(err){debug("transport error");this.onClose("transport error",err)}schedulePing(){this.pingIntervalTimer=(0,timers_1.setTimeout)(()=>{debug("writing ping packet - expecting pong within %sms",this.server.opts.pingTimeout);this.sendPacket("ping");this.resetPingTimeout()},this.server.opts.pingInterval)}resetPingTimeout(){(0,timers_1.clearTimeout)(this.pingTimeoutTimer);this.pingTimeoutTimer=(0,timers_1.setTimeout)(()=>{if(this.readyState==="closed")return;this.onClose("ping timeout")},this.protocol===3?this.server.opts.pingInterval+this.server.opts.pingTimeout:this.server.opts.pingTimeout)}setTransport(transport){const onError=this.onError.bind(this);const onReady=()=>this.flush();const onPacket=this.onPacket.bind(this);const onDrain=this.onDrain.bind(this);const onClose=this.onClose.bind(this,"transport close");this.transport=transport;this.transport.once("error",onError);this.transport.on("ready",onReady);this.transport.on("packet",onPacket);this.transport.on("drain",onDrain);this.transport.once("close",onClose);this.cleanupFn.push(function(){transport.removeListener("error",onError);transport.removeListener("ready",onReady);transport.removeListener("packet",onPacket);transport.removeListener("drain",onDrain);transport.removeListener("close",onClose)})}onDrain(){if(this.sentCallbackFn.length>0){debug("executing batch send callback");const seqFn=this.sentCallbackFn.shift();if(seqFn){for(let i=0;i<seqFn.length;i++){seqFn[i](this.transport)}}}}_maybeUpgrade(transport){debug('might upgrade socket transport from "%s" to "%s"',this.transport.name,transport.name);this.upgrading=true;const upgradeTimeoutTimer=(0,timers_1.setTimeout)(()=>{debug("client did not complete upgrade - closing transport");cleanup();if("open"===transport.readyState){transport.close()}},this.server.opts.upgradeTimeout);let checkIntervalTimer;const onPacket=packet=>{if("ping"===packet.type&&"probe"===packet.data){debug("got probe ping packet, sending pong");transport.send([{type:"pong",data:"probe"}]);this.emit("upgrading",transport);clearInterval(checkIntervalTimer);checkIntervalTimer=setInterval(check,100)}else if("upgrade"===packet.type&&this.readyState!=="closed"){debug("got upgrade packet - upgrading");cleanup();this.transport.discard();this.upgraded=true;this.clearTransport();this.setTransport(transport);this.emit("upgrade",transport);this.flush();if(this.readyState==="closing"){transport.close(()=>{this.onClose("forced close")})}}else{cleanup();transport.close()}};const check=()=>{if("polling"===this.transport.name&&this.transport.writable){debug("writing a noop packet to polling for fast upgrade");this.transport.send([{type:"noop"}])}};const cleanup=()=>{this.upgrading=false;clearInterval(checkIntervalTimer);(0,timers_1.clearTimeout)(upgradeTimeoutTimer);transport.removeListener("packet",onPacket);transport.removeListener("close",onTransportClose);transport.removeListener("error",onError);this.removeListener("close",onClose)};const onError=err=>{debug("client did not complete upgrade - %s",err);cleanup();transport.close();transport=null};const onTransportClose=()=>{onError("transport closed")};const onClose=()=>{onError("socket closed")};transport.on("packet",onPacket);transport.once("close",onTransportClose);transport.once("error",onError);this.once("close",onClose)}clearTransport(){let cleanup;const toCleanUp=this.cleanupFn.length;for(let i=0;i<toCleanUp;i++){cleanup=this.cleanupFn.shift();cleanup()}this.transport.on("error",function(){debug("error triggered by discarded transport")});this.transport.close();(0,timers_1.clearTimeout)(this.pingTimeoutTimer)}onClose(reason,description){if("closed"!==this.readyState){this.readyState="closed";(0,timers_1.clearTimeout)(this.pingIntervalTimer);(0,timers_1.clearTimeout)(this.pingTimeoutTimer);process.nextTick(()=>{this.writeBuffer=[]});this.packetsFn=[];this.sentCallbackFn=[];this.clearTransport();this.emit("close",reason,description)}}send(data,options,callback){this.sendPacket("message",data,options,callback);return this}write(data,options,callback){this.sendPacket("message",data,options,callback);return this}sendPacket(type2,data,options={},callback){if("function"===typeof options){callback=options;options={}}if("closing"!==this.readyState&&"closed"!==this.readyState){debug('sending packet "%s" (%s)',type2,data);options.compress=options.compress!==false;const packet={type:type2,options};if(data)packet.data=data;this.emit("packetCreate",packet);this.writeBuffer.push(packet);if("function"===typeof callback)this.packetsFn.push(callback);this.flush()}}flush(){if("closed"!==this.readyState&&this.transport.writable&&this.writeBuffer.length){debug("flushing buffer to transport");this.emit("flush",this.writeBuffer);this.server.emit("flush",this,this.writeBuffer);const wbuf=this.writeBuffer;this.writeBuffer=[];if(this.packetsFn.length){this.sentCallbackFn.push(this.packetsFn);this.packetsFn=[]}else{this.sentCallbackFn.push(null)}this.transport.send(wbuf);this.emit("drain");this.server.emit("drain",this)}}getAvailableUpgrades(){const availableUpgrades=[];const allUpgrades=this.server.upgrades(this.transport.name);for(let i=0;i<allUpgrades.length;++i){const upg=allUpgrades[i];if(this.server.opts.transports.indexOf(upg)!==-1){availableUpgrades.push(upg)}}return availableUpgrades}close(discard){if(discard&&(this.readyState==="open"||this.readyState==="closing")){return this.closeTransport(discard)}if("open"!==this.readyState)return;this.readyState="closing";if(this.writeBuffer.length){debug("there are %d remaining packets in the buffer, waiting for the 'drain' event",this.writeBuffer.length);this.once("drain",()=>{debug("all packets have been sent, closing the transport");this.closeTransport(discard)});return}debug("the buffer is empty, closing the transport right away");this.closeTransport(discard)}closeTransport(discard){debug("closing the transport (discard? %s)",!!discard);if(discard)this.transport.discard();this.transport.close(this.onClose.bind(this,"forced close"))}};exports2.Socket=Socket2}});var require_cookie=__commonJS({"node_modules/cookie/index.js"(exports2){"use strict";exports2.parse=parse3;exports2.serialize=serialize;var __toString=Object.prototype.toString;var __hasOwnProperty=Object.prototype.hasOwnProperty;var cookieNameRegExp=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;var cookieValueRegExp=/^("?)[\u0021\u0023-\u002B\u002D-\u003A\u003C-\u005B\u005D-\u007E]*\1$/;var domainValueRegExp=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i;var pathValueRegExp=/^[\u0020-\u003A\u003D-\u007E]*$/;function parse3(str2,opt){if(typeof str2!=="string"){throw new TypeError("argument str must be a string")}var obj={};var len=str2.length;if(len<2)return obj;var dec=opt&&opt.decode||decode;var index=0;var eqIdx=0;var endIdx=0;do{eqIdx=str2.indexOf("=",index);if(eqIdx===-1)break;endIdx=str2.indexOf(";",index);if(endIdx===-1){endIdx=len}else if(eqIdx>endIdx){index=str2.lastIndexOf(";",eqIdx-1)+1;continue}var keyStartIdx=startIndex(str2,index,eqIdx);var keyEndIdx=endIndex(str2,eqIdx,keyStartIdx);var key=str2.slice(keyStartIdx,keyEndIdx);if(!__hasOwnProperty.call(obj,key)){var valStartIdx=startIndex(str2,eqIdx+1,endIdx);var valEndIdx=endIndex(str2,endIdx,valStartIdx);if(str2.charCodeAt(valStartIdx)===34&&str2.charCodeAt(valEndIdx-1)===34){valStartIdx++;valEndIdx--}var val=str2.slice(valStartIdx,valEndIdx);obj[key]=tryDecode(val,dec)}index=endIdx+1}while(index<len);return obj}function startIndex(str2,index,max3){do{var code=str2.charCodeAt(index);if(code!==32&&code!==9)return index}while(++index<max3);return max3}function endIndex(str2,index,min3){while(index>min3){var code=str2.charCodeAt(--index);if(code!==32&&code!==9)return index+1}return min3}function serialize(name,val,opt){var enc=opt&&opt.encode||encodeURIComponent;if(typeof enc!=="function"){throw new TypeError("option encode is invalid")}if(!cookieNameRegExp.test(name)){throw new TypeError("argument name is invalid")}var value=enc(val);if(!cookieValueRegExp.test(value)){throw new TypeError("argument val is invalid")}var str2=name+"="+value;if(!opt)return str2;if(null!=opt.maxAge){var maxAge=Math.floor(opt.maxAge);if(!isFinite(maxAge)){throw new TypeError("option maxAge is invalid")}str2+="; Max-Age="+maxAge}if(opt.domain){if(!domainValueRegExp.test(opt.domain)){throw new TypeError("option domain is invalid")}str2+="; Domain="+opt.domain}if(opt.path){if(!pathValueRegExp.test(opt.path)){throw new TypeError("option path is invalid")}str2+="; Path="+opt.path}if(opt.expires){var expires=opt.expires;if(!isDate2(expires)||isNaN(expires.valueOf())){throw new TypeError("option expires is invalid")}str2+="; Expires="+expires.toUTCString()}if(opt.httpOnly){str2+="; HttpOnly"}if(opt.secure){str2+="; Secure"}if(opt.partitioned){str2+="; Partitioned"}if(opt.priority){var priority=typeof opt.priority==="string"?opt.priority.toLowerCase():opt.priority;switch(priority){case"low":str2+="; Priority=Low";break;case"medium":str2+="; Priority=Medium";break;case"high":str2+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}}if(opt.sameSite){var sameSite=typeof opt.sameSite==="string"?opt.sameSite.toLowerCase():opt.sameSite;switch(sameSite){case true:str2+="; SameSite=Strict";break;case"lax":str2+="; SameSite=Lax";break;case"strict":str2+="; SameSite=Strict";break;case"none":str2+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return str2}function decode(str2){return str2.indexOf("%")!==-1?decodeURIComponent(str2):str2}function isDate2(val){return __toString.call(val)==="[object Date]"}function tryDecode(str2,decode2){try{return decode2(str2)}catch(e){return str2}}}});var require_constants7=__commonJS({"node_modules/engine.io/node_modules/ws/lib/constants.js"(exports2,module2){"use strict";module2.exports={BINARY_TYPES:["nodebuffer","arraybuffer","fragments"],EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}}});var require_buffer_util2=__commonJS({"node_modules/engine.io/node_modules/ws/lib/buffer-util.js"(exports2,module2){"use strict";var{EMPTY_BUFFER}=require_constants7();var FastBuffer=Buffer[Symbol.species];function concat3(list,totalLength){if(list.length===0)return EMPTY_BUFFER;if(list.length===1)return list[0];const target=Buffer.allocUnsafe(totalLength);let offset=0;for(let i=0;i<list.length;i++){const buf=list[i];target.set(buf,offset);offset+=buf.length}if(offset<totalLength){return new FastBuffer(target.buffer,target.byteOffset,offset)}return target}function _mask(source,mask,output,offset,length){for(let i=0;i<length;i++){output[offset+i]=source[i]^mask[i&3]}}function _unmask(buffer,mask){for(let i=0;i<buffer.length;i++){buffer[i]^=mask[i&3]}}function toArrayBuffer(buf){if(buf.length===buf.buffer.byteLength){return buf.buffer}return buf.buffer.slice(buf.byteOffset,buf.byteOffset+buf.length)}function toBuffer(data){toBuffer.readOnly=true;if(Buffer.isBuffer(data))return data;let buf;if(data instanceof ArrayBuffer){buf=new FastBuffer(data)}else if(ArrayBuffer.isView(data)){buf=new FastBuffer(data.buffer,data.byteOffset,data.byteLength)}else{buf=Buffer.from(data);toBuffer.readOnly=false}return buf}module2.exports={concat:concat3,mask:_mask,toArrayBuffer,toBuffer,unmask:_unmask};if(!process.env.WS_NO_BUFFER_UTIL){try{const bufferUtil=require("bufferutil");module2.exports.mask=function(source,mask,output,offset,length){if(length<48)_mask(source,mask,output,offset,length);else bufferUtil.mask(source,mask,output,offset,length)};module2.exports.unmask=function(buffer,mask){if(buffer.length<32)_unmask(buffer,mask);else bufferUtil.unmask(buffer,mask)}}catch(e){}}}});var require_limiter2=__commonJS({"node_modules/engine.io/node_modules/ws/lib/limiter.js"(exports2,module2){"use strict";var kDone=Symbol("kDone");var kRun=Symbol("kRun");var Limiter=class{constructor(concurrency){this[kDone]=()=>{this.pending--;this[kRun]()};this.concurrency=concurrency||Infinity;this.jobs=[];this.pending=0}add(job){this.jobs.push(job);this[kRun]()}[kRun](){if(this.pending===this.concurrency)return;if(this.jobs.length){const job=this.jobs.shift();this.pending++;job(this[kDone])}}};module2.exports=Limiter}});var require_permessage_deflate2=__commonJS({"node_modules/engine.io/node_modules/ws/lib/permessage-deflate.js"(exports2,module2){"use strict";var zlib2=require("zlib");var bufferUtil=require_buffer_util2();var Limiter=require_limiter2();var{kStatusCode}=require_constants7();var FastBuffer=Buffer[Symbol.species];var TRAILER=Buffer.from([0,0,255,255]);var kPerMessageDeflate=Symbol("permessage-deflate");var kTotalLength=Symbol("total-length");var kCallback=Symbol("callback");var kBuffers=Symbol("buffers");var kError=Symbol("error");var zlibLimiter;var PerMessageDeflate=class{constructor(options,isServer,maxPayload){this._maxPayload=maxPayload|0;this._options=options||{};this._threshold=this._options.threshold!==void 0?this._options.threshold:1024;this._isServer=!!isServer;this._deflate=null;this._inflate=null;this.params=null;if(!zlibLimiter){const concurrency=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;zlibLimiter=new Limiter(concurrency)}}static get extensionName(){return"permessage-deflate"}offer(){const params={};if(this._options.serverNoContextTakeover){params.server_no_context_takeover=true}if(this._options.clientNoContextTakeover){params.client_no_context_takeover=true}if(this._options.serverMaxWindowBits){params.server_max_window_bits=this._options.serverMaxWindowBits}if(this._options.clientMaxWindowBits){params.client_max_window_bits=this._options.clientMaxWindowBits}else if(this._options.clientMaxWindowBits==null){params.client_max_window_bits=true}return params}accept(configurations){configurations=this.normalizeParams(configurations);this.params=this._isServer?this.acceptAsServer(configurations):this.acceptAsClient(configurations);return this.params}cleanup(){if(this._inflate){this._inflate.close();this._inflate=null}if(this._deflate){const callback=this._deflate[kCallback];this._deflate.close();this._deflate=null;if(callback){callback(new Error("The deflate stream was closed while data was being processed"))}}}acceptAsServer(offers){const opts=this._options;const accepted=offers.find(params=>{if(opts.serverNoContextTakeover===false&&params.server_no_context_takeover||params.server_max_window_bits&&(opts.serverMaxWindowBits===false||typeof opts.serverMaxWindowBits==="number"&&opts.serverMaxWindowBits>params.server_max_window_bits)||typeof opts.clientMaxWindowBits==="number"&&!params.client_max_window_bits){return false}return true});if(!accepted){throw new Error("None of the extension offers can be accepted")}if(opts.serverNoContextTakeover){accepted.server_no_context_takeover=true}if(opts.clientNoContextTakeover){accepted.client_no_context_takeover=true}if(typeof opts.serverMaxWindowBits==="number"){accepted.server_max_window_bits=opts.serverMaxWindowBits}if(typeof opts.clientMaxWindowBits==="number"){accepted.client_max_window_bits=opts.clientMaxWindowBits}else if(accepted.client_max_window_bits===true||opts.clientMaxWindowBits===false){delete accepted.client_max_window_bits}return accepted}acceptAsClient(response){const params=response[0];if(this._options.clientNoContextTakeover===false&&params.client_no_context_takeover){throw new Error('Unexpected parameter "client_no_context_takeover"')}if(!params.client_max_window_bits){if(typeof this._options.clientMaxWindowBits==="number"){params.client_max_window_bits=this._options.clientMaxWindowBits}}else if(this._options.clientMaxWindowBits===false||typeof this._options.clientMaxWindowBits==="number"&&params.client_max_window_bits>this._options.clientMaxWindowBits){throw new Error('Unexpected or invalid parameter "client_max_window_bits"')}return params}normalizeParams(configurations){configurations.forEach(params=>{Object.keys(params).forEach(key=>{let value=params[key];if(value.length>1){throw new Error(`Parameter "${key}" must have only a single value`)}value=value[0];if(key==="client_max_window_bits"){if(value!==true){const num=+value;if(!Number.isInteger(num)||num<8||num>15){throw new TypeError(`Invalid value for parameter "${key}": ${value}`)}value=num}else if(!this._isServer){throw new TypeError(`Invalid value for parameter "${key}": ${value}`)}}else if(key==="server_max_window_bits"){const num=+value;if(!Number.isInteger(num)||num<8||num>15){throw new TypeError(`Invalid value for parameter "${key}": ${value}`)}value=num}else if(key==="client_no_context_takeover"||key==="server_no_context_takeover"){if(value!==true){throw new TypeError(`Invalid value for parameter "${key}": ${value}`)}}else{throw new Error(`Unknown parameter "${key}"`)}params[key]=value})});return configurations}decompress(data,fin,callback){zlibLimiter.add(done=>{this._decompress(data,fin,(err,result2)=>{done();callback(err,result2)})})}compress(data,fin,callback){zlibLimiter.add(done=>{this._compress(data,fin,(err,result2)=>{done();callback(err,result2)})})}_decompress(data,fin,callback){const endpoint=this._isServer?"client":"server";if(!this._inflate){const key=`${endpoint}_max_window_bits`;const windowBits=typeof this.params[key]!=="number"?zlib2.Z_DEFAULT_WINDOWBITS:this.params[key];this._inflate=zlib2.createInflateRaw({...this._options.zlibInflateOptions,windowBits});this._inflate[kPerMessageDeflate]=this;this._inflate[kTotalLength]=0;this._inflate[kBuffers]=[];this._inflate.on("error",inflateOnError);this._inflate.on("data",inflateOnData)}this._inflate[kCallback]=callback;this._inflate.write(data);if(fin)this._inflate.write(TRAILER);this._inflate.flush(()=>{const err=this._inflate[kError];if(err){this._inflate.close();this._inflate=null;callback(err);return}const data2=bufferUtil.concat(this._inflate[kBuffers],this._inflate[kTotalLength]);if(this._inflate._readableState.endEmitted){this._inflate.close();this._inflate=null}else{this._inflate[kTotalLength]=0;this._inflate[kBuffers]=[];if(fin&&this.params[`${endpoint}_no_context_takeover`]){this._inflate.reset()}}callback(null,data2)})}_compress(data,fin,callback){const endpoint=this._isServer?"server":"client";if(!this._deflate){const key=`${endpoint}_max_window_bits`;const windowBits=typeof this.params[key]!=="number"?zlib2.Z_DEFAULT_WINDOWBITS:this.params[key];this._deflate=zlib2.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits});this._deflate[kTotalLength]=0;this._deflate[kBuffers]=[];this._deflate.on("data",deflateOnData)}this._deflate[kCallback]=callback;this._deflate.write(data);this._deflate.flush(zlib2.Z_SYNC_FLUSH,()=>{if(!this._deflate){return}let data2=bufferUtil.concat(this._deflate[kBuffers],this._deflate[kTotalLength]);if(fin){data2=new FastBuffer(data2.buffer,data2.byteOffset,data2.length-4)}this._deflate[kCallback]=null;this._deflate[kTotalLength]=0;this._deflate[kBuffers]=[];if(fin&&this.params[`${endpoint}_no_context_takeover`]){this._deflate.reset()}callback(null,data2)})}};module2.exports=PerMessageDeflate;function deflateOnData(chunk2){this[kBuffers].push(chunk2);this[kTotalLength]+=chunk2.length}function inflateOnData(chunk2){this[kTotalLength]+=chunk2.length;if(this[kPerMessageDeflate]._maxPayload<1||this[kTotalLength]<=this[kPerMessageDeflate]._maxPayload){this[kBuffers].push(chunk2);return}this[kError]=new RangeError("Max payload size exceeded");this[kError].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH";this[kError][kStatusCode]=1009;this.removeListener("data",inflateOnData);this.reset()}function inflateOnError(err){this[kPerMessageDeflate]._inflate=null;err[kStatusCode]=1007;this[kCallback](err)}}});var require_validation2=__commonJS({"node_modules/engine.io/node_modules/ws/lib/validation.js"(exports2,module2){"use strict";var{isUtf8}=require("buffer");var tokenChars=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function isValidStatusCode(code){return code>=1e3&&code<=1014&&code!==1004&&code!==1005&&code!==1006||code>=3e3&&code<=4999}function _isValidUTF8(buf){const len=buf.length;let i=0;while(i<len){if((buf[i]&128)===0){i++}else if((buf[i]&224)===192){if(i+1===len||(buf[i+1]&192)!==128||(buf[i]&254)===192){return false}i+=2}else if((buf[i]&240)===224){if(i+2>=len||(buf[i+1]&192)!==128||(buf[i+2]&192)!==128||buf[i]===224&&(buf[i+1]&224)===128||buf[i]===237&&(buf[i+1]&224)===160){return false}i+=3}else if((buf[i]&248)===240){if(i+3>=len||(buf[i+1]&192)!==128||(buf[i+2]&192)!==128||(buf[i+3]&192)!==128||buf[i]===240&&(buf[i+1]&240)===128||buf[i]===244&&buf[i+1]>143||buf[i]>244){return false}i+=4}else{return false}}return true}module2.exports={isValidStatusCode,isValidUTF8:_isValidUTF8,tokenChars};if(isUtf8){module2.exports.isValidUTF8=function(buf){return buf.length<24?_isValidUTF8(buf):isUtf8(buf)}}else if(!process.env.WS_NO_UTF_8_VALIDATE){try{const isValidUTF8=require("utf-8-validate");module2.exports.isValidUTF8=function(buf){return buf.length<32?_isValidUTF8(buf):isValidUTF8(buf)}}catch(e){}}}});var require_receiver3=__commonJS({"node_modules/engine.io/node_modules/ws/lib/receiver.js"(exports2,module2){"use strict";var{Writable:Writable4}=require("stream");var PerMessageDeflate=require_permessage_deflate2();var{BINARY_TYPES,EMPTY_BUFFER,kStatusCode,kWebSocket}=require_constants7();var{concat:concat3,toArrayBuffer,unmask}=require_buffer_util2();var{isValidStatusCode,isValidUTF8}=require_validation2();var FastBuffer=Buffer[Symbol.species];var GET_INFO=0;var GET_PAYLOAD_LENGTH_16=1;var GET_PAYLOAD_LENGTH_64=2;var GET_MASK=3;var GET_DATA=4;var INFLATING=5;var DEFER_EVENT=6;var Receiver=class extends Writable4{constructor(options={}){super();this._allowSynchronousEvents=options.allowSynchronousEvents!==void 0?options.allowSynchronousEvents:true;this._binaryType=options.binaryType||BINARY_TYPES[0];this._extensions=options.extensions||{};this._isServer=!!options.isServer;this._maxPayload=options.maxPayload|0;this._skipUTF8Validation=!!options.skipUTF8Validation;this[kWebSocket]=void 0;this._bufferedBytes=0;this._buffers=[];this._compressed=false;this._payloadLength=0;this._mask=void 0;this._fragmented=0;this._masked=false;this._fin=false;this._opcode=0;this._totalPayloadLength=0;this._messageLength=0;this._fragments=[];this._errored=false;this._loop=false;this._state=GET_INFO}_write(chunk2,encoding,cb){if(this._opcode===8&&this._state==GET_INFO)return cb();this._bufferedBytes+=chunk2.length;this._buffers.push(chunk2);this.startLoop(cb)}consume(n){this._bufferedBytes-=n;if(n===this._buffers[0].length)return this._buffers.shift();if(n<this._buffers[0].length){const buf=this._buffers[0];this._buffers[0]=new FastBuffer(buf.buffer,buf.byteOffset+n,buf.length-n);return new FastBuffer(buf.buffer,buf.byteOffset,n)}const dst=Buffer.allocUnsafe(n);do{const buf=this._buffers[0];const offset=dst.length-n;if(n>=buf.length){dst.set(this._buffers.shift(),offset)}else{dst.set(new Uint8Array(buf.buffer,buf.byteOffset,n),offset);this._buffers[0]=new FastBuffer(buf.buffer,buf.byteOffset+n,buf.length-n)}n-=buf.length}while(n>0);return dst}startLoop(cb){this._loop=true;do{switch(this._state){case GET_INFO:this.getInfo(cb);break;case GET_PAYLOAD_LENGTH_16:this.getPayloadLength16(cb);break;case GET_PAYLOAD_LENGTH_64:this.getPayloadLength64(cb);break;case GET_MASK:this.getMask();break;case GET_DATA:this.getData(cb);break;case INFLATING:case DEFER_EVENT:this._loop=false;return}}while(this._loop);if(!this._errored)cb()}getInfo(cb){if(this._bufferedBytes<2){this._loop=false;return}const buf=this.consume(2);if((buf[0]&48)!==0){const error=this.createError(RangeError,"RSV2 and RSV3 must be clear",true,1002,"WS_ERR_UNEXPECTED_RSV_2_3");cb(error);return}const compressed=(buf[0]&64)===64;if(compressed&&!this._extensions[PerMessageDeflate.extensionName]){const error=this.createError(RangeError,"RSV1 must be clear",true,1002,"WS_ERR_UNEXPECTED_RSV_1");cb(error);return}this._fin=(buf[0]&128)===128;this._opcode=buf[0]&15;this._payloadLength=buf[1]&127;if(this._opcode===0){if(compressed){const error=this.createError(RangeError,"RSV1 must be clear",true,1002,"WS_ERR_UNEXPECTED_RSV_1");cb(error);return}if(!this._fragmented){const error=this.createError(RangeError,"invalid opcode 0",true,1002,"WS_ERR_INVALID_OPCODE");cb(error);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){const error=this.createError(RangeError,`invalid opcode ${this._opcode}`,true,1002,"WS_ERR_INVALID_OPCODE");cb(error);return}this._compressed=compressed}else if(this._opcode>7&&this._opcode<11){if(!this._fin){const error=this.createError(RangeError,"FIN must be set",true,1002,"WS_ERR_EXPECTED_FIN");cb(error);return}if(compressed){const error=this.createError(RangeError,"RSV1 must be clear",true,1002,"WS_ERR_UNEXPECTED_RSV_1");cb(error);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){const error=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,true,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");cb(error);return}}else{const error=this.createError(RangeError,`invalid opcode ${this._opcode}`,true,1002,"WS_ERR_INVALID_OPCODE");cb(error);return}if(!this._fin&&!this._fragmented)this._fragmented=this._opcode;this._masked=(buf[1]&128)===128;if(this._isServer){if(!this._masked){const error=this.createError(RangeError,"MASK must be set",true,1002,"WS_ERR_EXPECTED_MASK");cb(error);return}}else if(this._masked){const error=this.createError(RangeError,"MASK must be clear",true,1002,"WS_ERR_UNEXPECTED_MASK");cb(error);return}if(this._payloadLength===126)this._state=GET_PAYLOAD_LENGTH_16;else if(this._payloadLength===127)this._state=GET_PAYLOAD_LENGTH_64;else this.haveLength(cb)}getPayloadLength16(cb){if(this._bufferedBytes<2){this._loop=false;return}this._payloadLength=this.consume(2).readUInt16BE(0);this.haveLength(cb)}getPayloadLength64(cb){if(this._bufferedBytes<8){this._loop=false;return}const buf=this.consume(8);const num=buf.readUInt32BE(0);if(num>Math.pow(2,53-32)-1){const error=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",false,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");cb(error);return}this._payloadLength=num*Math.pow(2,32)+buf.readUInt32BE(4);this.haveLength(cb)}haveLength(cb){if(this._payloadLength&&this._opcode<8){this._totalPayloadLength+=this._payloadLength;if(this._totalPayloadLength>this._maxPayload&&this._maxPayload>0){const error=this.createError(RangeError,"Max payload size exceeded",false,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");cb(error);return}}if(this._masked)this._state=GET_MASK;else this._state=GET_DATA}getMask(){if(this._bufferedBytes<4){this._loop=false;return}this._mask=this.consume(4);this._state=GET_DATA}getData(cb){let data=EMPTY_BUFFER;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=false;return}data=this.consume(this._payloadLength);if(this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!==0){unmask(data,this._mask)}}if(this._opcode>7){this.controlMessage(data,cb);return}if(this._compressed){this._state=INFLATING;this.decompress(data,cb);return}if(data.length){this._messageLength=this._totalPayloadLength;this._fragments.push(data)}this.dataMessage(cb)}decompress(data,cb){const perMessageDeflate=this._extensions[PerMessageDeflate.extensionName];perMessageDeflate.decompress(data,this._fin,(err,buf)=>{if(err)return cb(err);if(buf.length){this._messageLength+=buf.length;if(this._messageLength>this._maxPayload&&this._maxPayload>0){const error=this.createError(RangeError,"Max payload size exceeded",false,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");cb(error);return}this._fragments.push(buf)}this.dataMessage(cb);if(this._state===GET_INFO)this.startLoop(cb)})}dataMessage(cb){if(!this._fin){this._state=GET_INFO;return}const messageLength=this._messageLength;const fragments=this._fragments;this._totalPayloadLength=0;this._messageLength=0;this._fragmented=0;this._fragments=[];if(this._opcode===2){let data;if(this._binaryType==="nodebuffer"){data=concat3(fragments,messageLength)}else if(this._binaryType==="arraybuffer"){data=toArrayBuffer(concat3(fragments,messageLength))}else{data=fragments}if(this._allowSynchronousEvents){this.emit("message",data,true);this._state=GET_INFO}else{this._state=DEFER_EVENT;setImmediate(()=>{this.emit("message",data,true);this._state=GET_INFO;this.startLoop(cb)})}}else{const buf=concat3(fragments,messageLength);if(!this._skipUTF8Validation&&!isValidUTF8(buf)){const error=this.createError(Error,"invalid UTF-8 sequence",true,1007,"WS_ERR_INVALID_UTF8");cb(error);return}if(this._state===INFLATING||this._allowSynchronousEvents){this.emit("message",buf,false);this._state=GET_INFO}else{this._state=DEFER_EVENT;setImmediate(()=>{this.emit("message",buf,false);this._state=GET_INFO;this.startLoop(cb)})}}}controlMessage(data,cb){if(this._opcode===8){if(data.length===0){this._loop=false;this.emit("conclude",1005,EMPTY_BUFFER);this.end()}else{const code=data.readUInt16BE(0);if(!isValidStatusCode(code)){const error=this.createError(RangeError,`invalid status code ${code}`,true,1002,"WS_ERR_INVALID_CLOSE_CODE");cb(error);return}const buf=new FastBuffer(data.buffer,data.byteOffset+2,data.length-2);if(!this._skipUTF8Validation&&!isValidUTF8(buf)){const error=this.createError(Error,"invalid UTF-8 sequence",true,1007,"WS_ERR_INVALID_UTF8");cb(error);return}this._loop=false;this.emit("conclude",code,buf);this.end()}this._state=GET_INFO;return}if(this._allowSynchronousEvents){this.emit(this._opcode===9?"ping":"pong",data);this._state=GET_INFO}else{this._state=DEFER_EVENT;setImmediate(()=>{this.emit(this._opcode===9?"ping":"pong",data);this._state=GET_INFO;this.startLoop(cb)})}}createError(ErrorCtor,message3,prefix,statusCode,errorCode){this._loop=false;this._errored=true;const err=new ErrorCtor(prefix?`Invalid WebSocket frame: ${message3}`:message3);Error.captureStackTrace(err,this.createError);err.code=errorCode;err[kStatusCode]=statusCode;return err}};module2.exports=Receiver}});var require_sender2=__commonJS({"node_modules/engine.io/node_modules/ws/lib/sender.js"(exports2,module2){"use strict";var{Duplex:Duplex2}=require("stream");var{randomFillSync:randomFillSync3}=require("crypto");var PerMessageDeflate=require_permessage_deflate2();var{EMPTY_BUFFER}=require_constants7();var{isValidStatusCode}=require_validation2();var{mask:applyMask,toBuffer}=require_buffer_util2();var kByteLength=Symbol("kByteLength");var maskBuffer=Buffer.alloc(4);var RANDOM_POOL_SIZE=8*1024;var randomPool;var randomPoolPointer=RANDOM_POOL_SIZE;var Sender=class _Sender{constructor(socket,extensions2,generateMask){this._extensions=extensions2||{};if(generateMask){this._generateMask=generateMask;this._maskBuffer=Buffer.alloc(4)}this._socket=socket;this._firstFragment=true;this._compress=false;this._bufferedBytes=0;this._deflating=false;this._queue=[]}static frame(data,options){let mask;let merge3=false;let offset=2;let skipMasking=false;if(options.mask){mask=options.maskBuffer||maskBuffer;if(options.generateMask){options.generateMask(mask)}else{if(randomPoolPointer===RANDOM_POOL_SIZE){if(randomPool===void 0){randomPool=Buffer.alloc(RANDOM_POOL_SIZE)}randomFillSync3(randomPool,0,RANDOM_POOL_SIZE);randomPoolPointer=0}mask[0]=randomPool[randomPoolPointer++];mask[1]=randomPool[randomPoolPointer++];mask[2]=randomPool[randomPoolPointer++];mask[3]=randomPool[randomPoolPointer++]}skipMasking=(mask[0]|mask[1]|mask[2]|mask[3])===0;offset=6}let dataLength;if(typeof data==="string"){if((!options.mask||skipMasking)&&options[kByteLength]!==void 0){dataLength=options[kByteLength]}else{data=Buffer.from(data);dataLength=data.length}}else{dataLength=data.length;merge3=options.mask&&options.readOnly&&!skipMasking}let payloadLength=dataLength;if(dataLength>=65536){offset+=8;payloadLength=127}else if(dataLength>125){offset+=2;payloadLength=126}const target=Buffer.allocUnsafe(merge3?dataLength+offset:offset);target[0]=options.fin?options.opcode|128:options.opcode;if(options.rsv1)target[0]|=64;target[1]=payloadLength;if(payloadLength===126){target.writeUInt16BE(dataLength,2)}else if(payloadLength===127){target[2]=target[3]=0;target.writeUIntBE(dataLength,4,6)}if(!options.mask)return[target,data];target[1]|=128;target[offset-4]=mask[0];target[offset-3]=mask[1];target[offset-2]=mask[2];target[offset-1]=mask[3];if(skipMasking)return[target,data];if(merge3){applyMask(data,mask,target,offset,dataLength);return[target]}applyMask(data,mask,data,0,dataLength);return[target,data]}close(code,data,mask,cb){let buf;if(code===void 0){buf=EMPTY_BUFFER}else if(typeof code!=="number"||!isValidStatusCode(code)){throw new TypeError("First argument must be a valid error code number")}else if(data===void 0||!data.length){buf=Buffer.allocUnsafe(2);buf.writeUInt16BE(code,0)}else{const length=Buffer.byteLength(data);if(length>123){throw new RangeError("The message must not be greater than 123 bytes")}buf=Buffer.allocUnsafe(2+length);buf.writeUInt16BE(code,0);if(typeof data==="string"){buf.write(data,2)}else{buf.set(data,2)}}const options={[kByteLength]:buf.length,fin:true,generateMask:this._generateMask,mask,maskBuffer:this._maskBuffer,opcode:8,readOnly:false,rsv1:false};if(this._deflating){this.enqueue([this.dispatch,buf,false,options,cb])}else{this.sendFrame(_Sender.frame(buf,options),cb)}}ping(data,mask,cb){let byteLength;let readOnly;if(typeof data==="string"){byteLength=Buffer.byteLength(data);readOnly=false}else{data=toBuffer(data);byteLength=data.length;readOnly=toBuffer.readOnly}if(byteLength>125){throw new RangeError("The data size must not be greater than 125 bytes")}const options={[kByteLength]:byteLength,fin:true,generateMask:this._generateMask,mask,maskBuffer:this._maskBuffer,opcode:9,readOnly,rsv1:false};if(this._deflating){this.enqueue([this.dispatch,data,false,options,cb])}else{this.sendFrame(_Sender.frame(data,options),cb)}}pong(data,mask,cb){let byteLength;let readOnly;if(typeof data==="string"){byteLength=Buffer.byteLength(data);readOnly=false}else{data=toBuffer(data);byteLength=data.length;readOnly=toBuffer.readOnly}if(byteLength>125){throw new RangeError("The data size must not be greater than 125 bytes")}const options={[kByteLength]:byteLength,fin:true,generateMask:this._generateMask,mask,maskBuffer:this._maskBuffer,opcode:10,readOnly,rsv1:false};if(this._deflating){this.enqueue([this.dispatch,data,false,options,cb])}else{this.sendFrame(_Sender.frame(data,options),cb)}}send(data,options,cb){const perMessageDeflate=this._extensions[PerMessageDeflate.extensionName];let opcode=options.binary?2:1;let rsv1=options.compress;let byteLength;let readOnly;if(typeof data==="string"){byteLength=Buffer.byteLength(data);readOnly=false}else{data=toBuffer(data);byteLength=data.length;readOnly=toBuffer.readOnly}if(this._firstFragment){this._firstFragment=false;if(rsv1&&perMessageDeflate&&perMessageDeflate.params[perMessageDeflate._isServer?"server_no_context_takeover":"client_no_context_takeover"]){rsv1=byteLength>=perMessageDeflate._threshold}this._compress=rsv1}else{rsv1=false;opcode=0}if(options.fin)this._firstFragment=true;if(perMessageDeflate){const opts={[kByteLength]:byteLength,fin:options.fin,generateMask:this._generateMask,mask:options.mask,maskBuffer:this._maskBuffer,opcode,readOnly,rsv1};if(this._deflating){this.enqueue([this.dispatch,data,this._compress,opts,cb])}else{this.dispatch(data,this._compress,opts,cb)}}else{this.sendFrame(_Sender.frame(data,{[kByteLength]:byteLength,fin:options.fin,generateMask:this._generateMask,mask:options.mask,maskBuffer:this._maskBuffer,opcode,readOnly,rsv1:false}),cb)}}dispatch(data,compress,options,cb){if(!compress){this.sendFrame(_Sender.frame(data,options),cb);return}const perMessageDeflate=this._extensions[PerMessageDeflate.extensionName];this._bufferedBytes+=options[kByteLength];this._deflating=true;perMessageDeflate.compress(data,options.fin,(_,buf)=>{if(this._socket.destroyed){const err=new Error("The socket was closed while data was being compressed");if(typeof cb==="function")cb(err);for(let i=0;i<this._queue.length;i++){const params=this._queue[i];const callback=params[params.length-1];if(typeof callback==="function")callback(err)}return}this._bufferedBytes-=options[kByteLength];this._deflating=false;options.readOnly=false;this.sendFrame(_Sender.frame(buf,options),cb);this.dequeue()})}dequeue(){while(!this._deflating&&this._queue.length){const params=this._queue.shift();this._bufferedBytes-=params[3][kByteLength];Reflect.apply(params[0],this,params.slice(1))}}enqueue(params){this._bufferedBytes+=params[3][kByteLength];this._queue.push(params)}sendFrame(list,cb){if(list.length===2){this._socket.cork();this._socket.write(list[0]);this._socket.write(list[1],cb);this._socket.uncork()}else{this._socket.write(list[0],cb)}}};module2.exports=Sender}});var require_event_target2=__commonJS({"node_modules/engine.io/node_modules/ws/lib/event-target.js"(exports2,module2){"use strict";var{kForOnEventAttribute,kListener}=require_constants7();var kCode=Symbol("kCode");var kData=Symbol("kData");var kError=Symbol("kError");var kMessage=Symbol("kMessage");var kReason=Symbol("kReason");var kTarget=Symbol("kTarget");var kType=Symbol("kType");var kWasClean=Symbol("kWasClean");var Event2=class{constructor(type2){this[kTarget]=null;this[kType]=type2}get target(){return this[kTarget]}get type(){return this[kType]}};Object.defineProperty(Event2.prototype,"target",{enumerable:true});Object.defineProperty(Event2.prototype,"type",{enumerable:true});var CloseEvent=class extends Event2{constructor(type2,options={}){super(type2);this[kCode]=options.code===void 0?0:options.code;this[kReason]=options.reason===void 0?"":options.reason;this[kWasClean]=options.wasClean===void 0?false:options.wasClean}get code(){return this[kCode]}get reason(){return this[kReason]}get wasClean(){return this[kWasClean]}};Object.defineProperty(CloseEvent.prototype,"code",{enumerable:true});Object.defineProperty(CloseEvent.prototype,"reason",{enumerable:true});Object.defineProperty(CloseEvent.prototype,"wasClean",{enumerable:true});var ErrorEvent=class extends Event2{constructor(type2,options={}){super(type2);this[kError]=options.error===void 0?null:options.error;this[kMessage]=options.message===void 0?"":options.message}get error(){return this[kError]}get message(){return this[kMessage]}};Object.defineProperty(ErrorEvent.prototype,"error",{enumerable:true});Object.defineProperty(ErrorEvent.prototype,"message",{enumerable:true});var MessageEvent=class extends Event2{constructor(type2,options={}){super(type2);this[kData]=options.data===void 0?null:options.data}get data(){return this[kData]}};Object.defineProperty(MessageEvent.prototype,"data",{enumerable:true});var EventTarget2={addEventListener(type2,handler,options={}){for(const listener of this.listeners(type2)){if(!options[kForOnEventAttribute]&&listener[kListener]===handler&&!listener[kForOnEventAttribute]){return}}let wrapper;if(type2==="message"){wrapper=function onMessage(data,isBinary2){const event=new MessageEvent("message",{data:isBinary2?data:data.toString()});event[kTarget]=this;callListener(handler,this,event)}}else if(type2==="close"){wrapper=function onClose(code,message3){const event=new CloseEvent("close",{code,reason:message3.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});event[kTarget]=this;callListener(handler,this,event)}}else if(type2==="error"){wrapper=function onError(error){const event=new ErrorEvent("error",{error,message:error.message});event[kTarget]=this;callListener(handler,this,event)}}else if(type2==="open"){wrapper=function onOpen(){const event=new Event2("open");event[kTarget]=this;callListener(handler,this,event)}}else{return}wrapper[kForOnEventAttribute]=!!options[kForOnEventAttribute];wrapper[kListener]=handler;if(options.once){this.once(type2,wrapper)}else{this.on(type2,wrapper)}},removeEventListener(type2,handler){for(const listener of this.listeners(type2)){if(listener[kListener]===handler&&!listener[kForOnEventAttribute]){this.removeListener(type2,listener);break}}}};module2.exports={CloseEvent,ErrorEvent,Event:Event2,EventTarget:EventTarget2,MessageEvent};function callListener(listener,thisArg,event){if(typeof listener==="object"&&listener.handleEvent){listener.handleEvent.call(listener,event)}else{listener.call(thisArg,event)}}}});var require_extension2=__commonJS({"node_modules/engine.io/node_modules/ws/lib/extension.js"(exports2,module2){"use strict";var{tokenChars}=require_validation2();function push(dest,name,elem){if(dest[name]===void 0)dest[name]=[elem];else dest[name].push(elem)}function parse3(header2){const offers=Object.create(null);let params=Object.create(null);let mustUnescape=false;let isEscaping=false;let inQuotes=false;let extensionName;let paramName;let start=-1;let code=-1;let end=-1;let i=0;for(;i<header2.length;i++){code=header2.charCodeAt(i);if(extensionName===void 0){if(end===-1&&tokenChars[code]===1){if(start===-1)start=i}else if(i!==0&&(code===32||code===9)){if(end===-1&&start!==-1)end=i}else if(code===59||code===44){if(start===-1){throw new SyntaxError(`Unexpected character at index ${i}`)}if(end===-1)end=i;const name=header2.slice(start,end);if(code===44){push(offers,name,params);params=Object.create(null)}else{extensionName=name}start=end=-1}else{throw new SyntaxError(`Unexpected character at index ${i}`)}}else if(paramName===void 0){if(end===-1&&tokenChars[code]===1){if(start===-1)start=i}else if(code===32||code===9){if(end===-1&&start!==-1)end=i}else if(code===59||code===44){if(start===-1){throw new SyntaxError(`Unexpected character at index ${i}`)}if(end===-1)end=i;push(params,header2.slice(start,end),true);if(code===44){push(offers,extensionName,params);params=Object.create(null);extensionName=void 0}start=end=-1}else if(code===61&&start!==-1&&end===-1){paramName=header2.slice(start,i);start=end=-1}else{throw new SyntaxError(`Unexpected character at index ${i}`)}}else{if(isEscaping){if(tokenChars[code]!==1){throw new SyntaxError(`Unexpected character at index ${i}`)}if(start===-1)start=i;else if(!mustUnescape)mustUnescape=true;isEscaping=false}else if(inQuotes){if(tokenChars[code]===1){if(start===-1)start=i}else if(code===34&&start!==-1){inQuotes=false;end=i}else if(code===92){isEscaping=true}else{throw new SyntaxError(`Unexpected character at index ${i}`)}}else if(code===34&&header2.charCodeAt(i-1)===61){inQuotes=true}else if(end===-1&&tokenChars[code]===1){if(start===-1)start=i}else if(start!==-1&&(code===32||code===9)){if(end===-1)end=i}else if(code===59||code===44){if(start===-1){throw new SyntaxError(`Unexpected character at index ${i}`)}if(end===-1)end=i;let value=header2.slice(start,end);if(mustUnescape){value=value.replace(/\\/g,"");mustUnescape=false}push(params,paramName,value);if(code===44){push(offers,extensionName,params);params=Object.create(null);extensionName=void 0}paramName=void 0;start=end=-1}else{throw new SyntaxError(`Unexpected character at index ${i}`)}}}if(start===-1||inQuotes||code===32||code===9){throw new SyntaxError("Unexpected end of input")}if(end===-1)end=i;const token3=header2.slice(start,end);if(extensionName===void 0){push(offers,token3,params)}else{if(paramName===void 0){push(params,token3,true)}else if(mustUnescape){push(params,paramName,token3.replace(/\\/g,""))}else{push(params,paramName,token3)}push(offers,extensionName,params)}return offers}function format2(extensions2){return Object.keys(extensions2).map(extension=>{let configurations=extensions2[extension];if(!Array.isArray(configurations))configurations=[configurations];return configurations.map(params=>{return[extension].concat(Object.keys(params).map(k=>{let values2=params[k];if(!Array.isArray(values2))values2=[values2];return values2.map(v=>v===true?k:`${k}=${v}`).join("; ")})).join("; ")}).join(", ")}).join(", ")}module2.exports={format:format2,parse:parse3}}});var require_websocket4=__commonJS({"node_modules/engine.io/node_modules/ws/lib/websocket.js"(exports2,module2){"use strict";var EventEmitter3=require("events");var https2=require("https");var http3=require("http");var net2=require("net");var tls=require("tls");var{randomBytes,createHash:createHash4}=require("crypto");var{Duplex:Duplex2,Readable:Readable2}=require("stream");var{URL:URL3}=require("url");var PerMessageDeflate=require_permessage_deflate2();var Receiver=require_receiver3();var Sender=require_sender2();var{BINARY_TYPES,EMPTY_BUFFER,GUID,kForOnEventAttribute,kListener,kStatusCode,kWebSocket,NOOP}=require_constants7();var{EventTarget:{addEventListener,removeEventListener}}=require_event_target2();var{format:format2,parse:parse3}=require_extension2();var{toBuffer}=require_buffer_util2();var closeTimeout=30*1e3;var kAborted=Symbol("kAborted");var protocolVersions=[8,13];var readyStates=["CONNECTING","OPEN","CLOSING","CLOSED"];var subprotocolRegex=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/;var WebSocket2=class _WebSocket extends EventEmitter3{constructor(address,protocols,options){super();this._binaryType=BINARY_TYPES[0];this._closeCode=1006;this._closeFrameReceived=false;this._closeFrameSent=false;this._closeMessage=EMPTY_BUFFER;this._closeTimer=null;this._extensions={};this._paused=false;this._protocol="";this._readyState=_WebSocket.CONNECTING;this._receiver=null;this._sender=null;this._socket=null;if(address!==null){this._bufferedAmount=0;this._isServer=false;this._redirects=0;if(protocols===void 0){protocols=[]}else if(!Array.isArray(protocols)){if(typeof protocols==="object"&&protocols!==null){options=protocols;protocols=[]}else{protocols=[protocols]}}initAsClient(this,address,protocols,options)}else{this._autoPong=options.autoPong;this._isServer=true}}get binaryType(){return this._binaryType}set binaryType(type2){if(!BINARY_TYPES.includes(type2))return;this._binaryType=type2;if(this._receiver)this._receiver._binaryType=type2}get bufferedAmount(){if(!this._socket)return this._bufferedAmount;return this._socket._writableState.length+this._sender._bufferedBytes}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(socket,head2,options){const receiver=new Receiver({allowSynchronousEvents:options.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:options.maxPayload,skipUTF8Validation:options.skipUTF8Validation});this._sender=new Sender(socket,this._extensions,options.generateMask);this._receiver=receiver;this._socket=socket;receiver[kWebSocket]=this;socket[kWebSocket]=this;receiver.on("conclude",receiverOnConclude);receiver.on("drain",receiverOnDrain);receiver.on("error",receiverOnError);receiver.on("message",receiverOnMessage);receiver.on("ping",receiverOnPing);receiver.on("pong",receiverOnPong);if(socket.setTimeout)socket.setTimeout(0);if(socket.setNoDelay)socket.setNoDelay();if(head2.length>0)socket.unshift(head2);socket.on("close",socketOnClose);socket.on("data",socketOnData);socket.on("end",socketOnEnd);socket.on("error",socketOnError);this._readyState=_WebSocket.OPEN;this.emit("open")}emitClose(){if(!this._socket){this._readyState=_WebSocket.CLOSED;this.emit("close",this._closeCode,this._closeMessage);return}if(this._extensions[PerMessageDeflate.extensionName]){this._extensions[PerMessageDeflate.extensionName].cleanup()}this._receiver.removeAllListeners();this._readyState=_WebSocket.CLOSED;this.emit("close",this._closeCode,this._closeMessage)}close(code,data){if(this.readyState===_WebSocket.CLOSED)return;if(this.readyState===_WebSocket.CONNECTING){const msg="WebSocket was closed before the connection was established";abortHandshake(this,this._req,msg);return}if(this.readyState===_WebSocket.CLOSING){if(this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)){this._socket.end()}return}this._readyState=_WebSocket.CLOSING;this._sender.close(code,data,!this._isServer,err=>{if(err)return;this._closeFrameSent=true;if(this._closeFrameReceived||this._receiver._writableState.errorEmitted){this._socket.end()}});this._closeTimer=setTimeout(this._socket.destroy.bind(this._socket),closeTimeout)}pause(){if(this.readyState===_WebSocket.CONNECTING||this.readyState===_WebSocket.CLOSED){return}this._paused=true;this._socket.pause()}ping(data,mask,cb){if(this.readyState===_WebSocket.CONNECTING){throw new Error("WebSocket is not open: readyState 0 (CONNECTING)")}if(typeof data==="function"){cb=data;data=mask=void 0}else if(typeof mask==="function"){cb=mask;mask=void 0}if(typeof data==="number")data=data.toString();if(this.readyState!==_WebSocket.OPEN){sendAfterClose(this,data,cb);return}if(mask===void 0)mask=!this._isServer;this._sender.ping(data||EMPTY_BUFFER,mask,cb)}pong(data,mask,cb){if(this.readyState===_WebSocket.CONNECTING){throw new Error("WebSocket is not open: readyState 0 (CONNECTING)")}if(typeof data==="function"){cb=data;data=mask=void 0}else if(typeof mask==="function"){cb=mask;mask=void 0}if(typeof data==="number")data=data.toString();if(this.readyState!==_WebSocket.OPEN){sendAfterClose(this,data,cb);return}if(mask===void 0)mask=!this._isServer;this._sender.pong(data||EMPTY_BUFFER,mask,cb)}resume(){if(this.readyState===_WebSocket.CONNECTING||this.readyState===_WebSocket.CLOSED){return}this._paused=false;if(!this._receiver._writableState.needDrain)this._socket.resume()}send(data,options,cb){if(this.readyState===_WebSocket.CONNECTING){throw new Error("WebSocket is not open: readyState 0 (CONNECTING)")}if(typeof options==="function"){cb=options;options={}}if(typeof data==="number")data=data.toString();if(this.readyState!==_WebSocket.OPEN){sendAfterClose(this,data,cb);return}const opts={binary:typeof data!=="string",mask:!this._isServer,compress:true,fin:true,...options};if(!this._extensions[PerMessageDeflate.extensionName]){opts.compress=false}this._sender.send(data||EMPTY_BUFFER,opts,cb)}terminate(){if(this.readyState===_WebSocket.CLOSED)return;if(this.readyState===_WebSocket.CONNECTING){const msg="WebSocket was closed before the connection was established";abortHandshake(this,this._req,msg);return}if(this._socket){this._readyState=_WebSocket.CLOSING;this._socket.destroy()}}};Object.defineProperty(WebSocket2,"CONNECTING",{enumerable:true,value:readyStates.indexOf("CONNECTING")});Object.defineProperty(WebSocket2.prototype,"CONNECTING",{enumerable:true,value:readyStates.indexOf("CONNECTING")});Object.defineProperty(WebSocket2,"OPEN",{enumerable:true,value:readyStates.indexOf("OPEN")});Object.defineProperty(WebSocket2.prototype,"OPEN",{enumerable:true,value:readyStates.indexOf("OPEN")});Object.defineProperty(WebSocket2,"CLOSING",{enumerable:true,value:readyStates.indexOf("CLOSING")});Object.defineProperty(WebSocket2.prototype,"CLOSING",{enumerable:true,value:readyStates.indexOf("CLOSING")});Object.defineProperty(WebSocket2,"CLOSED",{enumerable:true,value:readyStates.indexOf("CLOSED")});Object.defineProperty(WebSocket2.prototype,"CLOSED",{enumerable:true,value:readyStates.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(property2=>{Object.defineProperty(WebSocket2.prototype,property2,{enumerable:true})});["open","error","close","message"].forEach(method2=>{Object.defineProperty(WebSocket2.prototype,`on${method2}`,{enumerable:true,get(){for(const listener of this.listeners(method2)){if(listener[kForOnEventAttribute])return listener[kListener]}return null},set(handler){for(const listener of this.listeners(method2)){if(listener[kForOnEventAttribute]){this.removeListener(method2,listener);break}}if(typeof handler!=="function")return;this.addEventListener(method2,handler,{[kForOnEventAttribute]:true})}})});WebSocket2.prototype.addEventListener=addEventListener;WebSocket2.prototype.removeEventListener=removeEventListener;module2.exports=WebSocket2;function initAsClient(websocket,address,protocols,options){const opts={allowSynchronousEvents:true,autoPong:true,protocolVersion:protocolVersions[1],maxPayload:100*1024*1024,skipUTF8Validation:false,perMessageDeflate:true,followRedirects:false,maxRedirects:10,...options,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};websocket._autoPong=opts.autoPong;if(!protocolVersions.includes(opts.protocolVersion)){throw new RangeError(`Unsupported protocol version: ${opts.protocolVersion} (supported versions: ${protocolVersions.join(", ")})`)}let parsedUrl;if(address instanceof URL3){parsedUrl=address}else{try{parsedUrl=new URL3(address)}catch(e){throw new SyntaxError(`Invalid URL: ${address}`)}}if(parsedUrl.protocol==="http:"){parsedUrl.protocol="ws:"}else if(parsedUrl.protocol==="https:"){parsedUrl.protocol="wss:"}websocket._url=parsedUrl.href;const isSecure=parsedUrl.protocol==="wss:";const isIpcUrl=parsedUrl.protocol==="ws+unix:";let invalidUrlMessage2;if(parsedUrl.protocol!=="ws:"&&!isSecure&&!isIpcUrl){invalidUrlMessage2=`The URL's protocol must be one of "ws:", "wss:", "http:", "https", or "ws+unix:"`}else if(isIpcUrl&&!parsedUrl.pathname){invalidUrlMessage2="The URL's pathname is empty"}else if(parsedUrl.hash){invalidUrlMessage2="The URL contains a fragment identifier"}if(invalidUrlMessage2){const err=new SyntaxError(invalidUrlMessage2);if(websocket._redirects===0){throw err}else{emitErrorAndClose(websocket,err);return}}const defaultPort=isSecure?443:80;const key=randomBytes(16).toString("base64");const request=isSecure?https2.request:http3.request;const protocolSet=new Set;let perMessageDeflate;opts.createConnection=opts.createConnection||(isSecure?tlsConnect:netConnect);opts.defaultPort=opts.defaultPort||defaultPort;opts.port=parsedUrl.port||defaultPort;opts.host=parsedUrl.hostname.startsWith("[")?parsedUrl.hostname.slice(1,-1):parsedUrl.hostname;opts.headers={...opts.headers,"Sec-WebSocket-Version":opts.protocolVersion,"Sec-WebSocket-Key":key,Connection:"Upgrade",Upgrade:"websocket"};opts.path=parsedUrl.pathname+parsedUrl.search;opts.timeout=opts.handshakeTimeout;if(opts.perMessageDeflate){perMessageDeflate=new PerMessageDeflate(opts.perMessageDeflate!==true?opts.perMessageDeflate:{},false,opts.maxPayload);opts.headers["Sec-WebSocket-Extensions"]=format2({[PerMessageDeflate.extensionName]:perMessageDeflate.offer()})}if(protocols.length){for(const protocol of protocols){if(typeof protocol!=="string"||!subprotocolRegex.test(protocol)||protocolSet.has(protocol)){throw new SyntaxError("An invalid or duplicated subprotocol was specified")}protocolSet.add(protocol)}opts.headers["Sec-WebSocket-Protocol"]=protocols.join(",")}if(opts.origin){if(opts.protocolVersion<13){opts.headers["Sec-WebSocket-Origin"]=opts.origin}else{opts.headers.Origin=opts.origin}}if(parsedUrl.username||parsedUrl.password){opts.auth=`${parsedUrl.username}:${parsedUrl.password}`}if(isIpcUrl){const parts=opts.path.split(":");opts.socketPath=parts[0];opts.path=parts[1]}let req;if(opts.followRedirects){if(websocket._redirects===0){websocket._originalIpc=isIpcUrl;websocket._originalSecure=isSecure;websocket._originalHostOrSocketPath=isIpcUrl?opts.socketPath:parsedUrl.host;const headers=options&&options.headers;options={...options,headers:{}};if(headers){for(const[key2,value]of Object.entries(headers)){options.headers[key2.toLowerCase()]=value}}}else if(websocket.listenerCount("redirect")===0){const isSameHost=isIpcUrl?websocket._originalIpc?opts.socketPath===websocket._originalHostOrSocketPath:false:websocket._originalIpc?false:parsedUrl.host===websocket._originalHostOrSocketPath;if(!isSameHost||websocket._originalSecure&&!isSecure){delete opts.headers.authorization;delete opts.headers.cookie;if(!isSameHost)delete opts.headers.host;opts.auth=void 0}}if(opts.auth&&!options.headers.authorization){options.headers.authorization="Basic "+Buffer.from(opts.auth).toString("base64")}req=websocket._req=request(opts);if(websocket._redirects){websocket.emit("redirect",websocket.url,req)}}else{req=websocket._req=request(opts)}if(opts.timeout){req.on("timeout",()=>{abortHandshake(websocket,req,"Opening handshake has timed out")})}req.on("error",err=>{if(req===null||req[kAborted])return;req=websocket._req=null;emitErrorAndClose(websocket,err)});req.on("response",res=>{const location=res.headers.location;const statusCode=res.statusCode;if(location&&opts.followRedirects&&statusCode>=300&&statusCode<400){if(++websocket._redirects>opts.maxRedirects){abortHandshake(websocket,req,"Maximum redirects exceeded");return}req.abort();let addr;try{addr=new URL3(location,address)}catch(e){const err=new SyntaxError(`Invalid URL: ${location}`);emitErrorAndClose(websocket,err);return}initAsClient(websocket,addr,protocols,options)}else if(!websocket.emit("unexpected-response",req,res)){abortHandshake(websocket,req,`Unexpected server response: ${res.statusCode}`)}});req.on("upgrade",(res,socket,head2)=>{websocket.emit("upgrade",res);if(websocket.readyState!==WebSocket2.CONNECTING)return;req=websocket._req=null;const upgrade=res.headers.upgrade;if(upgrade===void 0||upgrade.toLowerCase()!=="websocket"){abortHandshake(websocket,socket,"Invalid Upgrade header");return}const digest2=createHash4("sha1").update(key+GUID).digest("base64");if(res.headers["sec-websocket-accept"]!==digest2){abortHandshake(websocket,socket,"Invalid Sec-WebSocket-Accept header");return}const serverProt=res.headers["sec-websocket-protocol"];let protError;if(serverProt!==void 0){if(!protocolSet.size){protError="Server sent a subprotocol but none was requested"}else if(!protocolSet.has(serverProt)){protError="Server sent an invalid subprotocol"}}else if(protocolSet.size){protError="Server sent no subprotocol"}if(protError){abortHandshake(websocket,socket,protError);return}if(serverProt)websocket._protocol=serverProt;const secWebSocketExtensions=res.headers["sec-websocket-extensions"];if(secWebSocketExtensions!==void 0){if(!perMessageDeflate){const message3="Server sent a Sec-WebSocket-Extensions header but no extension was requested";abortHandshake(websocket,socket,message3);return}let extensions2;try{extensions2=parse3(secWebSocketExtensions)}catch(err){const message3="Invalid Sec-WebSocket-Extensions header";abortHandshake(websocket,socket,message3);return}const extensionNames=Object.keys(extensions2);if(extensionNames.length!==1||extensionNames[0]!==PerMessageDeflate.extensionName){const message3="Server indicated an extension that was not requested";abortHandshake(websocket,socket,message3);return}try{perMessageDeflate.accept(extensions2[PerMessageDeflate.extensionName])}catch(err){const message3="Invalid Sec-WebSocket-Extensions header";abortHandshake(websocket,socket,message3);return}websocket._extensions[PerMessageDeflate.extensionName]=perMessageDeflate}websocket.setSocket(socket,head2,{allowSynchronousEvents:opts.allowSynchronousEvents,generateMask:opts.generateMask,maxPayload:opts.maxPayload,skipUTF8Validation:opts.skipUTF8Validation})});if(opts.finishRequest){opts.finishRequest(req,websocket)}else{req.end()}}function emitErrorAndClose(websocket,err){websocket._readyState=WebSocket2.CLOSING;websocket.emit("error",err);websocket.emitClose()}function netConnect(options){options.path=options.socketPath;return net2.connect(options)}function tlsConnect(options){options.path=void 0;if(!options.servername&&options.servername!==""){options.servername=net2.isIP(options.host)?"":options.host}return tls.connect(options)}function abortHandshake(websocket,stream3,message3){websocket._readyState=WebSocket2.CLOSING;const err=new Error(message3);Error.captureStackTrace(err,abortHandshake);if(stream3.setHeader){stream3[kAborted]=true;stream3.abort();if(stream3.socket&&!stream3.socket.destroyed){stream3.socket.destroy()}process.nextTick(emitErrorAndClose,websocket,err)}else{stream3.destroy(err);stream3.once("error",websocket.emit.bind(websocket,"error"));stream3.once("close",websocket.emitClose.bind(websocket))}}function sendAfterClose(websocket,data,cb){if(data){const length=toBuffer(data).length;if(websocket._socket)websocket._sender._bufferedBytes+=length;else websocket._bufferedAmount+=length}if(cb){const err=new Error(`WebSocket is not open: readyState ${websocket.readyState} (${readyStates[websocket.readyState]})`);process.nextTick(cb,err)}}function receiverOnConclude(code,reason){const websocket=this[kWebSocket];websocket._closeFrameReceived=true;websocket._closeMessage=reason;websocket._closeCode=code;if(websocket._socket[kWebSocket]===void 0)return;websocket._socket.removeListener("data",socketOnData);process.nextTick(resume,websocket._socket);if(code===1005)websocket.close();else websocket.close(code,reason)}function receiverOnDrain(){const websocket=this[kWebSocket];if(!websocket.isPaused)websocket._socket.resume()}function receiverOnError(err){const websocket=this[kWebSocket];if(websocket._socket[kWebSocket]!==void 0){websocket._socket.removeListener("data",socketOnData);process.nextTick(resume,websocket._socket);websocket.close(err[kStatusCode])}websocket.emit("error",err)}function receiverOnFinish(){this[kWebSocket].emitClose()}function receiverOnMessage(data,isBinary2){this[kWebSocket].emit("message",data,isBinary2)}function receiverOnPing(data){const websocket=this[kWebSocket];if(websocket._autoPong)websocket.pong(data,!this._isServer,NOOP);websocket.emit("ping",data)}function receiverOnPong(data){this[kWebSocket].emit("pong",data)}function resume(stream3){stream3.resume()}function socketOnClose(){const websocket=this[kWebSocket];this.removeListener("close",socketOnClose);this.removeListener("data",socketOnData);this.removeListener("end",socketOnEnd);websocket._readyState=WebSocket2.CLOSING;let chunk2;if(!this._readableState.endEmitted&&!websocket._closeFrameReceived&&!websocket._receiver._writableState.errorEmitted&&(chunk2=websocket._socket.read())!==null){websocket._receiver.write(chunk2)}websocket._receiver.end();this[kWebSocket]=void 0;clearTimeout(websocket._closeTimer);if(websocket._receiver._writableState.finished||websocket._receiver._writableState.errorEmitted){websocket.emitClose()}else{websocket._receiver.on("error",receiverOnFinish);websocket._receiver.on("finish",receiverOnFinish)}}function socketOnData(chunk2){if(!this[kWebSocket]._receiver.write(chunk2)){this.pause()}}function socketOnEnd(){const websocket=this[kWebSocket];websocket._readyState=WebSocket2.CLOSING;websocket._receiver.end();this.end()}function socketOnError(){const websocket=this[kWebSocket];this.removeListener("error",socketOnError);this.on("error",NOOP);if(websocket){websocket._readyState=WebSocket2.CLOSING;this.destroy()}}}});var require_stream3=__commonJS({"node_modules/engine.io/node_modules/ws/lib/stream.js"(exports2,module2){"use strict";var{Duplex:Duplex2}=require("stream");function emitClose(stream3){stream3.emit("close")}function duplexOnEnd(){if(!this.destroyed&&this._writableState.finished){this.destroy()}}function duplexOnError(err){this.removeListener("error",duplexOnError);this.destroy();if(this.listenerCount("error")===0){this.emit("error",err)}}function createWebSocketStream(ws,options){let terminateOnDestroy=true;const duplex=new Duplex2({...options,autoDestroy:false,emitClose:false,objectMode:false,writableObjectMode:false});ws.on("message",function message3(msg,isBinary2){const data=!isBinary2&&duplex._readableState.objectMode?msg.toString():msg;if(!duplex.push(data))ws.pause()});ws.once("error",function error(err){if(duplex.destroyed)return;terminateOnDestroy=false;duplex.destroy(err)});ws.once("close",function close(){if(duplex.destroyed)return;duplex.push(null)});duplex._destroy=function(err,callback){if(ws.readyState===ws.CLOSED){callback(err);process.nextTick(emitClose,duplex);return}let called=false;ws.once("error",function error(err2){called=true;callback(err2)});ws.once("close",function close(){if(!called)callback(err);process.nextTick(emitClose,duplex)});if(terminateOnDestroy)ws.terminate()};duplex._final=function(callback){if(ws.readyState===ws.CONNECTING){ws.once("open",function open4(){duplex._final(callback)});return}if(ws._socket===null)return;if(ws._socket._writableState.finished){callback();if(duplex._readableState.endEmitted)duplex.destroy()}else{ws._socket.once("finish",function finish(){callback()});ws.close()}};duplex._read=function(){if(ws.isPaused)ws.resume()};duplex._write=function(chunk2,encoding,callback){if(ws.readyState===ws.CONNECTING){ws.once("open",function open4(){duplex._write(chunk2,encoding,callback)});return}ws.send(chunk2,callback)};duplex.on("end",duplexOnEnd);duplex.on("error",duplexOnError);return duplex}module2.exports=createWebSocketStream}});var require_subprotocol2=__commonJS({"node_modules/engine.io/node_modules/ws/lib/subprotocol.js"(exports2,module2){"use strict";var{tokenChars}=require_validation2();function parse3(header2){const protocols=new Set;let start=-1;let end=-1;let i=0;for(i;i<header2.length;i++){const code=header2.charCodeAt(i);if(end===-1&&tokenChars[code]===1){if(start===-1)start=i}else if(i!==0&&(code===32||code===9)){if(end===-1&&start!==-1)end=i}else if(code===44){if(start===-1){throw new SyntaxError(`Unexpected character at index ${i}`)}if(end===-1)end=i;const protocol2=header2.slice(start,end);if(protocols.has(protocol2)){throw new SyntaxError(`The "${protocol2}" subprotocol is duplicated`)}protocols.add(protocol2);start=end=-1}else{throw new SyntaxError(`Unexpected character at index ${i}`)}}if(start===-1||end!==-1){throw new SyntaxError("Unexpected end of input")}const protocol=header2.slice(start,i);if(protocols.has(protocol)){throw new SyntaxError(`The "${protocol}" subprotocol is duplicated`)}protocols.add(protocol);return protocols}module2.exports={parse:parse3}}});var require_websocket_server2=__commonJS({"node_modules/engine.io/node_modules/ws/lib/websocket-server.js"(exports2,module2){"use strict";var EventEmitter3=require("events");var http3=require("http");var{Duplex:Duplex2}=require("stream");var{createHash:createHash4}=require("crypto");var extension=require_extension2();var PerMessageDeflate=require_permessage_deflate2();var subprotocol=require_subprotocol2();var WebSocket2=require_websocket4();var{GUID,kWebSocket}=require_constants7();var keyRegex=/^[+/0-9A-Za-z]{22}==$/;var RUNNING=0;var CLOSING=1;var CLOSED=2;var WebSocketServer=class extends EventEmitter3{constructor(options,callback){super();options={allowSynchronousEvents:true,autoPong:true,maxPayload:100*1024*1024,skipUTF8Validation:false,perMessageDeflate:false,handleProtocols:null,clientTracking:true,verifyClient:null,noServer:false,backlog:null,server:null,host:null,path:null,port:null,WebSocket:WebSocket2,...options};if(options.port==null&&!options.server&&!options.noServer||options.port!=null&&(options.server||options.noServer)||options.server&&options.noServer){throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified')}if(options.port!=null){this._server=http3.createServer((req,res)=>{const body=http3.STATUS_CODES[426];res.writeHead(426,{"Content-Length":body.length,"Content-Type":"text/plain"});res.end(body)});this._server.listen(options.port,options.host,options.backlog,callback)}else if(options.server){this._server=options.server}if(this._server){const emitConnection=this.emit.bind(this,"connection");this._removeListeners=addListeners(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(req,socket,head2)=>{this.handleUpgrade(req,socket,head2,emitConnection)}})}if(options.perMessageDeflate===true)options.perMessageDeflate={};if(options.clientTracking){this.clients=new Set;this._shouldEmitClose=false}this.options=options;this._state=RUNNING}address(){if(this.options.noServer){throw new Error('The server is operating in "noServer" mode')}if(!this._server)return null;return this._server.address()}close(cb){if(this._state===CLOSED){if(cb){this.once("close",()=>{cb(new Error("The server is not running"))})}process.nextTick(emitClose,this);return}if(cb)this.once("close",cb);if(this._state===CLOSING)return;this._state=CLOSING;if(this.options.noServer||this.options.server){if(this._server){this._removeListeners();this._removeListeners=this._server=null}if(this.clients){if(!this.clients.size){process.nextTick(emitClose,this)}else{this._shouldEmitClose=true}}else{process.nextTick(emitClose,this)}}else{const server=this._server;this._removeListeners();this._removeListeners=this._server=null;server.close(()=>{emitClose(this)})}}shouldHandle(req){if(this.options.path){const index=req.url.indexOf("?");const pathname=index!==-1?req.url.slice(0,index):req.url;if(pathname!==this.options.path)return false}return true}handleUpgrade(req,socket,head2,cb){socket.on("error",socketOnError);const key=req.headers["sec-websocket-key"];const upgrade=req.headers.upgrade;const version=+req.headers["sec-websocket-version"];if(req.method!=="GET"){const message3="Invalid HTTP method";abortHandshakeOrEmitwsClientError(this,req,socket,405,message3);return}if(upgrade===void 0||upgrade.toLowerCase()!=="websocket"){const message3="Invalid Upgrade header";abortHandshakeOrEmitwsClientError(this,req,socket,400,message3);return}if(key===void 0||!keyRegex.test(key)){const message3="Missing or invalid Sec-WebSocket-Key header";abortHandshakeOrEmitwsClientError(this,req,socket,400,message3);return}if(version!==8&&version!==13){const message3="Missing or invalid Sec-WebSocket-Version header";abortHandshakeOrEmitwsClientError(this,req,socket,400,message3);return}if(!this.shouldHandle(req)){abortHandshake(socket,400);return}const secWebSocketProtocol=req.headers["sec-websocket-protocol"];let protocols=new Set;if(secWebSocketProtocol!==void 0){try{protocols=subprotocol.parse(secWebSocketProtocol)}catch(err){const message3="Invalid Sec-WebSocket-Protocol header";abortHandshakeOrEmitwsClientError(this,req,socket,400,message3);return}}const secWebSocketExtensions=req.headers["sec-websocket-extensions"];const extensions2={};if(this.options.perMessageDeflate&&secWebSocketExtensions!==void 0){const perMessageDeflate=new PerMessageDeflate(this.options.perMessageDeflate,true,this.options.maxPayload);try{const offers=extension.parse(secWebSocketExtensions);if(offers[PerMessageDeflate.extensionName]){perMessageDeflate.accept(offers[PerMessageDeflate.extensionName]);extensions2[PerMessageDeflate.extensionName]=perMessageDeflate}}catch(err){const message3="Invalid or unacceptable Sec-WebSocket-Extensions header";abortHandshakeOrEmitwsClientError(this,req,socket,400,message3);return}}if(this.options.verifyClient){const info={origin:req.headers[`${version===8?"sec-websocket-origin":"origin"}`],secure:!!(req.socket.authorized||req.socket.encrypted),req};if(this.options.verifyClient.length===2){this.options.verifyClient(info,(verified,code,message3,headers)=>{if(!verified){return abortHandshake(socket,code||401,message3,headers)}this.completeUpgrade(extensions2,key,protocols,req,socket,head2,cb)});return}if(!this.options.verifyClient(info))return abortHandshake(socket,401)}this.completeUpgrade(extensions2,key,protocols,req,socket,head2,cb)}completeUpgrade(extensions2,key,protocols,req,socket,head2,cb){if(!socket.readable||!socket.writable)return socket.destroy();if(socket[kWebSocket]){throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration")}if(this._state>RUNNING)return abortHandshake(socket,503);const digest2=createHash4("sha1").update(key+GUID).digest("base64");const headers=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${digest2}`];const ws=new this.options.WebSocket(null,void 0,this.options);if(protocols.size){const protocol=this.options.handleProtocols?this.options.handleProtocols(protocols,req):protocols.values().next().value;if(protocol){headers.push(`Sec-WebSocket-Protocol: ${protocol}`);ws._protocol=protocol}}if(extensions2[PerMessageDeflate.extensionName]){const params=extensions2[PerMessageDeflate.extensionName].params;const value=extension.format({[PerMessageDeflate.extensionName]:[params]});headers.push(`Sec-WebSocket-Extensions: ${value}`);ws._extensions=extensions2}this.emit("headers",headers,req);socket.write(headers.concat("\r\n").join("\r\n"));socket.removeListener("error",socketOnError);ws.setSocket(socket,head2,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation});if(this.clients){this.clients.add(ws);ws.on("close",()=>{this.clients.delete(ws);if(this._shouldEmitClose&&!this.clients.size){process.nextTick(emitClose,this)}})}cb(ws,req)}};module2.exports=WebSocketServer;function addListeners(server,map3){for(const event of Object.keys(map3))server.on(event,map3[event]);return function removeListeners(){for(const event of Object.keys(map3)){server.removeListener(event,map3[event])}}}function emitClose(server){server._state=CLOSED;server.emit("close")}function socketOnError(){this.destroy()}function abortHandshake(socket,code,message3,headers){message3=message3||http3.STATUS_CODES[code];headers={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(message3),...headers};socket.once("finish",socket.destroy);socket.end(`HTTP/1.1 ${code} ${http3.STATUS_CODES[code]}\r
`+Object.keys(headers).map(h=>`${h}: ${headers[h]}`).join("\r\n")+"\r\n\r\n"+message3)}function abortHandshakeOrEmitwsClientError(server,req,socket,code,message3){if(server.listenerCount("wsClientError")){const err=new Error(message3);Error.captureStackTrace(err,abortHandshakeOrEmitwsClientError);server.emit("wsClientError",err,socket,req)}else{abortHandshake(socket,code,message3)}}}});var require_ws2=__commonJS({"node_modules/engine.io/node_modules/ws/index.js"(exports2,module2){"use strict";var WebSocket2=require_websocket4();WebSocket2.createWebSocketStream=require_stream3();WebSocket2.Server=require_websocket_server2();WebSocket2.Receiver=require_receiver3();WebSocket2.Sender=require_sender2();WebSocket2.WebSocket=WebSocket2;WebSocket2.WebSocketServer=WebSocket2.Server;module2.exports=WebSocket2}});var require_object_assign=__commonJS({"node_modules/object-assign/index.js"(exports2,module2){"use strict";var getOwnPropertySymbols=Object.getOwnPropertySymbols;var hasOwnProperty26=Object.prototype.hasOwnProperty;var propIsEnumerable=Object.prototype.propertyIsEnumerable;function toObject(val){if(val===null||val===void 0){throw new TypeError("Object.assign cannot be called with null or undefined")}return Object(val)}function shouldUseNative(){try{if(!Object.assign){return false}var test1=new String("abc");test1[5]="de";if(Object.getOwnPropertyNames(test1)[0]==="5"){return false}var test2={};for(var i=0;i<10;i++){test2["_"+String.fromCharCode(i)]=i}var order2=Object.getOwnPropertyNames(test2).map(function(n){return test2[n]});if(order2.join("")!=="0123456789"){return false}var test3={};"abcdefghijklmnopqrst".split("").forEach(function(letter){test3[letter]=letter});if(Object.keys(Object.assign({},test3)).join("")!=="abcdefghijklmnopqrst"){return false}return true}catch(err){return false}}module2.exports=shouldUseNative()?Object.assign:function(target,source){var from;var to=toObject(target);var symbols;for(var s=1;s<arguments.length;s++){from=Object(arguments[s]);for(var key in from){if(hasOwnProperty26.call(from,key)){to[key]=from[key]}}if(getOwnPropertySymbols){symbols=getOwnPropertySymbols(from);for(var i=0;i<symbols.length;i++){if(propIsEnumerable.call(from,symbols[i])){to[symbols[i]]=from[symbols[i]]}}}}return to}}});var require_lib12=__commonJS({"node_modules/cors/lib/index.js"(exports2,module2){(function(){"use strict";var assign2=require_object_assign();var vary=require_vary();var defaults3={origin:"*",methods:"GET,HEAD,PUT,PATCH,POST,DELETE",preflightContinue:false,optionsSuccessStatus:204};function isString4(s){return typeof s==="string"||s instanceof String}function isOriginAllowed(origin,allowedOrigin){if(Array.isArray(allowedOrigin)){for(var i=0;i<allowedOrigin.length;++i){if(isOriginAllowed(origin,allowedOrigin[i])){return true}}return false}else if(isString4(allowedOrigin)){return origin===allowedOrigin}else if(allowedOrigin instanceof RegExp){return allowedOrigin.test(origin)}else{return!!allowedOrigin}}function configureOrigin(options,req){var requestOrigin=req.headers.origin,headers=[],isAllowed;if(!options.origin||options.origin==="*"){headers.push([{key:"Access-Control-Allow-Origin",value:"*"}])}else if(isString4(options.origin)){headers.push([{key:"Access-Control-Allow-Origin",value:options.origin}]);headers.push([{key:"Vary",value:"Origin"}])}else{isAllowed=isOriginAllowed(requestOrigin,options.origin);headers.push([{key:"Access-Control-Allow-Origin",value:isAllowed?requestOrigin:false}]);headers.push([{key:"Vary",value:"Origin"}])}return headers}function configureMethods(options){var methods=options.methods;if(methods.join){methods=options.methods.join(",")}return{key:"Access-Control-Allow-Methods",value:methods}}function configureCredentials(options){if(options.credentials===true){return{key:"Access-Control-Allow-Credentials",value:"true"}}return null}function configureAllowedHeaders(options,req){var allowedHeaders=options.allowedHeaders||options.headers;var headers=[];if(!allowedHeaders){allowedHeaders=req.headers["access-control-request-headers"];headers.push([{key:"Vary",value:"Access-Control-Request-Headers"}])}else if(allowedHeaders.join){allowedHeaders=allowedHeaders.join(",")}if(allowedHeaders&&allowedHeaders.length){headers.push([{key:"Access-Control-Allow-Headers",value:allowedHeaders}])}return headers}function configureExposedHeaders(options){var headers=options.exposedHeaders;if(!headers){return null}else if(headers.join){headers=headers.join(",")}if(headers&&headers.length){return{key:"Access-Control-Expose-Headers",value:headers}}return null}function configureMaxAge(options){var maxAge=(typeof options.maxAge==="number"||options.maxAge)&&options.maxAge.toString();if(maxAge&&maxAge.length){return{key:"Access-Control-Max-Age",value:maxAge}}return null}function applyHeaders(headers,res){for(var i=0,n=headers.length;i<n;i++){var header2=headers[i];if(header2){if(Array.isArray(header2)){applyHeaders(header2,res)}else if(header2.key==="Vary"&&header2.value){vary(res,header2.value)}else if(header2.value){res.setHeader(header2.key,header2.value)}}}}function cors(options,req,res,next){var headers=[],method2=req.method&&req.method.toUpperCase&&req.method.toUpperCase();if(method2==="OPTIONS"){headers.push(configureOrigin(options,req));headers.push(configureCredentials(options,req));headers.push(configureMethods(options,req));headers.push(configureAllowedHeaders(options,req));headers.push(configureMaxAge(options,req));headers.push(configureExposedHeaders(options,req));applyHeaders(headers,res);if(options.preflightContinue){next()}else{res.statusCode=options.optionsSuccessStatus;res.setHeader("Content-Length","0");res.end()}}else{headers.push(configureOrigin(options,req));headers.push(configureCredentials(options,req));headers.push(configureExposedHeaders(options,req));applyHeaders(headers,res);next()}}function middlewareWrapper(o){var optionsCallback=null;if(typeof o==="function"){optionsCallback=o}else{optionsCallback=function(req,cb){cb(null,o)}}return function corsMiddleware(req,res,next){optionsCallback(req,function(err,options){if(err){next(err)}else{var corsOptions=assign2({},defaults3,options);var originCallback=null;if(corsOptions.origin&&typeof corsOptions.origin==="function"){originCallback=corsOptions.origin}else if(corsOptions.origin){originCallback=function(origin,cb){cb(null,corsOptions.origin)}}if(originCallback){originCallback(req.headers.origin,function(err2,origin){if(err2||!origin){next(err2)}else{corsOptions.origin=origin;cors(corsOptions,req,res,next)}})}else{next()}}})}}module2.exports=middlewareWrapper})()}});var require_server=__commonJS({"node_modules/engine.io/build/server.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.Server=exports2.BaseServer=void 0;var qs=require("querystring");var url_1=require("url");var base64id=require_base64id();var transports_1=require_transports();var events_1=require("events");var socket_1=require_socket();var debug_1=require_src4();var cookie_1=require_cookie();var ws_1=require_ws2();var webtransport_1=require_webtransport();var engine_io_parser_1=require_cjs6();var debug=(0,debug_1.default)("engine");var kResponseHeaders=Symbol("responseHeaders");function parseSessionId(data){try{const parsed=JSON.parse(data);if(typeof parsed.sid==="string"){return parsed.sid}}catch(e){}}var BaseServer=class extends events_1.EventEmitter{constructor(opts={}){super();this.middlewares=[];this.clients={};this.clientsCount=0;this.opts=Object.assign({wsEngine:ws_1.Server,pingTimeout:2e4,pingInterval:25e3,upgradeTimeout:1e4,maxHttpBufferSize:1e6,transports:["polling","websocket"],allowUpgrades:true,httpCompression:{threshold:1024},cors:false,allowEIO3:false},opts);if(opts.cookie){this.opts.cookie=Object.assign({name:"io",path:"/",httpOnly:opts.cookie.path!==false,sameSite:"lax"},opts.cookie)}if(this.opts.cors){this.use(require_lib12()(this.opts.cors))}if(opts.perMessageDeflate){this.opts.perMessageDeflate=Object.assign({threshold:1024},opts.perMessageDeflate)}this.init()}_computePath(options){let path27=(options.path||"/engine.io").replace(/\/$/,"");if(options.addTrailingSlash!==false){path27+="/"}return path27}upgrades(transport){if(!this.opts.allowUpgrades)return[];return transports_1.default[transport].upgradesTo||[]}verify(req,upgrade,fn2){const transport=req._query.transport;if(!~this.opts.transports.indexOf(transport)||transport==="webtransport"){debug('unknown transport "%s"',transport);return fn2(Server2.errors.UNKNOWN_TRANSPORT,{transport})}const isOriginInvalid=checkInvalidHeaderChar(req.headers.origin);if(isOriginInvalid){const origin=req.headers.origin;req.headers.origin=null;debug("origin header invalid");return fn2(Server2.errors.BAD_REQUEST,{name:"INVALID_ORIGIN",origin})}const sid=req._query.sid;if(sid){if(!this.clients.hasOwnProperty(sid)){debug('unknown sid "%s"',sid);return fn2(Server2.errors.UNKNOWN_SID,{sid})}const previousTransport=this.clients[sid].transport.name;if(!upgrade&&previousTransport!==transport){debug("bad request: unexpected transport without upgrade");return fn2(Server2.errors.BAD_REQUEST,{name:"TRANSPORT_MISMATCH",transport,previousTransport})}}else{if("GET"!==req.method){return fn2(Server2.errors.BAD_HANDSHAKE_METHOD,{method:req.method})}if(transport==="websocket"&&!upgrade){debug("invalid transport upgrade");return fn2(Server2.errors.BAD_REQUEST,{name:"TRANSPORT_HANDSHAKE_ERROR"})}if(!this.opts.allowRequest)return fn2();return this.opts.allowRequest(req,(message3,success)=>{if(!success){return fn2(Server2.errors.FORBIDDEN,{message:message3})}fn2()})}fn2()}use(fn2){this.middlewares.push(fn2)}_applyMiddlewares(req,res,callback){if(this.middlewares.length===0){debug("no middleware to apply, skipping");return callback()}const apply2=i=>{debug("applying middleware n°%d",i+1);this.middlewares[i](req,res,err=>{if(err){return callback(err)}if(i+1<this.middlewares.length){apply2(i+1)}else{callback()}})};apply2(0)}close(){debug("closing all open clients");for(let i in this.clients){if(this.clients.hasOwnProperty(i)){this.clients[i].close(true)}}this.cleanup();return this}generateId(req){return base64id.generateId()}async handshake(transportName,req,closeConnection){const protocol=req._query.EIO==="4"?4:3;if(protocol===3&&!this.opts.allowEIO3){debug("unsupported protocol version");this.emit("connection_error",{req,code:Server2.errors.UNSUPPORTED_PROTOCOL_VERSION,message:Server2.errorMessages[Server2.errors.UNSUPPORTED_PROTOCOL_VERSION],context:{protocol}});closeConnection(Server2.errors.UNSUPPORTED_PROTOCOL_VERSION);return}let id;try{id=await this.generateId(req)}catch(e){debug("error while generating an id");this.emit("connection_error",{req,code:Server2.errors.BAD_REQUEST,message:Server2.errorMessages[Server2.errors.BAD_REQUEST],context:{name:"ID_GENERATION_ERROR",error:e}});closeConnection(Server2.errors.BAD_REQUEST);return}debug('handshaking client "%s"',id);try{var transport=this.createTransport(transportName,req);if("polling"===transportName){transport.maxHttpBufferSize=this.opts.maxHttpBufferSize;transport.httpCompression=this.opts.httpCompression}else if("websocket"===transportName){transport.perMessageDeflate=this.opts.perMessageDeflate}}catch(e){debug('error handshaking to transport "%s"',transportName);this.emit("connection_error",{req,code:Server2.errors.BAD_REQUEST,message:Server2.errorMessages[Server2.errors.BAD_REQUEST],context:{name:"TRANSPORT_HANDSHAKE_ERROR",error:e}});closeConnection(Server2.errors.BAD_REQUEST);return}const socket=new socket_1.Socket(id,this,transport,req,protocol);transport.on("headers",(headers,req2)=>{const isInitialRequest=!req2._query.sid;if(isInitialRequest){if(this.opts.cookie){headers["Set-Cookie"]=[(0,cookie_1.serialize)(this.opts.cookie.name,id,this.opts.cookie)]}this.emit("initial_headers",headers,req2)}this.emit("headers",headers,req2)});transport.onRequest(req);this.clients[id]=socket;this.clientsCount++;socket.once("close",()=>{delete this.clients[id];this.clientsCount--});this.emit("connection",socket);return transport}async onWebTransportSession(session){const timeout=setTimeout(()=>{debug("the client failed to establish a bidirectional stream in the given period");session.close()},this.opts.upgradeTimeout);const streamReader=session.incomingBidirectionalStreams.getReader();const result2=await streamReader.read();if(result2.done){debug("session is closed");return}const stream3=result2.value;const transformStream=(0,engine_io_parser_1.createPacketDecoderStream)(this.opts.maxHttpBufferSize,"nodebuffer");const reader=stream3.readable.pipeThrough(transformStream).getReader();const{value,done}=await reader.read();if(done){debug("stream is closed");return}clearTimeout(timeout);if(value.type!=="open"){debug("invalid WebTransport handshake");return session.close()}if(value.data===void 0){const transport=new webtransport_1.WebTransport(session,stream3,reader);const id=base64id.generateId();debug('handshaking client "%s" (WebTransport)',id);const socket=new socket_1.Socket(id,this,transport,null,4);this.clients[id]=socket;this.clientsCount++;socket.once("close",()=>{delete this.clients[id];this.clientsCount--});this.emit("connection",socket);return}const sid=parseSessionId(value.data);if(!sid){debug("invalid WebTransport handshake");return session.close()}const client=this.clients[sid];if(!client){debug("upgrade attempt for closed client");session.close()}else if(client.upgrading){debug("transport has already been trying to upgrade");session.close()}else if(client.upgraded){debug("transport had already been upgraded");session.close()}else{debug("upgrading existing transport");const transport=new webtransport_1.WebTransport(session,stream3,reader);client._maybeUpgrade(transport)}}};exports2.BaseServer=BaseServer;BaseServer.errors={UNKNOWN_TRANSPORT:0,UNKNOWN_SID:1,BAD_HANDSHAKE_METHOD:2,BAD_REQUEST:3,FORBIDDEN:4,UNSUPPORTED_PROTOCOL_VERSION:5};BaseServer.errorMessages={0:"Transport unknown",1:"Session ID unknown",2:"Bad handshake method",3:"Bad request",4:"Forbidden",5:"Unsupported protocol version"};var WebSocketResponse=class{constructor(req,socket){this.req=req;this.socket=socket;req[kResponseHeaders]={}}setHeader(name,value){this.req[kResponseHeaders][name]=value}getHeader(name){return this.req[kResponseHeaders][name]}removeHeader(name){delete this.req[kResponseHeaders][name]}write(){}writeHead(){}end(){this.socket.destroy()}};var Server2=class _Server extends BaseServer{init(){if(!~this.opts.transports.indexOf("websocket"))return;if(this.ws)this.ws.close();this.ws=new this.opts.wsEngine({noServer:true,clientTracking:false,perMessageDeflate:this.opts.perMessageDeflate,maxPayload:this.opts.maxHttpBufferSize});if(typeof this.ws.on==="function"){this.ws.on("headers",(headersArray,req)=>{const additionalHeaders=req[kResponseHeaders]||{};delete req[kResponseHeaders];const isInitialRequest=!req._query.sid;if(isInitialRequest){this.emit("initial_headers",additionalHeaders,req)}this.emit("headers",additionalHeaders,req);debug("writing headers: %j",additionalHeaders);Object.keys(additionalHeaders).forEach(key=>{headersArray.push(`${key}: ${additionalHeaders[key]}`)})})}}cleanup(){if(this.ws){debug("closing webSocketServer");this.ws.close()}}prepare(req){if(!req._query){req._query=~req.url.indexOf("?")?qs.parse((0,url_1.parse)(req.url).query):{}}}createTransport(transportName,req){return new transports_1.default[transportName](req)}handleRequest(req,res){debug('handling "%s" http request "%s"',req.method,req.url);this.prepare(req);req.res=res;const callback=(errorCode,errorContext)=>{if(errorCode!==void 0){this.emit("connection_error",{req,code:errorCode,message:_Server.errorMessages[errorCode],context:errorContext});abortRequest(res,errorCode,errorContext);return}if(req._query.sid){debug("setting new request for existing client");this.clients[req._query.sid].transport.onRequest(req)}else{const closeConnection=(errorCode2,errorContext2)=>abortRequest(res,errorCode2,errorContext2);this.handshake(req._query.transport,req,closeConnection)}};this._applyMiddlewares(req,res,err=>{if(err){callback(_Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"})}else{this.verify(req,false,callback)}})}handleUpgrade(req,socket,upgradeHead){this.prepare(req);const res=new WebSocketResponse(req,socket);const callback=(errorCode,errorContext)=>{if(errorCode!==void 0){this.emit("connection_error",{req,code:errorCode,message:_Server.errorMessages[errorCode],context:errorContext});abortUpgrade(socket,errorCode,errorContext);return}const head2=Buffer.from(upgradeHead);upgradeHead=null;res.writeHead();this.ws.handleUpgrade(req,socket,head2,websocket=>{this.onWebSocket(req,socket,websocket)})};this._applyMiddlewares(req,res,err=>{if(err){callback(_Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"})}else{this.verify(req,true,callback)}})}onWebSocket(req,socket,websocket){websocket.on("error",onUpgradeError);if(transports_1.default[req._query.transport]!==void 0&&!transports_1.default[req._query.transport].prototype.handlesUpgrades){debug("transport doesnt handle upgraded requests");websocket.close();return}const id=req._query.sid;req.websocket=websocket;if(id){const client=this.clients[id];if(!client){debug("upgrade attempt for closed client");websocket.close()}else if(client.upgrading){debug("transport has already been trying to upgrade");websocket.close()}else if(client.upgraded){debug("transport had already been upgraded");websocket.close()}else{debug("upgrading existing transport");websocket.removeListener("error",onUpgradeError);const transport=this.createTransport(req._query.transport,req);transport.perMessageDeflate=this.opts.perMessageDeflate;client._maybeUpgrade(transport)}}else{const closeConnection=(errorCode,errorContext)=>abortUpgrade(socket,errorCode,errorContext);this.handshake(req._query.transport,req,closeConnection)}function onUpgradeError(){debug("websocket error before upgrade")}}attach(server,options={}){const path27=this._computePath(options);const destroyUpgradeTimeout=options.destroyUpgradeTimeout||1e3;function check(req){return path27===req.url.slice(0,path27.length)}const listeners=server.listeners("request").slice(0);server.removeAllListeners("request");server.on("close",this.close.bind(this));server.on("listening",this.init.bind(this));server.on("request",(req,res)=>{if(check(req)){debug('intercepting request for path "%s"',path27);this.handleRequest(req,res)}else{let i=0;const l=listeners.length;for(;i<l;i++){listeners[i].call(server,req,res)}}});if(~this.opts.transports.indexOf("websocket")){server.on("upgrade",(req,socket,head2)=>{if(check(req)){this.handleUpgrade(req,socket,head2)}else if(false!==options.destroyUpgrade){setTimeout(function(){if(socket.writable&&socket.bytesWritten<=0){socket.on("error",e=>{debug("error while destroying upgrade: %s",e.message)});return socket.end()}},destroyUpgradeTimeout)}})}}};exports2.Server=Server2;function abortRequest(res,errorCode,errorContext){const statusCode=errorCode===Server2.errors.FORBIDDEN?403:400;const message3=errorContext&&errorContext.message?errorContext.message:Server2.errorMessages[errorCode];res.writeHead(statusCode,{"Content-Type":"application/json"});res.end(JSON.stringify({code:errorCode,message:message3}))}function abortUpgrade(socket,errorCode,errorContext={}){socket.on("error",()=>{debug("ignoring error from closed connection")});if(socket.writable){const message3=errorContext.message||Server2.errorMessages[errorCode];const length=Buffer.byteLength(message3);socket.write("HTTP/1.1 400 Bad Request\r\nConnection: close\r\nContent-type: text/html\r\nContent-Length: "+length+"\r\n\r\n"+message3)}socket.destroy()}var validHdrChars=[0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];function checkInvalidHeaderChar(val){val+="";if(val.length<1)return false;if(!validHdrChars[val.charCodeAt(0)]){debug('invalid header, index 0, char "%s"',val.charCodeAt(0));return true}if(val.length<2)return false;if(!validHdrChars[val.charCodeAt(1)]){debug('invalid header, index 1, char "%s"',val.charCodeAt(1));return true}if(val.length<3)return false;if(!validHdrChars[val.charCodeAt(2)]){debug('invalid header, index 2, char "%s"',val.charCodeAt(2));return true}if(val.length<4)return false;if(!validHdrChars[val.charCodeAt(3)]){debug('invalid header, index 3, char "%s"',val.charCodeAt(3));return true}for(let i=4;i<val.length;++i){if(!validHdrChars[val.charCodeAt(i)]){debug('invalid header, index "%i", char "%s"',i,val.charCodeAt(i));return true}}return false}}});var require_polling2=__commonJS({"node_modules/engine.io/build/transports-uws/polling.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.Polling=void 0;var transport_1=require_transport();var zlib_1=require("zlib");var accepts=require_accepts();var debug_1=require_src4();var debug=(0,debug_1.default)("engine:polling");var compressionMethods={gzip:zlib_1.createGzip,deflate:zlib_1.createDeflate};var Polling=class extends transport_1.Transport{constructor(req){super(req);this.closeTimeout=30*1e3}get name(){return"polling"}onRequest(req){const res=req.res;req.res=null;if(req.getMethod()==="get"){this.onPollRequest(req,res)}else if(req.getMethod()==="post"){this.onDataRequest(req,res)}else{res.writeStatus("500 Internal Server Error");res.end()}}onPollRequest(req,res){if(this.req){debug("request overlap");this.onError("overlap from client");res.writeStatus("500 Internal Server Error");res.end();return}debug("setting request");this.req=req;this.res=res;const onClose=()=>{this.writable=false;this.onError("poll connection closed prematurely")};const cleanup=()=>{this.req=this.res=null};req.cleanup=cleanup;res.onAborted(onClose);this.writable=true;this.emit("ready");if(this.writable&&this.shouldClose){debug("triggering empty send to append close packet");this.send([{type:"noop"}])}}onDataRequest(req,res){if(this.dataReq){this.onError("data request overlap from client");res.writeStatus("500 Internal Server Error");res.end();return}const expectedContentLength=Number(req.headers["content-length"]);if(!expectedContentLength){this.onError("content-length header required");res.writeStatus("411 Length Required").end();return}if(expectedContentLength>this.maxHttpBufferSize){this.onError("payload too large");res.writeStatus("413 Payload Too Large").end();return}const isBinary2="application/octet-stream"===req.headers["content-type"];if(isBinary2&&this.protocol===4){return this.onError("invalid content")}this.dataReq=req;this.dataRes=res;let buffer;let offset=0;const headers={"Content-Type":"text/html"};this.headers(req,headers);for(let key in headers){res.writeHeader(key,String(headers[key]))}const onEnd=buffer2=>{this.onData(buffer2.toString());this.onDataRequestCleanup();res.cork(()=>{res.end("ok")})};res.onAborted(()=>{this.onDataRequestCleanup();this.onError("data request connection closed prematurely")});res.onData((arrayBuffer,isLast)=>{const totalLength=offset+arrayBuffer.byteLength;if(totalLength>expectedContentLength){this.onError("content-length mismatch");res.close();return}if(!buffer){if(isLast){onEnd(Buffer.from(arrayBuffer));return}buffer=Buffer.allocUnsafe(expectedContentLength)}Buffer.from(arrayBuffer).copy(buffer,offset);if(isLast){if(totalLength!=expectedContentLength){this.onError("content-length mismatch");res.writeStatus("400 Content-Length Mismatch").end();this.onDataRequestCleanup();return}onEnd(buffer);return}offset=totalLength})}onDataRequestCleanup(){this.dataReq=this.dataRes=null}onData(data){debug('received "%s"',data);const callback=packet=>{if("close"===packet.type){debug("got xhr close packet");this.onClose();return false}this.onPacket(packet)};if(this.protocol===3){this.parser.decodePayload(data,callback)}else{this.parser.decodePayload(data).forEach(callback)}}onClose(){if(this.writable){this.send([{type:"noop"}])}super.onClose()}send(packets){this.writable=false;if(this.shouldClose){debug("appending close packet to payload");packets.push({type:"close"});this.shouldClose();this.shouldClose=null}const doWrite=data=>{const compress=packets.some(packet=>{return packet.options&&packet.options.compress});this.write(data,{compress})};if(this.protocol===3){this.parser.encodePayload(packets,this.supportsBinary,doWrite)}else{this.parser.encodePayload(packets,doWrite)}}write(data,options){debug('writing "%s"',data);this.doWrite(data,options,()=>{this.req.cleanup();this.emit("drain")})}doWrite(data,options,callback){const isString4=typeof data==="string";const contentType=isString4?"text/plain; charset=UTF-8":"application/octet-stream";const headers={"Content-Type":contentType};const respond=data2=>{this.headers(this.req,headers);this.res.cork(()=>{Object.keys(headers).forEach(key=>{this.res.writeHeader(key,String(headers[key]))});this.res.end(data2)});callback()};if(!this.httpCompression||!options.compress){respond(data);return}const len=isString4?Buffer.byteLength(data):data.length;if(len<this.httpCompression.threshold){respond(data);return}const encoding=accepts(this.req).encodings(["gzip","deflate"]);if(!encoding){respond(data);return}this.compress(data,encoding,(err,data2)=>{if(err){this.res.writeStatus("500 Internal Server Error");this.res.end();callback(err);return}headers["Content-Encoding"]=encoding;respond(data2)})}compress(data,encoding,callback){debug("compressing");const buffers=[];let nread=0;compressionMethods[encoding](this.httpCompression).on("error",callback).on("data",function(chunk2){buffers.push(chunk2);nread+=chunk2.length}).on("end",function(){callback(null,Buffer.concat(buffers,nread))}).end(data)}doClose(fn2){debug("closing");let closeTimeoutTimer;const onClose=()=>{clearTimeout(closeTimeoutTimer);fn2();this.onClose()};if(this.writable){debug("transport writable - closing right away");this.send([{type:"close"}]);onClose()}else if(this.discarded){debug("transport discarded - closing right away");onClose()}else{debug("transport not writable - buffering orderly close");this.shouldClose=onClose;closeTimeoutTimer=setTimeout(onClose,this.closeTimeout)}}headers(req,headers){headers=headers||{};const ua=req.headers["user-agent"];if(ua&&(~ua.indexOf(";MSIE")||~ua.indexOf("Trident/"))){headers["X-XSS-Protection"]="0"}headers["cache-control"]="no-store";this.emit("headers",headers,req);return headers}};exports2.Polling=Polling}});var require_websocket5=__commonJS({"node_modules/engine.io/build/transports-uws/websocket.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.WebSocket=void 0;var transport_1=require_transport();var debug_1=require_src4();var debug=(0,debug_1.default)("engine:ws");var WebSocket2=class extends transport_1.Transport{constructor(req){super(req);this.writable=false;this.perMessageDeflate=null}get name(){return"websocket"}get handlesUpgrades(){return true}send(packets){this.writable=false;for(let i=0;i<packets.length;i++){const packet=packets[i];const isLast=i+1===packets.length;const send=data=>{const isBinary2=typeof data!=="string";const compress=this.perMessageDeflate&&Buffer.byteLength(data)>this.perMessageDeflate.threshold;debug('writing "%s"',data);this.socket.send(data,isBinary2,compress);if(isLast){this.emit("drain");this.writable=true;this.emit("ready")}};if(packet.options&&typeof packet.options.wsPreEncoded==="string"){send(packet.options.wsPreEncoded)}else{this.parser.encodePacket(packet,this.supportsBinary,send)}}}doClose(fn2){debug("closing");fn2&&fn2();this.socket.end()}};exports2.WebSocket=WebSocket2}});var require_transports_uws=__commonJS({"node_modules/engine.io/build/transports-uws/index.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});var polling_1=require_polling2();var websocket_1=require_websocket5();exports2.default={polling:polling_1.Polling,websocket:websocket_1.WebSocket}}});var require_userver=__commonJS({"node_modules/engine.io/build/userver.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.uServer=void 0;var debug_1=require_src4();var server_1=require_server();var transports_uws_1=require_transports_uws();var debug=(0,debug_1.default)("engine:uws");var uServer=class extends server_1.BaseServer{init(){}cleanup(){}prepare(req,res){req.method=req.getMethod().toUpperCase();req.url=req.getUrl();const params=new URLSearchParams(req.getQuery());req._query=Object.fromEntries(params.entries());req.headers={};req.forEach((key,value)=>{req.headers[key]=value});req.connection={remoteAddress:Buffer.from(res.getRemoteAddressAsText()).toString()};res.onAborted(()=>{debug("response has been aborted")})}createTransport(transportName,req){return new transports_uws_1.default[transportName](req)}attach(app,options={}){const path27=this._computePath(options);app.any(path27,this.handleRequest.bind(this)).ws(path27,{compression:options.compression,idleTimeout:options.idleTimeout,maxBackpressure:options.maxBackpressure,maxPayloadLength:this.opts.maxHttpBufferSize,upgrade:this.handleUpgrade.bind(this),open:ws=>{const transport=ws.getUserData().transport;transport.socket=ws;transport.writable=true;transport.emit("ready")},message:(ws,message3,isBinary2)=>{ws.getUserData().transport.onData(isBinary2?message3:Buffer.from(message3).toString())},close:(ws,code,message3)=>{ws.getUserData().transport.onClose(code,message3)}})}_applyMiddlewares(req,res,callback){if(this.middlewares.length===0){return callback()}req.res=new ResponseWrapper(res);super._applyMiddlewares(req,req.res,err=>{req.res.writeHead();callback(err)})}handleRequest(res,req){debug('handling "%s" http request "%s"',req.getMethod(),req.getUrl());this.prepare(req,res);req.res=res;const callback=(errorCode,errorContext)=>{if(errorCode!==void 0){this.emit("connection_error",{req,code:errorCode,message:server_1.Server.errorMessages[errorCode],context:errorContext});this.abortRequest(req.res,errorCode,errorContext);return}if(req._query.sid){debug("setting new request for existing client");this.clients[req._query.sid].transport.onRequest(req)}else{const closeConnection=(errorCode2,errorContext2)=>this.abortRequest(res,errorCode2,errorContext2);this.handshake(req._query.transport,req,closeConnection)}};this._applyMiddlewares(req,res,err=>{if(err){callback(server_1.Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"})}else{this.verify(req,false,callback)}})}handleUpgrade(res,req,context){debug("on upgrade");this.prepare(req,res);req.res=res;const callback=async(errorCode,errorContext)=>{if(errorCode!==void 0){this.emit("connection_error",{req,code:errorCode,message:server_1.Server.errorMessages[errorCode],context:errorContext});this.abortRequest(res,errorCode,errorContext);return}const id=req._query.sid;let transport;if(id){const client=this.clients[id];if(!client){debug("upgrade attempt for closed client");return res.close()}else if(client.upgrading){debug("transport has already been trying to upgrade");return res.close()}else if(client.upgraded){debug("transport had already been upgraded");return res.close()}else{debug("upgrading existing transport");transport=this.createTransport(req._query.transport,req);client._maybeUpgrade(transport)}}else{transport=await this.handshake(req._query.transport,req,(errorCode2,errorContext2)=>this.abortRequest(res,errorCode2,errorContext2));if(!transport){return}}req.res.writeStatus("101 Switching Protocols");res.upgrade({transport},req.getHeader("sec-websocket-key"),req.getHeader("sec-websocket-protocol"),req.getHeader("sec-websocket-extensions"),context)};this._applyMiddlewares(req,res,err=>{if(err){callback(server_1.Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"})}else{this.verify(req,true,callback)}})}abortRequest(res,errorCode,errorContext){const statusCode=errorCode===server_1.Server.errors.FORBIDDEN?"403 Forbidden":"400 Bad Request";const message3=errorContext&&errorContext.message?errorContext.message:server_1.Server.errorMessages[errorCode];res.writeStatus(statusCode);res.writeHeader("Content-Type","application/json");res.end(JSON.stringify({code:errorCode,message:message3}))}};exports2.uServer=uServer;var ResponseWrapper=class{constructor(res){this.res=res;this.statusWritten=false;this.headers=[];this.isAborted=false}set statusCode(status){if(!status){return}this.writeStatus(status===200?"200 OK":"204 No Content")}writeHead(status){this.statusCode=status}setHeader(key,value){if(Array.isArray(value)){value.forEach(val=>{this.writeHeader(key,val)})}else{this.writeHeader(key,value)}}removeHeader(){}getHeader(){}writeStatus(status){if(this.isAborted)return;this.res.writeStatus(status);this.statusWritten=true;this.writeBufferedHeaders();return this}writeHeader(key,value){if(this.isAborted)return;if(key==="Content-Length"){return}if(this.statusWritten){this.res.writeHeader(key,value)}else{this.headers.push([key,value])}}writeBufferedHeaders(){this.headers.forEach(([key,value])=>{this.res.writeHeader(key,value)})}end(data){if(this.isAborted)return;this.res.cork(()=>{if(!this.statusWritten){this.writeBufferedHeaders()}this.res.end(data)})}onData(fn2){if(this.isAborted)return;this.res.onData(fn2)}onAborted(fn2){if(this.isAborted)return;this.res.onAborted(()=>{this.isAborted=true;fn2()})}cork(fn2){if(this.isAborted)return;this.res.cork(fn2)}}}});var require_engine_io=__commonJS({"node_modules/engine.io/build/engine.io.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.protocol=exports2.Transport=exports2.Socket=exports2.uServer=exports2.parser=exports2.transports=exports2.Server=void 0;exports2.listen=listen;exports2.attach=attach;var http_1=require("http");var server_1=require_server();Object.defineProperty(exports2,"Server",{enumerable:true,get:function(){return server_1.Server}});var index_1=require_transports();exports2.transports=index_1.default;var parser=require_cjs6();exports2.parser=parser;var userver_1=require_userver();Object.defineProperty(exports2,"uServer",{enumerable:true,get:function(){return userver_1.uServer}});var socket_1=require_socket();Object.defineProperty(exports2,"Socket",{enumerable:true,get:function(){return socket_1.Socket}});var transport_1=require_transport();Object.defineProperty(exports2,"Transport",{enumerable:true,get:function(){return transport_1.Transport}});exports2.protocol=parser.protocol;function listen(port,options,fn2){if("function"===typeof options){fn2=options;options={}}const server=(0,http_1.createServer)(function(req,res){res.writeHead(501);res.end("Not Implemented")});const engine=attach(server,options);engine.httpServer=server;server.listen(port,fn2);return engine}function attach(server,options){const engine=new server_1.Server(options);engine.attach(server,options);return engine}}});var require_cjs7=__commonJS({"node_modules/@socket.io/component-emitter/lib/cjs/index.js"(exports2){exports2.Emitter=Emitter;function Emitter(obj){if(obj)return mixin3(obj)}function mixin3(obj){for(var key in Emitter.prototype){obj[key]=Emitter.prototype[key]}return obj}Emitter.prototype.on=Emitter.prototype.addEventListener=function(event,fn2){this._callbacks=this._callbacks||{};(this._callbacks["$"+event]=this._callbacks["$"+event]||[]).push(fn2);return this};Emitter.prototype.once=function(event,fn2){function on(){this.off(event,on);fn2.apply(this,arguments)}on.fn=fn2;this.on(event,on);return this};Emitter.prototype.off=Emitter.prototype.removeListener=Emitter.prototype.removeAllListeners=Emitter.prototype.removeEventListener=function(event,fn2){this._callbacks=this._callbacks||{};if(0==arguments.length){this._callbacks={};return this}var callbacks=this._callbacks["$"+event];if(!callbacks)return this;if(1==arguments.length){delete this._callbacks["$"+event];return this}var cb;for(var i=0;i<callbacks.length;i++){cb=callbacks[i];if(cb===fn2||cb.fn===fn2){callbacks.splice(i,1);break}}if(callbacks.length===0){delete this._callbacks["$"+event]}return this};Emitter.prototype.emit=function(event){this._callbacks=this._callbacks||{};var args2=new Array(arguments.length-1),callbacks=this._callbacks["$"+event];for(var i=1;i<arguments.length;i++){args2[i-1]=arguments[i]}if(callbacks){callbacks=callbacks.slice(0);for(var i=0,len=callbacks.length;i<len;++i){callbacks[i].apply(this,args2)}}return this};Emitter.prototype.emitReserved=Emitter.prototype.emit;Emitter.prototype.listeners=function(event){this._callbacks=this._callbacks||{};return this._callbacks["$"+event]||[]};Emitter.prototype.hasListeners=function(event){return!!this.listeners(event).length}}});var require_is_binary=__commonJS({"node_modules/socket.io-parser/build/cjs/is-binary.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.hasBinary=exports2.isBinary=void 0;var withNativeArrayBuffer=typeof ArrayBuffer==="function";var isView=obj=>{return typeof ArrayBuffer.isView==="function"?ArrayBuffer.isView(obj):obj.buffer instanceof ArrayBuffer};var toString5=Object.prototype.toString;var withNativeBlob=typeof Blob==="function"||typeof Blob!=="undefined"&&toString5.call(Blob)==="[object BlobConstructor]";var withNativeFile=typeof File==="function"||typeof File!=="undefined"&&toString5.call(File)==="[object FileConstructor]";function isBinary2(obj){return withNativeArrayBuffer&&(obj instanceof ArrayBuffer||isView(obj))||withNativeBlob&&obj instanceof Blob||withNativeFile&&obj instanceof File}exports2.isBinary=isBinary2;function hasBinary(obj,toJSON){if(!obj||typeof obj!=="object"){return false}if(Array.isArray(obj)){for(let i=0,l=obj.length;i<l;i++){if(hasBinary(obj[i])){return true}}return false}if(isBinary2(obj)){return true}if(obj.toJSON&&typeof obj.toJSON==="function"&&arguments.length===1){return hasBinary(obj.toJSON(),true)}for(const key in obj){if(Object.prototype.hasOwnProperty.call(obj,key)&&hasBinary(obj[key])){return true}}return false}exports2.hasBinary=hasBinary}});var require_binary=__commonJS({"node_modules/socket.io-parser/build/cjs/binary.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.reconstructPacket=exports2.deconstructPacket=void 0;var is_binary_js_1=require_is_binary();function deconstructPacket(packet){const buffers=[];const packetData=packet.data;const pack=packet;pack.data=_deconstructPacket(packetData,buffers);pack.attachments=buffers.length;return{packet:pack,buffers}}exports2.deconstructPacket=deconstructPacket;function _deconstructPacket(data,buffers){if(!data)return data;if((0,is_binary_js_1.isBinary)(data)){const placeholder={_placeholder:true,num:buffers.length};buffers.push(data);return placeholder}else if(Array.isArray(data)){const newData=new Array(data.length);for(let i=0;i<data.length;i++){newData[i]=_deconstructPacket(data[i],buffers)}return newData}else if(typeof data==="object"&&!(data instanceof Date)){const newData={};for(const key in data){if(Object.prototype.hasOwnProperty.call(data,key)){newData[key]=_deconstructPacket(data[key],buffers)}}return newData}return data}function reconstructPacket(packet,buffers){packet.data=_reconstructPacket(packet.data,buffers);delete packet.attachments;return packet}exports2.reconstructPacket=reconstructPacket;function _reconstructPacket(data,buffers){if(!data)return data;if(data&&data._placeholder===true){const isIndexValid=typeof data.num==="number"&&data.num>=0&&data.num<buffers.length;if(isIndexValid){return buffers[data.num]}else{throw new Error("illegal attachments")}}else if(Array.isArray(data)){for(let i=0;i<data.length;i++){data[i]=_reconstructPacket(data[i],buffers)}}else if(typeof data==="object"){for(const key in data){if(Object.prototype.hasOwnProperty.call(data,key)){data[key]=_reconstructPacket(data[key],buffers)}}}return data}}});var require_common7=__commonJS({"node_modules/socket.io-parser/node_modules/debug/src/common.js"(exports2,module2){function setup(env2){createDebug.debug=createDebug;createDebug.default=createDebug;createDebug.coerce=coerce2;createDebug.disable=disable;createDebug.enable=enable;createDebug.enabled=enabled3;createDebug.humanize=require_ms();createDebug.destroy=destroy;Object.keys(env2).forEach(key=>{createDebug[key]=env2[key]});createDebug.names=[];createDebug.skips=[];createDebug.formatters={};function selectColor(namespace){let hash=0;for(let i=0;i<namespace.length;i++){hash=(hash<<5)-hash+namespace.charCodeAt(i);hash|=0}return createDebug.colors[Math.abs(hash)%createDebug.colors.length]}createDebug.selectColor=selectColor;function createDebug(namespace){let prevTime;let enableOverride=null;let namespacesCache;let enabledCache;function debug(...args2){if(!debug.enabled){return}const self2=debug;const curr=Number(new Date);const ms=curr-(prevTime||curr);self2.diff=ms;self2.prev=prevTime;self2.curr=curr;prevTime=curr;args2[0]=createDebug.coerce(args2[0]);if(typeof args2[0]!=="string"){args2.unshift("%O")}let index=0;args2[0]=args2[0].replace(/%([a-zA-Z%])/g,(match,format2)=>{if(match==="%%"){return"%"}index++;const formatter=createDebug.formatters[format2];if(typeof formatter==="function"){const val=args2[index];match=formatter.call(self2,val);args2.splice(index,1);index--}return match});createDebug.formatArgs.call(self2,args2);const logFn=self2.log||createDebug.log;logFn.apply(self2,args2)}debug.namespace=namespace;debug.useColors=createDebug.useColors();debug.color=createDebug.selectColor(namespace);debug.extend=extend3;debug.destroy=createDebug.destroy;Object.defineProperty(debug,"enabled",{enumerable:true,configurable:false,get:()=>{if(enableOverride!==null){return enableOverride}if(namespacesCache!==createDebug.namespaces){namespacesCache=createDebug.namespaces;enabledCache=createDebug.enabled(namespace)}return enabledCache},set:v=>{enableOverride=v}});if(typeof createDebug.init==="function"){createDebug.init(debug)}return debug}function extend3(namespace,delimiter){const newDebug=createDebug(this.namespace+(typeof delimiter==="undefined"?":":delimiter)+namespace);newDebug.log=this.log;return newDebug}function enable(namespaces){createDebug.save(namespaces);createDebug.namespaces=namespaces;createDebug.names=[];createDebug.skips=[];let i;const split2=(typeof namespaces==="string"?namespaces:"").split(/[\s,]+/);const len=split2.length;for(i=0;i<len;i++){if(!split2[i]){continue}namespaces=split2[i].replace(/\*/g,".*?");if(namespaces[0]==="-"){createDebug.skips.push(new RegExp("^"+namespaces.slice(1)+"$"))}else{createDebug.names.push(new RegExp("^"+namespaces+"$"))}}}function disable(){const namespaces=[...createDebug.names.map(toNamespace),...createDebug.skips.map(toNamespace).map(namespace=>"-"+namespace)].join(",");createDebug.enable("");return namespaces}function enabled3(name){if(name[name.length-1]==="*"){return true}let i;let len;for(i=0,len=createDebug.skips.length;i<len;i++){if(createDebug.skips[i].test(name)){return false}}for(i=0,len=createDebug.names.length;i<len;i++){if(createDebug.names[i].test(name)){return true}}return false}function toNamespace(regexp){return regexp.toString().substring(2,regexp.toString().length-2).replace(/\.\*\?$/,"*")}function coerce2(val){if(val instanceof Error){return val.stack||val.message}return val}function destroy(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}createDebug.enable(createDebug.load());return createDebug}module2.exports=setup}});var require_browser3=__commonJS({"node_modules/socket.io-parser/node_modules/debug/src/browser.js"(exports2,module2){exports2.formatArgs=formatArgs;exports2.save=save;exports2.load=load2;exports2.useColors=useColors;exports2.storage=localstorage();exports2.destroy=(()=>{let warned=false;return()=>{if(!warned){warned=true;console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}}})();exports2.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function useColors(){if(typeof window!=="undefined"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)){return true}if(typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)){return false}let m;return typeof document!=="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!=="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!=="undefined"&&navigator.userAgent&&(m=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(m[1],10)>=31||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function formatArgs(args2){args2[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+args2[0]+(this.useColors?"%c ":" ")+"+"+module2.exports.humanize(this.diff);if(!this.useColors){return}const c="color: "+this.color;args2.splice(1,0,c,"color: inherit");let index=0;let lastC=0;args2[0].replace(/%[a-zA-Z%]/g,match=>{if(match==="%%"){return}index++;if(match==="%c"){lastC=index}});args2.splice(lastC,0,c)}exports2.log=console.debug||console.log||(()=>{});function save(namespaces){try{if(namespaces){exports2.storage.setItem("debug",namespaces)}else{exports2.storage.removeItem("debug")}}catch(error){}}function load2(){let r;try{r=exports2.storage.getItem("debug")}catch(error){}if(!r&&typeof process!=="undefined"&&"env"in process){r=process.env.DEBUG}return r}function localstorage(){try{return localStorage}catch(error){}}module2.exports=require_common7()(exports2);var{formatters}=module2.exports;formatters.j=function(v){try{return JSON.stringify(v)}catch(error){return"[UnexpectedJSONParseError]: "+error.message}}}});var require_node3=__commonJS({"node_modules/socket.io-parser/node_modules/debug/src/node.js"(exports2,module2){var tty2=require("tty");var util4=require("util");exports2.init=init2;exports2.log=log2;exports2.formatArgs=formatArgs;exports2.save=save;exports2.load=load2;exports2.useColors=useColors;exports2.destroy=util4.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");exports2.colors=[6,2,3,4,5,1];try{const supportsColor2=require_supports_color();if(supportsColor2&&(supportsColor2.stderr||supportsColor2).level>=2){exports2.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221]}}catch(error){}exports2.inspectOpts=Object.keys(process.env).filter(key=>{return/^debug_/i.test(key)}).reduce((obj,key)=>{const prop=key.substring(6).toLowerCase().replace(/_([a-z])/g,(_,k)=>{return k.toUpperCase()});let val=process.env[key];if(/^(yes|on|true|enabled)$/i.test(val)){val=true}else if(/^(no|off|false|disabled)$/i.test(val)){val=false}else if(val==="null"){val=null}else{val=Number(val)}obj[prop]=val;return obj},{});function useColors(){return"colors"in exports2.inspectOpts?Boolean(exports2.inspectOpts.colors):tty2.isatty(process.stderr.fd)}function formatArgs(args2){const{namespace:name,useColors:useColors2}=this;if(useColors2){const c=this.color;const colorCode="\x1B[3"+(c<8?c:"8;5;"+c);const prefix=`  ${colorCode};1m${name} \x1B[0m`;args2[0]=prefix+args2[0].split("\n").join("\n"+prefix);args2.push(colorCode+"m+"+module2.exports.humanize(this.diff)+"\x1B[0m")}else{args2[0]=getDate()+name+" "+args2[0]}}function getDate(){if(exports2.inspectOpts.hideDate){return""}return new Date().toISOString()+" "}function log2(...args2){return process.stderr.write(util4.formatWithOptions(exports2.inspectOpts,...args2)+"\n")}function save(namespaces){if(namespaces){process.env.DEBUG=namespaces}else{delete process.env.DEBUG}}function load2(){return process.env.DEBUG}function init2(debug){debug.inspectOpts={};const keys2=Object.keys(exports2.inspectOpts);for(let i=0;i<keys2.length;i++){debug.inspectOpts[keys2[i]]=exports2.inspectOpts[keys2[i]]}}module2.exports=require_common7()(exports2);var{formatters}=module2.exports;formatters.o=function(v){this.inspectOpts.colors=this.useColors;return util4.inspect(v,this.inspectOpts).split("\n").map(str2=>str2.trim()).join(" ")};formatters.O=function(v){this.inspectOpts.colors=this.useColors;return util4.inspect(v,this.inspectOpts)}}});var require_src5=__commonJS({"node_modules/socket.io-parser/node_modules/debug/src/index.js"(exports2,module2){if(typeof process==="undefined"||process.type==="renderer"||process.browser===true||process.__nwjs){module2.exports=require_browser3()}else{module2.exports=require_node3()}}});var require_cjs8=__commonJS({"node_modules/socket.io-parser/build/cjs/index.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.Decoder=exports2.Encoder=exports2.PacketType=exports2.protocol=void 0;var component_emitter_1=require_cjs7();var binary_js_1=require_binary();var is_binary_js_1=require_is_binary();var debug_1=require_src5();var debug=(0,debug_1.default)("socket.io-parser");var RESERVED_EVENTS=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];exports2.protocol=5;var PacketType;(function(PacketType2){PacketType2[PacketType2["CONNECT"]=0]="CONNECT";PacketType2[PacketType2["DISCONNECT"]=1]="DISCONNECT";PacketType2[PacketType2["EVENT"]=2]="EVENT";PacketType2[PacketType2["ACK"]=3]="ACK";PacketType2[PacketType2["CONNECT_ERROR"]=4]="CONNECT_ERROR";PacketType2[PacketType2["BINARY_EVENT"]=5]="BINARY_EVENT";PacketType2[PacketType2["BINARY_ACK"]=6]="BINARY_ACK"})(PacketType=exports2.PacketType||(exports2.PacketType={}));var Encoder=class{constructor(replacer){this.replacer=replacer}encode(obj){debug("encoding packet %j",obj);if(obj.type===PacketType.EVENT||obj.type===PacketType.ACK){if((0,is_binary_js_1.hasBinary)(obj)){return this.encodeAsBinary({type:obj.type===PacketType.EVENT?PacketType.BINARY_EVENT:PacketType.BINARY_ACK,nsp:obj.nsp,data:obj.data,id:obj.id})}}return[this.encodeAsString(obj)]}encodeAsString(obj){let str2=""+obj.type;if(obj.type===PacketType.BINARY_EVENT||obj.type===PacketType.BINARY_ACK){str2+=obj.attachments+"-"}if(obj.nsp&&"/"!==obj.nsp){str2+=obj.nsp+","}if(null!=obj.id){str2+=obj.id}if(null!=obj.data){str2+=JSON.stringify(obj.data,this.replacer)}debug("encoded %j as %s",obj,str2);return str2}encodeAsBinary(obj){const deconstruction=(0,binary_js_1.deconstructPacket)(obj);const pack=this.encodeAsString(deconstruction.packet);const buffers=deconstruction.buffers;buffers.unshift(pack);return buffers}};exports2.Encoder=Encoder;function isObject4(value){return Object.prototype.toString.call(value)==="[object Object]"}var Decoder=class _Decoder extends component_emitter_1.Emitter{constructor(reviver){super();this.reviver=reviver}add(obj){let packet;if(typeof obj==="string"){if(this.reconstructor){throw new Error("got plaintext data when reconstructing a packet")}packet=this.decodeString(obj);const isBinaryEvent=packet.type===PacketType.BINARY_EVENT;if(isBinaryEvent||packet.type===PacketType.BINARY_ACK){packet.type=isBinaryEvent?PacketType.EVENT:PacketType.ACK;this.reconstructor=new BinaryReconstructor(packet);if(packet.attachments===0){super.emitReserved("decoded",packet)}}else{super.emitReserved("decoded",packet)}}else if((0,is_binary_js_1.isBinary)(obj)||obj.base64){if(!this.reconstructor){throw new Error("got binary data when not reconstructing a packet")}else{packet=this.reconstructor.takeBinaryData(obj);if(packet){this.reconstructor=null;super.emitReserved("decoded",packet)}}}else{throw new Error("Unknown type: "+obj)}}decodeString(str2){let i=0;const p={type:Number(str2.charAt(0))};if(PacketType[p.type]===void 0){throw new Error("unknown packet type "+p.type)}if(p.type===PacketType.BINARY_EVENT||p.type===PacketType.BINARY_ACK){const start=i+1;while(str2.charAt(++i)!=="-"&&i!=str2.length){}const buf=str2.substring(start,i);if(buf!=Number(buf)||str2.charAt(i)!=="-"){throw new Error("Illegal attachments")}p.attachments=Number(buf)}if("/"===str2.charAt(i+1)){const start=i+1;while(++i){const c=str2.charAt(i);if(","===c)break;if(i===str2.length)break}p.nsp=str2.substring(start,i)}else{p.nsp="/"}const next=str2.charAt(i+1);if(""!==next&&Number(next)==next){const start=i+1;while(++i){const c=str2.charAt(i);if(null==c||Number(c)!=c){--i;break}if(i===str2.length)break}p.id=Number(str2.substring(start,i+1))}if(str2.charAt(++i)){const payload=this.tryParse(str2.substr(i));if(_Decoder.isPayloadValid(p.type,payload)){p.data=payload}else{throw new Error("invalid payload")}}debug("decoded %s as %j",str2,p);return p}tryParse(str2){try{return JSON.parse(str2,this.reviver)}catch(e){return false}}static isPayloadValid(type2,payload){switch(type2){case PacketType.CONNECT:return isObject4(payload);case PacketType.DISCONNECT:return payload===void 0;case PacketType.CONNECT_ERROR:return typeof payload==="string"||isObject4(payload);case PacketType.EVENT:case PacketType.BINARY_EVENT:return Array.isArray(payload)&&(typeof payload[0]==="number"||typeof payload[0]==="string"&&RESERVED_EVENTS.indexOf(payload[0])===-1);case PacketType.ACK:case PacketType.BINARY_ACK:return Array.isArray(payload)}}destroy(){if(this.reconstructor){this.reconstructor.finishedReconstruction();this.reconstructor=null}}};exports2.Decoder=Decoder;var BinaryReconstructor=class{constructor(packet){this.packet=packet;this.buffers=[];this.reconPack=packet}takeBinaryData(binData){this.buffers.push(binData);if(this.buffers.length===this.reconPack.attachments){const packet=(0,binary_js_1.reconstructPacket)(this.reconPack,this.buffers);this.finishedReconstruction();return packet}return null}finishedReconstruction(){this.reconPack=null;this.buffers=[]}}}});var require_common8=__commonJS({"node_modules/socket.io/node_modules/debug/src/common.js"(exports2,module2){function setup(env2){createDebug.debug=createDebug;createDebug.default=createDebug;createDebug.coerce=coerce2;createDebug.disable=disable;createDebug.enable=enable;createDebug.enabled=enabled3;createDebug.humanize=require_ms();createDebug.destroy=destroy;Object.keys(env2).forEach(key=>{createDebug[key]=env2[key]});createDebug.names=[];createDebug.skips=[];createDebug.formatters={};function selectColor(namespace){let hash=0;for(let i=0;i<namespace.length;i++){hash=(hash<<5)-hash+namespace.charCodeAt(i);hash|=0}return createDebug.colors[Math.abs(hash)%createDebug.colors.length]}createDebug.selectColor=selectColor;function createDebug(namespace){let prevTime;let enableOverride=null;let namespacesCache;let enabledCache;function debug(...args2){if(!debug.enabled){return}const self2=debug;const curr=Number(new Date);const ms=curr-(prevTime||curr);self2.diff=ms;self2.prev=prevTime;self2.curr=curr;prevTime=curr;args2[0]=createDebug.coerce(args2[0]);if(typeof args2[0]!=="string"){args2.unshift("%O")}let index=0;args2[0]=args2[0].replace(/%([a-zA-Z%])/g,(match,format2)=>{if(match==="%%"){return"%"}index++;const formatter=createDebug.formatters[format2];if(typeof formatter==="function"){const val=args2[index];match=formatter.call(self2,val);args2.splice(index,1);index--}return match});createDebug.formatArgs.call(self2,args2);const logFn=self2.log||createDebug.log;logFn.apply(self2,args2)}debug.namespace=namespace;debug.useColors=createDebug.useColors();debug.color=createDebug.selectColor(namespace);debug.extend=extend3;debug.destroy=createDebug.destroy;Object.defineProperty(debug,"enabled",{enumerable:true,configurable:false,get:()=>{if(enableOverride!==null){return enableOverride}if(namespacesCache!==createDebug.namespaces){namespacesCache=createDebug.namespaces;enabledCache=createDebug.enabled(namespace)}return enabledCache},set:v=>{enableOverride=v}});if(typeof createDebug.init==="function"){createDebug.init(debug)}return debug}function extend3(namespace,delimiter){const newDebug=createDebug(this.namespace+(typeof delimiter==="undefined"?":":delimiter)+namespace);newDebug.log=this.log;return newDebug}function enable(namespaces){createDebug.save(namespaces);createDebug.namespaces=namespaces;createDebug.names=[];createDebug.skips=[];let i;const split2=(typeof namespaces==="string"?namespaces:"").split(/[\s,]+/);const len=split2.length;for(i=0;i<len;i++){if(!split2[i]){continue}namespaces=split2[i].replace(/\*/g,".*?");if(namespaces[0]==="-"){createDebug.skips.push(new RegExp("^"+namespaces.slice(1)+"$"))}else{createDebug.names.push(new RegExp("^"+namespaces+"$"))}}}function disable(){const namespaces=[...createDebug.names.map(toNamespace),...createDebug.skips.map(toNamespace).map(namespace=>"-"+namespace)].join(",");createDebug.enable("");return namespaces}function enabled3(name){if(name[name.length-1]==="*"){return true}let i;let len;for(i=0,len=createDebug.skips.length;i<len;i++){if(createDebug.skips[i].test(name)){return false}}for(i=0,len=createDebug.names.length;i<len;i++){if(createDebug.names[i].test(name)){return true}}return false}function toNamespace(regexp){return regexp.toString().substring(2,regexp.toString().length-2).replace(/\.\*\?$/,"*")}function coerce2(val){if(val instanceof Error){return val.stack||val.message}return val}function destroy(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}createDebug.enable(createDebug.load());return createDebug}module2.exports=setup}});var require_browser4=__commonJS({"node_modules/socket.io/node_modules/debug/src/browser.js"(exports2,module2){exports2.formatArgs=formatArgs;exports2.save=save;exports2.load=load2;exports2.useColors=useColors;exports2.storage=localstorage();exports2.destroy=(()=>{let warned=false;return()=>{if(!warned){warned=true;console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}}})();exports2.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function useColors(){if(typeof window!=="undefined"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)){return true}if(typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)){return false}let m;return typeof document!=="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!=="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!=="undefined"&&navigator.userAgent&&(m=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(m[1],10)>=31||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function formatArgs(args2){args2[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+args2[0]+(this.useColors?"%c ":" ")+"+"+module2.exports.humanize(this.diff);if(!this.useColors){return}const c="color: "+this.color;args2.splice(1,0,c,"color: inherit");let index=0;let lastC=0;args2[0].replace(/%[a-zA-Z%]/g,match=>{if(match==="%%"){return}index++;if(match==="%c"){lastC=index}});args2.splice(lastC,0,c)}exports2.log=console.debug||console.log||(()=>{});function save(namespaces){try{if(namespaces){exports2.storage.setItem("debug",namespaces)}else{exports2.storage.removeItem("debug")}}catch(error){}}function load2(){let r;try{r=exports2.storage.getItem("debug")}catch(error){}if(!r&&typeof process!=="undefined"&&"env"in process){r=process.env.DEBUG}return r}function localstorage(){try{return localStorage}catch(error){}}module2.exports=require_common8()(exports2);var{formatters}=module2.exports;formatters.j=function(v){try{return JSON.stringify(v)}catch(error){return"[UnexpectedJSONParseError]: "+error.message}}}});var require_node4=__commonJS({"node_modules/socket.io/node_modules/debug/src/node.js"(exports2,module2){var tty2=require("tty");var util4=require("util");exports2.init=init2;exports2.log=log2;exports2.formatArgs=formatArgs;exports2.save=save;exports2.load=load2;exports2.useColors=useColors;exports2.destroy=util4.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");exports2.colors=[6,2,3,4,5,1];try{const supportsColor2=require_supports_color();if(supportsColor2&&(supportsColor2.stderr||supportsColor2).level>=2){exports2.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221]}}catch(error){}exports2.inspectOpts=Object.keys(process.env).filter(key=>{return/^debug_/i.test(key)}).reduce((obj,key)=>{const prop=key.substring(6).toLowerCase().replace(/_([a-z])/g,(_,k)=>{return k.toUpperCase()});let val=process.env[key];if(/^(yes|on|true|enabled)$/i.test(val)){val=true}else if(/^(no|off|false|disabled)$/i.test(val)){val=false}else if(val==="null"){val=null}else{val=Number(val)}obj[prop]=val;return obj},{});function useColors(){return"colors"in exports2.inspectOpts?Boolean(exports2.inspectOpts.colors):tty2.isatty(process.stderr.fd)}function formatArgs(args2){const{namespace:name,useColors:useColors2}=this;if(useColors2){const c=this.color;const colorCode="\x1B[3"+(c<8?c:"8;5;"+c);const prefix=`  ${colorCode};1m${name} \x1B[0m`;args2[0]=prefix+args2[0].split("\n").join("\n"+prefix);args2.push(colorCode+"m+"+module2.exports.humanize(this.diff)+"\x1B[0m")}else{args2[0]=getDate()+name+" "+args2[0]}}function getDate(){if(exports2.inspectOpts.hideDate){return""}return new Date().toISOString()+" "}function log2(...args2){return process.stderr.write(util4.formatWithOptions(exports2.inspectOpts,...args2)+"\n")}function save(namespaces){if(namespaces){process.env.DEBUG=namespaces}else{delete process.env.DEBUG}}function load2(){return process.env.DEBUG}function init2(debug){debug.inspectOpts={};const keys2=Object.keys(exports2.inspectOpts);for(let i=0;i<keys2.length;i++){debug.inspectOpts[keys2[i]]=exports2.inspectOpts[keys2[i]]}}module2.exports=require_common8()(exports2);var{formatters}=module2.exports;formatters.o=function(v){this.inspectOpts.colors=this.useColors;return util4.inspect(v,this.inspectOpts).split("\n").map(str2=>str2.trim()).join(" ")};formatters.O=function(v){this.inspectOpts.colors=this.useColors;return util4.inspect(v,this.inspectOpts)}}});var require_src6=__commonJS({"node_modules/socket.io/node_modules/debug/src/index.js"(exports2,module2){if(typeof process==="undefined"||process.type==="renderer"||process.browser===true||process.__nwjs){module2.exports=require_browser4()}else{module2.exports=require_node4()}}});var require_client5=__commonJS({"node_modules/socket.io/dist/client.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.Client=void 0;var socket_io_parser_1=require_cjs8();var debugModule=require_src6();var url=require("url");var debug=debugModule("socket.io:client");var Client3=class{constructor(server,conn){this.sockets=new Map;this.nsps=new Map;this.server=server;this.conn=conn;this.encoder=server.encoder;this.decoder=new server._parser.Decoder;this.id=conn.id;this.setup()}get request(){return this.conn.request}setup(){this.onclose=this.onclose.bind(this);this.ondata=this.ondata.bind(this);this.onerror=this.onerror.bind(this);this.ondecoded=this.ondecoded.bind(this);this.decoder.on("decoded",this.ondecoded);this.conn.on("data",this.ondata);this.conn.on("error",this.onerror);this.conn.on("close",this.onclose);this.connectTimeout=setTimeout(()=>{if(this.nsps.size===0){debug("no namespace joined yet, close the client");this.close()}else{debug("the client has already joined a namespace, nothing to do")}},this.server._connectTimeout)}connect(name,auth={}){if(this.server._nsps.has(name)){debug("connecting to namespace %s",name);return this.doConnect(name,auth)}this.server._checkNamespace(name,auth,dynamicNspName=>{if(dynamicNspName){this.doConnect(name,auth)}else{debug("creation of namespace %s was denied",name);this._packet({type:socket_io_parser_1.PacketType.CONNECT_ERROR,nsp:name,data:{message:"Invalid namespace"}})}})}doConnect(name,auth){const nsp=this.server.of(name);nsp._add(this,auth,socket=>{this.sockets.set(socket.id,socket);this.nsps.set(nsp.name,socket);if(this.connectTimeout){clearTimeout(this.connectTimeout);this.connectTimeout=void 0}})}_disconnect(){for(const socket of this.sockets.values()){socket.disconnect()}this.sockets.clear();this.close()}_remove(socket){if(this.sockets.has(socket.id)){const nsp=this.sockets.get(socket.id).nsp.name;this.sockets.delete(socket.id);this.nsps.delete(nsp)}else{debug("ignoring remove for %s",socket.id)}}close(){if("open"===this.conn.readyState){debug("forcing transport close");this.conn.close();this.onclose("forced server close")}}_packet(packet,opts={}){if(this.conn.readyState!=="open"){debug("ignoring packet write %j",packet);return}const encodedPackets=opts.preEncoded?packet:this.encoder.encode(packet);this.writeToEngine(encodedPackets,opts)}writeToEngine(encodedPackets,opts){if(opts.volatile&&!this.conn.transport.writable){debug("volatile packet is discarded since the transport is not currently writable");return}const packets=Array.isArray(encodedPackets)?encodedPackets:[encodedPackets];for(const encodedPacket of packets){this.conn.write(encodedPacket,opts)}}ondata(data){try{this.decoder.add(data)}catch(e){debug("invalid packet format");this.onerror(e)}}ondecoded(packet){let namespace;let authPayload;if(this.conn.protocol===3){const parsed=url.parse(packet.nsp,true);namespace=parsed.pathname;authPayload=parsed.query}else{namespace=packet.nsp;authPayload=packet.data}const socket=this.nsps.get(namespace);if(!socket&&packet.type===socket_io_parser_1.PacketType.CONNECT){this.connect(namespace,authPayload)}else if(socket&&packet.type!==socket_io_parser_1.PacketType.CONNECT&&packet.type!==socket_io_parser_1.PacketType.CONNECT_ERROR){process.nextTick(function(){socket._onpacket(packet)})}else{debug("invalid state (packet type: %s)",packet.type);this.close()}}onerror(err){for(const socket of this.sockets.values()){socket._onerror(err)}this.conn.close()}onclose(reason,description){debug("client close with reason %s",reason);this.destroy();for(const socket of this.sockets.values()){socket._onclose(reason,description)}this.sockets.clear();this.decoder.destroy()}destroy(){this.conn.removeListener("data",this.ondata);this.conn.removeListener("error",this.onerror);this.conn.removeListener("close",this.onclose);this.decoder.removeListener("decoded",this.ondecoded);if(this.connectTimeout){clearTimeout(this.connectTimeout);this.connectTimeout=void 0}}};exports2.Client=Client3}});var require_typed_events=__commonJS({"node_modules/socket.io/dist/typed-events.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.StrictEventEmitter=void 0;var events_1=require("events");var StrictEventEmitter=class extends events_1.EventEmitter{on(ev,listener){return super.on(ev,listener)}once(ev,listener){return super.once(ev,listener)}emit(ev,...args2){return super.emit(ev,...args2)}emitReserved(ev,...args2){return super.emit(ev,...args2)}emitUntyped(ev,...args2){return super.emit(ev,...args2)}listeners(event){return super.listeners(event)}};exports2.StrictEventEmitter=StrictEventEmitter}});var require_socket_types=__commonJS({"node_modules/socket.io/dist/socket-types.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.RESERVED_EVENTS=void 0;exports2.RESERVED_EVENTS=new Set(["connect","connect_error","disconnect","disconnecting","newListener","removeListener"])}});var require_broadcast_operator=__commonJS({"node_modules/socket.io/dist/broadcast-operator.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.RemoteSocket=exports2.BroadcastOperator=void 0;var socket_types_1=require_socket_types();var socket_io_parser_1=require_cjs8();var BroadcastOperator=class _BroadcastOperator{constructor(adapter,rooms=new Set,exceptRooms=new Set,flags={}){this.adapter=adapter;this.rooms=rooms;this.exceptRooms=exceptRooms;this.flags=flags}to(room){const rooms=new Set(this.rooms);if(Array.isArray(room)){room.forEach(r=>rooms.add(r))}else{rooms.add(room)}return new _BroadcastOperator(this.adapter,rooms,this.exceptRooms,this.flags)}in(room){return this.to(room)}except(room){const exceptRooms=new Set(this.exceptRooms);if(Array.isArray(room)){room.forEach(r=>exceptRooms.add(r))}else{exceptRooms.add(room)}return new _BroadcastOperator(this.adapter,this.rooms,exceptRooms,this.flags)}compress(compress){const flags=Object.assign({},this.flags,{compress});return new _BroadcastOperator(this.adapter,this.rooms,this.exceptRooms,flags)}get volatile(){const flags=Object.assign({},this.flags,{volatile:true});return new _BroadcastOperator(this.adapter,this.rooms,this.exceptRooms,flags)}get local(){const flags=Object.assign({},this.flags,{local:true});return new _BroadcastOperator(this.adapter,this.rooms,this.exceptRooms,flags)}timeout(timeout){const flags=Object.assign({},this.flags,{timeout});return new _BroadcastOperator(this.adapter,this.rooms,this.exceptRooms,flags)}emit(ev,...args2){if(socket_types_1.RESERVED_EVENTS.has(ev)){throw new Error(`"${String(ev)}" is a reserved event name`)}const data=[ev,...args2];const packet={type:socket_io_parser_1.PacketType.EVENT,data};const withAck=typeof data[data.length-1]==="function";if(!withAck){this.adapter.broadcast(packet,{rooms:this.rooms,except:this.exceptRooms,flags:this.flags});return true}const ack=data.pop();let timedOut2=false;let responses=[];const timer2=setTimeout(()=>{timedOut2=true;ack.apply(this,[new Error("operation has timed out"),this.flags.expectSingleResponse?null:responses])},this.flags.timeout);let expectedServerCount=-1;let actualServerCount=0;let expectedClientCount=0;const checkCompleteness=()=>{if(!timedOut2&&expectedServerCount===actualServerCount&&responses.length===expectedClientCount){clearTimeout(timer2);ack.apply(this,[null,this.flags.expectSingleResponse?responses[0]:responses])}};this.adapter.broadcastWithAck(packet,{rooms:this.rooms,except:this.exceptRooms,flags:this.flags},clientCount=>{expectedClientCount+=clientCount;actualServerCount++;checkCompleteness()},clientResponse=>{responses.push(clientResponse);checkCompleteness()});this.adapter.serverCount().then(serverCount=>{expectedServerCount=serverCount;checkCompleteness()});return true}emitWithAck(ev,...args2){return new Promise((resolve,reject2)=>{args2.push((err,responses)=>{if(err){err.responses=responses;return reject2(err)}else{return resolve(responses)}});this.emit(ev,...args2)})}allSockets(){if(!this.adapter){throw new Error("No adapter for this namespace, are you trying to get the list of clients of a dynamic namespace?")}return this.adapter.sockets(this.rooms)}fetchSockets(){return this.adapter.fetchSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags}).then(sockets=>{return sockets.map(socket=>{if(socket.server){return socket}else{return new RemoteSocket(this.adapter,socket)}})})}socketsJoin(room){this.adapter.addSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},Array.isArray(room)?room:[room])}socketsLeave(room){this.adapter.delSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},Array.isArray(room)?room:[room])}disconnectSockets(close=false){this.adapter.disconnectSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},close)}};exports2.BroadcastOperator=BroadcastOperator;var RemoteSocket=class{constructor(adapter,details){this.id=details.id;this.handshake=details.handshake;this.rooms=new Set(details.rooms);this.data=details.data;this.operator=new BroadcastOperator(adapter,new Set([this.id]),new Set,{expectSingleResponse:true})}timeout(timeout){return this.operator.timeout(timeout)}emit(ev,...args2){return this.operator.emit(ev,...args2)}join(room){return this.operator.socketsJoin(room)}leave(room){return this.operator.socketsLeave(room)}disconnect(close=false){this.operator.disconnectSockets(close);return this}};exports2.RemoteSocket=RemoteSocket}});var require_socket2=__commonJS({"node_modules/socket.io/dist/socket.js"(exports2){"use strict";var __importDefault2=exports2&&exports2.__importDefault||function(mod3){return mod3&&mod3.__esModule?mod3:{"default":mod3}};Object.defineProperty(exports2,"__esModule",{value:true});exports2.Socket=void 0;var socket_io_parser_1=require_cjs8();var debug_1=__importDefault2(require_src6());var typed_events_1=require_typed_events();var base64id_1=__importDefault2(require_base64id());var broadcast_operator_1=require_broadcast_operator();var socket_types_1=require_socket_types();var debug=(0,debug_1.default)("socket.io:socket");var RECOVERABLE_DISCONNECT_REASONS=new Set(["transport error","transport close","forced close","ping timeout","server shutting down","forced server close"]);function noop4(){}var Socket2=class extends typed_events_1.StrictEventEmitter{constructor(nsp,client,auth,previousSession){super();this.nsp=nsp;this.client=client;this.recovered=false;this.data={};this.connected=false;this.acks=new Map;this.fns=[];this.flags={};this.server=nsp.server;this.adapter=this.nsp.adapter;if(previousSession){this.id=previousSession.sid;this.pid=previousSession.pid;previousSession.rooms.forEach(room=>this.join(room));this.data=previousSession.data;previousSession.missedPackets.forEach(packet=>{this.packet({type:socket_io_parser_1.PacketType.EVENT,data:packet})});this.recovered=true}else{if(client.conn.protocol===3){this.id=nsp.name!=="/"?nsp.name+"#"+client.id:client.id}else{this.id=base64id_1.default.generateId()}if(this.server._opts.connectionStateRecovery){this.pid=base64id_1.default.generateId()}}this.handshake=this.buildHandshake(auth);this.on("error",noop4)}buildHandshake(auth){var _a12,_b2,_c,_d;return{headers:((_a12=this.request)===null||_a12===void 0?void 0:_a12.headers)||{},time:new Date+"",address:this.conn.remoteAddress,xdomain:!!((_b2=this.request)===null||_b2===void 0?void 0:_b2.headers.origin),secure:!this.request||!!this.request.connection.encrypted,issued:+new Date,url:(_c=this.request)===null||_c===void 0?void 0:_c.url,query:((_d=this.request)===null||_d===void 0?void 0:_d._query)||{},auth}}emit(ev,...args2){if(socket_types_1.RESERVED_EVENTS.has(ev)){throw new Error(`"${String(ev)}" is a reserved event name`)}const data=[ev,...args2];const packet={type:socket_io_parser_1.PacketType.EVENT,data};if(typeof data[data.length-1]==="function"){const id=this.nsp._ids++;debug("emitting packet with ack id %d",id);this.registerAckCallback(id,data.pop());packet.id=id}const flags=Object.assign({},this.flags);this.flags={};if(this.nsp.server.opts.connectionStateRecovery){this.adapter.broadcast(packet,{rooms:new Set([this.id]),except:new Set,flags})}else{this.notifyOutgoingListeners(packet);this.packet(packet,flags)}return true}emitWithAck(ev,...args2){const withErr=this.flags.timeout!==void 0;return new Promise((resolve,reject2)=>{args2.push((arg1,arg2)=>{if(withErr){return arg1?reject2(arg1):resolve(arg2)}else{return resolve(arg1)}});this.emit(ev,...args2)})}registerAckCallback(id,ack){const timeout=this.flags.timeout;if(timeout===void 0){this.acks.set(id,ack);return}const timer2=setTimeout(()=>{debug("event with ack id %d has timed out after %d ms",id,timeout);this.acks.delete(id);ack.call(this,new Error("operation has timed out"))},timeout);this.acks.set(id,(...args2)=>{clearTimeout(timer2);ack.apply(this,[null,...args2])})}to(room){return this.newBroadcastOperator().to(room)}in(room){return this.newBroadcastOperator().in(room)}except(room){return this.newBroadcastOperator().except(room)}send(...args2){this.emit("message",...args2);return this}write(...args2){this.emit("message",...args2);return this}packet(packet,opts={}){packet.nsp=this.nsp.name;opts.compress=false!==opts.compress;this.client._packet(packet,opts)}join(rooms){debug("join room %s",rooms);return this.adapter.addAll(this.id,new Set(Array.isArray(rooms)?rooms:[rooms]))}leave(room){debug("leave room %s",room);return this.adapter.del(this.id,room)}leaveAll(){this.adapter.delAll(this.id)}_onconnect(){debug("socket connected - writing packet");this.connected=true;this.join(this.id);if(this.conn.protocol===3){this.packet({type:socket_io_parser_1.PacketType.CONNECT})}else{this.packet({type:socket_io_parser_1.PacketType.CONNECT,data:{sid:this.id,pid:this.pid}})}}_onpacket(packet){debug("got packet %j",packet);switch(packet.type){case socket_io_parser_1.PacketType.EVENT:this.onevent(packet);break;case socket_io_parser_1.PacketType.BINARY_EVENT:this.onevent(packet);break;case socket_io_parser_1.PacketType.ACK:this.onack(packet);break;case socket_io_parser_1.PacketType.BINARY_ACK:this.onack(packet);break;case socket_io_parser_1.PacketType.DISCONNECT:this.ondisconnect();break}}onevent(packet){const args2=packet.data||[];debug("emitting event %j",args2);if(null!=packet.id){debug("attaching ack callback to event");args2.push(this.ack(packet.id))}if(this._anyListeners&&this._anyListeners.length){const listeners=this._anyListeners.slice();for(const listener of listeners){listener.apply(this,args2)}}this.dispatch(args2)}ack(id){const self2=this;let sent=false;return function(){if(sent)return;const args2=Array.prototype.slice.call(arguments);debug("sending ack %j",args2);self2.packet({id,type:socket_io_parser_1.PacketType.ACK,data:args2});sent=true}}onack(packet){const ack=this.acks.get(packet.id);if("function"==typeof ack){debug("calling ack %s with %j",packet.id,packet.data);ack.apply(this,packet.data);this.acks.delete(packet.id)}else{debug("bad ack %s",packet.id)}}ondisconnect(){debug("got disconnect packet");this._onclose("client namespace disconnect")}_onerror(err){this.emitReserved("error",err)}_onclose(reason,description){if(!this.connected)return this;debug("closing socket - reason %s",reason);this.emitReserved("disconnecting",reason,description);if(this.server._opts.connectionStateRecovery&&RECOVERABLE_DISCONNECT_REASONS.has(reason)){debug("connection state recovery is enabled for sid %s",this.id);this.adapter.persistSession({sid:this.id,pid:this.pid,rooms:[...this.rooms],data:this.data})}this._cleanup();this.client._remove(this);this.connected=false;this.emitReserved("disconnect",reason,description);return}_cleanup(){this.leaveAll();this.nsp._remove(this);this.join=noop4}_error(err){this.packet({type:socket_io_parser_1.PacketType.CONNECT_ERROR,data:err})}disconnect(close=false){if(!this.connected)return this;if(close){this.client._disconnect()}else{this.packet({type:socket_io_parser_1.PacketType.DISCONNECT});this._onclose("server namespace disconnect")}return this}compress(compress){this.flags.compress=compress;return this}get volatile(){this.flags.volatile=true;return this}get broadcast(){return this.newBroadcastOperator()}get local(){return this.newBroadcastOperator().local}timeout(timeout){this.flags.timeout=timeout;return this}dispatch(event){debug("dispatching an event %j",event);this.run(event,err=>{process.nextTick(()=>{if(err){return this._onerror(err)}if(this.connected){super.emitUntyped.apply(this,event)}else{debug("ignore packet received after disconnection")}})})}use(fn2){this.fns.push(fn2);return this}run(event,fn2){if(!this.fns.length)return fn2();const fns=this.fns.slice(0);function run(i){fns[i](event,err=>{if(err)return fn2(err);if(!fns[i+1])return fn2();run(i+1)})}run(0)}get disconnected(){return!this.connected}get request(){return this.client.request}get conn(){return this.client.conn}get rooms(){return this.adapter.socketRooms(this.id)||new Set}onAny(listener){this._anyListeners=this._anyListeners||[];this._anyListeners.push(listener);return this}prependAny(listener){this._anyListeners=this._anyListeners||[];this._anyListeners.unshift(listener);return this}offAny(listener){if(!this._anyListeners){return this}if(listener){const listeners=this._anyListeners;for(let i=0;i<listeners.length;i++){if(listener===listeners[i]){listeners.splice(i,1);return this}}}else{this._anyListeners=[]}return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(listener){this._anyOutgoingListeners=this._anyOutgoingListeners||[];this._anyOutgoingListeners.push(listener);return this}prependAnyOutgoing(listener){this._anyOutgoingListeners=this._anyOutgoingListeners||[];this._anyOutgoingListeners.unshift(listener);return this}offAnyOutgoing(listener){if(!this._anyOutgoingListeners){return this}if(listener){const listeners=this._anyOutgoingListeners;for(let i=0;i<listeners.length;i++){if(listener===listeners[i]){listeners.splice(i,1);return this}}}else{this._anyOutgoingListeners=[]}return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(packet){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){const listeners=this._anyOutgoingListeners.slice();for(const listener of listeners){listener.apply(this,packet.data)}}}newBroadcastOperator(){const flags=Object.assign({},this.flags);this.flags={};return new broadcast_operator_1.BroadcastOperator(this.adapter,new Set,new Set([this.id]),flags)}};exports2.Socket=Socket2}});var require_namespace=__commonJS({"node_modules/socket.io/dist/namespace.js"(exports2){"use strict";var __importDefault2=exports2&&exports2.__importDefault||function(mod3){return mod3&&mod3.__esModule?mod3:{"default":mod3}};Object.defineProperty(exports2,"__esModule",{value:true});exports2.Namespace=exports2.RESERVED_EVENTS=void 0;var socket_1=require_socket2();var typed_events_1=require_typed_events();var debug_1=__importDefault2(require_src6());var broadcast_operator_1=require_broadcast_operator();var debug=(0,debug_1.default)("socket.io:namespace");exports2.RESERVED_EVENTS=new Set(["connect","connection","new_namespace"]);var Namespace2=class extends typed_events_1.StrictEventEmitter{constructor(server,name){super();this.sockets=new Map;this._preConnectSockets=new Map;this._fns=[];this._ids=0;this.server=server;this.name=name;this._initAdapter()}_initAdapter(){this.adapter=new(this.server.adapter())(this)}use(fn2){this._fns.push(fn2);return this}run(socket,fn2){if(!this._fns.length)return fn2();const fns=this._fns.slice(0);function run(i){fns[i](socket,err=>{if(err)return fn2(err);if(!fns[i+1])return fn2();run(i+1)})}run(0)}to(room){return new broadcast_operator_1.BroadcastOperator(this.adapter).to(room)}in(room){return new broadcast_operator_1.BroadcastOperator(this.adapter).in(room)}except(room){return new broadcast_operator_1.BroadcastOperator(this.adapter).except(room)}async _add(client,auth,fn2){var _a12;debug("adding socket to nsp %s",this.name);const socket=await this._createSocket(client,auth);this._preConnectSockets.set(socket.id,socket);if(((_a12=this.server.opts.connectionStateRecovery)===null||_a12===void 0?void 0:_a12.skipMiddlewares)&&socket.recovered&&client.conn.readyState==="open"){return this._doConnect(socket,fn2)}this.run(socket,err=>{process.nextTick(()=>{if("open"!==client.conn.readyState){debug("next called after client was closed - ignoring socket");socket._cleanup();return}if(err){debug("middleware error, sending CONNECT_ERROR packet to the client");socket._cleanup();if(client.conn.protocol===3){return socket._error(err.data||err.message)}else{return socket._error({message:err.message,data:err.data})}}this._doConnect(socket,fn2)})})}async _createSocket(client,auth){const sessionId=auth.pid;const offset=auth.offset;if(this.server.opts.connectionStateRecovery&&typeof sessionId==="string"&&typeof offset==="string"){let session;try{session=await this.adapter.restoreSession(sessionId,offset)}catch(e){debug("error while restoring session: %s",e)}if(session){debug("connection state recovered for sid %s",session.sid);return new socket_1.Socket(this,client,auth,session)}}return new socket_1.Socket(this,client,auth)}_doConnect(socket,fn2){this._preConnectSockets.delete(socket.id);this.sockets.set(socket.id,socket);socket._onconnect();if(fn2)fn2(socket);this.emitReserved("connect",socket);this.emitReserved("connection",socket)}_remove(socket){this.sockets.delete(socket.id)||this._preConnectSockets.delete(socket.id)}emit(ev,...args2){return new broadcast_operator_1.BroadcastOperator(this.adapter).emit(ev,...args2)}send(...args2){this.emit("message",...args2);return this}write(...args2){this.emit("message",...args2);return this}serverSideEmit(ev,...args2){if(exports2.RESERVED_EVENTS.has(ev)){throw new Error(`"${String(ev)}" is a reserved event name`)}args2.unshift(ev);this.adapter.serverSideEmit(args2);return true}serverSideEmitWithAck(ev,...args2){return new Promise((resolve,reject2)=>{args2.push((err,responses)=>{if(err){err.responses=responses;return reject2(err)}else{return resolve(responses)}});this.serverSideEmit(ev,...args2)})}_onServerSideEmit(args2){super.emitUntyped.apply(this,args2)}allSockets(){return new broadcast_operator_1.BroadcastOperator(this.adapter).allSockets()}compress(compress){return new broadcast_operator_1.BroadcastOperator(this.adapter).compress(compress)}get volatile(){return new broadcast_operator_1.BroadcastOperator(this.adapter).volatile}get local(){return new broadcast_operator_1.BroadcastOperator(this.adapter).local}timeout(timeout){return new broadcast_operator_1.BroadcastOperator(this.adapter).timeout(timeout)}fetchSockets(){return new broadcast_operator_1.BroadcastOperator(this.adapter).fetchSockets()}socketsJoin(room){return new broadcast_operator_1.BroadcastOperator(this.adapter).socketsJoin(room)}socketsLeave(room){return new broadcast_operator_1.BroadcastOperator(this.adapter).socketsLeave(room)}disconnectSockets(close=false){return new broadcast_operator_1.BroadcastOperator(this.adapter).disconnectSockets(close)}};exports2.Namespace=Namespace2}});var require_yeast=__commonJS({"node_modules/socket.io-adapter/dist/contrib/yeast.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.yeast=exports2.decode=exports2.encode=void 0;var alphabet2="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split("");var length=64;var map3={};var seed=0;var i=0;var prev;function encode2(num){let encoded="";do{encoded=alphabet2[num%length]+encoded;num=Math.floor(num/length)}while(num>0);return encoded}exports2.encode=encode2;function decode(str2){let decoded=0;for(i=0;i<str2.length;i++){decoded=decoded*length+map3[str2.charAt(i)]}return decoded}exports2.decode=decode;function yeast(){const now3=encode2(+new Date);if(now3!==prev)return seed=0,prev=now3;return now3+"."+encode2(seed++)}exports2.yeast=yeast;for(;i<length;i++)map3[alphabet2[i]]=i}});var require_constants8=__commonJS({"node_modules/socket.io-adapter/node_modules/ws/lib/constants.js"(exports2,module2){"use strict";module2.exports={BINARY_TYPES:["nodebuffer","arraybuffer","fragments"],EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}}});var require_buffer_util3=__commonJS({"node_modules/socket.io-adapter/node_modules/ws/lib/buffer-util.js"(exports2,module2){"use strict";var{EMPTY_BUFFER}=require_constants8();var FastBuffer=Buffer[Symbol.species];function concat3(list,totalLength){if(list.length===0)return EMPTY_BUFFER;if(list.length===1)return list[0];const target=Buffer.allocUnsafe(totalLength);let offset=0;for(let i=0;i<list.length;i++){const buf=list[i];target.set(buf,offset);offset+=buf.length}if(offset<totalLength){return new FastBuffer(target.buffer,target.byteOffset,offset)}return target}function _mask(source,mask,output,offset,length){for(let i=0;i<length;i++){output[offset+i]=source[i]^mask[i&3]}}function _unmask(buffer,mask){for(let i=0;i<buffer.length;i++){buffer[i]^=mask[i&3]}}function toArrayBuffer(buf){if(buf.length===buf.buffer.byteLength){return buf.buffer}return buf.buffer.slice(buf.byteOffset,buf.byteOffset+buf.length)}function toBuffer(data){toBuffer.readOnly=true;if(Buffer.isBuffer(data))return data;let buf;if(data instanceof ArrayBuffer){buf=new FastBuffer(data)}else if(ArrayBuffer.isView(data)){buf=new FastBuffer(data.buffer,data.byteOffset,data.byteLength)}else{buf=Buffer.from(data);toBuffer.readOnly=false}return buf}module2.exports={concat:concat3,mask:_mask,toArrayBuffer,toBuffer,unmask:_unmask};if(!process.env.WS_NO_BUFFER_UTIL){try{const bufferUtil=require("bufferutil");module2.exports.mask=function(source,mask,output,offset,length){if(length<48)_mask(source,mask,output,offset,length);else bufferUtil.mask(source,mask,output,offset,length)};module2.exports.unmask=function(buffer,mask){if(buffer.length<32)_unmask(buffer,mask);else bufferUtil.unmask(buffer,mask)}}catch(e){}}}});var require_limiter3=__commonJS({"node_modules/socket.io-adapter/node_modules/ws/lib/limiter.js"(exports2,module2){"use strict";var kDone=Symbol("kDone");var kRun=Symbol("kRun");var Limiter=class{constructor(concurrency){this[kDone]=()=>{this.pending--;this[kRun]()};this.concurrency=concurrency||Infinity;this.jobs=[];this.pending=0}add(job){this.jobs.push(job);this[kRun]()}[kRun](){if(this.pending===this.concurrency)return;if(this.jobs.length){const job=this.jobs.shift();this.pending++;job(this[kDone])}}};module2.exports=Limiter}});var require_permessage_deflate3=__commonJS({"node_modules/socket.io-adapter/node_modules/ws/lib/permessage-deflate.js"(exports2,module2){"use strict";var zlib2=require("zlib");var bufferUtil=require_buffer_util3();var Limiter=require_limiter3();var{kStatusCode}=require_constants8();var FastBuffer=Buffer[Symbol.species];var TRAILER=Buffer.from([0,0,255,255]);var kPerMessageDeflate=Symbol("permessage-deflate");var kTotalLength=Symbol("total-length");var kCallback=Symbol("callback");var kBuffers=Symbol("buffers");var kError=Symbol("error");var zlibLimiter;var PerMessageDeflate=class{constructor(options,isServer,maxPayload){this._maxPayload=maxPayload|0;this._options=options||{};this._threshold=this._options.threshold!==void 0?this._options.threshold:1024;this._isServer=!!isServer;this._deflate=null;this._inflate=null;this.params=null;if(!zlibLimiter){const concurrency=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;zlibLimiter=new Limiter(concurrency)}}static get extensionName(){return"permessage-deflate"}offer(){const params={};if(this._options.serverNoContextTakeover){params.server_no_context_takeover=true}if(this._options.clientNoContextTakeover){params.client_no_context_takeover=true}if(this._options.serverMaxWindowBits){params.server_max_window_bits=this._options.serverMaxWindowBits}if(this._options.clientMaxWindowBits){params.client_max_window_bits=this._options.clientMaxWindowBits}else if(this._options.clientMaxWindowBits==null){params.client_max_window_bits=true}return params}accept(configurations){configurations=this.normalizeParams(configurations);this.params=this._isServer?this.acceptAsServer(configurations):this.acceptAsClient(configurations);return this.params}cleanup(){if(this._inflate){this._inflate.close();this._inflate=null}if(this._deflate){const callback=this._deflate[kCallback];this._deflate.close();this._deflate=null;if(callback){callback(new Error("The deflate stream was closed while data was being processed"))}}}acceptAsServer(offers){const opts=this._options;const accepted=offers.find(params=>{if(opts.serverNoContextTakeover===false&&params.server_no_context_takeover||params.server_max_window_bits&&(opts.serverMaxWindowBits===false||typeof opts.serverMaxWindowBits==="number"&&opts.serverMaxWindowBits>params.server_max_window_bits)||typeof opts.clientMaxWindowBits==="number"&&!params.client_max_window_bits){return false}return true});if(!accepted){throw new Error("None of the extension offers can be accepted")}if(opts.serverNoContextTakeover){accepted.server_no_context_takeover=true}if(opts.clientNoContextTakeover){accepted.client_no_context_takeover=true}if(typeof opts.serverMaxWindowBits==="number"){accepted.server_max_window_bits=opts.serverMaxWindowBits}if(typeof opts.clientMaxWindowBits==="number"){accepted.client_max_window_bits=opts.clientMaxWindowBits}else if(accepted.client_max_window_bits===true||opts.clientMaxWindowBits===false){delete accepted.client_max_window_bits}return accepted}acceptAsClient(response){const params=response[0];if(this._options.clientNoContextTakeover===false&&params.client_no_context_takeover){throw new Error('Unexpected parameter "client_no_context_takeover"')}if(!params.client_max_window_bits){if(typeof this._options.clientMaxWindowBits==="number"){params.client_max_window_bits=this._options.clientMaxWindowBits}}else if(this._options.clientMaxWindowBits===false||typeof this._options.clientMaxWindowBits==="number"&&params.client_max_window_bits>this._options.clientMaxWindowBits){throw new Error('Unexpected or invalid parameter "client_max_window_bits"')}return params}normalizeParams(configurations){configurations.forEach(params=>{Object.keys(params).forEach(key=>{let value=params[key];if(value.length>1){throw new Error(`Parameter "${key}" must have only a single value`)}value=value[0];if(key==="client_max_window_bits"){if(value!==true){const num=+value;if(!Number.isInteger(num)||num<8||num>15){throw new TypeError(`Invalid value for parameter "${key}": ${value}`)}value=num}else if(!this._isServer){throw new TypeError(`Invalid value for parameter "${key}": ${value}`)}}else if(key==="server_max_window_bits"){const num=+value;if(!Number.isInteger(num)||num<8||num>15){throw new TypeError(`Invalid value for parameter "${key}": ${value}`)}value=num}else if(key==="client_no_context_takeover"||key==="server_no_context_takeover"){if(value!==true){throw new TypeError(`Invalid value for parameter "${key}": ${value}`)}}else{throw new Error(`Unknown parameter "${key}"`)}params[key]=value})});return configurations}decompress(data,fin,callback){zlibLimiter.add(done=>{this._decompress(data,fin,(err,result2)=>{done();callback(err,result2)})})}compress(data,fin,callback){zlibLimiter.add(done=>{this._compress(data,fin,(err,result2)=>{done();callback(err,result2)})})}_decompress(data,fin,callback){const endpoint=this._isServer?"client":"server";if(!this._inflate){const key=`${endpoint}_max_window_bits`;const windowBits=typeof this.params[key]!=="number"?zlib2.Z_DEFAULT_WINDOWBITS:this.params[key];this._inflate=zlib2.createInflateRaw({...this._options.zlibInflateOptions,windowBits});this._inflate[kPerMessageDeflate]=this;this._inflate[kTotalLength]=0;this._inflate[kBuffers]=[];this._inflate.on("error",inflateOnError);this._inflate.on("data",inflateOnData)}this._inflate[kCallback]=callback;this._inflate.write(data);if(fin)this._inflate.write(TRAILER);this._inflate.flush(()=>{const err=this._inflate[kError];if(err){this._inflate.close();this._inflate=null;callback(err);return}const data2=bufferUtil.concat(this._inflate[kBuffers],this._inflate[kTotalLength]);if(this._inflate._readableState.endEmitted){this._inflate.close();this._inflate=null}else{this._inflate[kTotalLength]=0;this._inflate[kBuffers]=[];if(fin&&this.params[`${endpoint}_no_context_takeover`]){this._inflate.reset()}}callback(null,data2)})}_compress(data,fin,callback){const endpoint=this._isServer?"server":"client";if(!this._deflate){const key=`${endpoint}_max_window_bits`;const windowBits=typeof this.params[key]!=="number"?zlib2.Z_DEFAULT_WINDOWBITS:this.params[key];this._deflate=zlib2.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits});this._deflate[kTotalLength]=0;this._deflate[kBuffers]=[];this._deflate.on("data",deflateOnData)}this._deflate[kCallback]=callback;this._deflate.write(data);this._deflate.flush(zlib2.Z_SYNC_FLUSH,()=>{if(!this._deflate){return}let data2=bufferUtil.concat(this._deflate[kBuffers],this._deflate[kTotalLength]);if(fin){data2=new FastBuffer(data2.buffer,data2.byteOffset,data2.length-4)}this._deflate[kCallback]=null;this._deflate[kTotalLength]=0;this._deflate[kBuffers]=[];if(fin&&this.params[`${endpoint}_no_context_takeover`]){this._deflate.reset()}callback(null,data2)})}};module2.exports=PerMessageDeflate;function deflateOnData(chunk2){this[kBuffers].push(chunk2);this[kTotalLength]+=chunk2.length}function inflateOnData(chunk2){this[kTotalLength]+=chunk2.length;if(this[kPerMessageDeflate]._maxPayload<1||this[kTotalLength]<=this[kPerMessageDeflate]._maxPayload){this[kBuffers].push(chunk2);return}this[kError]=new RangeError("Max payload size exceeded");this[kError].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH";this[kError][kStatusCode]=1009;this.removeListener("data",inflateOnData);this.reset()}function inflateOnError(err){this[kPerMessageDeflate]._inflate=null;err[kStatusCode]=1007;this[kCallback](err)}}});var require_validation3=__commonJS({"node_modules/socket.io-adapter/node_modules/ws/lib/validation.js"(exports2,module2){"use strict";var{isUtf8}=require("buffer");var tokenChars=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function isValidStatusCode(code){return code>=1e3&&code<=1014&&code!==1004&&code!==1005&&code!==1006||code>=3e3&&code<=4999}function _isValidUTF8(buf){const len=buf.length;let i=0;while(i<len){if((buf[i]&128)===0){i++}else if((buf[i]&224)===192){if(i+1===len||(buf[i+1]&192)!==128||(buf[i]&254)===192){return false}i+=2}else if((buf[i]&240)===224){if(i+2>=len||(buf[i+1]&192)!==128||(buf[i+2]&192)!==128||buf[i]===224&&(buf[i+1]&224)===128||buf[i]===237&&(buf[i+1]&224)===160){return false}i+=3}else if((buf[i]&248)===240){if(i+3>=len||(buf[i+1]&192)!==128||(buf[i+2]&192)!==128||(buf[i+3]&192)!==128||buf[i]===240&&(buf[i+1]&240)===128||buf[i]===244&&buf[i+1]>143||buf[i]>244){return false}i+=4}else{return false}}return true}module2.exports={isValidStatusCode,isValidUTF8:_isValidUTF8,tokenChars};if(isUtf8){module2.exports.isValidUTF8=function(buf){return buf.length<24?_isValidUTF8(buf):isUtf8(buf)}}else if(!process.env.WS_NO_UTF_8_VALIDATE){try{const isValidUTF8=require("utf-8-validate");module2.exports.isValidUTF8=function(buf){return buf.length<32?_isValidUTF8(buf):isValidUTF8(buf)}}catch(e){}}}});var require_receiver4=__commonJS({"node_modules/socket.io-adapter/node_modules/ws/lib/receiver.js"(exports2,module2){"use strict";var{Writable:Writable4}=require("stream");var PerMessageDeflate=require_permessage_deflate3();var{BINARY_TYPES,EMPTY_BUFFER,kStatusCode,kWebSocket}=require_constants8();var{concat:concat3,toArrayBuffer,unmask}=require_buffer_util3();var{isValidStatusCode,isValidUTF8}=require_validation3();var FastBuffer=Buffer[Symbol.species];var GET_INFO=0;var GET_PAYLOAD_LENGTH_16=1;var GET_PAYLOAD_LENGTH_64=2;var GET_MASK=3;var GET_DATA=4;var INFLATING=5;var DEFER_EVENT=6;var Receiver=class extends Writable4{constructor(options={}){super();this._allowSynchronousEvents=options.allowSynchronousEvents!==void 0?options.allowSynchronousEvents:true;this._binaryType=options.binaryType||BINARY_TYPES[0];this._extensions=options.extensions||{};this._isServer=!!options.isServer;this._maxPayload=options.maxPayload|0;this._skipUTF8Validation=!!options.skipUTF8Validation;this[kWebSocket]=void 0;this._bufferedBytes=0;this._buffers=[];this._compressed=false;this._payloadLength=0;this._mask=void 0;this._fragmented=0;this._masked=false;this._fin=false;this._opcode=0;this._totalPayloadLength=0;this._messageLength=0;this._fragments=[];this._errored=false;this._loop=false;this._state=GET_INFO}_write(chunk2,encoding,cb){if(this._opcode===8&&this._state==GET_INFO)return cb();this._bufferedBytes+=chunk2.length;this._buffers.push(chunk2);this.startLoop(cb)}consume(n){this._bufferedBytes-=n;if(n===this._buffers[0].length)return this._buffers.shift();if(n<this._buffers[0].length){const buf=this._buffers[0];this._buffers[0]=new FastBuffer(buf.buffer,buf.byteOffset+n,buf.length-n);return new FastBuffer(buf.buffer,buf.byteOffset,n)}const dst=Buffer.allocUnsafe(n);do{const buf=this._buffers[0];const offset=dst.length-n;if(n>=buf.length){dst.set(this._buffers.shift(),offset)}else{dst.set(new Uint8Array(buf.buffer,buf.byteOffset,n),offset);this._buffers[0]=new FastBuffer(buf.buffer,buf.byteOffset+n,buf.length-n)}n-=buf.length}while(n>0);return dst}startLoop(cb){this._loop=true;do{switch(this._state){case GET_INFO:this.getInfo(cb);break;case GET_PAYLOAD_LENGTH_16:this.getPayloadLength16(cb);break;case GET_PAYLOAD_LENGTH_64:this.getPayloadLength64(cb);break;case GET_MASK:this.getMask();break;case GET_DATA:this.getData(cb);break;case INFLATING:case DEFER_EVENT:this._loop=false;return}}while(this._loop);if(!this._errored)cb()}getInfo(cb){if(this._bufferedBytes<2){this._loop=false;return}const buf=this.consume(2);if((buf[0]&48)!==0){const error=this.createError(RangeError,"RSV2 and RSV3 must be clear",true,1002,"WS_ERR_UNEXPECTED_RSV_2_3");cb(error);return}const compressed=(buf[0]&64)===64;if(compressed&&!this._extensions[PerMessageDeflate.extensionName]){const error=this.createError(RangeError,"RSV1 must be clear",true,1002,"WS_ERR_UNEXPECTED_RSV_1");cb(error);return}this._fin=(buf[0]&128)===128;this._opcode=buf[0]&15;this._payloadLength=buf[1]&127;if(this._opcode===0){if(compressed){const error=this.createError(RangeError,"RSV1 must be clear",true,1002,"WS_ERR_UNEXPECTED_RSV_1");cb(error);return}if(!this._fragmented){const error=this.createError(RangeError,"invalid opcode 0",true,1002,"WS_ERR_INVALID_OPCODE");cb(error);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){const error=this.createError(RangeError,`invalid opcode ${this._opcode}`,true,1002,"WS_ERR_INVALID_OPCODE");cb(error);return}this._compressed=compressed}else if(this._opcode>7&&this._opcode<11){if(!this._fin){const error=this.createError(RangeError,"FIN must be set",true,1002,"WS_ERR_EXPECTED_FIN");cb(error);return}if(compressed){const error=this.createError(RangeError,"RSV1 must be clear",true,1002,"WS_ERR_UNEXPECTED_RSV_1");cb(error);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){const error=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,true,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");cb(error);return}}else{const error=this.createError(RangeError,`invalid opcode ${this._opcode}`,true,1002,"WS_ERR_INVALID_OPCODE");cb(error);return}if(!this._fin&&!this._fragmented)this._fragmented=this._opcode;this._masked=(buf[1]&128)===128;if(this._isServer){if(!this._masked){const error=this.createError(RangeError,"MASK must be set",true,1002,"WS_ERR_EXPECTED_MASK");cb(error);return}}else if(this._masked){const error=this.createError(RangeError,"MASK must be clear",true,1002,"WS_ERR_UNEXPECTED_MASK");cb(error);return}if(this._payloadLength===126)this._state=GET_PAYLOAD_LENGTH_16;else if(this._payloadLength===127)this._state=GET_PAYLOAD_LENGTH_64;else this.haveLength(cb)}getPayloadLength16(cb){if(this._bufferedBytes<2){this._loop=false;return}this._payloadLength=this.consume(2).readUInt16BE(0);this.haveLength(cb)}getPayloadLength64(cb){if(this._bufferedBytes<8){this._loop=false;return}const buf=this.consume(8);const num=buf.readUInt32BE(0);if(num>Math.pow(2,53-32)-1){const error=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",false,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");cb(error);return}this._payloadLength=num*Math.pow(2,32)+buf.readUInt32BE(4);this.haveLength(cb)}haveLength(cb){if(this._payloadLength&&this._opcode<8){this._totalPayloadLength+=this._payloadLength;if(this._totalPayloadLength>this._maxPayload&&this._maxPayload>0){const error=this.createError(RangeError,"Max payload size exceeded",false,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");cb(error);return}}if(this._masked)this._state=GET_MASK;else this._state=GET_DATA}getMask(){if(this._bufferedBytes<4){this._loop=false;return}this._mask=this.consume(4);this._state=GET_DATA}getData(cb){let data=EMPTY_BUFFER;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=false;return}data=this.consume(this._payloadLength);if(this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!==0){unmask(data,this._mask)}}if(this._opcode>7){this.controlMessage(data,cb);return}if(this._compressed){this._state=INFLATING;this.decompress(data,cb);return}if(data.length){this._messageLength=this._totalPayloadLength;this._fragments.push(data)}this.dataMessage(cb)}decompress(data,cb){const perMessageDeflate=this._extensions[PerMessageDeflate.extensionName];perMessageDeflate.decompress(data,this._fin,(err,buf)=>{if(err)return cb(err);if(buf.length){this._messageLength+=buf.length;if(this._messageLength>this._maxPayload&&this._maxPayload>0){const error=this.createError(RangeError,"Max payload size exceeded",false,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");cb(error);return}this._fragments.push(buf)}this.dataMessage(cb);if(this._state===GET_INFO)this.startLoop(cb)})}dataMessage(cb){if(!this._fin){this._state=GET_INFO;return}const messageLength=this._messageLength;const fragments=this._fragments;this._totalPayloadLength=0;this._messageLength=0;this._fragmented=0;this._fragments=[];if(this._opcode===2){let data;if(this._binaryType==="nodebuffer"){data=concat3(fragments,messageLength)}else if(this._binaryType==="arraybuffer"){data=toArrayBuffer(concat3(fragments,messageLength))}else{data=fragments}if(this._allowSynchronousEvents){this.emit("message",data,true);this._state=GET_INFO}else{this._state=DEFER_EVENT;setImmediate(()=>{this.emit("message",data,true);this._state=GET_INFO;this.startLoop(cb)})}}else{const buf=concat3(fragments,messageLength);if(!this._skipUTF8Validation&&!isValidUTF8(buf)){const error=this.createError(Error,"invalid UTF-8 sequence",true,1007,"WS_ERR_INVALID_UTF8");cb(error);return}if(this._state===INFLATING||this._allowSynchronousEvents){this.emit("message",buf,false);this._state=GET_INFO}else{this._state=DEFER_EVENT;setImmediate(()=>{this.emit("message",buf,false);this._state=GET_INFO;this.startLoop(cb)})}}}controlMessage(data,cb){if(this._opcode===8){if(data.length===0){this._loop=false;this.emit("conclude",1005,EMPTY_BUFFER);this.end()}else{const code=data.readUInt16BE(0);if(!isValidStatusCode(code)){const error=this.createError(RangeError,`invalid status code ${code}`,true,1002,"WS_ERR_INVALID_CLOSE_CODE");cb(error);return}const buf=new FastBuffer(data.buffer,data.byteOffset+2,data.length-2);if(!this._skipUTF8Validation&&!isValidUTF8(buf)){const error=this.createError(Error,"invalid UTF-8 sequence",true,1007,"WS_ERR_INVALID_UTF8");cb(error);return}this._loop=false;this.emit("conclude",code,buf);this.end()}this._state=GET_INFO;return}if(this._allowSynchronousEvents){this.emit(this._opcode===9?"ping":"pong",data);this._state=GET_INFO}else{this._state=DEFER_EVENT;setImmediate(()=>{this.emit(this._opcode===9?"ping":"pong",data);this._state=GET_INFO;this.startLoop(cb)})}}createError(ErrorCtor,message3,prefix,statusCode,errorCode){this._loop=false;this._errored=true;const err=new ErrorCtor(prefix?`Invalid WebSocket frame: ${message3}`:message3);Error.captureStackTrace(err,this.createError);err.code=errorCode;err[kStatusCode]=statusCode;return err}};module2.exports=Receiver}});var require_sender3=__commonJS({"node_modules/socket.io-adapter/node_modules/ws/lib/sender.js"(exports2,module2){"use strict";var{Duplex:Duplex2}=require("stream");var{randomFillSync:randomFillSync3}=require("crypto");var PerMessageDeflate=require_permessage_deflate3();var{EMPTY_BUFFER}=require_constants8();var{isValidStatusCode}=require_validation3();var{mask:applyMask,toBuffer}=require_buffer_util3();var kByteLength=Symbol("kByteLength");var maskBuffer=Buffer.alloc(4);var RANDOM_POOL_SIZE=8*1024;var randomPool;var randomPoolPointer=RANDOM_POOL_SIZE;var Sender=class _Sender{constructor(socket,extensions2,generateMask){this._extensions=extensions2||{};if(generateMask){this._generateMask=generateMask;this._maskBuffer=Buffer.alloc(4)}this._socket=socket;this._firstFragment=true;this._compress=false;this._bufferedBytes=0;this._deflating=false;this._queue=[]}static frame(data,options){let mask;let merge3=false;let offset=2;let skipMasking=false;if(options.mask){mask=options.maskBuffer||maskBuffer;if(options.generateMask){options.generateMask(mask)}else{if(randomPoolPointer===RANDOM_POOL_SIZE){if(randomPool===void 0){randomPool=Buffer.alloc(RANDOM_POOL_SIZE)}randomFillSync3(randomPool,0,RANDOM_POOL_SIZE);randomPoolPointer=0}mask[0]=randomPool[randomPoolPointer++];mask[1]=randomPool[randomPoolPointer++];mask[2]=randomPool[randomPoolPointer++];mask[3]=randomPool[randomPoolPointer++]}skipMasking=(mask[0]|mask[1]|mask[2]|mask[3])===0;offset=6}let dataLength;if(typeof data==="string"){if((!options.mask||skipMasking)&&options[kByteLength]!==void 0){dataLength=options[kByteLength]}else{data=Buffer.from(data);dataLength=data.length}}else{dataLength=data.length;merge3=options.mask&&options.readOnly&&!skipMasking}let payloadLength=dataLength;if(dataLength>=65536){offset+=8;payloadLength=127}else if(dataLength>125){offset+=2;payloadLength=126}const target=Buffer.allocUnsafe(merge3?dataLength+offset:offset);target[0]=options.fin?options.opcode|128:options.opcode;if(options.rsv1)target[0]|=64;target[1]=payloadLength;if(payloadLength===126){target.writeUInt16BE(dataLength,2)}else if(payloadLength===127){target[2]=target[3]=0;target.writeUIntBE(dataLength,4,6)}if(!options.mask)return[target,data];target[1]|=128;target[offset-4]=mask[0];target[offset-3]=mask[1];target[offset-2]=mask[2];target[offset-1]=mask[3];if(skipMasking)return[target,data];if(merge3){applyMask(data,mask,target,offset,dataLength);return[target]}applyMask(data,mask,data,0,dataLength);return[target,data]}close(code,data,mask,cb){let buf;if(code===void 0){buf=EMPTY_BUFFER}else if(typeof code!=="number"||!isValidStatusCode(code)){throw new TypeError("First argument must be a valid error code number")}else if(data===void 0||!data.length){buf=Buffer.allocUnsafe(2);buf.writeUInt16BE(code,0)}else{const length=Buffer.byteLength(data);if(length>123){throw new RangeError("The message must not be greater than 123 bytes")}buf=Buffer.allocUnsafe(2+length);buf.writeUInt16BE(code,0);if(typeof data==="string"){buf.write(data,2)}else{buf.set(data,2)}}const options={[kByteLength]:buf.length,fin:true,generateMask:this._generateMask,mask,maskBuffer:this._maskBuffer,opcode:8,readOnly:false,rsv1:false};if(this._deflating){this.enqueue([this.dispatch,buf,false,options,cb])}else{this.sendFrame(_Sender.frame(buf,options),cb)}}ping(data,mask,cb){let byteLength;let readOnly;if(typeof data==="string"){byteLength=Buffer.byteLength(data);readOnly=false}else{data=toBuffer(data);byteLength=data.length;readOnly=toBuffer.readOnly}if(byteLength>125){throw new RangeError("The data size must not be greater than 125 bytes")}const options={[kByteLength]:byteLength,fin:true,generateMask:this._generateMask,mask,maskBuffer:this._maskBuffer,opcode:9,readOnly,rsv1:false};if(this._deflating){this.enqueue([this.dispatch,data,false,options,cb])}else{this.sendFrame(_Sender.frame(data,options),cb)}}pong(data,mask,cb){let byteLength;let readOnly;if(typeof data==="string"){byteLength=Buffer.byteLength(data);readOnly=false}else{data=toBuffer(data);byteLength=data.length;readOnly=toBuffer.readOnly}if(byteLength>125){throw new RangeError("The data size must not be greater than 125 bytes")}const options={[kByteLength]:byteLength,fin:true,generateMask:this._generateMask,mask,maskBuffer:this._maskBuffer,opcode:10,readOnly,rsv1:false};if(this._deflating){this.enqueue([this.dispatch,data,false,options,cb])}else{this.sendFrame(_Sender.frame(data,options),cb)}}send(data,options,cb){const perMessageDeflate=this._extensions[PerMessageDeflate.extensionName];let opcode=options.binary?2:1;let rsv1=options.compress;let byteLength;let readOnly;if(typeof data==="string"){byteLength=Buffer.byteLength(data);readOnly=false}else{data=toBuffer(data);byteLength=data.length;readOnly=toBuffer.readOnly}if(this._firstFragment){this._firstFragment=false;if(rsv1&&perMessageDeflate&&perMessageDeflate.params[perMessageDeflate._isServer?"server_no_context_takeover":"client_no_context_takeover"]){rsv1=byteLength>=perMessageDeflate._threshold}this._compress=rsv1}else{rsv1=false;opcode=0}if(options.fin)this._firstFragment=true;if(perMessageDeflate){const opts={[kByteLength]:byteLength,fin:options.fin,generateMask:this._generateMask,mask:options.mask,maskBuffer:this._maskBuffer,opcode,readOnly,rsv1};if(this._deflating){this.enqueue([this.dispatch,data,this._compress,opts,cb])}else{this.dispatch(data,this._compress,opts,cb)}}else{this.sendFrame(_Sender.frame(data,{[kByteLength]:byteLength,fin:options.fin,generateMask:this._generateMask,mask:options.mask,maskBuffer:this._maskBuffer,opcode,readOnly,rsv1:false}),cb)}}dispatch(data,compress,options,cb){if(!compress){this.sendFrame(_Sender.frame(data,options),cb);return}const perMessageDeflate=this._extensions[PerMessageDeflate.extensionName];this._bufferedBytes+=options[kByteLength];this._deflating=true;perMessageDeflate.compress(data,options.fin,(_,buf)=>{if(this._socket.destroyed){const err=new Error("The socket was closed while data was being compressed");if(typeof cb==="function")cb(err);for(let i=0;i<this._queue.length;i++){const params=this._queue[i];const callback=params[params.length-1];if(typeof callback==="function")callback(err)}return}this._bufferedBytes-=options[kByteLength];this._deflating=false;options.readOnly=false;this.sendFrame(_Sender.frame(buf,options),cb);this.dequeue()})}dequeue(){while(!this._deflating&&this._queue.length){const params=this._queue.shift();this._bufferedBytes-=params[3][kByteLength];Reflect.apply(params[0],this,params.slice(1))}}enqueue(params){this._bufferedBytes+=params[3][kByteLength];this._queue.push(params)}sendFrame(list,cb){if(list.length===2){this._socket.cork();this._socket.write(list[0]);this._socket.write(list[1],cb);this._socket.uncork()}else{this._socket.write(list[0],cb)}}};module2.exports=Sender}});var require_event_target3=__commonJS({"node_modules/socket.io-adapter/node_modules/ws/lib/event-target.js"(exports2,module2){"use strict";var{kForOnEventAttribute,kListener}=require_constants8();var kCode=Symbol("kCode");var kData=Symbol("kData");var kError=Symbol("kError");var kMessage=Symbol("kMessage");var kReason=Symbol("kReason");var kTarget=Symbol("kTarget");var kType=Symbol("kType");var kWasClean=Symbol("kWasClean");var Event2=class{constructor(type2){this[kTarget]=null;this[kType]=type2}get target(){return this[kTarget]}get type(){return this[kType]}};Object.defineProperty(Event2.prototype,"target",{enumerable:true});Object.defineProperty(Event2.prototype,"type",{enumerable:true});var CloseEvent=class extends Event2{constructor(type2,options={}){super(type2);this[kCode]=options.code===void 0?0:options.code;this[kReason]=options.reason===void 0?"":options.reason;this[kWasClean]=options.wasClean===void 0?false:options.wasClean}get code(){return this[kCode]}get reason(){return this[kReason]}get wasClean(){return this[kWasClean]}};Object.defineProperty(CloseEvent.prototype,"code",{enumerable:true});Object.defineProperty(CloseEvent.prototype,"reason",{enumerable:true});Object.defineProperty(CloseEvent.prototype,"wasClean",{enumerable:true});var ErrorEvent=class extends Event2{constructor(type2,options={}){super(type2);this[kError]=options.error===void 0?null:options.error;this[kMessage]=options.message===void 0?"":options.message}get error(){return this[kError]}get message(){return this[kMessage]}};Object.defineProperty(ErrorEvent.prototype,"error",{enumerable:true});Object.defineProperty(ErrorEvent.prototype,"message",{enumerable:true});var MessageEvent=class extends Event2{constructor(type2,options={}){super(type2);this[kData]=options.data===void 0?null:options.data}get data(){return this[kData]}};Object.defineProperty(MessageEvent.prototype,"data",{enumerable:true});var EventTarget2={addEventListener(type2,handler,options={}){for(const listener of this.listeners(type2)){if(!options[kForOnEventAttribute]&&listener[kListener]===handler&&!listener[kForOnEventAttribute]){return}}let wrapper;if(type2==="message"){wrapper=function onMessage(data,isBinary2){const event=new MessageEvent("message",{data:isBinary2?data:data.toString()});event[kTarget]=this;callListener(handler,this,event)}}else if(type2==="close"){wrapper=function onClose(code,message3){const event=new CloseEvent("close",{code,reason:message3.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});event[kTarget]=this;callListener(handler,this,event)}}else if(type2==="error"){wrapper=function onError(error){const event=new ErrorEvent("error",{error,message:error.message});event[kTarget]=this;callListener(handler,this,event)}}else if(type2==="open"){wrapper=function onOpen(){const event=new Event2("open");event[kTarget]=this;callListener(handler,this,event)}}else{return}wrapper[kForOnEventAttribute]=!!options[kForOnEventAttribute];wrapper[kListener]=handler;if(options.once){this.once(type2,wrapper)}else{this.on(type2,wrapper)}},removeEventListener(type2,handler){for(const listener of this.listeners(type2)){if(listener[kListener]===handler&&!listener[kForOnEventAttribute]){this.removeListener(type2,listener);break}}}};module2.exports={CloseEvent,ErrorEvent,Event:Event2,EventTarget:EventTarget2,MessageEvent};function callListener(listener,thisArg,event){if(typeof listener==="object"&&listener.handleEvent){listener.handleEvent.call(listener,event)}else{listener.call(thisArg,event)}}}});var require_extension3=__commonJS({"node_modules/socket.io-adapter/node_modules/ws/lib/extension.js"(exports2,module2){"use strict";var{tokenChars}=require_validation3();function push(dest,name,elem){if(dest[name]===void 0)dest[name]=[elem];else dest[name].push(elem)}function parse3(header2){const offers=Object.create(null);let params=Object.create(null);let mustUnescape=false;let isEscaping=false;let inQuotes=false;let extensionName;let paramName;let start=-1;let code=-1;let end=-1;let i=0;for(;i<header2.length;i++){code=header2.charCodeAt(i);if(extensionName===void 0){if(end===-1&&tokenChars[code]===1){if(start===-1)start=i}else if(i!==0&&(code===32||code===9)){if(end===-1&&start!==-1)end=i}else if(code===59||code===44){if(start===-1){throw new SyntaxError(`Unexpected character at index ${i}`)}if(end===-1)end=i;const name=header2.slice(start,end);if(code===44){push(offers,name,params);params=Object.create(null)}else{extensionName=name}start=end=-1}else{throw new SyntaxError(`Unexpected character at index ${i}`)}}else if(paramName===void 0){if(end===-1&&tokenChars[code]===1){if(start===-1)start=i}else if(code===32||code===9){if(end===-1&&start!==-1)end=i}else if(code===59||code===44){if(start===-1){throw new SyntaxError(`Unexpected character at index ${i}`)}if(end===-1)end=i;push(params,header2.slice(start,end),true);if(code===44){push(offers,extensionName,params);params=Object.create(null);extensionName=void 0}start=end=-1}else if(code===61&&start!==-1&&end===-1){paramName=header2.slice(start,i);start=end=-1}else{throw new SyntaxError(`Unexpected character at index ${i}`)}}else{if(isEscaping){if(tokenChars[code]!==1){throw new SyntaxError(`Unexpected character at index ${i}`)}if(start===-1)start=i;else if(!mustUnescape)mustUnescape=true;isEscaping=false}else if(inQuotes){if(tokenChars[code]===1){if(start===-1)start=i}else if(code===34&&start!==-1){inQuotes=false;end=i}else if(code===92){isEscaping=true}else{throw new SyntaxError(`Unexpected character at index ${i}`)}}else if(code===34&&header2.charCodeAt(i-1)===61){inQuotes=true}else if(end===-1&&tokenChars[code]===1){if(start===-1)start=i}else if(start!==-1&&(code===32||code===9)){if(end===-1)end=i}else if(code===59||code===44){if(start===-1){throw new SyntaxError(`Unexpected character at index ${i}`)}if(end===-1)end=i;let value=header2.slice(start,end);if(mustUnescape){value=value.replace(/\\/g,"");mustUnescape=false}push(params,paramName,value);if(code===44){push(offers,extensionName,params);params=Object.create(null);extensionName=void 0}paramName=void 0;start=end=-1}else{throw new SyntaxError(`Unexpected character at index ${i}`)}}}if(start===-1||inQuotes||code===32||code===9){throw new SyntaxError("Unexpected end of input")}if(end===-1)end=i;const token3=header2.slice(start,end);if(extensionName===void 0){push(offers,token3,params)}else{if(paramName===void 0){push(params,token3,true)}else if(mustUnescape){push(params,paramName,token3.replace(/\\/g,""))}else{push(params,paramName,token3)}push(offers,extensionName,params)}return offers}function format2(extensions2){return Object.keys(extensions2).map(extension=>{let configurations=extensions2[extension];if(!Array.isArray(configurations))configurations=[configurations];return configurations.map(params=>{return[extension].concat(Object.keys(params).map(k=>{let values2=params[k];if(!Array.isArray(values2))values2=[values2];return values2.map(v=>v===true?k:`${k}=${v}`).join("; ")})).join("; ")}).join(", ")}).join(", ")}module2.exports={format:format2,parse:parse3}}});var require_websocket6=__commonJS({"node_modules/socket.io-adapter/node_modules/ws/lib/websocket.js"(exports2,module2){"use strict";var EventEmitter3=require("events");var https2=require("https");var http3=require("http");var net2=require("net");var tls=require("tls");var{randomBytes,createHash:createHash4}=require("crypto");var{Duplex:Duplex2,Readable:Readable2}=require("stream");var{URL:URL3}=require("url");var PerMessageDeflate=require_permessage_deflate3();var Receiver=require_receiver4();var Sender=require_sender3();var{BINARY_TYPES,EMPTY_BUFFER,GUID,kForOnEventAttribute,kListener,kStatusCode,kWebSocket,NOOP}=require_constants8();var{EventTarget:{addEventListener,removeEventListener}}=require_event_target3();var{format:format2,parse:parse3}=require_extension3();var{toBuffer}=require_buffer_util3();var closeTimeout=30*1e3;var kAborted=Symbol("kAborted");var protocolVersions=[8,13];var readyStates=["CONNECTING","OPEN","CLOSING","CLOSED"];var subprotocolRegex=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/;var WebSocket2=class _WebSocket extends EventEmitter3{constructor(address,protocols,options){super();this._binaryType=BINARY_TYPES[0];this._closeCode=1006;this._closeFrameReceived=false;this._closeFrameSent=false;this._closeMessage=EMPTY_BUFFER;this._closeTimer=null;this._extensions={};this._paused=false;this._protocol="";this._readyState=_WebSocket.CONNECTING;this._receiver=null;this._sender=null;this._socket=null;if(address!==null){this._bufferedAmount=0;this._isServer=false;this._redirects=0;if(protocols===void 0){protocols=[]}else if(!Array.isArray(protocols)){if(typeof protocols==="object"&&protocols!==null){options=protocols;protocols=[]}else{protocols=[protocols]}}initAsClient(this,address,protocols,options)}else{this._autoPong=options.autoPong;this._isServer=true}}get binaryType(){return this._binaryType}set binaryType(type2){if(!BINARY_TYPES.includes(type2))return;this._binaryType=type2;if(this._receiver)this._receiver._binaryType=type2}get bufferedAmount(){if(!this._socket)return this._bufferedAmount;return this._socket._writableState.length+this._sender._bufferedBytes}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(socket,head2,options){const receiver=new Receiver({allowSynchronousEvents:options.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:options.maxPayload,skipUTF8Validation:options.skipUTF8Validation});this._sender=new Sender(socket,this._extensions,options.generateMask);this._receiver=receiver;this._socket=socket;receiver[kWebSocket]=this;socket[kWebSocket]=this;receiver.on("conclude",receiverOnConclude);receiver.on("drain",receiverOnDrain);receiver.on("error",receiverOnError);receiver.on("message",receiverOnMessage);receiver.on("ping",receiverOnPing);receiver.on("pong",receiverOnPong);if(socket.setTimeout)socket.setTimeout(0);if(socket.setNoDelay)socket.setNoDelay();if(head2.length>0)socket.unshift(head2);socket.on("close",socketOnClose);socket.on("data",socketOnData);socket.on("end",socketOnEnd);socket.on("error",socketOnError);this._readyState=_WebSocket.OPEN;this.emit("open")}emitClose(){if(!this._socket){this._readyState=_WebSocket.CLOSED;this.emit("close",this._closeCode,this._closeMessage);return}if(this._extensions[PerMessageDeflate.extensionName]){this._extensions[PerMessageDeflate.extensionName].cleanup()}this._receiver.removeAllListeners();this._readyState=_WebSocket.CLOSED;this.emit("close",this._closeCode,this._closeMessage)}close(code,data){if(this.readyState===_WebSocket.CLOSED)return;if(this.readyState===_WebSocket.CONNECTING){const msg="WebSocket was closed before the connection was established";abortHandshake(this,this._req,msg);return}if(this.readyState===_WebSocket.CLOSING){if(this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)){this._socket.end()}return}this._readyState=_WebSocket.CLOSING;this._sender.close(code,data,!this._isServer,err=>{if(err)return;this._closeFrameSent=true;if(this._closeFrameReceived||this._receiver._writableState.errorEmitted){this._socket.end()}});this._closeTimer=setTimeout(this._socket.destroy.bind(this._socket),closeTimeout)}pause(){if(this.readyState===_WebSocket.CONNECTING||this.readyState===_WebSocket.CLOSED){return}this._paused=true;this._socket.pause()}ping(data,mask,cb){if(this.readyState===_WebSocket.CONNECTING){throw new Error("WebSocket is not open: readyState 0 (CONNECTING)")}if(typeof data==="function"){cb=data;data=mask=void 0}else if(typeof mask==="function"){cb=mask;mask=void 0}if(typeof data==="number")data=data.toString();if(this.readyState!==_WebSocket.OPEN){sendAfterClose(this,data,cb);return}if(mask===void 0)mask=!this._isServer;this._sender.ping(data||EMPTY_BUFFER,mask,cb)}pong(data,mask,cb){if(this.readyState===_WebSocket.CONNECTING){throw new Error("WebSocket is not open: readyState 0 (CONNECTING)")}if(typeof data==="function"){cb=data;data=mask=void 0}else if(typeof mask==="function"){cb=mask;mask=void 0}if(typeof data==="number")data=data.toString();if(this.readyState!==_WebSocket.OPEN){sendAfterClose(this,data,cb);return}if(mask===void 0)mask=!this._isServer;this._sender.pong(data||EMPTY_BUFFER,mask,cb)}resume(){if(this.readyState===_WebSocket.CONNECTING||this.readyState===_WebSocket.CLOSED){return}this._paused=false;if(!this._receiver._writableState.needDrain)this._socket.resume()}send(data,options,cb){if(this.readyState===_WebSocket.CONNECTING){throw new Error("WebSocket is not open: readyState 0 (CONNECTING)")}if(typeof options==="function"){cb=options;options={}}if(typeof data==="number")data=data.toString();if(this.readyState!==_WebSocket.OPEN){sendAfterClose(this,data,cb);return}const opts={binary:typeof data!=="string",mask:!this._isServer,compress:true,fin:true,...options};if(!this._extensions[PerMessageDeflate.extensionName]){opts.compress=false}this._sender.send(data||EMPTY_BUFFER,opts,cb)}terminate(){if(this.readyState===_WebSocket.CLOSED)return;if(this.readyState===_WebSocket.CONNECTING){const msg="WebSocket was closed before the connection was established";abortHandshake(this,this._req,msg);return}if(this._socket){this._readyState=_WebSocket.CLOSING;this._socket.destroy()}}};Object.defineProperty(WebSocket2,"CONNECTING",{enumerable:true,value:readyStates.indexOf("CONNECTING")});Object.defineProperty(WebSocket2.prototype,"CONNECTING",{enumerable:true,value:readyStates.indexOf("CONNECTING")});Object.defineProperty(WebSocket2,"OPEN",{enumerable:true,value:readyStates.indexOf("OPEN")});Object.defineProperty(WebSocket2.prototype,"OPEN",{enumerable:true,value:readyStates.indexOf("OPEN")});Object.defineProperty(WebSocket2,"CLOSING",{enumerable:true,value:readyStates.indexOf("CLOSING")});Object.defineProperty(WebSocket2.prototype,"CLOSING",{enumerable:true,value:readyStates.indexOf("CLOSING")});Object.defineProperty(WebSocket2,"CLOSED",{enumerable:true,value:readyStates.indexOf("CLOSED")});Object.defineProperty(WebSocket2.prototype,"CLOSED",{enumerable:true,value:readyStates.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(property2=>{Object.defineProperty(WebSocket2.prototype,property2,{enumerable:true})});["open","error","close","message"].forEach(method2=>{Object.defineProperty(WebSocket2.prototype,`on${method2}`,{enumerable:true,get(){for(const listener of this.listeners(method2)){if(listener[kForOnEventAttribute])return listener[kListener]}return null},set(handler){for(const listener of this.listeners(method2)){if(listener[kForOnEventAttribute]){this.removeListener(method2,listener);break}}if(typeof handler!=="function")return;this.addEventListener(method2,handler,{[kForOnEventAttribute]:true})}})});WebSocket2.prototype.addEventListener=addEventListener;WebSocket2.prototype.removeEventListener=removeEventListener;module2.exports=WebSocket2;function initAsClient(websocket,address,protocols,options){const opts={allowSynchronousEvents:true,autoPong:true,protocolVersion:protocolVersions[1],maxPayload:100*1024*1024,skipUTF8Validation:false,perMessageDeflate:true,followRedirects:false,maxRedirects:10,...options,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};websocket._autoPong=opts.autoPong;if(!protocolVersions.includes(opts.protocolVersion)){throw new RangeError(`Unsupported protocol version: ${opts.protocolVersion} (supported versions: ${protocolVersions.join(", ")})`)}let parsedUrl;if(address instanceof URL3){parsedUrl=address}else{try{parsedUrl=new URL3(address)}catch(e){throw new SyntaxError(`Invalid URL: ${address}`)}}if(parsedUrl.protocol==="http:"){parsedUrl.protocol="ws:"}else if(parsedUrl.protocol==="https:"){parsedUrl.protocol="wss:"}websocket._url=parsedUrl.href;const isSecure=parsedUrl.protocol==="wss:";const isIpcUrl=parsedUrl.protocol==="ws+unix:";let invalidUrlMessage2;if(parsedUrl.protocol!=="ws:"&&!isSecure&&!isIpcUrl){invalidUrlMessage2=`The URL's protocol must be one of "ws:", "wss:", "http:", "https", or "ws+unix:"`}else if(isIpcUrl&&!parsedUrl.pathname){invalidUrlMessage2="The URL's pathname is empty"}else if(parsedUrl.hash){invalidUrlMessage2="The URL contains a fragment identifier"}if(invalidUrlMessage2){const err=new SyntaxError(invalidUrlMessage2);if(websocket._redirects===0){throw err}else{emitErrorAndClose(websocket,err);return}}const defaultPort=isSecure?443:80;const key=randomBytes(16).toString("base64");const request=isSecure?https2.request:http3.request;const protocolSet=new Set;let perMessageDeflate;opts.createConnection=opts.createConnection||(isSecure?tlsConnect:netConnect);opts.defaultPort=opts.defaultPort||defaultPort;opts.port=parsedUrl.port||defaultPort;opts.host=parsedUrl.hostname.startsWith("[")?parsedUrl.hostname.slice(1,-1):parsedUrl.hostname;opts.headers={...opts.headers,"Sec-WebSocket-Version":opts.protocolVersion,"Sec-WebSocket-Key":key,Connection:"Upgrade",Upgrade:"websocket"};opts.path=parsedUrl.pathname+parsedUrl.search;opts.timeout=opts.handshakeTimeout;if(opts.perMessageDeflate){perMessageDeflate=new PerMessageDeflate(opts.perMessageDeflate!==true?opts.perMessageDeflate:{},false,opts.maxPayload);opts.headers["Sec-WebSocket-Extensions"]=format2({[PerMessageDeflate.extensionName]:perMessageDeflate.offer()})}if(protocols.length){for(const protocol of protocols){if(typeof protocol!=="string"||!subprotocolRegex.test(protocol)||protocolSet.has(protocol)){throw new SyntaxError("An invalid or duplicated subprotocol was specified")}protocolSet.add(protocol)}opts.headers["Sec-WebSocket-Protocol"]=protocols.join(",")}if(opts.origin){if(opts.protocolVersion<13){opts.headers["Sec-WebSocket-Origin"]=opts.origin}else{opts.headers.Origin=opts.origin}}if(parsedUrl.username||parsedUrl.password){opts.auth=`${parsedUrl.username}:${parsedUrl.password}`}if(isIpcUrl){const parts=opts.path.split(":");opts.socketPath=parts[0];opts.path=parts[1]}let req;if(opts.followRedirects){if(websocket._redirects===0){websocket._originalIpc=isIpcUrl;websocket._originalSecure=isSecure;websocket._originalHostOrSocketPath=isIpcUrl?opts.socketPath:parsedUrl.host;const headers=options&&options.headers;options={...options,headers:{}};if(headers){for(const[key2,value]of Object.entries(headers)){options.headers[key2.toLowerCase()]=value}}}else if(websocket.listenerCount("redirect")===0){const isSameHost=isIpcUrl?websocket._originalIpc?opts.socketPath===websocket._originalHostOrSocketPath:false:websocket._originalIpc?false:parsedUrl.host===websocket._originalHostOrSocketPath;if(!isSameHost||websocket._originalSecure&&!isSecure){delete opts.headers.authorization;delete opts.headers.cookie;if(!isSameHost)delete opts.headers.host;opts.auth=void 0}}if(opts.auth&&!options.headers.authorization){options.headers.authorization="Basic "+Buffer.from(opts.auth).toString("base64")}req=websocket._req=request(opts);if(websocket._redirects){websocket.emit("redirect",websocket.url,req)}}else{req=websocket._req=request(opts)}if(opts.timeout){req.on("timeout",()=>{abortHandshake(websocket,req,"Opening handshake has timed out")})}req.on("error",err=>{if(req===null||req[kAborted])return;req=websocket._req=null;emitErrorAndClose(websocket,err)});req.on("response",res=>{const location=res.headers.location;const statusCode=res.statusCode;if(location&&opts.followRedirects&&statusCode>=300&&statusCode<400){if(++websocket._redirects>opts.maxRedirects){abortHandshake(websocket,req,"Maximum redirects exceeded");return}req.abort();let addr;try{addr=new URL3(location,address)}catch(e){const err=new SyntaxError(`Invalid URL: ${location}`);emitErrorAndClose(websocket,err);return}initAsClient(websocket,addr,protocols,options)}else if(!websocket.emit("unexpected-response",req,res)){abortHandshake(websocket,req,`Unexpected server response: ${res.statusCode}`)}});req.on("upgrade",(res,socket,head2)=>{websocket.emit("upgrade",res);if(websocket.readyState!==WebSocket2.CONNECTING)return;req=websocket._req=null;const upgrade=res.headers.upgrade;if(upgrade===void 0||upgrade.toLowerCase()!=="websocket"){abortHandshake(websocket,socket,"Invalid Upgrade header");return}const digest2=createHash4("sha1").update(key+GUID).digest("base64");if(res.headers["sec-websocket-accept"]!==digest2){abortHandshake(websocket,socket,"Invalid Sec-WebSocket-Accept header");return}const serverProt=res.headers["sec-websocket-protocol"];let protError;if(serverProt!==void 0){if(!protocolSet.size){protError="Server sent a subprotocol but none was requested"}else if(!protocolSet.has(serverProt)){protError="Server sent an invalid subprotocol"}}else if(protocolSet.size){protError="Server sent no subprotocol"}if(protError){abortHandshake(websocket,socket,protError);return}if(serverProt)websocket._protocol=serverProt;const secWebSocketExtensions=res.headers["sec-websocket-extensions"];if(secWebSocketExtensions!==void 0){if(!perMessageDeflate){const message3="Server sent a Sec-WebSocket-Extensions header but no extension was requested";abortHandshake(websocket,socket,message3);return}let extensions2;try{extensions2=parse3(secWebSocketExtensions)}catch(err){const message3="Invalid Sec-WebSocket-Extensions header";abortHandshake(websocket,socket,message3);return}const extensionNames=Object.keys(extensions2);if(extensionNames.length!==1||extensionNames[0]!==PerMessageDeflate.extensionName){const message3="Server indicated an extension that was not requested";abortHandshake(websocket,socket,message3);return}try{perMessageDeflate.accept(extensions2[PerMessageDeflate.extensionName])}catch(err){const message3="Invalid Sec-WebSocket-Extensions header";abortHandshake(websocket,socket,message3);return}websocket._extensions[PerMessageDeflate.extensionName]=perMessageDeflate}websocket.setSocket(socket,head2,{allowSynchronousEvents:opts.allowSynchronousEvents,generateMask:opts.generateMask,maxPayload:opts.maxPayload,skipUTF8Validation:opts.skipUTF8Validation})});if(opts.finishRequest){opts.finishRequest(req,websocket)}else{req.end()}}function emitErrorAndClose(websocket,err){websocket._readyState=WebSocket2.CLOSING;websocket.emit("error",err);websocket.emitClose()}function netConnect(options){options.path=options.socketPath;return net2.connect(options)}function tlsConnect(options){options.path=void 0;if(!options.servername&&options.servername!==""){options.servername=net2.isIP(options.host)?"":options.host}return tls.connect(options)}function abortHandshake(websocket,stream3,message3){websocket._readyState=WebSocket2.CLOSING;const err=new Error(message3);Error.captureStackTrace(err,abortHandshake);if(stream3.setHeader){stream3[kAborted]=true;stream3.abort();if(stream3.socket&&!stream3.socket.destroyed){stream3.socket.destroy()}process.nextTick(emitErrorAndClose,websocket,err)}else{stream3.destroy(err);stream3.once("error",websocket.emit.bind(websocket,"error"));stream3.once("close",websocket.emitClose.bind(websocket))}}function sendAfterClose(websocket,data,cb){if(data){const length=toBuffer(data).length;if(websocket._socket)websocket._sender._bufferedBytes+=length;else websocket._bufferedAmount+=length}if(cb){const err=new Error(`WebSocket is not open: readyState ${websocket.readyState} (${readyStates[websocket.readyState]})`);process.nextTick(cb,err)}}function receiverOnConclude(code,reason){const websocket=this[kWebSocket];websocket._closeFrameReceived=true;websocket._closeMessage=reason;websocket._closeCode=code;if(websocket._socket[kWebSocket]===void 0)return;websocket._socket.removeListener("data",socketOnData);process.nextTick(resume,websocket._socket);if(code===1005)websocket.close();else websocket.close(code,reason)}function receiverOnDrain(){const websocket=this[kWebSocket];if(!websocket.isPaused)websocket._socket.resume()}function receiverOnError(err){const websocket=this[kWebSocket];if(websocket._socket[kWebSocket]!==void 0){websocket._socket.removeListener("data",socketOnData);process.nextTick(resume,websocket._socket);websocket.close(err[kStatusCode])}websocket.emit("error",err)}function receiverOnFinish(){this[kWebSocket].emitClose()}function receiverOnMessage(data,isBinary2){this[kWebSocket].emit("message",data,isBinary2)}function receiverOnPing(data){const websocket=this[kWebSocket];if(websocket._autoPong)websocket.pong(data,!this._isServer,NOOP);websocket.emit("ping",data)}function receiverOnPong(data){this[kWebSocket].emit("pong",data)}function resume(stream3){stream3.resume()}function socketOnClose(){const websocket=this[kWebSocket];this.removeListener("close",socketOnClose);this.removeListener("data",socketOnData);this.removeListener("end",socketOnEnd);websocket._readyState=WebSocket2.CLOSING;let chunk2;if(!this._readableState.endEmitted&&!websocket._closeFrameReceived&&!websocket._receiver._writableState.errorEmitted&&(chunk2=websocket._socket.read())!==null){websocket._receiver.write(chunk2)}websocket._receiver.end();this[kWebSocket]=void 0;clearTimeout(websocket._closeTimer);if(websocket._receiver._writableState.finished||websocket._receiver._writableState.errorEmitted){websocket.emitClose()}else{websocket._receiver.on("error",receiverOnFinish);websocket._receiver.on("finish",receiverOnFinish)}}function socketOnData(chunk2){if(!this[kWebSocket]._receiver.write(chunk2)){this.pause()}}function socketOnEnd(){const websocket=this[kWebSocket];websocket._readyState=WebSocket2.CLOSING;websocket._receiver.end();this.end()}function socketOnError(){const websocket=this[kWebSocket];this.removeListener("error",socketOnError);this.on("error",NOOP);if(websocket){websocket._readyState=WebSocket2.CLOSING;this.destroy()}}}});var require_stream4=__commonJS({"node_modules/socket.io-adapter/node_modules/ws/lib/stream.js"(exports2,module2){"use strict";var{Duplex:Duplex2}=require("stream");function emitClose(stream3){stream3.emit("close")}function duplexOnEnd(){if(!this.destroyed&&this._writableState.finished){this.destroy()}}function duplexOnError(err){this.removeListener("error",duplexOnError);this.destroy();if(this.listenerCount("error")===0){this.emit("error",err)}}function createWebSocketStream(ws,options){let terminateOnDestroy=true;const duplex=new Duplex2({...options,autoDestroy:false,emitClose:false,objectMode:false,writableObjectMode:false});ws.on("message",function message3(msg,isBinary2){const data=!isBinary2&&duplex._readableState.objectMode?msg.toString():msg;if(!duplex.push(data))ws.pause()});ws.once("error",function error(err){if(duplex.destroyed)return;terminateOnDestroy=false;duplex.destroy(err)});ws.once("close",function close(){if(duplex.destroyed)return;duplex.push(null)});duplex._destroy=function(err,callback){if(ws.readyState===ws.CLOSED){callback(err);process.nextTick(emitClose,duplex);return}let called=false;ws.once("error",function error(err2){called=true;callback(err2)});ws.once("close",function close(){if(!called)callback(err);process.nextTick(emitClose,duplex)});if(terminateOnDestroy)ws.terminate()};duplex._final=function(callback){if(ws.readyState===ws.CONNECTING){ws.once("open",function open4(){duplex._final(callback)});return}if(ws._socket===null)return;if(ws._socket._writableState.finished){callback();if(duplex._readableState.endEmitted)duplex.destroy()}else{ws._socket.once("finish",function finish(){callback()});ws.close()}};duplex._read=function(){if(ws.isPaused)ws.resume()};duplex._write=function(chunk2,encoding,callback){if(ws.readyState===ws.CONNECTING){ws.once("open",function open4(){duplex._write(chunk2,encoding,callback)});return}ws.send(chunk2,callback)};duplex.on("end",duplexOnEnd);duplex.on("error",duplexOnError);return duplex}module2.exports=createWebSocketStream}});var require_subprotocol3=__commonJS({"node_modules/socket.io-adapter/node_modules/ws/lib/subprotocol.js"(exports2,module2){"use strict";var{tokenChars}=require_validation3();function parse3(header2){const protocols=new Set;let start=-1;let end=-1;let i=0;for(i;i<header2.length;i++){const code=header2.charCodeAt(i);if(end===-1&&tokenChars[code]===1){if(start===-1)start=i}else if(i!==0&&(code===32||code===9)){if(end===-1&&start!==-1)end=i}else if(code===44){if(start===-1){throw new SyntaxError(`Unexpected character at index ${i}`)}if(end===-1)end=i;const protocol2=header2.slice(start,end);if(protocols.has(protocol2)){throw new SyntaxError(`The "${protocol2}" subprotocol is duplicated`)}protocols.add(protocol2);start=end=-1}else{throw new SyntaxError(`Unexpected character at index ${i}`)}}if(start===-1||end!==-1){throw new SyntaxError("Unexpected end of input")}const protocol=header2.slice(start,i);if(protocols.has(protocol)){throw new SyntaxError(`The "${protocol}" subprotocol is duplicated`)}protocols.add(protocol);return protocols}module2.exports={parse:parse3}}});var require_websocket_server3=__commonJS({"node_modules/socket.io-adapter/node_modules/ws/lib/websocket-server.js"(exports2,module2){"use strict";var EventEmitter3=require("events");var http3=require("http");var{Duplex:Duplex2}=require("stream");var{createHash:createHash4}=require("crypto");var extension=require_extension3();var PerMessageDeflate=require_permessage_deflate3();var subprotocol=require_subprotocol3();var WebSocket2=require_websocket6();var{GUID,kWebSocket}=require_constants8();var keyRegex=/^[+/0-9A-Za-z]{22}==$/;var RUNNING=0;var CLOSING=1;var CLOSED=2;var WebSocketServer=class extends EventEmitter3{constructor(options,callback){super();options={allowSynchronousEvents:true,autoPong:true,maxPayload:100*1024*1024,skipUTF8Validation:false,perMessageDeflate:false,handleProtocols:null,clientTracking:true,verifyClient:null,noServer:false,backlog:null,server:null,host:null,path:null,port:null,WebSocket:WebSocket2,...options};if(options.port==null&&!options.server&&!options.noServer||options.port!=null&&(options.server||options.noServer)||options.server&&options.noServer){throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified')}if(options.port!=null){this._server=http3.createServer((req,res)=>{const body=http3.STATUS_CODES[426];res.writeHead(426,{"Content-Length":body.length,"Content-Type":"text/plain"});res.end(body)});this._server.listen(options.port,options.host,options.backlog,callback)}else if(options.server){this._server=options.server}if(this._server){const emitConnection=this.emit.bind(this,"connection");this._removeListeners=addListeners(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(req,socket,head2)=>{this.handleUpgrade(req,socket,head2,emitConnection)}})}if(options.perMessageDeflate===true)options.perMessageDeflate={};if(options.clientTracking){this.clients=new Set;this._shouldEmitClose=false}this.options=options;this._state=RUNNING}address(){if(this.options.noServer){throw new Error('The server is operating in "noServer" mode')}if(!this._server)return null;return this._server.address()}close(cb){if(this._state===CLOSED){if(cb){this.once("close",()=>{cb(new Error("The server is not running"))})}process.nextTick(emitClose,this);return}if(cb)this.once("close",cb);if(this._state===CLOSING)return;this._state=CLOSING;if(this.options.noServer||this.options.server){if(this._server){this._removeListeners();this._removeListeners=this._server=null}if(this.clients){if(!this.clients.size){process.nextTick(emitClose,this)}else{this._shouldEmitClose=true}}else{process.nextTick(emitClose,this)}}else{const server=this._server;this._removeListeners();this._removeListeners=this._server=null;server.close(()=>{emitClose(this)})}}shouldHandle(req){if(this.options.path){const index=req.url.indexOf("?");const pathname=index!==-1?req.url.slice(0,index):req.url;if(pathname!==this.options.path)return false}return true}handleUpgrade(req,socket,head2,cb){socket.on("error",socketOnError);const key=req.headers["sec-websocket-key"];const upgrade=req.headers.upgrade;const version=+req.headers["sec-websocket-version"];if(req.method!=="GET"){const message3="Invalid HTTP method";abortHandshakeOrEmitwsClientError(this,req,socket,405,message3);return}if(upgrade===void 0||upgrade.toLowerCase()!=="websocket"){const message3="Invalid Upgrade header";abortHandshakeOrEmitwsClientError(this,req,socket,400,message3);return}if(key===void 0||!keyRegex.test(key)){const message3="Missing or invalid Sec-WebSocket-Key header";abortHandshakeOrEmitwsClientError(this,req,socket,400,message3);return}if(version!==8&&version!==13){const message3="Missing or invalid Sec-WebSocket-Version header";abortHandshakeOrEmitwsClientError(this,req,socket,400,message3);return}if(!this.shouldHandle(req)){abortHandshake(socket,400);return}const secWebSocketProtocol=req.headers["sec-websocket-protocol"];let protocols=new Set;if(secWebSocketProtocol!==void 0){try{protocols=subprotocol.parse(secWebSocketProtocol)}catch(err){const message3="Invalid Sec-WebSocket-Protocol header";abortHandshakeOrEmitwsClientError(this,req,socket,400,message3);return}}const secWebSocketExtensions=req.headers["sec-websocket-extensions"];const extensions2={};if(this.options.perMessageDeflate&&secWebSocketExtensions!==void 0){const perMessageDeflate=new PerMessageDeflate(this.options.perMessageDeflate,true,this.options.maxPayload);try{const offers=extension.parse(secWebSocketExtensions);if(offers[PerMessageDeflate.extensionName]){perMessageDeflate.accept(offers[PerMessageDeflate.extensionName]);extensions2[PerMessageDeflate.extensionName]=perMessageDeflate}}catch(err){const message3="Invalid or unacceptable Sec-WebSocket-Extensions header";abortHandshakeOrEmitwsClientError(this,req,socket,400,message3);return}}if(this.options.verifyClient){const info={origin:req.headers[`${version===8?"sec-websocket-origin":"origin"}`],secure:!!(req.socket.authorized||req.socket.encrypted),req};if(this.options.verifyClient.length===2){this.options.verifyClient(info,(verified,code,message3,headers)=>{if(!verified){return abortHandshake(socket,code||401,message3,headers)}this.completeUpgrade(extensions2,key,protocols,req,socket,head2,cb)});return}if(!this.options.verifyClient(info))return abortHandshake(socket,401)}this.completeUpgrade(extensions2,key,protocols,req,socket,head2,cb)}completeUpgrade(extensions2,key,protocols,req,socket,head2,cb){if(!socket.readable||!socket.writable)return socket.destroy();if(socket[kWebSocket]){throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration")}if(this._state>RUNNING)return abortHandshake(socket,503);const digest2=createHash4("sha1").update(key+GUID).digest("base64");const headers=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${digest2}`];const ws=new this.options.WebSocket(null,void 0,this.options);if(protocols.size){const protocol=this.options.handleProtocols?this.options.handleProtocols(protocols,req):protocols.values().next().value;if(protocol){headers.push(`Sec-WebSocket-Protocol: ${protocol}`);ws._protocol=protocol}}if(extensions2[PerMessageDeflate.extensionName]){const params=extensions2[PerMessageDeflate.extensionName].params;const value=extension.format({[PerMessageDeflate.extensionName]:[params]});headers.push(`Sec-WebSocket-Extensions: ${value}`);ws._extensions=extensions2}this.emit("headers",headers,req);socket.write(headers.concat("\r\n").join("\r\n"));socket.removeListener("error",socketOnError);ws.setSocket(socket,head2,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation});if(this.clients){this.clients.add(ws);ws.on("close",()=>{this.clients.delete(ws);if(this._shouldEmitClose&&!this.clients.size){process.nextTick(emitClose,this)}})}cb(ws,req)}};module2.exports=WebSocketServer;function addListeners(server,map3){for(const event of Object.keys(map3))server.on(event,map3[event]);return function removeListeners(){for(const event of Object.keys(map3)){server.removeListener(event,map3[event])}}}function emitClose(server){server._state=CLOSED;server.emit("close")}function socketOnError(){this.destroy()}function abortHandshake(socket,code,message3,headers){message3=message3||http3.STATUS_CODES[code];headers={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(message3),...headers};socket.once("finish",socket.destroy);socket.end(`HTTP/1.1 ${code} ${http3.STATUS_CODES[code]}\r
`+Object.keys(headers).map(h=>`${h}: ${headers[h]}`).join("\r\n")+"\r\n\r\n"+message3)}function abortHandshakeOrEmitwsClientError(server,req,socket,code,message3){if(server.listenerCount("wsClientError")){const err=new Error(message3);Error.captureStackTrace(err,abortHandshakeOrEmitwsClientError);server.emit("wsClientError",err,socket,req)}else{abortHandshake(socket,code,message3)}}}});var require_ws3=__commonJS({"node_modules/socket.io-adapter/node_modules/ws/index.js"(exports2,module2){"use strict";var WebSocket2=require_websocket6();WebSocket2.createWebSocketStream=require_stream4();WebSocket2.Server=require_websocket_server3();WebSocket2.Receiver=require_receiver4();WebSocket2.Sender=require_sender3();WebSocket2.WebSocket=WebSocket2;WebSocket2.WebSocketServer=WebSocket2.Server;module2.exports=WebSocket2}});var require_in_memory_adapter=__commonJS({"node_modules/socket.io-adapter/dist/in-memory-adapter.js"(exports2){"use strict";var _a12;Object.defineProperty(exports2,"__esModule",{value:true});exports2.SessionAwareAdapter=exports2.Adapter=void 0;var events_1=require("events");var yeast_1=require_yeast();var WebSocket2=require_ws3();var canPreComputeFrame=typeof((_a12=WebSocket2===null||WebSocket2===void 0?void 0:WebSocket2.Sender)===null||_a12===void 0?void 0:_a12.frame)==="function";var Adapter2=class extends events_1.EventEmitter{constructor(nsp){super();this.nsp=nsp;this.rooms=new Map;this.sids=new Map;this.encoder=nsp.server.encoder}init(){}close(){}serverCount(){return Promise.resolve(1)}addAll(id,rooms){if(!this.sids.has(id)){this.sids.set(id,new Set)}for(const room of rooms){this.sids.get(id).add(room);if(!this.rooms.has(room)){this.rooms.set(room,new Set);this.emit("create-room",room)}if(!this.rooms.get(room).has(id)){this.rooms.get(room).add(id);this.emit("join-room",room,id)}}}del(id,room){if(this.sids.has(id)){this.sids.get(id).delete(room)}this._del(room,id)}_del(room,id){const _room=this.rooms.get(room);if(_room!=null){const deleted=_room.delete(id);if(deleted){this.emit("leave-room",room,id)}if(_room.size===0&&this.rooms.delete(room)){this.emit("delete-room",room)}}}delAll(id){if(!this.sids.has(id)){return}for(const room of this.sids.get(id)){this._del(room,id)}this.sids.delete(id)}broadcast(packet,opts){const flags=opts.flags||{};const packetOpts={preEncoded:true,volatile:flags.volatile,compress:flags.compress};packet.nsp=this.nsp.name;const encodedPackets=this._encode(packet,packetOpts);this.apply(opts,socket=>{if(typeof socket.notifyOutgoingListeners==="function"){socket.notifyOutgoingListeners(packet)}socket.client.writeToEngine(encodedPackets,packetOpts)})}broadcastWithAck(packet,opts,clientCountCallback,ack){const flags=opts.flags||{};const packetOpts={preEncoded:true,volatile:flags.volatile,compress:flags.compress};packet.nsp=this.nsp.name;packet.id=this.nsp._ids++;const encodedPackets=this._encode(packet,packetOpts);let clientCount=0;this.apply(opts,socket=>{clientCount++;socket.acks.set(packet.id,ack);if(typeof socket.notifyOutgoingListeners==="function"){socket.notifyOutgoingListeners(packet)}socket.client.writeToEngine(encodedPackets,packetOpts)});clientCountCallback(clientCount)}_encode(packet,packetOpts){const encodedPackets=this.encoder.encode(packet);if(canPreComputeFrame&&encodedPackets.length===1&&typeof encodedPackets[0]==="string"){const data=Buffer.from("4"+encodedPackets[0]);packetOpts.wsPreEncodedFrame=WebSocket2.Sender.frame(data,{readOnly:false,mask:false,rsv1:false,opcode:1,fin:true})}return encodedPackets}sockets(rooms){const sids=new Set;this.apply({rooms},socket=>{sids.add(socket.id)});return Promise.resolve(sids)}socketRooms(id){return this.sids.get(id)}fetchSockets(opts){const sockets=[];this.apply(opts,socket=>{sockets.push(socket)});return Promise.resolve(sockets)}addSockets(opts,rooms){this.apply(opts,socket=>{socket.join(rooms)})}delSockets(opts,rooms){this.apply(opts,socket=>{rooms.forEach(room=>socket.leave(room))})}disconnectSockets(opts,close){this.apply(opts,socket=>{socket.disconnect(close)})}apply(opts,callback){const rooms=opts.rooms;const except=this.computeExceptSids(opts.except);if(rooms.size){const ids=new Set;for(const room of rooms){if(!this.rooms.has(room))continue;for(const id of this.rooms.get(room)){if(ids.has(id)||except.has(id))continue;const socket=this.nsp.sockets.get(id);if(socket){callback(socket);ids.add(id)}}}}else{for(const[id]of this.sids){if(except.has(id))continue;const socket=this.nsp.sockets.get(id);if(socket)callback(socket)}}}computeExceptSids(exceptRooms){const exceptSids=new Set;if(exceptRooms&&exceptRooms.size>0){for(const room of exceptRooms){if(this.rooms.has(room)){this.rooms.get(room).forEach(sid=>exceptSids.add(sid))}}}return exceptSids}serverSideEmit(packet){console.warn("this adapter does not support the serverSideEmit() functionality")}persistSession(session){}restoreSession(pid,offset){return null}};exports2.Adapter=Adapter2;var SessionAwareAdapter=class extends Adapter2{constructor(nsp){super(nsp);this.nsp=nsp;this.sessions=new Map;this.packets=[];this.maxDisconnectionDuration=nsp.server.opts.connectionStateRecovery.maxDisconnectionDuration;const timer2=setInterval(()=>{const threshold=Date.now()-this.maxDisconnectionDuration;this.sessions.forEach((session,sessionId)=>{const hasExpired=session.disconnectedAt<threshold;if(hasExpired){this.sessions.delete(sessionId)}});for(let i=this.packets.length-1;i>=0;i--){const hasExpired=this.packets[i].emittedAt<threshold;if(hasExpired){this.packets.splice(0,i+1);break}}},60*1e3);timer2.unref()}persistSession(session){session.disconnectedAt=Date.now();this.sessions.set(session.pid,session)}restoreSession(pid,offset){const session=this.sessions.get(pid);if(!session){return null}const hasExpired=session.disconnectedAt+this.maxDisconnectionDuration<Date.now();if(hasExpired){this.sessions.delete(pid);return null}const index=this.packets.findIndex(packet=>packet.id===offset);if(index===-1){return null}const missedPackets=[];for(let i=index+1;i<this.packets.length;i++){const packet=this.packets[i];if(shouldIncludePacket(session.rooms,packet.opts)){missedPackets.push(packet.data)}}return Promise.resolve(Object.assign(Object.assign({},session),{missedPackets}))}broadcast(packet,opts){var _a13;const isEventPacket=packet.type===2;const withoutAcknowledgement=packet.id===void 0;const notVolatile=((_a13=opts.flags)===null||_a13===void 0?void 0:_a13.volatile)===void 0;if(isEventPacket&&withoutAcknowledgement&&notVolatile){const id=(0,yeast_1.yeast)();packet.data.push(id);this.packets.push({id,opts,data:packet.data,emittedAt:Date.now()})}super.broadcast(packet,opts)}};exports2.SessionAwareAdapter=SessionAwareAdapter;function shouldIncludePacket(sessionRooms,opts){const included=opts.rooms.size===0||sessionRooms.some(room=>opts.rooms.has(room));const notExcluded=sessionRooms.every(room=>!opts.except.has(room));return included&&notExcluded}}});var require_common9=__commonJS({"node_modules/socket.io-adapter/node_modules/debug/src/common.js"(exports2,module2){function setup(env2){createDebug.debug=createDebug;createDebug.default=createDebug;createDebug.coerce=coerce2;createDebug.disable=disable;createDebug.enable=enable;createDebug.enabled=enabled3;createDebug.humanize=require_ms();createDebug.destroy=destroy;Object.keys(env2).forEach(key=>{createDebug[key]=env2[key]});createDebug.names=[];createDebug.skips=[];createDebug.formatters={};function selectColor(namespace){let hash=0;for(let i=0;i<namespace.length;i++){hash=(hash<<5)-hash+namespace.charCodeAt(i);hash|=0}return createDebug.colors[Math.abs(hash)%createDebug.colors.length]}createDebug.selectColor=selectColor;function createDebug(namespace){let prevTime;let enableOverride=null;let namespacesCache;let enabledCache;function debug(...args2){if(!debug.enabled){return}const self2=debug;const curr=Number(new Date);const ms=curr-(prevTime||curr);self2.diff=ms;self2.prev=prevTime;self2.curr=curr;prevTime=curr;args2[0]=createDebug.coerce(args2[0]);if(typeof args2[0]!=="string"){args2.unshift("%O")}let index=0;args2[0]=args2[0].replace(/%([a-zA-Z%])/g,(match,format2)=>{if(match==="%%"){return"%"}index++;const formatter=createDebug.formatters[format2];if(typeof formatter==="function"){const val=args2[index];match=formatter.call(self2,val);args2.splice(index,1);index--}return match});createDebug.formatArgs.call(self2,args2);const logFn=self2.log||createDebug.log;logFn.apply(self2,args2)}debug.namespace=namespace;debug.useColors=createDebug.useColors();debug.color=createDebug.selectColor(namespace);debug.extend=extend3;debug.destroy=createDebug.destroy;Object.defineProperty(debug,"enabled",{enumerable:true,configurable:false,get:()=>{if(enableOverride!==null){return enableOverride}if(namespacesCache!==createDebug.namespaces){namespacesCache=createDebug.namespaces;enabledCache=createDebug.enabled(namespace)}return enabledCache},set:v=>{enableOverride=v}});if(typeof createDebug.init==="function"){createDebug.init(debug)}return debug}function extend3(namespace,delimiter){const newDebug=createDebug(this.namespace+(typeof delimiter==="undefined"?":":delimiter)+namespace);newDebug.log=this.log;return newDebug}function enable(namespaces){createDebug.save(namespaces);createDebug.namespaces=namespaces;createDebug.names=[];createDebug.skips=[];let i;const split2=(typeof namespaces==="string"?namespaces:"").split(/[\s,]+/);const len=split2.length;for(i=0;i<len;i++){if(!split2[i]){continue}namespaces=split2[i].replace(/\*/g,".*?");if(namespaces[0]==="-"){createDebug.skips.push(new RegExp("^"+namespaces.slice(1)+"$"))}else{createDebug.names.push(new RegExp("^"+namespaces+"$"))}}}function disable(){const namespaces=[...createDebug.names.map(toNamespace),...createDebug.skips.map(toNamespace).map(namespace=>"-"+namespace)].join(",");createDebug.enable("");return namespaces}function enabled3(name){if(name[name.length-1]==="*"){return true}let i;let len;for(i=0,len=createDebug.skips.length;i<len;i++){if(createDebug.skips[i].test(name)){return false}}for(i=0,len=createDebug.names.length;i<len;i++){if(createDebug.names[i].test(name)){return true}}return false}function toNamespace(regexp){return regexp.toString().substring(2,regexp.toString().length-2).replace(/\.\*\?$/,"*")}function coerce2(val){if(val instanceof Error){return val.stack||val.message}return val}function destroy(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}createDebug.enable(createDebug.load());return createDebug}module2.exports=setup}});var require_browser5=__commonJS({"node_modules/socket.io-adapter/node_modules/debug/src/browser.js"(exports2,module2){exports2.formatArgs=formatArgs;exports2.save=save;exports2.load=load2;exports2.useColors=useColors;exports2.storage=localstorage();exports2.destroy=(()=>{let warned=false;return()=>{if(!warned){warned=true;console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}}})();exports2.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function useColors(){if(typeof window!=="undefined"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)){return true}if(typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)){return false}let m;return typeof document!=="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!=="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!=="undefined"&&navigator.userAgent&&(m=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(m[1],10)>=31||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function formatArgs(args2){args2[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+args2[0]+(this.useColors?"%c ":" ")+"+"+module2.exports.humanize(this.diff);if(!this.useColors){return}const c="color: "+this.color;args2.splice(1,0,c,"color: inherit");let index=0;let lastC=0;args2[0].replace(/%[a-zA-Z%]/g,match=>{if(match==="%%"){return}index++;if(match==="%c"){lastC=index}});args2.splice(lastC,0,c)}exports2.log=console.debug||console.log||(()=>{});function save(namespaces){try{if(namespaces){exports2.storage.setItem("debug",namespaces)}else{exports2.storage.removeItem("debug")}}catch(error){}}function load2(){let r;try{r=exports2.storage.getItem("debug")}catch(error){}if(!r&&typeof process!=="undefined"&&"env"in process){r=process.env.DEBUG}return r}function localstorage(){try{return localStorage}catch(error){}}module2.exports=require_common9()(exports2);var{formatters}=module2.exports;formatters.j=function(v){try{return JSON.stringify(v)}catch(error){return"[UnexpectedJSONParseError]: "+error.message}}}});var require_node5=__commonJS({"node_modules/socket.io-adapter/node_modules/debug/src/node.js"(exports2,module2){var tty2=require("tty");var util4=require("util");exports2.init=init2;exports2.log=log2;exports2.formatArgs=formatArgs;exports2.save=save;exports2.load=load2;exports2.useColors=useColors;exports2.destroy=util4.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");exports2.colors=[6,2,3,4,5,1];try{const supportsColor2=require_supports_color();if(supportsColor2&&(supportsColor2.stderr||supportsColor2).level>=2){exports2.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221]}}catch(error){}exports2.inspectOpts=Object.keys(process.env).filter(key=>{return/^debug_/i.test(key)}).reduce((obj,key)=>{const prop=key.substring(6).toLowerCase().replace(/_([a-z])/g,(_,k)=>{return k.toUpperCase()});let val=process.env[key];if(/^(yes|on|true|enabled)$/i.test(val)){val=true}else if(/^(no|off|false|disabled)$/i.test(val)){val=false}else if(val==="null"){val=null}else{val=Number(val)}obj[prop]=val;return obj},{});function useColors(){return"colors"in exports2.inspectOpts?Boolean(exports2.inspectOpts.colors):tty2.isatty(process.stderr.fd)}function formatArgs(args2){const{namespace:name,useColors:useColors2}=this;if(useColors2){const c=this.color;const colorCode="\x1B[3"+(c<8?c:"8;5;"+c);const prefix=`  ${colorCode};1m${name} \x1B[0m`;args2[0]=prefix+args2[0].split("\n").join("\n"+prefix);args2.push(colorCode+"m+"+module2.exports.humanize(this.diff)+"\x1B[0m")}else{args2[0]=getDate()+name+" "+args2[0]}}function getDate(){if(exports2.inspectOpts.hideDate){return""}return new Date().toISOString()+" "}function log2(...args2){return process.stderr.write(util4.formatWithOptions(exports2.inspectOpts,...args2)+"\n")}function save(namespaces){if(namespaces){process.env.DEBUG=namespaces}else{delete process.env.DEBUG}}function load2(){return process.env.DEBUG}function init2(debug){debug.inspectOpts={};const keys2=Object.keys(exports2.inspectOpts);for(let i=0;i<keys2.length;i++){debug.inspectOpts[keys2[i]]=exports2.inspectOpts[keys2[i]]}}module2.exports=require_common9()(exports2);var{formatters}=module2.exports;formatters.o=function(v){this.inspectOpts.colors=this.useColors;return util4.inspect(v,this.inspectOpts).split("\n").map(str2=>str2.trim()).join(" ")};formatters.O=function(v){this.inspectOpts.colors=this.useColors;return util4.inspect(v,this.inspectOpts)}}});var require_src7=__commonJS({"node_modules/socket.io-adapter/node_modules/debug/src/index.js"(exports2,module2){if(typeof process==="undefined"||process.type==="renderer"||process.browser===true||process.__nwjs){module2.exports=require_browser5()}else{module2.exports=require_node5()}}});var require_cluster_adapter=__commonJS({"node_modules/socket.io-adapter/dist/cluster-adapter.js"(exports2){"use strict";var __rest2=exports2&&exports2.__rest||function(s,e){var t={};for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0)t[p]=s[p];if(s!=null&&typeof Object.getOwnPropertySymbols==="function")for(var i=0,p=Object.getOwnPropertySymbols(s);i<p.length;i++){if(e.indexOf(p[i])<0&&Object.prototype.propertyIsEnumerable.call(s,p[i]))t[p[i]]=s[p[i]]}return t};Object.defineProperty(exports2,"__esModule",{value:true});exports2.ClusterAdapterWithHeartbeat=exports2.ClusterAdapter=exports2.MessageType=void 0;var in_memory_adapter_1=require_in_memory_adapter();var debug_1=require_src7();var crypto_1=require("crypto");var debug=(0,debug_1.debug)("socket.io-adapter");var EMITTER_UID="emitter";var DEFAULT_TIMEOUT=5e3;function randomId(){return(0,crypto_1.randomBytes)(8).toString("hex")}var MessageType;(function(MessageType2){MessageType2[MessageType2["INITIAL_HEARTBEAT"]=1]="INITIAL_HEARTBEAT";MessageType2[MessageType2["HEARTBEAT"]=2]="HEARTBEAT";MessageType2[MessageType2["BROADCAST"]=3]="BROADCAST";MessageType2[MessageType2["SOCKETS_JOIN"]=4]="SOCKETS_JOIN";MessageType2[MessageType2["SOCKETS_LEAVE"]=5]="SOCKETS_LEAVE";MessageType2[MessageType2["DISCONNECT_SOCKETS"]=6]="DISCONNECT_SOCKETS";MessageType2[MessageType2["FETCH_SOCKETS"]=7]="FETCH_SOCKETS";MessageType2[MessageType2["FETCH_SOCKETS_RESPONSE"]=8]="FETCH_SOCKETS_RESPONSE";MessageType2[MessageType2["SERVER_SIDE_EMIT"]=9]="SERVER_SIDE_EMIT";MessageType2[MessageType2["SERVER_SIDE_EMIT_RESPONSE"]=10]="SERVER_SIDE_EMIT_RESPONSE";MessageType2[MessageType2["BROADCAST_CLIENT_COUNT"]=11]="BROADCAST_CLIENT_COUNT";MessageType2[MessageType2["BROADCAST_ACK"]=12]="BROADCAST_ACK";MessageType2[MessageType2["ADAPTER_CLOSE"]=13]="ADAPTER_CLOSE"})(MessageType=exports2.MessageType||(exports2.MessageType={}));function encodeOptions(opts){return{rooms:[...opts.rooms],except:[...opts.except],flags:opts.flags}}function decodeOptions(opts){return{rooms:new Set(opts.rooms),except:new Set(opts.except),flags:opts.flags}}var ClusterAdapter=class extends in_memory_adapter_1.Adapter{constructor(nsp){super(nsp);this.requests=new Map;this.ackRequests=new Map;this.uid=randomId()}onMessage(message3,offset){if(message3.uid===this.uid){return debug("[%s] ignore message from self",this.uid)}debug("[%s] new event of type %d from %s",this.uid,message3.type,message3.uid);switch(message3.type){case MessageType.BROADCAST:{const withAck=message3.data.requestId!==void 0;if(withAck){super.broadcastWithAck(message3.data.packet,decodeOptions(message3.data.opts),clientCount=>{debug("[%s] waiting for %d client acknowledgements",this.uid,clientCount);this.publishResponse(message3.uid,{type:MessageType.BROADCAST_CLIENT_COUNT,data:{requestId:message3.data.requestId,clientCount}})},arg=>{debug("[%s] received acknowledgement with value %j",this.uid,arg);this.publishResponse(message3.uid,{type:MessageType.BROADCAST_ACK,data:{requestId:message3.data.requestId,packet:arg}})})}else{const packet=message3.data.packet;const opts=decodeOptions(message3.data.opts);this.addOffsetIfNecessary(packet,opts,offset);super.broadcast(packet,opts)}break}case MessageType.SOCKETS_JOIN:super.addSockets(decodeOptions(message3.data.opts),message3.data.rooms);break;case MessageType.SOCKETS_LEAVE:super.delSockets(decodeOptions(message3.data.opts),message3.data.rooms);break;case MessageType.DISCONNECT_SOCKETS:super.disconnectSockets(decodeOptions(message3.data.opts),message3.data.close);break;case MessageType.FETCH_SOCKETS:{debug("[%s] calling fetchSockets with opts %j",this.uid,message3.data.opts);super.fetchSockets(decodeOptions(message3.data.opts)).then(localSockets=>{this.publishResponse(message3.uid,{type:MessageType.FETCH_SOCKETS_RESPONSE,data:{requestId:message3.data.requestId,sockets:localSockets.map(socket=>{const _a12=socket.handshake,{sessionStore}=_a12,handshake=__rest2(_a12,["sessionStore"]);return{id:socket.id,handshake,rooms:[...socket.rooms],data:socket.data}})}})});break}case MessageType.SERVER_SIDE_EMIT:{const packet=message3.data.packet;const withAck=message3.data.requestId!==void 0;if(!withAck){this.nsp._onServerSideEmit(packet);return}let called=false;const callback=arg=>{if(called){return}called=true;debug("[%s] calling acknowledgement with %j",this.uid,arg);this.publishResponse(message3.uid,{type:MessageType.SERVER_SIDE_EMIT_RESPONSE,data:{requestId:message3.data.requestId,packet:arg}})};this.nsp._onServerSideEmit([...packet,callback]);break}case MessageType.BROADCAST_CLIENT_COUNT:case MessageType.BROADCAST_ACK:case MessageType.FETCH_SOCKETS_RESPONSE:case MessageType.SERVER_SIDE_EMIT_RESPONSE:this.onResponse(message3);break;default:debug("[%s] unknown message type: %s",this.uid,message3.type)}}onResponse(response){var _a12,_b2;const requestId=response.data.requestId;debug("[%s] received response %s to request %s",this.uid,response.type,requestId);switch(response.type){case MessageType.BROADCAST_CLIENT_COUNT:{(_a12=this.ackRequests.get(requestId))===null||_a12===void 0?void 0:_a12.clientCountCallback(response.data.clientCount);break}case MessageType.BROADCAST_ACK:{(_b2=this.ackRequests.get(requestId))===null||_b2===void 0?void 0:_b2.ack(response.data.packet);break}case MessageType.FETCH_SOCKETS_RESPONSE:{const request=this.requests.get(requestId);if(!request){return}request.current++;response.data.sockets.forEach(socket=>request.responses.push(socket));if(request.current===request.expected){clearTimeout(request.timeout);request.resolve(request.responses);this.requests.delete(requestId)}break}case MessageType.SERVER_SIDE_EMIT_RESPONSE:{const request=this.requests.get(requestId);if(!request){return}request.current++;request.responses.push(response.data.packet);if(request.current===request.expected){clearTimeout(request.timeout);request.resolve(null,request.responses);this.requests.delete(requestId)}break}default:debug("[%s] unknown response type: %s",this.uid,response.type)}}async broadcast(packet,opts){var _a12;const onlyLocal=(_a12=opts.flags)===null||_a12===void 0?void 0:_a12.local;if(!onlyLocal){try{const offset=await this.publishAndReturnOffset({type:MessageType.BROADCAST,data:{packet,opts:encodeOptions(opts)}});this.addOffsetIfNecessary(packet,opts,offset)}catch(e){return debug("[%s] error while broadcasting message: %s",this.uid,e.message)}}super.broadcast(packet,opts)}addOffsetIfNecessary(packet,opts,offset){var _a12;if(!this.nsp.server.opts.connectionStateRecovery){return}const isEventPacket=packet.type===2;const withoutAcknowledgement=packet.id===void 0;const notVolatile=((_a12=opts.flags)===null||_a12===void 0?void 0:_a12.volatile)===void 0;if(isEventPacket&&withoutAcknowledgement&&notVolatile){packet.data.push(offset)}}broadcastWithAck(packet,opts,clientCountCallback,ack){var _a12;const onlyLocal=(_a12=opts===null||opts===void 0?void 0:opts.flags)===null||_a12===void 0?void 0:_a12.local;if(!onlyLocal){const requestId=randomId();this.ackRequests.set(requestId,{clientCountCallback,ack});this.publish({type:MessageType.BROADCAST,data:{packet,requestId,opts:encodeOptions(opts)}});setTimeout(()=>{this.ackRequests.delete(requestId)},opts.flags.timeout)}super.broadcastWithAck(packet,opts,clientCountCallback,ack)}async addSockets(opts,rooms){var _a12;const onlyLocal=(_a12=opts.flags)===null||_a12===void 0?void 0:_a12.local;if(!onlyLocal){try{await this.publishAndReturnOffset({type:MessageType.SOCKETS_JOIN,data:{opts:encodeOptions(opts),rooms}})}catch(e){debug("[%s] error while publishing message: %s",this.uid,e.message)}}super.addSockets(opts,rooms)}async delSockets(opts,rooms){var _a12;const onlyLocal=(_a12=opts.flags)===null||_a12===void 0?void 0:_a12.local;if(!onlyLocal){try{await this.publishAndReturnOffset({type:MessageType.SOCKETS_LEAVE,data:{opts:encodeOptions(opts),rooms}})}catch(e){debug("[%s] error while publishing message: %s",this.uid,e.message)}}super.delSockets(opts,rooms)}async disconnectSockets(opts,close){var _a12;const onlyLocal=(_a12=opts.flags)===null||_a12===void 0?void 0:_a12.local;if(!onlyLocal){try{await this.publishAndReturnOffset({type:MessageType.DISCONNECT_SOCKETS,data:{opts:encodeOptions(opts),close}})}catch(e){debug("[%s] error while publishing message: %s",this.uid,e.message)}}super.disconnectSockets(opts,close)}async fetchSockets(opts){var _a12;const[localSockets,serverCount]=await Promise.all([super.fetchSockets(opts),this.serverCount()]);const expectedResponseCount=serverCount-1;if(((_a12=opts.flags)===null||_a12===void 0?void 0:_a12.local)||expectedResponseCount<=0){return localSockets}const requestId=randomId();return new Promise((resolve,reject2)=>{const timeout=setTimeout(()=>{const storedRequest2=this.requests.get(requestId);if(storedRequest2){reject2(new Error(`timeout reached: only ${storedRequest2.current} responses received out of ${storedRequest2.expected}`));this.requests.delete(requestId)}},opts.flags.timeout||DEFAULT_TIMEOUT);const storedRequest={type:MessageType.FETCH_SOCKETS,resolve,timeout,current:0,expected:expectedResponseCount,responses:localSockets};this.requests.set(requestId,storedRequest);this.publish({type:MessageType.FETCH_SOCKETS,data:{opts:encodeOptions(opts),requestId}})})}async serverSideEmit(packet){const withAck=typeof packet[packet.length-1]==="function";if(!withAck){return this.publish({type:MessageType.SERVER_SIDE_EMIT,data:{packet}})}const ack=packet.pop();const expectedResponseCount=await this.serverCount()-1;debug('[%s] waiting for %d responses to "serverSideEmit" request',this.uid,expectedResponseCount);if(expectedResponseCount<=0){return ack(null,[])}const requestId=randomId();const timeout=setTimeout(()=>{const storedRequest2=this.requests.get(requestId);if(storedRequest2){ack(new Error(`timeout reached: only ${storedRequest2.current} responses received out of ${storedRequest2.expected}`),storedRequest2.responses);this.requests.delete(requestId)}},DEFAULT_TIMEOUT);const storedRequest={type:MessageType.SERVER_SIDE_EMIT,resolve:ack,timeout,current:0,expected:expectedResponseCount,responses:[]};this.requests.set(requestId,storedRequest);this.publish({type:MessageType.SERVER_SIDE_EMIT,data:{requestId,packet}})}publish(message3){this.publishAndReturnOffset(message3).catch(err=>{debug("[%s] error while publishing message: %s",this.uid,err)})}publishAndReturnOffset(message3){message3.uid=this.uid;message3.nsp=this.nsp.name;return this.doPublish(message3)}publishResponse(requesterUid,response){response.uid=this.uid;response.nsp=this.nsp.name;this.doPublishResponse(requesterUid,response).catch(err=>{debug("[%s] error while publishing response: %s",this.uid,err)})}};exports2.ClusterAdapter=ClusterAdapter;var ClusterAdapterWithHeartbeat=class extends ClusterAdapter{constructor(nsp,opts){super(nsp);this.nodesMap=new Map;this.customRequests=new Map;this._opts=Object.assign({heartbeatInterval:5e3,heartbeatTimeout:1e4},opts);this.cleanupTimer=setInterval(()=>{const now3=Date.now();this.nodesMap.forEach((lastSeen,uid)=>{const nodeSeemsDown=now3-lastSeen>this._opts.heartbeatTimeout;if(nodeSeemsDown){debug("[%s] node %s seems down",this.uid,uid);this.removeNode(uid)}})},1e3)}init(){this.publish({type:MessageType.INITIAL_HEARTBEAT})}scheduleHeartbeat(){if(this.heartbeatTimer){this.heartbeatTimer.refresh()}else{this.heartbeatTimer=setTimeout(()=>{this.publish({type:MessageType.HEARTBEAT})},this._opts.heartbeatInterval)}}close(){this.publish({type:MessageType.ADAPTER_CLOSE});clearTimeout(this.heartbeatTimer);if(this.cleanupTimer){clearInterval(this.cleanupTimer)}}onMessage(message3,offset){if(message3.uid===this.uid){return debug("[%s] ignore message from self",this.uid)}if(message3.uid&&message3.uid!==EMITTER_UID){this.nodesMap.set(message3.uid,Date.now())}debug("[%s] new event of type %d from %s",this.uid,message3.type,message3.uid);switch(message3.type){case MessageType.INITIAL_HEARTBEAT:this.publish({type:MessageType.HEARTBEAT});break;case MessageType.HEARTBEAT:break;case MessageType.ADAPTER_CLOSE:this.removeNode(message3.uid);break;default:super.onMessage(message3,offset)}}serverCount(){return Promise.resolve(1+this.nodesMap.size)}publish(message3){this.scheduleHeartbeat();return super.publish(message3)}async serverSideEmit(packet){const withAck=typeof packet[packet.length-1]==="function";if(!withAck){return this.publish({type:MessageType.SERVER_SIDE_EMIT,data:{packet}})}const ack=packet.pop();const expectedResponseCount=this.nodesMap.size;debug('[%s] waiting for %d responses to "serverSideEmit" request',this.uid,expectedResponseCount);if(expectedResponseCount<=0){return ack(null,[])}const requestId=randomId();const timeout=setTimeout(()=>{const storedRequest2=this.customRequests.get(requestId);if(storedRequest2){ack(new Error(`timeout reached: missing ${storedRequest2.missingUids.size} responses`),storedRequest2.responses);this.customRequests.delete(requestId)}},DEFAULT_TIMEOUT);const storedRequest={type:MessageType.SERVER_SIDE_EMIT,resolve:ack,timeout,missingUids:new Set([...this.nodesMap.keys()]),responses:[]};this.customRequests.set(requestId,storedRequest);this.publish({type:MessageType.SERVER_SIDE_EMIT,data:{requestId,packet}})}async fetchSockets(opts){var _a12;const[localSockets,serverCount]=await Promise.all([super.fetchSockets({rooms:opts.rooms,except:opts.except,flags:{local:true}}),this.serverCount()]);const expectedResponseCount=serverCount-1;if(((_a12=opts.flags)===null||_a12===void 0?void 0:_a12.local)||expectedResponseCount<=0){return localSockets}const requestId=randomId();return new Promise((resolve,reject2)=>{const timeout=setTimeout(()=>{const storedRequest2=this.customRequests.get(requestId);if(storedRequest2){reject2(new Error(`timeout reached: missing ${storedRequest2.missingUids.size} responses`));this.customRequests.delete(requestId)}},opts.flags.timeout||DEFAULT_TIMEOUT);const storedRequest={type:MessageType.FETCH_SOCKETS,resolve,timeout,missingUids:new Set([...this.nodesMap.keys()]),responses:localSockets};this.customRequests.set(requestId,storedRequest);this.publish({type:MessageType.FETCH_SOCKETS,data:{opts:encodeOptions(opts),requestId}})})}onResponse(response){const requestId=response.data.requestId;debug("[%s] received response %s to request %s",this.uid,response.type,requestId);switch(response.type){case MessageType.FETCH_SOCKETS_RESPONSE:{const request=this.customRequests.get(requestId);if(!request){return}response.data.sockets.forEach(socket=>request.responses.push(socket));request.missingUids.delete(response.uid);if(request.missingUids.size===0){clearTimeout(request.timeout);request.resolve(request.responses);this.customRequests.delete(requestId)}break}case MessageType.SERVER_SIDE_EMIT_RESPONSE:{const request=this.customRequests.get(requestId);if(!request){return}request.responses.push(response.data.packet);request.missingUids.delete(response.uid);if(request.missingUids.size===0){clearTimeout(request.timeout);request.resolve(null,request.responses);this.customRequests.delete(requestId)}break}default:super.onResponse(response)}}removeNode(uid){this.customRequests.forEach((request,requestId)=>{request.missingUids.delete(uid);if(request.missingUids.size===0){clearTimeout(request.timeout);if(request.type===MessageType.FETCH_SOCKETS){request.resolve(request.responses)}else if(request.type===MessageType.SERVER_SIDE_EMIT){request.resolve(null,request.responses)}this.customRequests.delete(requestId)}});this.nodesMap.delete(uid)}};exports2.ClusterAdapterWithHeartbeat=ClusterAdapterWithHeartbeat}});var require_dist10=__commonJS({"node_modules/socket.io-adapter/dist/index.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.MessageType=exports2.ClusterAdapterWithHeartbeat=exports2.ClusterAdapter=exports2.SessionAwareAdapter=exports2.Adapter=void 0;var in_memory_adapter_1=require_in_memory_adapter();Object.defineProperty(exports2,"Adapter",{enumerable:true,get:function(){return in_memory_adapter_1.Adapter}});Object.defineProperty(exports2,"SessionAwareAdapter",{enumerable:true,get:function(){return in_memory_adapter_1.SessionAwareAdapter}});var cluster_adapter_1=require_cluster_adapter();Object.defineProperty(exports2,"ClusterAdapter",{enumerable:true,get:function(){return cluster_adapter_1.ClusterAdapter}});Object.defineProperty(exports2,"ClusterAdapterWithHeartbeat",{enumerable:true,get:function(){return cluster_adapter_1.ClusterAdapterWithHeartbeat}});Object.defineProperty(exports2,"MessageType",{enumerable:true,get:function(){return cluster_adapter_1.MessageType}})}});var require_parent_namespace=__commonJS({"node_modules/socket.io/dist/parent-namespace.js"(exports2){"use strict";var __importDefault2=exports2&&exports2.__importDefault||function(mod3){return mod3&&mod3.__esModule?mod3:{"default":mod3}};Object.defineProperty(exports2,"__esModule",{value:true});exports2.ParentNamespace=void 0;var namespace_1=require_namespace();var socket_io_adapter_1=require_dist10();var debug_1=__importDefault2(require_src6());var debug=(0,debug_1.default)("socket.io:parent-namespace");var ParentNamespace=class _ParentNamespace extends namespace_1.Namespace{constructor(server){super(server,"/_"+_ParentNamespace.count++);this.children=new Set}_initAdapter(){this.adapter=new ParentBroadcastAdapter(this)}emit(ev,...args2){this.children.forEach(nsp=>{nsp.emit(ev,...args2)});return true}createChild(name){debug("creating child namespace %s",name);const namespace=new namespace_1.Namespace(this.server,name);this["_fns"].forEach(fn2=>namespace.use(fn2));this.listeners("connect").forEach(listener=>namespace.on("connect",listener));this.listeners("connection").forEach(listener=>namespace.on("connection",listener));this.children.add(namespace);if(this.server._opts.cleanupEmptyChildNamespaces){const remove2=namespace._remove;namespace._remove=socket=>{remove2.call(namespace,socket);if(namespace.sockets.size===0){debug("closing child namespace %s",name);namespace.adapter.close();this.server._nsps.delete(namespace.name);this.children.delete(namespace)}}}this.server._nsps.set(name,namespace);this.server.sockets.emitReserved("new_namespace",namespace);return namespace}fetchSockets(){throw new Error("fetchSockets() is not supported on parent namespaces")}};exports2.ParentNamespace=ParentNamespace;ParentNamespace.count=0;var ParentBroadcastAdapter=class extends socket_io_adapter_1.Adapter{broadcast(packet,opts){this.nsp.children.forEach(nsp=>{nsp.adapter.broadcast(packet,opts)})}}}});var require_uws=__commonJS({"node_modules/socket.io/dist/uws.js"(exports2){"use strict";var __importDefault2=exports2&&exports2.__importDefault||function(mod3){return mod3&&mod3.__esModule?mod3:{"default":mod3}};Object.defineProperty(exports2,"__esModule",{value:true});exports2.patchAdapter=patchAdapter;exports2.restoreAdapter=restoreAdapter;exports2.serveFile=serveFile2;var socket_io_adapter_1=require_dist10();var fs_1=require("fs");var debug_1=__importDefault2(require_src6());var debug=(0,debug_1.default)("socket.io:adapter-uws");var SEPARATOR="";var{addAll,del,broadcast}=socket_io_adapter_1.Adapter.prototype;function patchAdapter(app){socket_io_adapter_1.Adapter.prototype.addAll=function(id,rooms){const isNew=!this.sids.has(id);addAll.call(this,id,rooms);const socket=this.nsp.sockets.get(id)||this.nsp._preConnectSockets.get(id);if(!socket){return}if(socket.conn.transport.name==="websocket"){subscribe(this.nsp.name,socket,isNew,rooms);return}if(isNew){socket.conn.on("upgrade",()=>{const rooms2=this.sids.get(id);if(rooms2){subscribe(this.nsp.name,socket,isNew,rooms2)}})}};socket_io_adapter_1.Adapter.prototype.del=function(id,room){del.call(this,id,room);const socket=this.nsp.sockets.get(id)||this.nsp._preConnectSockets.get(id);if(socket&&socket.conn.transport.name==="websocket"){const sessionId=socket.conn.id;const websocket=socket.conn.transport.socket;const topic=`${this.nsp.name}${SEPARATOR}${room}`;debug("unsubscribe connection %s from topic %s",sessionId,topic);websocket.unsubscribe(topic)}};socket_io_adapter_1.Adapter.prototype.broadcast=function(packet,opts){const useFastPublish=opts.rooms.size<=1&&opts.except.size===0;if(!useFastPublish){broadcast.call(this,packet,opts);return}const flags=opts.flags||{};const basePacketOpts={preEncoded:true,volatile:flags.volatile,compress:flags.compress};packet.nsp=this.nsp.name;const encodedPackets=this.encoder.encode(packet);const topic=opts.rooms.size===0?this.nsp.name:`${this.nsp.name}${SEPARATOR}${opts.rooms.keys().next().value}`;debug("fast publish to %s",topic);encodedPackets.forEach(encodedPacket=>{const isBinary2=typeof encodedPacket!=="string";app.publish(topic,isBinary2?encodedPacket:"4"+encodedPacket,isBinary2)});this.apply(opts,socket=>{if(socket.conn.transport.name!=="websocket"){socket.client.writeToEngine(encodedPackets,basePacketOpts)}})}}function subscribe(namespaceName,socket,isNew,rooms){const sessionId=socket.conn.id;const websocket=socket.conn.transport.socket;if(isNew){debug("subscribe connection %s to topic %s",sessionId,namespaceName);websocket.subscribe(namespaceName)}rooms.forEach(room=>{const topic=`${namespaceName}${SEPARATOR}${room}`;debug("subscribe connection %s to topic %s",sessionId,topic);websocket.subscribe(topic)})}function restoreAdapter(){socket_io_adapter_1.Adapter.prototype.addAll=addAll;socket_io_adapter_1.Adapter.prototype.del=del;socket_io_adapter_1.Adapter.prototype.broadcast=broadcast}var toArrayBuffer=buffer=>{const{buffer:arrayBuffer,byteOffset,byteLength}=buffer;return arrayBuffer.slice(byteOffset,byteOffset+byteLength)};function serveFile2(res,filepath){const{size:size2}=(0,fs_1.statSync)(filepath);const readStream2=(0,fs_1.createReadStream)(filepath);const destroyReadStream=()=>!readStream2.destroyed&&readStream2.destroy();const onError=error=>{destroyReadStream();throw error};const onDataChunk=chunk2=>{const arrayBufferChunk=toArrayBuffer(chunk2);res.cork(()=>{const lastOffset=res.getWriteOffset();const[ok,done]=res.tryEnd(arrayBufferChunk,size2);if(!done&&!ok){readStream2.pause();res.onWritable(offset=>{const[ok2,done2]=res.tryEnd(arrayBufferChunk.slice(offset-lastOffset),size2);if(!done2&&ok2){readStream2.resume()}return ok2})}})};res.onAborted(destroyReadStream);readStream2.on("data",onDataChunk).on("error",onError).on("end",destroyReadStream)}}});var require_package5=__commonJS({"node_modules/socket.io/package.json"(exports2,module2){module2.exports={name:"socket.io",version:"4.8.1",description:"node.js realtime framework server",keywords:["realtime","framework","websocket","tcp","events","socket","io"],files:["dist/","client-dist/","wrapper.mjs","!**/*.tsbuildinfo"],directories:{doc:"docs/",example:"example/",lib:"lib/",test:"test/"},type:"commonjs",main:"./dist/index.js",exports:{types:"./dist/index.d.ts",import:"./wrapper.mjs",require:"./dist/index.js"},types:"./dist/index.d.ts",license:"MIT",homepage:"https://github.com/socketio/socket.io/tree/main/packages/socket.io#readme",repository:{type:"git",url:"git+https://github.com/socketio/socket.io.git"},bugs:{url:"https://github.com/socketio/socket.io/issues"},scripts:{compile:"rimraf ./dist && tsc",test:"npm run format:check && npm run compile && npm run test:types && npm run test:unit","test:types":"tsd","test:unit":"nyc mocha --require ts-node/register --reporter spec --slow 200 --bail --timeout 10000 test/index.ts","format:check":'prettier --check "lib/**/*.ts" "test/**/*.ts"',"format:fix":'prettier --write "lib/**/*.ts" "test/**/*.ts"',prepack:"npm run compile"},dependencies:{accepts:"~1.3.4",base64id:"~2.0.0",cors:"~2.8.5",debug:"~4.3.2","engine.io":"~6.6.0","socket.io-adapter":"~2.5.2","socket.io-parser":"~4.2.4"},contributors:[{name:"Guillermo Rauch",email:"rauchg@gmail.com"},{name:"Arnout Kazemier",email:"info@3rd-eden.com"},{name:"Vladimir Dronnikov",email:"dronnikov@gmail.com"},{name:"Einar Otto Stangvik",email:"einaros@gmail.com"}],engines:{node:">=10.2.0"},tsd:{directory:"test"}}}});var require_dist11=__commonJS({"node_modules/socket.io/dist/index.js"(exports2,module2){"use strict";var __createBinding2=exports2&&exports2.__createBinding||(Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable)){desc={enumerable:true,get:function(){return m[k]}}}Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]});var __setModuleDefault2=exports2&&exports2.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:true,value:v})}:function(o,v){o["default"]=v});var __importStar2=exports2&&exports2.__importStar||function(mod3){if(mod3&&mod3.__esModule)return mod3;var result2={};if(mod3!=null){for(var k in mod3)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod3,k))__createBinding2(result2,mod3,k)}__setModuleDefault2(result2,mod3);return result2};var __importDefault2=exports2&&exports2.__importDefault||function(mod3){return mod3&&mod3.__esModule?mod3:{"default":mod3}};Object.defineProperty(exports2,"__esModule",{value:true});exports2.Namespace=exports2.Socket=exports2.Server=void 0;var http3=require("http");var fs_1=require("fs");var zlib_1=require("zlib");var accepts=require_accepts();var stream_1=require("stream");var path27=require("path");var engine_io_1=require_engine_io();var client_1=require_client5();var events_1=require("events");var namespace_1=require_namespace();Object.defineProperty(exports2,"Namespace",{enumerable:true,get:function(){return namespace_1.Namespace}});var parent_namespace_1=require_parent_namespace();var socket_io_adapter_1=require_dist10();var parser=__importStar2(require_cjs8());var debug_1=__importDefault2(require_src6());var socket_1=require_socket2();Object.defineProperty(exports2,"Socket",{enumerable:true,get:function(){return socket_1.Socket}});var typed_events_1=require_typed_events();var uws_1=require_uws();var cors_1=__importDefault2(require_lib12());var debug=(0,debug_1.default)("socket.io:server");var clientVersion=require_package5().version;var dotMapRegex=/\.map/;var Server2=class _Server extends typed_events_1.StrictEventEmitter{constructor(srv,opts={}){super();this._nsps=new Map;this.parentNsps=new Map;this.parentNamespacesFromRegExp=new Map;if("object"===typeof srv&&srv instanceof Object&&!srv.listen){opts=srv;srv=void 0}this.path(opts.path||"/socket.io");this.connectTimeout(opts.connectTimeout||45e3);this.serveClient(false!==opts.serveClient);this._parser=opts.parser||parser;this.encoder=new this._parser.Encoder;this.opts=opts;if(opts.connectionStateRecovery){opts.connectionStateRecovery=Object.assign({maxDisconnectionDuration:2*60*1e3,skipMiddlewares:true},opts.connectionStateRecovery);this.adapter(opts.adapter||socket_io_adapter_1.SessionAwareAdapter)}else{this.adapter(opts.adapter||socket_io_adapter_1.Adapter)}opts.cleanupEmptyChildNamespaces=!!opts.cleanupEmptyChildNamespaces;this.sockets=this.of("/");if(srv||typeof srv=="number")this.attach(srv);if(this.opts.cors){this._corsMiddleware=(0,cors_1.default)(this.opts.cors)}}get _opts(){return this.opts}serveClient(v){if(!arguments.length)return this._serveClient;this._serveClient=v;return this}_checkNamespace(name,auth,fn2){if(this.parentNsps.size===0)return fn2(false);const keysIterator=this.parentNsps.keys();const run=()=>{const nextFn=keysIterator.next();if(nextFn.done){return fn2(false)}nextFn.value(name,auth,(err,allow)=>{if(err||!allow){return run()}if(this._nsps.has(name)){debug("dynamic namespace %s already exists",name);return fn2(this._nsps.get(name))}const namespace=this.parentNsps.get(nextFn.value).createChild(name);debug("dynamic namespace %s was created",name);fn2(namespace)})};run()}path(v){if(!arguments.length)return this._path;this._path=v.replace(/\/$/,"");const escapedPath=this._path.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&");this.clientPathRegex=new RegExp("^"+escapedPath+"/socket\\.io(\\.msgpack|\\.esm)?(\\.min)?\\.js(\\.map)?(?:\\?|$)");return this}connectTimeout(v){if(v===void 0)return this._connectTimeout;this._connectTimeout=v;return this}adapter(v){if(!arguments.length)return this._adapter;this._adapter=v;for(const nsp of this._nsps.values()){nsp._initAdapter()}return this}listen(srv,opts={}){return this.attach(srv,opts)}attach(srv,opts={}){if("function"==typeof srv){const msg="You are trying to attach socket.io to an express request handler function. Please pass a http.Server instance.";throw new Error(msg)}if(Number(srv)==srv){srv=Number(srv)}if("number"==typeof srv){debug("creating http server and binding to %d",srv);const port=srv;srv=http3.createServer((req,res)=>{res.writeHead(404);res.end()});srv.listen(port)}Object.assign(opts,this.opts);opts.path=opts.path||this._path;this.initEngine(srv,opts);return this}attachApp(app,opts={}){Object.assign(opts,this.opts);opts.path=opts.path||this._path;debug("creating uWebSockets.js-based engine with opts %j",opts);const engine=new engine_io_1.uServer(opts);engine.attach(app,opts);this.bind(engine);if(this._serveClient){app.get(`${this._path}/*`,(res,req)=>{if(!this.clientPathRegex.test(req.getUrl())){req.setYield(true);return}const filename=req.getUrl().replace(this._path,"").replace(/\?.*$/,"").replace(/^\//,"");const isMap2=dotMapRegex.test(filename);const type2=isMap2?"map":"source";const expectedEtag='"'+clientVersion+'"';const weakEtag="W/"+expectedEtag;const etag=req.getHeader("if-none-match");if(etag){if(expectedEtag===etag||weakEtag===etag){debug("serve client %s 304",type2);res.writeStatus("304 Not Modified");res.end();return}}debug("serve client %s",type2);res.writeHeader("cache-control","public, max-age=0");res.writeHeader("content-type","application/"+(isMap2?"json":"javascript")+"; charset=utf-8");res.writeHeader("etag",expectedEtag);const filepath=path27.join(__dirname,"../client-dist/",filename);(0,uws_1.serveFile)(res,filepath)})}(0,uws_1.patchAdapter)(app)}initEngine(srv,opts){debug("creating engine.io instance with opts %j",opts);this.eio=(0,engine_io_1.attach)(srv,opts);if(this._serveClient)this.attachServe(srv);this.httpServer=srv;this.bind(this.eio)}attachServe(srv){debug("attaching client serving req handler");const evs=srv.listeners("request").slice(0);srv.removeAllListeners("request");srv.on("request",(req,res)=>{if(this.clientPathRegex.test(req.url)){if(this._corsMiddleware){this._corsMiddleware(req,res,()=>{this.serve(req,res)})}else{this.serve(req,res)}}else{for(let i=0;i<evs.length;i++){evs[i].call(srv,req,res)}}})}serve(req,res){const filename=req.url.replace(this._path,"").replace(/\?.*$/,"");const isMap2=dotMapRegex.test(filename);const type2=isMap2?"map":"source";const expectedEtag='"'+clientVersion+'"';const weakEtag="W/"+expectedEtag;const etag=req.headers["if-none-match"];if(etag){if(expectedEtag===etag||weakEtag===etag){debug("serve client %s 304",type2);res.writeHead(304);res.end();return}}debug("serve client %s",type2);res.setHeader("Cache-Control","public, max-age=0");res.setHeader("Content-Type","application/"+(isMap2?"json":"javascript")+"; charset=utf-8");res.setHeader("ETag",expectedEtag);_Server.sendFile(filename,req,res)}static sendFile(filename,req,res){const readStream2=(0,fs_1.createReadStream)(path27.join(__dirname,"../client-dist/",filename));const encoding=accepts(req).encodings(["br","gzip","deflate"]);const onError=err=>{if(err){res.end()}};switch(encoding){case"br":res.writeHead(200,{"content-encoding":"br"});(0,stream_1.pipeline)(readStream2,(0,zlib_1.createBrotliCompress)(),res,onError);break;case"gzip":res.writeHead(200,{"content-encoding":"gzip"});(0,stream_1.pipeline)(readStream2,(0,zlib_1.createGzip)(),res,onError);break;case"deflate":res.writeHead(200,{"content-encoding":"deflate"});(0,stream_1.pipeline)(readStream2,(0,zlib_1.createDeflate)(),res,onError);break;default:res.writeHead(200);(0,stream_1.pipeline)(readStream2,res,onError)}}bind(engine){this.engine=engine;this.engine.on("connection",this.onconnection.bind(this));return this}onconnection(conn){debug("incoming connection with id %s",conn.id);const client=new client_1.Client(this,conn);if(conn.protocol===3){client.connect("/")}return this}of(name,fn2){if(typeof name==="function"||name instanceof RegExp){const parentNsp=new parent_namespace_1.ParentNamespace(this);debug("initializing parent namespace %s",parentNsp.name);if(typeof name==="function"){this.parentNsps.set(name,parentNsp)}else{this.parentNsps.set((nsp2,conn,next)=>next(null,name.test(nsp2)),parentNsp);this.parentNamespacesFromRegExp.set(name,parentNsp)}if(fn2){parentNsp.on("connect",fn2)}return parentNsp}if(String(name)[0]!=="/")name="/"+name;let nsp=this._nsps.get(name);if(!nsp){for(const[regex3,parentNamespace]of this.parentNamespacesFromRegExp){if(regex3.test(name)){debug("attaching namespace %s to parent namespace %s",name,regex3);return parentNamespace.createChild(name)}}debug("initializing namespace %s",name);nsp=new namespace_1.Namespace(this,name);this._nsps.set(name,nsp);if(name!=="/"){this.sockets.emitReserved("new_namespace",nsp)}}if(fn2)nsp.on("connect",fn2);return nsp}async close(fn2){await Promise.allSettled([...this._nsps.values()].map(async nsp=>{nsp.sockets.forEach(socket=>{socket._onclose("server shutting down")});await nsp.adapter.close()}));this.engine.close();(0,uws_1.restoreAdapter)();if(this.httpServer){this.httpServer.close(fn2)}else{fn2&&fn2()}}use(fn2){this.sockets.use(fn2);return this}to(room){return this.sockets.to(room)}in(room){return this.sockets.in(room)}except(room){return this.sockets.except(room)}send(...args2){this.sockets.emit("message",...args2);return this}write(...args2){this.sockets.emit("message",...args2);return this}serverSideEmit(ev,...args2){return this.sockets.serverSideEmit(ev,...args2)}serverSideEmitWithAck(ev,...args2){return this.sockets.serverSideEmitWithAck(ev,...args2)}allSockets(){return this.sockets.allSockets()}compress(compress){return this.sockets.compress(compress)}get volatile(){return this.sockets.volatile}get local(){return this.sockets.local}timeout(timeout){return this.sockets.timeout(timeout)}fetchSockets(){return this.sockets.fetchSockets()}socketsJoin(room){return this.sockets.socketsJoin(room)}socketsLeave(room){return this.sockets.socketsLeave(room)}disconnectSockets(close=false){return this.sockets.disconnectSockets(close)}};exports2.Server=Server2;var emitterMethods=Object.keys(events_1.EventEmitter.prototype).filter(function(key){return typeof events_1.EventEmitter.prototype[key]==="function"});emitterMethods.forEach(function(fn2){Server2.prototype[fn2]=function(){return this.sockets[fn2].apply(this.sockets,arguments)}});module2.exports=(srv,opts)=>new Server2(srv,opts);module2.exports.Server=Server2;module2.exports.Namespace=namespace_1.Namespace;module2.exports.Socket=socket_1.Socket}});var require_dist12=__commonJS({"node_modules/path-to-regexp/dist/index.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:true});exports2.pathToRegexp=exports2.tokensToRegexp=exports2.regexpToFunction=exports2.match=exports2.tokensToFunction=exports2.compile=exports2.parse=void 0;function lexer(str2){var tokens=[];var i=0;while(i<str2.length){var char=str2[i];if(char==="*"||char==="+"||char==="?"){tokens.push({type:"MODIFIER",index:i,value:str2[i++]});continue}if(char==="\\"){tokens.push({type:"ESCAPED_CHAR",index:i++,value:str2[i++]});continue}if(char==="{"){tokens.push({type:"OPEN",index:i,value:str2[i++]});continue}if(char==="}"){tokens.push({type:"CLOSE",index:i,value:str2[i++]});continue}if(char===":"){var name="";var j=i+1;while(j<str2.length){var code=str2.charCodeAt(j);if(code>=48&&code<=57||code>=65&&code<=90||code>=97&&code<=122||code===95){name+=str2[j++];continue}break}if(!name)throw new TypeError("Missing parameter name at ".concat(i));tokens.push({type:"NAME",index:i,value:name});i=j;continue}if(char==="("){var count=1;var pattern="";var j=i+1;if(str2[j]==="?"){throw new TypeError('Pattern cannot start with "?" at '.concat(j))}while(j<str2.length){if(str2[j]==="\\"){pattern+=str2[j++]+str2[j++];continue}if(str2[j]===")"){count--;if(count===0){j++;break}}else if(str2[j]==="("){count++;if(str2[j+1]!=="?"){throw new TypeError("Capturing groups are not allowed at ".concat(j))}}pattern+=str2[j++]}if(count)throw new TypeError("Unbalanced pattern at ".concat(i));if(!pattern)throw new TypeError("Missing pattern at ".concat(i));tokens.push({type:"PATTERN",index:i,value:pattern});i=j;continue}tokens.push({type:"CHAR",index:i,value:str2[i++]})}tokens.push({type:"END",index:i,value:""});return tokens}function parse3(str2,options){if(options===void 0){options={}}var tokens=lexer(str2);var _a12=options.prefixes,prefixes=_a12===void 0?"./":_a12,_b2=options.delimiter,delimiter=_b2===void 0?"/#?":_b2;var result2=[];var key=0;var i=0;var path27="";var tryConsume=function(type2){if(i<tokens.length&&tokens[i].type===type2)return tokens[i++].value};var mustConsume=function(type2){var value2=tryConsume(type2);if(value2!==void 0)return value2;var _a13=tokens[i],nextType=_a13.type,index=_a13.index;throw new TypeError("Unexpected ".concat(nextType," at ").concat(index,", expected ").concat(type2))};var consumeText=function(){var result3="";var value2;while(value2=tryConsume("CHAR")||tryConsume("ESCAPED_CHAR")){result3+=value2}return result3};var isSafe=function(value2){for(var _i=0,delimiter_1=delimiter;_i<delimiter_1.length;_i++){var char2=delimiter_1[_i];if(value2.indexOf(char2)>-1)return true}return false};var safePattern=function(prefix2){var prev=result2[result2.length-1];var prevText=prefix2||(prev&&typeof prev==="string"?prev:"");if(prev&&!prevText){throw new TypeError('Must have text between two parameters, missing text after "'.concat(prev.name,'"'))}if(!prevText||isSafe(prevText))return"[^".concat(escapeString2(delimiter),"]+?");return"(?:(?!".concat(escapeString2(prevText),")[^").concat(escapeString2(delimiter),"])+?")};while(i<tokens.length){var char=tryConsume("CHAR");var name=tryConsume("NAME");var pattern=tryConsume("PATTERN");if(name||pattern){var prefix=char||"";if(prefixes.indexOf(prefix)===-1){path27+=prefix;prefix=""}if(path27){result2.push(path27);path27=""}result2.push({name:name||key++,prefix,suffix:"",pattern:pattern||safePattern(prefix),modifier:tryConsume("MODIFIER")||""});continue}var value=char||tryConsume("ESCAPED_CHAR");if(value){path27+=value;continue}if(path27){result2.push(path27);path27=""}var open4=tryConsume("OPEN");if(open4){var prefix=consumeText();var name_1=tryConsume("NAME")||"";var pattern_1=tryConsume("PATTERN")||"";var suffix=consumeText();mustConsume("CLOSE");result2.push({name:name_1||(pattern_1?key++:""),pattern:name_1&&!pattern_1?safePattern(prefix):pattern_1,prefix,suffix,modifier:tryConsume("MODIFIER")||""});continue}mustConsume("END")}return result2}exports2.parse=parse3;function compile(str2,options){return tokensToFunction(parse3(str2,options),options)}exports2.compile=compile;function tokensToFunction(tokens,options){if(options===void 0){options={}}var reFlags3=flags(options);var _a12=options.encode,encode2=_a12===void 0?function(x){return x}:_a12,_b2=options.validate,validate=_b2===void 0?true:_b2;var matches2=tokens.map(function(token3){if(typeof token3==="object"){return new RegExp("^(?:".concat(token3.pattern,")$"),reFlags3)}});return function(data){var path27="";for(var i=0;i<tokens.length;i++){var token3=tokens[i];if(typeof token3==="string"){path27+=token3;continue}var value=data?data[token3.name]:void 0;var optional=token3.modifier==="?"||token3.modifier==="*";var repeat3=token3.modifier==="*"||token3.modifier==="+";if(Array.isArray(value)){if(!repeat3){throw new TypeError('Expected "'.concat(token3.name,'" to not repeat, but got an array'))}if(value.length===0){if(optional)continue;throw new TypeError('Expected "'.concat(token3.name,'" to not be empty'))}for(var j=0;j<value.length;j++){var segment=encode2(value[j],token3);if(validate&&!matches2[i].test(segment)){throw new TypeError('Expected all "'.concat(token3.name,'" to match "').concat(token3.pattern,'", but got "').concat(segment,'"'))}path27+=token3.prefix+segment+token3.suffix}continue}if(typeof value==="string"||typeof value==="number"){var segment=encode2(String(value),token3);if(validate&&!matches2[i].test(segment)){throw new TypeError('Expected "'.concat(token3.name,'" to match "').concat(token3.pattern,'", but got "').concat(segment,'"'))}path27+=token3.prefix+segment+token3.suffix;continue}if(optional)continue;var typeOfMessage=repeat3?"an array":"a string";throw new TypeError('Expected "'.concat(token3.name,'" to be ').concat(typeOfMessage))}return path27}}exports2.tokensToFunction=tokensToFunction;function match(str2,options){var keys2=[];var re=pathToRegexp(str2,keys2,options);return regexpToFunction(re,keys2,options)}exports2.match=match;function regexpToFunction(re,keys2,options){if(options===void 0){options={}}var _a12=options.decode,decode=_a12===void 0?function(x){return x}:_a12;return function(pathname){var m=re.exec(pathname);if(!m)return false;var path27=m[0],index=m.index;var params=Object.create(null);var _loop_1=function(i2){if(m[i2]===void 0)return"continue";var key=keys2[i2-1];if(key.modifier==="*"||key.modifier==="+"){params[key.name]=m[i2].split(key.prefix+key.suffix).map(function(value){return decode(value,key)})}else{params[key.name]=decode(m[i2],key)}};for(var i=1;i<m.length;i++){_loop_1(i)}return{path:path27,index,params}}}exports2.regexpToFunction=regexpToFunction;function escapeString2(str2){return str2.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function flags(options){return options&&options.sensitive?"":"i"}function regexpToRegexp(path27,keys2){if(!keys2)return path27;var groupsRegex=/\((?:\?<(.*?)>)?(?!\?)/g;var index=0;var execResult=groupsRegex.exec(path27.source);while(execResult){keys2.push({name:execResult[1]||index++,prefix:"",suffix:"",modifier:"",pattern:""});execResult=groupsRegex.exec(path27.source)}return path27}function arrayToRegexp(paths,keys2,options){var parts=paths.map(function(path27){return pathToRegexp(path27,keys2,options).source});return new RegExp("(?:".concat(parts.join("|"),")"),flags(options))}function stringToRegexp(path27,keys2,options){return tokensToRegexp(parse3(path27,options),keys2,options)}function tokensToRegexp(tokens,keys2,options){if(options===void 0){options={}}var _a12=options.strict,strict=_a12===void 0?false:_a12,_b2=options.start,start=_b2===void 0?true:_b2,_c=options.end,end=_c===void 0?true:_c,_d=options.encode,encode2=_d===void 0?function(x){return x}:_d,_e=options.delimiter,delimiter=_e===void 0?"/#?":_e,_f=options.endsWith,endsWith2=_f===void 0?"":_f;var endsWithRe="[".concat(escapeString2(endsWith2),"]|$");var delimiterRe="[".concat(escapeString2(delimiter),"]");var route=start?"^":"";for(var _i=0,tokens_1=tokens;_i<tokens_1.length;_i++){var token3=tokens_1[_i];if(typeof token3==="string"){route+=escapeString2(encode2(token3))}else{var prefix=escapeString2(encode2(token3.prefix));var suffix=escapeString2(encode2(token3.suffix));if(token3.pattern){if(keys2)keys2.push(token3);if(prefix||suffix){if(token3.modifier==="+"||token3.modifier==="*"){var mod3=token3.modifier==="*"?"?":"";route+="(?:".concat(prefix,"((?:").concat(token3.pattern,")(?:").concat(suffix).concat(prefix,"(?:").concat(token3.pattern,"))*)").concat(suffix,")").concat(mod3)}else{route+="(?:".concat(prefix,"(").concat(token3.pattern,")").concat(suffix,")").concat(token3.modifier)}}else{if(token3.modifier==="+"||token3.modifier==="*"){throw new TypeError('Can not repeat "'.concat(token3.name,'" without a prefix and suffix'))}route+="(".concat(token3.pattern,")").concat(token3.modifier)}}else{route+="(?:".concat(prefix).concat(suffix,")").concat(token3.modifier)}}}if(end){if(!strict)route+="".concat(delimiterRe,"?");route+=!options.endsWith?"$":"(?=".concat(endsWithRe,")")}else{var endToken=tokens[tokens.length-1];var isEndDelimited=typeof endToken==="string"?delimiterRe.indexOf(endToken[endToken.length-1])>-1:endToken===void 0;if(!strict){route+="(?:".concat(delimiterRe,"(?=").concat(endsWithRe,"))?")}if(!isEndDelimited){route+="(?=".concat(delimiterRe,"|").concat(endsWithRe,")")}}return new RegExp(route,flags(options))}exports2.tokensToRegexp=tokensToRegexp;function pathToRegexp(path27,keys2,options){if(path27 instanceof RegExp)return regexpToRegexp(path27,keys2);if(Array.isArray(path27))return arrayToRegexp(path27,keys2,options);return stringToRegexp(path27,keys2,options)}exports2.pathToRegexp=pathToRegexp}});var require_layer=__commonJS({"node_modules/@koa/router/lib/layer.js"(exports2,module2){var{parse:parseUrl,format:formatUrl}=require("node:url");var{pathToRegexp,compile,parse:parse3}=require_dist12();module2.exports=class Layer{constructor(path27,methods,middleware,opts={}){this.opts=opts;this.name=this.opts.name||null;this.methods=[];this.paramNames=[];this.stack=Array.isArray(middleware)?middleware:[middleware];for(const method2 of methods){const l=this.methods.push(method2.toUpperCase());if(this.methods[l-1]==="GET")this.methods.unshift("HEAD")}for(let i=0;i<this.stack.length;i++){const fn2=this.stack[i];const type2=typeof fn2;if(type2!=="function")throw new Error(`${methods.toString()} \`${this.opts.name||path27}\`: \`middleware\` must be a function, not \`${type2}\``)}this.path=path27;this.regexp=pathToRegexp(path27,this.paramNames,this.opts)}match(path27){return this.regexp.test(path27)}params(path27,captures,params={}){for(let len=captures.length,i=0;i<len;i++){if(this.paramNames[i]){const c=captures[i];if(c&&c.length>0)params[this.paramNames[i].name]=c?safeDecodeURIComponent(c):c}}return params}captures(path27){return this.opts.ignoreCaptures?[]:path27.match(this.regexp).slice(1)}url(params,options){let args2=params;const url=this.path.replace(/\(\.\*\)/g,"");if(typeof params!=="object"){args2=Array.prototype.slice.call(arguments);if(typeof args2[args2.length-1]==="object"){options=args2[args2.length-1];args2=args2.slice(0,-1)}}const toPath2=compile(url,{encode:encodeURIComponent,...options});let replaced;const tokens=parse3(url);let replace2={};if(Array.isArray(args2)){for(let len=tokens.length,i=0,j=0;i<len;i++){if(tokens[i].name)replace2[tokens[i].name]=args2[j++]}}else if(tokens.some(token3=>token3.name)){replace2=params}else if(!options){options=params}replaced=toPath2(replace2);if(options&&options.query){replaced=parseUrl(replaced);if(typeof options.query==="string"){replaced.search=options.query}else{replaced.search=void 0;replaced.query=options.query}return formatUrl(replaced)}return replaced}param(param,fn2){const{stack:stack2}=this;const params=this.paramNames;const middleware=function(ctx,next){return fn2.call(this,ctx.params[param],ctx,next)};middleware.param=param;const names2=params.map(function(p){return p.name});const x=names2.indexOf(param);if(x>-1){stack2.some((fn3,i)=>{if(!fn3.param||names2.indexOf(fn3.param)>x){stack2.splice(i,0,middleware);return true}})}return this}setPrefix(prefix){if(this.path){this.path=this.path!=="/"||this.opts.strict===true?`${prefix}${this.path}`:prefix;this.paramNames=[];this.regexp=pathToRegexp(this.path,this.paramNames,this.opts)}return this}};function safeDecodeURIComponent(text){try{return decodeURIComponent(text.replace(/\+/g," "))}catch{return text}}}});var require_router=__commonJS({"node_modules/@koa/router/lib/router.js"(exports2,module2){var http3=require("node:http");var util4=require("node:util");var debug=util4.debuglog("koa-router");var compose=require_koa_compose();var HttpError2=require_http_errors3();var{pathToRegexp}=require_dist12();var Layer=require_layer();var methods=http3.METHODS.map(method2=>method2.toLowerCase());var Router2=class _Router{constructor(opts={}){if(!(this instanceof _Router))return new _Router(opts);this.opts=opts;this.methods=this.opts.methods||["HEAD","OPTIONS","GET","PUT","PATCH","POST","DELETE"];this.exclusive=Boolean(this.opts.exclusive);this.params={};this.stack=[];this.host=this.opts.host}static url(path27,...args2){return Layer.prototype.url.apply({path:path27},args2)}use(...middleware){const router=this;let path27;if(Array.isArray(middleware[0])&&typeof middleware[0][0]==="string"){const arrPaths=middleware[0];for(const p of arrPaths){router.use.apply(router,[p,...middleware.slice(1)])}return this}const hasPath2=typeof middleware[0]==="string";if(hasPath2)path27=middleware.shift();for(const m of middleware){if(m.router){const cloneRouter=Object.assign(Object.create(_Router.prototype),m.router,{stack:[...m.router.stack]});for(let j=0;j<cloneRouter.stack.length;j++){const nestedLayer=cloneRouter.stack[j];const cloneLayer=Object.assign(Object.create(Layer.prototype),nestedLayer);if(path27)cloneLayer.setPrefix(path27);if(router.opts.prefix)cloneLayer.setPrefix(router.opts.prefix);router.stack.push(cloneLayer);cloneRouter.stack[j]=cloneLayer}if(router.params){const routerParams=Object.keys(router.params);for(const key of routerParams){cloneRouter.param(key,router.params[key])}}}else{const keys2=[];pathToRegexp(router.opts.prefix||"",keys2);const routerPrefixHasParam=Boolean(router.opts.prefix&&keys2.length>0);router.register(path27||"([^/]*)",[],m,{end:false,ignoreCaptures:!hasPath2&&!routerPrefixHasParam})}}return this}prefix(prefix){prefix=prefix.replace(/\/$/,"");this.opts.prefix=prefix;for(let i=0;i<this.stack.length;i++){const route=this.stack[i];route.setPrefix(prefix)}return this}middleware(){const router=this;const dispatch=(ctx,next)=>{debug("%s %s",ctx.method,ctx.path);const hostMatched=router.matchHost(ctx.host);if(!hostMatched){return next()}const path27=router.opts.routerPath||ctx.newRouterPath||ctx.path||ctx.routerPath;const matched=router.match(path27,ctx.method);if(ctx.matched){ctx.matched.push.apply(ctx.matched,matched.path)}else{ctx.matched=matched.path}ctx.router=router;if(!matched.route)return next();const matchedLayers=matched.pathAndMethod;const mostSpecificLayer=matchedLayers[matchedLayers.length-1];ctx._matchedRoute=mostSpecificLayer.path;if(mostSpecificLayer.name){ctx._matchedRouteName=mostSpecificLayer.name}const layerChain=(router.exclusive?[mostSpecificLayer]:matchedLayers).reduce((memo,layer)=>{memo.push((ctx2,next2)=>{ctx2.captures=layer.captures(path27,ctx2.captures);ctx2.request.params=layer.params(path27,ctx2.captures,ctx2.params);ctx2.params=ctx2.request.params;ctx2.routerPath=layer.path;ctx2.routerName=layer.name;ctx2._matchedRoute=layer.path;if(layer.name){ctx2._matchedRouteName=layer.name}return next2()});return[...memo,...layer.stack]},[]);return compose(layerChain)(ctx,next)};dispatch.router=this;return dispatch}routes(){return this.middleware()}allowedMethods(options={}){const implemented=this.methods;return(ctx,next)=>{return next().then(()=>{const allowed={};if(ctx.matched&&(!ctx.status||ctx.status===404)){for(let i=0;i<ctx.matched.length;i++){const route=ctx.matched[i];for(let j=0;j<route.methods.length;j++){const method2=route.methods[j];allowed[method2]=method2}}const allowedArr=Object.keys(allowed);if(!implemented.includes(ctx.method)){if(options.throw){const notImplementedThrowable=typeof options.notImplemented==="function"?options.notImplemented():new HttpError2.NotImplemented;throw notImplementedThrowable}else{ctx.status=501;ctx.set("Allow",allowedArr.join(", "))}}else if(allowedArr.length>0){if(ctx.method==="OPTIONS"){ctx.status=200;ctx.body="";ctx.set("Allow",allowedArr.join(", "))}else if(!allowed[ctx.method]){if(options.throw){const notAllowedThrowable=typeof options.methodNotAllowed==="function"?options.methodNotAllowed():new HttpError2.MethodNotAllowed;throw notAllowedThrowable}else{ctx.status=405;ctx.set("Allow",allowedArr.join(", "))}}}}})}}all(name,path27,middleware){if(typeof path27==="string"){middleware=Array.prototype.slice.call(arguments,2)}else{middleware=Array.prototype.slice.call(arguments,1);path27=name;name=null}if(typeof path27!=="string"&&!(path27 instanceof RegExp)&&(!Array.isArray(path27)||path27.length===0))throw new Error("You have to provide a path when adding an all handler");this.register(path27,methods,middleware,{name});return this}redirect(source,destination,code){if(typeof source==="symbol"||source[0]!=="/"){source=this.url(source);if(source instanceof Error)throw source}if(typeof destination==="symbol"||destination[0]!=="/"&&!destination.includes("://")){destination=this.url(destination);if(destination instanceof Error)throw destination}return this.all(source,ctx=>{ctx.redirect(destination);ctx.status=code||301})}register(path27,methods2,middleware,opts={}){const router=this;const{stack:stack2}=this;if(Array.isArray(path27)){for(const curPath of path27){router.register.call(router,curPath,methods2,middleware,opts)}return this}const route=new Layer(path27,methods2,middleware,{end:opts.end===false?opts.end:true,name:opts.name,sensitive:opts.sensitive||this.opts.sensitive||false,strict:opts.strict||this.opts.strict||false,prefix:opts.prefix||this.opts.prefix||"",ignoreCaptures:opts.ignoreCaptures});if(this.opts.prefix){route.setPrefix(this.opts.prefix)}for(let i=0;i<Object.keys(this.params).length;i++){const param=Object.keys(this.params)[i];route.param(param,this.params[param])}stack2.push(route);debug("defined route %s %s",route.methods,route.path);return route}route(name){const routes=this.stack;for(let len=routes.length,i=0;i<len;i++){if(routes[i].name&&routes[i].name===name)return routes[i]}return false}url(name,...args2){const route=this.route(name);if(route)return route.url.apply(route,args2);return new Error(`No route found for name: ${String(name)}`)}match(path27,method2){const layers=this.stack;let layer;const matched={path:[],pathAndMethod:[],route:false};for(let len=layers.length,i=0;i<len;i++){layer=layers[i];debug("test %s %s",layer.path,layer.regexp);if(layer.match(path27)){matched.path.push(layer);if(layer.methods.length===0||layer.methods.includes(method2)){matched.pathAndMethod.push(layer);if(layer.methods.length>0)matched.route=true}}}return matched}matchHost(input){const{host}=this;if(!host){return true}if(!input){return false}if(typeof host==="string"){return input===host}if(typeof host==="object"&&host instanceof RegExp){return host.test(input)}}param(param,middleware){this.params[param]=middleware;for(let i=0;i<this.stack.length;i++){const route=this.stack[i];route.param(param,middleware)}return this}};for(const method2 of methods){Router2.prototype[method2]=function(name,path27,middleware){if(typeof path27==="string"||path27 instanceof RegExp){middleware=Array.prototype.slice.call(arguments,2)}else{middleware=Array.prototype.slice.call(arguments,1);path27=name;name=null}if(typeof path27!=="string"&&!(path27 instanceof RegExp)&&(!Array.isArray(path27)||path27.length===0))throw new Error(`You have to provide a path when adding a ${method2} handler`);this.register(path27,[method2],middleware,{name});return this}}Router2.prototype.del=Router2.prototype["delete"];module2.exports=Router2}});var require_microtime=__commonJS({"node_modules/async-ratelimiter/src/microtime.js"(exports2,module2){"use strict";var time=Date.now()*1e3;var start=process.hrtime.bigint();module2.exports.now=()=>time+Number(process.hrtime.bigint()-start)*.001}});var require_src8=__commonJS({"node_modules/async-ratelimiter/src/index.js"(exports2,module2){"use strict";var assert2=require("assert");var microtime=require_microtime();var toNumber2=str2=>parseInt(str2,10);module2.exports=class Limiter{constructor({id,db,max:max3=2500,duration=36e5,namespace="limit"}){assert2(db,"db required");this.db=db;this.id=id;this.max=max3;this.duration=duration;this.namespace=namespace}async get({id=this.id,max:max3=this.max,duration=this.duration}={}){assert2(id,"id required");assert2(max3,"max required");assert2(duration,"duration required");const key=`${this.namespace}:${id}`;const now3=microtime.now();const start=now3-duration*1e3;const operations=[["zremrangebyscore",key,0,start],["zcard",key],["zadd",key,now3,now3],["zrange",key,0,0],["zrange",key,-max3,-max3],["zremrangebyrank",key,0,-(max3+1)],["pexpire",key,duration]];const res=await this.db.multi(operations).exec();const count=toNumber2(res[1][1]);const oldest=toNumber2(res[3][1]);const oldestInRange=toNumber2(res[4][1]);const resetMicro=(Number.isNaN(oldestInRange)?oldest:oldestInRange)+duration*1e3;return{remaining:count<max3?max3-count:0,reset:Math.floor(resetMicro/1e6),total:max3}}}}});var require_redis=__commonJS({"node_modules/koa-ratelimit/limiter/redis.js"(exports2,module2){module2.exports=require_src8()}});var require_memory2=__commonJS({"node_modules/koa-ratelimit/limiter/memory.js"(exports2,module2){"use strict";var assert2=require("assert");var time=Date.now()*1e3;var start=process.hrtime();function getMicrotime(){const diff=process.hrtime(start);return time+diff[0]*1e6+Math.round(diff[1]*.001)}module2.exports=class Limiter{constructor({id,db,max:max3,duration,namespace="limit"}){this.id=id;assert2(this.id,".id required");this.db=db||new Map;assert2(this.db instanceof Map,"for memory driver, .db must be Map instance");this.max=max3;this.duration=duration;this.key=`${namespace}:${this.id}`}async get(){const{id,db,duration,key,max:max3}=this;const entry=db.get(key);const now3=getMicrotime();const reset=now3+duration*1e3;const expired=entry!==void 0&&entry.reset*1e6<now3;const hasKey=db.has(key);const shouldReInit=!hasKey||expired;if(shouldReInit){const initState={id,reset:reset/1e6,remaining:max3,total:max3};db.set(key,initState);return initState}else{entry.remaining=entry.remaining>0?entry.remaining-1:0;return entry}}}}});var require_koa_ratelimit=__commonJS({"node_modules/koa-ratelimit/index.js"(exports2,module2){"use strict";var debug=require_src3()("koa-ratelimit");var RedisLimiter=require_redis();var MemoryLimiter=require_memory2();var ms=require_ms();module2.exports=function ratelimit(opts={}){const defaultOpts={driver:"redis",duration:60*60*1e3,max:2500,id:ctx=>ctx.ip,headers:{remaining:"X-RateLimit-Remaining",reset:"X-RateLimit-Reset",total:"X-RateLimit-Limit"}};opts={...defaultOpts,...opts};const{remaining="X-RateLimit-Remaining",reset="X-RateLimit-Reset",total="X-RateLimit-Limit"}=opts.headers;return async function ratelimit2(ctx,next){const id=opts.id(ctx);const{driver}=opts;const whitelisted=typeof opts.whitelist==="function"&&await opts.whitelist(ctx);const blacklisted=typeof opts.blacklist==="function"&&await opts.blacklist(ctx);if(blacklisted){ctx.throw(403,"Forbidden")}if(id===false||whitelisted)return await next();let limiter;if(driver==="memory"){limiter=new MemoryLimiter({...opts,id})}else if(driver==="redis"){limiter=new RedisLimiter({...opts,id})}else{throw new Error(`invalid driver. Expecting memory or redis, got ${driver}`)}const limit=await limiter.get();const calls=limit.remaining>0?limit.remaining-1:0;const disableHeader=opts.disableHeader||false;let headers={};if(!disableHeader){headers={[remaining]:calls,[reset]:limit.reset,[total]:limit.total};ctx.set(headers)}debug("remaining %s/%s %s",remaining,limit.total,id);if(limit.remaining)return await next();const delta=limit.reset*1e3-Date.now()|0;const after2=limit.reset-Date.now()/1e3|0;ctx.set("Retry-After",after2);ctx.status=opts.status||429;ctx.body=opts.errorMessage||`Rate limit exceeded, retry in ${ms(delta,{long:true})}.`;if(opts.throw){headers["Retry-After"]=after2;ctx.throw(ctx.status,ctx.body,{headers})}}}}});var require_slug=__commonJS({"node_modules/slug/slug.js"(exports2,module2){(function(root2){let base64;function getWholeCharAndI(str2,i){const code=str2.charCodeAt(i);if(isNaN(code)){throw new RangeError("Index "+i+' out of range for string "'+str2+'"; please open an issue at https://github.com/Trott/slug/issues/new')}if(code<55296||code>57343){return[str2.charAt(i),i]}if(code>=55296&&code<=56319){if(str2.length<=i+1){return[" ",i]}const next=str2.charCodeAt(i+1);if(next<56320||next>57343){return[" ",i]}return[str2.charAt(i)+str2.charAt(i+1),i+1]}if(i===0){return[" ",i]}const prev=str2.charCodeAt(i-1);if(prev<55296||prev>56319){return[" ",i]}throw new Error('String "'+str2+'" reaches code believed to be unreachable; please open an issue at https://github.com/Trott/slug/issues/new')}if(typeof window!=="undefined"){if(window.btoa){base64=function(input){return btoa(unescape(encodeURIComponent(input)))}}else{base64=function(input){const str2=unescape(encodeURIComponent(input+""));let output="";for(let block,charCode,idx=0,map3="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";str2.charAt(idx|0)||(map3="=",idx%1);output+=map3.charAt(63&block>>8-idx%1*8)){charCode=str2.charCodeAt(idx+=3/4);if(charCode>255){throw new Error("'btoa' failed: The string to be encoded contains characters outside of the Latin1 range.")}block=block<<8|charCode}return output}}}else{base64=function(input){return Buffer.from(input).toString("base64")}}function slug2(string,opts){let result2=slugify(string,opts);const fallback=opts&&opts.fallback!==void 0?opts.fallback:slug2.defaults.fallback;if(fallback===true&&result2===""){let input="";for(let i=0;i<string.length;i++){const charAndI=getWholeCharAndI(string,i);i=charAndI[1];input+=charAndI[0]}result2=slugify(base64(input),opts)}return result2}const locales={bg:{Й:"Y",й:"y",X:"H",x:"h",Ц:"Ts",ц:"ts",Щ:"Sht",щ:"sht",Ъ:"A",ъ:"a",Ь:"Y",ь:"y"},de:{Ä:"AE",ä:"ae",Ö:"OE",ö:"oe",Ü:"UE",ü:"ue"},sr:{đ:"dj",Đ:"DJ"},uk:{И:"Y",и:"y",Й:"Y",й:"y",Ц:"Ts",ц:"ts",Х:"Kh",х:"kh",Щ:"Shch",щ:"shch",Г:"H",г:"h"}};let defaultLocale={};function slugify(string,opts){if(typeof string!=="string"){throw new Error("slug() requires a string argument, received "+typeof string)}if(typeof opts==="string"){opts={replacement:opts}}opts=opts?Object.assign({},opts):{};opts.mode=opts.mode||slug2.defaults.mode;const defaults3=slug2.defaults.modes[opts.mode];const keys2=["replacement","multicharmap","charmap","remove","lower","trim"];for(let key,i=0,l=keys2.length;i<l;i++){key=keys2[i];opts[key]=key in opts?opts[key]:defaults3[key]}const localeMap2=locales[opts.locale]||defaultLocale;let lengths=[];for(const key in opts.multicharmap){if(!Object.prototype.hasOwnProperty.call(opts.multicharmap,key)){continue}const len=key.length;if(lengths.indexOf(len)===-1){lengths.push(len)}}lengths=lengths.sort(function(a,b){return b-a});const disallowedChars=opts.mode==="rfc3986"?/[^\w\s\-.~]/:/[^A-Za-z0-9\s]/;let result2="";for(let char,i=0,l=string.length;i<l;i++){char=string[i];let matchedMultichar=false;for(let j=0;j<lengths.length;j++){const len=lengths[j];const str2=string.substr(i,len);if(opts.multicharmap[str2]){i+=len-1;char=opts.multicharmap[str2];matchedMultichar=true;break}}if(!matchedMultichar){if(localeMap2[char]){char=localeMap2[char]}else if(opts.charmap[char]){char=opts.charmap[char].replace(opts.replacement," ")}else if(char.includes(opts.replacement)){char=char.replace(opts.replacement," ")}else{char=char.replace(disallowedChars,"")}}result2+=char}if(opts.remove){result2=result2.replace(opts.remove,"")}if(opts.trim){result2=result2.trim()}result2=result2.replace(/\s+/g,opts.replacement);if(opts.lower){result2=result2.toLowerCase()}return result2}const initialMulticharmap={फ़:"Fi",ग़:"Ghi",ख़:"Khi",क़:"Qi",ड़:"ugDha",ढ़:"ugDhha",य़:"Yi",ज़:"Za",בִי:"i",בֵ:"e",בֵי:"e",בֶ:"e",בַ:"a",בָ:"a",בֹ:"o",וֹ:"o",בֻ:"u",וּ:"u",בּ:"b",כּ:"k",ךּ:"k",פּ:"p",שׁ:"sh",שׂ:"s",בְ:"e",חֱ:"e",חֲ:"a",חֳ:"o",בִ:"i"};const initialCharmap={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",Æ:"AE",Ç:"C",È:"E",É:"E",Ê:"E",Ë:"E",Ì:"I",Í:"I",Î:"I",Ï:"I",Ð:"D",Ñ:"N",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ő:"O",Ø:"O",Ō:"O",Ù:"U",Ú:"U",Û:"U",Ü:"U",Ű:"U",Ý:"Y",Þ:"TH",ß:"ss",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",æ:"ae",ç:"c",è:"e",é:"e",ê:"e",ë:"e",ì:"i",í:"i",î:"i",ï:"i",ð:"d",ñ:"n",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ő:"o",ø:"o",ō:"o",Œ:"OE",œ:"oe",ù:"u",ú:"u",û:"u",ü:"u",ű:"u",ý:"y",þ:"th",ÿ:"y","ẞ":"SS",α:"a",β:"b",γ:"g",δ:"d",ε:"e",ζ:"z",η:"h",θ:"th",ι:"i",κ:"k",λ:"l",μ:"m",ν:"n",ξ:"3",ο:"o",π:"p",ρ:"r",σ:"s",τ:"t",υ:"y",φ:"f",χ:"x",ψ:"ps",ω:"w",ά:"a",έ:"e",ί:"i",ό:"o",ύ:"y",ή:"h",ώ:"w",ς:"s",ϊ:"i",ΰ:"y",ϋ:"y",ΐ:"i",Α:"A",Β:"B",Γ:"G",Δ:"D",Ε:"E",Ζ:"Z",Η:"H",Θ:"Th",Ι:"I",Κ:"K",Λ:"L",Μ:"M",Ν:"N",Ξ:"3",Ο:"O",Π:"P",Ρ:"R",Σ:"S",Τ:"T",Υ:"Y",Φ:"F",Χ:"X",Ψ:"PS",Ω:"W",Ά:"A",Έ:"E",Ί:"I",Ό:"O",Ύ:"Y",Ή:"H",Ώ:"W",Ϊ:"I",Ϋ:"Y",ş:"s",Ş:"S",ı:"i",İ:"I",ğ:"g",Ğ:"G",а:"a",б:"b",в:"v",г:"g",д:"d",е:"e",ё:"yo",ж:"zh",з:"z",и:"i",й:"j",к:"k",л:"l",м:"m",н:"n",о:"o",п:"p",р:"r",с:"s",т:"t",у:"u",ф:"f",х:"h",ц:"c",ч:"ch",ш:"sh",щ:"sh",ъ:"u",ы:"y",ь:"",э:"e",ю:"yu",я:"ya",А:"A",Б:"B",В:"V",Г:"G",Д:"D",Е:"E",Ё:"Yo",Ж:"Zh",З:"Z",И:"I",Й:"J",К:"K",Л:"L",М:"M",Н:"N",О:"O",П:"P",Р:"R",С:"S",Т:"T",У:"U",Ф:"F",Х:"H",Ц:"C",Ч:"Ch",Ш:"Sh",Щ:"Sh",Ъ:"U",Ы:"Y",Ь:"",Э:"E",Ю:"Yu",Я:"Ya",Є:"Ye",І:"I",Ї:"Yi",Ґ:"G",є:"ye",і:"i",ї:"yi",ґ:"g",č:"c",ď:"d",ě:"e",ň:"n",ř:"r",š:"s",ť:"t",ů:"u",ž:"z",Č:"C",Ď:"D",Ě:"E",Ň:"N",Ř:"R",Š:"S",Ť:"T",Ů:"U",Ž:"Z",ľ:"l",ĺ:"l",ŕ:"r",Ľ:"L",Ĺ:"L",Ŕ:"R",ą:"a",ć:"c",ę:"e",ł:"l",ń:"n",ś:"s",ź:"z",ż:"z",Ą:"A",Ć:"C",Ę:"E",Ł:"L",Ń:"N",Ś:"S",Ź:"Z",Ż:"Z",ā:"a",ē:"e",ģ:"g",ī:"i",ķ:"k",ļ:"l",ņ:"n",ū:"u",Ā:"A",Ē:"E",Ģ:"G",Ī:"I",Ķ:"K",Ļ:"L",Ņ:"N",Ū:"U",أ:"a",إ:"i",ب:"b",ت:"t",ث:"th",ج:"g",ح:"h",خ:"kh",د:"d",ذ:"th",ر:"r",ز:"z",س:"s",ش:"sh",ص:"s",ض:"d",ط:"t",ظ:"th",ع:"aa",غ:"gh",ف:"f",ق:"k",ك:"k",ل:"l",م:"m",ن:"n",ه:"h",و:"o",ي:"y",ء:"aa",ة:"a",آ:"a",ا:"a",پ:"p",ژ:"zh",گ:"g",چ:"ch",ک:"k",ی:"i",ė:"e",į:"i",ų:"u",Ė:"E",Į:"I",Ų:"U",ț:"t",Ț:"T",ţ:"t",Ţ:"T",ș:"s",Ș:"S",ă:"a",Ă:"A",Ạ:"A",Ả:"A",Ầ:"A",Ấ:"A",Ậ:"A",Ẩ:"A",Ẫ:"A",Ằ:"A",Ắ:"A",Ặ:"A",Ẳ:"A",Ẵ:"A",Ẹ:"E",Ẻ:"E",Ẽ:"E",Ề:"E",Ế:"E",Ệ:"E",Ể:"E",Ễ:"E",Ị:"I",Ỉ:"I",Ĩ:"I",Ọ:"O",Ỏ:"O",Ồ:"O",Ố:"O",Ộ:"O",Ổ:"O",Ỗ:"O",Ơ:"O",Ờ:"O",Ớ:"O",Ợ:"O",Ở:"O",Ỡ:"O",Ụ:"U",Ủ:"U",Ũ:"U",Ư:"U",Ừ:"U",Ứ:"U",Ự:"U",Ử:"U",Ữ:"U",Ỳ:"Y",Ỵ:"Y",Ỷ:"Y",Ỹ:"Y",Đ:"D",ạ:"a",ả:"a",ầ:"a",ấ:"a",ậ:"a",ẩ:"a",ẫ:"a",ằ:"a",ắ:"a",ặ:"a",ẳ:"a",ẵ:"a",ẹ:"e",ẻ:"e",ẽ:"e",ề:"e",ế:"e",ệ:"e",ể:"e",ễ:"e",ị:"i",ỉ:"i",ĩ:"i",ọ:"o",ỏ:"o",ồ:"o",ố:"o",ộ:"o",ổ:"o",ỗ:"o",ơ:"o",ờ:"o",ớ:"o",ợ:"o",ở:"o",ỡ:"o",ụ:"u",ủ:"u",ũ:"u",ư:"u",ừ:"u",ứ:"u",ự:"u",ử:"u",ữ:"u",ỳ:"y",ỵ:"y",ỷ:"y",ỹ:"y",đ:"d",Ә:"AE",ә:"ae",Ғ:"GH",ғ:"gh",Қ:"KH",қ:"kh",Ң:"NG",ң:"ng",Ү:"UE",ү:"ue",Ұ:"U",ұ:"u",Һ:"H",һ:"h",Ө:"OE",ө:"oe",ђ:"dj",ј:"j",љ:"lj",њ:"nj",ћ:"c",џ:"dz",Ђ:"Dj",Ј:"j",Љ:"Lj",Њ:"Nj",Ћ:"C",Џ:"Dz",ǌ:"nj",ǉ:"lj",ǋ:"NJ",ǈ:"LJ",अ:"a",आ:"aa",ए:"e",ई:"ii",ऍ:"ei",ऎ:"ae",ऐ:"ai",इ:"i",ओ:"o",ऑ:"oi",ऒ:"oii",ऊ:"uu",औ:"ou",उ:"u",ब:"B",भ:"Bha",च:"Ca",छ:"Chha",ड:"Da",ढ:"Dha",फ:"Fa",ग:"Ga",घ:"Gha",ग़:"Ghi",ह:"Ha",ज:"Ja",झ:"Jha",क:"Ka",ख:"Kha",ख़:"Khi",ल:"L",ळ:"Li",ऌ:"Li",ऴ:"Lii",ॡ:"Lii",म:"Ma",न:"Na",ङ:"Na",ञ:"Nia",ण:"Nae",ऩ:"Ni",ॐ:"oms",प:"Pa",क़:"Qi",र:"Ra",ऋ:"Ri",ॠ:"Ri",ऱ:"Ri",स:"Sa",श:"Sha",ष:"Shha",ट:"Ta",त:"Ta",ठ:"Tha",द:"Tha",थ:"Tha",ध:"Thha",ड़:"ugDha",ढ़:"ugDhha",व:"Va",य:"Ya",य़:"Yi",ज़:"Za",ə:"e",Ə:"E",ა:"a",ბ:"b",გ:"g",დ:"d",ე:"e",ვ:"v",ზ:"z",თ:"t",ი:"i",კ:"k",ლ:"l",მ:"m",ნ:"n",ო:"o",პ:"p",ჟ:"zh",რ:"r",ს:"s",ტ:"t",უ:"u",ფ:"p",ქ:"k",ღ:"gh",ყ:"q",შ:"sh",ჩ:"ch",ც:"ts",ძ:"dz",წ:"ts",ჭ:"ch",ხ:"kh",ჯ:"j",ჰ:"h",ב:"v",גּ:"g",ג:"g",ד:"d",דּ:"d",ה:"h",ו:"v",ז:"z",ח:"h",ט:"t",י:"y",כ:"kh",ך:"kh",ל:"l",מ:"m",ם:"m",נ:"n",ן:"n",ס:"s",פ:"f",ף:"f",ץ:"ts",צ:"ts",ק:"k",ר:"r",תּ:"t",ת:"t"};slug2.charmap=Object.assign({},initialCharmap);slug2.multicharmap=Object.assign({},initialMulticharmap);slug2.defaults={charmap:slug2.charmap,mode:"pretty",modes:{rfc3986:{replacement:"-",remove:null,lower:true,charmap:slug2.charmap,multicharmap:slug2.multicharmap,trim:true},pretty:{replacement:"-",remove:null,lower:true,charmap:slug2.charmap,multicharmap:slug2.multicharmap,trim:true}},multicharmap:slug2.multicharmap,fallback:true};slug2.reset=function(){slug2.defaults.modes.rfc3986.charmap=slug2.defaults.modes.pretty.charmap=slug2.charmap=slug2.defaults.charmap=Object.assign({},initialCharmap);slug2.defaults.modes.rfc3986.multicharmap=slug2.defaults.modes.pretty.multicharmap=slug2.multicharmap=slug2.defaults.multicharmap=Object.assign({},initialMulticharmap);defaultLocale=""};slug2.extend=function(customMap){const keys2=Object.keys(customMap);const multi={};const single={};for(let i=0;i<keys2.length;i++){if(keys2[i].length>1){multi[keys2[i]]=customMap[keys2[i]]}else{single[keys2[i]]=customMap[keys2[i]]}}Object.assign(slug2.charmap,single);Object.assign(slug2.multicharmap,multi)};slug2.setLocale=function(locale){defaultLocale=locales[locale]||{}};if(typeof module2!=="undefined"&&module2.exports){module2.exports=slug2}else{root2.slug=slug2}})(exports2)}});var require_default=__commonJS({"node_modules/cssfilter/lib/default.js"(exports2){function getDefaultWhiteList(){var whiteList={};whiteList["align-content"]=false;whiteList["align-items"]=false;whiteList["align-self"]=false;whiteList["alignment-adjust"]=false;whiteList["alignment-baseline"]=false;whiteList["all"]=false;whiteList["anchor-point"]=false;whiteList["animation"]=false;whiteList["animation-delay"]=false;whiteList["animation-direction"]=false;whiteList["animation-duration"]=false;whiteList["animation-fill-mode"]=false;whiteList["animation-iteration-count"]=false;whiteList["animation-name"]=false;whiteList["animation-play-state"]=false;whiteList["animation-timing-function"]=false;whiteList["azimuth"]=false;whiteList["backface-visibility"]=false;whiteList["background"]=true;whiteList["background-attachment"]=true;whiteList["background-clip"]=true;whiteList["background-color"]=true;whiteList["background-image"]=true;whiteList["background-origin"]=true;whiteList["background-position"]=true;whiteList["background-repeat"]=true;whiteList["background-size"]=true;whiteList["baseline-shift"]=false;whiteList["binding"]=false;whiteList["bleed"]=false;whiteList["bookmark-label"]=false;whiteList["bookmark-level"]=false;whiteList["bookmark-state"]=false;whiteList["border"]=true;whiteList["border-bottom"]=true;whiteList["border-bottom-color"]=true;whiteList["border-bottom-left-radius"]=true;whiteList["border-bottom-right-radius"]=true;whiteList["border-bottom-style"]=true;whiteList["border-bottom-width"]=true;whiteList["border-collapse"]=true;whiteList["border-color"]=true;whiteList["border-image"]=true;whiteList["border-image-outset"]=true;whiteList["border-image-repeat"]=true;whiteList["border-image-slice"]=true;whiteList["border-image-source"]=true;whiteList["border-image-width"]=true;whiteList["border-left"]=true;whiteList["border-left-color"]=true;whiteList["border-left-style"]=true;whiteList["border-left-width"]=true;whiteList["border-radius"]=true;whiteList["border-right"]=true;whiteList["border-right-color"]=true;whiteList["border-right-style"]=true;whiteList["border-right-width"]=true;whiteList["border-spacing"]=true;whiteList["border-style"]=true;whiteList["border-top"]=true;whiteList["border-top-color"]=true;whiteList["border-top-left-radius"]=true;whiteList["border-top-right-radius"]=true;whiteList["border-top-style"]=true;whiteList["border-top-width"]=true;whiteList["border-width"]=true;whiteList["bottom"]=false;whiteList["box-decoration-break"]=true;whiteList["box-shadow"]=true;whiteList["box-sizing"]=true;whiteList["box-snap"]=true;whiteList["box-suppress"]=true;whiteList["break-after"]=true;whiteList["break-before"]=true;whiteList["break-inside"]=true;whiteList["caption-side"]=false;whiteList["chains"]=false;whiteList["clear"]=true;whiteList["clip"]=false;whiteList["clip-path"]=false;whiteList["clip-rule"]=false;whiteList["color"]=true;whiteList["color-interpolation-filters"]=true;whiteList["column-count"]=false;whiteList["column-fill"]=false;whiteList["column-gap"]=false;whiteList["column-rule"]=false;whiteList["column-rule-color"]=false;whiteList["column-rule-style"]=false;whiteList["column-rule-width"]=false;whiteList["column-span"]=false;whiteList["column-width"]=false;whiteList["columns"]=false;whiteList["contain"]=false;whiteList["content"]=false;whiteList["counter-increment"]=false;whiteList["counter-reset"]=false;whiteList["counter-set"]=false;whiteList["crop"]=false;whiteList["cue"]=false;whiteList["cue-after"]=false;whiteList["cue-before"]=false;whiteList["cursor"]=false;whiteList["direction"]=false;whiteList["display"]=true;whiteList["display-inside"]=true;whiteList["display-list"]=true;whiteList["display-outside"]=true;whiteList["dominant-baseline"]=false;whiteList["elevation"]=false;whiteList["empty-cells"]=false;whiteList["filter"]=false;whiteList["flex"]=false;whiteList["flex-basis"]=false;whiteList["flex-direction"]=false;whiteList["flex-flow"]=false;whiteList["flex-grow"]=false;whiteList["flex-shrink"]=false;whiteList["flex-wrap"]=false;whiteList["float"]=false;whiteList["float-offset"]=false;whiteList["flood-color"]=false;whiteList["flood-opacity"]=false;whiteList["flow-from"]=false;whiteList["flow-into"]=false;whiteList["font"]=true;whiteList["font-family"]=true;whiteList["font-feature-settings"]=true;whiteList["font-kerning"]=true;whiteList["font-language-override"]=true;whiteList["font-size"]=true;whiteList["font-size-adjust"]=true;whiteList["font-stretch"]=true;whiteList["font-style"]=true;whiteList["font-synthesis"]=true;whiteList["font-variant"]=true;whiteList["font-variant-alternates"]=true;whiteList["font-variant-caps"]=true;whiteList["font-variant-east-asian"]=true;whiteList["font-variant-ligatures"]=true;whiteList["font-variant-numeric"]=true;whiteList["font-variant-position"]=true;whiteList["font-weight"]=true;whiteList["grid"]=false;whiteList["grid-area"]=false;whiteList["grid-auto-columns"]=false;whiteList["grid-auto-flow"]=false;whiteList["grid-auto-rows"]=false;whiteList["grid-column"]=false;whiteList["grid-column-end"]=false;whiteList["grid-column-start"]=false;whiteList["grid-row"]=false;whiteList["grid-row-end"]=false;whiteList["grid-row-start"]=false;whiteList["grid-template"]=false;whiteList["grid-template-areas"]=false;whiteList["grid-template-columns"]=false;whiteList["grid-template-rows"]=false;whiteList["hanging-punctuation"]=false;whiteList["height"]=true;whiteList["hyphens"]=false;whiteList["icon"]=false;whiteList["image-orientation"]=false;whiteList["image-resolution"]=false;whiteList["ime-mode"]=false;whiteList["initial-letters"]=false;whiteList["inline-box-align"]=false;whiteList["justify-content"]=false;whiteList["justify-items"]=false;whiteList["justify-self"]=false;whiteList["left"]=false;whiteList["letter-spacing"]=true;whiteList["lighting-color"]=true;whiteList["line-box-contain"]=false;whiteList["line-break"]=false;whiteList["line-grid"]=false;whiteList["line-height"]=false;whiteList["line-snap"]=false;whiteList["line-stacking"]=false;whiteList["line-stacking-ruby"]=false;whiteList["line-stacking-shift"]=false;whiteList["line-stacking-strategy"]=false;whiteList["list-style"]=true;whiteList["list-style-image"]=true;whiteList["list-style-position"]=true;whiteList["list-style-type"]=true;whiteList["margin"]=true;whiteList["margin-bottom"]=true;whiteList["margin-left"]=true;whiteList["margin-right"]=true;whiteList["margin-top"]=true;whiteList["marker-offset"]=false;whiteList["marker-side"]=false;whiteList["marks"]=false;whiteList["mask"]=false;whiteList["mask-box"]=false;whiteList["mask-box-outset"]=false;whiteList["mask-box-repeat"]=false;whiteList["mask-box-slice"]=false;whiteList["mask-box-source"]=false;whiteList["mask-box-width"]=false;whiteList["mask-clip"]=false;whiteList["mask-image"]=false;whiteList["mask-origin"]=false;whiteList["mask-position"]=false;whiteList["mask-repeat"]=false;whiteList["mask-size"]=false;whiteList["mask-source-type"]=false;whiteList["mask-type"]=false;whiteList["max-height"]=true;whiteList["max-lines"]=false;whiteList["max-width"]=true;whiteList["min-height"]=true;whiteList["min-width"]=true;whiteList["move-to"]=false;whiteList["nav-down"]=false;whiteList["nav-index"]=false;whiteList["nav-left"]=false;whiteList["nav-right"]=false;whiteList["nav-up"]=false;whiteList["object-fit"]=false;whiteList["object-position"]=false;whiteList["opacity"]=false;whiteList["order"]=false;whiteList["orphans"]=false;whiteList["outline"]=false;whiteList["outline-color"]=false;whiteList["outline-offset"]=false;whiteList["outline-style"]=false;whiteList["outline-width"]=false;whiteList["overflow"]=false;whiteList["overflow-wrap"]=false;whiteList["overflow-x"]=false;whiteList["overflow-y"]=false;whiteList["padding"]=true;whiteList["padding-bottom"]=true;whiteList["padding-left"]=true;whiteList["padding-right"]=true;whiteList["padding-top"]=true;whiteList["page"]=false;whiteList["page-break-after"]=false;whiteList["page-break-before"]=false;whiteList["page-break-inside"]=false;whiteList["page-policy"]=false;whiteList["pause"]=false;whiteList["pause-after"]=false;whiteList["pause-before"]=false;whiteList["perspective"]=false;whiteList["perspective-origin"]=false;whiteList["pitch"]=false;whiteList["pitch-range"]=false;whiteList["play-during"]=false;whiteList["position"]=false;whiteList["presentation-level"]=false;whiteList["quotes"]=false;whiteList["region-fragment"]=false;whiteList["resize"]=false;whiteList["rest"]=false;whiteList["rest-after"]=false;whiteList["rest-before"]=false;whiteList["richness"]=false;whiteList["right"]=false;whiteList["rotation"]=false;whiteList["rotation-point"]=false;whiteList["ruby-align"]=false;whiteList["ruby-merge"]=false;whiteList["ruby-position"]=false;whiteList["shape-image-threshold"]=false;whiteList["shape-outside"]=false;whiteList["shape-margin"]=false;whiteList["size"]=false;whiteList["speak"]=false;whiteList["speak-as"]=false;whiteList["speak-header"]=false;whiteList["speak-numeral"]=false;whiteList["speak-punctuation"]=false;whiteList["speech-rate"]=false;whiteList["stress"]=false;whiteList["string-set"]=false;whiteList["tab-size"]=false;whiteList["table-layout"]=false;whiteList["text-align"]=true;whiteList["text-align-last"]=true;whiteList["text-combine-upright"]=true;whiteList["text-decoration"]=true;whiteList["text-decoration-color"]=true;whiteList["text-decoration-line"]=true;whiteList["text-decoration-skip"]=true;whiteList["text-decoration-style"]=true;whiteList["text-emphasis"]=true;whiteList["text-emphasis-color"]=true;whiteList["text-emphasis-position"]=true;whiteList["text-emphasis-style"]=true;whiteList["text-height"]=true;whiteList["text-indent"]=true;whiteList["text-justify"]=true;whiteList["text-orientation"]=true;whiteList["text-overflow"]=true;whiteList["text-shadow"]=true;whiteList["text-space-collapse"]=true;whiteList["text-transform"]=true;whiteList["text-underline-position"]=true;whiteList["text-wrap"]=true;whiteList["top"]=false;whiteList["transform"]=false;whiteList["transform-origin"]=false;whiteList["transform-style"]=false;whiteList["transition"]=false;whiteList["transition-delay"]=false;whiteList["transition-duration"]=false;whiteList["transition-property"]=false;whiteList["transition-timing-function"]=false;whiteList["unicode-bidi"]=false;whiteList["vertical-align"]=false;whiteList["visibility"]=false;whiteList["voice-balance"]=false;whiteList["voice-duration"]=false;whiteList["voice-family"]=false;whiteList["voice-pitch"]=false;whiteList["voice-range"]=false;whiteList["voice-rate"]=false;whiteList["voice-stress"]=false;whiteList["voice-volume"]=false;whiteList["volume"]=false;whiteList["white-space"]=false;whiteList["widows"]=false;whiteList["width"]=true;whiteList["will-change"]=false;whiteList["word-break"]=true;whiteList["word-spacing"]=true;whiteList["word-wrap"]=true;whiteList["wrap-flow"]=false;whiteList["wrap-through"]=false;whiteList["writing-mode"]=false;whiteList["z-index"]=false;return whiteList}function onAttr(name,value,options){}function onIgnoreAttr(name,value,options){}var REGEXP_URL_JAVASCRIPT=/javascript\s*\:/img;function safeAttrValue(name,value){if(REGEXP_URL_JAVASCRIPT.test(value))return"";return value}exports2.whiteList=getDefaultWhiteList();exports2.getDefaultWhiteList=getDefaultWhiteList;exports2.onAttr=onAttr;exports2.onIgnoreAttr=onIgnoreAttr;exports2.safeAttrValue=safeAttrValue}});var require_util11=__commonJS({"node_modules/cssfilter/lib/util.js"(exports2,module2){module2.exports={indexOf:function(arr,item){var i,j;if(Array.prototype.indexOf){return arr.indexOf(item)}for(i=0,j=arr.length;i<j;i++){if(arr[i]===item){return i}}return-1},forEach:function(arr,fn2,scope){var i,j;if(Array.prototype.forEach){return arr.forEach(fn2,scope)}for(i=0,j=arr.length;i<j;i++){fn2.call(scope,arr[i],i,arr)}},trim:function(str2){if(String.prototype.trim){return str2.trim()}return str2.replace(/(^\s*)|(\s*$)/g,"")},trimRight:function(str2){if(String.prototype.trimRight){return str2.trimRight()}return str2.replace(/(\s*$)/g,"")}}}});var require_parser=__commonJS({"node_modules/cssfilter/lib/parser.js"(exports2,module2){var _=require_util11();function parseStyle(css,onAttr){css=_.trimRight(css);if(css[css.length-1]!==";")css+=";";var cssLength=css.length;var isParenthesisOpen=false;var lastPos=0;var i=0;var retCSS="";function addNewAttr(){if(!isParenthesisOpen){var source=_.trim(css.slice(lastPos,i));var j2=source.indexOf(":");if(j2!==-1){var name=_.trim(source.slice(0,j2));var value=_.trim(source.slice(j2+1));if(name){var ret=onAttr(lastPos,retCSS.length,name,value,source);if(ret)retCSS+=ret+"; "}}}lastPos=i+1}for(;i<cssLength;i++){var c=css[i];if(c==="/"&&css[i+1]==="*"){var j=css.indexOf("*/",i+2);if(j===-1)break;i=j+1;lastPos=i+1;isParenthesisOpen=false}else if(c==="("){isParenthesisOpen=true}else if(c===")"){isParenthesisOpen=false}else if(c===";"){if(isParenthesisOpen){}else{addNewAttr()}}else if(c==="\n"){addNewAttr()}}return _.trim(retCSS)}module2.exports=parseStyle}});var require_css=__commonJS({"node_modules/cssfilter/lib/css.js"(exports2,module2){var DEFAULT=require_default();var parseStyle=require_parser();var _=require_util11();function isNull3(obj){return obj===void 0||obj===null}function shallowCopyObject(obj){var ret={};for(var i in obj){ret[i]=obj[i]}return ret}function FilterCSS(options){options=shallowCopyObject(options||{});options.whiteList=options.whiteList||DEFAULT.whiteList;options.onAttr=options.onAttr||DEFAULT.onAttr;options.onIgnoreAttr=options.onIgnoreAttr||DEFAULT.onIgnoreAttr;options.safeAttrValue=options.safeAttrValue||DEFAULT.safeAttrValue;this.options=options}FilterCSS.prototype.process=function(css){css=css||"";css=css.toString();if(!css)return"";var me=this;var options=me.options;var whiteList=options.whiteList;var onAttr=options.onAttr;var onIgnoreAttr=options.onIgnoreAttr;var safeAttrValue=options.safeAttrValue;var retCSS=parseStyle(css,function(sourcePosition,position,name,value,source){var check=whiteList[name];var isWhite=false;if(check===true)isWhite=check;else if(typeof check==="function")isWhite=check(value);else if(check instanceof RegExp)isWhite=check.test(value);if(isWhite!==true)isWhite=false;value=safeAttrValue(name,value);if(!value)return;var opts={position,sourcePosition,source,isWhite};if(isWhite){var ret=onAttr(name,value,opts);if(isNull3(ret)){return name+":"+value}else{return ret}}else{var ret=onIgnoreAttr(name,value,opts);if(!isNull3(ret)){return ret}}});return retCSS};module2.exports=FilterCSS}});var require_lib13=__commonJS({"node_modules/cssfilter/lib/index.js"(exports2,module2){var DEFAULT=require_default();var FilterCSS=require_css();function filterCSS(html,options){var xss=new FilterCSS(options);return xss.process(html)}exports2=module2.exports=filterCSS;exports2.FilterCSS=FilterCSS;for(i in DEFAULT)exports2[i]=DEFAULT[i];var i;if(typeof window!=="undefined"){window.filterCSS=module2.exports}}});var require_util12=__commonJS({"node_modules/xss/lib/util.js"(exports2,module2){module2.exports={indexOf:function(arr,item){var i,j;if(Array.prototype.indexOf){return arr.indexOf(item)}for(i=0,j=arr.length;i<j;i++){if(arr[i]===item){return i}}return-1},forEach:function(arr,fn2,scope){var i,j;if(Array.prototype.forEach){return arr.forEach(fn2,scope)}for(i=0,j=arr.length;i<j;i++){fn2.call(scope,arr[i],i,arr)}},trim:function(str2){if(String.prototype.trim){return str2.trim()}return str2.replace(/(^\s*)|(\s*$)/g,"")},spaceIndex:function(str2){var reg=/\s|\n|\t/;var match=reg.exec(str2);return match?match.index:-1}}}});var require_default2=__commonJS({"node_modules/xss/lib/default.js"(exports2){var FilterCSS=require_lib13().FilterCSS;var getDefaultCSSWhiteList=require_lib13().getDefaultWhiteList;var _=require_util12();function getDefaultWhiteList(){return{a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","crossorigin","loop","muted","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],figcaption:[],figure:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height","loading"],ins:["datetime"],kbd:[],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],summary:[],sup:[],strong:[],strike:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","crossorigin","loop","muted","playsinline","poster","preload","src","height","width"]}}var defaultCSSFilter=new FilterCSS;function onTag(tag,html,options){}function onIgnoreTag(tag,html,options){}function onTagAttr(tag,name,value){}function onIgnoreTagAttr(tag,name,value){}function escapeHtml(html){return html.replace(REGEXP_LT,"&lt;").replace(REGEXP_GT,"&gt;")}function safeAttrValue(tag,name,value,cssFilter){value=friendlyAttrValue(value);if(name==="href"||name==="src"){value=_.trim(value);if(value==="#")return"#";if(!(value.substr(0,7)==="http://"||value.substr(0,8)==="https://"||value.substr(0,7)==="mailto:"||value.substr(0,4)==="tel:"||value.substr(0,11)==="data:image/"||value.substr(0,6)==="ftp://"||value.substr(0,2)==="./"||value.substr(0,3)==="../"||value[0]==="#"||value[0]==="/")){return""}}else if(name==="background"){REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex=0;if(REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)){return""}}else if(name==="style"){REGEXP_DEFAULT_ON_TAG_ATTR_7.lastIndex=0;if(REGEXP_DEFAULT_ON_TAG_ATTR_7.test(value)){return""}REGEXP_DEFAULT_ON_TAG_ATTR_8.lastIndex=0;if(REGEXP_DEFAULT_ON_TAG_ATTR_8.test(value)){REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex=0;if(REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)){return""}}if(cssFilter!==false){cssFilter=cssFilter||defaultCSSFilter;value=cssFilter.process(value)}}value=escapeAttrValue(value);return value}var REGEXP_LT=/</g;var REGEXP_GT=/>/g;var REGEXP_QUOTE=/"/g;var REGEXP_QUOTE_2=/&quot;/g;var REGEXP_ATTR_VALUE_1=/&#([a-zA-Z0-9]*);?/gim;var REGEXP_ATTR_VALUE_COLON=/&colon;?/gim;var REGEXP_ATTR_VALUE_NEWLINE=/&newline;?/gim;var REGEXP_DEFAULT_ON_TAG_ATTR_4=/((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a):/gi;var REGEXP_DEFAULT_ON_TAG_ATTR_7=/e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi;var REGEXP_DEFAULT_ON_TAG_ATTR_8=/u\s*r\s*l\s*\(.*/gi;function escapeQuote(str2){return str2.replace(REGEXP_QUOTE,"&quot;")}function unescapeQuote(str2){return str2.replace(REGEXP_QUOTE_2,'"')}function escapeHtmlEntities(str2){return str2.replace(REGEXP_ATTR_VALUE_1,function replaceUnicode(str3,code){return code[0]==="x"||code[0]==="X"?String.fromCharCode(parseInt(code.substr(1),16)):String.fromCharCode(parseInt(code,10))})}function escapeDangerHtml5Entities(str2){return str2.replace(REGEXP_ATTR_VALUE_COLON,":").replace(REGEXP_ATTR_VALUE_NEWLINE," ")}function clearNonPrintableCharacter(str2){var str22="";for(var i=0,len=str2.length;i<len;i++){str22+=str2.charCodeAt(i)<32?" ":str2.charAt(i)}return _.trim(str22)}function friendlyAttrValue(str2){str2=unescapeQuote(str2);str2=escapeHtmlEntities(str2);str2=escapeDangerHtml5Entities(str2);str2=clearNonPrintableCharacter(str2);return str2}function escapeAttrValue(str2){str2=escapeQuote(str2);str2=escapeHtml(str2);return str2}function onIgnoreTagStripAll(){return""}function StripTagBody(tags,next){if(typeof next!=="function"){next=function(){}}var isRemoveAllTag=!Array.isArray(tags);function isRemoveTag(tag){if(isRemoveAllTag)return true;return _.indexOf(tags,tag)!==-1}var removeList=[];var posStart=false;return{onIgnoreTag:function(tag,html,options){if(isRemoveTag(tag)){if(options.isClosing){var ret="[/removed]";var end=options.position+ret.length;removeList.push([posStart!==false?posStart:options.position,end]);posStart=false;return ret}else{if(!posStart){posStart=options.position}return"[removed]"}}else{return next(tag,html,options)}},remove:function(html){var rethtml="";var lastPos=0;_.forEach(removeList,function(pos){rethtml+=html.slice(lastPos,pos[0]);lastPos=pos[1]});rethtml+=html.slice(lastPos);return rethtml}}}function stripCommentTag(html){var retHtml="";var lastPos=0;while(lastPos<html.length){var i=html.indexOf("<!--",lastPos);if(i===-1){retHtml+=html.slice(lastPos);break}retHtml+=html.slice(lastPos,i);var j=html.indexOf("-->",i);if(j===-1){break}lastPos=j+3}return retHtml}function stripBlankChar(html){var chars=html.split("");chars=chars.filter(function(char){var c=char.charCodeAt(0);if(c===127)return false;if(c<=31){if(c===10||c===13)return true;return false}return true});return chars.join("")}exports2.whiteList=getDefaultWhiteList();exports2.getDefaultWhiteList=getDefaultWhiteList;exports2.onTag=onTag;exports2.onIgnoreTag=onIgnoreTag;exports2.onTagAttr=onTagAttr;exports2.onIgnoreTagAttr=onIgnoreTagAttr;exports2.safeAttrValue=safeAttrValue;exports2.escapeHtml=escapeHtml;exports2.escapeQuote=escapeQuote;exports2.unescapeQuote=unescapeQuote;exports2.escapeHtmlEntities=escapeHtmlEntities;exports2.escapeDangerHtml5Entities=escapeDangerHtml5Entities;exports2.clearNonPrintableCharacter=clearNonPrintableCharacter;exports2.friendlyAttrValue=friendlyAttrValue;exports2.escapeAttrValue=escapeAttrValue;exports2.onIgnoreTagStripAll=onIgnoreTagStripAll;exports2.StripTagBody=StripTagBody;exports2.stripCommentTag=stripCommentTag;exports2.stripBlankChar=stripBlankChar;exports2.attributeWrapSign='"';exports2.cssFilter=defaultCSSFilter;exports2.getDefaultCSSWhiteList=getDefaultCSSWhiteList}});var require_parser2=__commonJS({"node_modules/xss/lib/parser.js"(exports2){var _=require_util12();function getTagName(html){var i=_.spaceIndex(html);var tagName;if(i===-1){tagName=html.slice(1,-1)}else{tagName=html.slice(1,i+1)}tagName=_.trim(tagName).toLowerCase();if(tagName.slice(0,1)==="/")tagName=tagName.slice(1);if(tagName.slice(-1)==="/")tagName=tagName.slice(0,-1);return tagName}function isClosing(html){return html.slice(0,2)==="</"}function parseTag(html,onTag,escapeHtml){"use strict";var rethtml="";var lastPos=0;var tagStart=false;var quoteStart=false;var currentPos=0;var len=html.length;var currentTagName="";var currentHtml="";chariterator:for(currentPos=0;currentPos<len;currentPos++){var c=html.charAt(currentPos);if(tagStart===false){if(c==="<"){tagStart=currentPos;continue}}else{if(quoteStart===false){if(c==="<"){rethtml+=escapeHtml(html.slice(lastPos,currentPos));tagStart=currentPos;lastPos=currentPos;continue}if(c===">"||currentPos===len-1){rethtml+=escapeHtml(html.slice(lastPos,tagStart));currentHtml=html.slice(tagStart,currentPos+1);currentTagName=getTagName(currentHtml);rethtml+=onTag(tagStart,rethtml.length,currentTagName,currentHtml,isClosing(currentHtml));lastPos=currentPos+1;tagStart=false;continue}if(c==='"'||c==="'"){var i=1;var ic=html.charAt(currentPos-i);while(ic.trim()===""||ic==="="){if(ic==="="){quoteStart=c;continue chariterator}ic=html.charAt(currentPos-++i)}}}else{if(c===quoteStart){quoteStart=false;continue}}}}if(lastPos<len){rethtml+=escapeHtml(html.substr(lastPos))}return rethtml}var REGEXP_ILLEGAL_ATTR_NAME=/[^a-zA-Z0-9\\_:.-]/gim;function parseAttr(html,onAttr){"use strict";var lastPos=0;var lastMarkPos=0;var retAttrs=[];var tmpName=false;var len=html.length;function addAttr(name,value){name=_.trim(name);name=name.replace(REGEXP_ILLEGAL_ATTR_NAME,"").toLowerCase();if(name.length<1)return;var ret=onAttr(name,value||"");if(ret)retAttrs.push(ret)}for(var i=0;i<len;i++){var c=html.charAt(i);var v,j;if(tmpName===false&&c==="="){tmpName=html.slice(lastPos,i);lastPos=i+1;lastMarkPos=html.charAt(lastPos)==='"'||html.charAt(lastPos)==="'"?lastPos:findNextQuotationMark(html,i+1);continue}if(tmpName!==false){if(i===lastMarkPos){j=html.indexOf(c,i+1);if(j===-1){break}else{v=_.trim(html.slice(lastMarkPos+1,j));addAttr(tmpName,v);tmpName=false;i=j;lastPos=i+1;continue}}}if(/\s|\n|\t/.test(c)){html=html.replace(/\s|\n|\t/g," ");if(tmpName===false){j=findNextEqual(html,i);if(j===-1){v=_.trim(html.slice(lastPos,i));addAttr(v);tmpName=false;lastPos=i+1;continue}else{i=j-1;continue}}else{j=findBeforeEqual(html,i-1);if(j===-1){v=_.trim(html.slice(lastPos,i));v=stripQuoteWrap(v);addAttr(tmpName,v);tmpName=false;lastPos=i+1;continue}else{continue}}}}if(lastPos<html.length){if(tmpName===false){addAttr(html.slice(lastPos))}else{addAttr(tmpName,stripQuoteWrap(_.trim(html.slice(lastPos))))}}return _.trim(retAttrs.join(" "))}function findNextEqual(str2,i){for(;i<str2.length;i++){var c=str2[i];if(c===" ")continue;if(c==="=")return i;return-1}}function findNextQuotationMark(str2,i){for(;i<str2.length;i++){var c=str2[i];if(c===" ")continue;if(c==="'"||c==='"')return i;return-1}}function findBeforeEqual(str2,i){for(;i>0;i--){var c=str2[i];if(c===" ")continue;if(c==="=")return i;return-1}}function isQuoteWrapString(text){if(text[0]==='"'&&text[text.length-1]==='"'||text[0]==="'"&&text[text.length-1]==="'"){return true}else{return false}}function stripQuoteWrap(text){if(isQuoteWrapString(text)){return text.substr(1,text.length-2)}else{return text}}exports2.parseTag=parseTag;exports2.parseAttr=parseAttr}});var require_xss=__commonJS({"node_modules/xss/lib/xss.js"(exports2,module2){var FilterCSS=require_lib13().FilterCSS;var DEFAULT=require_default2();var parser=require_parser2();var parseTag=parser.parseTag;var parseAttr=parser.parseAttr;var _=require_util12();function isNull3(obj){return obj===void 0||obj===null}function getAttrs(html){var i=_.spaceIndex(html);if(i===-1){return{html:"",closing:html[html.length-2]==="/"}}html=_.trim(html.slice(i+1,-1));var isClosing=html[html.length-1]==="/";if(isClosing)html=_.trim(html.slice(0,-1));return{html,closing:isClosing}}function shallowCopyObject(obj){var ret={};for(var i in obj){ret[i]=obj[i]}return ret}function keysToLowerCase(obj){var ret={};for(var i in obj){if(Array.isArray(obj[i])){ret[i.toLowerCase()]=obj[i].map(function(item){return item.toLowerCase()})}else{ret[i.toLowerCase()]=obj[i]}}return ret}function FilterXSS2(options){options=shallowCopyObject(options||{});if(options.stripIgnoreTag){if(options.onIgnoreTag){console.error('Notes: cannot use these two options "stripIgnoreTag" and "onIgnoreTag" at the same time')}options.onIgnoreTag=DEFAULT.onIgnoreTagStripAll}if(options.whiteList||options.allowList){options.whiteList=keysToLowerCase(options.whiteList||options.allowList)}else{options.whiteList=DEFAULT.whiteList}this.attributeWrapSign=options.singleQuotedAttributeValue===true?"'":DEFAULT.attributeWrapSign;options.onTag=options.onTag||DEFAULT.onTag;options.onTagAttr=options.onTagAttr||DEFAULT.onTagAttr;options.onIgnoreTag=options.onIgnoreTag||DEFAULT.onIgnoreTag;options.onIgnoreTagAttr=options.onIgnoreTagAttr||DEFAULT.onIgnoreTagAttr;options.safeAttrValue=options.safeAttrValue||DEFAULT.safeAttrValue;options.escapeHtml=options.escapeHtml||DEFAULT.escapeHtml;this.options=options;if(options.css===false){this.cssFilter=false}else{options.css=options.css||{};this.cssFilter=new FilterCSS(options.css)}}FilterXSS2.prototype.process=function(html){html=html||"";html=html.toString();if(!html)return"";var me=this;var options=me.options;var whiteList=options.whiteList;var onTag=options.onTag;var onIgnoreTag=options.onIgnoreTag;var onTagAttr=options.onTagAttr;var onIgnoreTagAttr=options.onIgnoreTagAttr;var safeAttrValue=options.safeAttrValue;var escapeHtml=options.escapeHtml;var attributeWrapSign=me.attributeWrapSign;var cssFilter=me.cssFilter;if(options.stripBlankChar){html=DEFAULT.stripBlankChar(html)}if(!options.allowCommentTag){html=DEFAULT.stripCommentTag(html)}var stripIgnoreTagBody=false;if(options.stripIgnoreTagBody){stripIgnoreTagBody=DEFAULT.StripTagBody(options.stripIgnoreTagBody,onIgnoreTag);onIgnoreTag=stripIgnoreTagBody.onIgnoreTag}var retHtml=parseTag(html,function(sourcePosition,position,tag,html2,isClosing){var info={sourcePosition,position,isClosing,isWhite:Object.prototype.hasOwnProperty.call(whiteList,tag)};var ret=onTag(tag,html2,info);if(!isNull3(ret))return ret;if(info.isWhite){if(info.isClosing){return"</"+tag+">"}var attrs=getAttrs(html2);var whiteAttrList=whiteList[tag];var attrsHtml=parseAttr(attrs.html,function(name,value){var isWhiteAttr=_.indexOf(whiteAttrList,name)!==-1;var ret2=onTagAttr(tag,name,value,isWhiteAttr);if(!isNull3(ret2))return ret2;if(isWhiteAttr){value=safeAttrValue(tag,name,value,cssFilter);if(value){return name+"="+attributeWrapSign+value+attributeWrapSign}else{return name}}else{ret2=onIgnoreTagAttr(tag,name,value,isWhiteAttr);if(!isNull3(ret2))return ret2;return}});html2="<"+tag;if(attrsHtml)html2+=" "+attrsHtml;if(attrs.closing)html2+=" /";html2+=">";return html2}else{ret=onIgnoreTag(tag,html2,info);if(!isNull3(ret))return ret;return escapeHtml(html2)}},escapeHtml);if(stripIgnoreTagBody){retHtml=stripIgnoreTagBody.remove(retHtml)}return retHtml};module2.exports=FilterXSS2}});var require_lib14=__commonJS({"node_modules/xss/lib/index.js"(exports2,module2){var DEFAULT=require_default2();var parser=require_parser2();var FilterXSS2=require_xss();function filterXSS(html,options){var xss=new FilterXSS2(options);return xss.process(html)}exports2=module2.exports=filterXSS;exports2.filterXSS=filterXSS;exports2.FilterXSS=FilterXSS2;(function(){for(var i in DEFAULT){exports2[i]=DEFAULT[i]}for(var j in parser){exports2[j]=parser[j]}})();if(typeof window!=="undefined"){window.filterXSS=module2.exports}function isWorkerEnv(){return typeof self!=="undefined"&&typeof DedicatedWorkerGlobalScope!=="undefined"&&self instanceof DedicatedWorkerGlobalScope}if(isWorkerEnv()){self.filterXSS=module2.exports}}});var require_utils5=__commonJS({"node_modules/ejs/lib/utils.js"(exports2){"use strict";var regExpChars=/[|\\{}()[\]^$+*?.]/g;var hasOwnProperty26=Object.prototype.hasOwnProperty;var hasOwn2=function(obj,key){return hasOwnProperty26.apply(obj,[key])};exports2.escapeRegExpChars=function(string){if(!string){return""}return String(string).replace(regExpChars,"\\$&")};var _ENCODE_HTML_RULES={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&#34;","'":"&#39;"};var _MATCH_HTML=/[&<>'"]/g;function encode_char(c){return _ENCODE_HTML_RULES[c]||c}var escapeFuncStr=`var _ENCODE_HTML_RULES = {
      "&": "&amp;"
    , "<": "&lt;"
    , ">": "&gt;"
    , '"': "&#34;"
    , "'": "&#39;"
    }
  , _MATCH_HTML = /[&<>'"]/g;
function encode_char(c) {
  return _ENCODE_HTML_RULES[c] || c;
};
`;exports2.escapeXML=function(markup){return markup==void 0?"":String(markup).replace(_MATCH_HTML,encode_char)};function escapeXMLToString(){return Function.prototype.toString.call(this)+";\n"+escapeFuncStr}try{if(typeof Object.defineProperty==="function"){Object.defineProperty(exports2.escapeXML,"toString",{value:escapeXMLToString})}else{exports2.escapeXML.toString=escapeXMLToString}}catch(err){console.warn("Unable to set escapeXML.toString (is the Function prototype frozen?)")}exports2.shallowCopy=function(to,from){from=from||{};if(to!==null&&to!==void 0){for(var p in from){if(!hasOwn2(from,p)){continue}if(p==="__proto__"||p==="constructor"){continue}to[p]=from[p]}}return to};exports2.shallowCopyFromList=function(to,from,list){list=list||[];from=from||{};if(to!==null&&to!==void 0){for(var i=0;i<list.length;i++){var p=list[i];if(typeof from[p]!="undefined"){if(!hasOwn2(from,p)){continue}if(p==="__proto__"||p==="constructor"){continue}to[p]=from[p]}}}return to};exports2.cache={_data:{},set:function(key,val){this._data[key]=val},get:function(key){return this._data[key]},remove:function(key){delete this._data[key]},reset:function(){this._data={}}};exports2.hyphenToCamel=function(str2){return str2.replace(/-[a-z]/g,function(match){return match[1].toUpperCase()})};exports2.createNullProtoObjWherePossible=function(){if(typeof Object.create=="function"){return function(){return Object.create(null)}}if(!({__proto__:null}instanceof Object)){return function(){return{__proto__:null}}}return function(){return{}}}();exports2.hasOwnOnlyObject=function(obj){var o=exports2.createNullProtoObjWherePossible();for(var p in obj){if(hasOwn2(obj,p)){o[p]=obj[p]}}return o}}});var require_package6=__commonJS({"node_modules/ejs/package.json"(exports2,module2){module2.exports={name:"ejs",description:"Embedded JavaScript templates",keywords:["template","engine","ejs"],version:"3.1.10",author:"Matthew Eernisse <mde@fleegix.org> (http://fleegix.org)",license:"Apache-2.0",bin:{ejs:"./bin/cli.js"},main:"./lib/ejs.js",jsdelivr:"ejs.min.js",unpkg:"ejs.min.js",repository:{type:"git",url:"git://github.com/mde/ejs.git"},bugs:"https://github.com/mde/ejs/issues",homepage:"https://github.com/mde/ejs",dependencies:{jake:"^10.8.5"},devDependencies:{browserify:"^16.5.1",eslint:"^6.8.0","git-directory-deploy":"^1.5.1",jsdoc:"^4.0.2","lru-cache":"^4.0.1",mocha:"^10.2.0","uglify-js":"^3.3.16"},engines:{node:">=0.10.0"},scripts:{test:"npx jake test"}}}});var require_ejs=__commonJS({"node_modules/ejs/lib/ejs.js"(exports2){"use strict";var fs14=require("fs");var path27=require("path");var utils=require_utils5();var scopeOptionWarned=false;var _VERSION_STRING=require_package6().version;var _DEFAULT_OPEN_DELIMITER="<";var _DEFAULT_CLOSE_DELIMITER=">";var _DEFAULT_DELIMITER="%";var _DEFAULT_LOCALS_NAME="locals";var _NAME="ejs";var _REGEX_STRING="(<%%|%%>|<%=|<%-|<%_|<%#|<%|%>|-%>|_%>)";var _OPTS_PASSABLE_WITH_DATA=["delimiter","scope","context","debug","compileDebug","client","_with","rmWhitespace","strict","filename","async"];var _OPTS_PASSABLE_WITH_DATA_EXPRESS=_OPTS_PASSABLE_WITH_DATA.concat("cache");var _BOM=/^\uFEFF/;var _JS_IDENTIFIER=/^[a-zA-Z_$][0-9a-zA-Z_$]*$/;exports2.cache=utils.cache;exports2.fileLoader=fs14.readFileSync;exports2.localsName=_DEFAULT_LOCALS_NAME;exports2.promiseImpl=new Function("return this;")().Promise;exports2.resolveInclude=function(name,filename,isDir){var dirname2=path27.dirname;var extname=path27.extname;var resolve=path27.resolve;var includePath=resolve(isDir?filename:dirname2(filename),name);var ext=extname(name);if(!ext){includePath+=".ejs"}return includePath};function resolvePaths(name,paths){var filePath;if(paths.some(function(v){filePath=exports2.resolveInclude(name,v,true);return fs14.existsSync(filePath)})){return filePath}}function getIncludePath(path28,options){var includePath;var filePath;var views=options.views;var match=/^[A-Za-z]+:\\|^\//.exec(path28);if(match&&match.length){path28=path28.replace(/^\/*/,"");if(Array.isArray(options.root)){includePath=resolvePaths(path28,options.root)}else{includePath=exports2.resolveInclude(path28,options.root||"/",true)}}else{if(options.filename){filePath=exports2.resolveInclude(path28,options.filename);if(fs14.existsSync(filePath)){includePath=filePath}}if(!includePath&&Array.isArray(views)){includePath=resolvePaths(path28,views)}if(!includePath&&typeof options.includer!=="function"){throw new Error('Could not find the include file "'+options.escapeFunction(path28)+'"')}}return includePath}function handleCache(options,template2){var func;var filename=options.filename;var hasTemplate=arguments.length>1;if(options.cache){if(!filename){throw new Error("cache option requires a filename")}func=exports2.cache.get(filename);if(func){return func}if(!hasTemplate){template2=fileLoader(filename).toString().replace(_BOM,"")}}else if(!hasTemplate){if(!filename){throw new Error("Internal EJS error: no file name or template provided")}template2=fileLoader(filename).toString().replace(_BOM,"")}func=exports2.compile(template2,options);if(options.cache){exports2.cache.set(filename,func)}return func}function tryHandleCache(options,data,cb){var result2;if(!cb){if(typeof exports2.promiseImpl=="function"){return new exports2.promiseImpl(function(resolve,reject2){try{result2=handleCache(options)(data);resolve(result2)}catch(err){reject2(err)}})}else{throw new Error("Please provide a callback function")}}else{try{result2=handleCache(options)(data)}catch(err){return cb(err)}cb(null,result2)}}function fileLoader(filePath){return exports2.fileLoader(filePath)}function includeFile(path28,options){var opts=utils.shallowCopy(utils.createNullProtoObjWherePossible(),options);opts.filename=getIncludePath(path28,opts);if(typeof options.includer==="function"){var includerResult=options.includer(path28,opts.filename);if(includerResult){if(includerResult.filename){opts.filename=includerResult.filename}if(includerResult.template){return handleCache(opts,includerResult.template)}}}return handleCache(opts)}function rethrow(err,str2,flnm,lineno,esc){var lines=str2.split("\n");var start=Math.max(lineno-3,0);var end=Math.min(lines.length,lineno+3);var filename=esc(flnm);var context=lines.slice(start,end).map(function(line,i){var curr=i+start+1;return(curr==lineno?" >> ":"    ")+curr+"| "+line}).join("\n");err.path=filename;err.message=(filename||"ejs")+":"+lineno+"\n"+context+"\n\n"+err.message;throw err}function stripSemi(str2){return str2.replace(/;(\s*$)/,"$1")}exports2.compile=function compile(template2,opts){var templ;if(opts&&opts.scope){if(!scopeOptionWarned){console.warn("`scope` option is deprecated and will be removed in EJS 3");scopeOptionWarned=true}if(!opts.context){opts.context=opts.scope}delete opts.scope}templ=new Template(template2,opts);return templ.compile()};exports2.render=function(template2,d,o){var data=d||utils.createNullProtoObjWherePossible();var opts=o||utils.createNullProtoObjWherePossible();if(arguments.length==2){utils.shallowCopyFromList(opts,data,_OPTS_PASSABLE_WITH_DATA)}return handleCache(opts,template2)(data)};exports2.renderFile=function(){var args2=Array.prototype.slice.call(arguments);var filename=args2.shift();var cb;var opts={filename};var data;var viewOpts;if(typeof arguments[arguments.length-1]=="function"){cb=args2.pop()}if(args2.length){data=args2.shift();if(args2.length){utils.shallowCopy(opts,args2.pop())}else{if(data.settings){if(data.settings.views){opts.views=data.settings.views}if(data.settings["view cache"]){opts.cache=true}viewOpts=data.settings["view options"];if(viewOpts){utils.shallowCopy(opts,viewOpts)}}utils.shallowCopyFromList(opts,data,_OPTS_PASSABLE_WITH_DATA_EXPRESS)}opts.filename=filename}else{data=utils.createNullProtoObjWherePossible()}return tryHandleCache(opts,data,cb)};exports2.Template=Template;exports2.clearCache=function(){exports2.cache.reset()};function Template(text,optsParam){var opts=utils.hasOwnOnlyObject(optsParam);var options=utils.createNullProtoObjWherePossible();this.templateText=text;this.mode=null;this.truncate=false;this.currentLine=1;this.source="";options.client=opts.client||false;options.escapeFunction=opts.escape||opts.escapeFunction||utils.escapeXML;options.compileDebug=opts.compileDebug!==false;options.debug=!!opts.debug;options.filename=opts.filename;options.openDelimiter=opts.openDelimiter||exports2.openDelimiter||_DEFAULT_OPEN_DELIMITER;options.closeDelimiter=opts.closeDelimiter||exports2.closeDelimiter||_DEFAULT_CLOSE_DELIMITER;options.delimiter=opts.delimiter||exports2.delimiter||_DEFAULT_DELIMITER;options.strict=opts.strict||false;options.context=opts.context;options.cache=opts.cache||false;options.rmWhitespace=opts.rmWhitespace;options.root=opts.root;options.includer=opts.includer;options.outputFunctionName=opts.outputFunctionName;options.localsName=opts.localsName||exports2.localsName||_DEFAULT_LOCALS_NAME;options.views=opts.views;options.async=opts.async;options.destructuredLocals=opts.destructuredLocals;options.legacyInclude=typeof opts.legacyInclude!="undefined"?!!opts.legacyInclude:true;if(options.strict){options._with=false}else{options._with=typeof opts._with!="undefined"?opts._with:true}this.opts=options;this.regex=this.createRegex()}Template.modes={EVAL:"eval",ESCAPED:"escaped",RAW:"raw",COMMENT:"comment",LITERAL:"literal"};Template.prototype={createRegex:function(){var str2=_REGEX_STRING;var delim=utils.escapeRegExpChars(this.opts.delimiter);var open4=utils.escapeRegExpChars(this.opts.openDelimiter);var close=utils.escapeRegExpChars(this.opts.closeDelimiter);str2=str2.replace(/%/g,delim).replace(/</g,open4).replace(/>/g,close);return new RegExp(str2)},compile:function(){var src;var fn2;var opts=this.opts;var prepended="";var appended="";var escapeFn=opts.escapeFunction;var ctor;var sanitizedFilename=opts.filename?JSON.stringify(opts.filename):"undefined";if(!this.source){this.generateSource();prepended+='  var __output = "";\n  function __append(s) { if (s !== undefined && s !== null) __output += s }\n';if(opts.outputFunctionName){if(!_JS_IDENTIFIER.test(opts.outputFunctionName)){throw new Error("outputFunctionName is not a valid JS identifier.")}prepended+="  var "+opts.outputFunctionName+" = __append;\n"}if(opts.localsName&&!_JS_IDENTIFIER.test(opts.localsName)){throw new Error("localsName is not a valid JS identifier.")}if(opts.destructuredLocals&&opts.destructuredLocals.length){var destructuring="  var __locals = ("+opts.localsName+" || {}),\n";for(var i=0;i<opts.destructuredLocals.length;i++){var name=opts.destructuredLocals[i];if(!_JS_IDENTIFIER.test(name)){throw new Error("destructuredLocals["+i+"] is not a valid JS identifier.")}if(i>0){destructuring+=",\n  "}destructuring+=name+" = __locals."+name}prepended+=destructuring+";\n"}if(opts._with!==false){prepended+="  with ("+opts.localsName+" || {}) {\n";appended+="  }\n"}appended+="  return __output;\n";this.source=prepended+this.source+appended}if(opts.compileDebug){src="var __line = 1\n  , __lines = "+JSON.stringify(this.templateText)+"\n  , __filename = "+sanitizedFilename+";\ntry {\n"+this.source+"} catch (e) {\n  rethrow(e, __lines, __filename, __line, escapeFn);\n}\n"}else{src=this.source}if(opts.client){src="escapeFn = escapeFn || "+escapeFn.toString()+";\n"+src;if(opts.compileDebug){src="rethrow = rethrow || "+rethrow.toString()+";\n"+src}}if(opts.strict){src='"use strict";\n'+src}if(opts.debug){console.log(src)}if(opts.compileDebug&&opts.filename){src=src+"\n//# sourceURL="+sanitizedFilename+"\n"}try{if(opts.async){try{ctor=new Function("return (async function(){}).constructor;")()}catch(e){if(e instanceof SyntaxError){throw new Error("This environment does not support async/await")}else{throw e}}}else{ctor=Function}fn2=new ctor(opts.localsName+", escapeFn, include, rethrow",src)}catch(e){if(e instanceof SyntaxError){if(opts.filename){e.message+=" in "+opts.filename}e.message+=" while compiling ejs\n\n";e.message+="If the above error is not helpful, you may want to try EJS-Lint:\n";e.message+="https://github.com/RyanZim/EJS-Lint";if(!opts.async){e.message+="\n";e.message+="Or, if you meant to create an async function, pass `async: true` as an option."}}throw e}var returnedFn=opts.client?fn2:function anonymous(data){var include=function(path28,includeData){var d=utils.shallowCopy(utils.createNullProtoObjWherePossible(),data);if(includeData){d=utils.shallowCopy(d,includeData)}return includeFile(path28,opts)(d)};return fn2.apply(opts.context,[data||utils.createNullProtoObjWherePossible(),escapeFn,include,rethrow])};if(opts.filename&&typeof Object.defineProperty==="function"){var filename=opts.filename;var basename2=path27.basename(filename,path27.extname(filename));try{Object.defineProperty(returnedFn,"name",{value:basename2,writable:false,enumerable:false,configurable:true})}catch(e){}}return returnedFn},generateSource:function(){var opts=this.opts;if(opts.rmWhitespace){this.templateText=this.templateText.replace(/[\r\n]+/g,"\n").replace(/^\s+|\s+$/gm,"")}this.templateText=this.templateText.replace(/[ \t]*<%_/gm,"<%_").replace(/_%>[ \t]*/gm,"_%>");var self2=this;var matches2=this.parseTemplateText();var d=this.opts.delimiter;var o=this.opts.openDelimiter;var c=this.opts.closeDelimiter;if(matches2&&matches2.length){matches2.forEach(function(line,index){var closing;if(line.indexOf(o+d)===0&&line.indexOf(o+d+d)!==0){closing=matches2[index+2];if(!(closing==d+c||closing=="-"+d+c||closing=="_"+d+c)){throw new Error('Could not find matching close tag for "'+line+'".')}}self2.scanLine(line)})}},parseTemplateText:function(){var str2=this.templateText;var pat=this.regex;var result2=pat.exec(str2);var arr=[];var firstPos;while(result2){firstPos=result2.index;if(firstPos!==0){arr.push(str2.substring(0,firstPos));str2=str2.slice(firstPos)}arr.push(result2[0]);str2=str2.slice(result2[0].length);result2=pat.exec(str2)}if(str2){arr.push(str2)}return arr},_addOutput:function(line){if(this.truncate){line=line.replace(/^(?:\r\n|\r|\n)/,"");this.truncate=false}if(!line){return line}line=line.replace(/\\/g,"\\\\");line=line.replace(/\n/g,"\\n");line=line.replace(/\r/g,"\\r");line=line.replace(/"/g,'\\"');this.source+='    ; __append("'+line+'")\n'},scanLine:function(line){var self2=this;var d=this.opts.delimiter;var o=this.opts.openDelimiter;var c=this.opts.closeDelimiter;var newLineCount=0;newLineCount=line.split("\n").length-1;switch(line){case o+d:case o+d+"_":this.mode=Template.modes.EVAL;break;case o+d+"=":this.mode=Template.modes.ESCAPED;break;case o+d+"-":this.mode=Template.modes.RAW;break;case o+d+"#":this.mode=Template.modes.COMMENT;break;case o+d+d:this.mode=Template.modes.LITERAL;this.source+='    ; __append("'+line.replace(o+d+d,o+d)+'")\n';break;case d+d+c:this.mode=Template.modes.LITERAL;this.source+='    ; __append("'+line.replace(d+d+c,d+c)+'")\n';break;case d+c:case"-"+d+c:case"_"+d+c:if(this.mode==Template.modes.LITERAL){this._addOutput(line)}this.mode=null;this.truncate=line.indexOf("-")===0||line.indexOf("_")===0;break;default:if(this.mode){switch(this.mode){case Template.modes.EVAL:case Template.modes.ESCAPED:case Template.modes.RAW:if(line.lastIndexOf("//")>line.lastIndexOf("\n")){line+="\n"}}switch(this.mode){case Template.modes.EVAL:this.source+="    ; "+line+"\n";break;case Template.modes.ESCAPED:this.source+="    ; __append(escapeFn("+stripSemi(line)+"))\n";break;case Template.modes.RAW:this.source+="    ; __append("+stripSemi(line)+")\n";break;case Template.modes.COMMENT:break;case Template.modes.LITERAL:this._addOutput(line);break}}else{this._addOutput(line)}}if(self2.opts.compileDebug&&newLineCount){this.currentLine+=newLineCount;this.source+="    ; __line = "+this.currentLine+"\n"}}};exports2.escapeXML=utils.escapeXML;exports2.__express=exports2.renderFile;exports2.VERSION=_VERSION_STRING;exports2.name=_NAME;if(typeof window!="undefined"){window.ejs=exports2}}});var require_comparators=__commonJS({"node_modules/mnemonist/utils/comparators.js"(exports2){var DEFAULT_COMPARATOR=function(a,b){if(a<b)return-1;if(a>b)return 1;return 0};var DEFAULT_REVERSE_COMPARATOR=function(a,b){if(a<b)return 1;if(a>b)return-1;return 0};function reverseComparator(comparator){return function(a,b){return comparator(b,a)}}function createTupleComparator(size2){if(size2===2){return function(a,b){if(a[0]<b[0])return-1;if(a[0]>b[0])return 1;if(a[1]<b[1])return-1;if(a[1]>b[1])return 1;return 0}}return function(a,b){var i=0;while(i<size2){if(a[i]<b[i])return-1;if(a[i]>b[i])return 1;i++}return 0}}exports2.DEFAULT_COMPARATOR=DEFAULT_COMPARATOR;exports2.DEFAULT_REVERSE_COMPARATOR=DEFAULT_REVERSE_COMPARATOR;exports2.reverseComparator=reverseComparator;exports2.createTupleComparator=createTupleComparator}});var require_heap=__commonJS({"node_modules/mnemonist/heap.js"(exports2,module2){var forEach2=require_foreach();var comparators=require_comparators();var iterables=require_iterables();var DEFAULT_COMPARATOR=comparators.DEFAULT_COMPARATOR;var reverseComparator=comparators.reverseComparator;function siftDown(compare,heap,startIndex,i){var item=heap[i],parentIndex,parent2;while(i>startIndex){parentIndex=i-1>>1;parent2=heap[parentIndex];if(compare(item,parent2)<0){heap[i]=parent2;i=parentIndex;continue}break}heap[i]=item}function siftUp(compare,heap,i){var endIndex=heap.length,startIndex=i,item=heap[i],childIndex=2*i+1,rightIndex;while(childIndex<endIndex){rightIndex=childIndex+1;if(rightIndex<endIndex&&compare(heap[childIndex],heap[rightIndex])>=0){childIndex=rightIndex}heap[i]=heap[childIndex];i=childIndex;childIndex=2*i+1}heap[i]=item;siftDown(compare,heap,startIndex,i)}function push(compare,heap,item){heap.push(item);siftDown(compare,heap,0,heap.length-1)}function pop(compare,heap){var lastItem=heap.pop();if(heap.length!==0){var item=heap[0];heap[0]=lastItem;siftUp(compare,heap,0);return item}return lastItem}function replace2(compare,heap,item){if(heap.length===0)throw new Error("mnemonist/heap.replace: cannot pop an empty heap.");var popped=heap[0];heap[0]=item;siftUp(compare,heap,0);return popped}function pushpop(compare,heap,item){var tmp;if(heap.length!==0&&compare(heap[0],item)<0){tmp=heap[0];heap[0]=item;item=tmp;siftUp(compare,heap,0)}return item}function heapify(compare,array){var n=array.length,l=n>>1,i=l;while(--i>=0)siftUp(compare,array,i)}function consume(compare,heap){var l=heap.length,i=0;var array=new Array(l);while(i<l)array[i++]=pop(compare,heap);return array}function nsmallest(compare,n,iterable){if(arguments.length===2){iterable=n;n=compare;compare=DEFAULT_COMPARATOR}var reverseCompare=reverseComparator(compare);var i,l,v;var min3=Infinity;var result2;if(n===1){if(iterables.isArrayLike(iterable)){for(i=0,l=iterable.length;i<l;i++){v=iterable[i];if(min3===Infinity||compare(v,min3)<0)min3=v}result2=new iterable.constructor(1);result2[0]=min3;return result2}forEach2(iterable,function(value){if(min3===Infinity||compare(value,min3)<0)min3=value});return[min3]}if(iterables.isArrayLike(iterable)){if(n>=iterable.length)return iterable.slice().sort(compare);result2=iterable.slice(0,n);heapify(reverseCompare,result2);for(i=n,l=iterable.length;i<l;i++)if(reverseCompare(iterable[i],result2[0])>0)replace2(reverseCompare,result2,iterable[i]);return result2.sort(compare)}var size2=iterables.guessLength(iterable);if(size2!==null&&size2<n)n=size2;result2=new Array(n);i=0;forEach2(iterable,function(value){if(i<n){result2[i]=value}else{if(i===n)heapify(reverseCompare,result2);if(reverseCompare(value,result2[0])>0)replace2(reverseCompare,result2,value)}i++});if(result2.length>i)result2.length=i;return result2.sort(compare)}function nlargest(compare,n,iterable){if(arguments.length===2){iterable=n;n=compare;compare=DEFAULT_COMPARATOR}var reverseCompare=reverseComparator(compare);var i,l,v;var max3=-Infinity;var result2;if(n===1){if(iterables.isArrayLike(iterable)){for(i=0,l=iterable.length;i<l;i++){v=iterable[i];if(max3===-Infinity||compare(v,max3)>0)max3=v}result2=new iterable.constructor(1);result2[0]=max3;return result2}forEach2(iterable,function(value){if(max3===-Infinity||compare(value,max3)>0)max3=value});return[max3]}if(iterables.isArrayLike(iterable)){if(n>=iterable.length)return iterable.slice().sort(reverseCompare);result2=iterable.slice(0,n);heapify(compare,result2);for(i=n,l=iterable.length;i<l;i++)if(compare(iterable[i],result2[0])>0)replace2(compare,result2,iterable[i]);return result2.sort(reverseCompare)}var size2=iterables.guessLength(iterable);if(size2!==null&&size2<n)n=size2;result2=new Array(n);i=0;forEach2(iterable,function(value){if(i<n){result2[i]=value}else{if(i===n)heapify(compare,result2);if(compare(value,result2[0])>0)replace2(compare,result2,value)}i++});if(result2.length>i)result2.length=i;return result2.sort(reverseCompare)}function Heap(comparator){this.clear();this.comparator=comparator||DEFAULT_COMPARATOR;if(typeof this.comparator!=="function")throw new Error("mnemonist/Heap.constructor: given comparator should be a function.")}Heap.prototype.clear=function(){this.items=[];this.size=0};Heap.prototype.push=function(item){push(this.comparator,this.items,item);return++this.size};Heap.prototype.peek=function(){return this.items[0]};Heap.prototype.pop=function(){if(this.size!==0)this.size--;return pop(this.comparator,this.items)};Heap.prototype.replace=function(item){return replace2(this.comparator,this.items,item)};Heap.prototype.pushpop=function(item){return pushpop(this.comparator,this.items,item)};Heap.prototype.consume=function(){this.size=0;return consume(this.comparator,this.items)};Heap.prototype.toArray=function(){return consume(this.comparator,this.items.slice())};Heap.prototype.inspect=function(){var proxy=this.toArray();Object.defineProperty(proxy,"constructor",{value:Heap,enumerable:false});return proxy};if(typeof Symbol!=="undefined")Heap.prototype[Symbol.for("nodejs.util.inspect.custom")]=Heap.prototype.inspect;function MaxHeap(comparator){this.clear();this.comparator=comparator||DEFAULT_COMPARATOR;if(typeof this.comparator!=="function")throw new Error("mnemonist/MaxHeap.constructor: given comparator should be a function.");this.comparator=reverseComparator(this.comparator)}MaxHeap.prototype=Heap.prototype;Heap.from=function(iterable,comparator){var heap=new Heap(comparator);var items;if(iterables.isArrayLike(iterable))items=iterable.slice();else items=iterables.toArray(iterable);heapify(heap.comparator,items);heap.items=items;heap.size=items.length;return heap};MaxHeap.from=function(iterable,comparator){var heap=new MaxHeap(comparator);var items;if(iterables.isArrayLike(iterable))items=iterable.slice();else items=iterables.toArray(iterable);heapify(heap.comparator,items);heap.items=items;heap.size=items.length;return heap};Heap.siftUp=siftUp;Heap.siftDown=siftDown;Heap.push=push;Heap.pop=pop;Heap.replace=replace2;Heap.pushpop=pushpop;Heap.heapify=heapify;Heap.consume=consume;Heap.nsmallest=nsmallest;Heap.nlargest=nlargest;Heap.MinHeap=Heap;Heap.MaxHeap=MaxHeap;module2.exports=Heap}});var require_fibonacci_heap=__commonJS({"node_modules/mnemonist/fibonacci-heap.js"(exports2,module2){var comparators=require_comparators();var forEach2=require_foreach();var DEFAULT_COMPARATOR=comparators.DEFAULT_COMPARATOR;var reverseComparator=comparators.reverseComparator;function FibonacciHeap(comparator){this.clear();this.comparator=comparator||DEFAULT_COMPARATOR;if(typeof this.comparator!=="function")throw new Error("mnemonist/FibonacciHeap.constructor: given comparator should be a function.")}FibonacciHeap.prototype.clear=function(){this.root=null;this.min=null;this.size=0};function createNode(item){return{item,degree:0}}function mergeWithRoot(heap,node){if(!heap.root){heap.root=node}else{node.right=heap.root.right;node.left=heap.root;heap.root.right.left=node;heap.root.right=node}}FibonacciHeap.prototype.push=function(item){var node=createNode(item);node.left=node;node.right=node;mergeWithRoot(this,node);if(!this.min||this.comparator(node.item,this.min.item)<=0)this.min=node;return++this.size};FibonacciHeap.prototype.peek=function(){return this.min?this.min.item:void 0};function consumeLinkedList(head2){var nodes=[],node=head2,flag=false;while(true){if(node===head2&&flag)break;else if(node===head2)flag=true;nodes.push(node);node=node.right}return nodes}function removeFromRoot(heap,node){if(heap.root===node)heap.root=node.right;node.left.right=node.right;node.right.left=node.left}function mergeWithChild(parent2,node){if(!parent2.child){parent2.child=node}else{node.right=parent2.child.right;node.left=parent2.child;parent2.child.right.left=node;parent2.child.right=node}}function link(heap,y,x){removeFromRoot(heap,y);y.left=y;y.right=y;mergeWithChild(x,y);x.degree++;y.parent=x}function consolidate(heap){var A=new Array(heap.size),nodes=consumeLinkedList(heap.root),i,l,x,y,d,t;for(i=0,l=nodes.length;i<l;i++){x=nodes[i];d=x.degree;while(A[d]){y=A[d];if(heap.comparator(x.item,y.item)>0){t=x;x=y;y=t}link(heap,y,x);A[d]=null;d++}A[d]=x}for(i=0;i<heap.size;i++){if(A[i]&&heap.comparator(A[i].item,heap.min.item)<=0)heap.min=A[i]}}FibonacciHeap.prototype.pop=function(){if(!this.size)return void 0;var z2=this.min;if(z2.child){var nodes=consumeLinkedList(z2.child),node,i,l;for(i=0,l=nodes.length;i<l;i++){node=nodes[i];mergeWithRoot(this,node);delete node.parent}}removeFromRoot(this,z2);if(z2===z2.right){this.min=null;this.root=null}else{this.min=z2.right;consolidate(this)}this.size--;return z2.item};FibonacciHeap.prototype.inspect=function(){var proxy={size:this.size};if(this.min&&"item"in this.min)proxy.top=this.min.item;Object.defineProperty(proxy,"constructor",{value:FibonacciHeap,enumerable:false});return proxy};if(typeof Symbol!=="undefined")FibonacciHeap.prototype[Symbol.for("nodejs.util.inspect.custom")]=FibonacciHeap.prototype.inspect;function MaxFibonacciHeap(comparator){this.clear();this.comparator=comparator||DEFAULT_COMPARATOR;if(typeof this.comparator!=="function")throw new Error("mnemonist/FibonacciHeap.constructor: given comparator should be a function.");this.comparator=reverseComparator(this.comparator)}MaxFibonacciHeap.prototype=FibonacciHeap.prototype;FibonacciHeap.from=function(iterable,comparator){var heap=new FibonacciHeap(comparator);forEach2(iterable,function(value){heap.push(value)});return heap};MaxFibonacciHeap.from=function(iterable,comparator){var heap=new MaxFibonacciHeap(comparator);forEach2(iterable,function(value){heap.push(value)});return heap};FibonacciHeap.MinFibonacciHeap=FibonacciHeap;FibonacciHeap.MaxFibonacciHeap=MaxFibonacciHeap;module2.exports=FibonacciHeap}});var require_suffix_array=__commonJS({"node_modules/mnemonist/suffix-array.js"(exports2,module2){var SEPARATOR="";function sort(string,array,offset){var l=array.length,buckets=[],i=l,j=-1,b,d=0,bits;while(i--)j=Math.max(string[array[i]+offset],j);bits=j>>24&&32||j>>16&&24||j>>8&&16||8;for(;d<bits;d+=4){for(i=16;i--;)buckets[i]=[];for(i=l;i--;)buckets[string[array[i]+offset]>>d&15].push(array[i]);for(b=0;b<16;b++){for(j=buckets[b].length;j--;)array[++i]=buckets[b][j]}}}function compare(string,lookup,m,n){return string[m]-string[n]||(m%3===2?string[m+1]-string[n+1]||lookup[m+2]-lookup[n+2]:lookup[m+1]-lookup[n+1])}function build(string,l){var a=[],b=[],al=2*l/3|0,bl=l-al,r=al+1>>1,i=al,j=0,k,lookup=[],result2=[];if(l===1)return[0];while(i--)a[i]=(i*3>>1)+1;for(i=3;i--;)sort(string,a,i);j=b[(a[0]/3|0)+(a[0]%3===1?0:r)]=1;for(i=1;i<al;i++){if(string[a[i]]!==string[a[i-1]]||string[a[i]+1]!==string[a[i-1]+1]||string[a[i]+2]!==string[a[i-1]+2])j++;b[(a[i]/3|0)+(a[i]%3===1?0:r)]=j}if(j<al){b=build(b,al);for(i=al;i--;)a[i]=b[i]<r?b[i]*3+1:(b[i]-r)*3+2}for(i=al;i--;)lookup[a[i]]=i;lookup[l]=-1;lookup[l+1]=-2;b=l%3===1?[l-1]:[];for(i=0;i<al;i++){if(a[i]%3===1)b.push(a[i]-1)}sort(string,b,0);for(i=0,j=0,k=0;i<al&&j<bl;)result2[k++]=compare(string,lookup,a[i],b[j])<0?a[i++]:b[j++];while(i<al)result2[k++]=a[i++];while(j<bl)result2[k++]=b[j++];return result2}function convert(target){var length=target.length,paddingOffset=length%3,array=new Array(length+paddingOffset),l,i;if(typeof target!=="string"){var uniqueTokens=Object.create(null);for(i=0;i<length;i++){if(!uniqueTokens[target[i]])uniqueTokens[target[i]]=true}var alphabet2=Object.create(null),sortedUniqueTokens=Object.keys(uniqueTokens).sort();for(i=0,l=sortedUniqueTokens.length;i<l;i++)alphabet2[sortedUniqueTokens[i]]=i+1;for(i=0;i<length;i++){array[i]=alphabet2[target[i]]}}else{for(i=0;i<length;i++)array[i]=target.charCodeAt(i)}for(i=length;i<length+paddingOffset;i++)array[i]=0;return array}function SuffixArray(string){this.hasArbitrarySequence=typeof string!=="string";this.string=string;this.length=string.length;this.array=build(convert(string),this.length)}SuffixArray.prototype.toString=function(){return this.array.join(",")};SuffixArray.prototype.toJSON=function(){return this.array};SuffixArray.prototype.inspect=function(){var array=new Array(this.length);for(var i=0;i<this.length;i++)array[i]=this.string.slice(this.array[i]);Object.defineProperty(array,"constructor",{value:SuffixArray,enumerable:false});return array};if(typeof Symbol!=="undefined")SuffixArray.prototype[Symbol.for("nodejs.util.inspect.custom")]=SuffixArray.prototype.inspect;function GeneralizedSuffixArray(strings){this.hasArbitrarySequence=typeof strings[0]!=="string";this.size=strings.length;if(this.hasArbitrarySequence){this.text=[];for(var i=0,l=this.size;i<l;i++){this.text.push.apply(this.text,strings[i]);if(i<l-1)this.text.push(SEPARATOR)}}else{this.text=strings.join(SEPARATOR)}this.firstLength=strings[0].length;this.length=this.text.length;this.array=build(convert(this.text),this.length)}GeneralizedSuffixArray.prototype.longestCommonSubsequence=function(){var lcs=this.hasArbitrarySequence?[]:"",lcp,i,j,s,t;for(i=1;i<this.length;i++){s=this.array[i];t=this.array[i-1];if(s<this.firstLength&&t<this.firstLength)continue;if(s>this.firstLength&&t>this.firstLength)continue;lcp=Math.min(this.length-s,this.length-t);for(j=0;j<lcp;j++){if(this.text[s+j]!==this.text[t+j]){lcp=j;break}}if(lcp>lcs.length)lcs=this.text.slice(s,s+lcp)}return lcs};GeneralizedSuffixArray.prototype.toString=function(){return this.array.join(",")};GeneralizedSuffixArray.prototype.toJSON=function(){return this.array};GeneralizedSuffixArray.prototype.inspect=function(){var array=new Array(this.length);for(var i=0;i<this.length;i++)array[i]=this.text.slice(this.array[i]);Object.defineProperty(array,"constructor",{value:GeneralizedSuffixArray,enumerable:false});return array};if(typeof Symbol!=="undefined")GeneralizedSuffixArray.prototype[Symbol.for("nodejs.util.inspect.custom")]=GeneralizedSuffixArray.prototype.inspect;SuffixArray.GeneralizedSuffixArray=GeneralizedSuffixArray;module2.exports=SuffixArray}});var require_bi_map=__commonJS({"node_modules/mnemonist/bi-map.js"(exports2,module2){var forEach2=require_foreach();function InverseMap(original){this.size=0;this.items=new Map;this.inverse=original}function BiMap(){this.size=0;this.items=new Map;this.inverse=new InverseMap(this)}function clear(){this.size=0;this.items.clear();this.inverse.items.clear()}BiMap.prototype.clear=clear;InverseMap.prototype.clear=clear;function set3(key,value){if(this.items.has(key)){var currentValue=this.items.get(key);if(currentValue===value)return this;else this.inverse.items.delete(currentValue)}if(this.inverse.items.has(value)){var currentKey=this.inverse.items.get(value);if(currentKey===key)return this;else this.items.delete(currentKey)}this.items.set(key,value);this.inverse.items.set(value,key);this.size=this.items.size;this.inverse.size=this.inverse.items.size;return this}BiMap.prototype.set=set3;InverseMap.prototype.set=set3;function del(key){if(this.items.has(key)){var currentValue=this.items.get(key);this.items.delete(key);this.inverse.items.delete(currentValue);this.size=this.items.size;this.inverse.size=this.inverse.items.size;return true}return false}BiMap.prototype.delete=del;InverseMap.prototype.delete=del;var METHODS=["has","get","forEach","keys","values","entries"];METHODS.forEach(function(name){BiMap.prototype[name]=InverseMap.prototype[name]=function(){return Map.prototype[name].apply(this.items,arguments)}});if(typeof Symbol!=="undefined"){BiMap.prototype[Symbol.iterator]=BiMap.prototype.entries;InverseMap.prototype[Symbol.iterator]=InverseMap.prototype.entries}BiMap.prototype.inspect=function(){var dummy={left:this.items,right:this.inverse.items};Object.defineProperty(dummy,"constructor",{value:BiMap,enumerable:false});return dummy};if(typeof Symbol!=="undefined")BiMap.prototype[Symbol.for("nodejs.util.inspect.custom")]=BiMap.prototype.inspect;InverseMap.prototype.inspect=function(){var dummy={left:this.inverse.items,right:this.items};Object.defineProperty(dummy,"constructor",{value:InverseMap,enumerable:false});return dummy};if(typeof Symbol!=="undefined")InverseMap.prototype[Symbol.for("nodejs.util.inspect.custom")]=InverseMap.prototype.inspect;BiMap.from=function(iterable){var bimap=new BiMap;forEach2(iterable,function(value,key){bimap.set(key,value)});return bimap};module2.exports=BiMap}});var require_bitwise=__commonJS({"node_modules/mnemonist/utils/bitwise.js"(exports2){function msb32(x){x|=x>>1;x|=x>>2;x|=x>>4;x|=x>>8;x|=x>>16;return x&~(x>>1)}exports2.msb32=msb32;function msb8(x){x|=x>>1;x|=x>>2;x|=x>>4;return x&~(x>>1)}exports2.msb8=msb8;exports2.test=function(x,pos){return x>>pos&1};exports2.criticalBit8=function(a,b){return msb8(a^b)};exports2.criticalBit8Mask=function(a,b){return~msb8(a^b)>>>0&255};exports2.testCriticalBit8=function(x,mask){return 1+(x|mask)>>8};exports2.criticalBit32Mask=function(a,b){return~msb32(a^b)>>>0&4294967295};exports2.popcount=function(x){x-=x>>1&1431655765;x=(x&858993459)+(x>>2&858993459);x=x+(x>>4)&252645135;x+=x>>8;x+=x>>16;return x&127};var TABLE8=new Uint8Array(Math.pow(2,8));for(i=0,l=TABLE8.length;i<l;i++)TABLE8[i]=exports2.popcount(i);var i;var l;exports2.table8Popcount=function(x){return TABLE8[x&255]+TABLE8[x>>8&255]+TABLE8[x>>16&255]+TABLE8[x>>24&255]}}});var require_bit_set=__commonJS({"node_modules/mnemonist/bit-set.js"(exports2,module2){var Iterator2=require_iterator2();var bitwise=require_bitwise();function BitSet(length){this.length=length;this.clear()}BitSet.prototype.clear=function(){this.size=0;this.array=new Uint32Array(Math.ceil(this.length/32))};BitSet.prototype.set=function(index,value){var byteIndex=index>>5,pos=index&31,oldBytes=this.array[byteIndex],newBytes;if(value===0||value===false)newBytes=this.array[byteIndex]&=~(1<<pos);else newBytes=this.array[byteIndex]|=1<<pos;newBytes=newBytes>>>0;if(newBytes>oldBytes)this.size++;else if(newBytes<oldBytes)this.size--;return this};BitSet.prototype.reset=function(index){var byteIndex=index>>5,pos=index&31,oldBytes=this.array[byteIndex],newBytes;newBytes=this.array[byteIndex]&=~(1<<pos);if(newBytes<oldBytes)this.size--;return this};BitSet.prototype.flip=function(index){var byteIndex=index>>5,pos=index&31,oldBytes=this.array[byteIndex];var newBytes=this.array[byteIndex]^=1<<pos;newBytes=newBytes>>>0;if(newBytes>oldBytes)this.size++;else if(newBytes<oldBytes)this.size--;return this};BitSet.prototype.get=function(index){var byteIndex=index>>5,pos=index&31;return this.array[byteIndex]>>pos&1};BitSet.prototype.test=function(index){return Boolean(this.get(index))};BitSet.prototype.rank=function(i){if(this.size===0)return 0;var byteIndex=i>>5,pos=i&31,r=0;for(var j=0;j<byteIndex;j++)r+=bitwise.table8Popcount(this.array[j]);var maskedByte=this.array[byteIndex]&(1<<pos)-1;r+=bitwise.table8Popcount(maskedByte);return r};BitSet.prototype.select=function(r){if(this.size===0)return-1;if(r>=this.length)return-1;var byte,b=32,p=0,c=0;for(var i=0,l=this.array.length;i<l;i++){byte=this.array[i];if(byte===0)continue;if(i===l-1)b=this.length%32||32;for(var j=0;j<b;j++,p++){c+=byte>>j&1;if(c===r)return p}}};BitSet.prototype.forEach=function(callback,scope){scope=arguments.length>1?scope:this;var length=this.length,byte,bit,b=32;for(var i=0,l=this.array.length;i<l;i++){byte=this.array[i];if(i===l-1)b=length%32||32;for(var j=0;j<b;j++){bit=byte>>j&1;callback.call(scope,bit,i*32+j)}}};BitSet.prototype.values=function(){var length=this.length,inner=false,byte,bit,array=this.array,l=array.length,i=0,j=-1,b=32;return new Iterator2(function next(){if(!inner){if(i>=l)return{done:true};if(i===l-1)b=length%32||32;byte=array[i++];inner=true;j=-1}j++;if(j>=b){inner=false;return next()}bit=byte>>j&1;return{value:bit}})};BitSet.prototype.entries=function(){var length=this.length,inner=false,byte,bit,array=this.array,index,l=array.length,i=0,j=-1,b=32;return new Iterator2(function next(){if(!inner){if(i>=l)return{done:true};if(i===l-1)b=length%32||32;byte=array[i++];inner=true;j=-1}j++;index=~-i*32+j;if(j>=b){inner=false;return next()}bit=byte>>j&1;return{value:[index,bit]}})};if(typeof Symbol!=="undefined")BitSet.prototype[Symbol.iterator]=BitSet.prototype.values;BitSet.prototype.inspect=function(){var proxy=new Uint8Array(this.length);this.forEach(function(bit,i){proxy[i]=bit});Object.defineProperty(proxy,"constructor",{value:BitSet,enumerable:false});return proxy};if(typeof Symbol!=="undefined")BitSet.prototype[Symbol.for("nodejs.util.inspect.custom")]=BitSet.prototype.inspect;BitSet.prototype.toJSON=function(){return Array.from(this.array)};module2.exports=BitSet}});var require_bit_vector=__commonJS({"node_modules/mnemonist/bit-vector.js"(exports2,module2){var Iterator2=require_iterator2();var bitwise=require_bitwise();var DEFAULT_GROWING_POLICY=function(capacity){return Math.max(1,Math.ceil(capacity*1.5))};function createByteArray(capacity){return new Uint32Array(Math.ceil(capacity/32))}function BitVector(initialLengthOrOptions){var initialLength=initialLengthOrOptions||0,policy=DEFAULT_GROWING_POLICY;if(typeof initialLengthOrOptions==="object"){initialLength=initialLengthOrOptions.initialLength||initialLengthOrOptions.initialCapacity||0;policy=initialLengthOrOptions.policy||policy}this.size=0;this.length=initialLength;this.capacity=Math.ceil(this.length/32)*32;this.policy=policy;this.array=createByteArray(this.capacity)}BitVector.prototype.set=function(index,value){if(this.length<index)throw new Error("BitVector.set: index out of bounds.");var byteIndex=index>>5,pos=index&31,oldBytes=this.array[byteIndex],newBytes;if(value===0||value===false)newBytes=this.array[byteIndex]&=~(1<<pos);else newBytes=this.array[byteIndex]|=1<<pos;newBytes=newBytes>>>0;if(newBytes>oldBytes)this.size++;else if(newBytes<oldBytes)this.size--;return this};BitVector.prototype.reset=function(index){var byteIndex=index>>5,pos=index&31,oldBytes=this.array[byteIndex],newBytes;newBytes=this.array[byteIndex]&=~(1<<pos);if(newBytes<oldBytes)this.size--;return this};BitVector.prototype.flip=function(index){var byteIndex=index>>5,pos=index&31,oldBytes=this.array[byteIndex];var newBytes=this.array[byteIndex]^=1<<pos;newBytes=newBytes>>>0;if(newBytes>oldBytes)this.size++;else if(newBytes<oldBytes)this.size--;return this};BitVector.prototype.applyPolicy=function(override){var newCapacity=this.policy(override||this.capacity);if(typeof newCapacity!=="number"||newCapacity<0)throw new Error("mnemonist/bit-vector.applyPolicy: policy returned an invalid value (expecting a positive integer).");if(newCapacity<=this.capacity)throw new Error("mnemonist/bit-vector.applyPolicy: policy returned a less or equal capacity to allocate.");return Math.ceil(newCapacity/32)*32};BitVector.prototype.reallocate=function(capacity){var virtualCapacity=capacity;capacity=Math.ceil(capacity/32)*32;if(virtualCapacity<this.length)this.length=virtualCapacity;if(capacity===this.capacity)return this;var oldArray=this.array;var storageLength=capacity/32;if(storageLength===this.array.length)return this;if(storageLength>this.array.length){this.array=new Uint32Array(storageLength);this.array.set(oldArray,0)}else{this.array=oldArray.slice(0,storageLength)}this.capacity=capacity;return this};BitVector.prototype.grow=function(capacity){var newCapacity;if(typeof capacity==="number"){if(this.capacity>=capacity)return this;newCapacity=this.capacity;while(newCapacity<capacity)newCapacity=this.applyPolicy(newCapacity);this.reallocate(newCapacity);return this}newCapacity=this.applyPolicy();this.reallocate(newCapacity);return this};BitVector.prototype.resize=function(length){if(length===this.length)return this;if(length<this.length){this.length=length;return this}this.length=length;this.reallocate(length);return this};BitVector.prototype.push=function(value){if(this.capacity===this.length)this.grow();if(value===0||value===false)return++this.length;this.size++;var index=this.length++,byteIndex=index>>5,pos=index&31;this.array[byteIndex]|=1<<pos;return this.length};BitVector.prototype.pop=function(){if(this.length===0)return;var index=--this.length;var byteIndex=index>>5,pos=index&31;return this.array[byteIndex]>>pos&1};BitVector.prototype.get=function(index){if(this.length<index)return void 0;var byteIndex=index>>5,pos=index&31;return this.array[byteIndex]>>pos&1};BitVector.prototype.test=function(index){if(this.length<index)return false;return Boolean(this.get(index))};BitVector.prototype.rank=function(i){if(this.size===0)return 0;var byteIndex=i>>5,pos=i&31,r=0;for(var j=0;j<byteIndex;j++)r+=bitwise.table8Popcount(this.array[j]);var maskedByte=this.array[byteIndex]&(1<<pos)-1;r+=bitwise.table8Popcount(maskedByte);return r};BitVector.prototype.select=function(r){if(this.size===0)return-1;if(r>=this.length)return-1;var byte,b=32,p=0,c=0;for(var i=0,l=this.array.length;i<l;i++){byte=this.array[i];if(byte===0)continue;if(i===l-1)b=this.length%32||32;for(var j=0;j<b;j++,p++){c+=byte>>j&1;if(c===r)return p}}};BitVector.prototype.forEach=function(callback,scope){scope=arguments.length>1?scope:this;var length=this.length,byte,bit,b=32;for(var i=0,l=this.array.length;i<l;i++){byte=this.array[i];if(i===l-1)b=length%32||32;for(var j=0;j<b;j++){bit=byte>>j&1;callback.call(scope,bit,i*32+j)}}};BitVector.prototype.values=function(){var length=this.length,inner=false,byte,bit,array=this.array,l=array.length,i=0,j=-1,b=32;return new Iterator2(function next(){if(!inner){if(i>=l)return{done:true};if(i===l-1)b=length%32||32;byte=array[i++];inner=true;j=-1}j++;if(j>=b){inner=false;return next()}bit=byte>>j&1;return{value:bit}})};BitVector.prototype.entries=function(){var length=this.length,inner=false,byte,bit,array=this.array,index,l=array.length,i=0,j=-1,b=32;return new Iterator2(function next(){if(!inner){if(i>=l)return{done:true};if(i===l-1)b=length%32||32;byte=array[i++];inner=true;j=-1}j++;index=~-i*32+j;if(j>=b){inner=false;return next()}bit=byte>>j&1;return{value:[index,bit]}})};if(typeof Symbol!=="undefined")BitVector.prototype[Symbol.iterator]=BitVector.prototype.values;BitVector.prototype.inspect=function(){var proxy=new Uint8Array(this.length);this.forEach(function(bit,i){proxy[i]=bit});Object.defineProperty(proxy,"constructor",{value:BitVector,enumerable:false});return proxy};if(typeof Symbol!=="undefined")BitVector.prototype[Symbol.for("nodejs.util.inspect.custom")]=BitVector.prototype.inspect;BitVector.prototype.toJSON=function(){return Array.from(this.array.slice(0,(this.length>>5)+1))};module2.exports=BitVector}});var require_murmurhash3=__commonJS({"node_modules/mnemonist/utils/murmurhash3.js"(exports2,module2){function mul32(a,b){return(a&65535)*b+(((a>>>16)*b&65535)<<16)&4294967295}function sum32(a,b){return(a&65535)+(b>>>16)+(((a>>>16)+b&65535)<<16)&4294967295}function rotl32(a,b){return a<<b|a>>>32-b}module2.exports=function murmurhash3(seed,data){var c1=3432918353,c2=461845907,r1=15,r2=13,m=5,n=1801774676;var hash=seed,k1,i,l;for(i=0,l=data.length-4;i<=l;i+=4){k1=data[i]|data[i+1]<<8|data[i+2]<<16|data[i+3]<<24;k1=mul32(k1,c1);k1=rotl32(k1,r1);k1=mul32(k1,c2);hash^=k1;hash=rotl32(hash,r2);hash=mul32(hash,m);hash=sum32(hash,n)}k1=0;switch(data.length&3){case 3:k1^=data[i+2]<<16;case 2:k1^=data[i+1]<<8;case 1:k1^=data[i];k1=mul32(k1,c1);k1=rotl32(k1,r1);k1=mul32(k1,c2);hash^=k1;default:}hash^=data.length;hash^=hash>>>16;hash=mul32(hash,2246822507);hash^=hash>>>13;hash=mul32(hash,3266489909);hash^=hash>>>16;return hash>>>0}}});var require_bloom_filter=__commonJS({"node_modules/mnemonist/bloom-filter.js"(exports2,module2){var murmurhash3=require_murmurhash3();var forEach2=require_foreach();var LN2_SQUARED=Math.LN2*Math.LN2;var DEFAULTS={errorRate:.005};function stringToByteArray(string){var array=new Uint16Array(string.length),i,l;for(i=0,l=string.length;i<l;i++)array[i]=string.charCodeAt(i);return array}function hashArray(length,seed,array){var hash=murmurhash3(seed*4221880213&4294967295,array);return hash%(length*8)}function BloomFilter(capacityOrOptions){var options={};if(!capacityOrOptions)throw new Error("mnemonist/BloomFilter.constructor: a BloomFilter must be created with a capacity.");if(typeof capacityOrOptions==="object")options=capacityOrOptions;else options.capacity=capacityOrOptions;if(typeof options.capacity!=="number"||options.capacity<=0)throw new Error("mnemonist/BloomFilter.constructor: `capacity` option should be a positive integer.");this.capacity=options.capacity;this.errorRate=options.errorRate||DEFAULTS.errorRate;if(typeof this.errorRate!=="number"||options.errorRate<=0)throw new Error("mnemonist/BloomFilter.constructor: `errorRate` option should be a positive float.");this.clear()}BloomFilter.prototype.clear=function(){var bits=-1/LN2_SQUARED*this.capacity*Math.log(this.errorRate),length=bits/8|0;this.hashFunctions=length*8/this.capacity*Math.LN2|0;this.data=new Uint8Array(length);return};BloomFilter.prototype.add=function(string){var array=stringToByteArray(string);for(var i=0,l=this.hashFunctions;i<l;i++){var index=hashArray(this.data.length,i,array),position=1<<(7&index);this.data[index>>3]|=position}return this};BloomFilter.prototype.test=function(string){var array=stringToByteArray(string);for(var i=0,l=this.hashFunctions;i<l;i++){var index=hashArray(this.data.length,i,array);if(!(this.data[index>>3]&1<<(7&index)))return false}return true};BloomFilter.prototype.toJSON=function(){return this.data};BloomFilter.from=function(iterable,options){if(!options){options=iterable.length||iterable.size;if(typeof options!=="number")throw new Error("BloomFilter.from: could not infer the filter's capacity. Try passing it as second argument.")}var filter2=new BloomFilter(options);forEach2(iterable,function(value){filter2.add(value)});return filter2};module2.exports=BloomFilter}});var require_bk_tree=__commonJS({"node_modules/mnemonist/bk-tree.js"(exports2,module2){var forEach2=require_foreach();function BKTree(distance){if(typeof distance!=="function")throw new Error("mnemonist/BKTree.constructor: given `distance` should be a function.");this.distance=distance;this.clear()}BKTree.prototype.add=function(item){if(!this.root){this.root={item,children:{}};this.size++;return this}var node=this.root,d;while(true){d=this.distance(item,node.item);if(!node.children[d])break;node=node.children[d]}node.children[d]={item,children:{}};this.size++;return this};BKTree.prototype.search=function(n,query){if(!this.root)return[];var found=[],stack2=[this.root],node,child,d,i,l;while(stack2.length){node=stack2.pop();d=this.distance(query,node.item);if(d<=n)found.push({item:node.item,distance:d});for(i=d-n,l=d+n+1;i<l;i++){child=node.children[i];if(child)stack2.push(child)}}return found};BKTree.prototype.clear=function(){this.size=0;this.root=null};BKTree.prototype.toJSON=function(){return this.root};BKTree.prototype.inspect=function(){var array=[],stack2=[this.root],node,d;while(stack2.length){node=stack2.pop();if(!node)continue;array.push(node.item);for(d in node.children)stack2.push(node.children[d])}Object.defineProperty(array,"constructor",{value:BKTree,enumerable:false});return array};if(typeof Symbol!=="undefined")BKTree.prototype[Symbol.for("nodejs.util.inspect.custom")]=BKTree.prototype.inspect;BKTree.from=function(iterable,distance){var tree=new BKTree(distance);forEach2(iterable,function(value){tree.add(value)});return tree};module2.exports=BKTree}});var require_default_map=__commonJS({"node_modules/mnemonist/default-map.js"(exports2,module2){function DefaultMap(factory){if(typeof factory!=="function")throw new Error("mnemonist/DefaultMap.constructor: expecting a function.");this.items=new Map;this.factory=factory;this.size=0}DefaultMap.prototype.clear=function(){this.items.clear();this.size=0};DefaultMap.prototype.get=function(key){var value=this.items.get(key);if(typeof value==="undefined"){value=this.factory(key,this.size);this.items.set(key,value);this.size++}return value};DefaultMap.prototype.peek=function(key){return this.items.get(key)};DefaultMap.prototype.set=function(key,value){this.items.set(key,value);this.size=this.items.size;return this};DefaultMap.prototype.has=function(key){return this.items.has(key)};DefaultMap.prototype.delete=function(key){var deleted=this.items.delete(key);this.size=this.items.size;return deleted};DefaultMap.prototype.forEach=function(callback,scope){scope=arguments.length>1?scope:this;this.items.forEach(callback,scope)};DefaultMap.prototype.entries=function(){return this.items.entries()};DefaultMap.prototype.keys=function(){return this.items.keys()};DefaultMap.prototype.values=function(){return this.items.values()};if(typeof Symbol!=="undefined")DefaultMap.prototype[Symbol.iterator]=DefaultMap.prototype.entries;DefaultMap.prototype.inspect=function(){return this.items};if(typeof Symbol!=="undefined")DefaultMap.prototype[Symbol.for("nodejs.util.inspect.custom")]=DefaultMap.prototype.inspect;DefaultMap.autoIncrement=function(){var i=0;return function(){return i++}};module2.exports=DefaultMap}});var require_default_weak_map=__commonJS({"node_modules/mnemonist/default-weak-map.js"(exports2,module2){function DefaultWeakMap(factory){if(typeof factory!=="function")throw new Error("mnemonist/DefaultWeakMap.constructor: expecting a function.");this.items=new WeakMap;this.factory=factory}DefaultWeakMap.prototype.clear=function(){this.items=new WeakMap};DefaultWeakMap.prototype.get=function(key){var value=this.items.get(key);if(typeof value==="undefined"){value=this.factory(key);this.items.set(key,value)}return value};DefaultWeakMap.prototype.peek=function(key){return this.items.get(key)};DefaultWeakMap.prototype.set=function(key,value){this.items.set(key,value);return this};DefaultWeakMap.prototype.has=function(key){return this.items.has(key)};DefaultWeakMap.prototype.delete=function(key){return this.items.delete(key)};DefaultWeakMap.prototype.inspect=function(){return this.items};if(typeof Symbol!=="undefined")DefaultWeakMap.prototype[Symbol.for("nodejs.util.inspect.custom")]=DefaultWeakMap.prototype.inspect;module2.exports=DefaultWeakMap}});var require_static_disjoint_set=__commonJS({"node_modules/mnemonist/static-disjoint-set.js"(exports2,module2){var helpers=require_typed_arrays();function StaticDisjointSet(size2){var ParentsTypedArray=helpers.getPointerArray(size2),RanksTypedArray=helpers.getPointerArray(Math.log2(size2));this.size=size2;this.dimension=size2;this.parents=new ParentsTypedArray(size2);this.ranks=new RanksTypedArray(size2);for(var i=0;i<size2;i++)this.parents[i]=i}StaticDisjointSet.prototype.find=function(x){var y=x;var c,p;while(true){c=this.parents[y];if(y===c)break;y=c}while(true){p=this.parents[x];if(p===y)break;this.parents[x]=y;x=p}return y};StaticDisjointSet.prototype.union=function(x,y){var xRoot=this.find(x),yRoot=this.find(y);if(xRoot===yRoot)return this;this.dimension--;var xRank=this.ranks[x],yRank=this.ranks[y];if(xRank<yRank){this.parents[xRoot]=yRoot}else if(xRank>yRank){this.parents[yRoot]=xRoot}else{this.parents[yRoot]=xRoot;this.ranks[xRoot]++}return this};StaticDisjointSet.prototype.connected=function(x,y){var xRoot=this.find(x);return xRoot===this.find(y)};StaticDisjointSet.prototype.mapping=function(){var MappingClass=helpers.getPointerArray(this.dimension);var ids={},mapping=new MappingClass(this.size),c=0;var r;for(var i=0,l=this.parents.length;i<l;i++){r=this.find(i);if(typeof ids[r]==="undefined"){mapping[i]=c;ids[r]=c++}else{mapping[i]=ids[r]}}return mapping};StaticDisjointSet.prototype.compile=function(){var ids={},result2=new Array(this.dimension),c=0;var r;for(var i=0,l=this.parents.length;i<l;i++){r=this.find(i);if(typeof ids[r]==="undefined"){result2[c]=[i];ids[r]=c++}else{result2[ids[r]].push(i)}}return result2};StaticDisjointSet.prototype.inspect=function(){var array=this.compile();Object.defineProperty(array,"constructor",{value:StaticDisjointSet,enumerable:false});return array};if(typeof Symbol!=="undefined")StaticDisjointSet.prototype[Symbol.for("nodejs.util.inspect.custom")]=StaticDisjointSet.prototype.inspect;module2.exports=StaticDisjointSet}});var require_fixed_reverse_heap=__commonJS({"node_modules/mnemonist/fixed-reverse-heap.js"(exports2,module2){var comparators=require_comparators();var Heap=require_heap();var DEFAULT_COMPARATOR=comparators.DEFAULT_COMPARATOR;var reverseComparator=comparators.reverseComparator;function siftUp(compare,heap,size2,i){var endIndex=size2,startIndex=i,item=heap[i],childIndex=2*i+1,rightIndex;while(childIndex<endIndex){rightIndex=childIndex+1;if(rightIndex<endIndex&&compare(heap[childIndex],heap[rightIndex])>=0){childIndex=rightIndex}heap[i]=heap[childIndex];i=childIndex;childIndex=2*i+1}heap[i]=item;Heap.siftDown(compare,heap,startIndex,i)}function consume(ArrayClass,compare,heap,size2){var l=size2,i=l;var array=new ArrayClass(size2),lastItem,item;while(i>0){lastItem=heap[--i];if(i!==0){item=heap[0];heap[0]=lastItem;siftUp(compare,heap,--size2,0);lastItem=item}array[i]=lastItem}return array}function FixedReverseHeap(ArrayClass,comparator,capacity){if(arguments.length===2){capacity=comparator;comparator=null}this.ArrayClass=ArrayClass;this.capacity=capacity;this.items=new ArrayClass(capacity);this.clear();this.comparator=comparator||DEFAULT_COMPARATOR;if(typeof capacity!=="number"&&capacity<=0)throw new Error("mnemonist/FixedReverseHeap.constructor: capacity should be a number > 0.");if(typeof this.comparator!=="function")throw new Error("mnemonist/FixedReverseHeap.constructor: given comparator should be a function.");this.comparator=reverseComparator(this.comparator)}FixedReverseHeap.prototype.clear=function(){this.size=0};FixedReverseHeap.prototype.push=function(item){if(this.size<this.capacity){this.items[this.size]=item;Heap.siftDown(this.comparator,this.items,0,this.size);this.size++}else{if(this.comparator(item,this.items[0])>0)Heap.replace(this.comparator,this.items,item)}return this.size};FixedReverseHeap.prototype.peek=function(){return this.items[0]};FixedReverseHeap.prototype.consume=function(){var items=consume(this.ArrayClass,this.comparator,this.items,this.size);this.size=0;return items};FixedReverseHeap.prototype.toArray=function(){return consume(this.ArrayClass,this.comparator,this.items.slice(0,this.size),this.size)};FixedReverseHeap.prototype.inspect=function(){var proxy=this.toArray();Object.defineProperty(proxy,"constructor",{value:FixedReverseHeap,enumerable:false});return proxy};if(typeof Symbol!=="undefined")FixedReverseHeap.prototype[Symbol.for("nodejs.util.inspect.custom")]=FixedReverseHeap.prototype.inspect;module2.exports=FixedReverseHeap}});var require_fuzzy_map=__commonJS({"node_modules/mnemonist/fuzzy-map.js"(exports2,module2){var forEach2=require_foreach();var identity2=function(x){return x};function FuzzyMap(descriptor){this.items=new Map;this.clear();if(Array.isArray(descriptor)){this.writeHashFunction=descriptor[0];this.readHashFunction=descriptor[1]}else{this.writeHashFunction=descriptor;this.readHashFunction=descriptor}if(!this.writeHashFunction)this.writeHashFunction=identity2;if(!this.readHashFunction)this.readHashFunction=identity2;if(typeof this.writeHashFunction!=="function")throw new Error("mnemonist/FuzzyMap.constructor: invalid hash function given.");if(typeof this.readHashFunction!=="function")throw new Error("mnemonist/FuzzyMap.constructor: invalid hash function given.")}FuzzyMap.prototype.clear=function(){this.items.clear();this.size=0};FuzzyMap.prototype.add=function(item){var key=this.writeHashFunction(item);this.items.set(key,item);this.size=this.items.size;return this};FuzzyMap.prototype.set=function(key,item){key=this.writeHashFunction(key);this.items.set(key,item);this.size=this.items.size;return this};FuzzyMap.prototype.get=function(key){key=this.readHashFunction(key);return this.items.get(key)};FuzzyMap.prototype.has=function(key){key=this.readHashFunction(key);return this.items.has(key)};FuzzyMap.prototype.forEach=function(callback,scope){scope=arguments.length>1?scope:this;this.items.forEach(function(value){callback.call(scope,value,value)})};FuzzyMap.prototype.values=function(){return this.items.values()};if(typeof Symbol!=="undefined")FuzzyMap.prototype[Symbol.iterator]=FuzzyMap.prototype.values;FuzzyMap.prototype.inspect=function(){var array=Array.from(this.items.values());Object.defineProperty(array,"constructor",{value:FuzzyMap,enumerable:false});return array};if(typeof Symbol!=="undefined")FuzzyMap.prototype[Symbol.for("nodejs.util.inspect.custom")]=FuzzyMap.prototype.inspect;FuzzyMap.from=function(iterable,descriptor,useSet){var map3=new FuzzyMap(descriptor);forEach2(iterable,function(value,key){if(useSet)map3.set(key,value);else map3.add(value)});return map3};module2.exports=FuzzyMap}});var require_multi_map=__commonJS({"node_modules/mnemonist/multi-map.js"(exports2,module2){var Iterator2=require_iterator2();var forEach2=require_foreach();function MultiMap(Container){this.Container=Container||Array;this.items=new Map;this.clear();Object.defineProperty(this.items,"constructor",{value:MultiMap,enumerable:false})}MultiMap.prototype.clear=function(){this.size=0;this.dimension=0;this.items.clear()};MultiMap.prototype.set=function(key,value){var container=this.items.get(key),sizeBefore;if(!container){this.dimension++;container=new this.Container;this.items.set(key,container)}if(this.Container===Set){sizeBefore=container.size;container.add(value);if(sizeBefore<container.size)this.size++}else{container.push(value);this.size++}return this};MultiMap.prototype.delete=function(key){var container=this.items.get(key);if(!container)return false;this.size-=this.Container===Set?container.size:container.length;this.dimension--;this.items.delete(key);return true};MultiMap.prototype.remove=function(key,value){var container=this.items.get(key),wasDeleted,index;if(!container)return false;if(this.Container===Set){wasDeleted=container.delete(value);if(wasDeleted)this.size--;if(container.size===0){this.items.delete(key);this.dimension--}return wasDeleted}else{index=container.indexOf(value);if(index===-1)return false;this.size--;if(container.length===1){this.items.delete(key);this.dimension--;return true}container.splice(index,1);return true}};MultiMap.prototype.has=function(key){return this.items.has(key)};MultiMap.prototype.get=function(key){return this.items.get(key)};MultiMap.prototype.multiplicity=function(key){var container=this.items.get(key);if(typeof container==="undefined")return 0;return this.Container===Set?container.size:container.length};MultiMap.prototype.count=MultiMap.prototype.multiplicity;MultiMap.prototype.forEach=function(callback,scope){scope=arguments.length>1?scope:this;var key;function inner(value){callback.call(scope,value,key)}this.items.forEach(function(container,k){key=k;container.forEach(inner)})};MultiMap.prototype.forEachAssociation=function(callback,scope){scope=arguments.length>1?scope:this;this.items.forEach(callback,scope)};MultiMap.prototype.keys=function(){return this.items.keys()};MultiMap.prototype.values=function(){var iterator=this.items.values(),inContainer=false,countainer,step,i,l;if(this.Container===Set)return new Iterator2(function next(){if(!inContainer){step=iterator.next();if(step.done)return{done:true};inContainer=true;countainer=step.value.values()}step=countainer.next();if(step.done){inContainer=false;return next()}return{done:false,value:step.value}});return new Iterator2(function next(){if(!inContainer){step=iterator.next();if(step.done)return{done:true};inContainer=true;countainer=step.value;i=0;l=countainer.length}if(i>=l){inContainer=false;return next()}return{done:false,value:countainer[i++]}})};MultiMap.prototype.entries=function(){var iterator=this.items.entries(),inContainer=false,countainer,step,key,i,l;if(this.Container===Set)return new Iterator2(function next(){if(!inContainer){step=iterator.next();if(step.done)return{done:true};inContainer=true;key=step.value[0];countainer=step.value[1].values()}step=countainer.next();if(step.done){inContainer=false;return next()}return{done:false,value:[key,step.value]}});return new Iterator2(function next(){if(!inContainer){step=iterator.next();if(step.done)return{done:true};inContainer=true;key=step.value[0];countainer=step.value[1];i=0;l=countainer.length}if(i>=l){inContainer=false;return next()}return{done:false,value:[key,countainer[i++]]}})};MultiMap.prototype.containers=function(){return this.items.values()};MultiMap.prototype.associations=function(){return this.items.entries()};if(typeof Symbol!=="undefined")MultiMap.prototype[Symbol.iterator]=MultiMap.prototype.entries;MultiMap.prototype.inspect=function(){return this.items};if(typeof Symbol!=="undefined")MultiMap.prototype[Symbol.for("nodejs.util.inspect.custom")]=MultiMap.prototype.inspect;MultiMap.prototype.toJSON=function(){return this.items};MultiMap.from=function(iterable,Container){var map3=new MultiMap(Container);forEach2(iterable,function(value,key){map3.set(key,value)});return map3};module2.exports=MultiMap}});var require_fuzzy_multi_map=__commonJS({"node_modules/mnemonist/fuzzy-multi-map.js"(exports2,module2){var MultiMap=require_multi_map();var forEach2=require_foreach();var identity2=function(x){return x};function FuzzyMultiMap(descriptor,Container){this.items=new MultiMap(Container);this.clear();if(Array.isArray(descriptor)){this.writeHashFunction=descriptor[0];this.readHashFunction=descriptor[1]}else{this.writeHashFunction=descriptor;this.readHashFunction=descriptor}if(!this.writeHashFunction)this.writeHashFunction=identity2;if(!this.readHashFunction)this.readHashFunction=identity2;if(typeof this.writeHashFunction!=="function")throw new Error("mnemonist/FuzzyMultiMap.constructor: invalid hash function given.");if(typeof this.readHashFunction!=="function")throw new Error("mnemonist/FuzzyMultiMap.constructor: invalid hash function given.")}FuzzyMultiMap.prototype.clear=function(){this.items.clear();this.size=0;this.dimension=0};FuzzyMultiMap.prototype.add=function(item){var key=this.writeHashFunction(item);this.items.set(key,item);this.size=this.items.size;this.dimension=this.items.dimension;return this};FuzzyMultiMap.prototype.set=function(key,item){key=this.writeHashFunction(key);this.items.set(key,item);this.size=this.items.size;this.dimension=this.items.dimension;return this};FuzzyMultiMap.prototype.get=function(key){key=this.readHashFunction(key);return this.items.get(key)};FuzzyMultiMap.prototype.has=function(key){key=this.readHashFunction(key);return this.items.has(key)};FuzzyMultiMap.prototype.forEach=function(callback,scope){scope=arguments.length>1?scope:this;this.items.forEach(function(value){callback.call(scope,value,value)})};FuzzyMultiMap.prototype.values=function(){return this.items.values()};if(typeof Symbol!=="undefined")FuzzyMultiMap.prototype[Symbol.iterator]=FuzzyMultiMap.prototype.values;FuzzyMultiMap.prototype.inspect=function(){var array=Array.from(this);Object.defineProperty(array,"constructor",{value:FuzzyMultiMap,enumerable:false});return array};if(typeof Symbol!=="undefined")FuzzyMultiMap.prototype[Symbol.for("nodejs.util.inspect.custom")]=FuzzyMultiMap.prototype.inspect;FuzzyMultiMap.from=function(iterable,descriptor,Container,useSet){if(arguments.length===3){if(typeof Container==="boolean"){useSet=Container;Container=Array}}var map3=new FuzzyMultiMap(descriptor,Container);forEach2(iterable,function(value,key){if(useSet)map3.set(key,value);else map3.add(value)});return map3};module2.exports=FuzzyMultiMap}});var require_hashed_array_tree=__commonJS({"node_modules/mnemonist/hashed-array-tree.js"(exports2,module2){var DEFAULT_BLOCK_SIZE=1024;function powerOfTwo(x){return(x&x-1)===0}function HashedArrayTree(ArrayClass,initialCapacityOrOptions){if(arguments.length<1)throw new Error("mnemonist/hashed-array-tree: expecting at least a byte array constructor.");var initialCapacity=initialCapacityOrOptions||0,blockSize=DEFAULT_BLOCK_SIZE,initialLength=0;if(typeof initialCapacityOrOptions==="object"){initialCapacity=initialCapacityOrOptions.initialCapacity||0;initialLength=initialCapacityOrOptions.initialLength||0;blockSize=initialCapacityOrOptions.blockSize||DEFAULT_BLOCK_SIZE}if(!blockSize||!powerOfTwo(blockSize))throw new Error("mnemonist/hashed-array-tree: block size should be a power of two.");var capacity=Math.max(initialLength,initialCapacity),initialBlocks=Math.ceil(capacity/blockSize);this.ArrayClass=ArrayClass;this.length=initialLength;this.capacity=initialBlocks*blockSize;this.blockSize=blockSize;this.offsetMask=blockSize-1;this.blockMask=Math.log2(blockSize);this.blocks=new Array(initialBlocks);for(var i=0;i<initialBlocks;i++)this.blocks[i]=new this.ArrayClass(this.blockSize)}HashedArrayTree.prototype.set=function(index,value){if(this.length<index)throw new Error("HashedArrayTree("+this.ArrayClass.name+").set: index out of bounds.");var block=index>>this.blockMask,i=index&this.offsetMask;this.blocks[block][i]=value;return this};HashedArrayTree.prototype.get=function(index){if(this.length<index)return;var block=index>>this.blockMask,i=index&this.offsetMask;return this.blocks[block][i]};HashedArrayTree.prototype.grow=function(capacity){if(typeof capacity!=="number")capacity=this.capacity+this.blockSize;if(this.capacity>=capacity)return this;while(this.capacity<capacity){this.blocks.push(new this.ArrayClass(this.blockSize));this.capacity+=this.blockSize}return this};HashedArrayTree.prototype.resize=function(length){if(length===this.length)return this;if(length<this.length){this.length=length;return this}this.length=length;this.grow(length);return this};HashedArrayTree.prototype.push=function(value){if(this.capacity===this.length)this.grow();var index=this.length;var block=index>>this.blockMask,i=index&this.offsetMask;this.blocks[block][i]=value;return++this.length};HashedArrayTree.prototype.pop=function(){if(this.length===0)return;var lastBlock=this.blocks[this.blocks.length-1];var i=--this.length&this.offsetMask;return lastBlock[i]};HashedArrayTree.prototype.inspect=function(){var proxy=new this.ArrayClass(this.length),block;for(var i=0,l=this.length;i<l;i++){block=i>>this.blockMask;proxy[i]=this.blocks[block][i&this.offsetMask]}proxy.type=this.ArrayClass.name;proxy.items=this.length;proxy.capacity=this.capacity;proxy.blockSize=this.blockSize;Object.defineProperty(proxy,"constructor",{value:HashedArrayTree,enumerable:false});return proxy};if(typeof Symbol!=="undefined")HashedArrayTree.prototype[Symbol.for("nodejs.util.inspect.custom")]=HashedArrayTree.prototype.inspect;module2.exports=HashedArrayTree}});var require_fixed_stack=__commonJS({"node_modules/mnemonist/fixed-stack.js"(exports2,module2){var Iterator2=require_iterator2();var iterables=require_iterables();function FixedStack(ArrayClass,capacity){if(arguments.length<2)throw new Error("mnemonist/fixed-stack: expecting an Array class and a capacity.");if(typeof capacity!=="number"||capacity<=0)throw new Error("mnemonist/fixed-stack: `capacity` should be a positive number.");this.capacity=capacity;this.ArrayClass=ArrayClass;this.items=new this.ArrayClass(this.capacity);this.clear()}FixedStack.prototype.clear=function(){this.size=0};FixedStack.prototype.push=function(item){if(this.size===this.capacity)throw new Error("mnemonist/fixed-stack.push: stack capacity ("+this.capacity+") exceeded!");this.items[this.size++]=item;return this.size};FixedStack.prototype.pop=function(){if(this.size===0)return;return this.items[--this.size]};FixedStack.prototype.peek=function(){return this.items[this.size-1]};FixedStack.prototype.forEach=function(callback,scope){scope=arguments.length>1?scope:this;for(var i=0,l=this.items.length;i<l;i++)callback.call(scope,this.items[l-i-1],i,this)};FixedStack.prototype.toArray=function(){var array=new this.ArrayClass(this.size),l=this.size-1,i=this.size;while(i--)array[i]=this.items[l-i];return array};FixedStack.prototype.values=function(){var items=this.items,l=this.size,i=0;return new Iterator2(function(){if(i>=l)return{done:true};var value=items[l-i-1];i++;return{value,done:false}})};FixedStack.prototype.entries=function(){var items=this.items,l=this.size,i=0;return new Iterator2(function(){if(i>=l)return{done:true};var value=items[l-i-1];return{value:[i++,value],done:false}})};if(typeof Symbol!=="undefined")FixedStack.prototype[Symbol.iterator]=FixedStack.prototype.values;FixedStack.prototype.toString=function(){return this.toArray().join(",")};FixedStack.prototype.toJSON=function(){return this.toArray()};FixedStack.prototype.inspect=function(){var array=this.toArray();array.type=this.ArrayClass.name;array.capacity=this.capacity;Object.defineProperty(array,"constructor",{value:FixedStack,enumerable:false});return array};if(typeof Symbol!=="undefined")FixedStack.prototype[Symbol.for("nodejs.util.inspect.custom")]=FixedStack.prototype.inspect;FixedStack.from=function(iterable,ArrayClass,capacity){if(arguments.length<3){capacity=iterables.guessLength(iterable);if(typeof capacity!=="number")throw new Error("mnemonist/fixed-stack.from: could not guess iterable length. Please provide desired capacity as last argument.")}var stack2=new FixedStack(ArrayClass,capacity);if(iterables.isArrayLike(iterable)){var i,l;for(i=0,l=iterable.length;i<l;i++)stack2.items[i]=iterable[i];stack2.size=l;return stack2}iterables.forEach(iterable,function(value){stack2.push(value)});return stack2};module2.exports=FixedStack}});var require_static_interval_tree=__commonJS({"node_modules/mnemonist/static-interval-tree.js"(exports2,module2){var iterables=require_iterables();var typed=require_typed_arrays();var FixedStack=require_fixed_stack();function buildBST(intervals,endGetter,sortedIndices,tree,augmentations,i,low,high){var mid=low+(high-low)/2|0,midMinusOne=~-mid,midPlusOne=-~mid;var current=sortedIndices[mid];tree[i]=current+1;var end=endGetter?endGetter(intervals[current]):intervals[current][1];var left=i*2+1,right=i*2+2;var leftEnd=-Infinity,rightEnd=-Infinity;if(low<=midMinusOne){leftEnd=buildBST(intervals,endGetter,sortedIndices,tree,augmentations,left,low,midMinusOne)}if(midPlusOne<=high){rightEnd=buildBST(intervals,endGetter,sortedIndices,tree,augmentations,right,midPlusOne,high)}var augmentation=Math.max(end,leftEnd,rightEnd);var augmentationPointer=current;if(augmentation===leftEnd)augmentationPointer=augmentations[tree[left]-1];else if(augmentation===rightEnd)augmentationPointer=augmentations[tree[right]-1];augmentations[current]=augmentationPointer;return augmentation}function StaticIntervalTree(intervals,getters){this.size=intervals.length;this.intervals=intervals;var startGetter=null,endGetter=null;if(Array.isArray(getters)){startGetter=getters[0];endGetter=getters[1]}var length=intervals.length;var IndicesArray=typed.getPointerArray(length+1);var indices=new IndicesArray(length);var i;for(i=1;i<length;i++)indices[i]=i;indices.sort(function(a,b){a=intervals[a];b=intervals[b];if(startGetter){a=startGetter(a);b=startGetter(b)}else{a=a[0];b=b[0]}if(a<b)return-1;if(a>b)return 1;return 0});var height=Math.ceil(Math.log2(length+1)),treeSize=Math.pow(2,height)-1;var tree=new IndicesArray(treeSize);var augmentations=new IndicesArray(length);buildBST(intervals,endGetter,indices,tree,augmentations,0,0,length-1);indices=null;this.height=height;this.tree=tree;this.augmentations=augmentations;this.startGetter=startGetter;this.endGetter=endGetter;this.stack=new FixedStack(IndicesArray,this.height)}StaticIntervalTree.prototype.intervalsContainingPoint=function(point){var matches2=[];var stack2=this.stack;stack2.clear();stack2.push(0);var l=this.tree.length;var bstIndex,intervalIndex,interval,maxInterval,start,end,max3,left,right;while(stack2.size){bstIndex=stack2.pop();intervalIndex=this.tree[bstIndex]-1;interval=this.intervals[intervalIndex];maxInterval=this.intervals[this.augmentations[intervalIndex]];max3=this.endGetter?this.endGetter(maxInterval):maxInterval[1];if(point>max3)continue;left=bstIndex*2+1;if(left<l&&this.tree[left]!==0)stack2.push(left);start=this.startGetter?this.startGetter(interval):interval[0];end=this.endGetter?this.endGetter(interval):interval[1];if(point>=start&&point<=end)matches2.push(interval);if(point<start)continue;right=bstIndex*2+2;if(right<l&&this.tree[right]!==0)stack2.push(right)}return matches2};StaticIntervalTree.prototype.intervalsOverlappingInterval=function(interval){var intervalStart=this.startGetter?this.startGetter(interval):interval[0],intervalEnd=this.endGetter?this.endGetter(interval):interval[1];var matches2=[];var stack2=this.stack;stack2.clear();stack2.push(0);var l=this.tree.length;var bstIndex,intervalIndex,currentInterval,maxInterval,start,end,max3,left,right;while(stack2.size){bstIndex=stack2.pop();intervalIndex=this.tree[bstIndex]-1;currentInterval=this.intervals[intervalIndex];maxInterval=this.intervals[this.augmentations[intervalIndex]];max3=this.endGetter?this.endGetter(maxInterval):maxInterval[1];if(intervalStart>max3)continue;left=bstIndex*2+1;if(left<l&&this.tree[left]!==0)stack2.push(left);start=this.startGetter?this.startGetter(currentInterval):currentInterval[0];end=this.endGetter?this.endGetter(currentInterval):currentInterval[1];if(intervalEnd>=start&&intervalStart<=end)matches2.push(currentInterval);if(intervalEnd<start)continue;right=bstIndex*2+2;if(right<l&&this.tree[right]!==0)stack2.push(right)}return matches2};StaticIntervalTree.prototype.inspect=function(){var proxy=this.intervals.slice();Object.defineProperty(proxy,"constructor",{value:StaticIntervalTree,enumerable:false});return proxy};if(typeof Symbol!=="undefined")StaticIntervalTree.prototype[Symbol.for("nodejs.util.inspect.custom")]=StaticIntervalTree.prototype.inspect;StaticIntervalTree.from=function(iterable,getters){if(iterables.isArrayLike(iterable))return new StaticIntervalTree(iterable,getters);return new StaticIntervalTree(Array.from(iterable),getters)};module2.exports=StaticIntervalTree}});var require_binary_search2=__commonJS({"node_modules/mnemonist/utils/binary-search.js"(exports2){exports2.search=function(array,value,lo,hi){var mid=0;lo=typeof lo!=="undefined"?lo:0;hi=typeof hi!=="undefined"?hi:array.length;hi--;var current;while(lo<=hi){mid=lo+hi>>>1;current=array[mid];if(current>value){hi=~-mid}else if(current<value){lo=-~mid}else{return mid}}return-1};exports2.searchWithComparator=function(comparator,array,value){var mid=0,lo=0,hi=~-array.length,comparison;while(lo<=hi){mid=lo+hi>>>1;comparison=comparator(array[mid],value);if(comparison>0){hi=~-mid}else if(comparison<0){lo=-~mid}else{return mid}}return-1};exports2.lowerBound=function(array,value,lo,hi){var mid=0;lo=typeof lo!=="undefined"?lo:0;hi=typeof hi!=="undefined"?hi:array.length;while(lo<hi){mid=lo+hi>>>1;if(value<=array[mid]){hi=mid}else{lo=-~mid}}return lo};exports2.lowerBoundWithComparator=function(comparator,array,value){var mid=0,lo=0,hi=array.length;while(lo<hi){mid=lo+hi>>>1;if(comparator(value,array[mid])<=0){hi=mid}else{lo=-~mid}}return lo};exports2.lowerBoundIndices=function(array,indices,value,lo,hi){var mid=0;lo=typeof lo!=="undefined"?lo:0;hi=typeof hi!=="undefined"?hi:array.length;while(lo<hi){mid=lo+hi>>>1;if(value<=array[indices[mid]]){hi=mid}else{lo=-~mid}}return lo};exports2.upperBound=function(array,value,lo,hi){var mid=0;lo=typeof lo!=="undefined"?lo:0;hi=typeof hi!=="undefined"?hi:array.length;while(lo<hi){mid=lo+hi>>>1;if(value>=array[mid]){lo=-~mid}else{hi=mid}}return lo};exports2.upperBoundWithComparator=function(comparator,array,value){var mid=0,lo=0,hi=array.length;while(lo<hi){mid=lo+hi>>>1;if(comparator(value,array[mid])>=0){lo=-~mid}else{hi=mid}}return lo}}});var require_merge2=__commonJS({"node_modules/mnemonist/utils/merge.js"(exports2){var typed=require_typed_arrays();var isArrayLike2=require_iterables().isArrayLike;var binarySearch=require_binary_search2();var FibonacciHeap=require_fibonacci_heap();function mergeArrays(a,b){if(a.length===0)return b.slice();if(b.length===0)return a.slice();var tmp;if(a[0]>b[0]){tmp=a;a=b;b=tmp}var aEnd=a[a.length-1],bStart=b[0];if(aEnd<=bStart){if(typed.isTypedArray(a))return typed.concat(a,b);return a.concat(b)}var array=new a.constructor(a.length+b.length);var i,l,v;for(i=0,l=a.length;i<l;i++){v=a[i];if(v<=bStart)array[i]=v;else break}var aPointer=i,aLength=a.length,bPointer=0,bLength=b.length,aHead,bHead;while(aPointer<aLength&&bPointer<bLength){aHead=a[aPointer];bHead=b[bPointer];if(aHead<=bHead){array[i++]=aHead;aPointer++}else{array[i++]=bHead;bPointer++}}while(aPointer<aLength)array[i++]=a[aPointer++];while(bPointer<bLength)array[i++]=b[bPointer++];return array}function unionUniqueArrays(a,b){if(a.length===0)return b.slice();if(b.length===0)return a.slice();var tmp;if(a[0]>b[0]){tmp=a;a=b;b=tmp}var aEnd=a[a.length-1],bStart=b[0];if(aEnd<bStart){if(typed.isTypedArray(a))return typed.concat(a,b);return a.concat(b)}var array=new a.constructor;var i,l,v;for(i=0,l=a.length;i<l;i++){v=a[i];if(v<bStart)array.push(v);else break}var aPointer=i,aLength=a.length,bPointer=0,bLength=b.length,aHead,bHead;while(aPointer<aLength&&bPointer<bLength){aHead=a[aPointer];bHead=b[bPointer];if(aHead<=bHead){if(array.length===0||array[array.length-1]!==aHead)array.push(aHead);aPointer++}else{if(array.length===0||array[array.length-1]!==bHead)array.push(bHead);bPointer++}}while(aPointer<aLength){aHead=a[aPointer++];if(array.length===0||array[array.length-1]!==aHead)array.push(aHead)}while(bPointer<bLength){bHead=b[bPointer++];if(array.length===0||array[array.length-1]!==bHead)array.push(bHead)}return array}exports2.intersectionUniqueArrays=function(a,b){if(a.length===0||b.length===0)return new a.constructor(0);var tmp;if(a[0]>b[0]){tmp=a;a=b;b=tmp}var aEnd=a[a.length-1],bStart=b[0];if(aEnd<bStart)return new a.constructor(0);var array=new a.constructor;var aPointer=binarySearch.lowerBound(a,bStart),aLength=a.length,bPointer=0,bLength=binarySearch.upperBound(b,aEnd),aHead,bHead;while(aPointer<aLength&&bPointer<bLength){aHead=a[aPointer];bHead=b[bPointer];if(aHead<bHead){aPointer=binarySearch.lowerBound(a,bHead,aPointer+1)}else if(aHead>bHead){bPointer=binarySearch.lowerBound(b,aHead,bPointer+1)}else{array.push(aHead);aPointer++;bPointer++}}return array};function kWayMergeArrays(arrays){var length=0,max3=-Infinity,al,i,l;var filtered=[];for(i=0,l=arrays.length;i<l;i++){al=arrays[i].length;if(al===0)continue;filtered.push(arrays[i]);length+=al;if(al>max3)max3=al}if(filtered.length===0)return new arrays[0].constructor(0);if(filtered.length===1)return filtered[0].slice();if(filtered.length===2)return mergeArrays(filtered[0],filtered[1]);arrays=filtered;var array=new arrays[0].constructor(length);var PointerArray=typed.getPointerArray(max3);var pointers=new PointerArray(arrays.length);var heap=new FibonacciHeap(function(a,b){a=arrays[a][pointers[a]];b=arrays[b][pointers[b]];if(a<b)return-1;if(a>b)return 1;return 0});for(i=0;i<l;i++)heap.push(i);i=0;var p,v;while(heap.size){p=heap.pop();v=arrays[p][pointers[p]++];array[i++]=v;if(pointers[p]<arrays[p].length)heap.push(p)}return array}function kWayUnionUniqueArrays(arrays){var max3=-Infinity,al,i,l;var filtered=[];for(i=0,l=arrays.length;i<l;i++){al=arrays[i].length;if(al===0)continue;filtered.push(arrays[i]);if(al>max3)max3=al}if(filtered.length===0)return new arrays[0].constructor(0);if(filtered.length===1)return filtered[0].slice();if(filtered.length===2)return unionUniqueArrays(filtered[0],filtered[1]);arrays=filtered;var array=new arrays[0].constructor;var PointerArray=typed.getPointerArray(max3);var pointers=new PointerArray(arrays.length);var heap=new FibonacciHeap(function(a,b){a=arrays[a][pointers[a]];b=arrays[b][pointers[b]];if(a<b)return-1;if(a>b)return 1;return 0});for(i=0;i<l;i++)heap.push(i);var p,v;while(heap.size){p=heap.pop();v=arrays[p][pointers[p]++];if(array.length===0||array[array.length-1]!==v)array.push(v);if(pointers[p]<arrays[p].length)heap.push(p)}return array}exports2.kWayIntersectionUniqueArrays=function(arrays){var max3=-Infinity,maxStart=-Infinity,minEnd=Infinity,first,last2,al,i,l;for(i=0,l=arrays.length;i<l;i++){al=arrays[i].length;if(al===0)return[];if(al>max3)max3=al;first=arrays[i][0];last2=arrays[i][al-1];if(first>maxStart)maxStart=first;if(last2<minEnd)minEnd=last2}if(maxStart>minEnd)return[];if(maxStart===minEnd)return[maxStart];var a,b,array=arrays[0],aPointer,bPointer,aLimit,bLimit,aHead,bHead,start=maxStart;for(i=1;i<l;i++){a=array;b=arrays[i];array=new Array;aPointer=0;bPointer=binarySearch.lowerBound(b,start);aLimit=a.length;bLimit=b.length;while(aPointer<aLimit&&bPointer<bLimit){aHead=a[aPointer];bHead=b[bPointer];if(aHead<bHead){aPointer=binarySearch.lowerBound(a,bHead,aPointer+1)}else if(aHead>bHead){bPointer=binarySearch.lowerBound(b,aHead,bPointer+1)}else{array.push(aHead);aPointer++;bPointer++}}if(array.length===0)return array;start=array[0]}return array};exports2.merge=function(){if(arguments.length===2){if(isArrayLike2(arguments[0]))return mergeArrays(arguments[0],arguments[1])}else{if(isArrayLike2(arguments[0]))return kWayMergeArrays(arguments)}return null};exports2.unionUnique=function(){if(arguments.length===2){if(isArrayLike2(arguments[0]))return unionUniqueArrays(arguments[0],arguments[1])}else{if(isArrayLike2(arguments[0]))return kWayUnionUniqueArrays(arguments)}return null};exports2.intersectionUnique=function(){if(arguments.length===2){if(isArrayLike2(arguments[0]))return exports2.intersectionUniqueArrays(arguments[0],arguments[1])}else{if(isArrayLike2(arguments[0]))return exports2.kWayIntersectionUniqueArrays(arguments)}return null}}});var require_inverted_index=__commonJS({"node_modules/mnemonist/inverted-index.js"(exports2,module2){var Iterator2=require_iterator2();var forEach2=require_foreach();var helpers=require_merge2();function identity2(x){return x}function InvertedIndex(descriptor){this.clear();if(Array.isArray(descriptor)){this.documentTokenizer=descriptor[0];this.queryTokenizer=descriptor[1]}else{this.documentTokenizer=descriptor;this.queryTokenizer=descriptor}if(!this.documentTokenizer)this.documentTokenizer=identity2;if(!this.queryTokenizer)this.queryTokenizer=identity2;if(typeof this.documentTokenizer!=="function")throw new Error("mnemonist/InvertedIndex.constructor: document tokenizer is not a function.");if(typeof this.queryTokenizer!=="function")throw new Error("mnemonist/InvertedIndex.constructor: query tokenizer is not a function.")}InvertedIndex.prototype.clear=function(){this.items=[];this.mapping=new Map;this.size=0;this.dimension=0};InvertedIndex.prototype.add=function(doc){this.size++;var key=this.items.length;this.items.push(doc);var tokens=this.documentTokenizer(doc);if(!Array.isArray(tokens))throw new Error("mnemonist/InvertedIndex.add: tokenizer function should return an array of tokens.");var done=new Set,token3,container;for(var i=0,l=tokens.length;i<l;i++){token3=tokens[i];if(done.has(token3))continue;done.add(token3);container=this.mapping.get(token3);if(!container){container=[];this.mapping.set(token3,container)}container.push(key)}this.dimension=this.mapping.size;return this};InvertedIndex.prototype.get=function(query){if(!this.size)return[];var tokens=this.queryTokenizer(query);if(!Array.isArray(tokens))throw new Error("mnemonist/InvertedIndex.query: tokenizer function should return an array of tokens.");if(!tokens.length)return[];var results=this.mapping.get(tokens[0]),c,i,l;if(typeof results==="undefined"||results.length===0)return[];if(tokens.length>1){for(i=1,l=tokens.length;i<l;i++){c=this.mapping.get(tokens[i]);if(typeof c==="undefined"||c.length===0)return[];results=helpers.intersectionUniqueArrays(results,c)}}var docs=new Array(results.length);for(i=0,l=docs.length;i<l;i++)docs[i]=this.items[results[i]];return docs};InvertedIndex.prototype.forEach=function(callback,scope){scope=arguments.length>1?scope:this;for(var i=0,l=this.documents.length;i<l;i++)callback.call(scope,this.documents[i],i,this)};InvertedIndex.prototype.documents=function(){var documents=this.items,l=documents.length,i=0;return new Iterator2(function(){if(i>=l)return{done:true};var value=documents[i++];return{value,done:false}})};InvertedIndex.prototype.tokens=function(){return this.mapping.keys()};if(typeof Symbol!=="undefined")InvertedIndex.prototype[Symbol.iterator]=InvertedIndex.prototype.documents;InvertedIndex.prototype.inspect=function(){var array=this.items.slice();Object.defineProperty(array,"constructor",{value:InvertedIndex,enumerable:false});return array};if(typeof Symbol!=="undefined")InvertedIndex.prototype[Symbol.for("nodejs.util.inspect.custom")]=InvertedIndex.prototype.inspect;InvertedIndex.from=function(iterable,descriptor){var index=new InvertedIndex(descriptor);forEach2(iterable,function(doc){index.add(doc)});return index};module2.exports=InvertedIndex}});var require_quick=__commonJS({"node_modules/mnemonist/sort/quick.js"(exports2){var LOS=new Float64Array(64);var HIS=new Float64Array(64);function inplaceQuickSort(array,lo,hi){var p,i,l,r,swap2;LOS[0]=lo;HIS[0]=hi;i=0;while(i>=0){l=LOS[i];r=HIS[i]-1;if(l<r){p=array[l];while(l<r){while(array[r]>=p&&l<r)r--;if(l<r)array[l++]=array[r];while(array[l]<=p&&l<r)l++;if(l<r)array[r--]=array[l]}array[l]=p;LOS[i+1]=l+1;HIS[i+1]=HIS[i];HIS[i++]=l;if(HIS[i]-LOS[i]>HIS[i-1]-LOS[i-1]){swap2=LOS[i];LOS[i]=LOS[i-1];LOS[i-1]=swap2;swap2=HIS[i];HIS[i]=HIS[i-1];HIS[i-1]=swap2}}else{i--}}return array}exports2.inplaceQuickSort=inplaceQuickSort;function inplaceQuickSortIndices(array,indices,lo,hi){var p,i,l,r,t,swap2;LOS[0]=lo;HIS[0]=hi;i=0;while(i>=0){l=LOS[i];r=HIS[i]-1;if(l<r){t=indices[l];p=array[t];while(l<r){while(array[indices[r]]>=p&&l<r)r--;if(l<r)indices[l++]=indices[r];while(array[indices[l]]<=p&&l<r)l++;if(l<r)indices[r--]=indices[l]}indices[l]=t;LOS[i+1]=l+1;HIS[i+1]=HIS[i];HIS[i++]=l;if(HIS[i]-LOS[i]>HIS[i-1]-LOS[i-1]){swap2=LOS[i];LOS[i]=LOS[i-1];LOS[i-1]=swap2;swap2=HIS[i];HIS[i]=HIS[i-1];HIS[i-1]=swap2}}else{i--}}return indices}exports2.inplaceQuickSortIndices=inplaceQuickSortIndices}});var require_kd_tree=__commonJS({"node_modules/mnemonist/kd-tree.js"(exports2,module2){var iterables=require_iterables();var typed=require_typed_arrays();var createTupleComparator=require_comparators().createTupleComparator;var FixedReverseHeap=require_fixed_reverse_heap();var inplaceQuickSortIndices=require_quick().inplaceQuickSortIndices;function squaredDistanceAxes(dimensions,axes,pivot,b){var d;var dist=0,step;for(d=0;d<dimensions;d++){step=axes[d][pivot]-b[d];dist+=step*step}return dist}function reshapeIntoAxes(dimensions,data){var l=data.length;var axes=new Array(dimensions),labels=new Array(l),axis;var PointerArray=typed.getPointerArray(l);var ids=new PointerArray(l);var d,i,row;var f=true;for(d=0;d<dimensions;d++){axis=new Float64Array(l);for(i=0;i<l;i++){row=data[i];axis[i]=row[1][d];if(f){labels[i]=row[0];ids[i]=i}}f=false;axes[d]=axis}return{axes,ids,labels}}function buildTree(dimensions,axes,ids,labels){var l=labels.length;var PointerArray=typed.getPointerArray(l+1);var pivots=new PointerArray(l),lefts=new PointerArray(l),rights=new PointerArray(l);var stack2=[[0,0,ids.length,-1,0]],step,parent2,direction,median2,pivot,lo,hi;var d,i=0;while(stack2.length!==0){step=stack2.pop();d=step[0];lo=step[1];hi=step[2];parent2=step[3];direction=step[4];inplaceQuickSortIndices(axes[d],ids,lo,hi);l=hi-lo;median2=lo+(l>>>1);pivot=ids[median2];pivots[i]=pivot;if(parent2>-1){if(direction===0)lefts[parent2]=i+1;else rights[parent2]=i+1}d=(d+1)%dimensions;if(median2!==lo&&median2!==hi-1){stack2.push([d,median2+1,hi,i,1])}if(median2!==lo){stack2.push([d,lo,median2,i,0])}i++}return{axes,labels,pivots,lefts,rights}}function KDTree(dimensions,build){this.dimensions=dimensions;this.visited=0;this.axes=build.axes;this.labels=build.labels;this.pivots=build.pivots;this.lefts=build.lefts;this.rights=build.rights;this.size=this.labels.length}KDTree.prototype.nearestNeighbor=function(query){var bestDistance=Infinity,best=null;var dimensions=this.dimensions,axes=this.axes,pivots=this.pivots,lefts=this.lefts,rights=this.rights;var visited=0;function recurse(d,node){visited++;var left=lefts[node],right=rights[node],pivot=pivots[node];var dist=squaredDistanceAxes(dimensions,axes,pivot,query);if(dist<bestDistance){best=pivot;bestDistance=dist;if(dist===0)return}var dx=axes[d][pivot]-query[d];d=(d+1)%dimensions;if(dx>0){if(left!==0)recurse(d,left-1)}else{if(right!==0)recurse(d,right-1)}if(dx*dx<bestDistance){if(dx>0){if(right!==0)recurse(d,right-1)}else{if(left!==0)recurse(d,left-1)}}}recurse(0,0);this.visited=visited;return this.labels[best]};var KNN_HEAP_COMPARATOR_3=createTupleComparator(3);var KNN_HEAP_COMPARATOR_2=createTupleComparator(2);KDTree.prototype.kNearestNeighbors=function(k,query){if(k<=0)throw new Error("mnemonist/kd-tree.kNearestNeighbors: k should be a positive number.");k=Math.min(k,this.size);if(k===1)return[this.nearestNeighbor(query)];var heap=new FixedReverseHeap(Array,KNN_HEAP_COMPARATOR_3,k);var dimensions=this.dimensions,axes=this.axes,pivots=this.pivots,lefts=this.lefts,rights=this.rights;var visited=0;function recurse(d,node){var left=lefts[node],right=rights[node],pivot=pivots[node];var dist=squaredDistanceAxes(dimensions,axes,pivot,query);heap.push([dist,visited++,pivot]);var point=query[d],split2=axes[d][pivot],dx=point-split2;d=(d+1)%dimensions;if(point<split2){if(left!==0){recurse(d,left-1)}}else{if(right!==0){recurse(d,right-1)}}if(dx*dx<heap.peek()[0]||heap.size<k){if(point<split2){if(right!==0){recurse(d,right-1)}}else{if(left!==0){recurse(d,left-1)}}}}recurse(0,0);this.visited=visited;var best=heap.consume();for(var i=0;i<best.length;i++)best[i]=this.labels[best[i][2]];return best};KDTree.prototype.linearKNearestNeighbors=function(k,query){if(k<=0)throw new Error("mnemonist/kd-tree.kNearestNeighbors: k should be a positive number.");k=Math.min(k,this.size);var heap=new FixedReverseHeap(Array,KNN_HEAP_COMPARATOR_2,k);var i,l,dist;for(i=0,l=this.size;i<l;i++){dist=squaredDistanceAxes(this.dimensions,this.axes,this.pivots[i],query);heap.push([dist,i])}var best=heap.consume();for(i=0;i<best.length;i++)best[i]=this.labels[this.pivots[best[i][1]]];return best};KDTree.prototype.inspect=function(){var dummy=new Map;dummy.dimensions=this.dimensions;Object.defineProperty(dummy,"constructor",{value:KDTree,enumerable:false});var i,j,point;for(i=0;i<this.size;i++){point=new Array(this.dimensions);for(j=0;j<this.dimensions;j++)point[j]=this.axes[j][i];dummy.set(this.labels[i],point)}return dummy};if(typeof Symbol!=="undefined")KDTree.prototype[Symbol.for("nodejs.util.inspect.custom")]=KDTree.prototype.inspect;KDTree.from=function(iterable,dimensions){var data=iterables.toArray(iterable);var reshaped=reshapeIntoAxes(dimensions,data);var result2=buildTree(dimensions,reshaped.axes,reshaped.ids,reshaped.labels);return new KDTree(dimensions,result2)};KDTree.fromAxes=function(axes,labels){if(!labels)labels=typed.indices(axes[0].length);var dimensions=axes.length;var result2=buildTree(axes.length,axes,typed.indices(labels.length),labels);return new KDTree(dimensions,result2)};module2.exports=KDTree}});var require_linked_list=__commonJS({"node_modules/mnemonist/linked-list.js"(exports2,module2){var Iterator2=require_iterator2();var forEach2=require_foreach();function LinkedList(){this.clear()}LinkedList.prototype.clear=function(){this.head=null;this.tail=null;this.size=0};LinkedList.prototype.first=function(){return this.head?this.head.item:void 0};LinkedList.prototype.peek=LinkedList.prototype.first;LinkedList.prototype.last=function(){return this.tail?this.tail.item:void 0};LinkedList.prototype.push=function(item){var node={item,next:null};if(!this.head){this.head=node;this.tail=node}else{this.tail.next=node;this.tail=node}this.size++;return this.size};LinkedList.prototype.unshift=function(item){var node={item,next:null};if(!this.head){this.head=node;this.tail=node}else{if(!this.head.next)this.tail=this.head;node.next=this.head;this.head=node}this.size++;return this.size};LinkedList.prototype.shift=function(){if(!this.size)return void 0;var node=this.head;this.head=node.next;this.size--;return node.item};LinkedList.prototype.forEach=function(callback,scope){if(!this.size)return;scope=arguments.length>1?scope:this;var n=this.head,i=0;while(n){callback.call(scope,n.item,i,this);n=n.next;i++}};LinkedList.prototype.toArray=function(){if(!this.size)return[];var array=new Array(this.size);for(var i=0,l=this.size,n=this.head;i<l;i++){array[i]=n.item;n=n.next}return array};LinkedList.prototype.values=function(){var n=this.head;return new Iterator2(function(){if(!n)return{done:true};var value=n.item;n=n.next;return{value,done:false}})};LinkedList.prototype.entries=function(){var n=this.head,i=0;return new Iterator2(function(){if(!n)return{done:true};var value=n.item;n=n.next;i++;return{value:[i-1,value],done:false}})};if(typeof Symbol!=="undefined")LinkedList.prototype[Symbol.iterator]=LinkedList.prototype.values;LinkedList.prototype.toString=function(){return this.toArray().join(",")};LinkedList.prototype.toJSON=function(){return this.toArray()};LinkedList.prototype.inspect=function(){var array=this.toArray();Object.defineProperty(array,"constructor",{value:LinkedList,enumerable:false});return array};if(typeof Symbol!=="undefined")LinkedList.prototype[Symbol.for("nodejs.util.inspect.custom")]=LinkedList.prototype.inspect;LinkedList.from=function(iterable){var list=new LinkedList;forEach2(iterable,function(value){list.push(value)});return list};module2.exports=LinkedList}});var require_lru_cache3=__commonJS({"node_modules/mnemonist/lru-cache.js"(exports2,module2){var Iterator2=require_iterator2();var forEach2=require_foreach();var typed=require_typed_arrays();var iterables=require_iterables();function LRUCache(Keys,Values,capacity){if(arguments.length<2){capacity=Keys;Keys=null;Values=null}this.capacity=capacity;if(typeof this.capacity!=="number"||this.capacity<=0)throw new Error("mnemonist/lru-cache: capacity should be positive number.");else if(!isFinite(this.capacity)||Math.floor(this.capacity)!==this.capacity)throw new Error("mnemonist/lru-cache: capacity should be a finite positive integer.");var PointerArray=typed.getPointerArray(capacity);this.forward=new PointerArray(capacity);this.backward=new PointerArray(capacity);this.K=typeof Keys==="function"?new Keys(capacity):new Array(capacity);this.V=typeof Values==="function"?new Values(capacity):new Array(capacity);this.size=0;this.head=0;this.tail=0;this.items={}}LRUCache.prototype.clear=function(){this.size=0;this.head=0;this.tail=0;this.items={}};LRUCache.prototype.splayOnTop=function(pointer){var oldHead=this.head;if(this.head===pointer)return this;var previous=this.backward[pointer],next=this.forward[pointer];if(this.tail===pointer){this.tail=previous}else{this.backward[next]=previous}this.forward[previous]=next;this.backward[oldHead]=pointer;this.head=pointer;this.forward[pointer]=oldHead;return this};LRUCache.prototype.set=function(key,value){var pointer=this.items[key];if(typeof pointer!=="undefined"){this.splayOnTop(pointer);this.V[pointer]=value;return}if(this.size<this.capacity){pointer=this.size++}else{pointer=this.tail;this.tail=this.backward[pointer];delete this.items[this.K[pointer]]}this.items[key]=pointer;this.K[pointer]=key;this.V[pointer]=value;this.forward[pointer]=this.head;this.backward[this.head]=pointer;this.head=pointer};LRUCache.prototype.setpop=function(key,value){var oldValue=null;var oldKey=null;var pointer=this.items[key];if(typeof pointer!=="undefined"){this.splayOnTop(pointer);oldValue=this.V[pointer];this.V[pointer]=value;return{evicted:false,key,value:oldValue}}if(this.size<this.capacity){pointer=this.size++}else{pointer=this.tail;this.tail=this.backward[pointer];oldValue=this.V[pointer];oldKey=this.K[pointer];delete this.items[oldKey]}this.items[key]=pointer;this.K[pointer]=key;this.V[pointer]=value;this.forward[pointer]=this.head;this.backward[this.head]=pointer;this.head=pointer;if(oldKey){return{evicted:true,key:oldKey,value:oldValue}}else{return null}};LRUCache.prototype.has=function(key){return key in this.items};LRUCache.prototype.get=function(key){var pointer=this.items[key];if(typeof pointer==="undefined")return;this.splayOnTop(pointer);return this.V[pointer]};LRUCache.prototype.peek=function(key){var pointer=this.items[key];if(typeof pointer==="undefined")return;return this.V[pointer]};LRUCache.prototype.forEach=function(callback,scope){scope=arguments.length>1?scope:this;var i=0,l=this.size;var pointer=this.head,keys2=this.K,values2=this.V,forward=this.forward;while(i<l){callback.call(scope,values2[pointer],keys2[pointer],this);pointer=forward[pointer];i++}};LRUCache.prototype.keys=function(){var i=0,l=this.size;var pointer=this.head,keys2=this.K,forward=this.forward;return new Iterator2(function(){if(i>=l)return{done:true};var key=keys2[pointer];i++;if(i<l)pointer=forward[pointer];return{done:false,value:key}})};LRUCache.prototype.values=function(){var i=0,l=this.size;var pointer=this.head,values2=this.V,forward=this.forward;return new Iterator2(function(){if(i>=l)return{done:true};var value=values2[pointer];i++;if(i<l)pointer=forward[pointer];return{done:false,value}})};LRUCache.prototype.entries=function(){var i=0,l=this.size;var pointer=this.head,keys2=this.K,values2=this.V,forward=this.forward;return new Iterator2(function(){if(i>=l)return{done:true};var key=keys2[pointer],value=values2[pointer];i++;if(i<l)pointer=forward[pointer];return{done:false,value:[key,value]}})};if(typeof Symbol!=="undefined")LRUCache.prototype[Symbol.iterator]=LRUCache.prototype.entries;LRUCache.prototype.inspect=function(){var proxy=new Map;var iterator=this.entries(),step;while(step=iterator.next(),!step.done)proxy.set(step.value[0],step.value[1]);Object.defineProperty(proxy,"constructor",{value:LRUCache,enumerable:false});return proxy};if(typeof Symbol!=="undefined")LRUCache.prototype[Symbol.for("nodejs.util.inspect.custom")]=LRUCache.prototype.inspect;LRUCache.from=function(iterable,Keys,Values,capacity){if(arguments.length<2){capacity=iterables.guessLength(iterable);if(typeof capacity!=="number")throw new Error("mnemonist/lru-cache.from: could not guess iterable length. Please provide desired capacity as last argument.")}else if(arguments.length===2){capacity=Keys;Keys=null;Values=null}var cache2=new LRUCache(Keys,Values,capacity);forEach2(iterable,function(value,key){cache2.set(key,value)});return cache2};module2.exports=LRUCache}});var require_lru_cache_with_delete=__commonJS({"node_modules/mnemonist/lru-cache-with-delete.js"(exports2,module2){var LRUCache=require_lru_cache3();var forEach2=require_foreach();var typed=require_typed_arrays();var iterables=require_iterables();function LRUCacheWithDelete2(Keys,Values,capacity){if(arguments.length<2){LRUCache.call(this,Keys)}else{LRUCache.call(this,Keys,Values,capacity)}var PointerArray=typed.getPointerArray(this.capacity);this.deleted=new PointerArray(this.capacity);this.deletedSize=0}for(k in LRUCache.prototype)LRUCacheWithDelete2.prototype[k]=LRUCache.prototype[k];var k;if(typeof Symbol!=="undefined")LRUCacheWithDelete2.prototype[Symbol.iterator]=LRUCache.prototype[Symbol.iterator];LRUCacheWithDelete2.prototype.clear=function(){LRUCache.prototype.clear.call(this);this.deletedSize=0};LRUCacheWithDelete2.prototype.set=function(key,value){var pointer=this.items[key];if(typeof pointer!=="undefined"){this.splayOnTop(pointer);this.V[pointer]=value;return}if(this.size<this.capacity){if(this.deletedSize>0){pointer=this.deleted[--this.deletedSize]}else{pointer=this.size}this.size++}else{pointer=this.tail;this.tail=this.backward[pointer];delete this.items[this.K[pointer]]}this.items[key]=pointer;this.K[pointer]=key;this.V[pointer]=value;this.forward[pointer]=this.head;this.backward[this.head]=pointer;this.head=pointer};LRUCacheWithDelete2.prototype.setpop=function(key,value){var oldValue=null;var oldKey=null;var pointer=this.items[key];if(typeof pointer!=="undefined"){this.splayOnTop(pointer);oldValue=this.V[pointer];this.V[pointer]=value;return{evicted:false,key,value:oldValue}}if(this.size<this.capacity){if(this.deletedSize>0){pointer=this.deleted[--this.deletedSize]}else{pointer=this.size}this.size++}else{pointer=this.tail;this.tail=this.backward[pointer];oldValue=this.V[pointer];oldKey=this.K[pointer];delete this.items[oldKey]}this.items[key]=pointer;this.K[pointer]=key;this.V[pointer]=value;this.forward[pointer]=this.head;this.backward[this.head]=pointer;this.head=pointer;if(oldKey){return{evicted:true,key:oldKey,value:oldValue}}else{return null}};LRUCacheWithDelete2.prototype.delete=function(key){var pointer=this.items[key];if(typeof pointer==="undefined"){return false}delete this.items[key];if(this.size===1){this.size=0;this.head=0;this.tail=0;this.deletedSize=0;return true}var previous=this.backward[pointer],next=this.forward[pointer];if(this.head===pointer){this.head=next}if(this.tail===pointer){this.tail=previous}this.forward[previous]=next;this.backward[next]=previous;this.size--;this.deleted[this.deletedSize++]=pointer;return true};LRUCacheWithDelete2.prototype.remove=function(key,missing=void 0){var pointer=this.items[key];if(typeof pointer==="undefined"){return missing}var dead=this.V[pointer];delete this.items[key];if(this.size===1){this.size=0;this.head=0;this.tail=0;this.deletedSize=0;return dead}var previous=this.backward[pointer],next=this.forward[pointer];if(this.head===pointer){this.head=next}if(this.tail===pointer){this.tail=previous}this.forward[previous]=next;this.backward[next]=previous;this.size--;this.deleted[this.deletedSize++]=pointer;return dead};LRUCacheWithDelete2.from=function(iterable,Keys,Values,capacity){if(arguments.length<2){capacity=iterables.guessLength(iterable);if(typeof capacity!=="number")throw new Error("mnemonist/lru-cache.from: could not guess iterable length. Please provide desired capacity as last argument.")}else if(arguments.length===2){capacity=Keys;Keys=null;Values=null}var cache2=new LRUCacheWithDelete2(Keys,Values,capacity);forEach2(iterable,function(value,key){cache2.set(key,value)});return cache2};module2.exports=LRUCacheWithDelete2}});var require_lru_map=__commonJS({"node_modules/mnemonist/lru-map.js"(exports2,module2){var LRUCache=require_lru_cache3();var forEach2=require_foreach();var typed=require_typed_arrays();var iterables=require_iterables();function LRUMap(Keys,Values,capacity){if(arguments.length<2){capacity=Keys;Keys=null;Values=null}this.capacity=capacity;if(typeof this.capacity!=="number"||this.capacity<=0)throw new Error("mnemonist/lru-map: capacity should be positive number.");else if(!isFinite(this.capacity)||Math.floor(this.capacity)!==this.capacity)throw new Error("mnemonist/lru-map: capacity should be a finite positive integer.");var PointerArray=typed.getPointerArray(capacity);this.forward=new PointerArray(capacity);this.backward=new PointerArray(capacity);this.K=typeof Keys==="function"?new Keys(capacity):new Array(capacity);this.V=typeof Values==="function"?new Values(capacity):new Array(capacity);this.size=0;this.head=0;this.tail=0;this.items=new Map}LRUMap.prototype.clear=function(){this.size=0;this.head=0;this.tail=0;this.items.clear()};LRUMap.prototype.set=function(key,value){var pointer=this.items.get(key);if(typeof pointer!=="undefined"){this.splayOnTop(pointer);this.V[pointer]=value;return}if(this.size<this.capacity){pointer=this.size++}else{pointer=this.tail;this.tail=this.backward[pointer];this.items.delete(this.K[pointer])}this.items.set(key,pointer);this.K[pointer]=key;this.V[pointer]=value;this.forward[pointer]=this.head;this.backward[this.head]=pointer;this.head=pointer};LRUMap.prototype.setpop=function(key,value){var oldValue=null;var oldKey=null;var pointer=this.items.get(key);if(typeof pointer!=="undefined"){this.splayOnTop(pointer);oldValue=this.V[pointer];this.V[pointer]=value;return{evicted:false,key,value:oldValue}}if(this.size<this.capacity){pointer=this.size++}else{pointer=this.tail;this.tail=this.backward[pointer];oldValue=this.V[pointer];oldKey=this.K[pointer];this.items.delete(oldKey)}this.items.set(key,pointer);this.K[pointer]=key;this.V[pointer]=value;this.forward[pointer]=this.head;this.backward[this.head]=pointer;this.head=pointer;if(oldKey){return{evicted:true,key:oldKey,value:oldValue}}else{return null}};LRUMap.prototype.has=function(key){return this.items.has(key)};LRUMap.prototype.get=function(key){var pointer=this.items.get(key);if(typeof pointer==="undefined")return;this.splayOnTop(pointer);return this.V[pointer]};LRUMap.prototype.peek=function(key){var pointer=this.items.get(key);if(typeof pointer==="undefined")return;return this.V[pointer]};LRUMap.prototype.splayOnTop=LRUCache.prototype.splayOnTop;LRUMap.prototype.forEach=LRUCache.prototype.forEach;LRUMap.prototype.keys=LRUCache.prototype.keys;LRUMap.prototype.values=LRUCache.prototype.values;LRUMap.prototype.entries=LRUCache.prototype.entries;if(typeof Symbol!=="undefined")LRUMap.prototype[Symbol.iterator]=LRUMap.prototype.entries;LRUMap.prototype.inspect=LRUCache.prototype.inspect;LRUMap.from=function(iterable,Keys,Values,capacity){if(arguments.length<2){capacity=iterables.guessLength(iterable);if(typeof capacity!=="number")throw new Error("mnemonist/lru-cache.from: could not guess iterable length. Please provide desired capacity as last argument.")}else if(arguments.length===2){capacity=Keys;Keys=null;Values=null}var cache2=new LRUMap(Keys,Values,capacity);forEach2(iterable,function(value,key){cache2.set(key,value)});return cache2};module2.exports=LRUMap}});var require_lru_map_with_delete=__commonJS({"node_modules/mnemonist/lru-map-with-delete.js"(exports2,module2){var LRUMap=require_lru_map();var forEach2=require_foreach();var typed=require_typed_arrays();var iterables=require_iterables();function LRUMapWithDelete(Keys,Values,capacity){if(arguments.length<2){LRUMap.call(this,Keys)}else{LRUMap.call(this,Keys,Values,capacity)}var PointerArray=typed.getPointerArray(this.capacity);this.deleted=new PointerArray(this.capacity);this.deletedSize=0}for(k in LRUMap.prototype)LRUMapWithDelete.prototype[k]=LRUMap.prototype[k];var k;if(typeof Symbol!=="undefined")LRUMapWithDelete.prototype[Symbol.iterator]=LRUMap.prototype[Symbol.iterator];LRUMapWithDelete.prototype.clear=function(){LRUMap.prototype.clear.call(this);this.deletedSize=0};LRUMapWithDelete.prototype.set=function(key,value){var pointer=this.items.get(key);if(typeof pointer!=="undefined"){this.splayOnTop(pointer);this.V[pointer]=value;return}if(this.size<this.capacity){if(this.deletedSize>0){pointer=this.deleted[--this.deletedSize]}else{pointer=this.size}this.size++}else{pointer=this.tail;this.tail=this.backward[pointer];this.items.delete(this.K[pointer])}this.items.set(key,pointer);this.K[pointer]=key;this.V[pointer]=value;this.forward[pointer]=this.head;this.backward[this.head]=pointer;this.head=pointer};LRUMapWithDelete.prototype.setpop=function(key,value){var oldValue=null;var oldKey=null;var pointer=this.items.get(key);if(typeof pointer!=="undefined"){this.splayOnTop(pointer);oldValue=this.V[pointer];this.V[pointer]=value;return{evicted:false,key,value:oldValue}}if(this.size<this.capacity){if(this.deletedSize>0){pointer=this.deleted[--this.deletedSize]}else{pointer=this.size}this.size++}else{pointer=this.tail;this.tail=this.backward[pointer];oldValue=this.V[pointer];oldKey=this.K[pointer];this.items.delete(oldKey)}this.items.set(key,pointer);this.K[pointer]=key;this.V[pointer]=value;this.forward[pointer]=this.head;this.backward[this.head]=pointer;this.head=pointer;if(oldKey){return{evicted:true,key:oldKey,value:oldValue}}else{return null}};LRUMapWithDelete.prototype.delete=function(key){var pointer=this.items.get(key);if(typeof pointer==="undefined"){return false}this.items.delete(key);if(this.size===1){this.size=0;this.head=0;this.tail=0;this.deletedSize=0;return true}var previous=this.backward[pointer],next=this.forward[pointer];if(this.head===pointer){this.head=next}if(this.tail===pointer){this.tail=previous}this.forward[previous]=next;this.backward[next]=previous;this.size--;this.deleted[this.deletedSize++]=pointer;return true};LRUMapWithDelete.prototype.remove=function(key,missing=void 0){var pointer=this.items.get(key);if(typeof pointer==="undefined"){return missing}var dead=this.V[pointer];this.items.delete(key);if(this.size===1){this.size=0;this.head=0;this.tail=0;this.deletedSize=0;return dead}var previous=this.backward[pointer],next=this.forward[pointer];if(this.head===pointer){this.head=next}if(this.tail===pointer){this.tail=previous}this.forward[previous]=next;this.backward[next]=previous;this.size--;this.deleted[this.deletedSize++]=pointer;return dead};LRUMapWithDelete.from=function(iterable,Keys,Values,capacity){if(arguments.length<2){capacity=iterables.guessLength(iterable);if(typeof capacity!=="number")throw new Error("mnemonist/lru-map.from: could not guess iterable length. Please provide desired capacity as last argument.")}else if(arguments.length===2){capacity=Keys;Keys=null;Values=null}var cache2=new LRUMapWithDelete(Keys,Values,capacity);forEach2(iterable,function(value,key){cache2.set(key,value)});return cache2};module2.exports=LRUMapWithDelete}});var require_multi_set=__commonJS({"node_modules/mnemonist/multi-set.js"(exports2,module2){var Iterator2=require_iterator2();var forEach2=require_foreach();var FixedReverseHeap=require_fixed_reverse_heap();var MULTISET_ITEM_COMPARATOR=function(a,b){if(a[1]>b[1])return-1;if(a[1]<b[1])return 1;return 0};function MultiSet(){this.items=new Map;Object.defineProperty(this.items,"constructor",{value:MultiSet,enumerable:false});this.clear()}MultiSet.prototype.clear=function(){this.size=0;this.dimension=0;this.items.clear()};MultiSet.prototype.add=function(item,count){if(count===0)return this;if(count<0)return this.remove(item,-count);count=count||1;if(typeof count!=="number")throw new Error("mnemonist/multi-set.add: given count should be a number.");this.size+=count;const currentCount=this.items.get(item);if(currentCount===void 0)this.dimension++;else count+=currentCount;this.items.set(item,count);return this};MultiSet.prototype.set=function(item,count){var currentCount;if(typeof count!=="number")throw new Error("mnemonist/multi-set.set: given count should be a number.");if(count<=0){currentCount=this.items.get(item);if(typeof currentCount!=="undefined"){this.size-=currentCount;this.dimension--}this.items.delete(item);return this}count=count||1;currentCount=this.items.get(item);if(typeof currentCount==="number"){this.items.set(item,currentCount+count)}else{this.dimension++;this.items.set(item,count)}this.size+=count;return this};MultiSet.prototype.has=function(item){return this.items.has(item)};MultiSet.prototype.delete=function(item){var count=this.items.get(item);if(count===0)return false;this.size-=count;this.dimension--;this.items.delete(item);return true};MultiSet.prototype.remove=function(item,count){if(count===0)return;if(count<0)return this.add(item,-count);count=count||1;if(typeof count!=="number")throw new Error("mnemonist/multi-set.remove: given count should be a number.");var currentCount=this.items.get(item);if(typeof currentCount==="undefined")return;var newCount=Math.max(0,currentCount-count);if(newCount===0){this.items.delete(item);this.size-=currentCount;this.dimension--}else{this.items.set(item,newCount);this.size-=count}return};MultiSet.prototype.edit=function(a,b){var am=this.multiplicity(a);if(am===0)return;var bm=this.multiplicity(b);this.items.set(b,am+bm);this.items.delete(a);return this};MultiSet.prototype.multiplicity=function(item){var count=this.items.get(item);if(typeof count==="undefined")return 0;return count};MultiSet.prototype.get=MultiSet.prototype.multiplicity;MultiSet.prototype.count=MultiSet.prototype.multiplicity;MultiSet.prototype.frequency=function(item){if(this.size===0)return 0;var count=this.multiplicity(item);return count/this.size};MultiSet.prototype.top=function(n){if(typeof n!=="number"||n<=0)throw new Error("mnemonist/multi-set.top: n must be a number > 0.");var heap=new FixedReverseHeap(Array,MULTISET_ITEM_COMPARATOR,n);var iterator=this.items.entries(),step;while(step=iterator.next(),!step.done)heap.push(step.value);return heap.consume()};MultiSet.prototype.forEach=function(callback,scope){scope=arguments.length>1?scope:this;var i;this.items.forEach(function(multiplicity,value){for(i=0;i<multiplicity;i++)callback.call(scope,value,value)})};MultiSet.prototype.forEachMultiplicity=function(callback,scope){scope=arguments.length>1?scope:this;this.items.forEach(callback,scope)};MultiSet.prototype.keys=function(){return this.items.keys()};MultiSet.prototype.values=function(){var iterator=this.items.entries(),inContainer=false,step,value,multiplicity,i;return new Iterator2(function next(){if(!inContainer){step=iterator.next();if(step.done)return{done:true};inContainer=true;value=step.value[0];multiplicity=step.value[1];i=0}if(i>=multiplicity){inContainer=false;return next()}i++;return{done:false,value}})};MultiSet.prototype.multiplicities=function(){return this.items.entries()};if(typeof Symbol!=="undefined")MultiSet.prototype[Symbol.iterator]=MultiSet.prototype.values;MultiSet.prototype.inspect=function(){return this.items};if(typeof Symbol!=="undefined")MultiSet.prototype[Symbol.for("nodejs.util.inspect.custom")]=MultiSet.prototype.inspect;MultiSet.prototype.toJSON=function(){return this.items};MultiSet.from=function(iterable){var set3=new MultiSet;forEach2(iterable,function(value){set3.add(value)});return set3};MultiSet.isSubset=function(A,B){var iterator=A.multiplicities(),step,key,mA;if(A===B)return true;if(A.dimension>B.dimension)return false;while(step=iterator.next(),!step.done){key=step.value[0];mA=step.value[1];if(B.multiplicity(key)<mA)return false}return true};MultiSet.isSuperset=function(A,B){return MultiSet.isSubset(B,A)};module2.exports=MultiSet}});var require_passjoin_index=__commonJS({"node_modules/mnemonist/passjoin-index.js"(exports2,module2){var Iterator2=require_iterator2();var forEach2=require_foreach();function countSubstringsL(k,s,l){return((Math.pow(k,2)-Math.pow(Math.abs(s-l),2))/2|0)+k+1}function countKeys(k,s){var c=0;for(var l=0,m=s+1;l<m;l++)c+=countSubstringsL(k,s,l);return c}function comparator(a,b){if(a.length>b.length)return-1;if(a.length<b.length)return 1;if(a<b)return-1;if(a>b)return 1;return 0}function partition2(k,l){var m=k+1,a=l/m|0,b=a+1,i,j;var largeSegments=l-a*m,smallSegments=m-largeSegments;var tuples=new Array(k+1);for(i=0;i<smallSegments;i++)tuples[i]=[i*a,a];var offset=(i-1)*a+a;for(j=0;j<largeSegments;j++)tuples[i+j]=[offset+j*b,b];return tuples}function segments(k,string){var l=string.length,m=k+1,a=l/m|0,b=a+1,o,i,j;var largeSegments=l-a*m,smallSegments=m-largeSegments;var S=new Array(k+1);for(i=0;i<smallSegments;i++){o=i*a;S[i]=string.slice(o,o+a)}var offset=(i-1)*a+a;for(j=0;j<largeSegments;j++){o=offset+j*b;S[i+j]=string.slice(o,o+b)}return S}function segmentPos(k,i,string){if(i===0)return 0;var l=string.length;var m=k+1,a=l/m|0,b=a+1;var largeSegments=l-a*m,smallSegments=m-largeSegments;if(i<=smallSegments-1)return i*a;var offset=i-smallSegments;return smallSegments*a+offset*b}function multiMatchAwareInterval(k,delta,i,s,pi,li){var start1=pi-i,end1=pi+i;var o=k-i;var start2=pi+delta-o,end2=pi+delta+o;var end3=s-li;return[Math.max(0,start1,start2),Math.min(end1,end2,end3)]}function multiMatchAwareSubstrings(k,string,l,i,pi,li){var s=string.length;var delta=s-l;var interval=multiMatchAwareInterval(k,delta,i,s,pi,li);var start=interval[0],stop=interval[1];var currentSubstring="";var substrings=[];var substring,j,m;for(j=start,m=stop+1;j<m;j++){substring=string.slice(j,j+li);if(substring===currentSubstring)continue;substrings.push(substring);currentSubstring=substring}return substrings}function PassjoinIndex(levenshtein,k){if(typeof levenshtein!=="function")throw new Error("mnemonist/passjoin-index: `levenshtein` should be a function returning edit distance between two strings.");if(typeof k!=="number"||k<1)throw new Error("mnemonist/passjoin-index: `k` should be a number > 0");this.levenshtein=levenshtein;this.k=k;this.clear()}PassjoinIndex.prototype.clear=function(){this.size=0;this.strings=[];this.invertedIndices={}};PassjoinIndex.prototype.add=function(value){var l=value.length;var stringIndex=this.size;this.strings.push(value);this.size++;var S=segments(this.k,value);var Ll=this.invertedIndices[l];if(typeof Ll==="undefined"){Ll={};this.invertedIndices[l]=Ll}var segment,matches2,key,i,m;for(i=0,m=S.length;i<m;i++){segment=S[i];key=segment+i;matches2=Ll[key];if(typeof matches2==="undefined"){matches2=[stringIndex];Ll[key]=matches2}else{matches2.push(stringIndex)}}return this};PassjoinIndex.prototype.search=function(query){var s=query.length,k=this.k;var M=new Set;var candidates,candidate,queryPos,querySegmentLength,key,S,P,l,m,i,n1,j,n2,y,n3;for(l=Math.max(0,s-k),m=s+k+1;l<m;l++){var Ll=this.invertedIndices[l];if(typeof Ll==="undefined")continue;P=partition2(k,l);for(i=0,n1=P.length;i<n1;i++){queryPos=P[i][0];querySegmentLength=P[i][1];S=multiMatchAwareSubstrings(k,query,l,i,queryPos,querySegmentLength);if(!S.length)S=[""];for(j=0,n2=S.length;j<n2;j++){key=S[j]+i;candidates=Ll[key];if(typeof candidates==="undefined")continue;for(y=0,n3=candidates.length;y<n3;y++){candidate=this.strings[candidates[y]];if(s<=k&&l<=k||!M.has(candidate)&&this.levenshtein(query,candidate)<=k)M.add(candidate)}}}}return M};PassjoinIndex.prototype.forEach=function(callback,scope){scope=arguments.length>1?scope:this;for(var i=0,l=this.strings.length;i<l;i++)callback.call(scope,this.strings[i],i,this)};PassjoinIndex.prototype.values=function(){var strings=this.strings,l=strings.length,i=0;return new Iterator2(function(){if(i>=l)return{done:true};var value=strings[i];i++;return{value,done:false}})};if(typeof Symbol!=="undefined")PassjoinIndex.prototype[Symbol.iterator]=PassjoinIndex.prototype.values;PassjoinIndex.prototype.inspect=function(){var array=this.strings.slice();Object.defineProperty(array,"constructor",{value:PassjoinIndex,enumerable:false});return array};if(typeof Symbol!=="undefined")PassjoinIndex.prototype[Symbol.for("nodejs.util.inspect.custom")]=PassjoinIndex.prototype.inspect;PassjoinIndex.from=function(iterable,levenshtein,k){var index=new PassjoinIndex(levenshtein,k);forEach2(iterable,function(string){index.add(string)});return index};PassjoinIndex.countKeys=countKeys;PassjoinIndex.comparator=comparator;PassjoinIndex.partition=partition2;PassjoinIndex.segments=segments;PassjoinIndex.segmentPos=segmentPos;PassjoinIndex.multiMatchAwareInterval=multiMatchAwareInterval;PassjoinIndex.multiMatchAwareSubstrings=multiMatchAwareSubstrings;module2.exports=PassjoinIndex}});var require_queue=__commonJS({"node_modules/mnemonist/queue.js"(exports2,module2){var Iterator2=require_iterator2();var forEach2=require_foreach();function Queue(){this.clear()}Queue.prototype.clear=function(){this.items=[];this.offset=0;this.size=0};Queue.prototype.enqueue=function(item){this.items.push(item);return++this.size};Queue.prototype.dequeue=function(){if(!this.size)return;var item=this.items[this.offset];if(++this.offset*2>=this.items.length){this.items=this.items.slice(this.offset);this.offset=0}this.size--;return item};Queue.prototype.peek=function(){if(!this.size)return;return this.items[this.offset]};Queue.prototype.forEach=function(callback,scope){scope=arguments.length>1?scope:this;for(var i=this.offset,j=0,l=this.items.length;i<l;i++,j++)callback.call(scope,this.items[i],j,this)};Queue.prototype.toArray=function(){return this.items.slice(this.offset)};Queue.prototype.values=function(){var items=this.items,i=this.offset;return new Iterator2(function(){if(i>=items.length)return{done:true};var value=items[i];i++;return{value,done:false}})};Queue.prototype.entries=function(){var items=this.items,i=this.offset,j=0;return new Iterator2(function(){if(i>=items.length)return{done:true};var value=items[i];i++;return{value:[j++,value],done:false}})};if(typeof Symbol!=="undefined")Queue.prototype[Symbol.iterator]=Queue.prototype.values;Queue.prototype.toString=function(){return this.toArray().join(",")};Queue.prototype.toJSON=function(){return this.toArray()};Queue.prototype.inspect=function(){var array=this.toArray();Object.defineProperty(array,"constructor",{value:Queue,enumerable:false});return array};if(typeof Symbol!=="undefined")Queue.prototype[Symbol.for("nodejs.util.inspect.custom")]=Queue.prototype.inspect;Queue.from=function(iterable){var queue=new Queue;forEach2(iterable,function(value){queue.enqueue(value)});return queue};Queue.of=function(){return Queue.from(arguments)};module2.exports=Queue}});var require_stack=__commonJS({"node_modules/mnemonist/stack.js"(exports2,module2){var Iterator2=require_iterator2();var forEach2=require_foreach();function Stack2(){this.clear()}Stack2.prototype.clear=function(){this.items=[];this.size=0};Stack2.prototype.push=function(item){this.items.push(item);return++this.size};Stack2.prototype.pop=function(){if(this.size===0)return;this.size--;return this.items.pop()};Stack2.prototype.peek=function(){return this.items[this.size-1]};Stack2.prototype.forEach=function(callback,scope){scope=arguments.length>1?scope:this;for(var i=0,l=this.items.length;i<l;i++)callback.call(scope,this.items[l-i-1],i,this)};Stack2.prototype.toArray=function(){var array=new Array(this.size),l=this.size-1,i=this.size;while(i--)array[i]=this.items[l-i];return array};Stack2.prototype.values=function(){var items=this.items,l=items.length,i=0;return new Iterator2(function(){if(i>=l)return{done:true};var value=items[l-i-1];i++;return{value,done:false}})};Stack2.prototype.entries=function(){var items=this.items,l=items.length,i=0;return new Iterator2(function(){if(i>=l)return{done:true};var value=items[l-i-1];return{value:[i++,value],done:false}})};if(typeof Symbol!=="undefined")Stack2.prototype[Symbol.iterator]=Stack2.prototype.values;Stack2.prototype.toString=function(){return this.toArray().join(",")};Stack2.prototype.toJSON=function(){return this.toArray()};Stack2.prototype.inspect=function(){var array=this.toArray();Object.defineProperty(array,"constructor",{value:Stack2,enumerable:false});return array};if(typeof Symbol!=="undefined")Stack2.prototype[Symbol.for("nodejs.util.inspect.custom")]=Stack2.prototype.inspect;Stack2.from=function(iterable){var stack2=new Stack2;forEach2(iterable,function(value){stack2.push(value)});return stack2};Stack2.of=function(){return Stack2.from(arguments)};module2.exports=Stack2}});var require_set=__commonJS({"node_modules/mnemonist/set.js"(exports2){exports2.intersection=function(){if(arguments.length<2)throw new Error("mnemonist/Set.intersection: needs at least two arguments.");var I=new Set;var smallestSize=Infinity,smallestSet=null;var s,i,l=arguments.length;for(i=0;i<l;i++){s=arguments[i];if(s.size===0)return I;if(s.size<smallestSize){smallestSize=s.size;smallestSet=s}}var iterator=smallestSet.values(),step,item,add2,set3;while(step=iterator.next(),!step.done){item=step.value;add2=true;for(i=0;i<l;i++){set3=arguments[i];if(set3===smallestSet)continue;if(!set3.has(item)){add2=false;break}}if(add2)I.add(item)}return I};exports2.union=function(){if(arguments.length<2)throw new Error("mnemonist/Set.union: needs at least two arguments.");var U=new Set;var i,l=arguments.length;var iterator,step;for(i=0;i<l;i++){iterator=arguments[i].values();while(step=iterator.next(),!step.done)U.add(step.value)}return U};exports2.difference=function(A,B){if(!A.size)return new Set;if(!B.size)return new Set(A);var D=new Set;var iterator=A.values(),step;while(step=iterator.next(),!step.done){if(!B.has(step.value))D.add(step.value)}return D};exports2.symmetricDifference=function(A,B){var S=new Set;var iterator=A.values(),step;while(step=iterator.next(),!step.done){if(!B.has(step.value))S.add(step.value)}iterator=B.values();while(step=iterator.next(),!step.done){if(!A.has(step.value))S.add(step.value)}return S};exports2.isSubset=function(A,B){var iterator=A.values(),step;if(A===B)return true;if(A.size>B.size)return false;while(step=iterator.next(),!step.done){if(!B.has(step.value))return false}return true};exports2.isSuperset=function(A,B){return exports2.isSubset(B,A)};exports2.add=function(A,B){var iterator=B.values(),step;while(step=iterator.next(),!step.done)A.add(step.value);return};exports2.subtract=function(A,B){var iterator=B.values(),step;while(step=iterator.next(),!step.done)A.delete(step.value);return};exports2.intersect=function(A,B){var iterator=A.values(),step;while(step=iterator.next(),!step.done){if(!B.has(step.value))A.delete(step.value)}return};exports2.disjunct=function(A,B){var iterator=A.values(),step;var toRemove=[];while(step=iterator.next(),!step.done){if(B.has(step.value))toRemove.push(step.value)}iterator=B.values();while(step=iterator.next(),!step.done){if(!A.has(step.value))A.add(step.value)}for(var i=0,l=toRemove.length;i<l;i++)A.delete(toRemove[i]);return};exports2.intersectionSize=function(A,B){var tmp;if(A.size>B.size){tmp=A;A=B;B=tmp}if(A.size===0)return 0;if(A===B)return A.size;var iterator=A.values(),step;var I=0;while(step=iterator.next(),!step.done){if(B.has(step.value))I++}return I};exports2.unionSize=function(A,B){var I=exports2.intersectionSize(A,B);return A.size+B.size-I};exports2.jaccard=function(A,B){var I=exports2.intersectionSize(A,B);if(I===0)return 0;var U=A.size+B.size-I;return I/U};exports2.overlap=function(A,B){var I=exports2.intersectionSize(A,B);if(I===0)return 0;return I/Math.min(A.size,B.size)}}});var require_sparse_queue_set=__commonJS({"node_modules/mnemonist/sparse-queue-set.js"(exports2,module2){var Iterator2=require_iterator2();var getPointerArray=require_typed_arrays().getPointerArray;function SparseQueueSet(capacity){var ByteArray=getPointerArray(capacity);this.start=0;this.size=0;this.capacity=capacity;this.dense=new ByteArray(capacity);this.sparse=new ByteArray(capacity)}SparseQueueSet.prototype.clear=function(){this.start=0;this.size=0};SparseQueueSet.prototype.has=function(member){if(this.size===0)return false;var index=this.sparse[member];var inBounds=index<this.capacity&&(index>=this.start&&index<this.start+this.size)||index<(this.start+this.size)%this.capacity;return inBounds&&this.dense[index]===member};SparseQueueSet.prototype.enqueue=function(member){var index=this.sparse[member];if(this.size!==0){var inBounds=index<this.capacity&&(index>=this.start&&index<this.start+this.size)||index<(this.start+this.size)%this.capacity;if(inBounds&&this.dense[index]===member)return this}index=(this.start+this.size)%this.capacity;this.dense[index]=member;this.sparse[member]=index;this.size++;return this};SparseQueueSet.prototype.dequeue=function(){if(this.size===0)return;var index=this.start;this.size--;this.start++;if(this.start===this.capacity)this.start=0;var member=this.dense[index];this.sparse[member]=this.capacity;return member};SparseQueueSet.prototype.forEach=function(callback,scope){scope=arguments.length>1?scope:this;var c=this.capacity,l=this.size,i=this.start,j=0;while(j<l){callback.call(scope,this.dense[i],j,this);i++;j++;if(i===c)i=0}};SparseQueueSet.prototype.values=function(){var dense=this.dense,c=this.capacity,l=this.size,i=this.start,j=0;return new Iterator2(function(){if(j>=l)return{done:true};var value=dense[i];i++;j++;if(i===c)i=0;return{value,done:false}})};if(typeof Symbol!=="undefined")SparseQueueSet.prototype[Symbol.iterator]=SparseQueueSet.prototype.values;SparseQueueSet.prototype.inspect=function(){var proxy=[];this.forEach(function(member){proxy.push(member)});Object.defineProperty(proxy,"constructor",{value:SparseQueueSet,enumerable:false});proxy.capacity=this.capacity;return proxy};if(typeof Symbol!=="undefined")SparseQueueSet.prototype[Symbol.for("nodejs.util.inspect.custom")]=SparseQueueSet.prototype.inspect;module2.exports=SparseQueueSet}});var require_sparse_map=__commonJS({"node_modules/mnemonist/sparse-map.js"(exports2,module2){var Iterator2=require_iterator2();var getPointerArray=require_typed_arrays().getPointerArray;function SparseMap(Values,length){if(arguments.length<2){length=Values;Values=Array}var ByteArray=getPointerArray(length);this.size=0;this.length=length;this.dense=new ByteArray(length);this.sparse=new ByteArray(length);this.vals=new Values(length)}SparseMap.prototype.clear=function(){this.size=0};SparseMap.prototype.has=function(member){var index=this.sparse[member];return index<this.size&&this.dense[index]===member};SparseMap.prototype.get=function(member){var index=this.sparse[member];if(index<this.size&&this.dense[index]===member)return this.vals[index];return};SparseMap.prototype.set=function(member,value){var index=this.sparse[member];if(index<this.size&&this.dense[index]===member){this.vals[index]=value;return this}this.dense[this.size]=member;this.sparse[member]=this.size;this.vals[this.size]=value;this.size++;return this};SparseMap.prototype.delete=function(member){var index=this.sparse[member];if(index>=this.size||this.dense[index]!==member)return false;index=this.dense[this.size-1];this.dense[this.sparse[member]]=index;this.sparse[index]=this.sparse[member];this.size--;return true};SparseMap.prototype.forEach=function(callback,scope){scope=arguments.length>1?scope:this;for(var i=0;i<this.size;i++)callback.call(scope,this.vals[i],this.dense[i])};SparseMap.prototype.keys=function(){var size2=this.size,dense=this.dense,i=0;return new Iterator2(function(){if(i<size2){var item=dense[i];i++;return{value:item}}return{done:true}})};SparseMap.prototype.values=function(){var size2=this.size,values2=this.vals,i=0;return new Iterator2(function(){if(i<size2){var item=values2[i];i++;return{value:item}}return{done:true}})};SparseMap.prototype.entries=function(){var size2=this.size,dense=this.dense,values2=this.vals,i=0;return new Iterator2(function(){if(i<size2){var item=[dense[i],values2[i]];i++;return{value:item}}return{done:true}})};if(typeof Symbol!=="undefined")SparseMap.prototype[Symbol.iterator]=SparseMap.prototype.entries;SparseMap.prototype.inspect=function(){var proxy=new Map;for(var i=0;i<this.size;i++)proxy.set(this.dense[i],this.vals[i]);Object.defineProperty(proxy,"constructor",{value:SparseMap,enumerable:false});proxy.length=this.length;if(this.vals.constructor!==Array)proxy.type=this.vals.constructor.name;return proxy};if(typeof Symbol!=="undefined")SparseMap.prototype[Symbol.for("nodejs.util.inspect.custom")]=SparseMap.prototype.inspect;module2.exports=SparseMap}});var require_sparse_set=__commonJS({"node_modules/mnemonist/sparse-set.js"(exports2,module2){var Iterator2=require_iterator2();var getPointerArray=require_typed_arrays().getPointerArray;function SparseSet(length){var ByteArray=getPointerArray(length);this.size=0;this.length=length;this.dense=new ByteArray(length);this.sparse=new ByteArray(length)}SparseSet.prototype.clear=function(){this.size=0};SparseSet.prototype.has=function(member){var index=this.sparse[member];return index<this.size&&this.dense[index]===member};SparseSet.prototype.add=function(member){var index=this.sparse[member];if(index<this.size&&this.dense[index]===member)return this;this.dense[this.size]=member;this.sparse[member]=this.size;this.size++;return this};SparseSet.prototype.delete=function(member){var index=this.sparse[member];if(index>=this.size||this.dense[index]!==member)return false;index=this.dense[this.size-1];this.dense[this.sparse[member]]=index;this.sparse[index]=this.sparse[member];this.size--;return true};SparseSet.prototype.forEach=function(callback,scope){scope=arguments.length>1?scope:this;var item;for(var i=0;i<this.size;i++){item=this.dense[i];callback.call(scope,item,item)}};SparseSet.prototype.values=function(){var size2=this.size,dense=this.dense,i=0;return new Iterator2(function(){if(i<size2){var item=dense[i];i++;return{value:item}}return{done:true}})};if(typeof Symbol!=="undefined")SparseSet.prototype[Symbol.iterator]=SparseSet.prototype.values;SparseSet.prototype.inspect=function(){var proxy=new Set;for(var i=0;i<this.size;i++)proxy.add(this.dense[i]);Object.defineProperty(proxy,"constructor",{value:SparseSet,enumerable:false});proxy.length=this.length;return proxy};if(typeof Symbol!=="undefined")SparseSet.prototype[Symbol.for("nodejs.util.inspect.custom")]=SparseSet.prototype.inspect;module2.exports=SparseSet}});var require_symspell=__commonJS({"node_modules/mnemonist/symspell.js"(exports2,module2){var forEach2=require_foreach();var DEFAULT_MAX_DISTANCE=2;var DEFAULT_VERBOSITY=2;var VERBOSITY=new Set([0,1,2]);var VERBOSITY_EXPLANATIONS={0:"Returns only the top suggestion",1:"Returns suggestions with the smallest edit distance",2:"Returns every suggestion (no early termination)"};function createDictionaryItem(value){var suggestions=new Set;if(typeof value==="number")suggestions.add(value);return{suggestions,count:0}}function createSuggestionItem(term,distance,count){return{term:term||"",distance:distance||0,count:count||0}}function edits(word,distance,max3,deletes){deletes=deletes||new Set;distance++;var deletedItem,l=word.length,i;if(l>1){for(i=0;i<l;i++){deletedItem=word.substring(0,i)+word.substring(i+1);if(!deletes.has(deletedItem)){deletes.add(deletedItem);if(distance<max3)edits(deletedItem,distance,max3,deletes)}}}return deletes}function addLowestDistance(words2,verbosity,item,suggestion,int2,deletedItem){var first=item.suggestions.values().next().value;if(verbosity<2&&item.suggestions.size>0&&words2[first].length-deletedItem.length>suggestion.length-deletedItem.length){item.suggestions=new Set;item.count=0}if(verbosity===2||!item.suggestions.size||words2[first].length-deletedItem.length>=suggestion.length-deletedItem.length){item.suggestions.add(int2)}}function damerauLevenshtein(source,target){var m=source.length,n=target.length,H=[[]],INF=m+n,sd=new Map,i,l,j;H[0][0]=INF;for(i=0;i<=m;i++){if(!H[i+1])H[i+1]=[];H[i+1][1]=i;H[i+1][0]=INF}for(j=0;j<=n;j++){H[1][j+1]=j;H[0][j+1]=INF}var st=source+target,letter;for(i=0,l=st.length;i<l;i++){letter=st[i];if(!sd.has(letter))sd.set(letter,0)}for(i=1;i<=m;i++){var DB=0;for(j=1;j<=n;j++){var i1=sd.get(target[j-1]),j1=DB;if(source[i-1]===target[j-1]){H[i+1][j+1]=H[i][j];DB=j}else{H[i+1][j+1]=Math.min(H[i][j],H[i+1][j],H[i][j+1])+1}H[i+1][j+1]=Math.min(H[i+1][j+1],H[i1][j1]+(i-i1-1)+1+(j-j1-1))}sd.set(source[i-1],i)}return H[m+1][n+1]}function lookup(dictionary,words2,verbosity,maxDistance,maxLength,input){var length=input.length;if(length-maxDistance>maxLength)return[];var candidates=[input],candidateSet=new Set,suggestionSet=new Set;var suggestions=[],candidate,item;while(candidates.length>0){candidate=candidates.shift();if(verbosity<2&&suggestions.length>0&&length-candidate.length>suggestions[0].distance)break;item=dictionary[candidate];if(item!==void 0){if(typeof item==="number")item=createDictionaryItem(item);if(item.count>0&&!suggestionSet.has(candidate)){suggestionSet.add(candidate);var suggestItem=createSuggestionItem(candidate,length-candidate.length,item.count);suggestions.push(suggestItem);if(verbosity<2&&length-candidate.length===0)break}item.suggestions.forEach(index=>{var suggestion=words2[index];if(suggestionSet.has(suggestion))return;suggestionSet.add(suggestion);var distance=0;if(input!==suggestion){if(suggestion.length===candidate.length){distance=length-candidate.length}else if(length===candidate.length){distance=suggestion.length-candidate.length}else{var ii=0,jj=0;var l2=suggestion.length;while(ii<l2&&ii<length&&suggestion[ii]===input[ii]){ii++}while(jj<l2-ii&&jj<length&&suggestion[l2-jj-1]===input[length-jj-1]){jj++}if(ii>0||jj>0){distance=damerauLevenshtein(suggestion.substr(ii,l2-ii-jj),input.substr(ii,length-ii-jj))}else{distance=damerauLevenshtein(suggestion,input)}}}if(verbosity<2&&suggestions.length>0&&suggestions[0].distance>distance){suggestions=[]}if(verbosity<2&&suggestions.length>0&&distance>suggestions[0].distance){return}if(distance<=maxDistance){var target=dictionary[suggestion];if(target!==void 0){suggestions.push(createSuggestionItem(suggestion,distance,target.count))}}})}if(length-candidate.length<maxDistance){if(verbosity<2&&suggestions.length>0&&length-candidate.length>=suggestions[0].distance)continue;for(var i=0,l=candidate.length;i<l;i++){var deletedItem=candidate.substring(0,i)+candidate.substring(i+1);if(!candidateSet.has(deletedItem)){candidateSet.add(deletedItem);candidates.push(deletedItem)}}}}if(verbosity===0)return suggestions.slice(0,1);return suggestions}function SymSpell(options){options=options||{};this.clear();this.maxDistance=typeof options.maxDistance==="number"?options.maxDistance:DEFAULT_MAX_DISTANCE;this.verbosity=typeof options.verbosity==="number"?options.verbosity:DEFAULT_VERBOSITY;if(typeof this.maxDistance!=="number"||this.maxDistance<=0)throw Error("mnemonist/SymSpell.constructor: invalid `maxDistance` option. Should be a integer greater than 0.");if(!VERBOSITY.has(this.verbosity))throw Error("mnemonist/SymSpell.constructor: invalid `verbosity` option. Should be either 0, 1 or 2.")}SymSpell.prototype.clear=function(){this.size=0;this.dictionary=Object.create(null);this.maxLength=0;this.words=[]};SymSpell.prototype.add=function(word){var item=this.dictionary[word];if(item!==void 0){if(typeof item==="number"){item=createDictionaryItem(item);this.dictionary[word]=item}item.count++}else{item=createDictionaryItem();item.count++;this.dictionary[word]=item;if(word.length>this.maxLength)this.maxLength=word.length}if(item.count===1){var number2=this.words.length;this.words.push(word);var deletes=edits(word,0,this.maxDistance);deletes.forEach(deletedItem=>{var target=this.dictionary[deletedItem];if(target!==void 0){if(typeof target==="number"){target=createDictionaryItem(target);this.dictionary[deletedItem]=target}if(!target.suggestions.has(number2)){addLowestDistance(this.words,this.verbosity,target,word,number2,deletedItem)}}else{this.dictionary[deletedItem]=number2}})}this.size++;return this};SymSpell.prototype.search=function(input){return lookup(this.dictionary,this.words,this.verbosity,this.maxDistance,this.maxLength,input)};SymSpell.prototype.inspect=function(){var array=[];array.size=this.size;array.maxDistance=this.maxDistance;array.verbosity=this.verbosity;array.behavior=VERBOSITY_EXPLANATIONS[this.verbosity];for(var k in this.dictionary){if(typeof this.dictionary[k]==="object"&&this.dictionary[k].count)array.push([k,this.dictionary[k].count])}Object.defineProperty(array,"constructor",{value:SymSpell,enumerable:false});return array};if(typeof Symbol!=="undefined")SymSpell.prototype[Symbol.for("nodejs.util.inspect.custom")]=SymSpell.prototype.inspect;SymSpell.from=function(iterable,options){var index=new SymSpell(options);forEach2(iterable,function(value){index.add(value)});return index};module2.exports=SymSpell}});var require_trie_map=__commonJS({"node_modules/mnemonist/trie-map.js"(exports2,module2){var forEach2=require_foreach();var Iterator2=require_iterator2();var SENTINEL=String.fromCharCode(0);function TrieMap(Token){this.mode=Token===Array?"array":"string";this.clear()}TrieMap.prototype.clear=function(){this.root={};this.size=0};TrieMap.prototype.set=function(prefix,value){var node=this.root,token3;for(var i=0,l=prefix.length;i<l;i++){token3=prefix[i];node=node[token3]||(node[token3]={})}if(!(SENTINEL in node))this.size++;node[SENTINEL]=value;return this};TrieMap.prototype.update=function(prefix,updateFunction){var node=this.root,token3;for(var i=0,l=prefix.length;i<l;i++){token3=prefix[i];node=node[token3]||(node[token3]={})}if(!(SENTINEL in node))this.size++;node[SENTINEL]=updateFunction(node[SENTINEL]);return this};TrieMap.prototype.get=function(prefix){var node=this.root,token3,i,l;for(i=0,l=prefix.length;i<l;i++){token3=prefix[i];node=node[token3];if(typeof node==="undefined")return}if(!(SENTINEL in node))return;return node[SENTINEL]};TrieMap.prototype.delete=function(prefix){var node=this.root,toPrune=null,tokenToPrune=null,parent2,token3,i,l;for(i=0,l=prefix.length;i<l;i++){token3=prefix[i];parent2=node;node=node[token3];if(typeof node==="undefined")return false;if(toPrune!==null){if(Object.keys(node).length>1){toPrune=null;tokenToPrune=null}}else{if(Object.keys(node).length<2){toPrune=parent2;tokenToPrune=token3}}}if(!(SENTINEL in node))return false;this.size--;if(toPrune)delete toPrune[tokenToPrune];else delete node[SENTINEL];return true};TrieMap.prototype.has=function(prefix){var node=this.root,token3;for(var i=0,l=prefix.length;i<l;i++){token3=prefix[i];node=node[token3];if(typeof node==="undefined")return false}return SENTINEL in node};TrieMap.prototype.find=function(prefix){var isString4=typeof prefix==="string";var node=this.root,matches2=[],token3,i,l;for(i=0,l=prefix.length;i<l;i++){token3=prefix[i];node=node[token3];if(typeof node==="undefined")return matches2}var nodeStack=[node],prefixStack=[prefix],k;while(nodeStack.length){prefix=prefixStack.pop();node=nodeStack.pop();for(k in node){if(k===SENTINEL){matches2.push([prefix,node[SENTINEL]]);continue}nodeStack.push(node[k]);prefixStack.push(isString4?prefix+k:prefix.concat(k))}}return matches2};TrieMap.prototype.values=function(prefix){var node=this.root,nodeStack=[],token3,i,l;if(prefix){for(i=0,l=prefix.length;i<l;i++){token3=prefix[i];node=node[token3];if(typeof node==="undefined")return Iterator2.empty()}}nodeStack.push(node);return new Iterator2(function(){var currentNode,hasValue=false,k;while(nodeStack.length){currentNode=nodeStack.pop();for(k in currentNode){if(k===SENTINEL){hasValue=true;continue}nodeStack.push(currentNode[k])}if(hasValue)return{done:false,value:currentNode[SENTINEL]}}return{done:true}})};TrieMap.prototype.prefixes=function(prefix){var node=this.root,nodeStack=[],prefixStack=[],token3,i,l;var isString4=this.mode==="string";if(prefix){for(i=0,l=prefix.length;i<l;i++){token3=prefix[i];node=node[token3];if(typeof node==="undefined")return Iterator2.empty()}}else{prefix=isString4?"":[]}nodeStack.push(node);prefixStack.push(prefix);return new Iterator2(function(){var currentNode,currentPrefix,hasValue=false,k;while(nodeStack.length){currentNode=nodeStack.pop();currentPrefix=prefixStack.pop();for(k in currentNode){if(k===SENTINEL){hasValue=true;continue}nodeStack.push(currentNode[k]);prefixStack.push(isString4?currentPrefix+k:currentPrefix.concat(k))}if(hasValue)return{done:false,value:currentPrefix}}return{done:true}})};TrieMap.prototype.keys=TrieMap.prototype.prefixes;TrieMap.prototype.entries=function(prefix){var node=this.root,nodeStack=[],prefixStack=[],token3,i,l;var isString4=this.mode==="string";if(prefix){for(i=0,l=prefix.length;i<l;i++){token3=prefix[i];node=node[token3];if(typeof node==="undefined")return Iterator2.empty()}}else{prefix=isString4?"":[]}nodeStack.push(node);prefixStack.push(prefix);return new Iterator2(function(){var currentNode,currentPrefix,hasValue=false,k;while(nodeStack.length){currentNode=nodeStack.pop();currentPrefix=prefixStack.pop();for(k in currentNode){if(k===SENTINEL){hasValue=true;continue}nodeStack.push(currentNode[k]);prefixStack.push(isString4?currentPrefix+k:currentPrefix.concat(k))}if(hasValue)return{done:false,value:[currentPrefix,currentNode[SENTINEL]]}}return{done:true}})};if(typeof Symbol!=="undefined")TrieMap.prototype[Symbol.iterator]=TrieMap.prototype.entries;TrieMap.prototype.inspect=function(){var proxy=new Array(this.size);var iterator=this.entries(),step,i=0;while(step=iterator.next(),!step.done)proxy[i++]=step.value;Object.defineProperty(proxy,"constructor",{value:TrieMap,enumerable:false});return proxy};if(typeof Symbol!=="undefined")TrieMap.prototype[Symbol.for("nodejs.util.inspect.custom")]=TrieMap.prototype.inspect;TrieMap.prototype.toJSON=function(){return this.root};TrieMap.from=function(iterable){var trie=new TrieMap;forEach2(iterable,function(value,key){trie.set(key,value)});return trie};TrieMap.SENTINEL=SENTINEL;module2.exports=TrieMap}});var require_trie=__commonJS({"node_modules/mnemonist/trie.js"(exports2,module2){var forEach2=require_foreach();var TrieMap=require_trie_map();var SENTINEL=String.fromCharCode(0);function Trie(Token){this.mode=Token===Array?"array":"string";this.clear()}for(methodName in TrieMap.prototype)Trie.prototype[methodName]=TrieMap.prototype[methodName];var methodName;delete Trie.prototype.set;delete Trie.prototype.get;delete Trie.prototype.values;delete Trie.prototype.entries;Trie.prototype.add=function(prefix){var node=this.root,token3;for(var i=0,l=prefix.length;i<l;i++){token3=prefix[i];node=node[token3]||(node[token3]={})}if(!(SENTINEL in node))this.size++;node[SENTINEL]=true;return this};Trie.prototype.find=function(prefix){var isString4=typeof prefix==="string";var node=this.root,matches2=[],token3,i,l;for(i=0,l=prefix.length;i<l;i++){token3=prefix[i];node=node[token3];if(typeof node==="undefined")return matches2}var nodeStack=[node],prefixStack=[prefix],k;while(nodeStack.length){prefix=prefixStack.pop();node=nodeStack.pop();for(k in node){if(k===SENTINEL){matches2.push(prefix);continue}nodeStack.push(node[k]);prefixStack.push(isString4?prefix+k:prefix.concat(k))}}return matches2};if(typeof Symbol!=="undefined")Trie.prototype[Symbol.iterator]=Trie.prototype.keys;Trie.prototype.inspect=function(){var proxy=new Set;var iterator=this.keys(),step;while(step=iterator.next(),!step.done)proxy.add(step.value);Object.defineProperty(proxy,"constructor",{value:Trie,enumerable:false});return proxy};if(typeof Symbol!=="undefined")Trie.prototype[Symbol.for("nodejs.util.inspect.custom")]=Trie.prototype.inspect;Trie.prototype.toJSON=function(){return this.root};Trie.from=function(iterable){var trie=new Trie;forEach2(iterable,function(value){trie.add(value)});return trie};Trie.SENTINEL=SENTINEL;module2.exports=Trie}});var require_vector=__commonJS({"node_modules/mnemonist/vector.js"(exports2,module2){var Iterator2=require_iterator2();var forEach2=require_foreach();var iterables=require_iterables();var typed=require_typed_arrays();var DEFAULT_GROWING_POLICY=function(currentCapacity){return Math.max(1,Math.ceil(currentCapacity*1.5))};var pointerArrayFactory=function(capacity){var PointerArray=typed.getPointerArray(capacity);return new PointerArray(capacity)};function Vector(ArrayClass,initialCapacityOrOptions){if(arguments.length<1)throw new Error("mnemonist/vector: expecting at least a byte array constructor.");var initialCapacity=initialCapacityOrOptions||0,policy=DEFAULT_GROWING_POLICY,initialLength=0,factory=false;if(typeof initialCapacityOrOptions==="object"){initialCapacity=initialCapacityOrOptions.initialCapacity||0;initialLength=initialCapacityOrOptions.initialLength||0;policy=initialCapacityOrOptions.policy||policy;factory=initialCapacityOrOptions.factory===true}this.factory=factory?ArrayClass:null;this.ArrayClass=ArrayClass;this.length=initialLength;this.capacity=Math.max(initialLength,initialCapacity);this.policy=policy;this.array=new ArrayClass(this.capacity)}Vector.prototype.set=function(index,value){if(this.length<index)throw new Error("Vector("+this.ArrayClass.name+").set: index out of bounds.");this.array[index]=value;return this};Vector.prototype.get=function(index){if(this.length<index)return void 0;return this.array[index]};Vector.prototype.applyPolicy=function(override){var newCapacity=this.policy(override||this.capacity);if(typeof newCapacity!=="number"||newCapacity<0)throw new Error("mnemonist/vector.applyPolicy: policy returned an invalid value (expecting a positive integer).");if(newCapacity<=this.capacity)throw new Error("mnemonist/vector.applyPolicy: policy returned a less or equal capacity to allocate.");return newCapacity};Vector.prototype.reallocate=function(capacity){if(capacity===this.capacity)return this;var oldArray=this.array;if(capacity<this.length)this.length=capacity;if(capacity>this.capacity){if(this.factory===null)this.array=new this.ArrayClass(capacity);else this.array=this.factory(capacity);if(typed.isTypedArray(this.array)){this.array.set(oldArray,0)}else{for(var i=0,l=this.length;i<l;i++)this.array[i]=oldArray[i]}}else{this.array=oldArray.slice(0,capacity)}this.capacity=capacity;return this};Vector.prototype.grow=function(capacity){var newCapacity;if(typeof capacity==="number"){if(this.capacity>=capacity)return this;newCapacity=this.capacity;while(newCapacity<capacity)newCapacity=this.applyPolicy(newCapacity);this.reallocate(newCapacity);return this}newCapacity=this.applyPolicy();this.reallocate(newCapacity);return this};Vector.prototype.resize=function(length){if(length===this.length)return this;if(length<this.length){this.length=length;return this}this.length=length;this.reallocate(length);return this};Vector.prototype.push=function(value){if(this.capacity===this.length)this.grow();this.array[this.length++]=value;return this.length};Vector.prototype.pop=function(){if(this.length===0)return;return this.array[--this.length]};Vector.prototype.values=function(){var items=this.array,l=this.length,i=0;return new Iterator2(function(){if(i>=l)return{done:true};var value=items[i];i++;return{value,done:false}})};Vector.prototype.entries=function(){var items=this.array,l=this.length,i=0;return new Iterator2(function(){if(i>=l)return{done:true};var value=items[i];return{value:[i++,value],done:false}})};if(typeof Symbol!=="undefined")Vector.prototype[Symbol.iterator]=Vector.prototype.values;Vector.prototype.inspect=function(){var proxy=this.array.slice(0,this.length);proxy.type=this.array.constructor.name;proxy.items=this.length;proxy.capacity=this.capacity;Object.defineProperty(proxy,"constructor",{value:Vector,enumerable:false});return proxy};if(typeof Symbol!=="undefined")Vector.prototype[Symbol.for("nodejs.util.inspect.custom")]=Vector.prototype.inspect;Vector.from=function(iterable,ArrayClass,capacity){if(arguments.length<3){capacity=iterables.guessLength(iterable);if(typeof capacity!=="number")throw new Error("mnemonist/vector.from: could not guess iterable length. Please provide desired capacity as last argument.")}var vector=new Vector(ArrayClass,capacity);forEach2(iterable,function(value){vector.push(value)});return vector};function subClass(ArrayClass){var SubClass=function(initialCapacityOrOptions){Vector.call(this,ArrayClass,initialCapacityOrOptions)};for(var k in Vector.prototype){if(Vector.prototype.hasOwnProperty(k))SubClass.prototype[k]=Vector.prototype[k]}SubClass.from=function(iterable,capacity){return Vector.from(iterable,ArrayClass,capacity)};if(typeof Symbol!=="undefined")SubClass.prototype[Symbol.iterator]=SubClass.prototype.values;return SubClass}Vector.Int8Vector=subClass(Int8Array);Vector.Uint8Vector=subClass(Uint8Array);Vector.Uint8ClampedVector=subClass(Uint8ClampedArray);Vector.Int16Vector=subClass(Int16Array);Vector.Uint16Vector=subClass(Uint16Array);Vector.Int32Vector=subClass(Int32Array);Vector.Uint32Vector=subClass(Uint32Array);Vector.Float32Vector=subClass(Float32Array);Vector.Float64Vector=subClass(Float64Array);Vector.PointerVector=subClass(pointerArrayFactory);module2.exports=Vector}});var require_vp_tree=__commonJS({"node_modules/mnemonist/vp-tree.js"(exports2,module2){var iterables=require_iterables();var typed=require_typed_arrays();var inplaceQuickSortIndices=require_quick().inplaceQuickSortIndices;var lowerBoundIndices=require_binary_search2().lowerBoundIndices;var Heap=require_heap();var getPointerArray=typed.getPointerArray;function comparator(a,b){if(a.distance<b.distance)return 1;if(a.distance>b.distance)return-1;return 0}function createBinaryTree(distance,items,indices){var N=indices.length;var PointerArray=getPointerArray(N);var C=0,nodes=new PointerArray(N),lefts=new PointerArray(N),rights=new PointerArray(N),mus=new Float64Array(N),stack2=[0,0,N],distances=new Float64Array(N),nodeIndex,vantagePoint,medianIndex2,lo,hi,mid,mu,i,l;while(stack2.length){hi=stack2.pop();lo=stack2.pop();nodeIndex=stack2.pop();vantagePoint=indices[hi-1];hi--;l=hi-lo;nodes[nodeIndex]=vantagePoint;if(l===0)continue;if(l===1){mu=distance(items[vantagePoint],items[indices[lo]]);mus[nodeIndex]=mu;C++;rights[nodeIndex]=C;nodes[C]=indices[lo];continue}for(i=lo;i<hi;i++)distances[indices[i]]=distance(items[vantagePoint],items[indices[i]]);inplaceQuickSortIndices(distances,indices,lo,hi);medianIndex2=lo+l/2-1;if(medianIndex2===(medianIndex2|0)){mu=(distances[indices[medianIndex2]]+distances[indices[medianIndex2+1]])/2}else{mu=distances[indices[Math.ceil(medianIndex2)]]}mus[nodeIndex]=mu;mid=lowerBoundIndices(distances,indices,mu,lo,hi);if(hi-mid>0){C++;rights[nodeIndex]=C;stack2.push(C,mid,hi)}if(mid-lo>0){C++;lefts[nodeIndex]=C;stack2.push(C,lo,mid)}}return{nodes,lefts,rights,mus}}function VPTree(distance,items){if(typeof distance!=="function")throw new Error("mnemonist/VPTree.constructor: given `distance` must be a function.");if(!items)throw new Error("mnemonist/VPTree.constructor: you must provide items to the tree. A VPTree cannot be updated after its creation.");this.distance=distance;this.heap=new Heap(comparator);this.D=0;var arrays=iterables.toArrayWithIndices(items);this.items=arrays[0];var indices=arrays[1];this.size=indices.length;var result2=createBinaryTree(distance,this.items,indices);this.nodes=result2.nodes;this.lefts=result2.lefts;this.rights=result2.rights;this.mus=result2.mus}VPTree.prototype.nearestNeighbors=function(k,query){var neighbors=this.heap,stack2=[0],tau=Infinity,nodeIndex,itemIndex,vantagePoint,leftIndex,rightIndex,mu,d;this.D=0;while(stack2.length){nodeIndex=stack2.pop();itemIndex=this.nodes[nodeIndex];vantagePoint=this.items[itemIndex];d=this.distance(vantagePoint,query);this.D++;if(d<tau){neighbors.push({distance:d,item:vantagePoint});if(neighbors.size>k)neighbors.pop();if(neighbors.size>=k)tau=neighbors.peek().distance}leftIndex=this.lefts[nodeIndex];rightIndex=this.rights[nodeIndex];if(!leftIndex&&!rightIndex)continue;mu=this.mus[nodeIndex];if(d<mu){if(leftIndex&&d<mu+tau)stack2.push(leftIndex);if(rightIndex&&d>=mu-tau)stack2.push(rightIndex)}else{if(rightIndex&&d>=mu-tau)stack2.push(rightIndex);if(leftIndex&&d<mu+tau)stack2.push(leftIndex)}}var array=new Array(neighbors.size);for(var i=neighbors.size-1;i>=0;i--)array[i]=neighbors.pop();return array};VPTree.prototype.neighbors=function(radius,query){var neighbors=[],stack2=[0],nodeIndex,itemIndex,vantagePoint,leftIndex,rightIndex,mu,d;this.D=0;while(stack2.length){nodeIndex=stack2.pop();itemIndex=this.nodes[nodeIndex];vantagePoint=this.items[itemIndex];d=this.distance(vantagePoint,query);this.D++;if(d<=radius)neighbors.push({distance:d,item:vantagePoint});leftIndex=this.lefts[nodeIndex];rightIndex=this.rights[nodeIndex];if(!leftIndex&&!rightIndex)continue;mu=this.mus[nodeIndex];if(d<mu){if(leftIndex&&d<mu+radius)stack2.push(leftIndex);if(rightIndex&&d>=mu-radius)stack2.push(rightIndex)}else{if(rightIndex&&d>=mu-radius)stack2.push(rightIndex);if(leftIndex&&d<mu+radius)stack2.push(leftIndex)}}return neighbors};VPTree.prototype.inspect=function(){var array=this.items.slice();Object.defineProperty(array,"constructor",{value:VPTree,enumerable:false});return array};if(typeof Symbol!=="undefined")VPTree.prototype[Symbol.for("nodejs.util.inspect.custom")]=VPTree.prototype.inspect;VPTree.from=function(iterable,distance){return new VPTree(distance,iterable)};module2.exports=VPTree}});var require_mnemonist=__commonJS({"node_modules/mnemonist/index.js"(exports2,module2){var Heap=require_heap();var FibonacciHeap=require_fibonacci_heap();var SuffixArray=require_suffix_array();module2.exports={BiMap:require_bi_map(),BitSet:require_bit_set(),BitVector:require_bit_vector(),BloomFilter:require_bloom_filter(),BKTree:require_bk_tree(),CircularBuffer:require_circular_buffer(),DefaultMap:require_default_map(),DefaultWeakMap:require_default_weak_map(),FixedDeque:require_fixed_deque(),StaticDisjointSet:require_static_disjoint_set(),FibonacciHeap,MinFibonacciHeap:FibonacciHeap.MinFibonacciHeap,MaxFibonacciHeap:FibonacciHeap.MaxFibonacciHeap,FixedReverseHeap:require_fixed_reverse_heap(),FuzzyMap:require_fuzzy_map(),FuzzyMultiMap:require_fuzzy_multi_map(),HashedArrayTree:require_hashed_array_tree(),Heap,MinHeap:Heap.MinHeap,MaxHeap:Heap.MaxHeap,StaticIntervalTree:require_static_interval_tree(),InvertedIndex:require_inverted_index(),KDTree:require_kd_tree(),LinkedList:require_linked_list(),LRUCache:require_lru_cache3(),LRUCacheWithDelete:require_lru_cache_with_delete(),LRUMap:require_lru_map(),LRUMapWithDelete:require_lru_map_with_delete(),MultiMap:require_multi_map(),MultiSet:require_multi_set(),PassjoinIndex:require_passjoin_index(),Queue:require_queue(),FixedStack:require_fixed_stack(),Stack:require_stack(),SuffixArray,GeneralizedSuffixArray:SuffixArray.GeneralizedSuffixArray,Set:require_set(),SparseQueueSet:require_sparse_queue_set(),SparseMap:require_sparse_map(),SparseSet:require_sparse_set(),SymSpell:require_symspell(),Trie:require_trie(),TrieMap:require_trie_map(),Vector:require_vector(),VPTree:require_vp_tree()}}});var require_constants9=__commonJS({"node_modules/semver/internal/constants.js"(exports2,module2){var SEMVER_SPEC_VERSION="2.0.0";var MAX_LENGTH=256;var MAX_SAFE_INTEGER7=Number.MAX_SAFE_INTEGER||9007199254740991;var MAX_SAFE_COMPONENT_LENGTH=16;var MAX_SAFE_BUILD_LENGTH=MAX_LENGTH-6;var RELEASE_TYPES=["major","premajor","minor","preminor","patch","prepatch","prerelease"];module2.exports={MAX_LENGTH,MAX_SAFE_COMPONENT_LENGTH,MAX_SAFE_BUILD_LENGTH,MAX_SAFE_INTEGER:MAX_SAFE_INTEGER7,RELEASE_TYPES,SEMVER_SPEC_VERSION,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}}});var require_debug=__commonJS({"node_modules/semver/internal/debug.js"(exports2,module2){var debug=typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...args2)=>console.error("SEMVER",...args2):()=>{};module2.exports=debug}});var require_re=__commonJS({"node_modules/semver/internal/re.js"(exports2,module2){var{MAX_SAFE_COMPONENT_LENGTH,MAX_SAFE_BUILD_LENGTH,MAX_LENGTH}=require_constants9();var debug=require_debug();exports2=module2.exports={};var re=exports2.re=[];var safeRe=exports2.safeRe=[];var src=exports2.src=[];var t=exports2.t={};var R=0;var LETTERDASHNUMBER="[a-zA-Z0-9-]";var safeRegexReplacements=[["\\s",1],["\\d",MAX_LENGTH],[LETTERDASHNUMBER,MAX_SAFE_BUILD_LENGTH]];var makeSafeRegex=value=>{for(const[token3,max3]of safeRegexReplacements){value=value.split(`${token3}*`).join(`${token3}{0,${max3}}`).split(`${token3}+`).join(`${token3}{1,${max3}}`)}return value};var createToken=(name,value,isGlobal)=>{const safe=makeSafeRegex(value);const index=R++;debug(name,index,value);t[name]=index;src[index]=value;re[index]=new RegExp(value,isGlobal?"g":void 0);safeRe[index]=new RegExp(safe,isGlobal?"g":void 0)};createToken("NUMERICIDENTIFIER","0|[1-9]\\d*");createToken("NUMERICIDENTIFIERLOOSE","\\d+");createToken("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);createToken("MAINVERSION",`(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})`);createToken("MAINVERSIONLOOSE",`(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})`);createToken("PRERELEASEIDENTIFIER",`(?:${src[t.NUMERICIDENTIFIER]}|${src[t.NONNUMERICIDENTIFIER]})`);createToken("PRERELEASEIDENTIFIERLOOSE",`(?:${src[t.NUMERICIDENTIFIERLOOSE]}|${src[t.NONNUMERICIDENTIFIER]})`);createToken("PRERELEASE",`(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`);createToken("PRERELEASELOOSE",`(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`);createToken("BUILDIDENTIFIER",`${LETTERDASHNUMBER}+`);createToken("BUILD",`(?:\\+(${src[t.BUILDIDENTIFIER]}(?:\\.${src[t.BUILDIDENTIFIER]})*))`);createToken("FULLPLAIN",`v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`);createToken("FULL",`^${src[t.FULLPLAIN]}$`);createToken("LOOSEPLAIN",`[v=\\s]*${src[t.MAINVERSIONLOOSE]}${src[t.PRERELEASELOOSE]}?${src[t.BUILD]}?`);createToken("LOOSE",`^${src[t.LOOSEPLAIN]}$`);createToken("GTLT","((?:<|>)?=?)");createToken("XRANGEIDENTIFIERLOOSE",`${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);createToken("XRANGEIDENTIFIER",`${src[t.NUMERICIDENTIFIER]}|x|X|\\*`);createToken("XRANGEPLAIN",`[v=\\s]*(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:${src[t.PRERELEASE]})?${src[t.BUILD]}?)?)?`);createToken("XRANGEPLAINLOOSE",`[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:${src[t.PRERELEASELOOSE]})?${src[t.BUILD]}?)?)?`);createToken("XRANGE",`^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`);createToken("XRANGELOOSE",`^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`);createToken("COERCEPLAIN",`${"(^|[^\\d])(\\d{1,"}${MAX_SAFE_COMPONENT_LENGTH}})(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`);createToken("COERCE",`${src[t.COERCEPLAIN]}(?:$|[^\\d])`);createToken("COERCEFULL",src[t.COERCEPLAIN]+`(?:${src[t.PRERELEASE]})?(?:${src[t.BUILD]})?(?:$|[^\\d])`);createToken("COERCERTL",src[t.COERCE],true);createToken("COERCERTLFULL",src[t.COERCEFULL],true);createToken("LONETILDE","(?:~>?)");createToken("TILDETRIM",`(\\s*)${src[t.LONETILDE]}\\s+`,true);exports2.tildeTrimReplace="$1~";createToken("TILDE",`^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`);createToken("TILDELOOSE",`^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`);createToken("LONECARET","(?:\\^)");createToken("CARETTRIM",`(\\s*)${src[t.LONECARET]}\\s+`,true);exports2.caretTrimReplace="$1^";createToken("CARET",`^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`);createToken("CARETLOOSE",`^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`);createToken("COMPARATORLOOSE",`^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`);createToken("COMPARATOR",`^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`);createToken("COMPARATORTRIM",`(\\s*)${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`,true);exports2.comparatorTrimReplace="$1$2$3";createToken("HYPHENRANGE",`^\\s*(${src[t.XRANGEPLAIN]})\\s+-\\s+(${src[t.XRANGEPLAIN]})\\s*$`);createToken("HYPHENRANGELOOSE",`^\\s*(${src[t.XRANGEPLAINLOOSE]})\\s+-\\s+(${src[t.XRANGEPLAINLOOSE]})\\s*$`);createToken("STAR","(<|>)?=?\\s*\\*");createToken("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");createToken("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}});var require_parse_options=__commonJS({"node_modules/semver/internal/parse-options.js"(exports2,module2){var looseOption=Object.freeze({loose:true});var emptyOpts=Object.freeze({});var parseOptions=options=>{if(!options){return emptyOpts}if(typeof options!=="object"){return looseOption}return options};module2.exports=parseOptions}});var require_identifiers=__commonJS({"node_modules/semver/internal/identifiers.js"(exports2,module2){var numeric=/^[0-9]+$/;var compareIdentifiers=(a,b)=>{const anum=numeric.test(a);const bnum=numeric.test(b);if(anum&&bnum){a=+a;b=+b}return a===b?0:anum&&!bnum?-1:bnum&&!anum?1:a<b?-1:1};var rcompareIdentifiers=(a,b)=>compareIdentifiers(b,a);module2.exports={compareIdentifiers,rcompareIdentifiers}}});var require_semver=__commonJS({"node_modules/semver/classes/semver.js"(exports2,module2){var debug=require_debug();var{MAX_LENGTH,MAX_SAFE_INTEGER:MAX_SAFE_INTEGER7}=require_constants9();var{safeRe:re,t}=require_re();var parseOptions=require_parse_options();var{compareIdentifiers}=require_identifiers();var SemVer=class _SemVer{constructor(version,options){options=parseOptions(options);if(version instanceof _SemVer){if(version.loose===!!options.loose&&version.includePrerelease===!!options.includePrerelease){return version}else{version=version.version}}else if(typeof version!=="string"){throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version}".`)}if(version.length>MAX_LENGTH){throw new TypeError(`version is longer than ${MAX_LENGTH} characters`)}debug("SemVer",version,options);this.options=options;this.loose=!!options.loose;this.includePrerelease=!!options.includePrerelease;const m=version.trim().match(options.loose?re[t.LOOSE]:re[t.FULL]);if(!m){throw new TypeError(`Invalid Version: ${version}`)}this.raw=version;this.major=+m[1];this.minor=+m[2];this.patch=+m[3];if(this.major>MAX_SAFE_INTEGER7||this.major<0){throw new TypeError("Invalid major version")}if(this.minor>MAX_SAFE_INTEGER7||this.minor<0){throw new TypeError("Invalid minor version")}if(this.patch>MAX_SAFE_INTEGER7||this.patch<0){throw new TypeError("Invalid patch version")}if(!m[4]){this.prerelease=[]}else{this.prerelease=m[4].split(".").map(id=>{if(/^[0-9]+$/.test(id)){const num=+id;if(num>=0&&num<MAX_SAFE_INTEGER7){return num}}return id})}this.build=m[5]?m[5].split("."):[];this.format()}format(){this.version=`${this.major}.${this.minor}.${this.patch}`;if(this.prerelease.length){this.version+=`-${this.prerelease.join(".")}`}return this.version}toString(){return this.version}compare(other){debug("SemVer.compare",this.version,this.options,other);if(!(other instanceof _SemVer)){if(typeof other==="string"&&other===this.version){return 0}other=new _SemVer(other,this.options)}if(other.version===this.version){return 0}return this.compareMain(other)||this.comparePre(other)}compareMain(other){if(!(other instanceof _SemVer)){other=new _SemVer(other,this.options)}return compareIdentifiers(this.major,other.major)||compareIdentifiers(this.minor,other.minor)||compareIdentifiers(this.patch,other.patch)}comparePre(other){if(!(other instanceof _SemVer)){other=new _SemVer(other,this.options)}if(this.prerelease.length&&!other.prerelease.length){return-1}else if(!this.prerelease.length&&other.prerelease.length){return 1}else if(!this.prerelease.length&&!other.prerelease.length){return 0}let i=0;do{const a=this.prerelease[i];const b=other.prerelease[i];debug("prerelease compare",i,a,b);if(a===void 0&&b===void 0){return 0}else if(b===void 0){return 1}else if(a===void 0){return-1}else if(a===b){continue}else{return compareIdentifiers(a,b)}}while(++i)}compareBuild(other){if(!(other instanceof _SemVer)){other=new _SemVer(other,this.options)}let i=0;do{const a=this.build[i];const b=other.build[i];debug("build compare",i,a,b);if(a===void 0&&b===void 0){return 0}else if(b===void 0){return 1}else if(a===void 0){return-1}else if(a===b){continue}else{return compareIdentifiers(a,b)}}while(++i)}inc(release,identifier,identifierBase){switch(release){case"premajor":this.prerelease.length=0;this.patch=0;this.minor=0;this.major++;this.inc("pre",identifier,identifierBase);break;case"preminor":this.prerelease.length=0;this.patch=0;this.minor++;this.inc("pre",identifier,identifierBase);break;case"prepatch":this.prerelease.length=0;this.inc("patch",identifier,identifierBase);this.inc("pre",identifier,identifierBase);break;case"prerelease":if(this.prerelease.length===0){this.inc("patch",identifier,identifierBase)}this.inc("pre",identifier,identifierBase);break;case"major":if(this.minor!==0||this.patch!==0||this.prerelease.length===0){this.major++}this.minor=0;this.patch=0;this.prerelease=[];break;case"minor":if(this.patch!==0||this.prerelease.length===0){this.minor++}this.patch=0;this.prerelease=[];break;case"patch":if(this.prerelease.length===0){this.patch++}this.prerelease=[];break;case"pre":{const base=Number(identifierBase)?1:0;if(!identifier&&identifierBase===false){throw new Error("invalid increment argument: identifier is empty")}if(this.prerelease.length===0){this.prerelease=[base]}else{let i=this.prerelease.length;while(--i>=0){if(typeof this.prerelease[i]==="number"){this.prerelease[i]++;i=-2}}if(i===-1){if(identifier===this.prerelease.join(".")&&identifierBase===false){throw new Error("invalid increment argument: identifier already exists")}this.prerelease.push(base)}}if(identifier){let prerelease=[identifier,base];if(identifierBase===false){prerelease=[identifier]}if(compareIdentifiers(this.prerelease[0],identifier)===0){if(isNaN(this.prerelease[1])){this.prerelease=prerelease}}else{this.prerelease=prerelease}}break}default:throw new Error(`invalid increment argument: ${release}`)}this.raw=this.format();if(this.build.length){this.raw+=`+${this.build.join(".")}`}return this}};module2.exports=SemVer}});var require_parse4=__commonJS({"node_modules/semver/functions/parse.js"(exports2,module2){var SemVer=require_semver();var parse3=(version,options,throwErrors=false)=>{if(version instanceof SemVer){return version}try{return new SemVer(version,options)}catch(er){if(!throwErrors){return null}throw er}};module2.exports=parse3}});var require_valid=__commonJS({"node_modules/semver/functions/valid.js"(exports2,module2){var parse3=require_parse4();var valid=(version,options)=>{const v=parse3(version,options);return v?v.version:null};module2.exports=valid}});var require_clean=__commonJS({"node_modules/semver/functions/clean.js"(exports2,module2){var parse3=require_parse4();var clean=(version,options)=>{const s=parse3(version.trim().replace(/^[=v]+/,""),options);return s?s.version:null};module2.exports=clean}});var require_inc=__commonJS({"node_modules/semver/functions/inc.js"(exports2,module2){var SemVer=require_semver();var inc=(version,release,options,identifier,identifierBase)=>{if(typeof options==="string"){identifierBase=identifier;identifier=options;options=void 0}try{return new SemVer(version instanceof SemVer?version.version:version,options).inc(release,identifier,identifierBase).version}catch(er){return null}};module2.exports=inc}});var require_diff=__commonJS({"node_modules/semver/functions/diff.js"(exports2,module2){var parse3=require_parse4();var diff=(version1,version2)=>{const v1=parse3(version1,null,true);const v2=parse3(version2,null,true);const comparison=v1.compare(v2);if(comparison===0){return null}const v1Higher=comparison>0;const highVersion=v1Higher?v1:v2;const lowVersion=v1Higher?v2:v1;const highHasPre=!!highVersion.prerelease.length;const lowHasPre=!!lowVersion.prerelease.length;if(lowHasPre&&!highHasPre){if(!lowVersion.patch&&!lowVersion.minor){return"major"}if(highVersion.patch){return"patch"}if(highVersion.minor){return"minor"}return"major"}const prefix=highHasPre?"pre":"";if(v1.major!==v2.major){return prefix+"major"}if(v1.minor!==v2.minor){return prefix+"minor"}if(v1.patch!==v2.patch){return prefix+"patch"}return"prerelease"};module2.exports=diff}});var require_major=__commonJS({"node_modules/semver/functions/major.js"(exports2,module2){var SemVer=require_semver();var major3=(a,loose)=>new SemVer(a,loose).major;module2.exports=major3}});var require_minor=__commonJS({"node_modules/semver/functions/minor.js"(exports2,module2){var SemVer=require_semver();var minor3=(a,loose)=>new SemVer(a,loose).minor;module2.exports=minor3}});var require_patch=__commonJS({"node_modules/semver/functions/patch.js"(exports2,module2){var SemVer=require_semver();var patch=(a,loose)=>new SemVer(a,loose).patch;module2.exports=patch}});var require_prerelease=__commonJS({"node_modules/semver/functions/prerelease.js"(exports2,module2){var parse3=require_parse4();var prerelease=(version,options)=>{const parsed=parse3(version,options);return parsed&&parsed.prerelease.length?parsed.prerelease:null};module2.exports=prerelease}});var require_compare=__commonJS({"node_modules/semver/functions/compare.js"(exports2,module2){var SemVer=require_semver();var compare=(a,b,loose)=>new SemVer(a,loose).compare(new SemVer(b,loose));module2.exports=compare}});var require_rcompare=__commonJS({"node_modules/semver/functions/rcompare.js"(exports2,module2){var compare=require_compare();var rcompare=(a,b,loose)=>compare(b,a,loose);module2.exports=rcompare}});var require_compare_loose=__commonJS({"node_modules/semver/functions/compare-loose.js"(exports2,module2){var compare=require_compare();var compareLoose=(a,b)=>compare(a,b,true);module2.exports=compareLoose}});var require_compare_build=__commonJS({"node_modules/semver/functions/compare-build.js"(exports2,module2){var SemVer=require_semver();var compareBuild=(a,b,loose)=>{const versionA=new SemVer(a,loose);const versionB=new SemVer(b,loose);return versionA.compare(versionB)||versionA.compareBuild(versionB)};module2.exports=compareBuild}});var require_sort=__commonJS({"node_modules/semver/functions/sort.js"(exports2,module2){var compareBuild=require_compare_build();var sort=(list,loose)=>list.sort((a,b)=>compareBuild(a,b,loose));module2.exports=sort}});var require_rsort=__commonJS({"node_modules/semver/functions/rsort.js"(exports2,module2){var compareBuild=require_compare_build();var rsort=(list,loose)=>list.sort((a,b)=>compareBuild(b,a,loose));module2.exports=rsort}});var require_gt=__commonJS({"node_modules/semver/functions/gt.js"(exports2,module2){var compare=require_compare();var gt2=(a,b,loose)=>compare(a,b,loose)>0;module2.exports=gt2}});var require_lt=__commonJS({"node_modules/semver/functions/lt.js"(exports2,module2){var compare=require_compare();var lt2=(a,b,loose)=>compare(a,b,loose)<0;module2.exports=lt2}});var require_eq2=__commonJS({"node_modules/semver/functions/eq.js"(exports2,module2){var compare=require_compare();var eq2=(a,b,loose)=>compare(a,b,loose)===0;module2.exports=eq2}});var require_neq=__commonJS({"node_modules/semver/functions/neq.js"(exports2,module2){var compare=require_compare();var neq=(a,b,loose)=>compare(a,b,loose)!==0;module2.exports=neq}});var require_gte=__commonJS({"node_modules/semver/functions/gte.js"(exports2,module2){var compare=require_compare();var gte2=(a,b,loose)=>compare(a,b,loose)>=0;module2.exports=gte2}});var require_lte=__commonJS({"node_modules/semver/functions/lte.js"(exports2,module2){var compare=require_compare();var lte2=(a,b,loose)=>compare(a,b,loose)<=0;module2.exports=lte2}});var require_cmp=__commonJS({"node_modules/semver/functions/cmp.js"(exports2,module2){var eq2=require_eq2();var neq=require_neq();var gt2=require_gt();var gte2=require_gte();var lt2=require_lt();var lte2=require_lte();var cmp=(a,op,b,loose)=>{switch(op){case"===":if(typeof a==="object"){a=a.version}if(typeof b==="object"){b=b.version}return a===b;case"!==":if(typeof a==="object"){a=a.version}if(typeof b==="object"){b=b.version}return a!==b;case"":case"=":case"==":return eq2(a,b,loose);case"!=":return neq(a,b,loose);case">":return gt2(a,b,loose);case">=":return gte2(a,b,loose);case"<":return lt2(a,b,loose);case"<=":return lte2(a,b,loose);default:throw new TypeError(`Invalid operator: ${op}`)}};module2.exports=cmp}});var require_coerce=__commonJS({"node_modules/semver/functions/coerce.js"(exports2,module2){var SemVer=require_semver();var parse3=require_parse4();var{safeRe:re,t}=require_re();var coerce2=(version,options)=>{if(version instanceof SemVer){return version}if(typeof version==="number"){version=String(version)}if(typeof version!=="string"){return null}options=options||{};let match=null;if(!options.rtl){match=version.match(options.includePrerelease?re[t.COERCEFULL]:re[t.COERCE])}else{const coerceRtlRegex=options.includePrerelease?re[t.COERCERTLFULL]:re[t.COERCERTL];let next;while((next=coerceRtlRegex.exec(version))&&(!match||match.index+match[0].length!==version.length)){if(!match||next.index+next[0].length!==match.index+match[0].length){match=next}coerceRtlRegex.lastIndex=next.index+next[1].length+next[2].length}coerceRtlRegex.lastIndex=-1}if(match===null){return null}const major3=match[2];const minor3=match[3]||"0";const patch=match[4]||"0";const prerelease=options.includePrerelease&&match[5]?`-${match[5]}`:"";const build=options.includePrerelease&&match[6]?`+${match[6]}`:"";return parse3(`${major3}.${minor3}.${patch}${prerelease}${build}`,options)};module2.exports=coerce2}});var require_lrucache=__commonJS({"node_modules/semver/internal/lrucache.js"(exports2,module2){var LRUCache=class{constructor(){this.max=1e3;this.map=new Map}get(key){const value=this.map.get(key);if(value===void 0){return void 0}else{this.map.delete(key);this.map.set(key,value);return value}}delete(key){return this.map.delete(key)}set(key,value){const deleted=this.delete(key);if(!deleted&&value!==void 0){if(this.map.size>=this.max){const firstKey=this.map.keys().next().value;this.delete(firstKey)}this.map.set(key,value)}return this}};module2.exports=LRUCache}});var require_range2=__commonJS({"node_modules/semver/classes/range.js"(exports2,module2){var SPACE_CHARACTERS=/\s+/g;var Range=class _Range{constructor(range2,options){options=parseOptions(options);if(range2 instanceof _Range){if(range2.loose===!!options.loose&&range2.includePrerelease===!!options.includePrerelease){return range2}else{return new _Range(range2.raw,options)}}if(range2 instanceof Comparator){this.raw=range2.value;this.set=[[range2]];this.formatted=void 0;return this}this.options=options;this.loose=!!options.loose;this.includePrerelease=!!options.includePrerelease;this.raw=range2.trim().replace(SPACE_CHARACTERS," ");this.set=this.raw.split("||").map(r=>this.parseRange(r.trim())).filter(c=>c.length);if(!this.set.length){throw new TypeError(`Invalid SemVer Range: ${this.raw}`)}if(this.set.length>1){const first=this.set[0];this.set=this.set.filter(c=>!isNullSet(c[0]));if(this.set.length===0){this.set=[first]}else if(this.set.length>1){for(const c of this.set){if(c.length===1&&isAny(c[0])){this.set=[c];break}}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let i=0;i<this.set.length;i++){if(i>0){this.formatted+="||"}const comps=this.set[i];for(let k=0;k<comps.length;k++){if(k>0){this.formatted+=" "}this.formatted+=comps[k].toString().trim()}}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(range2){const memoOpts=(this.options.includePrerelease&&FLAG_INCLUDE_PRERELEASE)|(this.options.loose&&FLAG_LOOSE);const memoKey=memoOpts+":"+range2;const cached=cache2.get(memoKey);if(cached){return cached}const loose=this.options.loose;const hr=loose?re[t.HYPHENRANGELOOSE]:re[t.HYPHENRANGE];range2=range2.replace(hr,hyphenReplace(this.options.includePrerelease));debug("hyphen replace",range2);range2=range2.replace(re[t.COMPARATORTRIM],comparatorTrimReplace);debug("comparator trim",range2);range2=range2.replace(re[t.TILDETRIM],tildeTrimReplace);debug("tilde trim",range2);range2=range2.replace(re[t.CARETTRIM],caretTrimReplace);debug("caret trim",range2);let rangeList=range2.split(" ").map(comp=>parseComparator(comp,this.options)).join(" ").split(/\s+/).map(comp=>replaceGTE0(comp,this.options));if(loose){rangeList=rangeList.filter(comp=>{debug("loose invalid filter",comp,this.options);return!!comp.match(re[t.COMPARATORLOOSE])})}debug("range list",rangeList);const rangeMap=new Map;const comparators=rangeList.map(comp=>new Comparator(comp,this.options));for(const comp of comparators){if(isNullSet(comp)){return[comp]}rangeMap.set(comp.value,comp)}if(rangeMap.size>1&&rangeMap.has("")){rangeMap.delete("")}const result2=[...rangeMap.values()];cache2.set(memoKey,result2);return result2}intersects(range2,options){if(!(range2 instanceof _Range)){throw new TypeError("a Range is required")}return this.set.some(thisComparators=>{return isSatisfiable(thisComparators,options)&&range2.set.some(rangeComparators=>{return isSatisfiable(rangeComparators,options)&&thisComparators.every(thisComparator=>{return rangeComparators.every(rangeComparator=>{return thisComparator.intersects(rangeComparator,options)})})})})}test(version){if(!version){return false}if(typeof version==="string"){try{version=new SemVer(version,this.options)}catch(er){return false}}for(let i=0;i<this.set.length;i++){if(testSet(this.set[i],version,this.options)){return true}}return false}};module2.exports=Range;var LRU=require_lrucache();var cache2=new LRU;var parseOptions=require_parse_options();var Comparator=require_comparator();var debug=require_debug();var SemVer=require_semver();var{safeRe:re,t,comparatorTrimReplace,tildeTrimReplace,caretTrimReplace}=require_re();var{FLAG_INCLUDE_PRERELEASE,FLAG_LOOSE}=require_constants9();var isNullSet=c=>c.value==="<0.0.0-0";var isAny=c=>c.value==="";var isSatisfiable=(comparators,options)=>{let result2=true;const remainingComparators=comparators.slice();let testComparator=remainingComparators.pop();while(result2&&remainingComparators.length){result2=remainingComparators.every(otherComparator=>{return testComparator.intersects(otherComparator,options)});testComparator=remainingComparators.pop()}return result2};var parseComparator=(comp,options)=>{debug("comp",comp,options);comp=replaceCarets(comp,options);debug("caret",comp);comp=replaceTildes(comp,options);debug("tildes",comp);comp=replaceXRanges(comp,options);debug("xrange",comp);comp=replaceStars(comp,options);debug("stars",comp);return comp};var isX=id=>!id||id.toLowerCase()==="x"||id==="*";var replaceTildes=(comp,options)=>{return comp.trim().split(/\s+/).map(c=>replaceTilde(c,options)).join(" ")};var replaceTilde=(comp,options)=>{const r=options.loose?re[t.TILDELOOSE]:re[t.TILDE];return comp.replace(r,(_,M,m,p,pr)=>{debug("tilde",comp,_,M,m,p,pr);let ret;if(isX(M)){ret=""}else if(isX(m)){ret=`>=${M}.0.0 <${+M+1}.0.0-0`}else if(isX(p)){ret=`>=${M}.${m}.0 <${M}.${+m+1}.0-0`}else if(pr){debug("replaceTilde pr",pr);ret=`>=${M}.${m}.${p}-${pr} <${M}.${+m+1}.0-0`}else{ret=`>=${M}.${m}.${p} <${M}.${+m+1}.0-0`}debug("tilde return",ret);return ret})};var replaceCarets=(comp,options)=>{return comp.trim().split(/\s+/).map(c=>replaceCaret(c,options)).join(" ")};var replaceCaret=(comp,options)=>{debug("caret",comp,options);const r=options.loose?re[t.CARETLOOSE]:re[t.CARET];const z2=options.includePrerelease?"-0":"";return comp.replace(r,(_,M,m,p,pr)=>{debug("caret",comp,_,M,m,p,pr);let ret;if(isX(M)){ret=""}else if(isX(m)){ret=`>=${M}.0.0${z2} <${+M+1}.0.0-0`}else if(isX(p)){if(M==="0"){ret=`>=${M}.${m}.0${z2} <${M}.${+m+1}.0-0`}else{ret=`>=${M}.${m}.0${z2} <${+M+1}.0.0-0`}}else if(pr){debug("replaceCaret pr",pr);if(M==="0"){if(m==="0"){ret=`>=${M}.${m}.${p}-${pr} <${M}.${m}.${+p+1}-0`}else{ret=`>=${M}.${m}.${p}-${pr} <${M}.${+m+1}.0-0`}}else{ret=`>=${M}.${m}.${p}-${pr} <${+M+1}.0.0-0`}}else{debug("no pr");if(M==="0"){if(m==="0"){ret=`>=${M}.${m}.${p}${z2} <${M}.${m}.${+p+1}-0`}else{ret=`>=${M}.${m}.${p}${z2} <${M}.${+m+1}.0-0`}}else{ret=`>=${M}.${m}.${p} <${+M+1}.0.0-0`}}debug("caret return",ret);return ret})};var replaceXRanges=(comp,options)=>{debug("replaceXRanges",comp,options);return comp.split(/\s+/).map(c=>replaceXRange(c,options)).join(" ")};var replaceXRange=(comp,options)=>{comp=comp.trim();const r=options.loose?re[t.XRANGELOOSE]:re[t.XRANGE];return comp.replace(r,(ret,gtlt,M,m,p,pr)=>{debug("xRange",comp,ret,gtlt,M,m,p,pr);const xM=isX(M);const xm=xM||isX(m);const xp=xm||isX(p);const anyX=xp;if(gtlt==="="&&anyX){gtlt=""}pr=options.includePrerelease?"-0":"";if(xM){if(gtlt===">"||gtlt==="<"){ret="<0.0.0-0"}else{ret="*"}}else if(gtlt&&anyX){if(xm){m=0}p=0;if(gtlt===">"){gtlt=">=";if(xm){M=+M+1;m=0;p=0}else{m=+m+1;p=0}}else if(gtlt==="<="){gtlt="<";if(xm){M=+M+1}else{m=+m+1}}if(gtlt==="<"){pr="-0"}ret=`${gtlt+M}.${m}.${p}${pr}`}else if(xm){ret=`>=${M}.0.0${pr} <${+M+1}.0.0-0`}else if(xp){ret=`>=${M}.${m}.0${pr} <${M}.${+m+1}.0-0`}debug("xRange return",ret);return ret})};var replaceStars=(comp,options)=>{debug("replaceStars",comp,options);return comp.trim().replace(re[t.STAR],"")};var replaceGTE0=(comp,options)=>{debug("replaceGTE0",comp,options);return comp.trim().replace(re[options.includePrerelease?t.GTE0PRE:t.GTE0],"")};var hyphenReplace=incPr=>($0,from,fM,fm,fp,fpr,fb,to,tM,tm,tp,tpr)=>{if(isX(fM)){from=""}else if(isX(fm)){from=`>=${fM}.0.0${incPr?"-0":""}`}else if(isX(fp)){from=`>=${fM}.${fm}.0${incPr?"-0":""}`}else if(fpr){from=`>=${from}`}else{from=`>=${from}${incPr?"-0":""}`}if(isX(tM)){to=""}else if(isX(tm)){to=`<${+tM+1}.0.0-0`}else if(isX(tp)){to=`<${tM}.${+tm+1}.0-0`}else if(tpr){to=`<=${tM}.${tm}.${tp}-${tpr}`}else if(incPr){to=`<${tM}.${tm}.${+tp+1}-0`}else{to=`<=${to}`}return`${from} ${to}`.trim()};var testSet=(set3,version,options)=>{for(let i=0;i<set3.length;i++){if(!set3[i].test(version)){return false}}if(version.prerelease.length&&!options.includePrerelease){for(let i=0;i<set3.length;i++){debug(set3[i].semver);if(set3[i].semver===Comparator.ANY){continue}if(set3[i].semver.prerelease.length>0){const allowed=set3[i].semver;if(allowed.major===version.major&&allowed.minor===version.minor&&allowed.patch===version.patch){return true}}}return false}return true}}});var require_comparator=__commonJS({"node_modules/semver/classes/comparator.js"(exports2,module2){var ANY=Symbol("SemVer ANY");var Comparator=class _Comparator{static get ANY(){return ANY}constructor(comp,options){options=parseOptions(options);if(comp instanceof _Comparator){if(comp.loose===!!options.loose){return comp}else{comp=comp.value}}comp=comp.trim().split(/\s+/).join(" ");debug("comparator",comp,options);this.options=options;this.loose=!!options.loose;this.parse(comp);if(this.semver===ANY){this.value=""}else{this.value=this.operator+this.semver.version}debug("comp",this)}parse(comp){const r=this.options.loose?re[t.COMPARATORLOOSE]:re[t.COMPARATOR];const m=comp.match(r);if(!m){throw new TypeError(`Invalid comparator: ${comp}`)}this.operator=m[1]!==void 0?m[1]:"";if(this.operator==="="){this.operator=""}if(!m[2]){this.semver=ANY}else{this.semver=new SemVer(m[2],this.options.loose)}}toString(){return this.value}test(version){debug("Comparator.test",version,this.options.loose);if(this.semver===ANY||version===ANY){return true}if(typeof version==="string"){try{version=new SemVer(version,this.options)}catch(er){return false}}return cmp(version,this.operator,this.semver,this.options)}intersects(comp,options){if(!(comp instanceof _Comparator)){throw new TypeError("a Comparator is required")}if(this.operator===""){if(this.value===""){return true}return new Range(comp.value,options).test(this.value)}else if(comp.operator===""){if(comp.value===""){return true}return new Range(this.value,options).test(comp.semver)}options=parseOptions(options);if(options.includePrerelease&&(this.value==="<0.0.0-0"||comp.value==="<0.0.0-0")){return false}if(!options.includePrerelease&&(this.value.startsWith("<0.0.0")||comp.value.startsWith("<0.0.0"))){return false}if(this.operator.startsWith(">")&&comp.operator.startsWith(">")){return true}if(this.operator.startsWith("<")&&comp.operator.startsWith("<")){return true}if(this.semver.version===comp.semver.version&&this.operator.includes("=")&&comp.operator.includes("=")){return true}if(cmp(this.semver,"<",comp.semver,options)&&this.operator.startsWith(">")&&comp.operator.startsWith("<")){return true}if(cmp(this.semver,">",comp.semver,options)&&this.operator.startsWith("<")&&comp.operator.startsWith(">")){return true}return false}};module2.exports=Comparator;var parseOptions=require_parse_options();var{safeRe:re,t}=require_re();var cmp=require_cmp();var debug=require_debug();var SemVer=require_semver();var Range=require_range2()}});var require_satisfies=__commonJS({"node_modules/semver/functions/satisfies.js"(exports2,module2){var Range=require_range2();var satisfies=(version,range2,options)=>{try{range2=new Range(range2,options)}catch(er){return false}return range2.test(version)};module2.exports=satisfies}});var require_to_comparators=__commonJS({"node_modules/semver/ranges/to-comparators.js"(exports2,module2){var Range=require_range2();var toComparators=(range2,options)=>new Range(range2,options).set.map(comp=>comp.map(c=>c.value).join(" ").trim().split(" "));module2.exports=toComparators}});var require_max_satisfying=__commonJS({"node_modules/semver/ranges/max-satisfying.js"(exports2,module2){var SemVer=require_semver();var Range=require_range2();var maxSatisfying=(versions,range2,options)=>{let max3=null;let maxSV=null;let rangeObj=null;try{rangeObj=new Range(range2,options)}catch(er){return null}versions.forEach(v=>{if(rangeObj.test(v)){if(!max3||maxSV.compare(v)===-1){max3=v;maxSV=new SemVer(max3,options)}}});return max3};module2.exports=maxSatisfying}});var require_min_satisfying=__commonJS({"node_modules/semver/ranges/min-satisfying.js"(exports2,module2){var SemVer=require_semver();var Range=require_range2();var minSatisfying=(versions,range2,options)=>{let min3=null;let minSV=null;let rangeObj=null;try{rangeObj=new Range(range2,options)}catch(er){return null}versions.forEach(v=>{if(rangeObj.test(v)){if(!min3||minSV.compare(v)===1){min3=v;minSV=new SemVer(min3,options)}}});return min3};module2.exports=minSatisfying}});var require_min_version=__commonJS({"node_modules/semver/ranges/min-version.js"(exports2,module2){var SemVer=require_semver();var Range=require_range2();var gt2=require_gt();var minVersion=(range2,loose)=>{range2=new Range(range2,loose);let minver=new SemVer("0.0.0");if(range2.test(minver)){return minver}minver=new SemVer("0.0.0-0");if(range2.test(minver)){return minver}minver=null;for(let i=0;i<range2.set.length;++i){const comparators=range2.set[i];let setMin=null;comparators.forEach(comparator=>{const compver=new SemVer(comparator.semver.version);switch(comparator.operator){case">":if(compver.prerelease.length===0){compver.patch++}else{compver.prerelease.push(0)}compver.raw=compver.format();case"":case">=":if(!setMin||gt2(compver,setMin)){setMin=compver}break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${comparator.operator}`)}});if(setMin&&(!minver||gt2(minver,setMin))){minver=setMin}}if(minver&&range2.test(minver)){return minver}return null};module2.exports=minVersion}});var require_valid2=__commonJS({"node_modules/semver/ranges/valid.js"(exports2,module2){var Range=require_range2();var validRange=(range2,options)=>{try{return new Range(range2,options).range||"*"}catch(er){return null}};module2.exports=validRange}});var require_outside=__commonJS({"node_modules/semver/ranges/outside.js"(exports2,module2){var SemVer=require_semver();var Comparator=require_comparator();var{ANY}=Comparator;var Range=require_range2();var satisfies=require_satisfies();var gt2=require_gt();var lt2=require_lt();var lte2=require_lte();var gte2=require_gte();var outside=(version,range2,hilo,options)=>{version=new SemVer(version,options);range2=new Range(range2,options);let gtfn,ltefn,ltfn,comp,ecomp;switch(hilo){case">":gtfn=gt2;ltefn=lte2;ltfn=lt2;comp=">";ecomp=">=";break;case"<":gtfn=lt2;ltefn=gte2;ltfn=gt2;comp="<";ecomp="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(satisfies(version,range2,options)){return false}for(let i=0;i<range2.set.length;++i){const comparators=range2.set[i];let high=null;let low=null;comparators.forEach(comparator=>{if(comparator.semver===ANY){comparator=new Comparator(">=0.0.0")}high=high||comparator;low=low||comparator;if(gtfn(comparator.semver,high.semver,options)){high=comparator}else if(ltfn(comparator.semver,low.semver,options)){low=comparator}});if(high.operator===comp||high.operator===ecomp){return false}if((!low.operator||low.operator===comp)&&ltefn(version,low.semver)){return false}else if(low.operator===ecomp&&ltfn(version,low.semver)){return false}}return true};module2.exports=outside}});var require_gtr=__commonJS({"node_modules/semver/ranges/gtr.js"(exports2,module2){var outside=require_outside();var gtr=(version,range2,options)=>outside(version,range2,">",options);module2.exports=gtr}});var require_ltr=__commonJS({"node_modules/semver/ranges/ltr.js"(exports2,module2){var outside=require_outside();var ltr=(version,range2,options)=>outside(version,range2,"<",options);module2.exports=ltr}});var require_intersects=__commonJS({"node_modules/semver/ranges/intersects.js"(exports2,module2){var Range=require_range2();var intersects=(r1,r2,options)=>{r1=new Range(r1,options);r2=new Range(r2,options);return r1.intersects(r2,options)};module2.exports=intersects}});var require_simplify=__commonJS({"node_modules/semver/ranges/simplify.js"(exports2,module2){var satisfies=require_satisfies();var compare=require_compare();module2.exports=(versions,range2,options)=>{const set3=[];let first=null;let prev=null;const v=versions.sort((a,b)=>compare(a,b,options));for(const version of v){const included=satisfies(version,range2,options);if(included){prev=version;if(!first){first=version}}else{if(prev){set3.push([first,prev])}prev=null;first=null}}if(first){set3.push([first,null])}const ranges=[];for(const[min3,max3]of set3){if(min3===max3){ranges.push(min3)}else if(!max3&&min3===v[0]){ranges.push("*")}else if(!max3){ranges.push(`>=${min3}`)}else if(min3===v[0]){ranges.push(`<=${max3}`)}else{ranges.push(`${min3} - ${max3}`)}}const simplified=ranges.join(" || ");const original=typeof range2.raw==="string"?range2.raw:String(range2);return simplified.length<original.length?simplified:range2}}});var require_subset=__commonJS({"node_modules/semver/ranges/subset.js"(exports2,module2){var Range=require_range2();var Comparator=require_comparator();var{ANY}=Comparator;var satisfies=require_satisfies();var compare=require_compare();var subset=(sub,dom,options={})=>{if(sub===dom){return true}sub=new Range(sub,options);dom=new Range(dom,options);let sawNonNull=false;OUTER:for(const simpleSub of sub.set){for(const simpleDom of dom.set){const isSub=simpleSubset(simpleSub,simpleDom,options);sawNonNull=sawNonNull||isSub!==null;if(isSub){continue OUTER}}if(sawNonNull){return false}}return true};var minimumVersionWithPreRelease=[new Comparator(">=0.0.0-0")];var minimumVersion=[new Comparator(">=0.0.0")];var simpleSubset=(sub,dom,options)=>{if(sub===dom){return true}if(sub.length===1&&sub[0].semver===ANY){if(dom.length===1&&dom[0].semver===ANY){return true}else if(options.includePrerelease){sub=minimumVersionWithPreRelease}else{sub=minimumVersion}}if(dom.length===1&&dom[0].semver===ANY){if(options.includePrerelease){return true}else{dom=minimumVersion}}const eqSet=new Set;let gt2,lt2;for(const c of sub){if(c.operator===">"||c.operator===">="){gt2=higherGT(gt2,c,options)}else if(c.operator==="<"||c.operator==="<="){lt2=lowerLT(lt2,c,options)}else{eqSet.add(c.semver)}}if(eqSet.size>1){return null}let gtltComp;if(gt2&&lt2){gtltComp=compare(gt2.semver,lt2.semver,options);if(gtltComp>0){return null}else if(gtltComp===0&&(gt2.operator!==">="||lt2.operator!=="<=")){return null}}for(const eq2 of eqSet){if(gt2&&!satisfies(eq2,String(gt2),options)){return null}if(lt2&&!satisfies(eq2,String(lt2),options)){return null}for(const c of dom){if(!satisfies(eq2,String(c),options)){return false}}return true}let higher,lower;let hasDomLT,hasDomGT;let needDomLTPre=lt2&&!options.includePrerelease&&lt2.semver.prerelease.length?lt2.semver:false;let needDomGTPre=gt2&&!options.includePrerelease&&gt2.semver.prerelease.length?gt2.semver:false;if(needDomLTPre&&needDomLTPre.prerelease.length===1&&lt2.operator==="<"&&needDomLTPre.prerelease[0]===0){needDomLTPre=false}for(const c of dom){hasDomGT=hasDomGT||c.operator===">"||c.operator===">=";hasDomLT=hasDomLT||c.operator==="<"||c.operator==="<=";if(gt2){if(needDomGTPre){if(c.semver.prerelease&&c.semver.prerelease.length&&c.semver.major===needDomGTPre.major&&c.semver.minor===needDomGTPre.minor&&c.semver.patch===needDomGTPre.patch){needDomGTPre=false}}if(c.operator===">"||c.operator===">="){higher=higherGT(gt2,c,options);if(higher===c&&higher!==gt2){return false}}else if(gt2.operator===">="&&!satisfies(gt2.semver,String(c),options)){return false}}if(lt2){if(needDomLTPre){if(c.semver.prerelease&&c.semver.prerelease.length&&c.semver.major===needDomLTPre.major&&c.semver.minor===needDomLTPre.minor&&c.semver.patch===needDomLTPre.patch){needDomLTPre=false}}if(c.operator==="<"||c.operator==="<="){lower=lowerLT(lt2,c,options);if(lower===c&&lower!==lt2){return false}}else if(lt2.operator==="<="&&!satisfies(lt2.semver,String(c),options)){return false}}if(!c.operator&&(lt2||gt2)&&gtltComp!==0){return false}}if(gt2&&hasDomLT&&!lt2&&gtltComp!==0){return false}if(lt2&&hasDomGT&&!gt2&&gtltComp!==0){return false}if(needDomGTPre||needDomLTPre){return false}return true};var higherGT=(a,b,options)=>{if(!a){return b}const comp=compare(a.semver,b.semver,options);return comp>0?a:comp<0?b:b.operator===">"&&a.operator===">="?b:a};var lowerLT=(a,b,options)=>{if(!a){return b}const comp=compare(a.semver,b.semver,options);return comp<0?a:comp>0?b:b.operator==="<"&&a.operator==="<="?b:a};module2.exports=subset}});var require_semver2=__commonJS({"node_modules/semver/index.js"(exports2,module2){var internalRe=require_re();var constants3=require_constants9();var SemVer=require_semver();var identifiers=require_identifiers();var parse3=require_parse4();var valid=require_valid();var clean=require_clean();var inc=require_inc();var diff=require_diff();var major3=require_major();var minor3=require_minor();var patch=require_patch();var prerelease=require_prerelease();var compare=require_compare();var rcompare=require_rcompare();var compareLoose=require_compare_loose();var compareBuild=require_compare_build();var sort=require_sort();var rsort=require_rsort();var gt2=require_gt();var lt2=require_lt();var eq2=require_eq2();var neq=require_neq();var gte2=require_gte();var lte2=require_lte();var cmp=require_cmp();var coerce2=require_coerce();var Comparator=require_comparator();var Range=require_range2();var satisfies=require_satisfies();var toComparators=require_to_comparators();var maxSatisfying=require_max_satisfying();var minSatisfying=require_min_satisfying();var minVersion=require_min_version();var validRange=require_valid2();var outside=require_outside();var gtr=require_gtr();var ltr=require_ltr();var intersects=require_intersects();var simplifyRange=require_simplify();var subset=require_subset();module2.exports={parse:parse3,valid,clean,inc,diff,major:major3,minor:minor3,patch,prerelease,compare,rcompare,compareLoose,compareBuild,sort,rsort,gt:gt2,lt:lt2,eq:eq2,neq,gte:gte2,lte:lte2,cmp,coerce:coerce2,Comparator,Range,satisfies,toComparators,maxSatisfying,minSatisfying,minVersion,validRange,outside,gtr,ltr,intersects,simplifyRange,subset,SemVer,re:internalRe.re,src:internalRe.src,tokens:internalRe.t,SEMVER_SPEC_VERSION:constants3.SEMVER_SPEC_VERSION,RELEASE_TYPES:constants3.RELEASE_TYPES,compareIdentifiers:identifiers.compareIdentifiers,rcompareIdentifiers:identifiers.rcompareIdentifiers}}});var import_node_os2=__toESM(require("node:os"),1);var import_promises=__toESM(require("node:fs/promises"),1);var import_node_path4=__toESM(require("node:path"),1);function slash(path27){const isExtendedLengthPath=path27.startsWith("\\\\?\\");if(isExtendedLengthPath){return path27}return path27.replace(/\\/g,"/")}var import_node_console=require("node:console");var import_node_stream=require("node:stream");var import_node_path=__toESM(require("node:path"),1);var ANSI_BACKGROUND_OFFSET=10;var wrapAnsi16=(offset=0)=>code=>`\x1B[${code+offset}m`;var wrapAnsi256=(offset=0)=>code=>`\x1B[${38+offset};5;${code}m`;var wrapAnsi16m=(offset=0)=>(red,green,blue)=>`\x1B[${38+offset};2;${red};${green};${blue}m`;var styles={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};var modifierNames=Object.keys(styles.modifier);var foregroundColorNames=Object.keys(styles.color);var backgroundColorNames=Object.keys(styles.bgColor);var colorNames=[...foregroundColorNames,...backgroundColorNames];function assembleStyles(){const codes=new Map;for(const[groupName,group]of Object.entries(styles)){for(const[styleName,style]of Object.entries(group)){styles[styleName]={open:`\x1B[${style[0]}m`,close:`\x1B[${style[1]}m`};group[styleName]=styles[styleName];codes.set(style[0],style[1])}Object.defineProperty(styles,groupName,{value:group,enumerable:false})}Object.defineProperty(styles,"codes",{value:codes,enumerable:false});styles.color.close="\x1B[39m";styles.bgColor.close="\x1B[49m";styles.color.ansi=wrapAnsi16();styles.color.ansi256=wrapAnsi256();styles.color.ansi16m=wrapAnsi16m();styles.bgColor.ansi=wrapAnsi16(ANSI_BACKGROUND_OFFSET);styles.bgColor.ansi256=wrapAnsi256(ANSI_BACKGROUND_OFFSET);styles.bgColor.ansi16m=wrapAnsi16m(ANSI_BACKGROUND_OFFSET);Object.defineProperties(styles,{rgbToAnsi256:{value(red,green,blue){if(red===green&&green===blue){if(red<8){return 16}if(red>248){return 231}return Math.round((red-8)/247*24)+232}return 16+36*Math.round(red/255*5)+6*Math.round(green/255*5)+Math.round(blue/255*5)},enumerable:false},hexToRgb:{value(hex){const matches2=/[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));if(!matches2){return[0,0,0]}let[colorString]=matches2;if(colorString.length===3){colorString=[...colorString].map(character=>character+character).join("")}const integer=Number.parseInt(colorString,16);return[integer>>16&255,integer>>8&255,integer&255]},enumerable:false},hexToAnsi256:{value:hex=>styles.rgbToAnsi256(...styles.hexToRgb(hex)),enumerable:false},ansi256ToAnsi:{value(code){if(code<8){return 30+code}if(code<16){return 90+(code-8)}let red;let green;let blue;if(code>=232){red=((code-232)*10+8)/255;green=red;blue=red}else{code-=16;const remainder=code%36;red=Math.floor(code/36)/5;green=Math.floor(remainder/6)/5;blue=remainder%6/5}const value=Math.max(red,green,blue)*2;if(value===0){return 30}let result2=30+(Math.round(blue)<<2|Math.round(green)<<1|Math.round(red));if(value===2){result2+=60}return result2},enumerable:false},rgbToAnsi:{value:(red,green,blue)=>styles.ansi256ToAnsi(styles.rgbToAnsi256(red,green,blue)),enumerable:false},hexToAnsi:{value:hex=>styles.ansi256ToAnsi(styles.hexToAnsi256(hex)),enumerable:false}});return styles}var ansiStyles=assembleStyles();var ansi_styles_default=ansiStyles;var import_node_process=__toESM(require("node:process"),1);var import_node_os=__toESM(require("node:os"),1);var import_node_tty=__toESM(require("node:tty"),1);function hasFlag(flag,argv=globalThis.Deno?globalThis.Deno.args:import_node_process.default.argv){const prefix=flag.startsWith("-")?"":flag.length===1?"-":"--";const position=argv.indexOf(prefix+flag);const terminatorPosition=argv.indexOf("--");return position!==-1&&(terminatorPosition===-1||position<terminatorPosition)}var{env}=import_node_process.default;var flagForceColor;if(hasFlag("no-color")||hasFlag("no-colors")||hasFlag("color=false")||hasFlag("color=never")){flagForceColor=0}else if(hasFlag("color")||hasFlag("colors")||hasFlag("color=true")||hasFlag("color=always")){flagForceColor=1}function envForceColor(){if("FORCE_COLOR"in env){if(env.FORCE_COLOR==="true"){return 1}if(env.FORCE_COLOR==="false"){return 0}return env.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(env.FORCE_COLOR,10),3)}}function translateLevel(level){if(level===0){return false}return{level,hasBasic:true,has256:level>=2,has16m:level>=3}}function _supportsColor(haveStream,{streamIsTTY,sniffFlags=true}={}){const noFlagForceColor=envForceColor();if(noFlagForceColor!==void 0){flagForceColor=noFlagForceColor}const forceColor=sniffFlags?flagForceColor:noFlagForceColor;if(forceColor===0){return 0}if(sniffFlags){if(hasFlag("color=16m")||hasFlag("color=full")||hasFlag("color=truecolor")){return 3}if(hasFlag("color=256")){return 2}}if("TF_BUILD"in env&&"AGENT_NAME"in env){return 1}if(haveStream&&!streamIsTTY&&forceColor===void 0){return 0}const min3=forceColor||0;if(env.TERM==="dumb"){return min3}if(import_node_process.default.platform==="win32"){const osRelease=import_node_os.default.release().split(".");if(Number(osRelease[0])>=10&&Number(osRelease[2])>=10586){return Number(osRelease[2])>=14931?3:2}return 1}if("CI"in env){if(["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(key=>key in env)){return 3}if(["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(sign=>sign in env)||env.CI_NAME==="codeship"){return 1}return min3}if("TEAMCITY_VERSION"in env){return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION)?1:0}if(env.COLORTERM==="truecolor"){return 3}if(env.TERM==="xterm-kitty"){return 3}if("TERM_PROGRAM"in env){const version=Number.parseInt((env.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(env.TERM_PROGRAM){case"iTerm.app":{return version>=3?3:2}case"Apple_Terminal":{return 2}}}if(/-256(color)?$/i.test(env.TERM)){return 2}if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)){return 1}if("COLORTERM"in env){return 1}return min3}function createSupportsColor(stream3,options={}){const level=_supportsColor(stream3,{streamIsTTY:stream3&&stream3.isTTY,...options});return translateLevel(level)}var supportsColor={stdout:createSupportsColor({isTTY:import_node_tty.default.isatty(1)}),stderr:createSupportsColor({isTTY:import_node_tty.default.isatty(2)})};var supports_color_default=supportsColor;function stringReplaceAll(string,substring,replacer){let index=string.indexOf(substring);if(index===-1){return string}const substringLength=substring.length;let endIndex=0;let returnValue="";do{returnValue+=string.slice(endIndex,index)+substring+replacer;endIndex=index+substringLength;index=string.indexOf(substring,endIndex)}while(index!==-1);returnValue+=string.slice(endIndex);return returnValue}function stringEncaseCRLFWithFirstIndex(string,prefix,postfix,index){let endIndex=0;let returnValue="";do{const gotCR=string[index-1]==="\r";returnValue+=string.slice(endIndex,gotCR?index-1:index)+prefix+(gotCR?"\r\n":"\n")+postfix;endIndex=index+1;index=string.indexOf("\n",endIndex)}while(index!==-1);returnValue+=string.slice(endIndex);return returnValue}var{stdout:stdoutColor,stderr:stderrColor}=supports_color_default;var GENERATOR=Symbol("GENERATOR");var STYLER=Symbol("STYLER");var IS_EMPTY=Symbol("IS_EMPTY");var levelMapping=["ansi","ansi","ansi256","ansi16m"];var styles2=Object.create(null);var applyOptions=(object,options={})=>{if(options.level&&!(Number.isInteger(options.level)&&options.level>=0&&options.level<=3)){throw new Error("The `level` option should be an integer from 0 to 3")}const colorLevel=stdoutColor?stdoutColor.level:0;object.level=options.level===void 0?colorLevel:options.level};var chalkFactory=options=>{const chalk2=(...strings)=>strings.join(" ");applyOptions(chalk2,options);Object.setPrototypeOf(chalk2,createChalk.prototype);return chalk2};function createChalk(options){return chalkFactory(options)}Object.setPrototypeOf(createChalk.prototype,Function.prototype);for(const[styleName,style]of Object.entries(ansi_styles_default)){styles2[styleName]={get(){const builder=createBuilder(this,createStyler(style.open,style.close,this[STYLER]),this[IS_EMPTY]);Object.defineProperty(this,styleName,{value:builder});return builder}}}styles2.visible={get(){const builder=createBuilder(this,this[STYLER],true);Object.defineProperty(this,"visible",{value:builder});return builder}};var getModelAnsi=(model,level,type2,...arguments_)=>{if(model==="rgb"){if(level==="ansi16m"){return ansi_styles_default[type2].ansi16m(...arguments_)}if(level==="ansi256"){return ansi_styles_default[type2].ansi256(ansi_styles_default.rgbToAnsi256(...arguments_))}return ansi_styles_default[type2].ansi(ansi_styles_default.rgbToAnsi(...arguments_))}if(model==="hex"){return getModelAnsi("rgb",level,type2,...ansi_styles_default.hexToRgb(...arguments_))}return ansi_styles_default[type2][model](...arguments_)};var usedModels=["rgb","hex","ansi256"];for(const model of usedModels){styles2[model]={get(){const{level}=this;return function(...arguments_){const styler=createStyler(getModelAnsi(model,levelMapping[level],"color",...arguments_),ansi_styles_default.color.close,this[STYLER]);return createBuilder(this,styler,this[IS_EMPTY])}}};const bgModel="bg"+model[0].toUpperCase()+model.slice(1);styles2[bgModel]={get(){const{level}=this;return function(...arguments_){const styler=createStyler(getModelAnsi(model,levelMapping[level],"bgColor",...arguments_),ansi_styles_default.bgColor.close,this[STYLER]);return createBuilder(this,styler,this[IS_EMPTY])}}}}var proto=Object.defineProperties(()=>{},{...styles2,level:{enumerable:true,get(){return this[GENERATOR].level},set(level){this[GENERATOR].level=level}}});var createStyler=(open4,close,parent2)=>{let openAll;let closeAll;if(parent2===void 0){openAll=open4;closeAll=close}else{openAll=parent2.openAll+open4;closeAll=close+parent2.closeAll}return{open:open4,close,openAll,closeAll,parent:parent2}};var createBuilder=(self2,_styler,_isEmpty)=>{const builder=(...arguments_)=>applyStyle(builder,arguments_.length===1?""+arguments_[0]:arguments_.join(" "));Object.setPrototypeOf(builder,proto);builder[GENERATOR]=self2;builder[STYLER]=_styler;builder[IS_EMPTY]=_isEmpty;return builder};var applyStyle=(self2,string)=>{if(self2.level<=0||!string){return self2[IS_EMPTY]?"":string}let styler=self2[STYLER];if(styler===void 0){return string}const{openAll,closeAll}=styler;if(string.includes("\x1B")){while(styler!==void 0){string=stringReplaceAll(string,styler.close,styler.open);styler=styler.parent}}const lfIndex=string.indexOf("\n");if(lfIndex!==-1){string=stringEncaseCRLFWithFirstIndex(string,closeAll,openAll,lfIndex)}return openAll+string+closeAll};Object.defineProperties(createChalk.prototype,styles2);var chalk=createChalk();var chalkStderr=createChalk({level:stderrColor?stderrColor.level:0});var source_default=chalk;var import_error_stack_parser=__toESM(require_error_stack_parser(),1);var import_source_map_support=__toESM(require_source_map_support(),1);var headBufferLimit=8*1024;var bodyBufferLimit=64*1024;var bodyTrimSliceSize=8*1024;var BUFFER_CUT_WARNING=source_default.bgRgb(255,69,0)("[!] The log body was sliced to prevent memory exhaustion. [!]");var DEBUG_COLOR=source_default.bgHex("#FF45FF");var headBuffer="";var bodyBuffer="";var writeToBuffer=chunk2=>{if(headBuffer.length+chunk2.length<headBufferLimit){headBuffer+=chunk2;return}bodyBuffer+=chunk2;if(bodyBuffer.length>bodyBufferLimit){let trimmedBody=bodyBuffer.slice(bodyTrimSliceSize-bodyBufferLimit);trimmedBody=trimmedBody.substring(trimmedBody.indexOf("\n"));bodyBuffer=`
${BUFFER_CUT_WARNING}
${trimmedBody}`}};var getLogBuffer=()=>headBuffer+bodyBuffer;var header="tx";var stackPathAlias;var _txAdminVersion;var _verboseFlag=false;var setConsoleEnvData=(txAdminVersion,txAdminResourcePath,isDevMode,isVerbose)=>{_txAdminVersion=txAdminVersion;_verboseFlag=isVerbose;if(isDevMode){import_source_map_support.default.install();stackPathAlias={path:txAdminResourcePath+"/core",alias:"@monitor"}}else{stackPathAlias={path:txAdminResourcePath,alias:"@monitor"}}};var stdioEolPending=false;var processStdioWriteRaw=buffer=>{if(!buffer.length)return;const comparator=typeof buffer==="string"?"\n":10;stdioEolPending=buffer[buffer.length-1]!==comparator;process.stdout.write(buffer)};var processStdioEnsureEol=()=>{if(stdioEolPending){process.stdout.write("\n");stdioEolPending=false}};var defaultStream=new import_node_stream.Writable({decodeStrings:true,defaultEncoding:"utf8",highWaterMark:64*1024,write(chunk2,encoding,callback){writeToBuffer(chunk2);process.stdout.write(chunk2);callback()}});var verboseStream=new import_node_stream.Writable({decodeStrings:true,defaultEncoding:"utf8",highWaterMark:64*1024,write(chunk2,encoding,callback){writeToBuffer(chunk2);if(_verboseFlag)process.stdout.write(chunk2);callback()}});var defaultConsole=new import_node_console.Console({stdout:defaultStream,stderr:defaultStream,colorMode:true});var verboseConsole=new import_node_console.Console({stdout:verboseStream,stderr:verboseStream,colorMode:true});var getTimestamp=()=>new Date().toLocaleString(void 0,{timeStyle:"medium",hourCycle:"h23"});var genLogPrefix=(currContext,color)=>{return color.black(`[${getTimestamp()}][${currContext}]`)};var cleanPath=x=>slash(import_node_path.default.normalize(x));var ERR_STACK_PREFIX=source_default.redBright("    => ");var DIVIDER_SIZE=60;var DIVIDER_CHAR="=";var DIVIDER=DIVIDER_CHAR.repeat(DIVIDER_SIZE);var DIR_DIVIDER=source_default.cyan(DIVIDER);var specialsColor=source_default.rgb(255,228,181).italic;var lawngreenColor=source_default.rgb(124,252,0);var orangeredColor=source_default.rgb(255,69,0);var getPrettyError=(error,multilineError)=>{const out=[];const prefixStr=`[${getTimestamp()}][tx]`;let prefixColor=source_default.redBright;let nameColor=source_default.redBright;if(error.name==="ExperimentalWarning"){prefixColor=source_default.bgYellow.black;nameColor=source_default.yellowBright}else if(multilineError){prefixColor=source_default.bgRed.black}const prefix=prefixColor(prefixStr)+" ";out.push(prefix+nameColor(`${error.name}: `)+error.message);if("type"in error)out.push(prefix+nameColor("Type:")+` ${error.type}`);if("code"in error)out.push(prefix+nameColor("Code:")+` ${error.code}`);if(typeof error.stack==="string"){const stackPrefix=multilineError?prefix:ERR_STACK_PREFIX;try{for(const line of import_error_stack_parser.default.parse(error)){if(line.fileName&&line.fileName.startsWith("node:"))continue;let outPath=cleanPath(line.fileName??"unknown");if(stackPathAlias){outPath=outPath.replace(stackPathAlias.path,stackPathAlias.alias)}const outPos=source_default.blueBright(`${line.lineNumber}:${line.columnNumber}`);const outName=source_default.yellowBright(line.functionName||"<unknown>");if(!outPath.startsWith("@monitor/core")){out.push(source_default.dim(`${stackPrefix}${outPath} > ${outPos} > ${outName}`))}else{out.push(`${stackPrefix}${outPath} > ${outPos} > ${outName}`)}}}catch(error2){out.push(`${prefix} Unnable to parse error stack.`)}}else{out.push(`${prefix} Error stack not available.`)}return out.join("\n")};var dirHandler=(data,options,consoleInstance)=>{if(!consoleInstance)consoleInstance=defaultConsole;if(data instanceof Error){consoleInstance.log(getPrettyError(data,options==null?void 0:options.multilineError));if(!(options==null?void 0:options.multilineError))consoleInstance.log()}else{consoleInstance.log(DIR_DIVIDER);if(data===void 0){consoleInstance.log(specialsColor("> undefined"))}else if(data===null){consoleInstance.log(specialsColor("> null"))}else if(data instanceof Promise){consoleInstance.log(specialsColor("> Promise"))}else if(typeof data==="boolean"){consoleInstance.log(data?lawngreenColor("true"):orangeredColor("false"))}else{consoleInstance.dir(data,options)}consoleInstance.log(DIR_DIVIDER)}};var setTTYTitle=title=>{const txVers=_txAdminVersion?`txAdmin v${_txAdminVersion}`:"txAdmin";const out=title?`${title} - txAdmin`:txVers;process.stdout.write(`\x1B]0;${out}\x07`)};var getLogFunc=(currContext,color,consoleInstance)=>{return(message3,...optParams)=>{if(!consoleInstance)consoleInstance=defaultConsole;const prefix=genLogPrefix(currContext,color);if(typeof message3==="string"){return consoleInstance.log.call(null,`${prefix} ${message3}`,...optParams)}else{return consoleInstance.log.call(null,prefix,message3,...optParams)}}};var consoleFactory=(ctx,subCtx)=>{const currContext=[header,ctx,subCtx].filter(x=>x).join(":");const baseLogs={debug:getLogFunc(currContext,DEBUG_COLOR),log:getLogFunc(currContext,source_default.bgBlue),ok:getLogFunc(currContext,source_default.bgGreen),warn:getLogFunc(currContext,source_default.bgYellow),error:getLogFunc(currContext,source_default.bgRed),dir:(data,options)=>dirHandler.call(null,data,options)};return{...defaultConsole,...baseLogs,tag:subCtx2=>consoleFactory(ctx,subCtx2),multiline:(text,color)=>{if(!Array.isArray(text))text=text.split("\n");const prefix=genLogPrefix(currContext,color);for(const line of text){defaultConsole.log(prefix,line)}},majorMultilineError:text=>{if(!Array.isArray(text))text=text.split("\n");const prefix=genLogPrefix(currContext,source_default.bgRed);defaultConsole.log(prefix,DIVIDER);for(const line of text){if(line){defaultConsole.log(prefix,line)}else{defaultConsole.log(prefix,DIVIDER)}}defaultConsole.log(prefix,DIVIDER)},defer:(ms=250)=>({debug:(...args2)=>setTimeout(()=>baseLogs.debug(...args2),ms),log:(...args2)=>setTimeout(()=>baseLogs.log(...args2),ms),ok:(...args2)=>setTimeout(()=>baseLogs.ok(...args2),ms),warn:(...args2)=>setTimeout(()=>baseLogs.warn(...args2),ms),error:(...args2)=>setTimeout(()=>baseLogs.error(...args2),ms),dir:(...args2)=>setTimeout(()=>baseLogs.dir(...args2),ms)}),verbose:{debug:getLogFunc(currContext,DEBUG_COLOR,verboseConsole),log:getLogFunc(currContext,source_default.bgBlue,verboseConsole),ok:getLogFunc(currContext,source_default.bgGreen,verboseConsole),warn:getLogFunc(currContext,source_default.bgYellow,verboseConsole),error:getLogFunc(currContext,source_default.bgRed,verboseConsole),dir:(data,options)=>dirHandler.call(null,data,options,verboseConsole)},get isVerbose(){return _verboseFlag},setVerbose:state=>{_verboseFlag=!!state},DIVIDER,DIVIDER_CHAR,DIVIDER_SIZE}};var console_default=consoleFactory;global.console=consoleFactory();var modulename="IpChecker";var console2=console_default(modulename);var extendedAllowedLanIps=[];var isIpAddressLocal=ipAddress=>{return/^(127\.|192\.168\.|10\.|::1|fd00::)/.test(ipAddress)||extendedAllowedLanIps.includes(ipAddress)};var addLocalIpAddress=ipAddress=>{extendedAllowedLanIps.push(ipAddress)};var parseFxserverVersion=version=>{if(typeof version!=="string")throw new Error(`expected string`);const fxsVersionRegex=/^FXServer-(?<branch>\S+).*?v1\.0\.0\.(?<build>\d{4,8}) (?<platform>\w+)$/;try{const matches2=fxsVersionRegex.exec(version);if(!matches2)throw new Error(`no match`);return{valid:true,branch:matches2.groups.branch,build:parseInt(matches2.groups.build),platform:matches2.groups.platform==="win32"?"windows":"linux"}}catch(error){return{valid:false,branch:null,build:null,platform:version.includes("win32")?"windows":version.includes("linux")?"linux":null}}};var envConfigs={SRC_PATH:{},FXSERVER_PATH:{},VITE_URL:{default:"http://localhost:40122"},ENABLED:{default:false,parser:val=>Boolean(val)},VERBOSE:{default:false,parser:val=>Boolean(val)},CFXKEY:{},STEAMKEY:{},EXT_STATS_HOST:{},LAUNCH_ARGS:{parser:val=>{const filtered=val.split(/\s+/).filter(Boolean);return filtered.length?filtered:void 0}}};var parseTxDevEnv=()=>{const txDevEnv2={};for(const key of Object.keys(envConfigs)){const keyConfig=envConfigs[key];const value=process.env[`TXDEV_`+key];if(value===void 0){if("default"in keyConfig){txDevEnv2[key]=keyConfig.default}}else{if("parser"in keyConfig){const parsed=keyConfig.parser(value);if(parsed!==void 0){txDevEnv2[key]=parsed}}else{txDevEnv2[key]=value}}}return txDevEnv2};function quitProcess(code=0){process.removeAllListeners("SIGHUP");process.removeAllListeners("SIGINT");process.removeAllListeners("SIGTERM");process.stdout.write("\n");process.stdout.write("\n");Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,100);process.exit(code)}var console3=console_default();var padStartEnd=str2=>{str2=` ${str2} `;const padStart3=Math.ceil((console3.DIVIDER_SIZE+str2.length)/2);return str2.padStart(padStart3,"-").padEnd(console3.DIVIDER_SIZE,"-")};var printSingleLine=line=>{if(Array.isArray(line)){if(line.length===2&&typeof line[0]==="string"){let value=typeof line[1]==="string"?line[1]:String(line[1]);console3.error(`${line[0]}: ${source_default.dim(value)}`)}else{console3.error(JSON.stringify(line))}}else if(typeof line==="string"){console3.error(line)}};function fatalError(code,msg,err){console3.error(console3.DIVIDER);console3.error(source_default.inverse(padStartEnd(`FATAL ERROR: E${code}`)));console3.error(console3.DIVIDER);if(Array.isArray(msg)){for(const line of msg){printSingleLine(line)}}else{printSingleLine(msg)}if(err){console3.error("-".repeat(console3.DIVIDER_SIZE));console3.dir(err,{multilineError:true})}console3.error(console3.DIVIDER);console3.error(source_default.inverse(padStartEnd("For support: https://discord.gg/txAdmin")));console3.error(console3.DIVIDER);quitProcess(code)}fatalError.GlobalData=(code,msg,err)=>fatalError(1e3+code,msg,err);fatalError.Boot=(code,msg,err)=>fatalError(2e3+code,msg,err);fatalError.ConfigStore=(code,msg,err)=>fatalError(5100+code,msg,err);fatalError.Translator=(code,msg,err)=>fatalError(5200+code,msg,err);fatalError.AdminStore=(code,msg,err)=>fatalError(5300+code,msg,err);fatalError.Database=(code,msg,err)=>fatalError(5600+code,msg,err);fatalError.StatsTxRuntime=(code,msg,err)=>fatalError(5700+code,msg,err);fatalError.WebServer=(code,msg,err)=>fatalError(5800+code,msg,err);var fatalError_default=fatalError;var import_node_path2=__toESM(require("node:path"),1);var undefinedKey="UNDEFINED:CONVAR:"+Math.random().toString(36).substring(2,15);var getConvarString=convarName=>{const cvar=GetConvar(convarName,undefinedKey);return cvar!==undefinedKey?cvar.trim():void 0};var cleanNativeResp=resp=>{return typeof resp==="string"&&resp!=="null"&&resp.length?resp:void 0};var anyWarnSent=false;var replacedConvarWarning=(convarName,newName)=>{console.warn(`WARNING: The '${convarName}' ConVar is deprecated and will be removed in the next update.`);console.warn(`         Please use the '${newName}' environment variable instead.`);anyWarnSent=true};var getNativeVars=ignoreDeprecatedConfigs2=>{const fxsVersion2=getConvarString("version");const fxsCitizenRoot=getConvarString("citizen_root");const resourceName=cleanNativeResp(GetCurrentResourceName());if(!resourceName)throw new Error("GetCurrentResourceName() failed");const txaResourceVersion=cleanNativeResp(GetResourceMetadata(resourceName,"version",0));const txaResourcePath=cleanNativeResp(GetResourcePath(resourceName));const txAdminProfile=getConvarString("serverProfile");if(txAdminProfile){console.warn(`WARNING: The 'serverProfile' ConVar is deprecated and will be removed in a future update.`);console.warn(`         To create multiple servers, set up a different TXHOST_DATA_PATH instead.`);anyWarnSent=true}let txDataPath,txAdminPort,txAdminInterface;if(!ignoreDeprecatedConfigs2){txDataPath=getConvarString("txDataPath");if(txDataPath){replacedConvarWarning("txDataPath","TXHOST_DATA_PATH");if(!import_node_path2.default.isAbsolute(txDataPath)){txDataPath=import_node_path2.default.resolve(txDataPath);console.error(`WARNING: The 'txDataPath' ConVar is not an absolute path, please update it to:`);console.error(`         TXHOST_DATA_PATH=${txDataPath}`)}}txAdminPort=getConvarString("txAdminPort");if(txAdminPort)replacedConvarWarning("txAdminPort","TXHOST_TXA_PORT");txAdminInterface=getConvarString("txAdminInterface");if(txAdminInterface)replacedConvarWarning("txAdminInterface","TXHOST_INTERFACE")}if(anyWarnSent){console.warn(`WARNING: For more information: https://aka.cfx.re/txadmin-env-config`)}return{fxsVersion:fxsVersion2,fxsCitizenRoot,resourceName,txaResourceVersion,txaResourcePath,txAdminProfile,txDataPath,txAdminPort,txAdminInterface}};var import_node_path3=__toESM(require("node:path"),1);var util;(function(util4){util4.assertEqual=val=>val;function assertIs(_arg){}util4.assertIs=assertIs;function assertNever(_x){throw new Error}util4.assertNever=assertNever;util4.arrayToEnum=items=>{const obj={};for(const item of items){obj[item]=item}return obj};util4.getValidEnumValues=obj=>{const validKeys=util4.objectKeys(obj).filter(k=>typeof obj[obj[k]]!=="number");const filtered={};for(const k of validKeys){filtered[k]=obj[k]}return util4.objectValues(filtered)};util4.objectValues=obj=>{return util4.objectKeys(obj).map(function(e){return obj[e]})};util4.objectKeys=typeof Object.keys==="function"?obj=>Object.keys(obj):object=>{const keys2=[];for(const key in object){if(Object.prototype.hasOwnProperty.call(object,key)){keys2.push(key)}}return keys2};util4.find=(arr,checker)=>{for(const item of arr){if(checker(item))return item}return void 0};util4.isInteger=typeof Number.isInteger==="function"?val=>Number.isInteger(val):val=>typeof val==="number"&&isFinite(val)&&Math.floor(val)===val;function joinValues(array,separator=" | "){return array.map(val=>typeof val==="string"?`'${val}'`:val).join(separator)}util4.joinValues=joinValues;util4.jsonStringifyReplacer=(_,value)=>{if(typeof value==="bigint"){return value.toString()}return value}})(util||(util={}));var objectUtil;(function(objectUtil2){objectUtil2.mergeShapes=(first,second)=>{return{...first,...second}}})(objectUtil||(objectUtil={}));var ZodParsedType=util.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]);var getParsedType=data=>{const t=typeof data;switch(t){case"undefined":return ZodParsedType.undefined;case"string":return ZodParsedType.string;case"number":return isNaN(data)?ZodParsedType.nan:ZodParsedType.number;case"boolean":return ZodParsedType.boolean;case"function":return ZodParsedType.function;case"bigint":return ZodParsedType.bigint;case"symbol":return ZodParsedType.symbol;case"object":if(Array.isArray(data)){return ZodParsedType.array}if(data===null){return ZodParsedType.null}if(data.then&&typeof data.then==="function"&&data.catch&&typeof data.catch==="function"){return ZodParsedType.promise}if(typeof Map!=="undefined"&&data instanceof Map){return ZodParsedType.map}if(typeof Set!=="undefined"&&data instanceof Set){return ZodParsedType.set}if(typeof Date!=="undefined"&&data instanceof Date){return ZodParsedType.date}return ZodParsedType.object;default:return ZodParsedType.unknown}};var ZodIssueCode=util.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);var quotelessJson=obj=>{const json2=JSON.stringify(obj,null,2);return json2.replace(/"([^"]+)":/g,"$1:")};var ZodError=class _ZodError extends Error{get errors(){return this.issues}constructor(issues){super();this.issues=[];this.addIssue=sub=>{this.issues=[...this.issues,sub]};this.addIssues=(subs=[])=>{this.issues=[...this.issues,...subs]};const actualProto=new.target.prototype;if(Object.setPrototypeOf){Object.setPrototypeOf(this,actualProto)}else{this.__proto__=actualProto}this.name="ZodError";this.issues=issues}format(_mapper){const mapper=_mapper||function(issue){return issue.message};const fieldErrors={_errors:[]};const processError=error=>{for(const issue of error.issues){if(issue.code==="invalid_union"){issue.unionErrors.map(processError)}else if(issue.code==="invalid_return_type"){processError(issue.returnTypeError)}else if(issue.code==="invalid_arguments"){processError(issue.argumentsError)}else if(issue.path.length===0){fieldErrors._errors.push(mapper(issue))}else{let curr=fieldErrors;let i=0;while(i<issue.path.length){const el=issue.path[i];const terminal=i===issue.path.length-1;if(!terminal){curr[el]=curr[el]||{_errors:[]}}else{curr[el]=curr[el]||{_errors:[]};curr[el]._errors.push(mapper(issue))}curr=curr[el];i++}}}};processError(this);return fieldErrors}static assert(value){if(!(value instanceof _ZodError)){throw new Error(`Not a ZodError: ${value}`)}}toString(){return this.message}get message(){return JSON.stringify(this.issues,util.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(mapper=issue=>issue.message){const fieldErrors={};const formErrors=[];for(const sub of this.issues){if(sub.path.length>0){fieldErrors[sub.path[0]]=fieldErrors[sub.path[0]]||[];fieldErrors[sub.path[0]].push(mapper(sub))}else{formErrors.push(mapper(sub))}}return{formErrors,fieldErrors}}get formErrors(){return this.flatten()}};ZodError.create=issues=>{const error=new ZodError(issues);return error};var errorMap=(issue,_ctx)=>{let message3;switch(issue.code){case ZodIssueCode.invalid_type:if(issue.received===ZodParsedType.undefined){message3="Required"}else{message3=`Expected ${issue.expected}, received ${issue.received}`}break;case ZodIssueCode.invalid_literal:message3=`Invalid literal value, expected ${JSON.stringify(issue.expected,util.jsonStringifyReplacer)}`;break;case ZodIssueCode.unrecognized_keys:message3=`Unrecognized key(s) in object: ${util.joinValues(issue.keys,", ")}`;break;case ZodIssueCode.invalid_union:message3=`Invalid input`;break;case ZodIssueCode.invalid_union_discriminator:message3=`Invalid discriminator value. Expected ${util.joinValues(issue.options)}`;break;case ZodIssueCode.invalid_enum_value:message3=`Invalid enum value. Expected ${util.joinValues(issue.options)}, received '${issue.received}'`;break;case ZodIssueCode.invalid_arguments:message3=`Invalid function arguments`;break;case ZodIssueCode.invalid_return_type:message3=`Invalid function return type`;break;case ZodIssueCode.invalid_date:message3=`Invalid date`;break;case ZodIssueCode.invalid_string:if(typeof issue.validation==="object"){if("includes"in issue.validation){message3=`Invalid input: must include "${issue.validation.includes}"`;if(typeof issue.validation.position==="number"){message3=`${message3} at one or more positions greater than or equal to ${issue.validation.position}`}}else if("startsWith"in issue.validation){message3=`Invalid input: must start with "${issue.validation.startsWith}"`}else if("endsWith"in issue.validation){message3=`Invalid input: must end with "${issue.validation.endsWith}"`}else{util.assertNever(issue.validation)}}else if(issue.validation!=="regex"){message3=`Invalid ${issue.validation}`}else{message3="Invalid"}break;case ZodIssueCode.too_small:if(issue.type==="array")message3=`Array must contain ${issue.exact?"exactly":issue.inclusive?`at least`:`more than`} ${issue.minimum} element(s)`;else if(issue.type==="string")message3=`String must contain ${issue.exact?"exactly":issue.inclusive?`at least`:`over`} ${issue.minimum} character(s)`;else if(issue.type==="number")message3=`Number must be ${issue.exact?`exactly equal to `:issue.inclusive?`greater than or equal to `:`greater than `}${issue.minimum}`;else if(issue.type==="date")message3=`Date must be ${issue.exact?`exactly equal to `:issue.inclusive?`greater than or equal to `:`greater than `}${new Date(Number(issue.minimum))}`;else message3="Invalid input";break;case ZodIssueCode.too_big:if(issue.type==="array")message3=`Array must contain ${issue.exact?`exactly`:issue.inclusive?`at most`:`less than`} ${issue.maximum} element(s)`;else if(issue.type==="string")message3=`String must contain ${issue.exact?`exactly`:issue.inclusive?`at most`:`under`} ${issue.maximum} character(s)`;else if(issue.type==="number")message3=`Number must be ${issue.exact?`exactly`:issue.inclusive?`less than or equal to`:`less than`} ${issue.maximum}`;else if(issue.type==="bigint")message3=`BigInt must be ${issue.exact?`exactly`:issue.inclusive?`less than or equal to`:`less than`} ${issue.maximum}`;else if(issue.type==="date")message3=`Date must be ${issue.exact?`exactly`:issue.inclusive?`smaller than or equal to`:`smaller than`} ${new Date(Number(issue.maximum))}`;else message3="Invalid input";break;case ZodIssueCode.custom:message3=`Invalid input`;break;case ZodIssueCode.invalid_intersection_types:message3=`Intersection results could not be merged`;break;case ZodIssueCode.not_multiple_of:message3=`Number must be a multiple of ${issue.multipleOf}`;break;case ZodIssueCode.not_finite:message3="Number must be finite";break;default:message3=_ctx.defaultError;util.assertNever(issue)}return{message:message3}};var overrideErrorMap=errorMap;function setErrorMap(map3){overrideErrorMap=map3}function getErrorMap(){return overrideErrorMap}var makeIssue=params=>{const{data,path:path27,errorMaps,issueData}=params;const fullPath=[...path27,...issueData.path||[]];const fullIssue={...issueData,path:fullPath};if(issueData.message!==void 0){return{...issueData,path:fullPath,message:issueData.message}}let errorMessage="";const maps=errorMaps.filter(m=>!!m).slice().reverse();for(const map3 of maps){errorMessage=map3(fullIssue,{data,defaultError:errorMessage}).message}return{...issueData,path:fullPath,message:errorMessage}};var EMPTY_PATH=[];function addIssueToContext(ctx,issueData){const overrideMap=getErrorMap();const issue=makeIssue({issueData,data:ctx.data,path:ctx.path,errorMaps:[ctx.common.contextualErrorMap,ctx.schemaErrorMap,overrideMap,overrideMap===errorMap?void 0:errorMap].filter(x=>!!x)});ctx.common.issues.push(issue)}var ParseStatus=class _ParseStatus{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(status,results){const arrayValue=[];for(const s of results){if(s.status==="aborted")return INVALID;if(s.status==="dirty")status.dirty();arrayValue.push(s.value)}return{status:status.value,value:arrayValue}}static async mergeObjectAsync(status,pairs2){const syncPairs=[];for(const pair of pairs2){const key=await pair.key;const value=await pair.value;syncPairs.push({key,value})}return _ParseStatus.mergeObjectSync(status,syncPairs)}static mergeObjectSync(status,pairs2){const finalObject={};for(const pair of pairs2){const{key,value}=pair;if(key.status==="aborted")return INVALID;if(value.status==="aborted")return INVALID;if(key.status==="dirty")status.dirty();if(value.status==="dirty")status.dirty();if(key.value!=="__proto__"&&(typeof value.value!=="undefined"||pair.alwaysSet)){finalObject[key.value]=value.value}}return{status:status.value,value:finalObject}}};var INVALID=Object.freeze({status:"aborted"});var DIRTY=value=>({status:"dirty",value});var OK=value=>({status:"valid",value});var isAborted=x=>x.status==="aborted";var isDirty=x=>x.status==="dirty";var isValid=x=>x.status==="valid";var isAsync=x=>typeof Promise!=="undefined"&&x instanceof Promise;function __classPrivateFieldGet(receiver,state,kind,f){if(kind==="a"&&!f)throw new TypeError("Private accessor was defined without a getter");if(typeof state==="function"?receiver!==state||!f:!state.has(receiver))throw new TypeError("Cannot read private member from an object whose class did not declare it");return kind==="m"?f:kind==="a"?f.call(receiver):f?f.value:state.get(receiver)}function __classPrivateFieldSet(receiver,state,value,kind,f){if(kind==="m")throw new TypeError("Private method is not writable");if(kind==="a"&&!f)throw new TypeError("Private accessor was defined without a setter");if(typeof state==="function"?receiver!==state||!f:!state.has(receiver))throw new TypeError("Cannot write private member to an object whose class did not declare it");return kind==="a"?f.call(receiver,value):f?f.value=value:state.set(receiver,value),value}var errorUtil;(function(errorUtil2){errorUtil2.errToObj=message3=>typeof message3==="string"?{message:message3}:message3||{};errorUtil2.toString=message3=>typeof message3==="string"?message3:message3===null||message3===void 0?void 0:message3.message})(errorUtil||(errorUtil={}));var _ZodEnum_cache;var _ZodNativeEnum_cache;var ParseInputLazyPath=class{constructor(parent2,value,path27,key){this._cachedPath=[];this.parent=parent2;this.data=value;this._path=path27;this._key=key}get path(){if(!this._cachedPath.length){if(this._key instanceof Array){this._cachedPath.push(...this._path,...this._key)}else{this._cachedPath.push(...this._path,this._key)}}return this._cachedPath}};var handleResult=(ctx,result2)=>{if(isValid(result2)){return{success:true,data:result2.value}}else{if(!ctx.common.issues.length){throw new Error("Validation failed but no issues detected.")}return{success:false,get error(){if(this._error)return this._error;const error=new ZodError(ctx.common.issues);this._error=error;return this._error}}}};function processCreateParams(params){if(!params)return{};const{errorMap:errorMap2,invalid_type_error,required_error,description}=params;if(errorMap2&&(invalid_type_error||required_error)){throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`)}if(errorMap2)return{errorMap:errorMap2,description};const customMap=(iss,ctx)=>{var _a12,_b2;const{message:message3}=params;if(iss.code==="invalid_enum_value"){return{message:message3!==null&&message3!==void 0?message3:ctx.defaultError}}if(typeof ctx.data==="undefined"){return{message:(_a12=message3!==null&&message3!==void 0?message3:required_error)!==null&&_a12!==void 0?_a12:ctx.defaultError}}if(iss.code!=="invalid_type")return{message:ctx.defaultError};return{message:(_b2=message3!==null&&message3!==void 0?message3:invalid_type_error)!==null&&_b2!==void 0?_b2:ctx.defaultError}};return{errorMap:customMap,description}}var ZodType=class{get description(){return this._def.description}_getType(input){return getParsedType(input.data)}_getOrReturnCtx(input,ctx){return ctx||{common:input.parent.common,data:input.data,parsedType:getParsedType(input.data),schemaErrorMap:this._def.errorMap,path:input.path,parent:input.parent}}_processInputParams(input){return{status:new ParseStatus,ctx:{common:input.parent.common,data:input.data,parsedType:getParsedType(input.data),schemaErrorMap:this._def.errorMap,path:input.path,parent:input.parent}}}_parseSync(input){const result2=this._parse(input);if(isAsync(result2)){throw new Error("Synchronous parse encountered promise.")}return result2}_parseAsync(input){const result2=this._parse(input);return Promise.resolve(result2)}parse(data,params){const result2=this.safeParse(data,params);if(result2.success)return result2.data;throw result2.error}safeParse(data,params){var _a12;const ctx={common:{issues:[],async:(_a12=params===null||params===void 0?void 0:params.async)!==null&&_a12!==void 0?_a12:false,contextualErrorMap:params===null||params===void 0?void 0:params.errorMap},path:(params===null||params===void 0?void 0:params.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data,parsedType:getParsedType(data)};const result2=this._parseSync({data,path:ctx.path,parent:ctx});return handleResult(ctx,result2)}"~validate"(data){var _a12,_b2;const ctx={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data,parsedType:getParsedType(data)};if(!this["~standard"].async){try{const result2=this._parseSync({data,path:[],parent:ctx});return isValid(result2)?{value:result2.value}:{issues:ctx.common.issues}}catch(err){if((_b2=(_a12=err===null||err===void 0?void 0:err.message)===null||_a12===void 0?void 0:_a12.toLowerCase())===null||_b2===void 0?void 0:_b2.includes("encountered")){this["~standard"].async=true}ctx.common={issues:[],async:true}}}return this._parseAsync({data,path:[],parent:ctx}).then(result2=>isValid(result2)?{value:result2.value}:{issues:ctx.common.issues})}async parseAsync(data,params){const result2=await this.safeParseAsync(data,params);if(result2.success)return result2.data;throw result2.error}async safeParseAsync(data,params){const ctx={common:{issues:[],contextualErrorMap:params===null||params===void 0?void 0:params.errorMap,async:true},path:(params===null||params===void 0?void 0:params.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data,parsedType:getParsedType(data)};const maybeAsyncResult=this._parse({data,path:ctx.path,parent:ctx});const result2=await(isAsync(maybeAsyncResult)?maybeAsyncResult:Promise.resolve(maybeAsyncResult));return handleResult(ctx,result2)}refine(check,message3){const getIssueProperties=val=>{if(typeof message3==="string"||typeof message3==="undefined"){return{message:message3}}else if(typeof message3==="function"){return message3(val)}else{return message3}};return this._refinement((val,ctx)=>{const result2=check(val);const setError=()=>ctx.addIssue({code:ZodIssueCode.custom,...getIssueProperties(val)});if(typeof Promise!=="undefined"&&result2 instanceof Promise){return result2.then(data=>{if(!data){setError();return false}else{return true}})}if(!result2){setError();return false}else{return true}})}refinement(check,refinementData){return this._refinement((val,ctx)=>{if(!check(val)){ctx.addIssue(typeof refinementData==="function"?refinementData(val,ctx):refinementData);return false}else{return true}})}_refinement(refinement){return new ZodEffects({schema:this,typeName:ZodFirstPartyTypeKind.ZodEffects,effect:{type:"refinement",refinement}})}superRefine(refinement){return this._refinement(refinement)}constructor(def){this.spa=this.safeParseAsync;this._def=def;this.parse=this.parse.bind(this);this.safeParse=this.safeParse.bind(this);this.parseAsync=this.parseAsync.bind(this);this.safeParseAsync=this.safeParseAsync.bind(this);this.spa=this.spa.bind(this);this.refine=this.refine.bind(this);this.refinement=this.refinement.bind(this);this.superRefine=this.superRefine.bind(this);this.optional=this.optional.bind(this);this.nullable=this.nullable.bind(this);this.nullish=this.nullish.bind(this);this.array=this.array.bind(this);this.promise=this.promise.bind(this);this.or=this.or.bind(this);this.and=this.and.bind(this);this.transform=this.transform.bind(this);this.brand=this.brand.bind(this);this.default=this.default.bind(this);this.catch=this.catch.bind(this);this.describe=this.describe.bind(this);this.pipe=this.pipe.bind(this);this.readonly=this.readonly.bind(this);this.isNullable=this.isNullable.bind(this);this.isOptional=this.isOptional.bind(this);this["~standard"]={version:1,vendor:"zod",validate:data=>this["~validate"](data)}}optional(){return ZodOptional.create(this,this._def)}nullable(){return ZodNullable.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return ZodArray.create(this)}promise(){return ZodPromise.create(this,this._def)}or(option){return ZodUnion.create([this,option],this._def)}and(incoming){return ZodIntersection.create(this,incoming,this._def)}transform(transform2){return new ZodEffects({...processCreateParams(this._def),schema:this,typeName:ZodFirstPartyTypeKind.ZodEffects,effect:{type:"transform",transform:transform2}})}default(def){const defaultValueFunc=typeof def==="function"?def:()=>def;return new ZodDefault({...processCreateParams(this._def),innerType:this,defaultValue:defaultValueFunc,typeName:ZodFirstPartyTypeKind.ZodDefault})}brand(){return new ZodBranded({typeName:ZodFirstPartyTypeKind.ZodBranded,type:this,...processCreateParams(this._def)})}catch(def){const catchValueFunc=typeof def==="function"?def:()=>def;return new ZodCatch({...processCreateParams(this._def),innerType:this,catchValue:catchValueFunc,typeName:ZodFirstPartyTypeKind.ZodCatch})}describe(description){const This=this.constructor;return new This({...this._def,description})}pipe(target){return ZodPipeline.create(this,target)}readonly(){return ZodReadonly.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}};var cuidRegex=/^c[^\s-]{8,}$/i;var cuid2Regex=/^[0-9a-z]+$/;var ulidRegex=/^[0-9A-HJKMNP-TV-Z]{26}$/i;var uuidRegex=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i;var nanoidRegex=/^[a-z0-9_-]{21}$/i;var jwtRegex=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/;var durationRegex=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/;var emailRegex=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i;var _emojiRegex=`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`;var emojiRegex;var ipv4Regex=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;var ipv4CidrRegex=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/;var ipv6Regex=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/;var ipv6CidrRegex=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/;var base64Regex=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/;var base64urlRegex=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/;var dateRegexSource=`((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))`;var dateRegex=new RegExp(`^${dateRegexSource}$`);function timeRegexSource(args2){let regex3=`([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d`;if(args2.precision){regex3=`${regex3}\\.\\d{${args2.precision}}`}else if(args2.precision==null){regex3=`${regex3}(\\.\\d+)?`}return regex3}function timeRegex(args2){return new RegExp(`^${timeRegexSource(args2)}$`)}function datetimeRegex(args2){let regex3=`${dateRegexSource}T${timeRegexSource(args2)}`;const opts=[];opts.push(args2.local?`Z?`:`Z`);if(args2.offset)opts.push(`([+-]\\d{2}:?\\d{2})`);regex3=`${regex3}(${opts.join("|")})`;return new RegExp(`^${regex3}$`)}function isValidIP(ip,version){if((version==="v4"||!version)&&ipv4Regex.test(ip)){return true}if((version==="v6"||!version)&&ipv6Regex.test(ip)){return true}return false}function isValidJWT(jwt,alg){if(!jwtRegex.test(jwt))return false;try{const[header2]=jwt.split(".");const base64=header2.replace(/-/g,"+").replace(/_/g,"/").padEnd(header2.length+(4-header2.length%4)%4,"=");const decoded=JSON.parse(atob(base64));if(typeof decoded!=="object"||decoded===null)return false;if(!decoded.typ||!decoded.alg)return false;if(alg&&decoded.alg!==alg)return false;return true}catch(_a12){return false}}function isValidCidr(ip,version){if((version==="v4"||!version)&&ipv4CidrRegex.test(ip)){return true}if((version==="v6"||!version)&&ipv6CidrRegex.test(ip)){return true}return false}var ZodString=class _ZodString extends ZodType{_parse(input){if(this._def.coerce){input.data=String(input.data)}const parsedType=this._getType(input);if(parsedType!==ZodParsedType.string){const ctx2=this._getOrReturnCtx(input);addIssueToContext(ctx2,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.string,received:ctx2.parsedType});return INVALID}const status=new ParseStatus;let ctx=void 0;for(const check of this._def.checks){if(check.kind==="min"){if(input.data.length<check.value){ctx=this._getOrReturnCtx(input,ctx);addIssueToContext(ctx,{code:ZodIssueCode.too_small,minimum:check.value,type:"string",inclusive:true,exact:false,message:check.message});status.dirty()}}else if(check.kind==="max"){if(input.data.length>check.value){ctx=this._getOrReturnCtx(input,ctx);addIssueToContext(ctx,{code:ZodIssueCode.too_big,maximum:check.value,type:"string",inclusive:true,exact:false,message:check.message});status.dirty()}}else if(check.kind==="length"){const tooBig=input.data.length>check.value;const tooSmall=input.data.length<check.value;if(tooBig||tooSmall){ctx=this._getOrReturnCtx(input,ctx);if(tooBig){addIssueToContext(ctx,{code:ZodIssueCode.too_big,maximum:check.value,type:"string",inclusive:true,exact:true,message:check.message})}else if(tooSmall){addIssueToContext(ctx,{code:ZodIssueCode.too_small,minimum:check.value,type:"string",inclusive:true,exact:true,message:check.message})}status.dirty()}}else if(check.kind==="email"){if(!emailRegex.test(input.data)){ctx=this._getOrReturnCtx(input,ctx);addIssueToContext(ctx,{validation:"email",code:ZodIssueCode.invalid_string,message:check.message});status.dirty()}}else if(check.kind==="emoji"){if(!emojiRegex){emojiRegex=new RegExp(_emojiRegex,"u")}if(!emojiRegex.test(input.data)){ctx=this._getOrReturnCtx(input,ctx);addIssueToContext(ctx,{validation:"emoji",code:ZodIssueCode.invalid_string,message:check.message});status.dirty()}}else if(check.kind==="uuid"){if(!uuidRegex.test(input.data)){ctx=this._getOrReturnCtx(input,ctx);addIssueToContext(ctx,{validation:"uuid",code:ZodIssueCode.invalid_string,message:check.message});status.dirty()}}else if(check.kind==="nanoid"){if(!nanoidRegex.test(input.data)){ctx=this._getOrReturnCtx(input,ctx);addIssueToContext(ctx,{validation:"nanoid",code:ZodIssueCode.invalid_string,message:check.message});status.dirty()}}else if(check.kind==="cuid"){if(!cuidRegex.test(input.data)){ctx=this._getOrReturnCtx(input,ctx);addIssueToContext(ctx,{validation:"cuid",code:ZodIssueCode.invalid_string,message:check.message});status.dirty()}}else if(check.kind==="cuid2"){if(!cuid2Regex.test(input.data)){ctx=this._getOrReturnCtx(input,ctx);addIssueToContext(ctx,{validation:"cuid2",code:ZodIssueCode.invalid_string,message:check.message});status.dirty()}}else if(check.kind==="ulid"){if(!ulidRegex.test(input.data)){ctx=this._getOrReturnCtx(input,ctx);addIssueToContext(ctx,{validation:"ulid",code:ZodIssueCode.invalid_string,message:check.message});status.dirty()}}else if(check.kind==="url"){try{new URL(input.data)}catch(_a12){ctx=this._getOrReturnCtx(input,ctx);addIssueToContext(ctx,{validation:"url",code:ZodIssueCode.invalid_string,message:check.message});status.dirty()}}else if(check.kind==="regex"){check.regex.lastIndex=0;const testResult=check.regex.test(input.data);if(!testResult){ctx=this._getOrReturnCtx(input,ctx);addIssueToContext(ctx,{validation:"regex",code:ZodIssueCode.invalid_string,message:check.message});status.dirty()}}else if(check.kind==="trim"){input.data=input.data.trim()}else if(check.kind==="includes"){if(!input.data.includes(check.value,check.position)){ctx=this._getOrReturnCtx(input,ctx);addIssueToContext(ctx,{code:ZodIssueCode.invalid_string,validation:{includes:check.value,position:check.position},message:check.message});status.dirty()}}else if(check.kind==="toLowerCase"){input.data=input.data.toLowerCase()}else if(check.kind==="toUpperCase"){input.data=input.data.toUpperCase()}else if(check.kind==="startsWith"){if(!input.data.startsWith(check.value)){ctx=this._getOrReturnCtx(input,ctx);addIssueToContext(ctx,{code:ZodIssueCode.invalid_string,validation:{startsWith:check.value},message:check.message});status.dirty()}}else if(check.kind==="endsWith"){if(!input.data.endsWith(check.value)){ctx=this._getOrReturnCtx(input,ctx);addIssueToContext(ctx,{code:ZodIssueCode.invalid_string,validation:{endsWith:check.value},message:check.message});status.dirty()}}else if(check.kind==="datetime"){const regex3=datetimeRegex(check);if(!regex3.test(input.data)){ctx=this._getOrReturnCtx(input,ctx);addIssueToContext(ctx,{code:ZodIssueCode.invalid_string,validation:"datetime",message:check.message});status.dirty()}}else if(check.kind==="date"){const regex3=dateRegex;if(!regex3.test(input.data)){ctx=this._getOrReturnCtx(input,ctx);addIssueToContext(ctx,{code:ZodIssueCode.invalid_string,validation:"date",message:check.message});status.dirty()}}else if(check.kind==="time"){const regex3=timeRegex(check);if(!regex3.test(input.data)){ctx=this._getOrReturnCtx(input,ctx);addIssueToContext(ctx,{code:ZodIssueCode.invalid_string,validation:"time",message:check.message});status.dirty()}}else if(check.kind==="duration"){if(!durationRegex.test(input.data)){ctx=this._getOrReturnCtx(input,ctx);addIssueToContext(ctx,{validation:"duration",code:ZodIssueCode.invalid_string,message:check.message});status.dirty()}}else if(check.kind==="ip"){if(!isValidIP(input.data,check.version)){ctx=this._getOrReturnCtx(input,ctx);addIssueToContext(ctx,{validation:"ip",code:ZodIssueCode.invalid_string,message:check.message});status.dirty()}}else if(check.kind==="jwt"){if(!isValidJWT(input.data,check.alg)){ctx=this._getOrReturnCtx(input,ctx);addIssueToContext(ctx,{validation:"jwt",code:ZodIssueCode.invalid_string,message:check.message});status.dirty()}}else if(check.kind==="cidr"){if(!isValidCidr(input.data,check.version)){ctx=this._getOrReturnCtx(input,ctx);addIssueToContext(ctx,{validation:"cidr",code:ZodIssueCode.invalid_string,message:check.message});status.dirty()}}else if(check.kind==="base64"){if(!base64Regex.test(input.data)){ctx=this._getOrReturnCtx(input,ctx);addIssueToContext(ctx,{validation:"base64",code:ZodIssueCode.invalid_string,message:check.message});status.dirty()}}else if(check.kind==="base64url"){if(!base64urlRegex.test(input.data)){ctx=this._getOrReturnCtx(input,ctx);addIssueToContext(ctx,{validation:"base64url",code:ZodIssueCode.invalid_string,message:check.message});status.dirty()}}else{util.assertNever(check)}}return{status:status.value,value:input.data}}_regex(regex3,validation,message3){return this.refinement(data=>regex3.test(data),{validation,code:ZodIssueCode.invalid_string,...errorUtil.errToObj(message3)})}_addCheck(check){return new _ZodString({...this._def,checks:[...this._def.checks,check]})}email(message3){return this._addCheck({kind:"email",...errorUtil.errToObj(message3)})}url(message3){return this._addCheck({kind:"url",...errorUtil.errToObj(message3)})}emoji(message3){return this._addCheck({kind:"emoji",...errorUtil.errToObj(message3)})}uuid(message3){return this._addCheck({kind:"uuid",...errorUtil.errToObj(message3)})}nanoid(message3){return this._addCheck({kind:"nanoid",...errorUtil.errToObj(message3)})}cuid(message3){return this._addCheck({kind:"cuid",...errorUtil.errToObj(message3)})}cuid2(message3){return this._addCheck({kind:"cuid2",...errorUtil.errToObj(message3)})}ulid(message3){return this._addCheck({kind:"ulid",...errorUtil.errToObj(message3)})}base64(message3){return this._addCheck({kind:"base64",...errorUtil.errToObj(message3)})}base64url(message3){return this._addCheck({kind:"base64url",...errorUtil.errToObj(message3)})}jwt(options){return this._addCheck({kind:"jwt",...errorUtil.errToObj(options)})}ip(options){return this._addCheck({kind:"ip",...errorUtil.errToObj(options)})}cidr(options){return this._addCheck({kind:"cidr",...errorUtil.errToObj(options)})}datetime(options){var _a12,_b2;if(typeof options==="string"){return this._addCheck({kind:"datetime",precision:null,offset:false,local:false,message:options})}return this._addCheck({kind:"datetime",precision:typeof(options===null||options===void 0?void 0:options.precision)==="undefined"?null:options===null||options===void 0?void 0:options.precision,offset:(_a12=options===null||options===void 0?void 0:options.offset)!==null&&_a12!==void 0?_a12:false,local:(_b2=options===null||options===void 0?void 0:options.local)!==null&&_b2!==void 0?_b2:false,...errorUtil.errToObj(options===null||options===void 0?void 0:options.message)})}date(message3){return this._addCheck({kind:"date",message:message3})}time(options){if(typeof options==="string"){return this._addCheck({kind:"time",precision:null,message:options})}return this._addCheck({kind:"time",precision:typeof(options===null||options===void 0?void 0:options.precision)==="undefined"?null:options===null||options===void 0?void 0:options.precision,...errorUtil.errToObj(options===null||options===void 0?void 0:options.message)})}duration(message3){return this._addCheck({kind:"duration",...errorUtil.errToObj(message3)})}regex(regex3,message3){return this._addCheck({kind:"regex",regex:regex3,...errorUtil.errToObj(message3)})}includes(value,options){return this._addCheck({kind:"includes",value,position:options===null||options===void 0?void 0:options.position,...errorUtil.errToObj(options===null||options===void 0?void 0:options.message)})}startsWith(value,message3){return this._addCheck({kind:"startsWith",value,...errorUtil.errToObj(message3)})}endsWith(value,message3){return this._addCheck({kind:"endsWith",value,...errorUtil.errToObj(message3)})}min(minLength,message3){return this._addCheck({kind:"min",value:minLength,...errorUtil.errToObj(message3)})}max(maxLength,message3){return this._addCheck({kind:"max",value:maxLength,...errorUtil.errToObj(message3)})}length(len,message3){return this._addCheck({kind:"length",value:len,...errorUtil.errToObj(message3)})}nonempty(message3){return this.min(1,errorUtil.errToObj(message3))}trim(){return new _ZodString({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new _ZodString({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new _ZodString({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(ch=>ch.kind==="datetime")}get isDate(){return!!this._def.checks.find(ch=>ch.kind==="date")}get isTime(){return!!this._def.checks.find(ch=>ch.kind==="time")}get isDuration(){return!!this._def.checks.find(ch=>ch.kind==="duration")}get isEmail(){return!!this._def.checks.find(ch=>ch.kind==="email")}get isURL(){return!!this._def.checks.find(ch=>ch.kind==="url")}get isEmoji(){return!!this._def.checks.find(ch=>ch.kind==="emoji")}get isUUID(){return!!this._def.checks.find(ch=>ch.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(ch=>ch.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(ch=>ch.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(ch=>ch.kind==="cuid2")}get isULID(){return!!this._def.checks.find(ch=>ch.kind==="ulid")}get isIP(){return!!this._def.checks.find(ch=>ch.kind==="ip")}get isCIDR(){return!!this._def.checks.find(ch=>ch.kind==="cidr")}get isBase64(){return!!this._def.checks.find(ch=>ch.kind==="base64")}get isBase64url(){return!!this._def.checks.find(ch=>ch.kind==="base64url")}get minLength(){let min3=null;for(const ch of this._def.checks){if(ch.kind==="min"){if(min3===null||ch.value>min3)min3=ch.value}}return min3}get maxLength(){let max3=null;for(const ch of this._def.checks){if(ch.kind==="max"){if(max3===null||ch.value<max3)max3=ch.value}}return max3}};ZodString.create=params=>{var _a12;return new ZodString({checks:[],typeName:ZodFirstPartyTypeKind.ZodString,coerce:(_a12=params===null||params===void 0?void 0:params.coerce)!==null&&_a12!==void 0?_a12:false,...processCreateParams(params)})};function floatSafeRemainder(val,step){const valDecCount=(val.toString().split(".")[1]||"").length;const stepDecCount=(step.toString().split(".")[1]||"").length;const decCount=valDecCount>stepDecCount?valDecCount:stepDecCount;const valInt=parseInt(val.toFixed(decCount).replace(".",""));const stepInt=parseInt(step.toFixed(decCount).replace(".",""));return valInt%stepInt/Math.pow(10,decCount)}var ZodNumber=class _ZodNumber extends ZodType{constructor(){super(...arguments);this.min=this.gte;this.max=this.lte;this.step=this.multipleOf}_parse(input){if(this._def.coerce){input.data=Number(input.data)}const parsedType=this._getType(input);if(parsedType!==ZodParsedType.number){const ctx2=this._getOrReturnCtx(input);addIssueToContext(ctx2,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.number,received:ctx2.parsedType});return INVALID}let ctx=void 0;const status=new ParseStatus;for(const check of this._def.checks){if(check.kind==="int"){if(!util.isInteger(input.data)){ctx=this._getOrReturnCtx(input,ctx);addIssueToContext(ctx,{code:ZodIssueCode.invalid_type,expected:"integer",received:"float",message:check.message});status.dirty()}}else if(check.kind==="min"){const tooSmall=check.inclusive?input.data<check.value:input.data<=check.value;if(tooSmall){ctx=this._getOrReturnCtx(input,ctx);addIssueToContext(ctx,{code:ZodIssueCode.too_small,minimum:check.value,type:"number",inclusive:check.inclusive,exact:false,message:check.message});status.dirty()}}else if(check.kind==="max"){const tooBig=check.inclusive?input.data>check.value:input.data>=check.value;if(tooBig){ctx=this._getOrReturnCtx(input,ctx);addIssueToContext(ctx,{code:ZodIssueCode.too_big,maximum:check.value,type:"number",inclusive:check.inclusive,exact:false,message:check.message});status.dirty()}}else if(check.kind==="multipleOf"){if(floatSafeRemainder(input.data,check.value)!==0){ctx=this._getOrReturnCtx(input,ctx);addIssueToContext(ctx,{code:ZodIssueCode.not_multiple_of,multipleOf:check.value,message:check.message});status.dirty()}}else if(check.kind==="finite"){if(!Number.isFinite(input.data)){ctx=this._getOrReturnCtx(input,ctx);addIssueToContext(ctx,{code:ZodIssueCode.not_finite,message:check.message});status.dirty()}}else{util.assertNever(check)}}return{status:status.value,value:input.data}}gte(value,message3){return this.setLimit("min",value,true,errorUtil.toString(message3))}gt(value,message3){return this.setLimit("min",value,false,errorUtil.toString(message3))}lte(value,message3){return this.setLimit("max",value,true,errorUtil.toString(message3))}lt(value,message3){return this.setLimit("max",value,false,errorUtil.toString(message3))}setLimit(kind,value,inclusive,message3){return new _ZodNumber({...this._def,checks:[...this._def.checks,{kind,value,inclusive,message:errorUtil.toString(message3)}]})}_addCheck(check){return new _ZodNumber({...this._def,checks:[...this._def.checks,check]})}int(message3){return this._addCheck({kind:"int",message:errorUtil.toString(message3)})}positive(message3){return this._addCheck({kind:"min",value:0,inclusive:false,message:errorUtil.toString(message3)})}negative(message3){return this._addCheck({kind:"max",value:0,inclusive:false,message:errorUtil.toString(message3)})}nonpositive(message3){return this._addCheck({kind:"max",value:0,inclusive:true,message:errorUtil.toString(message3)})}nonnegative(message3){return this._addCheck({kind:"min",value:0,inclusive:true,message:errorUtil.toString(message3)})}multipleOf(value,message3){return this._addCheck({kind:"multipleOf",value,message:errorUtil.toString(message3)})}finite(message3){return this._addCheck({kind:"finite",message:errorUtil.toString(message3)})}safe(message3){return this._addCheck({kind:"min",inclusive:true,value:Number.MIN_SAFE_INTEGER,message:errorUtil.toString(message3)})._addCheck({kind:"max",inclusive:true,value:Number.MAX_SAFE_INTEGER,message:errorUtil.toString(message3)})}get minValue(){let min3=null;for(const ch of this._def.checks){if(ch.kind==="min"){if(min3===null||ch.value>min3)min3=ch.value}}return min3}get maxValue(){let max3=null;for(const ch of this._def.checks){if(ch.kind==="max"){if(max3===null||ch.value<max3)max3=ch.value}}return max3}get isInt(){return!!this._def.checks.find(ch=>ch.kind==="int"||ch.kind==="multipleOf"&&util.isInteger(ch.value))}get isFinite(){let max3=null,min3=null;for(const ch of this._def.checks){if(ch.kind==="finite"||ch.kind==="int"||ch.kind==="multipleOf"){return true}else if(ch.kind==="min"){if(min3===null||ch.value>min3)min3=ch.value}else if(ch.kind==="max"){if(max3===null||ch.value<max3)max3=ch.value}}return Number.isFinite(min3)&&Number.isFinite(max3)}};ZodNumber.create=params=>{return new ZodNumber({checks:[],typeName:ZodFirstPartyTypeKind.ZodNumber,coerce:(params===null||params===void 0?void 0:params.coerce)||false,...processCreateParams(params)})};var ZodBigInt=class _ZodBigInt extends ZodType{constructor(){super(...arguments);this.min=this.gte;this.max=this.lte}_parse(input){if(this._def.coerce){try{input.data=BigInt(input.data)}catch(_a12){return this._getInvalidInput(input)}}const parsedType=this._getType(input);if(parsedType!==ZodParsedType.bigint){return this._getInvalidInput(input)}let ctx=void 0;const status=new ParseStatus;for(const check of this._def.checks){if(check.kind==="min"){const tooSmall=check.inclusive?input.data<check.value:input.data<=check.value;if(tooSmall){ctx=this._getOrReturnCtx(input,ctx);addIssueToContext(ctx,{code:ZodIssueCode.too_small,type:"bigint",minimum:check.value,inclusive:check.inclusive,message:check.message});status.dirty()}}else if(check.kind==="max"){const tooBig=check.inclusive?input.data>check.value:input.data>=check.value;if(tooBig){ctx=this._getOrReturnCtx(input,ctx);addIssueToContext(ctx,{code:ZodIssueCode.too_big,type:"bigint",maximum:check.value,inclusive:check.inclusive,message:check.message});status.dirty()}}else if(check.kind==="multipleOf"){if(input.data%check.value!==BigInt(0)){ctx=this._getOrReturnCtx(input,ctx);addIssueToContext(ctx,{code:ZodIssueCode.not_multiple_of,multipleOf:check.value,message:check.message});status.dirty()}}else{util.assertNever(check)}}return{status:status.value,value:input.data}}_getInvalidInput(input){const ctx=this._getOrReturnCtx(input);addIssueToContext(ctx,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.bigint,received:ctx.parsedType});return INVALID}gte(value,message3){return this.setLimit("min",value,true,errorUtil.toString(message3))}gt(value,message3){return this.setLimit("min",value,false,errorUtil.toString(message3))}lte(value,message3){return this.setLimit("max",value,true,errorUtil.toString(message3))}lt(value,message3){return this.setLimit("max",value,false,errorUtil.toString(message3))}setLimit(kind,value,inclusive,message3){return new _ZodBigInt({...this._def,checks:[...this._def.checks,{kind,value,inclusive,message:errorUtil.toString(message3)}]})}_addCheck(check){return new _ZodBigInt({...this._def,checks:[...this._def.checks,check]})}positive(message3){return this._addCheck({kind:"min",value:BigInt(0),inclusive:false,message:errorUtil.toString(message3)})}negative(message3){return this._addCheck({kind:"max",value:BigInt(0),inclusive:false,message:errorUtil.toString(message3)})}nonpositive(message3){return this._addCheck({kind:"max",value:BigInt(0),inclusive:true,message:errorUtil.toString(message3)})}nonnegative(message3){return this._addCheck({kind:"min",value:BigInt(0),inclusive:true,message:errorUtil.toString(message3)})}multipleOf(value,message3){return this._addCheck({kind:"multipleOf",value,message:errorUtil.toString(message3)})}get minValue(){let min3=null;for(const ch of this._def.checks){if(ch.kind==="min"){if(min3===null||ch.value>min3)min3=ch.value}}return min3}get maxValue(){let max3=null;for(const ch of this._def.checks){if(ch.kind==="max"){if(max3===null||ch.value<max3)max3=ch.value}}return max3}};ZodBigInt.create=params=>{var _a12;return new ZodBigInt({checks:[],typeName:ZodFirstPartyTypeKind.ZodBigInt,coerce:(_a12=params===null||params===void 0?void 0:params.coerce)!==null&&_a12!==void 0?_a12:false,...processCreateParams(params)})};var ZodBoolean=class extends ZodType{_parse(input){if(this._def.coerce){input.data=Boolean(input.data)}const parsedType=this._getType(input);if(parsedType!==ZodParsedType.boolean){const ctx=this._getOrReturnCtx(input);addIssueToContext(ctx,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.boolean,received:ctx.parsedType});return INVALID}return OK(input.data)}};ZodBoolean.create=params=>{return new ZodBoolean({typeName:ZodFirstPartyTypeKind.ZodBoolean,coerce:(params===null||params===void 0?void 0:params.coerce)||false,...processCreateParams(params)})};var ZodDate=class _ZodDate extends ZodType{_parse(input){if(this._def.coerce){input.data=new Date(input.data)}const parsedType=this._getType(input);if(parsedType!==ZodParsedType.date){const ctx2=this._getOrReturnCtx(input);addIssueToContext(ctx2,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.date,received:ctx2.parsedType});return INVALID}if(isNaN(input.data.getTime())){const ctx2=this._getOrReturnCtx(input);addIssueToContext(ctx2,{code:ZodIssueCode.invalid_date});return INVALID}const status=new ParseStatus;let ctx=void 0;for(const check of this._def.checks){if(check.kind==="min"){if(input.data.getTime()<check.value){ctx=this._getOrReturnCtx(input,ctx);addIssueToContext(ctx,{code:ZodIssueCode.too_small,message:check.message,inclusive:true,exact:false,minimum:check.value,type:"date"});status.dirty()}}else if(check.kind==="max"){if(input.data.getTime()>check.value){ctx=this._getOrReturnCtx(input,ctx);addIssueToContext(ctx,{code:ZodIssueCode.too_big,message:check.message,inclusive:true,exact:false,maximum:check.value,type:"date"});status.dirty()}}else{util.assertNever(check)}}return{status:status.value,value:new Date(input.data.getTime())}}_addCheck(check){return new _ZodDate({...this._def,checks:[...this._def.checks,check]})}min(minDate,message3){return this._addCheck({kind:"min",value:minDate.getTime(),message:errorUtil.toString(message3)})}max(maxDate,message3){return this._addCheck({kind:"max",value:maxDate.getTime(),message:errorUtil.toString(message3)})}get minDate(){let min3=null;for(const ch of this._def.checks){if(ch.kind==="min"){if(min3===null||ch.value>min3)min3=ch.value}}return min3!=null?new Date(min3):null}get maxDate(){let max3=null;for(const ch of this._def.checks){if(ch.kind==="max"){if(max3===null||ch.value<max3)max3=ch.value}}return max3!=null?new Date(max3):null}};ZodDate.create=params=>{return new ZodDate({checks:[],coerce:(params===null||params===void 0?void 0:params.coerce)||false,typeName:ZodFirstPartyTypeKind.ZodDate,...processCreateParams(params)})};var ZodSymbol=class extends ZodType{_parse(input){const parsedType=this._getType(input);if(parsedType!==ZodParsedType.symbol){const ctx=this._getOrReturnCtx(input);addIssueToContext(ctx,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.symbol,received:ctx.parsedType});return INVALID}return OK(input.data)}};ZodSymbol.create=params=>{return new ZodSymbol({typeName:ZodFirstPartyTypeKind.ZodSymbol,...processCreateParams(params)})};var ZodUndefined=class extends ZodType{_parse(input){const parsedType=this._getType(input);if(parsedType!==ZodParsedType.undefined){const ctx=this._getOrReturnCtx(input);addIssueToContext(ctx,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.undefined,received:ctx.parsedType});return INVALID}return OK(input.data)}};ZodUndefined.create=params=>{return new ZodUndefined({typeName:ZodFirstPartyTypeKind.ZodUndefined,...processCreateParams(params)})};var ZodNull=class extends ZodType{_parse(input){const parsedType=this._getType(input);if(parsedType!==ZodParsedType.null){const ctx=this._getOrReturnCtx(input);addIssueToContext(ctx,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.null,received:ctx.parsedType});return INVALID}return OK(input.data)}};ZodNull.create=params=>{return new ZodNull({typeName:ZodFirstPartyTypeKind.ZodNull,...processCreateParams(params)})};var ZodAny=class extends ZodType{constructor(){super(...arguments);this._any=true}_parse(input){return OK(input.data)}};ZodAny.create=params=>{return new ZodAny({typeName:ZodFirstPartyTypeKind.ZodAny,...processCreateParams(params)})};var ZodUnknown=class extends ZodType{constructor(){super(...arguments);this._unknown=true}_parse(input){return OK(input.data)}};ZodUnknown.create=params=>{return new ZodUnknown({typeName:ZodFirstPartyTypeKind.ZodUnknown,...processCreateParams(params)})};var ZodNever=class extends ZodType{_parse(input){const ctx=this._getOrReturnCtx(input);addIssueToContext(ctx,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.never,received:ctx.parsedType});return INVALID}};ZodNever.create=params=>{return new ZodNever({typeName:ZodFirstPartyTypeKind.ZodNever,...processCreateParams(params)})};var ZodVoid=class extends ZodType{_parse(input){const parsedType=this._getType(input);if(parsedType!==ZodParsedType.undefined){const ctx=this._getOrReturnCtx(input);addIssueToContext(ctx,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.void,received:ctx.parsedType});return INVALID}return OK(input.data)}};ZodVoid.create=params=>{return new ZodVoid({typeName:ZodFirstPartyTypeKind.ZodVoid,...processCreateParams(params)})};var ZodArray=class _ZodArray extends ZodType{_parse(input){const{ctx,status}=this._processInputParams(input);const def=this._def;if(ctx.parsedType!==ZodParsedType.array){addIssueToContext(ctx,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.array,received:ctx.parsedType});return INVALID}if(def.exactLength!==null){const tooBig=ctx.data.length>def.exactLength.value;const tooSmall=ctx.data.length<def.exactLength.value;if(tooBig||tooSmall){addIssueToContext(ctx,{code:tooBig?ZodIssueCode.too_big:ZodIssueCode.too_small,minimum:tooSmall?def.exactLength.value:void 0,maximum:tooBig?def.exactLength.value:void 0,type:"array",inclusive:true,exact:true,message:def.exactLength.message});status.dirty()}}if(def.minLength!==null){if(ctx.data.length<def.minLength.value){addIssueToContext(ctx,{code:ZodIssueCode.too_small,minimum:def.minLength.value,type:"array",inclusive:true,exact:false,message:def.minLength.message});status.dirty()}}if(def.maxLength!==null){if(ctx.data.length>def.maxLength.value){addIssueToContext(ctx,{code:ZodIssueCode.too_big,maximum:def.maxLength.value,type:"array",inclusive:true,exact:false,message:def.maxLength.message});status.dirty()}}if(ctx.common.async){return Promise.all([...ctx.data].map((item,i)=>{return def.type._parseAsync(new ParseInputLazyPath(ctx,item,ctx.path,i))})).then(result3=>{return ParseStatus.mergeArray(status,result3)})}const result2=[...ctx.data].map((item,i)=>{return def.type._parseSync(new ParseInputLazyPath(ctx,item,ctx.path,i))});return ParseStatus.mergeArray(status,result2)}get element(){return this._def.type}min(minLength,message3){return new _ZodArray({...this._def,minLength:{value:minLength,message:errorUtil.toString(message3)}})}max(maxLength,message3){return new _ZodArray({...this._def,maxLength:{value:maxLength,message:errorUtil.toString(message3)}})}length(len,message3){return new _ZodArray({...this._def,exactLength:{value:len,message:errorUtil.toString(message3)}})}nonempty(message3){return this.min(1,message3)}};ZodArray.create=(schema2,params)=>{return new ZodArray({type:schema2,minLength:null,maxLength:null,exactLength:null,typeName:ZodFirstPartyTypeKind.ZodArray,...processCreateParams(params)})};function deepPartialify(schema2){if(schema2 instanceof ZodObject){const newShape={};for(const key in schema2.shape){const fieldSchema=schema2.shape[key];newShape[key]=ZodOptional.create(deepPartialify(fieldSchema))}return new ZodObject({...schema2._def,shape:()=>newShape})}else if(schema2 instanceof ZodArray){return new ZodArray({...schema2._def,type:deepPartialify(schema2.element)})}else if(schema2 instanceof ZodOptional){return ZodOptional.create(deepPartialify(schema2.unwrap()))}else if(schema2 instanceof ZodNullable){return ZodNullable.create(deepPartialify(schema2.unwrap()))}else if(schema2 instanceof ZodTuple){return ZodTuple.create(schema2.items.map(item=>deepPartialify(item)))}else{return schema2}}var ZodObject=class _ZodObject extends ZodType{constructor(){super(...arguments);this._cached=null;this.nonstrict=this.passthrough;this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const shape=this._def.shape();const keys2=util.objectKeys(shape);return this._cached={shape,keys:keys2}}_parse(input){const parsedType=this._getType(input);if(parsedType!==ZodParsedType.object){const ctx2=this._getOrReturnCtx(input);addIssueToContext(ctx2,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.object,received:ctx2.parsedType});return INVALID}const{status,ctx}=this._processInputParams(input);const{shape,keys:shapeKeys}=this._getCached();const extraKeys=[];if(!(this._def.catchall instanceof ZodNever&&this._def.unknownKeys==="strip")){for(const key in ctx.data){if(!shapeKeys.includes(key)){extraKeys.push(key)}}}const pairs2=[];for(const key of shapeKeys){const keyValidator=shape[key];const value=ctx.data[key];pairs2.push({key:{status:"valid",value:key},value:keyValidator._parse(new ParseInputLazyPath(ctx,value,ctx.path,key)),alwaysSet:key in ctx.data})}if(this._def.catchall instanceof ZodNever){const unknownKeys=this._def.unknownKeys;if(unknownKeys==="passthrough"){for(const key of extraKeys){pairs2.push({key:{status:"valid",value:key},value:{status:"valid",value:ctx.data[key]}})}}else if(unknownKeys==="strict"){if(extraKeys.length>0){addIssueToContext(ctx,{code:ZodIssueCode.unrecognized_keys,keys:extraKeys});status.dirty()}}else if(unknownKeys==="strip");else{throw new Error(`Internal ZodObject error: invalid unknownKeys value.`)}}else{const catchall=this._def.catchall;for(const key of extraKeys){const value=ctx.data[key];pairs2.push({key:{status:"valid",value:key},value:catchall._parse(new ParseInputLazyPath(ctx,value,ctx.path,key)),alwaysSet:key in ctx.data})}}if(ctx.common.async){return Promise.resolve().then(async()=>{const syncPairs=[];for(const pair of pairs2){const key=await pair.key;const value=await pair.value;syncPairs.push({key,value,alwaysSet:pair.alwaysSet})}return syncPairs}).then(syncPairs=>{return ParseStatus.mergeObjectSync(status,syncPairs)})}else{return ParseStatus.mergeObjectSync(status,pairs2)}}get shape(){return this._def.shape()}strict(message3){errorUtil.errToObj;return new _ZodObject({...this._def,unknownKeys:"strict",...message3!==void 0?{errorMap:(issue,ctx)=>{var _a12,_b2,_c,_d;const defaultError=(_c=(_b2=(_a12=this._def).errorMap)===null||_b2===void 0?void 0:_b2.call(_a12,issue,ctx).message)!==null&&_c!==void 0?_c:ctx.defaultError;if(issue.code==="unrecognized_keys")return{message:(_d=errorUtil.errToObj(message3).message)!==null&&_d!==void 0?_d:defaultError};return{message:defaultError}}}:{}})}strip(){return new _ZodObject({...this._def,unknownKeys:"strip"})}passthrough(){return new _ZodObject({...this._def,unknownKeys:"passthrough"})}extend(augmentation){return new _ZodObject({...this._def,shape:()=>({...this._def.shape(),...augmentation})})}merge(merging){const merged=new _ZodObject({unknownKeys:merging._def.unknownKeys,catchall:merging._def.catchall,shape:()=>({...this._def.shape(),...merging._def.shape()}),typeName:ZodFirstPartyTypeKind.ZodObject});return merged}setKey(key,schema2){return this.augment({[key]:schema2})}catchall(index){return new _ZodObject({...this._def,catchall:index})}pick(mask){const shape={};util.objectKeys(mask).forEach(key=>{if(mask[key]&&this.shape[key]){shape[key]=this.shape[key]}});return new _ZodObject({...this._def,shape:()=>shape})}omit(mask){const shape={};util.objectKeys(this.shape).forEach(key=>{if(!mask[key]){shape[key]=this.shape[key]}});return new _ZodObject({...this._def,shape:()=>shape})}deepPartial(){return deepPartialify(this)}partial(mask){const newShape={};util.objectKeys(this.shape).forEach(key=>{const fieldSchema=this.shape[key];if(mask&&!mask[key]){newShape[key]=fieldSchema}else{newShape[key]=fieldSchema.optional()}});return new _ZodObject({...this._def,shape:()=>newShape})}required(mask){const newShape={};util.objectKeys(this.shape).forEach(key=>{if(mask&&!mask[key]){newShape[key]=this.shape[key]}else{const fieldSchema=this.shape[key];let newField=fieldSchema;while(newField instanceof ZodOptional){newField=newField._def.innerType}newShape[key]=newField}});return new _ZodObject({...this._def,shape:()=>newShape})}keyof(){return createZodEnum(util.objectKeys(this.shape))}};ZodObject.create=(shape,params)=>{return new ZodObject({shape:()=>shape,unknownKeys:"strip",catchall:ZodNever.create(),typeName:ZodFirstPartyTypeKind.ZodObject,...processCreateParams(params)})};ZodObject.strictCreate=(shape,params)=>{return new ZodObject({shape:()=>shape,unknownKeys:"strict",catchall:ZodNever.create(),typeName:ZodFirstPartyTypeKind.ZodObject,...processCreateParams(params)})};ZodObject.lazycreate=(shape,params)=>{return new ZodObject({shape,unknownKeys:"strip",catchall:ZodNever.create(),typeName:ZodFirstPartyTypeKind.ZodObject,...processCreateParams(params)})};var ZodUnion=class extends ZodType{_parse(input){const{ctx}=this._processInputParams(input);const options=this._def.options;function handleResults(results){for(const result2 of results){if(result2.result.status==="valid"){return result2.result}}for(const result2 of results){if(result2.result.status==="dirty"){ctx.common.issues.push(...result2.ctx.common.issues);return result2.result}}const unionErrors=results.map(result2=>new ZodError(result2.ctx.common.issues));addIssueToContext(ctx,{code:ZodIssueCode.invalid_union,unionErrors});return INVALID}if(ctx.common.async){return Promise.all(options.map(async option=>{const childCtx={...ctx,common:{...ctx.common,issues:[]},parent:null};return{result:await option._parseAsync({data:ctx.data,path:ctx.path,parent:childCtx}),ctx:childCtx}})).then(handleResults)}else{let dirty=void 0;const issues=[];for(const option of options){const childCtx={...ctx,common:{...ctx.common,issues:[]},parent:null};const result2=option._parseSync({data:ctx.data,path:ctx.path,parent:childCtx});if(result2.status==="valid"){return result2}else if(result2.status==="dirty"&&!dirty){dirty={result:result2,ctx:childCtx}}if(childCtx.common.issues.length){issues.push(childCtx.common.issues)}}if(dirty){ctx.common.issues.push(...dirty.ctx.common.issues);return dirty.result}const unionErrors=issues.map(issues2=>new ZodError(issues2));addIssueToContext(ctx,{code:ZodIssueCode.invalid_union,unionErrors});return INVALID}}get options(){return this._def.options}};ZodUnion.create=(types6,params)=>{return new ZodUnion({options:types6,typeName:ZodFirstPartyTypeKind.ZodUnion,...processCreateParams(params)})};var getDiscriminator=type2=>{if(type2 instanceof ZodLazy){return getDiscriminator(type2.schema)}else if(type2 instanceof ZodEffects){return getDiscriminator(type2.innerType())}else if(type2 instanceof ZodLiteral){return[type2.value]}else if(type2 instanceof ZodEnum){return type2.options}else if(type2 instanceof ZodNativeEnum){return util.objectValues(type2.enum)}else if(type2 instanceof ZodDefault){return getDiscriminator(type2._def.innerType)}else if(type2 instanceof ZodUndefined){return[void 0]}else if(type2 instanceof ZodNull){return[null]}else if(type2 instanceof ZodOptional){return[void 0,...getDiscriminator(type2.unwrap())]}else if(type2 instanceof ZodNullable){return[null,...getDiscriminator(type2.unwrap())]}else if(type2 instanceof ZodBranded){return getDiscriminator(type2.unwrap())}else if(type2 instanceof ZodReadonly){return getDiscriminator(type2.unwrap())}else if(type2 instanceof ZodCatch){return getDiscriminator(type2._def.innerType)}else{return[]}};var ZodDiscriminatedUnion=class _ZodDiscriminatedUnion extends ZodType{_parse(input){const{ctx}=this._processInputParams(input);if(ctx.parsedType!==ZodParsedType.object){addIssueToContext(ctx,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.object,received:ctx.parsedType});return INVALID}const discriminator=this.discriminator;const discriminatorValue=ctx.data[discriminator];const option=this.optionsMap.get(discriminatorValue);if(!option){addIssueToContext(ctx,{code:ZodIssueCode.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[discriminator]});return INVALID}if(ctx.common.async){return option._parseAsync({data:ctx.data,path:ctx.path,parent:ctx})}else{return option._parseSync({data:ctx.data,path:ctx.path,parent:ctx})}}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(discriminator,options,params){const optionsMap=new Map;for(const type2 of options){const discriminatorValues=getDiscriminator(type2.shape[discriminator]);if(!discriminatorValues.length){throw new Error(`A discriminator value for key \`${discriminator}\` could not be extracted from all schema options`)}for(const value of discriminatorValues){if(optionsMap.has(value)){throw new Error(`Discriminator property ${String(discriminator)} has duplicate value ${String(value)}`)}optionsMap.set(value,type2)}}return new _ZodDiscriminatedUnion({typeName:ZodFirstPartyTypeKind.ZodDiscriminatedUnion,discriminator,options,optionsMap,...processCreateParams(params)})}};function mergeValues(a,b){const aType=getParsedType(a);const bType=getParsedType(b);if(a===b){return{valid:true,data:a}}else if(aType===ZodParsedType.object&&bType===ZodParsedType.object){const bKeys=util.objectKeys(b);const sharedKeys=util.objectKeys(a).filter(key=>bKeys.indexOf(key)!==-1);const newObj={...a,...b};for(const key of sharedKeys){const sharedValue=mergeValues(a[key],b[key]);if(!sharedValue.valid){return{valid:false}}newObj[key]=sharedValue.data}return{valid:true,data:newObj}}else if(aType===ZodParsedType.array&&bType===ZodParsedType.array){if(a.length!==b.length){return{valid:false}}const newArray=[];for(let index=0;index<a.length;index++){const itemA=a[index];const itemB=b[index];const sharedValue=mergeValues(itemA,itemB);if(!sharedValue.valid){return{valid:false}}newArray.push(sharedValue.data)}return{valid:true,data:newArray}}else if(aType===ZodParsedType.date&&bType===ZodParsedType.date&&+a===+b){return{valid:true,data:a}}else{return{valid:false}}}var ZodIntersection=class extends ZodType{_parse(input){const{status,ctx}=this._processInputParams(input);const handleParsed=(parsedLeft,parsedRight)=>{if(isAborted(parsedLeft)||isAborted(parsedRight)){return INVALID}const merged=mergeValues(parsedLeft.value,parsedRight.value);if(!merged.valid){addIssueToContext(ctx,{code:ZodIssueCode.invalid_intersection_types});return INVALID}if(isDirty(parsedLeft)||isDirty(parsedRight)){status.dirty()}return{status:status.value,value:merged.data}};if(ctx.common.async){return Promise.all([this._def.left._parseAsync({data:ctx.data,path:ctx.path,parent:ctx}),this._def.right._parseAsync({data:ctx.data,path:ctx.path,parent:ctx})]).then(([left,right])=>handleParsed(left,right))}else{return handleParsed(this._def.left._parseSync({data:ctx.data,path:ctx.path,parent:ctx}),this._def.right._parseSync({data:ctx.data,path:ctx.path,parent:ctx}))}}};ZodIntersection.create=(left,right,params)=>{return new ZodIntersection({left,right,typeName:ZodFirstPartyTypeKind.ZodIntersection,...processCreateParams(params)})};var ZodTuple=class _ZodTuple extends ZodType{_parse(input){const{status,ctx}=this._processInputParams(input);if(ctx.parsedType!==ZodParsedType.array){addIssueToContext(ctx,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.array,received:ctx.parsedType});return INVALID}if(ctx.data.length<this._def.items.length){addIssueToContext(ctx,{code:ZodIssueCode.too_small,minimum:this._def.items.length,inclusive:true,exact:false,type:"array"});return INVALID}const rest2=this._def.rest;if(!rest2&&ctx.data.length>this._def.items.length){addIssueToContext(ctx,{code:ZodIssueCode.too_big,maximum:this._def.items.length,inclusive:true,exact:false,type:"array"});status.dirty()}const items=[...ctx.data].map((item,itemIndex)=>{const schema2=this._def.items[itemIndex]||this._def.rest;if(!schema2)return null;return schema2._parse(new ParseInputLazyPath(ctx,item,ctx.path,itemIndex))}).filter(x=>!!x);if(ctx.common.async){return Promise.all(items).then(results=>{return ParseStatus.mergeArray(status,results)})}else{return ParseStatus.mergeArray(status,items)}}get items(){return this._def.items}rest(rest2){return new _ZodTuple({...this._def,rest:rest2})}};ZodTuple.create=(schemas,params)=>{if(!Array.isArray(schemas)){throw new Error("You must pass an array of schemas to z.tuple([ ... ])")}return new ZodTuple({items:schemas,typeName:ZodFirstPartyTypeKind.ZodTuple,rest:null,...processCreateParams(params)})};var ZodRecord=class _ZodRecord extends ZodType{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(input){const{status,ctx}=this._processInputParams(input);if(ctx.parsedType!==ZodParsedType.object){addIssueToContext(ctx,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.object,received:ctx.parsedType});return INVALID}const pairs2=[];const keyType=this._def.keyType;const valueType=this._def.valueType;for(const key in ctx.data){pairs2.push({key:keyType._parse(new ParseInputLazyPath(ctx,key,ctx.path,key)),value:valueType._parse(new ParseInputLazyPath(ctx,ctx.data[key],ctx.path,key)),alwaysSet:key in ctx.data})}if(ctx.common.async){return ParseStatus.mergeObjectAsync(status,pairs2)}else{return ParseStatus.mergeObjectSync(status,pairs2)}}get element(){return this._def.valueType}static create(first,second,third){if(second instanceof ZodType){return new _ZodRecord({keyType:first,valueType:second,typeName:ZodFirstPartyTypeKind.ZodRecord,...processCreateParams(third)})}return new _ZodRecord({keyType:ZodString.create(),valueType:first,typeName:ZodFirstPartyTypeKind.ZodRecord,...processCreateParams(second)})}};var ZodMap=class extends ZodType{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(input){const{status,ctx}=this._processInputParams(input);if(ctx.parsedType!==ZodParsedType.map){addIssueToContext(ctx,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.map,received:ctx.parsedType});return INVALID}const keyType=this._def.keyType;const valueType=this._def.valueType;const pairs2=[...ctx.data.entries()].map(([key,value],index)=>{return{key:keyType._parse(new ParseInputLazyPath(ctx,key,ctx.path,[index,"key"])),value:valueType._parse(new ParseInputLazyPath(ctx,value,ctx.path,[index,"value"]))}});if(ctx.common.async){const finalMap=new Map;return Promise.resolve().then(async()=>{for(const pair of pairs2){const key=await pair.key;const value=await pair.value;if(key.status==="aborted"||value.status==="aborted"){return INVALID}if(key.status==="dirty"||value.status==="dirty"){status.dirty()}finalMap.set(key.value,value.value)}return{status:status.value,value:finalMap}})}else{const finalMap=new Map;for(const pair of pairs2){const key=pair.key;const value=pair.value;if(key.status==="aborted"||value.status==="aborted"){return INVALID}if(key.status==="dirty"||value.status==="dirty"){status.dirty()}finalMap.set(key.value,value.value)}return{status:status.value,value:finalMap}}}};ZodMap.create=(keyType,valueType,params)=>{return new ZodMap({valueType,keyType,typeName:ZodFirstPartyTypeKind.ZodMap,...processCreateParams(params)})};var ZodSet=class _ZodSet extends ZodType{_parse(input){const{status,ctx}=this._processInputParams(input);if(ctx.parsedType!==ZodParsedType.set){addIssueToContext(ctx,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.set,received:ctx.parsedType});return INVALID}const def=this._def;if(def.minSize!==null){if(ctx.data.size<def.minSize.value){addIssueToContext(ctx,{code:ZodIssueCode.too_small,minimum:def.minSize.value,type:"set",inclusive:true,exact:false,message:def.minSize.message});status.dirty()}}if(def.maxSize!==null){if(ctx.data.size>def.maxSize.value){addIssueToContext(ctx,{code:ZodIssueCode.too_big,maximum:def.maxSize.value,type:"set",inclusive:true,exact:false,message:def.maxSize.message});status.dirty()}}const valueType=this._def.valueType;function finalizeSet(elements2){const parsedSet=new Set;for(const element of elements2){if(element.status==="aborted")return INVALID;if(element.status==="dirty")status.dirty();parsedSet.add(element.value)}return{status:status.value,value:parsedSet}}const elements=[...ctx.data.values()].map((item,i)=>valueType._parse(new ParseInputLazyPath(ctx,item,ctx.path,i)));if(ctx.common.async){return Promise.all(elements).then(elements2=>finalizeSet(elements2))}else{return finalizeSet(elements)}}min(minSize,message3){return new _ZodSet({...this._def,minSize:{value:minSize,message:errorUtil.toString(message3)}})}max(maxSize,message3){return new _ZodSet({...this._def,maxSize:{value:maxSize,message:errorUtil.toString(message3)}})}size(size2,message3){return this.min(size2,message3).max(size2,message3)}nonempty(message3){return this.min(1,message3)}};ZodSet.create=(valueType,params)=>{return new ZodSet({valueType,minSize:null,maxSize:null,typeName:ZodFirstPartyTypeKind.ZodSet,...processCreateParams(params)})};var ZodFunction=class _ZodFunction extends ZodType{constructor(){super(...arguments);this.validate=this.implement}_parse(input){const{ctx}=this._processInputParams(input);if(ctx.parsedType!==ZodParsedType.function){addIssueToContext(ctx,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.function,received:ctx.parsedType});return INVALID}function makeArgsIssue(args2,error){return makeIssue({data:args2,path:ctx.path,errorMaps:[ctx.common.contextualErrorMap,ctx.schemaErrorMap,getErrorMap(),errorMap].filter(x=>!!x),issueData:{code:ZodIssueCode.invalid_arguments,argumentsError:error}})}function makeReturnsIssue(returns,error){return makeIssue({data:returns,path:ctx.path,errorMaps:[ctx.common.contextualErrorMap,ctx.schemaErrorMap,getErrorMap(),errorMap].filter(x=>!!x),issueData:{code:ZodIssueCode.invalid_return_type,returnTypeError:error}})}const params={errorMap:ctx.common.contextualErrorMap};const fn2=ctx.data;if(this._def.returns instanceof ZodPromise){const me=this;return OK(async function(...args2){const error=new ZodError([]);const parsedArgs=await me._def.args.parseAsync(args2,params).catch(e=>{error.addIssue(makeArgsIssue(args2,e));throw error});const result2=await Reflect.apply(fn2,this,parsedArgs);const parsedReturns=await me._def.returns._def.type.parseAsync(result2,params).catch(e=>{error.addIssue(makeReturnsIssue(result2,e));throw error});return parsedReturns})}else{const me=this;return OK(function(...args2){const parsedArgs=me._def.args.safeParse(args2,params);if(!parsedArgs.success){throw new ZodError([makeArgsIssue(args2,parsedArgs.error)])}const result2=Reflect.apply(fn2,this,parsedArgs.data);const parsedReturns=me._def.returns.safeParse(result2,params);if(!parsedReturns.success){throw new ZodError([makeReturnsIssue(result2,parsedReturns.error)])}return parsedReturns.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...items){return new _ZodFunction({...this._def,args:ZodTuple.create(items).rest(ZodUnknown.create())})}returns(returnType){return new _ZodFunction({...this._def,returns:returnType})}implement(func){const validatedFunc=this.parse(func);return validatedFunc}strictImplement(func){const validatedFunc=this.parse(func);return validatedFunc}static create(args2,returns,params){return new _ZodFunction({args:args2?args2:ZodTuple.create([]).rest(ZodUnknown.create()),returns:returns||ZodUnknown.create(),typeName:ZodFirstPartyTypeKind.ZodFunction,...processCreateParams(params)})}};var ZodLazy=class extends ZodType{get schema(){return this._def.getter()}_parse(input){const{ctx}=this._processInputParams(input);const lazySchema=this._def.getter();return lazySchema._parse({data:ctx.data,path:ctx.path,parent:ctx})}};ZodLazy.create=(getter,params)=>{return new ZodLazy({getter,typeName:ZodFirstPartyTypeKind.ZodLazy,...processCreateParams(params)})};var ZodLiteral=class extends ZodType{_parse(input){if(input.data!==this._def.value){const ctx=this._getOrReturnCtx(input);addIssueToContext(ctx,{received:ctx.data,code:ZodIssueCode.invalid_literal,expected:this._def.value});return INVALID}return{status:"valid",value:input.data}}get value(){return this._def.value}};ZodLiteral.create=(value,params)=>{return new ZodLiteral({value,typeName:ZodFirstPartyTypeKind.ZodLiteral,...processCreateParams(params)})};function createZodEnum(values2,params){return new ZodEnum({values:values2,typeName:ZodFirstPartyTypeKind.ZodEnum,...processCreateParams(params)})}var ZodEnum=class _ZodEnum extends ZodType{constructor(){super(...arguments);_ZodEnum_cache.set(this,void 0)}_parse(input){if(typeof input.data!=="string"){const ctx=this._getOrReturnCtx(input);const expectedValues=this._def.values;addIssueToContext(ctx,{expected:util.joinValues(expectedValues),received:ctx.parsedType,code:ZodIssueCode.invalid_type});return INVALID}if(!__classPrivateFieldGet(this,_ZodEnum_cache,"f")){__classPrivateFieldSet(this,_ZodEnum_cache,new Set(this._def.values),"f")}if(!__classPrivateFieldGet(this,_ZodEnum_cache,"f").has(input.data)){const ctx=this._getOrReturnCtx(input);const expectedValues=this._def.values;addIssueToContext(ctx,{received:ctx.data,code:ZodIssueCode.invalid_enum_value,options:expectedValues});return INVALID}return OK(input.data)}get options(){return this._def.values}get enum(){const enumValues={};for(const val of this._def.values){enumValues[val]=val}return enumValues}get Values(){const enumValues={};for(const val of this._def.values){enumValues[val]=val}return enumValues}get Enum(){const enumValues={};for(const val of this._def.values){enumValues[val]=val}return enumValues}extract(values2,newDef=this._def){return _ZodEnum.create(values2,{...this._def,...newDef})}exclude(values2,newDef=this._def){return _ZodEnum.create(this.options.filter(opt=>!values2.includes(opt)),{...this._def,...newDef})}};_ZodEnum_cache=new WeakMap;ZodEnum.create=createZodEnum;var ZodNativeEnum=class extends ZodType{constructor(){super(...arguments);_ZodNativeEnum_cache.set(this,void 0)}_parse(input){const nativeEnumValues=util.getValidEnumValues(this._def.values);const ctx=this._getOrReturnCtx(input);if(ctx.parsedType!==ZodParsedType.string&&ctx.parsedType!==ZodParsedType.number){const expectedValues=util.objectValues(nativeEnumValues);addIssueToContext(ctx,{expected:util.joinValues(expectedValues),received:ctx.parsedType,code:ZodIssueCode.invalid_type});return INVALID}if(!__classPrivateFieldGet(this,_ZodNativeEnum_cache,"f")){__classPrivateFieldSet(this,_ZodNativeEnum_cache,new Set(util.getValidEnumValues(this._def.values)),"f")}if(!__classPrivateFieldGet(this,_ZodNativeEnum_cache,"f").has(input.data)){const expectedValues=util.objectValues(nativeEnumValues);addIssueToContext(ctx,{received:ctx.data,code:ZodIssueCode.invalid_enum_value,options:expectedValues});return INVALID}return OK(input.data)}get enum(){return this._def.values}};_ZodNativeEnum_cache=new WeakMap;ZodNativeEnum.create=(values2,params)=>{return new ZodNativeEnum({values:values2,typeName:ZodFirstPartyTypeKind.ZodNativeEnum,...processCreateParams(params)})};var ZodPromise=class extends ZodType{unwrap(){return this._def.type}_parse(input){const{ctx}=this._processInputParams(input);if(ctx.parsedType!==ZodParsedType.promise&&ctx.common.async===false){addIssueToContext(ctx,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.promise,received:ctx.parsedType});return INVALID}const promisified=ctx.parsedType===ZodParsedType.promise?ctx.data:Promise.resolve(ctx.data);return OK(promisified.then(data=>{return this._def.type.parseAsync(data,{path:ctx.path,errorMap:ctx.common.contextualErrorMap})}))}};ZodPromise.create=(schema2,params)=>{return new ZodPromise({type:schema2,typeName:ZodFirstPartyTypeKind.ZodPromise,...processCreateParams(params)})};var ZodEffects=class extends ZodType{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===ZodFirstPartyTypeKind.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(input){const{status,ctx}=this._processInputParams(input);const effect=this._def.effect||null;const checkCtx={addIssue:arg=>{addIssueToContext(ctx,arg);if(arg.fatal){status.abort()}else{status.dirty()}},get path(){return ctx.path}};checkCtx.addIssue=checkCtx.addIssue.bind(checkCtx);if(effect.type==="preprocess"){const processed=effect.transform(ctx.data,checkCtx);if(ctx.common.async){return Promise.resolve(processed).then(async processed2=>{if(status.value==="aborted")return INVALID;const result2=await this._def.schema._parseAsync({data:processed2,path:ctx.path,parent:ctx});if(result2.status==="aborted")return INVALID;if(result2.status==="dirty")return DIRTY(result2.value);if(status.value==="dirty")return DIRTY(result2.value);return result2})}else{if(status.value==="aborted")return INVALID;const result2=this._def.schema._parseSync({data:processed,path:ctx.path,parent:ctx});if(result2.status==="aborted")return INVALID;if(result2.status==="dirty")return DIRTY(result2.value);if(status.value==="dirty")return DIRTY(result2.value);return result2}}if(effect.type==="refinement"){const executeRefinement=acc=>{const result2=effect.refinement(acc,checkCtx);if(ctx.common.async){return Promise.resolve(result2)}if(result2 instanceof Promise){throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.")}return acc};if(ctx.common.async===false){const inner=this._def.schema._parseSync({data:ctx.data,path:ctx.path,parent:ctx});if(inner.status==="aborted")return INVALID;if(inner.status==="dirty")status.dirty();executeRefinement(inner.value);return{status:status.value,value:inner.value}}else{return this._def.schema._parseAsync({data:ctx.data,path:ctx.path,parent:ctx}).then(inner=>{if(inner.status==="aborted")return INVALID;if(inner.status==="dirty")status.dirty();return executeRefinement(inner.value).then(()=>{return{status:status.value,value:inner.value}})})}}if(effect.type==="transform"){if(ctx.common.async===false){const base=this._def.schema._parseSync({data:ctx.data,path:ctx.path,parent:ctx});if(!isValid(base))return base;const result2=effect.transform(base.value,checkCtx);if(result2 instanceof Promise){throw new Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`)}return{status:status.value,value:result2}}else{return this._def.schema._parseAsync({data:ctx.data,path:ctx.path,parent:ctx}).then(base=>{if(!isValid(base))return base;return Promise.resolve(effect.transform(base.value,checkCtx)).then(result2=>({status:status.value,value:result2}))})}}util.assertNever(effect)}};ZodEffects.create=(schema2,effect,params)=>{return new ZodEffects({schema:schema2,typeName:ZodFirstPartyTypeKind.ZodEffects,effect,...processCreateParams(params)})};ZodEffects.createWithPreprocess=(preprocess,schema2,params)=>{return new ZodEffects({schema:schema2,effect:{type:"preprocess",transform:preprocess},typeName:ZodFirstPartyTypeKind.ZodEffects,...processCreateParams(params)})};var ZodOptional=class extends ZodType{_parse(input){const parsedType=this._getType(input);if(parsedType===ZodParsedType.undefined){return OK(void 0)}return this._def.innerType._parse(input)}unwrap(){return this._def.innerType}};ZodOptional.create=(type2,params)=>{return new ZodOptional({innerType:type2,typeName:ZodFirstPartyTypeKind.ZodOptional,...processCreateParams(params)})};var ZodNullable=class extends ZodType{_parse(input){const parsedType=this._getType(input);if(parsedType===ZodParsedType.null){return OK(null)}return this._def.innerType._parse(input)}unwrap(){return this._def.innerType}};ZodNullable.create=(type2,params)=>{return new ZodNullable({innerType:type2,typeName:ZodFirstPartyTypeKind.ZodNullable,...processCreateParams(params)})};var ZodDefault=class extends ZodType{_parse(input){const{ctx}=this._processInputParams(input);let data=ctx.data;if(ctx.parsedType===ZodParsedType.undefined){data=this._def.defaultValue()}return this._def.innerType._parse({data,path:ctx.path,parent:ctx})}removeDefault(){return this._def.innerType}};ZodDefault.create=(type2,params)=>{return new ZodDefault({innerType:type2,typeName:ZodFirstPartyTypeKind.ZodDefault,defaultValue:typeof params.default==="function"?params.default:()=>params.default,...processCreateParams(params)})};var ZodCatch=class extends ZodType{_parse(input){const{ctx}=this._processInputParams(input);const newCtx={...ctx,common:{...ctx.common,issues:[]}};const result2=this._def.innerType._parse({data:newCtx.data,path:newCtx.path,parent:{...newCtx}});if(isAsync(result2)){return result2.then(result3=>{return{status:"valid",value:result3.status==="valid"?result3.value:this._def.catchValue({get error(){return new ZodError(newCtx.common.issues)},input:newCtx.data})}})}else{return{status:"valid",value:result2.status==="valid"?result2.value:this._def.catchValue({get error(){return new ZodError(newCtx.common.issues)},input:newCtx.data})}}}removeCatch(){return this._def.innerType}};ZodCatch.create=(type2,params)=>{return new ZodCatch({innerType:type2,typeName:ZodFirstPartyTypeKind.ZodCatch,catchValue:typeof params.catch==="function"?params.catch:()=>params.catch,...processCreateParams(params)})};var ZodNaN=class extends ZodType{_parse(input){const parsedType=this._getType(input);if(parsedType!==ZodParsedType.nan){const ctx=this._getOrReturnCtx(input);addIssueToContext(ctx,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.nan,received:ctx.parsedType});return INVALID}return{status:"valid",value:input.data}}};ZodNaN.create=params=>{return new ZodNaN({typeName:ZodFirstPartyTypeKind.ZodNaN,...processCreateParams(params)})};var BRAND=Symbol("zod_brand");var ZodBranded=class extends ZodType{_parse(input){const{ctx}=this._processInputParams(input);const data=ctx.data;return this._def.type._parse({data,path:ctx.path,parent:ctx})}unwrap(){return this._def.type}};var ZodPipeline=class _ZodPipeline extends ZodType{_parse(input){const{status,ctx}=this._processInputParams(input);if(ctx.common.async){const handleAsync=async()=>{const inResult=await this._def.in._parseAsync({data:ctx.data,path:ctx.path,parent:ctx});if(inResult.status==="aborted")return INVALID;if(inResult.status==="dirty"){status.dirty();return DIRTY(inResult.value)}else{return this._def.out._parseAsync({data:inResult.value,path:ctx.path,parent:ctx})}};return handleAsync()}else{const inResult=this._def.in._parseSync({data:ctx.data,path:ctx.path,parent:ctx});if(inResult.status==="aborted")return INVALID;if(inResult.status==="dirty"){status.dirty();return{status:"dirty",value:inResult.value}}else{return this._def.out._parseSync({data:inResult.value,path:ctx.path,parent:ctx})}}}static create(a,b){return new _ZodPipeline({in:a,out:b,typeName:ZodFirstPartyTypeKind.ZodPipeline})}};var ZodReadonly=class extends ZodType{_parse(input){const result2=this._def.innerType._parse(input);const freeze=data=>{if(isValid(data)){data.value=Object.freeze(data.value)}return data};return isAsync(result2)?result2.then(data=>freeze(data)):freeze(result2)}unwrap(){return this._def.innerType}};ZodReadonly.create=(type2,params)=>{return new ZodReadonly({innerType:type2,typeName:ZodFirstPartyTypeKind.ZodReadonly,...processCreateParams(params)})};function custom(check,params={},fatal){if(check)return ZodAny.create().superRefine((data,ctx)=>{var _a12,_b2;if(!check(data)){const p=typeof params==="function"?params(data):typeof params==="string"?{message:params}:params;const _fatal=(_b2=(_a12=p.fatal)!==null&&_a12!==void 0?_a12:fatal)!==null&&_b2!==void 0?_b2:true;const p2=typeof p==="string"?{message:p}:p;ctx.addIssue({code:"custom",...p2,fatal:_fatal})}});return ZodAny.create()}var late={object:ZodObject.lazycreate};var ZodFirstPartyTypeKind;(function(ZodFirstPartyTypeKind2){ZodFirstPartyTypeKind2["ZodString"]="ZodString";ZodFirstPartyTypeKind2["ZodNumber"]="ZodNumber";ZodFirstPartyTypeKind2["ZodNaN"]="ZodNaN";ZodFirstPartyTypeKind2["ZodBigInt"]="ZodBigInt";ZodFirstPartyTypeKind2["ZodBoolean"]="ZodBoolean";ZodFirstPartyTypeKind2["ZodDate"]="ZodDate";ZodFirstPartyTypeKind2["ZodSymbol"]="ZodSymbol";ZodFirstPartyTypeKind2["ZodUndefined"]="ZodUndefined";ZodFirstPartyTypeKind2["ZodNull"]="ZodNull";ZodFirstPartyTypeKind2["ZodAny"]="ZodAny";ZodFirstPartyTypeKind2["ZodUnknown"]="ZodUnknown";ZodFirstPartyTypeKind2["ZodNever"]="ZodNever";ZodFirstPartyTypeKind2["ZodVoid"]="ZodVoid";ZodFirstPartyTypeKind2["ZodArray"]="ZodArray";ZodFirstPartyTypeKind2["ZodObject"]="ZodObject";ZodFirstPartyTypeKind2["ZodUnion"]="ZodUnion";ZodFirstPartyTypeKind2["ZodDiscriminatedUnion"]="ZodDiscriminatedUnion";ZodFirstPartyTypeKind2["ZodIntersection"]="ZodIntersection";ZodFirstPartyTypeKind2["ZodTuple"]="ZodTuple";ZodFirstPartyTypeKind2["ZodRecord"]="ZodRecord";ZodFirstPartyTypeKind2["ZodMap"]="ZodMap";ZodFirstPartyTypeKind2["ZodSet"]="ZodSet";ZodFirstPartyTypeKind2["ZodFunction"]="ZodFunction";ZodFirstPartyTypeKind2["ZodLazy"]="ZodLazy";ZodFirstPartyTypeKind2["ZodLiteral"]="ZodLiteral";ZodFirstPartyTypeKind2["ZodEnum"]="ZodEnum";ZodFirstPartyTypeKind2["ZodEffects"]="ZodEffects";ZodFirstPartyTypeKind2["ZodNativeEnum"]="ZodNativeEnum";ZodFirstPartyTypeKind2["ZodOptional"]="ZodOptional";ZodFirstPartyTypeKind2["ZodNullable"]="ZodNullable";ZodFirstPartyTypeKind2["ZodDefault"]="ZodDefault";ZodFirstPartyTypeKind2["ZodCatch"]="ZodCatch";ZodFirstPartyTypeKind2["ZodPromise"]="ZodPromise";ZodFirstPartyTypeKind2["ZodBranded"]="ZodBranded";ZodFirstPartyTypeKind2["ZodPipeline"]="ZodPipeline";ZodFirstPartyTypeKind2["ZodReadonly"]="ZodReadonly"})(ZodFirstPartyTypeKind||(ZodFirstPartyTypeKind={}));var instanceOfType=(cls,params={message:`Input not instance of ${cls.name}`})=>custom(data=>data instanceof cls,params);var stringType=ZodString.create;var numberType=ZodNumber.create;var nanType=ZodNaN.create;var bigIntType=ZodBigInt.create;var booleanType=ZodBoolean.create;var dateType=ZodDate.create;var symbolType=ZodSymbol.create;var undefinedType=ZodUndefined.create;var nullType=ZodNull.create;var anyType=ZodAny.create;var unknownType=ZodUnknown.create;var neverType=ZodNever.create;var voidType=ZodVoid.create;var arrayType=ZodArray.create;var objectType=ZodObject.create;var strictObjectType=ZodObject.strictCreate;var unionType=ZodUnion.create;var discriminatedUnionType=ZodDiscriminatedUnion.create;var intersectionType=ZodIntersection.create;var tupleType=ZodTuple.create;var recordType=ZodRecord.create;var mapType=ZodMap.create;var setType=ZodSet.create;var functionType=ZodFunction.create;var lazyType=ZodLazy.create;var literalType=ZodLiteral.create;var enumType=ZodEnum.create;var nativeEnumType=ZodNativeEnum.create;var promiseType=ZodPromise.create;var effectsType=ZodEffects.create;var optionalType=ZodOptional.create;var nullableType=ZodNullable.create;var preprocessType=ZodEffects.createWithPreprocess;var pipelineType=ZodPipeline.create;var ostring=()=>stringType().optional();var onumber=()=>numberType().optional();var oboolean=()=>booleanType().optional();var coerce={string:arg=>ZodString.create({...arg,coerce:true}),number:arg=>ZodNumber.create({...arg,coerce:true}),boolean:arg=>ZodBoolean.create({...arg,coerce:true}),bigint:arg=>ZodBigInt.create({...arg,coerce:true}),date:arg=>ZodDate.create({...arg,coerce:true})};var NEVER=INVALID;var z=Object.freeze({__proto__:null,defaultErrorMap:errorMap,setErrorMap,getErrorMap,makeIssue,EMPTY_PATH,addIssueToContext,ParseStatus,INVALID,DIRTY,OK,isAborted,isDirty,isValid,isAsync,get util(){return util},get objectUtil(){return objectUtil},ZodParsedType,getParsedType,ZodType,datetimeRegex,ZodString,ZodNumber,ZodBigInt,ZodBoolean,ZodDate,ZodSymbol,ZodUndefined,ZodNull,ZodAny,ZodUnknown,ZodNever,ZodVoid,ZodArray,ZodObject,ZodUnion,ZodDiscriminatedUnion,ZodIntersection,ZodTuple,ZodRecord,ZodMap,ZodSet,ZodFunction,ZodLazy,ZodLiteral,ZodEnum,ZodNativeEnum,ZodPromise,ZodEffects,ZodTransformer:ZodEffects,ZodOptional,ZodNullable,ZodDefault,ZodCatch,ZodNaN,BRAND,ZodBranded,ZodPipeline,ZodReadonly,custom,Schema:ZodType,ZodSchema:ZodType,late,get ZodFirstPartyTypeKind(){return ZodFirstPartyTypeKind},coerce,any:anyType,array:arrayType,bigint:bigIntType,boolean:booleanType,date:dateType,discriminatedUnion:discriminatedUnionType,effect:effectsType,"enum":enumType,"function":functionType,"instanceof":instanceOfType,intersection:intersectionType,lazy:lazyType,literal:literalType,map:mapType,nan:nanType,nativeEnum:nativeEnumType,never:neverType,"null":nullType,nullable:nullableType,number:numberType,object:objectType,oboolean,onumber,optional:optionalType,ostring,pipeline:pipelineType,preprocess:preprocessType,promise:promiseType,record:recordType,set:setType,strictObject:strictObjectType,string:stringType,symbol:symbolType,transformer:effectsType,tuple:tupleType,"undefined":undefinedType,union:unionType,unknown:unknownType,"void":voidType,NEVER,ZodIssueCode,quotelessJson,ZodError});function isZodErrorLike(err){return err instanceof Error&&err.name==="ZodError"&&"issues"in err&&Array.isArray(err.issues)}var ValidationError=class extends Error{name;details;constructor(message3,options){super(message3,options);this.name="ZodValidationError";this.details=getIssuesFromErrorOptions(options)}toString(){return this.message}};function getIssuesFromErrorOptions(options){if(options){const cause=options.cause;if(isZodErrorLike(cause)){return cause.issues}}return[]}function isNonEmptyArray(value){return value.length!==0}var identifierRegex=/[$_\p{ID_Start}][$\u200c\u200d\p{ID_Continue}]*/u;function joinPath(path27){if(path27.length===1){return path27[0].toString()}return path27.reduce((acc,item)=>{if(typeof item==="number"){return acc+"["+item.toString()+"]"}if(item.includes('"')){return acc+'["'+escapeQuotes(item)+'"]'}if(!identifierRegex.test(item)){return acc+'["'+item+'"]'}const separator=acc.length===0?"":".";return acc+separator+item},"")}function escapeQuotes(str2){return str2.replace(/"/g,'\\"')}var ISSUE_SEPARATOR="; ";var MAX_ISSUES_IN_MESSAGE=99;var PREFIX="Validation error";var PREFIX_SEPARATOR=": ";var UNION_SEPARATOR=", or ";function createMessageBuilder(props={}){const{issueSeparator=ISSUE_SEPARATOR,unionSeparator=UNION_SEPARATOR,prefixSeparator=PREFIX_SEPARATOR,prefix=PREFIX,includePath=true,maxIssuesInMessage=MAX_ISSUES_IN_MESSAGE}=props;return issues=>{const message3=issues.slice(0,maxIssuesInMessage).map(issue=>getMessageFromZodIssue({issue,issueSeparator,unionSeparator,includePath})).join(issueSeparator);return prefixMessage(message3,prefix,prefixSeparator)}}function getMessageFromZodIssue(props){const{issue,issueSeparator,unionSeparator,includePath}=props;if(issue.code===ZodIssueCode.invalid_union){return issue.unionErrors.reduce((acc,zodError)=>{const newIssues=zodError.issues.map(issue2=>getMessageFromZodIssue({issue:issue2,issueSeparator,unionSeparator,includePath})).join(issueSeparator);if(!acc.includes(newIssues)){acc.push(newIssues)}return acc},[]).join(unionSeparator)}if(issue.code===ZodIssueCode.invalid_arguments){return[issue.message,...issue.argumentsError.issues.map(issue2=>getMessageFromZodIssue({issue:issue2,issueSeparator,unionSeparator,includePath}))].join(issueSeparator)}if(issue.code===ZodIssueCode.invalid_return_type){return[issue.message,...issue.returnTypeError.issues.map(issue2=>getMessageFromZodIssue({issue:issue2,issueSeparator,unionSeparator,includePath}))].join(issueSeparator)}if(includePath&&isNonEmptyArray(issue.path)){if(issue.path.length===1){const identifier=issue.path[0];if(typeof identifier==="number"){return`${issue.message} at index ${identifier}`}}return`${issue.message} at "${joinPath(issue.path)}"`}return issue.message}function prefixMessage(message3,prefix,prefixSeparator){if(prefix!==null){if(message3.length>0){return[prefix,message3].join(prefixSeparator)}return prefix}if(message3.length>0){return message3}return PREFIX}function fromZodError(zodError,options={}){if(!isZodErrorLike(zodError)){throw new TypeError(`Invalid zodError param; expected instance of ZodError. Did you mean to use the "${fromError.name}" method instead?`)}return fromZodErrorWithoutRuntimeCheck(zodError,options)}function fromZodErrorWithoutRuntimeCheck(zodError,options={}){const zodIssues=zodError.errors;let message3;if(isNonEmptyArray(zodIssues)){const messageBuilder=createMessageBuilderFromOptions2(options);message3=messageBuilder(zodIssues)}else{message3=zodError.message}return new ValidationError(message3,{cause:zodError})}function createMessageBuilderFromOptions2(options){if("messageBuilder"in options){return options.messageBuilder}return createMessageBuilder(options)}var toValidationError=(options={})=>err=>{if(isZodErrorLike(err)){return fromZodErrorWithoutRuntimeCheck(err,options)}if(err instanceof Error){return new ValidationError(err.message,{cause:err})}return new ValidationError("Unknown error")};function fromError(err,options={}){return toValidationError(options)(err)}var actionIdAlphabet="123456789ABCDEFGHJKLMNPQRSTUVWXYZ";var regexDiscordSnowflake=/^\d{17,20}$/;var consts_default={regexValidHwidToken:/^[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{64}$/,validIdentifiers:{discord:/^discord:\d{17,20}$/,fivem:/^fivem:\d{1,8}$/,license:/^license:[0-9A-Fa-f]{40}$/,license2:/^license2:[0-9A-Fa-f]{40}$/,live:/^live:\d{14,20}$/,steam:/^steam:1100001[0-9A-Fa-f]{8}$/,xbl:/^xbl:\d{14,20}$/},validIdentifierParts:{discord:regexDiscordSnowflake,fivem:/^\d{1,8}$/,license:/^[0-9A-Fa-f]{40}$/,license2:/^[0-9A-Fa-f]{40}$/,live:/^\d{14,20}$/,steam:/^1100001[0-9A-Fa-f]{8}$/,xbl:/^\d{14,20}$/},adminPasswordMinLength:6,adminPasswordMaxLength:128,regexValidFivemUsername:/^\w[\w.-]{1,18}\w$/,regexActionID:new RegExp(`^[${actionIdAlphabet}]{4}-[${actionIdAlphabet}]{4}$`),regexWhitelistReqID:new RegExp(`R[${actionIdAlphabet}]{4}`),regexDiscordSnowflake,regexSvLicenseOld:/^\w{32}$/,regexSvLicenseNew:/^cfxk_\w{1,60}_\w{1,20}$/,regexValidIP:/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,actionIdAlphabet,nuiWebpipePath:"https://monitor/WebPipe/",regexCustomThemeName:/^[a-z0-9]+(-[a-z0-9]+)*$/,cookies:{theme:"txa:theme",session:"txa:sess"}};var hostEnvVarSchemas={API_TOKEN:z.union([z.literal("disabled"),z.string().regex(/^[A-Za-z0-9_-]{16,48}$/,"Token must be alphanumeric, underscores or dashes only, and between 16 and 48 characters long.")]),DATA_PATH:z.string().min(1).refine(val=>import_node_path3.default.isAbsolute(val),"DATA_PATH must be an absolute path"),GAME_NAME:z.enum(["fivem","redm"],{message:'GAME_NAME must be either "gta5", "rdr3", or undefined'}),MAX_SLOTS:z.coerce.number().int().positive(),QUIET_MODE:z.preprocess(val=>val==="true",z.boolean()),TXA_URL:z.string().url(),TXA_PORT:z.coerce.number().int().positive().refine(val=>val!==30120,"TXA_PORT cannot be 30120"),FXS_PORT:z.coerce.number().int().positive().refine(val=>val<40120||val>40150,"FXS_PORT cannot be between 40120 and 40150"),INTERFACE:z.string().ip({version:"v4"}),PROVIDER_NAME:z.string().regex(/^[a-zA-Z0-9_.\- ]{2,16}$/,"Provider name must be between 2 and 16 characters long and can only contain letters, numbers, underscores, periods, hyphens and spaces.").refine(x=>!/[_.\- ]{2,}/.test(x),"Provider name cannot contain consecutive special characters.").refine(x=>/^[a-zA-Z0-9].*[a-zA-Z0-9]$/.test(x),"Provider name must start and end with a letter or number."),PROVIDER_LOGO:z.string().url(),DEFAULT_DBHOST:z.string(),DEFAULT_DBPORT:z.string(),DEFAULT_DBUSER:z.string(),DEFAULT_DBPASS:z.string(),DEFAULT_DBNAME:z.string(),DEFAULT_ACCOUNT:z.string().refine(val=>{const parts=val.split(":").length;return parts===2||parts===3},"The account needs to be in the username:fivemId or username:fivemId:bcrypt format"),DEFAULT_CFXKEY:z.string().refine(val=>consts_default.regexSvLicenseNew.test(val)||consts_default.regexSvLicenseOld.test(val),"The key needs to be in the cfxk_xxxxxxxxxxxxxxxxxxxx_yyyyy format")};var getHostVars=()=>{const txHostEnv={};for(const partialKey of Object.keys(hostEnvVarSchemas)){const keySchema=hostEnvVarSchemas[partialKey];const fullKey=`TXHOST_`+partialKey;const value=process.env[fullKey];if(value===void 0||value==="")continue;if(/^['"]|['"]$/.test(value)){fatalError_default.GlobalData(20,["Invalid value for a TXHOST environment variable.",`The value is surrounded by quotes (" or '), and you must remove them.`,"This is likely a mistake in how you declared this env var.",["Key",fullKey],["Value",String(value)],"For more information: https://aka.cfx.re/txadmin-env-config"])}const res=keySchema.safeParse(value);if(!res.success){fatalError_default.GlobalData(20,["Invalid value for a TXHOST environment variable.",["Key",fullKey],["Value",String(value)],"For more information: https://aka.cfx.re/txadmin-env-config"],fromZodError(res.error,{prefix:null}))}txHostEnv[partialKey]=res.data}return txHostEnv};var import_node_fs=__toESM(require("node:fs"),1);var allowType=(type2,value)=>typeof value===type2?value:void 0;var getZapVars=zapCfgFilePath=>{if(!import_node_fs.default.existsSync(zapCfgFilePath))return;console.warn(`WARNING: The 'txAdminZapConfig.json' file has been deprecated and this feature will be removed in the next update.`);console.warn(`         Please use the 'TXHOST_' environment variables instead.`);console.warn(`         For more information: https://aka.cfx.re/txadmin-env-config.`);const cfgFileData=JSON.parse(import_node_fs.default.readFileSync(zapCfgFilePath,"utf8"));const zapVars2={providerName:"ZAP-Hosting",forceInterface:allowType("string",cfgFileData.interface),forceFXServerPort:allowType("number",cfgFileData.fxServerPort),txAdminPort:allowType("number",cfgFileData.txAdminPort),loginPageLogo:allowType("string",cfgFileData.loginPageLogo),deployerDefaults:{license:allowType("string",cfgFileData.defaults.license),maxClients:allowType("number",cfgFileData.defaults.maxClients),mysqlHost:allowType("string",cfgFileData.defaults.mysqlHost),mysqlUser:allowType("string",cfgFileData.defaults.mysqlUser),mysqlPassword:allowType("string",cfgFileData.defaults.mysqlPassword),mysqlDatabase:allowType("string",cfgFileData.defaults.mysqlDatabase)}};if(typeof cfgFileData.defaults.mysqlPort==="string"){zapVars2.deployerDefaults.mysqlPort=cfgFileData.defaults.mysqlPort}else if(typeof cfgFileData.defaults.mysqlPort==="number"){zapVars2.deployerDefaults.mysqlPort=String(cfgFileData.defaults.mysqlPort)}if(cfgFileData.customer){zapVars2.defaultMasterAccount={name:allowType("string",cfgFileData.customer.name),password_hash:allowType("string",cfgFileData.customer.password_hash)}}return zapVars2};var console4=console_default();var osTypeVar=import_node_os2.default.type();var isWindows;if(osTypeVar==="Windows_NT"){isWindows=true}else if(osTypeVar==="Linux"){isWindows=false}else{fatalError_default.GlobalData(0,`OS type not supported: ${osTypeVar}`)}var _a;var ignoreDeprecatedConfigs=((_a=process.env)==null?void 0:_a.TXHOST_IGNORE_DEPRECATED_CONFIGS)==="true";var cleanPath2=x=>slash(import_node_path4.default.normalize(x));var handleMultiVar=(name,schema2,procenv,zapcfg,convar)=>{const alt=zapcfg??convar;if(alt===void 0){return procenv}const whichAlt=zapcfg!==void 0?"txAdminZapConfig.json":"ConVar";if(procenv!==void 0){console4.warn(`WARNING: Both the environment variable 'TXHOST_${name}' and the ${whichAlt} equivalent are set. The environment variable will be prioritized.`);return procenv}const parsed=schema2.safeParse(alt);if(!parsed.success){fatalError_default.GlobalData(20,[`Invalid value for the TXHOST_${name}-equivalent config in ${whichAlt}.`,["Value",alt],"For more information: https://aka.cfx.re/txadmin-env-config"],fromZodError(parsed.error,{prefix:null}))}return parsed.data};var _txDevEnv;var devVars=parseTxDevEnv();if(devVars.ENABLED){console4.debug("Starting txAdmin in DEV mode.");if(!devVars.SRC_PATH||!devVars.VITE_URL){fatalError_default.GlobalData(8,"Missing TXDEV_VITE_URL and/or TXDEV_SRC_PATH env variables.")}_txDevEnv=devVars}else{_txDevEnv={...devVars,SRC_PATH:void 0,VITE_URL:void 0}}var nativeVars=getNativeVars(ignoreDeprecatedConfigs);var minFxsVersion=5894;var fxsVerParsed=parseFxserverVersion(nativeVars.fxsVersion);var fxsVersion=fxsVerParsed.valid?fxsVerParsed.build:99999;if(!fxsVerParsed.valid){console4.error("It looks like you are running a custom build of fxserver.");console4.error("And because of that, there is no guarantee that txAdmin will work properly.");console4.error(`Convar: ${nativeVars.fxsVersion}`);console4.error(`Parsed Build: ${fxsVerParsed.build}`);console4.error(`Parsed Branch: ${fxsVerParsed.branch}`);console4.error(`Parsed Platform: ${fxsVerParsed.platform}`)}else if(fxsVerParsed.build<minFxsVersion){fatalError_default.GlobalData(2,["This version of FXServer is too outdated and NOT compatible with txAdmin",["Current FXServer version",fxsVerParsed.build.toString()],["Minimum required version",minFxsVersion.toString()],"Please update your FXServer to a newer version."])}else if(fxsVerParsed.branch!=="master"){console4.warn(`You are running a custom branch of FXServer: ${fxsVerParsed.branch}`)}if(!nativeVars.txaResourceVersion){fatalError_default.GlobalData(3,["txAdmin version not set or in the wrong format.",["Detected version",nativeVars.txaResourceVersion]])}var txaVersion=nativeVars.txaResourceVersion;if(!nativeVars.txaResourcePath){fatalError_default.GlobalData(4,["Could not resolve txAdmin resource path.",["Convar",nativeVars.txaResourcePath]])}var txaPath=cleanPath2(nativeVars.txaResourcePath);if(!nativeVars.fxsCitizenRoot){fatalError_default.GlobalData(5,["citizen_root convar not set",["Convar",nativeVars.fxsCitizenRoot]])}var fxsPath=cleanPath2(nativeVars.fxsCitizenRoot);if(isWindows&&/Temp[\\/]+Rar\$/i.test(fxsPath)){fatalError_default.GlobalData(12,["It looks like you ran FXServer inside WinRAR without extracting it first.","Please extract the server files to a proper folder before running it.",["Server path",fxsPath.replace(/\\/g,"/").replace(/\/$/,"")]])}setConsoleEnvData(txaVersion,txaPath,_txDevEnv.ENABLED,_txDevEnv.VERBOSE);var hostVars=getHostVars();var hasCustomDataPath=false;var dataPath=cleanPath2(import_node_path4.default.join(fxsPath,isWindows?"..":"../../../","txData"));var dataPathVar=handleMultiVar("DATA_PATH",hostEnvVarSchemas.DATA_PATH,hostVars.DATA_PATH,void 0,nativeVars.txDataPath);if(dataPathVar){hasCustomDataPath=true;dataPath=cleanPath2(dataPathVar)}var nonASCIIRegex=/[^\x00-\x80]+/g;var colorNonAscii=x=>source_default.black.bgGreenBright(x.replaceAll(nonASCIIRegex,m=>source_default.bgRedBright(m)));if(nonASCIIRegex.test(fxsPath)||nonASCIIRegex.test(dataPath)){fatalError_default.GlobalData(7,["Due to environmental restrictions, your paths CANNOT contain non-ASCII characters.","Example of non-ASCII characters: çâýå, ρέθ, ñäé, ēļæ, глж, เซิร์, 警告.","Please make sure FXServer is not in a path contaning those characters.",`If on windows, we suggest you moving the artifact to "C:/fivemserver/${fxsVersion}/".`,"FXServer path: "+colorNonAscii(fxsPath),"txData path: "+colorNonAscii(dataPath)])}var profileVar=nativeVars.txAdminProfile;if(profileVar){profileVar=profileVar.replace(/[^a-z0-9._-]/gi,"");if(profileVar.endsWith(".base")){fatalError_default.GlobalData(13,[["Invalid server profile name",profileVar],'Profile names cannot end with ".base".',"It looks like you are trying to point to a server folder instead of a profile."])}if(!profileVar.length){fatalError_default.GlobalData(14,["Invalid server profile name.","If you are using Google Translator on the instructions page,","make sure there are no additional spaces in your command."])}}var profileName=profileVar??"default";var profilePath=cleanPath2(import_node_path4.default.join(dataPath,profileName));var zapVars;if(!ignoreDeprecatedConfigs){const zapCfgFilePath=import_node_path4.default.join(dataPath,"txAdminZapConfig.json");try{zapVars=getZapVars(zapCfgFilePath);if(!_txDevEnv.ENABLED)import_promises.default.unlink(zapCfgFilePath).catch(()=>{})}catch(error){fatalError_default.GlobalData(9,"Failed to load with ZAP-Hosting configuration.",error)}}var txaUrl=hostVars.TXA_URL;var txaPort=handleMultiVar("TXA_PORT",hostEnvVarSchemas.TXA_PORT,hostVars.TXA_PORT,zapVars==null?void 0:zapVars.txAdminPort,nativeVars.txAdminPort)??40120;var fxsPort=handleMultiVar("FXS_PORT",hostEnvVarSchemas.FXS_PORT,hostVars.FXS_PORT,zapVars==null?void 0:zapVars.forceFXServerPort,void 0);var netInterface=handleMultiVar("INTERFACE",hostEnvVarSchemas.INTERFACE,hostVars.INTERFACE,zapVars==null?void 0:zapVars.forceInterface,nativeVars.txAdminInterface);if(netInterface){addLocalIpAddress(netInterface)}var forceGameName=hostVars.GAME_NAME;var hostApiToken=hostVars.API_TOKEN;var _a2;var forceMaxClients=handleMultiVar("MAX_SLOTS",hostEnvVarSchemas.MAX_SLOTS,hostVars.MAX_SLOTS,(_a2=zapVars==null?void 0:zapVars.deployerDefaults)==null?void 0:_a2.maxClients,void 0);var _a3;var forceQuietMode=handleMultiVar("QUIET_MODE",hostEnvVarSchemas.QUIET_MODE,hostVars.QUIET_MODE,(_a3=zapVars==null?void 0:zapVars.deployerDefaults)==null?void 0:_a3.maxClients,void 0)??false;var providerName=handleMultiVar("PROVIDER_NAME",hostEnvVarSchemas.PROVIDER_NAME,hostVars.PROVIDER_NAME,zapVars==null?void 0:zapVars.providerName,void 0);var providerLogo=handleMultiVar("PROVIDER_LOGO",hostEnvVarSchemas.PROVIDER_LOGO,hostVars.PROVIDER_LOGO,zapVars==null?void 0:zapVars.loginPageLogo,void 0);var _a4;var defaultDbHost=handleMultiVar("DEFAULT_DBHOST",hostEnvVarSchemas.DEFAULT_DBHOST,hostVars.DEFAULT_DBHOST,(_a4=zapVars==null?void 0:zapVars.deployerDefaults)==null?void 0:_a4.mysqlHost,void 0);var _a5;var defaultDbPort=handleMultiVar("DEFAULT_DBPORT",hostEnvVarSchemas.DEFAULT_DBPORT,hostVars.DEFAULT_DBPORT,(_a5=zapVars==null?void 0:zapVars.deployerDefaults)==null?void 0:_a5.mysqlPort,void 0);var _a6;var defaultDbUser=handleMultiVar("DEFAULT_DBUSER",hostEnvVarSchemas.DEFAULT_DBUSER,hostVars.DEFAULT_DBUSER,(_a6=zapVars==null?void 0:zapVars.deployerDefaults)==null?void 0:_a6.mysqlUser,void 0);var _a7;var defaultDbPass=handleMultiVar("DEFAULT_DBPASS",hostEnvVarSchemas.DEFAULT_DBPASS,hostVars.DEFAULT_DBPASS,(_a7=zapVars==null?void 0:zapVars.deployerDefaults)==null?void 0:_a7.mysqlPassword,void 0);var _a8;var defaultDbName=handleMultiVar("DEFAULT_DBNAME",hostEnvVarSchemas.DEFAULT_DBNAME,hostVars.DEFAULT_DBNAME,(_a8=zapVars==null?void 0:zapVars.deployerDefaults)==null?void 0:_a8.mysqlDatabase,void 0);var defaultMasterAccount;var bcryptRegex=/^\$2[aby]\$[0-9]{2}\$[A-Za-z0-9./]{53}$/;var _a9,_b;if(hostVars.DEFAULT_ACCOUNT){let[username,fivemId,password]=hostVars.DEFAULT_ACCOUNT.split(":");if(username==="")username=void 0;if(fivemId==="")fivemId=void 0;if(password==="")password=void 0;const errArr=[["Username",username],["FiveM ID",fivemId],["Password",password]];if(!username||!consts_default.regexValidFivemUsername.test(username)){fatalError_default.GlobalData(21,["Invalid default account username.","It should be a valid FiveM username.",...errArr])}if(fivemId&&!consts_default.validIdentifierParts.fivem.test(fivemId)){fatalError_default.GlobalData(22,["Invalid default account FiveM ID.","It should match the number in the fivem:0000000 game identifier.",...errArr])}if(password&&!bcryptRegex.test(password)){fatalError_default.GlobalData(23,["Invalid default account password.","Expected bcrypt hash.",...errArr])}if(!fivemId&&!password){fatalError_default.GlobalData(24,["Invalid default account.","Expected at least the FiveM ID or password to be present.",...errArr])}defaultMasterAccount={username,fivemId,password}}else if(zapVars==null?void 0:zapVars.defaultMasterAccount){const username=(_a9=zapVars.defaultMasterAccount)==null?void 0:_a9.name;const password=(_b=zapVars.defaultMasterAccount)==null?void 0:_b.password_hash;if(!consts_default.regexValidFivemUsername.test(username)){fatalError_default.GlobalData(25,["Invalid default account username.","It should be a valid FiveM username.",["Username",username]])}if(!bcryptRegex.test(password)){fatalError_default.GlobalData(26,["Invalid default account password.","Expected bcrypt hash.",["Hash",password]])}defaultMasterAccount={username,password}}var _a10;var defaultCfxKey=handleMultiVar("DEFAULT_CFXKEY",hostEnvVarSchemas.DEFAULT_CFXKEY,hostVars.DEFAULT_CFXKEY,(_a10=zapVars==null?void 0:zapVars.deployerDefaults)==null?void 0:_a10.license,void 0);if(ignoreDeprecatedConfigs){console4.verbose.debug("TXHOST_IGNORE_DEPRECATED_CONFIGS is set to true. Ignoring deprecated configs.")}var _a11;var isPterodactyl=!isWindows&&((_a11=process.env)==null?void 0:_a11.TXADMIN_ENABLE)==="1";var isZapHosting=providerName==="ZAP-Hosting";var setConsoleTitle=!(isPterodactyl||isZapHosting||providerName);var fxsVersionTag=fxsVersion.toString();if(fxsVerParsed.branch&&fxsVerParsed.branch!=="master"){fxsVersionTag+="-ft"}var providerTag="";var partnerPrefixes={"gportal":"GPor","nitrado":"Nitr","nodecraft":"NoCr","shockbyte":"ShBy","xrealm":"XRea","zaphosting":"ZapH"};if(providerName){const cleanName=providerName.toLowerCase().replace(/[^a-z0-9]+/g,"");if(cleanName in partnerPrefixes){providerTag=partnerPrefixes[cleanName]}}if(providerTag){fxsVersionTag+=`/${providerTag}`}else if(isPterodactyl){fxsVersionTag+="/Ptero"}else if(isWindows&&fxsVerParsed.platform==="windows"){fxsVersionTag+="/Win"}else if(!isWindows&&fxsVerParsed.platform==="linux"){fxsVersionTag+="/Lin"}else{fxsVersionTag+="/Unk"}var txDevEnv=Object.freeze(_txDevEnv);var txEnv=Object.freeze({isWindows,setConsoleTitle,isPterodactyl,isZapHosting,fxsVersionTag,fxsVersion,txaVersion,txaPath,fxsPath,profileName,profilePath,profileSubPath:(...parts)=>import_node_path4.default.join(profilePath,...parts)});var txHostConfig=Object.freeze({dataPath,dataSubPath:(...parts)=>import_node_path4.default.join(dataPath,...parts),hasCustomDataPath,forceGameName,forceMaxClients,forceQuietMode,hostApiToken,txaUrl,txaPort,fxsPort,netInterface,providerName,providerLogo,sourceName:providerName??"Host Config",defaults:{account:defaultMasterAccount,cfxKey:defaultCfxKey,dbHost:defaultDbHost,dbPort:defaultDbPort,dbUser:defaultDbUser,dbPass:defaultDbPass,dbName:defaultDbName}});var import_node_fs12=__toESM(require("node:fs"),1);var token=/d{1,4}|D{3,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|W{1,2}|[LlopSZN]|"[^"]*"|'[^']*'/g;var timezone=/\b(?:[A-Z]{1,3}[A-Z][TC])(?:[-+]\d{4})?|((?:Australian )?(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time)\b/g;var timezoneClip=/[^-+\dA-Z]/g;function dateFormat(date,mask,utc,gmt){if(arguments.length===1&&typeof date==="string"&&!/\d/.test(date)){mask=date;date=void 0}date=date||date===0?date:new Date;if(!(date instanceof Date)){date=new Date(date)}if(isNaN(date)){throw TypeError("Invalid date")}mask=String(masks[mask]||mask||masks["default"]);var maskSlice=mask.slice(0,4);if(maskSlice==="UTC:"||maskSlice==="GMT:"){mask=mask.slice(4);utc=true;if(maskSlice==="GMT:"){gmt=true}}var _=function _2(){return utc?"getUTC":"get"};var _d=function d(){return date[_()+"Date"]()};var D=function D2(){return date[_()+"Day"]()};var _m=function m(){return date[_()+"Month"]()};var y=function y2(){return date[_()+"FullYear"]()};var _H=function H(){return date[_()+"Hours"]()};var _M=function M(){return date[_()+"Minutes"]()};var _s=function s(){return date[_()+"Seconds"]()};var _L=function L(){return date[_()+"Milliseconds"]()};var _o=function o(){return utc?0:date.getTimezoneOffset()};var _W=function W(){return getWeek(date)};var _N=function N(){return getDayOfWeek(date)};var flags={d:function d(){return _d()},dd:function dd(){return pad(_d())},ddd:function ddd(){return i18n.dayNames[D()]},DDD:function DDD(){return getDayName({y:y(),m:_m(),d:_d(),_:_(),dayName:i18n.dayNames[D()],short:true})},dddd:function dddd(){return i18n.dayNames[D()+7]},DDDD:function DDDD(){return getDayName({y:y(),m:_m(),d:_d(),_:_(),dayName:i18n.dayNames[D()+7]})},m:function m(){return _m()+1},mm:function mm(){return pad(_m()+1)},mmm:function mmm(){return i18n.monthNames[_m()]},mmmm:function mmmm(){return i18n.monthNames[_m()+12]},yy:function yy(){return String(y()).slice(2)},yyyy:function yyyy(){return pad(y(),4)},h:function h(){return _H()%12||12},hh:function hh(){return pad(_H()%12||12)},H:function H(){return _H()},HH:function HH(){return pad(_H())},M:function M(){return _M()},MM:function MM(){return pad(_M())},s:function s(){return _s()},ss:function ss(){return pad(_s())},l:function l(){return pad(_L(),3)},L:function L(){return pad(Math.floor(_L()/10))},t:function t(){return _H()<12?i18n.timeNames[0]:i18n.timeNames[1]},tt:function tt(){return _H()<12?i18n.timeNames[2]:i18n.timeNames[3]},T:function T(){return _H()<12?i18n.timeNames[4]:i18n.timeNames[5]},TT:function TT(){return _H()<12?i18n.timeNames[6]:i18n.timeNames[7]},Z:function Z(){return gmt?"GMT":utc?"UTC":formatTimezone(date)},o:function o(){return(_o()>0?"-":"+")+pad(Math.floor(Math.abs(_o())/60)*100+Math.abs(_o())%60,4)},p:function p(){return(_o()>0?"-":"+")+pad(Math.floor(Math.abs(_o())/60),2)+":"+pad(Math.floor(Math.abs(_o())%60),2)},S:function S(){return["th","st","nd","rd"][_d()%10>3?0:(_d()%100-_d()%10!=10)*_d()%10]},W:function W(){return _W()},WW:function WW(){return pad(_W())},N:function N(){return _N()}};return mask.replace(token,function(match){if(match in flags){return flags[match]()}return match.slice(1,match.length-1)})}var masks={default:"ddd mmm dd yyyy HH:MM:ss",shortDate:"m/d/yy",paddedShortDate:"mm/dd/yyyy",mediumDate:"mmm d, yyyy",longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy",shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:sso",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'",expiresHeaderFormat:"ddd, dd mmm yyyy HH:MM:ss Z"};var i18n={dayNames:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","January","February","March","April","May","June","July","August","September","October","November","December"],timeNames:["a","p","am","pm","A","P","AM","PM"]};var pad=function pad2(val){var len=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2;return String(val).padStart(len,"0")};var getDayName=function getDayName2(_ref){var y=_ref.y,m=_ref.m,d=_ref.d,_=_ref._,dayName=_ref.dayName,_ref$short=_ref["short"],_short=_ref$short===void 0?false:_ref$short;var today=new Date;var yesterday=new Date;yesterday.setDate(yesterday[_+"Date"]()-1);var tomorrow=new Date;tomorrow.setDate(tomorrow[_+"Date"]()+1);var today_d=function today_d2(){return today[_+"Date"]()};var today_m=function today_m2(){return today[_+"Month"]()};var today_y=function today_y2(){return today[_+"FullYear"]()};var yesterday_d=function yesterday_d2(){return yesterday[_+"Date"]()};var yesterday_m=function yesterday_m2(){return yesterday[_+"Month"]()};var yesterday_y=function yesterday_y2(){return yesterday[_+"FullYear"]()};var tomorrow_d=function tomorrow_d2(){return tomorrow[_+"Date"]()};var tomorrow_m=function tomorrow_m2(){return tomorrow[_+"Month"]()};var tomorrow_y=function tomorrow_y2(){return tomorrow[_+"FullYear"]()};if(today_y()===y&&today_m()===m&&today_d()===d){return _short?"Tdy":"Today"}else if(yesterday_y()===y&&yesterday_m()===m&&yesterday_d()===d){return _short?"Ysd":"Yesterday"}else if(tomorrow_y()===y&&tomorrow_m()===m&&tomorrow_d()===d){return _short?"Tmw":"Tomorrow"}return dayName};var getWeek=function getWeek2(date){var targetThursday=new Date(date.getFullYear(),date.getMonth(),date.getDate());targetThursday.setDate(targetThursday.getDate()-(targetThursday.getDay()+6)%7+3);var firstThursday=new Date(targetThursday.getFullYear(),0,4);firstThursday.setDate(firstThursday.getDate()-(firstThursday.getDay()+6)%7+3);var ds=targetThursday.getTimezoneOffset()-firstThursday.getTimezoneOffset();targetThursday.setHours(targetThursday.getHours()-ds);var weekDiff=(targetThursday-firstThursday)/(864e5*7);return 1+Math.floor(weekDiff)};var getDayOfWeek=function getDayOfWeek2(date){var dow=date.getDay();if(dow===0){dow=7}return dow};var formatTimezone=function formatTimezone2(date){return(String(date).match(timezone)||[""]).pop().replace(timezoneClip,"").replace(/GMT\+0000/g,"UTC")};var import_humanize_duration=__toESM(require_humanize_duration(),1);var regexHoursMinutes=/^(?<hours>[01]?[0-9]|2[0-4]):(?<minutes>[0-5][0-9])$/;var parseSchedule=scheduleTimes=>{var _a12,_b2;const valid=[];const invalid=[];for(const timeInput of scheduleTimes){if(typeof timeInput!=="string")continue;const timeTrim=timeInput.trim();if(!timeTrim.length)continue;const m=timeTrim.match(regexHoursMinutes);if(m&&((_a12=m.groups)==null?void 0:_a12.hours)&&((_b2=m.groups)==null?void 0:_b2.minutes)){if(m.groups.hours==="24")m.groups.hours="00";const timeStr=m.groups.hours.padStart(2,"0")+":"+m.groups.minutes.padStart(2,"0");if(valid.some(item=>item.string===timeStr))continue;valid.push({string:timeStr,hours:parseInt(m.groups.hours),minutes:parseInt(m.groups.minutes)})}else{invalid.push(timeTrim)}}valid.sort((a,b)=>{return a.hours-b.hours||a.minutes-b.minutes});return{valid,invalid}};var redactApiKeys=src=>{if(typeof src!=="string"||!src.length)return src;return src.replace(/licenseKey\s+["']?cfxk_\w{1,60}_(\w+)["']?.?$/gim,"licenseKey [REDACTED cfxk...$1]").replace(/steam_webApiKey\s+["']?\w{32}["']?.?$/gim,"steam_webApiKey [REDACTED]").replace(/sv_tebexSecret\s+["']?\w{40}["']?.?$/gim,"sv_tebexSecret [REDACTED]").replace(/rcon_password\s+["']?[^"']+["']?.?$/gim,"rcon_password [REDACTED]").replace(/mysql_connection_string\s+["']?[^"']+["']?.?$/gim,"mysql_connection_string [REDACTED]").replace(/discord\.com\/api\/webhooks\/\d{17,20}\/[\w\-_./=]{10,}(.*)/gim,"discord.com/api/webhooks/[REDACTED]/[REDACTED]")};var redactStartupSecrets=args2=>{if(!Array.isArray(args2)||args2.length===0)return args2;const redactionRules={sv_licenseKey:{regex:/^cfxk_\w{1,60}_(\w+)$/i,replacement:(_match,p1)=>`[REDACTED cfxk...${p1}]`},steam_webApiKey:{regex:/^\w{32}$/i,replacement:"[REDACTED]"},sv_tebexSecret:{regex:/^\w{40}$/i,replacement:"[REDACTED]"},rcon_password:{replacement:"[REDACTED]"},mysql_connection_string:{replacement:"[REDACTED]"},tx2faSecret:{replacement:"[REDACTED]"},"txAdmin-luaComToken":{replacement:"[REDACTED]"}};let outArgs=[];for(let i=0;i<args2.length;i++){const currElem=args2[i];const currElemLower=currElem.toLocaleLowerCase();const ruleMatchingPrefix=Object.keys(redactionRules).find(key=>currElemLower.includes(key.toLocaleLowerCase()));if(!ruleMatchingPrefix||i+1>=args2.length){outArgs.push(currElem);continue}const rule=redactionRules[ruleMatchingPrefix];const nextElem=args2[i+1];if(rule.regex&&!nextElem.match(rule.regex)){outArgs.push(currElem);continue}outArgs.push(currElem);if(typeof rule.replacement==="string"){outArgs.push(rule.replacement)}else if(rule.regex){outArgs.push(nextElem.replace(rule.regex,rule.replacement))}i++}outArgs=outArgs.map(arg=>arg.replace(/discord\.com\/api\/webhooks\/\d{17,20}\/[\w\-_./=]{10,}(.*)/gim,"discord.com/api/webhooks/[REDACTED]/[REDACTED]"));if(args2.length!==outArgs.length){throw new Error("Input and output lengths are different after redaction.")}return outArgs};var now=()=>Math.round(Date.now()/1e3);var getTimeHms=time=>dateFormat(time??new Date,"HH:MM:ss");var getTimeFilename=time=>dateFormat(time??new Date,"yyyy-mm-dd_HH-MM-ss");var msToDuration=import_humanize_duration.default.humanizer({round:true,units:["d","h","m"],fallbacks:["en"]});var msToShortishDuration=import_humanize_duration.default.humanizer({round:true,units:["d","h","m"],largest:2,language:"shortishEn",languages:{shortishEn:{y:c=>"year"+(c===1?"":"s"),mo:c=>"month"+(c===1?"":"s"),w:c=>"week"+(c===1?"":"s"),d:c=>"day"+(c===1?"":"s"),h:c=>"hr"+(c===1?"":"s"),m:c=>"min"+(c===1?"":"s"),s:c=>"sec"+(c===1?"":"s"),ms:c=>"ms"}}});var msToShortestDuration=import_humanize_duration.default.humanizer({round:true,units:["d","h","m","s"],delimiter:"",spacer:"",largest:2,language:"shortestEn",languages:{shortestEn:{y:()=>"y",mo:()=>"mo",w:()=>"w",d:()=>"d",h:()=>"h",m:()=>"m",s:()=>"s",ms:()=>"ms"}}});var secsToShortestDuration=(ms,options)=>{return msToShortestDuration(ms*1e3,options)};var anyUndefined=(...args2)=>[...args2].some(x=>typeof x==="undefined");var calcExpirationFromDuration=inputDuration=>{let expiration;let duration;if(inputDuration==="permanent"){expiration=false}else{const[multiplierInput,unit]=inputDuration.split(/\s+/);const multiplier=parseInt(multiplierInput);if(isNaN(multiplier)||multiplier<1){throw new Error(`The duration number must be at least 1.`)}if(unit.startsWith("hour")){duration=multiplier*3600}else if(unit.startsWith("day")){duration=multiplier*86400}else if(unit.startsWith("week")){duration=multiplier*604800}else if(unit.startsWith("month")){duration=multiplier*2592e3}else{throw new Error(`Invalid ban duration. Supported units: hours, days, weeks, months`)}expiration=now()+duration}return{expiration,duration}};var deepFreeze=obj=>{Object.freeze(obj);Object.getOwnPropertyNames(obj).forEach(prop=>{if(Object.prototype.hasOwnProperty.call(obj,prop)&&obj[prop]!==null&&(typeof obj[prop]==="object"||typeof obj[prop]==="function")&&!Object.isFrozen(obj[prop])){deepFreeze(obj[prop])}});return obj};var chalkInversePad=str2=>source_default.inverse(` ${str2} `);var parseFiniteIntString=str2=>{const parsed=parseInt(str2);if(Number.isNaN(parsed)||!Number.isSafeInteger(parsed)||!Number.isFinite(parsed)){return null}return parsed};var mdCodeBlock=(msg,lang="",maxLen=false)=>{const blockLang=lang?lang:"";let blockMsg=msg;if(maxLen&&blockMsg.length>maxLen){blockMsg=blockMsg.substring(0,maxLen-3)+"..."}const escapedMessage=blockMsg.replaceAll(/`/g,"\\`");return`\`\`\`${blockLang}
${escapedMessage}
\`\`\``};var console5=console_default("ATTENTION");var PRERELEASE_EXPIRATION=parseInt(0);var expiredError=["This pre-release version has expired, please update your txAdmin.","Bye bye 👋"];var printExpirationBanner=timeUntilExpiration=>{const timeLeft=msToDuration(timeUntilExpiration);console5.error("This is a pre-release version of txAdmin!");console5.error("This build is meant to be used by txAdmin beta testers.");console5.error("txAdmin will automatically shut down when this pre-release expires.");console5.error(`Time until expiration: ${chalkInversePad(timeLeft)}.`);console5.error("For more information: https://discord.gg/txAdmin.")};var cronCheckExpiration=()=>{if(isNaN(PRERELEASE_EXPIRATION)||PRERELEASE_EXPIRATION===0)return;const timeUntilExpiration=PRERELEASE_EXPIRATION-Date.now();if(timeUntilExpiration<0){fatalError_default.Boot(11,expiredError)}else if(timeUntilExpiration<24*60*60*1e3){printExpirationBanner(timeUntilExpiration)}};var checkPreRelease_default=()=>{if(isNaN(PRERELEASE_EXPIRATION)||PRERELEASE_EXPIRATION===0)return;const timeUntilExpiration=PRERELEASE_EXPIRATION-Date.now();if(timeUntilExpiration<0){fatalError_default.Boot(10,expiredError)}printExpirationBanner(timeUntilExpiration);setInterval(cronCheckExpiration,15*60*1e3)};var import_node_path5=__toESM(require("node:path"),1);var import_node_fs4=__toESM(require("node:fs"),1);var import_node_fs3=__toESM(require("node:fs"),1);var import_promises2=__toESM(require("node:fs/promises"),1);var freeGlobal=typeof global=="object"&&global&&global.Object===Object&&global;var freeGlobal_default=freeGlobal;var freeSelf=typeof self=="object"&&self&&self.Object===Object&&self;var root=freeGlobal_default||freeSelf||Function("return this")();var root_default=root;var Symbol2=root_default.Symbol;var Symbol_default=Symbol2;var objectProto=Object.prototype;var hasOwnProperty=objectProto.hasOwnProperty;var nativeObjectToString=objectProto.toString;var symToStringTag=Symbol_default?Symbol_default.toStringTag:void 0;function getRawTag(value){var isOwn=hasOwnProperty.call(value,symToStringTag),tag=value[symToStringTag];try{value[symToStringTag]=void 0;var unmasked=true}catch(e){}var result2=nativeObjectToString.call(value);if(unmasked){if(isOwn){value[symToStringTag]=tag}else{delete value[symToStringTag]}}return result2}var getRawTag_default=getRawTag;var objectProto2=Object.prototype;var nativeObjectToString2=objectProto2.toString;function objectToString(value){return nativeObjectToString2.call(value)}var objectToString_default=objectToString;var nullTag="[object Null]";var undefinedTag="[object Undefined]";var symToStringTag2=Symbol_default?Symbol_default.toStringTag:void 0;function baseGetTag(value){if(value==null){return value===void 0?undefinedTag:nullTag}return symToStringTag2&&symToStringTag2 in Object(value)?getRawTag_default(value):objectToString_default(value)}var baseGetTag_default=baseGetTag;function isObjectLike(value){return value!=null&&typeof value=="object"}var isObjectLike_default=isObjectLike;var symbolTag="[object Symbol]";function isSymbol(value){return typeof value=="symbol"||isObjectLike_default(value)&&baseGetTag_default(value)==symbolTag}var isSymbol_default=isSymbol;var NAN=0/0;function baseToNumber(value){if(typeof value=="number"){return value}if(isSymbol_default(value)){return NAN}return+value}var baseToNumber_default=baseToNumber;function arrayMap(array,iteratee2){var index=-1,length=array==null?0:array.length,result2=Array(length);while(++index<length){result2[index]=iteratee2(array[index],index,array)}return result2}var arrayMap_default=arrayMap;var isArray=Array.isArray;var isArray_default=isArray;var INFINITY=1/0;var symbolProto=Symbol_default?Symbol_default.prototype:void 0;var symbolToString=symbolProto?symbolProto.toString:void 0;function baseToString(value){if(typeof value=="string"){return value}if(isArray_default(value)){return arrayMap_default(value,baseToString)+""}if(isSymbol_default(value)){return symbolToString?symbolToString.call(value):""}var result2=value+"";return result2=="0"&&1/value==-INFINITY?"-0":result2}var baseToString_default=baseToString;function createMathOperation(operator,defaultValue){return function(value,other){var result2;if(value===void 0&&other===void 0){return defaultValue}if(value!==void 0){result2=value}if(other!==void 0){if(result2===void 0){return other}if(typeof value=="string"||typeof other=="string"){value=baseToString_default(value);other=baseToString_default(other)}else{value=baseToNumber_default(value);other=baseToNumber_default(other)}result2=operator(value,other)}return result2}}var createMathOperation_default=createMathOperation;var add=createMathOperation_default(function(augend,addend){return augend+addend},0);var add_default=add;var reWhitespace=/\s/;function trimmedEndIndex(string){var index=string.length;while(index--&&reWhitespace.test(string.charAt(index))){}return index}var trimmedEndIndex_default=trimmedEndIndex;var reTrimStart=/^\s+/;function baseTrim(string){return string?string.slice(0,trimmedEndIndex_default(string)+1).replace(reTrimStart,""):string}var baseTrim_default=baseTrim;function isObject(value){var type2=typeof value;return value!=null&&(type2=="object"||type2=="function")}var isObject_default=isObject;var NAN2=0/0;var reIsBadHex=/^[-+]0x[0-9a-f]+$/i;var reIsBinary=/^0b[01]+$/i;var reIsOctal=/^0o[0-7]+$/i;var freeParseInt=parseInt;function toNumber(value){if(typeof value=="number"){return value}if(isSymbol_default(value)){return NAN2}if(isObject_default(value)){var other=typeof value.valueOf=="function"?value.valueOf():value;value=isObject_default(other)?other+"":other}if(typeof value!="string"){return value===0?value:+value}value=baseTrim_default(value);var isBinary2=reIsBinary.test(value);return isBinary2||reIsOctal.test(value)?freeParseInt(value.slice(2),isBinary2?2:8):reIsBadHex.test(value)?NAN2:+value}var toNumber_default=toNumber;var INFINITY2=1/0;var MAX_INTEGER=17976931348623157e292;function toFinite(value){if(!value){return value===0?value:0}value=toNumber_default(value);if(value===INFINITY2||value===-INFINITY2){var sign=value<0?-1:1;return sign*MAX_INTEGER}return value===value?value:0}var toFinite_default=toFinite;function toInteger(value){var result2=toFinite_default(value),remainder=result2%1;return result2===result2?remainder?result2-remainder:result2:0}var toInteger_default=toInteger;var FUNC_ERROR_TEXT="Expected a function";function after(n,func){if(typeof func!="function"){throw new TypeError(FUNC_ERROR_TEXT)}n=toInteger_default(n);return function(){if(--n<1){return func.apply(this,arguments)}}}var after_default=after;function identity(value){return value}var identity_default=identity;var asyncTag="[object AsyncFunction]";var funcTag="[object Function]";var genTag="[object GeneratorFunction]";var proxyTag="[object Proxy]";function isFunction(value){if(!isObject_default(value)){return false}var tag=baseGetTag_default(value);return tag==funcTag||tag==genTag||tag==asyncTag||tag==proxyTag}var isFunction_default=isFunction;var coreJsData=root_default["__core-js_shared__"];var coreJsData_default=coreJsData;var maskSrcKey=function(){var uid=/[^.]+$/.exec(coreJsData_default&&coreJsData_default.keys&&coreJsData_default.keys.IE_PROTO||"");return uid?"Symbol(src)_1."+uid:""}();function isMasked(func){return!!maskSrcKey&&maskSrcKey in func}var isMasked_default=isMasked;var funcProto=Function.prototype;var funcToString=funcProto.toString;function toSource(func){if(func!=null){try{return funcToString.call(func)}catch(e){}try{return func+""}catch(e){}}return""}var toSource_default=toSource;var reRegExpChar=/[\\^$.*+?()[\]{}|]/g;var reIsHostCtor=/^\[object .+?Constructor\]$/;var funcProto2=Function.prototype;var objectProto3=Object.prototype;var funcToString2=funcProto2.toString;var hasOwnProperty2=objectProto3.hasOwnProperty;var reIsNative=RegExp("^"+funcToString2.call(hasOwnProperty2).replace(reRegExpChar,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function baseIsNative(value){if(!isObject_default(value)||isMasked_default(value)){return false}var pattern=isFunction_default(value)?reIsNative:reIsHostCtor;return pattern.test(toSource_default(value))}var baseIsNative_default=baseIsNative;function getValue(object,key){return object==null?void 0:object[key]}var getValue_default=getValue;function getNative(object,key){var value=getValue_default(object,key);return baseIsNative_default(value)?value:void 0}var getNative_default=getNative;var WeakMap2=getNative_default(root_default,"WeakMap");var WeakMap_default=WeakMap2;var metaMap=WeakMap_default&&new WeakMap_default;var metaMap_default=metaMap;var baseSetData=!metaMap_default?identity_default:function(func,data){metaMap_default.set(func,data);return func};var baseSetData_default=baseSetData;var objectCreate=Object.create;var baseCreate=function(){function object(){}return function(proto2){if(!isObject_default(proto2)){return{}}if(objectCreate){return objectCreate(proto2)}object.prototype=proto2;var result2=new object;object.prototype=void 0;return result2}}();var baseCreate_default=baseCreate;function createCtor(Ctor){return function(){var args2=arguments;switch(args2.length){case 0:return new Ctor;case 1:return new Ctor(args2[0]);case 2:return new Ctor(args2[0],args2[1]);case 3:return new Ctor(args2[0],args2[1],args2[2]);case 4:return new Ctor(args2[0],args2[1],args2[2],args2[3]);case 5:return new Ctor(args2[0],args2[1],args2[2],args2[3],args2[4]);case 6:return new Ctor(args2[0],args2[1],args2[2],args2[3],args2[4],args2[5]);case 7:return new Ctor(args2[0],args2[1],args2[2],args2[3],args2[4],args2[5],args2[6])}var thisBinding=baseCreate_default(Ctor.prototype),result2=Ctor.apply(thisBinding,args2);return isObject_default(result2)?result2:thisBinding}}var createCtor_default=createCtor;var WRAP_BIND_FLAG=1;function createBind(func,bitmask,thisArg){var isBind=bitmask&WRAP_BIND_FLAG,Ctor=createCtor_default(func);function wrapper(){var fn2=this&&this!==root_default&&this instanceof wrapper?Ctor:func;return fn2.apply(isBind?thisArg:this,arguments)}return wrapper}var createBind_default=createBind;function apply(func,thisArg,args2){switch(args2.length){case 0:return func.call(thisArg);case 1:return func.call(thisArg,args2[0]);case 2:return func.call(thisArg,args2[0],args2[1]);case 3:return func.call(thisArg,args2[0],args2[1],args2[2])}return func.apply(thisArg,args2)}var apply_default=apply;var nativeMax=Math.max;function composeArgs(args2,partials,holders,isCurried){var argsIndex=-1,argsLength=args2.length,holdersLength=holders.length,leftIndex=-1,leftLength=partials.length,rangeLength=nativeMax(argsLength-holdersLength,0),result2=Array(leftLength+rangeLength),isUncurried=!isCurried;while(++leftIndex<leftLength){result2[leftIndex]=partials[leftIndex]}while(++argsIndex<holdersLength){if(isUncurried||argsIndex<argsLength){result2[holders[argsIndex]]=args2[argsIndex]}}while(rangeLength--){result2[leftIndex++]=args2[argsIndex++]}return result2}var composeArgs_default=composeArgs;var nativeMax2=Math.max;function composeArgsRight(args2,partials,holders,isCurried){var argsIndex=-1,argsLength=args2.length,holdersIndex=-1,holdersLength=holders.length,rightIndex=-1,rightLength=partials.length,rangeLength=nativeMax2(argsLength-holdersLength,0),result2=Array(rangeLength+rightLength),isUncurried=!isCurried;while(++argsIndex<rangeLength){result2[argsIndex]=args2[argsIndex]}var offset=argsIndex;while(++rightIndex<rightLength){result2[offset+rightIndex]=partials[rightIndex]}while(++holdersIndex<holdersLength){if(isUncurried||argsIndex<argsLength){result2[offset+holders[holdersIndex]]=args2[argsIndex++]}}return result2}var composeArgsRight_default=composeArgsRight;function countHolders(array,placeholder){var length=array.length,result2=0;while(length--){if(array[length]===placeholder){++result2}}return result2}var countHolders_default=countHolders;function baseLodash(){}var baseLodash_default=baseLodash;var MAX_ARRAY_LENGTH=4294967295;function LazyWrapper(value){this.__wrapped__=value;this.__actions__=[];this.__dir__=1;this.__filtered__=false;this.__iteratees__=[];this.__takeCount__=MAX_ARRAY_LENGTH;this.__views__=[]}LazyWrapper.prototype=baseCreate_default(baseLodash_default.prototype);LazyWrapper.prototype.constructor=LazyWrapper;var LazyWrapper_default=LazyWrapper;function noop(){}var noop_default=noop;var getData=!metaMap_default?noop_default:function(func){return metaMap_default.get(func)};var getData_default=getData;var realNames={};var realNames_default=realNames;var objectProto4=Object.prototype;var hasOwnProperty3=objectProto4.hasOwnProperty;function getFuncName(func){var result2=func.name+"",array=realNames_default[result2],length=hasOwnProperty3.call(realNames_default,result2)?array.length:0;while(length--){var data=array[length],otherFunc=data.func;if(otherFunc==null||otherFunc==func){return data.name}}return result2}var getFuncName_default=getFuncName;function LodashWrapper(value,chainAll){this.__wrapped__=value;this.__actions__=[];this.__chain__=!!chainAll;this.__index__=0;this.__values__=void 0}LodashWrapper.prototype=baseCreate_default(baseLodash_default.prototype);LodashWrapper.prototype.constructor=LodashWrapper;var LodashWrapper_default=LodashWrapper;function copyArray(source,array){var index=-1,length=source.length;array||(array=Array(length));while(++index<length){array[index]=source[index]}return array}var copyArray_default=copyArray;function wrapperClone(wrapper){if(wrapper instanceof LazyWrapper_default){return wrapper.clone()}var result2=new LodashWrapper_default(wrapper.__wrapped__,wrapper.__chain__);result2.__actions__=copyArray_default(wrapper.__actions__);result2.__index__=wrapper.__index__;result2.__values__=wrapper.__values__;return result2}var wrapperClone_default=wrapperClone;var objectProto5=Object.prototype;var hasOwnProperty4=objectProto5.hasOwnProperty;function lodash2(value){if(isObjectLike_default(value)&&!isArray_default(value)&&!(value instanceof LazyWrapper_default)){if(value instanceof LodashWrapper_default){return value}if(hasOwnProperty4.call(value,"__wrapped__")){return wrapperClone_default(value)}}return new LodashWrapper_default(value)}lodash2.prototype=baseLodash_default.prototype;lodash2.prototype.constructor=lodash2;var wrapperLodash_default=lodash2;function isLaziable(func){var funcName=getFuncName_default(func),other=wrapperLodash_default[funcName];if(typeof other!="function"||!(funcName in LazyWrapper_default.prototype)){return false}if(func===other){return true}var data=getData_default(other);return!!data&&func===data[0]}var isLaziable_default=isLaziable;var HOT_COUNT=800;var HOT_SPAN=16;var nativeNow=Date.now;function shortOut(func){var count=0,lastCalled=0;return function(){var stamp=nativeNow(),remaining=HOT_SPAN-(stamp-lastCalled);lastCalled=stamp;if(remaining>0){if(++count>=HOT_COUNT){return arguments[0]}}else{count=0}return func.apply(void 0,arguments)}}var shortOut_default=shortOut;var setData=shortOut_default(baseSetData_default);var setData_default=setData;var reWrapDetails=/\{\n\/\* \[wrapped with (.+)\] \*/;var reSplitDetails=/,? & /;function getWrapDetails(source){var match=source.match(reWrapDetails);return match?match[1].split(reSplitDetails):[]}var getWrapDetails_default=getWrapDetails;var reWrapComment=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/;function insertWrapDetails(source,details){var length=details.length;if(!length){return source}var lastIndex=length-1;details[lastIndex]=(length>1?"& ":"")+details[lastIndex];details=details.join(length>2?", ":" ");return source.replace(reWrapComment,"{\n/* [wrapped with "+details+"] */\n")}var insertWrapDetails_default=insertWrapDetails;function constant(value){return function(){return value}}var constant_default=constant;var defineProperty=function(){try{var func=getNative_default(Object,"defineProperty");func({},"",{});return func}catch(e){}}();var defineProperty_default=defineProperty;var baseSetToString=!defineProperty_default?identity_default:function(func,string){return defineProperty_default(func,"toString",{"configurable":true,"enumerable":false,"value":constant_default(string),"writable":true})};var baseSetToString_default=baseSetToString;var setToString=shortOut_default(baseSetToString_default);var setToString_default=setToString;function arrayEach(array,iteratee2){var index=-1,length=array==null?0:array.length;while(++index<length){if(iteratee2(array[index],index,array)===false){break}}return array}var arrayEach_default=arrayEach;function baseFindIndex(array,predicate,fromIndex,fromRight){var length=array.length,index=fromIndex+(fromRight?1:-1);while(fromRight?index--:++index<length){if(predicate(array[index],index,array)){return index}}return-1}var baseFindIndex_default=baseFindIndex;function baseIsNaN(value){return value!==value}var baseIsNaN_default=baseIsNaN;function strictIndexOf(array,value,fromIndex){var index=fromIndex-1,length=array.length;while(++index<length){if(array[index]===value){return index}}return-1}var strictIndexOf_default=strictIndexOf;function baseIndexOf(array,value,fromIndex){return value===value?strictIndexOf_default(array,value,fromIndex):baseFindIndex_default(array,baseIsNaN_default,fromIndex)}var baseIndexOf_default=baseIndexOf;function arrayIncludes(array,value){var length=array==null?0:array.length;return!!length&&baseIndexOf_default(array,value,0)>-1}var arrayIncludes_default=arrayIncludes;var WRAP_BIND_FLAG2=1;var WRAP_BIND_KEY_FLAG=2;var WRAP_CURRY_FLAG=8;var WRAP_CURRY_RIGHT_FLAG=16;var WRAP_PARTIAL_FLAG=32;var WRAP_PARTIAL_RIGHT_FLAG=64;var WRAP_ARY_FLAG=128;var WRAP_REARG_FLAG=256;var WRAP_FLIP_FLAG=512;var wrapFlags=[["ary",WRAP_ARY_FLAG],["bind",WRAP_BIND_FLAG2],["bindKey",WRAP_BIND_KEY_FLAG],["curry",WRAP_CURRY_FLAG],["curryRight",WRAP_CURRY_RIGHT_FLAG],["flip",WRAP_FLIP_FLAG],["partial",WRAP_PARTIAL_FLAG],["partialRight",WRAP_PARTIAL_RIGHT_FLAG],["rearg",WRAP_REARG_FLAG]];function updateWrapDetails(details,bitmask){arrayEach_default(wrapFlags,function(pair){var value="_."+pair[0];if(bitmask&pair[1]&&!arrayIncludes_default(details,value)){details.push(value)}});return details.sort()}var updateWrapDetails_default=updateWrapDetails;function setWrapToString(wrapper,reference,bitmask){var source=reference+"";return setToString_default(wrapper,insertWrapDetails_default(source,updateWrapDetails_default(getWrapDetails_default(source),bitmask)))}var setWrapToString_default=setWrapToString;var WRAP_BIND_FLAG3=1;var WRAP_BIND_KEY_FLAG2=2;var WRAP_CURRY_BOUND_FLAG=4;var WRAP_CURRY_FLAG2=8;var WRAP_PARTIAL_FLAG2=32;var WRAP_PARTIAL_RIGHT_FLAG2=64;function createRecurry(func,bitmask,wrapFunc,placeholder,thisArg,partials,holders,argPos,ary2,arity){var isCurry=bitmask&WRAP_CURRY_FLAG2,newHolders=isCurry?holders:void 0,newHoldersRight=isCurry?void 0:holders,newPartials=isCurry?partials:void 0,newPartialsRight=isCurry?void 0:partials;bitmask|=isCurry?WRAP_PARTIAL_FLAG2:WRAP_PARTIAL_RIGHT_FLAG2;bitmask&=~(isCurry?WRAP_PARTIAL_RIGHT_FLAG2:WRAP_PARTIAL_FLAG2);if(!(bitmask&WRAP_CURRY_BOUND_FLAG)){bitmask&=~(WRAP_BIND_FLAG3|WRAP_BIND_KEY_FLAG2)}var newData=[func,bitmask,thisArg,newPartials,newHolders,newPartialsRight,newHoldersRight,argPos,ary2,arity];var result2=wrapFunc.apply(void 0,newData);if(isLaziable_default(func)){setData_default(result2,newData)}result2.placeholder=placeholder;return setWrapToString_default(result2,func,bitmask)}var createRecurry_default=createRecurry;function getHolder(func){var object=func;return object.placeholder}var getHolder_default=getHolder;var MAX_SAFE_INTEGER=9007199254740991;var reIsUint=/^(?:0|[1-9]\d*)$/;function isIndex(value,length){var type2=typeof value;length=length==null?MAX_SAFE_INTEGER:length;return!!length&&(type2=="number"||type2!="symbol"&&reIsUint.test(value))&&(value>-1&&value%1==0&&value<length)}var isIndex_default=isIndex;var nativeMin=Math.min;function reorder(array,indexes){var arrLength=array.length,length=nativeMin(indexes.length,arrLength),oldArray=copyArray_default(array);while(length--){var index=indexes[length];array[length]=isIndex_default(index,arrLength)?oldArray[index]:void 0}return array}var reorder_default=reorder;var PLACEHOLDER="__lodash_placeholder__";function replaceHolders(array,placeholder){var index=-1,length=array.length,resIndex=0,result2=[];while(++index<length){var value=array[index];if(value===placeholder||value===PLACEHOLDER){array[index]=PLACEHOLDER;result2[resIndex++]=index}}return result2}var replaceHolders_default=replaceHolders;var WRAP_BIND_FLAG4=1;var WRAP_BIND_KEY_FLAG3=2;var WRAP_CURRY_FLAG3=8;var WRAP_CURRY_RIGHT_FLAG2=16;var WRAP_ARY_FLAG2=128;var WRAP_FLIP_FLAG2=512;function createHybrid(func,bitmask,thisArg,partials,holders,partialsRight,holdersRight,argPos,ary2,arity){var isAry=bitmask&WRAP_ARY_FLAG2,isBind=bitmask&WRAP_BIND_FLAG4,isBindKey=bitmask&WRAP_BIND_KEY_FLAG3,isCurried=bitmask&(WRAP_CURRY_FLAG3|WRAP_CURRY_RIGHT_FLAG2),isFlip=bitmask&WRAP_FLIP_FLAG2,Ctor=isBindKey?void 0:createCtor_default(func);function wrapper(){var length=arguments.length,args2=Array(length),index=length;while(index--){args2[index]=arguments[index]}if(isCurried){var placeholder=getHolder_default(wrapper),holdersCount=countHolders_default(args2,placeholder)}if(partials){args2=composeArgs_default(args2,partials,holders,isCurried)}if(partialsRight){args2=composeArgsRight_default(args2,partialsRight,holdersRight,isCurried)}length-=holdersCount;if(isCurried&&length<arity){var newHolders=replaceHolders_default(args2,placeholder);return createRecurry_default(func,bitmask,createHybrid,wrapper.placeholder,thisArg,args2,newHolders,argPos,ary2,arity-length)}var thisBinding=isBind?thisArg:this,fn2=isBindKey?thisBinding[func]:func;length=args2.length;if(argPos){args2=reorder_default(args2,argPos)}else if(isFlip&&length>1){args2.reverse()}if(isAry&&ary2<length){args2.length=ary2}if(this&&this!==root_default&&this instanceof wrapper){fn2=Ctor||createCtor_default(fn2)}return fn2.apply(thisBinding,args2)}return wrapper}var createHybrid_default=createHybrid;function createCurry(func,bitmask,arity){var Ctor=createCtor_default(func);function wrapper(){var length=arguments.length,args2=Array(length),index=length,placeholder=getHolder_default(wrapper);while(index--){args2[index]=arguments[index]}var holders=length<3&&args2[0]!==placeholder&&args2[length-1]!==placeholder?[]:replaceHolders_default(args2,placeholder);length-=holders.length;if(length<arity){return createRecurry_default(func,bitmask,createHybrid_default,wrapper.placeholder,void 0,args2,holders,void 0,void 0,arity-length)}var fn2=this&&this!==root_default&&this instanceof wrapper?Ctor:func;return apply_default(fn2,this,args2)}return wrapper}var createCurry_default=createCurry;var WRAP_BIND_FLAG5=1;function createPartial(func,bitmask,thisArg,partials){var isBind=bitmask&WRAP_BIND_FLAG5,Ctor=createCtor_default(func);function wrapper(){var argsIndex=-1,argsLength=arguments.length,leftIndex=-1,leftLength=partials.length,args2=Array(leftLength+argsLength),fn2=this&&this!==root_default&&this instanceof wrapper?Ctor:func;while(++leftIndex<leftLength){args2[leftIndex]=partials[leftIndex]}while(argsLength--){args2[leftIndex++]=arguments[++argsIndex]}return apply_default(fn2,isBind?thisArg:this,args2)}return wrapper}var createPartial_default=createPartial;var PLACEHOLDER2="__lodash_placeholder__";var WRAP_BIND_FLAG6=1;var WRAP_BIND_KEY_FLAG4=2;var WRAP_CURRY_BOUND_FLAG2=4;var WRAP_CURRY_FLAG4=8;var WRAP_ARY_FLAG3=128;var WRAP_REARG_FLAG2=256;var nativeMin2=Math.min;function mergeData(data,source){var bitmask=data[1],srcBitmask=source[1],newBitmask=bitmask|srcBitmask,isCommon=newBitmask<(WRAP_BIND_FLAG6|WRAP_BIND_KEY_FLAG4|WRAP_ARY_FLAG3);var isCombo=srcBitmask==WRAP_ARY_FLAG3&&bitmask==WRAP_CURRY_FLAG4||srcBitmask==WRAP_ARY_FLAG3&&bitmask==WRAP_REARG_FLAG2&&data[7].length<=source[8]||srcBitmask==(WRAP_ARY_FLAG3|WRAP_REARG_FLAG2)&&source[7].length<=source[8]&&bitmask==WRAP_CURRY_FLAG4;if(!(isCommon||isCombo)){return data}if(srcBitmask&WRAP_BIND_FLAG6){data[2]=source[2];newBitmask|=bitmask&WRAP_BIND_FLAG6?0:WRAP_CURRY_BOUND_FLAG2}var value=source[3];if(value){var partials=data[3];data[3]=partials?composeArgs_default(partials,value,source[4]):value;data[4]=partials?replaceHolders_default(data[3],PLACEHOLDER2):source[4]}value=source[5];if(value){partials=data[5];data[5]=partials?composeArgsRight_default(partials,value,source[6]):value;data[6]=partials?replaceHolders_default(data[5],PLACEHOLDER2):source[6]}value=source[7];if(value){data[7]=value}if(srcBitmask&WRAP_ARY_FLAG3){data[8]=data[8]==null?source[8]:nativeMin2(data[8],source[8])}if(data[9]==null){data[9]=source[9]}data[0]=source[0];data[1]=newBitmask;return data}var mergeData_default=mergeData;var FUNC_ERROR_TEXT2="Expected a function";var WRAP_BIND_FLAG7=1;var WRAP_BIND_KEY_FLAG5=2;var WRAP_CURRY_FLAG5=8;var WRAP_CURRY_RIGHT_FLAG3=16;var WRAP_PARTIAL_FLAG3=32;var WRAP_PARTIAL_RIGHT_FLAG3=64;var nativeMax3=Math.max;function createWrap(func,bitmask,thisArg,partials,holders,argPos,ary2,arity){var isBindKey=bitmask&WRAP_BIND_KEY_FLAG5;if(!isBindKey&&typeof func!="function"){throw new TypeError(FUNC_ERROR_TEXT2)}var length=partials?partials.length:0;if(!length){bitmask&=~(WRAP_PARTIAL_FLAG3|WRAP_PARTIAL_RIGHT_FLAG3);partials=holders=void 0}ary2=ary2===void 0?ary2:nativeMax3(toInteger_default(ary2),0);arity=arity===void 0?arity:toInteger_default(arity);length-=holders?holders.length:0;if(bitmask&WRAP_PARTIAL_RIGHT_FLAG3){var partialsRight=partials,holdersRight=holders;partials=holders=void 0}var data=isBindKey?void 0:getData_default(func);var newData=[func,bitmask,thisArg,partials,holders,partialsRight,holdersRight,argPos,ary2,arity];if(data){mergeData_default(newData,data)}func=newData[0];bitmask=newData[1];thisArg=newData[2];partials=newData[3];holders=newData[4];arity=newData[9]=newData[9]===void 0?isBindKey?0:func.length:nativeMax3(newData[9]-length,0);if(!arity&&bitmask&(WRAP_CURRY_FLAG5|WRAP_CURRY_RIGHT_FLAG3)){bitmask&=~(WRAP_CURRY_FLAG5|WRAP_CURRY_RIGHT_FLAG3)}if(!bitmask||bitmask==WRAP_BIND_FLAG7){var result2=createBind_default(func,bitmask,thisArg)}else if(bitmask==WRAP_CURRY_FLAG5||bitmask==WRAP_CURRY_RIGHT_FLAG3){result2=createCurry_default(func,bitmask,arity)}else if((bitmask==WRAP_PARTIAL_FLAG3||bitmask==(WRAP_BIND_FLAG7|WRAP_PARTIAL_FLAG3))&&!holders.length){result2=createPartial_default(func,bitmask,thisArg,partials)}else{result2=createHybrid_default.apply(void 0,newData)}var setter=data?baseSetData_default:setData_default;return setWrapToString_default(setter(result2,newData),func,bitmask)}var createWrap_default=createWrap;var WRAP_ARY_FLAG4=128;function ary(func,n,guard){n=guard?void 0:n;n=func&&n==null?func.length:n;return createWrap_default(func,WRAP_ARY_FLAG4,void 0,void 0,void 0,void 0,n)}var ary_default=ary;function baseAssignValue(object,key,value){if(key=="__proto__"&&defineProperty_default){defineProperty_default(object,key,{"configurable":true,"enumerable":true,"value":value,"writable":true})}else{object[key]=value}}var baseAssignValue_default=baseAssignValue;function eq(value,other){return value===other||value!==value&&other!==other}var eq_default=eq;var objectProto6=Object.prototype;var hasOwnProperty5=objectProto6.hasOwnProperty;function assignValue(object,key,value){var objValue=object[key];if(!(hasOwnProperty5.call(object,key)&&eq_default(objValue,value))||value===void 0&&!(key in object)){baseAssignValue_default(object,key,value)}}var assignValue_default=assignValue;function copyObject(source,props,object,customizer){var isNew=!object;object||(object={});var index=-1,length=props.length;while(++index<length){var key=props[index];var newValue=customizer?customizer(object[key],source[key],key,object,source):void 0;if(newValue===void 0){newValue=source[key]}if(isNew){baseAssignValue_default(object,key,newValue)}else{assignValue_default(object,key,newValue)}}return object}var copyObject_default=copyObject;var nativeMax4=Math.max;function overRest(func,start,transform2){start=nativeMax4(start===void 0?func.length-1:start,0);return function(){var args2=arguments,index=-1,length=nativeMax4(args2.length-start,0),array=Array(length);while(++index<length){array[index]=args2[start+index]}index=-1;var otherArgs=Array(start+1);while(++index<start){otherArgs[index]=args2[index]}otherArgs[start]=transform2(array);return apply_default(func,this,otherArgs)}}var overRest_default=overRest;function baseRest(func,start){return setToString_default(overRest_default(func,start,identity_default),func+"")}var baseRest_default=baseRest;var MAX_SAFE_INTEGER2=9007199254740991;function isLength(value){return typeof value=="number"&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER2}var isLength_default=isLength;function isArrayLike(value){return value!=null&&isLength_default(value.length)&&!isFunction_default(value)}var isArrayLike_default=isArrayLike;function isIterateeCall(value,index,object){if(!isObject_default(object)){return false}var type2=typeof index;if(type2=="number"?isArrayLike_default(object)&&isIndex_default(index,object.length):type2=="string"&&index in object){return eq_default(object[index],value)}return false}var isIterateeCall_default=isIterateeCall;function createAssigner(assigner){return baseRest_default(function(object,sources){var index=-1,length=sources.length,customizer=length>1?sources[length-1]:void 0,guard=length>2?sources[2]:void 0;customizer=assigner.length>3&&typeof customizer=="function"?(length--,customizer):void 0;if(guard&&isIterateeCall_default(sources[0],sources[1],guard)){customizer=length<3?void 0:customizer;length=1}object=Object(object);while(++index<length){var source=sources[index];if(source){assigner(object,source,index,customizer)}}return object})}var createAssigner_default=createAssigner;var objectProto7=Object.prototype;function isPrototype(value){var Ctor=value&&value.constructor,proto2=typeof Ctor=="function"&&Ctor.prototype||objectProto7;return value===proto2}var isPrototype_default=isPrototype;function baseTimes(n,iteratee2){var index=-1,result2=Array(n);while(++index<n){result2[index]=iteratee2(index)}return result2}var baseTimes_default=baseTimes;var argsTag="[object Arguments]";function baseIsArguments(value){return isObjectLike_default(value)&&baseGetTag_default(value)==argsTag}var baseIsArguments_default=baseIsArguments;var objectProto8=Object.prototype;var hasOwnProperty6=objectProto8.hasOwnProperty;var propertyIsEnumerable=objectProto8.propertyIsEnumerable;var isArguments=baseIsArguments_default(function(){return arguments}())?baseIsArguments_default:function(value){return isObjectLike_default(value)&&hasOwnProperty6.call(value,"callee")&&!propertyIsEnumerable.call(value,"callee")};var isArguments_default=isArguments;function stubFalse(){return false}var stubFalse_default=stubFalse;var freeExports=typeof exports=="object"&&exports&&!exports.nodeType&&exports;var freeModule=freeExports&&typeof module=="object"&&module&&!module.nodeType&&module;var moduleExports=freeModule&&freeModule.exports===freeExports;var Buffer2=moduleExports?root_default.Buffer:void 0;var nativeIsBuffer=Buffer2?Buffer2.isBuffer:void 0;var isBuffer=nativeIsBuffer||stubFalse_default;var isBuffer_default=isBuffer;var argsTag2="[object Arguments]";var arrayTag="[object Array]";var boolTag="[object Boolean]";var dateTag="[object Date]";var errorTag="[object Error]";var funcTag2="[object Function]";var mapTag="[object Map]";var numberTag="[object Number]";var objectTag="[object Object]";var regexpTag="[object RegExp]";var setTag="[object Set]";var stringTag="[object String]";var weakMapTag="[object WeakMap]";var arrayBufferTag="[object ArrayBuffer]";var dataViewTag="[object DataView]";var float32Tag="[object Float32Array]";var float64Tag="[object Float64Array]";var int8Tag="[object Int8Array]";var int16Tag="[object Int16Array]";var int32Tag="[object Int32Array]";var uint8Tag="[object Uint8Array]";var uint8ClampedTag="[object Uint8ClampedArray]";var uint16Tag="[object Uint16Array]";var uint32Tag="[object Uint32Array]";var typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=true;typedArrayTags[argsTag2]=typedArrayTags[arrayTag]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dataViewTag]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag2]=typedArrayTags[mapTag]=typedArrayTags[numberTag]=typedArrayTags[objectTag]=typedArrayTags[regexpTag]=typedArrayTags[setTag]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag]=false;function baseIsTypedArray(value){return isObjectLike_default(value)&&isLength_default(value.length)&&!!typedArrayTags[baseGetTag_default(value)]}var baseIsTypedArray_default=baseIsTypedArray;function baseUnary(func){return function(value){return func(value)}}var baseUnary_default=baseUnary;var freeExports2=typeof exports=="object"&&exports&&!exports.nodeType&&exports;var freeModule2=freeExports2&&typeof module=="object"&&module&&!module.nodeType&&module;var moduleExports2=freeModule2&&freeModule2.exports===freeExports2;var freeProcess=moduleExports2&&freeGlobal_default.process;var nodeUtil=function(){try{var types6=freeModule2&&freeModule2.require&&freeModule2.require("util").types;if(types6){return types6}return freeProcess&&freeProcess.binding&&freeProcess.binding("util")}catch(e){}}();var nodeUtil_default=nodeUtil;var nodeIsTypedArray=nodeUtil_default&&nodeUtil_default.isTypedArray;var isTypedArray=nodeIsTypedArray?baseUnary_default(nodeIsTypedArray):baseIsTypedArray_default;var isTypedArray_default=isTypedArray;var objectProto9=Object.prototype;var hasOwnProperty7=objectProto9.hasOwnProperty;function arrayLikeKeys(value,inherited){var isArr=isArray_default(value),isArg=!isArr&&isArguments_default(value),isBuff=!isArr&&!isArg&&isBuffer_default(value),isType=!isArr&&!isArg&&!isBuff&&isTypedArray_default(value),skipIndexes=isArr||isArg||isBuff||isType,result2=skipIndexes?baseTimes_default(value.length,String):[],length=result2.length;for(var key in value){if((inherited||hasOwnProperty7.call(value,key))&&!(skipIndexes&&(key=="length"||isBuff&&(key=="offset"||key=="parent")||isType&&(key=="buffer"||key=="byteLength"||key=="byteOffset")||isIndex_default(key,length)))){result2.push(key)}}return result2}var arrayLikeKeys_default=arrayLikeKeys;function overArg(func,transform2){return function(arg){return func(transform2(arg))}}var overArg_default=overArg;var nativeKeys=overArg_default(Object.keys,Object);var nativeKeys_default=nativeKeys;var objectProto10=Object.prototype;var hasOwnProperty8=objectProto10.hasOwnProperty;function baseKeys(object){if(!isPrototype_default(object)){return nativeKeys_default(object)}var result2=[];for(var key in Object(object)){if(hasOwnProperty8.call(object,key)&&key!="constructor"){result2.push(key)}}return result2}var baseKeys_default=baseKeys;function keys(object){return isArrayLike_default(object)?arrayLikeKeys_default(object):baseKeys_default(object)}var keys_default=keys;var objectProto11=Object.prototype;var hasOwnProperty9=objectProto11.hasOwnProperty;var assign=createAssigner_default(function(object,source){if(isPrototype_default(source)||isArrayLike_default(source)){copyObject_default(source,keys_default(source),object);return}for(var key in source){if(hasOwnProperty9.call(source,key)){assignValue_default(object,key,source[key])}}});var assign_default=assign;function nativeKeysIn(object){var result2=[];if(object!=null){for(var key in Object(object)){result2.push(key)}}return result2}var nativeKeysIn_default=nativeKeysIn;var objectProto12=Object.prototype;var hasOwnProperty10=objectProto12.hasOwnProperty;function baseKeysIn(object){if(!isObject_default(object)){return nativeKeysIn_default(object)}var isProto=isPrototype_default(object),result2=[];for(var key in object){if(!(key=="constructor"&&(isProto||!hasOwnProperty10.call(object,key)))){result2.push(key)}}return result2}var baseKeysIn_default=baseKeysIn;function keysIn(object){return isArrayLike_default(object)?arrayLikeKeys_default(object,true):baseKeysIn_default(object)}var keysIn_default=keysIn;var assignIn=createAssigner_default(function(object,source){copyObject_default(source,keysIn_default(source),object)});var assignIn_default=assignIn;var assignInWith=createAssigner_default(function(object,source,srcIndex,customizer){copyObject_default(source,keysIn_default(source),object,customizer)});var assignInWith_default=assignInWith;var assignWith=createAssigner_default(function(object,source,srcIndex,customizer){copyObject_default(source,keys_default(source),object,customizer)});var assignWith_default=assignWith;var reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/;var reIsPlainProp=/^\w*$/;function isKey(value,object){if(isArray_default(value)){return false}var type2=typeof value;if(type2=="number"||type2=="symbol"||type2=="boolean"||value==null||isSymbol_default(value)){return true}return reIsPlainProp.test(value)||!reIsDeepProp.test(value)||object!=null&&value in Object(object)}var isKey_default=isKey;var nativeCreate=getNative_default(Object,"create");var nativeCreate_default=nativeCreate;function hashClear(){this.__data__=nativeCreate_default?nativeCreate_default(null):{};this.size=0}var hashClear_default=hashClear;function hashDelete(key){var result2=this.has(key)&&delete this.__data__[key];this.size-=result2?1:0;return result2}var hashDelete_default=hashDelete;var HASH_UNDEFINED="__lodash_hash_undefined__";var objectProto13=Object.prototype;var hasOwnProperty11=objectProto13.hasOwnProperty;function hashGet(key){var data=this.__data__;if(nativeCreate_default){var result2=data[key];return result2===HASH_UNDEFINED?void 0:result2}return hasOwnProperty11.call(data,key)?data[key]:void 0}var hashGet_default=hashGet;var objectProto14=Object.prototype;var hasOwnProperty12=objectProto14.hasOwnProperty;function hashHas(key){var data=this.__data__;return nativeCreate_default?data[key]!==void 0:hasOwnProperty12.call(data,key)}var hashHas_default=hashHas;var HASH_UNDEFINED2="__lodash_hash_undefined__";function hashSet(key,value){var data=this.__data__;this.size+=this.has(key)?0:1;data[key]=nativeCreate_default&&value===void 0?HASH_UNDEFINED2:value;return this}var hashSet_default=hashSet;function Hash(entries2){var index=-1,length=entries2==null?0:entries2.length;this.clear();while(++index<length){var entry=entries2[index];this.set(entry[0],entry[1])}}Hash.prototype.clear=hashClear_default;Hash.prototype["delete"]=hashDelete_default;Hash.prototype.get=hashGet_default;Hash.prototype.has=hashHas_default;Hash.prototype.set=hashSet_default;var Hash_default=Hash;function listCacheClear(){this.__data__=[];this.size=0}var listCacheClear_default=listCacheClear;function assocIndexOf(array,key){var length=array.length;while(length--){if(eq_default(array[length][0],key)){return length}}return-1}var assocIndexOf_default=assocIndexOf;var arrayProto=Array.prototype;var splice=arrayProto.splice;function listCacheDelete(key){var data=this.__data__,index=assocIndexOf_default(data,key);if(index<0){return false}var lastIndex=data.length-1;if(index==lastIndex){data.pop()}else{splice.call(data,index,1)}--this.size;return true}var listCacheDelete_default=listCacheDelete;function listCacheGet(key){var data=this.__data__,index=assocIndexOf_default(data,key);return index<0?void 0:data[index][1]}var listCacheGet_default=listCacheGet;function listCacheHas(key){return assocIndexOf_default(this.__data__,key)>-1}var listCacheHas_default=listCacheHas;function listCacheSet(key,value){var data=this.__data__,index=assocIndexOf_default(data,key);if(index<0){++this.size;data.push([key,value])}else{data[index][1]=value}return this}var listCacheSet_default=listCacheSet;function ListCache(entries2){var index=-1,length=entries2==null?0:entries2.length;this.clear();while(++index<length){var entry=entries2[index];this.set(entry[0],entry[1])}}ListCache.prototype.clear=listCacheClear_default;ListCache.prototype["delete"]=listCacheDelete_default;ListCache.prototype.get=listCacheGet_default;ListCache.prototype.has=listCacheHas_default;ListCache.prototype.set=listCacheSet_default;var ListCache_default=ListCache;var Map2=getNative_default(root_default,"Map");var Map_default=Map2;function mapCacheClear(){this.size=0;this.__data__={"hash":new Hash_default,"map":new(Map_default||ListCache_default),"string":new Hash_default}}var mapCacheClear_default=mapCacheClear;function isKeyable(value){var type2=typeof value;return type2=="string"||type2=="number"||type2=="symbol"||type2=="boolean"?value!=="__proto__":value===null}var isKeyable_default=isKeyable;function getMapData(map3,key){var data=map3.__data__;return isKeyable_default(key)?data[typeof key=="string"?"string":"hash"]:data.map}var getMapData_default=getMapData;function mapCacheDelete(key){var result2=getMapData_default(this,key)["delete"](key);this.size-=result2?1:0;return result2}var mapCacheDelete_default=mapCacheDelete;function mapCacheGet(key){return getMapData_default(this,key).get(key)}var mapCacheGet_default=mapCacheGet;function mapCacheHas(key){return getMapData_default(this,key).has(key)}var mapCacheHas_default=mapCacheHas;function mapCacheSet(key,value){var data=getMapData_default(this,key),size2=data.size;data.set(key,value);this.size+=data.size==size2?0:1;return this}var mapCacheSet_default=mapCacheSet;function MapCache(entries2){var index=-1,length=entries2==null?0:entries2.length;this.clear();while(++index<length){var entry=entries2[index];this.set(entry[0],entry[1])}}MapCache.prototype.clear=mapCacheClear_default;MapCache.prototype["delete"]=mapCacheDelete_default;MapCache.prototype.get=mapCacheGet_default;MapCache.prototype.has=mapCacheHas_default;MapCache.prototype.set=mapCacheSet_default;var MapCache_default=MapCache;var FUNC_ERROR_TEXT3="Expected a function";function memoize(func,resolver){if(typeof func!="function"||resolver!=null&&typeof resolver!="function"){throw new TypeError(FUNC_ERROR_TEXT3)}var memoized=function(){var args2=arguments,key=resolver?resolver.apply(this,args2):args2[0],cache2=memoized.cache;if(cache2.has(key)){return cache2.get(key)}var result2=func.apply(this,args2);memoized.cache=cache2.set(key,result2)||cache2;return result2};memoized.cache=new(memoize.Cache||MapCache_default);return memoized}memoize.Cache=MapCache_default;var memoize_default=memoize;var MAX_MEMOIZE_SIZE=500;function memoizeCapped(func){var result2=memoize_default(func,function(key){if(cache2.size===MAX_MEMOIZE_SIZE){cache2.clear()}return key});var cache2=result2.cache;return result2}var memoizeCapped_default=memoizeCapped;var rePropName=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;var reEscapeChar=/\\(\\)?/g;var stringToPath=memoizeCapped_default(function(string){var result2=[];if(string.charCodeAt(0)===46){result2.push("")}string.replace(rePropName,function(match,number2,quote,subString){result2.push(quote?subString.replace(reEscapeChar,"$1"):number2||match)});return result2});var stringToPath_default=stringToPath;function toString(value){return value==null?"":baseToString_default(value)}var toString_default=toString;function castPath(value,object){if(isArray_default(value)){return value}return isKey_default(value,object)?[value]:stringToPath_default(toString_default(value))}var castPath_default=castPath;var INFINITY3=1/0;function toKey(value){if(typeof value=="string"||isSymbol_default(value)){return value}var result2=value+"";return result2=="0"&&1/value==-INFINITY3?"-0":result2}var toKey_default=toKey;function baseGet(object,path27){path27=castPath_default(path27,object);var index=0,length=path27.length;while(object!=null&&index<length){object=object[toKey_default(path27[index++])]}return index&&index==length?object:void 0}var baseGet_default=baseGet;function get(object,path27,defaultValue){var result2=object==null?void 0:baseGet_default(object,path27);return result2===void 0?defaultValue:result2}var get_default=get;function baseAt(object,paths){var index=-1,length=paths.length,result2=Array(length),skip=object==null;while(++index<length){result2[index]=skip?void 0:get_default(object,paths[index])}return result2}var baseAt_default=baseAt;function arrayPush(array,values2){var index=-1,length=values2.length,offset=array.length;while(++index<length){array[offset+index]=values2[index]}return array}var arrayPush_default=arrayPush;var spreadableSymbol=Symbol_default?Symbol_default.isConcatSpreadable:void 0;function isFlattenable(value){return isArray_default(value)||isArguments_default(value)||!!(spreadableSymbol&&value&&value[spreadableSymbol])}var isFlattenable_default=isFlattenable;function baseFlatten(array,depth,predicate,isStrict,result2){var index=-1,length=array.length;predicate||(predicate=isFlattenable_default);result2||(result2=[]);while(++index<length){var value=array[index];if(depth>0&&predicate(value)){if(depth>1){baseFlatten(value,depth-1,predicate,isStrict,result2)}else{arrayPush_default(result2,value)}}else if(!isStrict){result2[result2.length]=value}}return result2}var baseFlatten_default=baseFlatten;function flatten(array){var length=array==null?0:array.length;return length?baseFlatten_default(array,1):[]}var flatten_default=flatten;function flatRest(func){return setToString_default(overRest_default(func,void 0,flatten_default),func+"")}var flatRest_default=flatRest;var at=flatRest_default(baseAt_default);var at_default=at;var getPrototype=overArg_default(Object.getPrototypeOf,Object);var getPrototype_default=getPrototype;var objectTag2="[object Object]";var funcProto3=Function.prototype;var objectProto15=Object.prototype;var funcToString3=funcProto3.toString;var hasOwnProperty13=objectProto15.hasOwnProperty;var objectCtorString=funcToString3.call(Object);function isPlainObject(value){if(!isObjectLike_default(value)||baseGetTag_default(value)!=objectTag2){return false}var proto2=getPrototype_default(value);if(proto2===null){return true}var Ctor=hasOwnProperty13.call(proto2,"constructor")&&proto2.constructor;return typeof Ctor=="function"&&Ctor instanceof Ctor&&funcToString3.call(Ctor)==objectCtorString}var isPlainObject_default=isPlainObject;var domExcTag="[object DOMException]";var errorTag2="[object Error]";function isError(value){if(!isObjectLike_default(value)){return false}var tag=baseGetTag_default(value);return tag==errorTag2||tag==domExcTag||typeof value.message=="string"&&typeof value.name=="string"&&!isPlainObject_default(value)}var isError_default=isError;var attempt=baseRest_default(function(func,args2){try{return apply_default(func,void 0,args2)}catch(e){return isError_default(e)?e:new Error(e)}});var attempt_default=attempt;var FUNC_ERROR_TEXT4="Expected a function";function before(n,func){var result2;if(typeof func!="function"){throw new TypeError(FUNC_ERROR_TEXT4)}n=toInteger_default(n);return function(){if(--n>0){result2=func.apply(this,arguments)}if(n<=1){func=void 0}return result2}}var before_default=before;var WRAP_BIND_FLAG8=1;var WRAP_PARTIAL_FLAG4=32;var bind=baseRest_default(function(func,thisArg,partials){var bitmask=WRAP_BIND_FLAG8;if(partials.length){var holders=replaceHolders_default(partials,getHolder_default(bind));bitmask|=WRAP_PARTIAL_FLAG4}return createWrap_default(func,bitmask,thisArg,partials,holders)});bind.placeholder={};var bind_default=bind;var bindAll=flatRest_default(function(object,methodNames){arrayEach_default(methodNames,function(key){key=toKey_default(key);baseAssignValue_default(object,key,bind_default(object[key],object))});return object});var bindAll_default=bindAll;var WRAP_BIND_FLAG9=1;var WRAP_BIND_KEY_FLAG6=2;var WRAP_PARTIAL_FLAG5=32;var bindKey=baseRest_default(function(object,key,partials){var bitmask=WRAP_BIND_FLAG9|WRAP_BIND_KEY_FLAG6;if(partials.length){var holders=replaceHolders_default(partials,getHolder_default(bindKey));bitmask|=WRAP_PARTIAL_FLAG5}return createWrap_default(key,bitmask,object,partials,holders)});bindKey.placeholder={};var bindKey_default=bindKey;function baseSlice(array,start,end){var index=-1,length=array.length;if(start<0){start=-start>length?0:length+start}end=end>length?length:end;if(end<0){end+=length}length=start>end?0:end-start>>>0;start>>>=0;var result2=Array(length);while(++index<length){result2[index]=array[index+start]}return result2}var baseSlice_default=baseSlice;function castSlice(array,start,end){var length=array.length;end=end===void 0?length:end;return!start&&end>=length?array:baseSlice_default(array,start,end)}var castSlice_default=castSlice;var rsAstralRange="\\ud800-\\udfff";var rsComboMarksRange="\\u0300-\\u036f";var reComboHalfMarksRange="\\ufe20-\\ufe2f";var rsComboSymbolsRange="\\u20d0-\\u20ff";var rsComboRange=rsComboMarksRange+reComboHalfMarksRange+rsComboSymbolsRange;var rsVarRange="\\ufe0e\\ufe0f";var rsZWJ="\\u200d";var reHasUnicode=RegExp("["+rsZWJ+rsAstralRange+rsComboRange+rsVarRange+"]");function hasUnicode(string){return reHasUnicode.test(string)}var hasUnicode_default=hasUnicode;function asciiToArray(string){return string.split("")}var asciiToArray_default=asciiToArray;var rsAstralRange2="\\ud800-\\udfff";var rsComboMarksRange2="\\u0300-\\u036f";var reComboHalfMarksRange2="\\ufe20-\\ufe2f";var rsComboSymbolsRange2="\\u20d0-\\u20ff";var rsComboRange2=rsComboMarksRange2+reComboHalfMarksRange2+rsComboSymbolsRange2;var rsVarRange2="\\ufe0e\\ufe0f";var rsAstral="["+rsAstralRange2+"]";var rsCombo="["+rsComboRange2+"]";var rsFitz="\\ud83c[\\udffb-\\udfff]";var rsModifier="(?:"+rsCombo+"|"+rsFitz+")";var rsNonAstral="[^"+rsAstralRange2+"]";var rsRegional="(?:\\ud83c[\\udde6-\\uddff]){2}";var rsSurrPair="[\\ud800-\\udbff][\\udc00-\\udfff]";var rsZWJ2="\\u200d";var reOptMod=rsModifier+"?";var rsOptVar="["+rsVarRange2+"]?";var rsOptJoin="(?:"+rsZWJ2+"(?:"+[rsNonAstral,rsRegional,rsSurrPair].join("|")+")"+rsOptVar+reOptMod+")*";var rsSeq=rsOptVar+reOptMod+rsOptJoin;var rsSymbol="(?:"+[rsNonAstral+rsCombo+"?",rsCombo,rsRegional,rsSurrPair,rsAstral].join("|")+")";var reUnicode=RegExp(rsFitz+"(?="+rsFitz+")|"+rsSymbol+rsSeq,"g");function unicodeToArray(string){return string.match(reUnicode)||[]}var unicodeToArray_default=unicodeToArray;function stringToArray(string){return hasUnicode_default(string)?unicodeToArray_default(string):asciiToArray_default(string)}var stringToArray_default=stringToArray;function createCaseFirst(methodName){return function(string){string=toString_default(string);var strSymbols=hasUnicode_default(string)?stringToArray_default(string):void 0;var chr=strSymbols?strSymbols[0]:string.charAt(0);var trailing=strSymbols?castSlice_default(strSymbols,1).join(""):string.slice(1);return chr[methodName]()+trailing}}var createCaseFirst_default=createCaseFirst;var upperFirst=createCaseFirst_default("toUpperCase");var upperFirst_default=upperFirst;function capitalize(string){return upperFirst_default(toString_default(string).toLowerCase())}var capitalize_default=capitalize;function arrayReduce(array,iteratee2,accumulator,initAccum){var index=-1,length=array==null?0:array.length;if(initAccum&&length){accumulator=array[++index]}while(++index<length){accumulator=iteratee2(accumulator,array[index],index,array)}return accumulator}var arrayReduce_default=arrayReduce;function basePropertyOf(object){return function(key){return object==null?void 0:object[key]}}var basePropertyOf_default=basePropertyOf;var deburredLetters={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","Ĳ":"IJ","ĳ":"ij","Œ":"Oe","œ":"oe","ŉ":"'n","ſ":"s"};var deburrLetter=basePropertyOf_default(deburredLetters);var deburrLetter_default=deburrLetter;var reLatin=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g;var rsComboMarksRange3="\\u0300-\\u036f";var reComboHalfMarksRange3="\\ufe20-\\ufe2f";var rsComboSymbolsRange3="\\u20d0-\\u20ff";var rsComboRange3=rsComboMarksRange3+reComboHalfMarksRange3+rsComboSymbolsRange3;var rsCombo2="["+rsComboRange3+"]";var reComboMark=RegExp(rsCombo2,"g");function deburr(string){string=toString_default(string);return string&&string.replace(reLatin,deburrLetter_default).replace(reComboMark,"")}var deburr_default=deburr;var reAsciiWord=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function asciiWords(string){return string.match(reAsciiWord)||[]}var asciiWords_default=asciiWords;var reHasUnicodeWord=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function hasUnicodeWord(string){return reHasUnicodeWord.test(string)}var hasUnicodeWord_default=hasUnicodeWord;var rsAstralRange3="\\ud800-\\udfff";var rsComboMarksRange4="\\u0300-\\u036f";var reComboHalfMarksRange4="\\ufe20-\\ufe2f";var rsComboSymbolsRange4="\\u20d0-\\u20ff";var rsComboRange4=rsComboMarksRange4+reComboHalfMarksRange4+rsComboSymbolsRange4;var rsDingbatRange="\\u2700-\\u27bf";var rsLowerRange="a-z\\xdf-\\xf6\\xf8-\\xff";var rsMathOpRange="\\xac\\xb1\\xd7\\xf7";var rsNonCharRange="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf";var rsPunctuationRange="\\u2000-\\u206f";var rsSpaceRange=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000";var rsUpperRange="A-Z\\xc0-\\xd6\\xd8-\\xde";var rsVarRange3="\\ufe0e\\ufe0f";var rsBreakRange=rsMathOpRange+rsNonCharRange+rsPunctuationRange+rsSpaceRange;var rsApos="['’]";var rsBreak="["+rsBreakRange+"]";var rsCombo3="["+rsComboRange4+"]";var rsDigits="\\d+";var rsDingbat="["+rsDingbatRange+"]";var rsLower="["+rsLowerRange+"]";var rsMisc="[^"+rsAstralRange3+rsBreakRange+rsDigits+rsDingbatRange+rsLowerRange+rsUpperRange+"]";var rsFitz2="\\ud83c[\\udffb-\\udfff]";var rsModifier2="(?:"+rsCombo3+"|"+rsFitz2+")";var rsNonAstral2="[^"+rsAstralRange3+"]";var rsRegional2="(?:\\ud83c[\\udde6-\\uddff]){2}";var rsSurrPair2="[\\ud800-\\udbff][\\udc00-\\udfff]";var rsUpper="["+rsUpperRange+"]";var rsZWJ3="\\u200d";var rsMiscLower="(?:"+rsLower+"|"+rsMisc+")";var rsMiscUpper="(?:"+rsUpper+"|"+rsMisc+")";var rsOptContrLower="(?:"+rsApos+"(?:d|ll|m|re|s|t|ve))?";var rsOptContrUpper="(?:"+rsApos+"(?:D|LL|M|RE|S|T|VE))?";var reOptMod2=rsModifier2+"?";var rsOptVar2="["+rsVarRange3+"]?";var rsOptJoin2="(?:"+rsZWJ3+"(?:"+[rsNonAstral2,rsRegional2,rsSurrPair2].join("|")+")"+rsOptVar2+reOptMod2+")*";var rsOrdLower="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])";var rsOrdUpper="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])";var rsSeq2=rsOptVar2+reOptMod2+rsOptJoin2;var rsEmoji="(?:"+[rsDingbat,rsRegional2,rsSurrPair2].join("|")+")"+rsSeq2;var reUnicodeWord=RegExp([rsUpper+"?"+rsLower+"+"+rsOptContrLower+"(?="+[rsBreak,rsUpper,"$"].join("|")+")",rsMiscUpper+"+"+rsOptContrUpper+"(?="+[rsBreak,rsUpper+rsMiscLower,"$"].join("|")+")",rsUpper+"?"+rsMiscLower+"+"+rsOptContrLower,rsUpper+"+"+rsOptContrUpper,rsOrdUpper,rsOrdLower,rsDigits,rsEmoji].join("|"),"g");function unicodeWords(string){return string.match(reUnicodeWord)||[]}var unicodeWords_default=unicodeWords;function words(string,pattern,guard){string=toString_default(string);pattern=guard?void 0:pattern;if(pattern===void 0){return hasUnicodeWord_default(string)?unicodeWords_default(string):asciiWords_default(string)}return string.match(pattern)||[]}var words_default=words;var rsApos2="['’]";var reApos=RegExp(rsApos2,"g");function createCompounder(callback){return function(string){return arrayReduce_default(words_default(deburr_default(string).replace(reApos,"")),callback,"")}}var createCompounder_default=createCompounder;var camelCase=createCompounder_default(function(result2,word,index){word=word.toLowerCase();return result2+(index?capitalize_default(word):word)});var camelCase_default=camelCase;function castArray(){if(!arguments.length){return[]}var value=arguments[0];return isArray_default(value)?value:[value]}var castArray_default=castArray;var nativeIsFinite=root_default.isFinite;var nativeMin3=Math.min;function createRound(methodName){var func=Math[methodName];return function(number2,precision){number2=toNumber_default(number2);precision=precision==null?0:nativeMin3(toInteger_default(precision),292);if(precision&&nativeIsFinite(number2)){var pair=(toString_default(number2)+"e").split("e"),value=func(pair[0]+"e"+(+pair[1]+precision));pair=(toString_default(value)+"e").split("e");return+(pair[0]+"e"+(+pair[1]-precision))}return func(number2)}}var createRound_default=createRound;var ceil=createRound_default("ceil");var ceil_default=ceil;function chain(value){var result2=wrapperLodash_default(value);result2.__chain__=true;return result2}var chain_default=chain;var nativeCeil=Math.ceil;var nativeMax5=Math.max;function chunk(array,size2,guard){if(guard?isIterateeCall_default(array,size2,guard):size2===void 0){size2=1}else{size2=nativeMax5(toInteger_default(size2),0)}var length=array==null?0:array.length;if(!length||size2<1){return[]}var index=0,resIndex=0,result2=Array(nativeCeil(length/size2));while(index<length){result2[resIndex++]=baseSlice_default(array,index,index+=size2)}return result2}var chunk_default=chunk;function baseClamp(number2,lower,upper){if(number2===number2){if(upper!==void 0){number2=number2<=upper?number2:upper}if(lower!==void 0){number2=number2>=lower?number2:lower}}return number2}var baseClamp_default=baseClamp;function clamp(number2,lower,upper){if(upper===void 0){upper=lower;lower=void 0}if(upper!==void 0){upper=toNumber_default(upper);upper=upper===upper?upper:0}if(lower!==void 0){lower=toNumber_default(lower);lower=lower===lower?lower:0}return baseClamp_default(toNumber_default(number2),lower,upper)}var clamp_default=clamp;function stackClear(){this.__data__=new ListCache_default;this.size=0}var stackClear_default=stackClear;function stackDelete(key){var data=this.__data__,result2=data["delete"](key);this.size=data.size;return result2}var stackDelete_default=stackDelete;function stackGet(key){return this.__data__.get(key)}var stackGet_default=stackGet;function stackHas(key){return this.__data__.has(key)}var stackHas_default=stackHas;var LARGE_ARRAY_SIZE=200;function stackSet(key,value){var data=this.__data__;if(data instanceof ListCache_default){var pairs2=data.__data__;if(!Map_default||pairs2.length<LARGE_ARRAY_SIZE-1){pairs2.push([key,value]);this.size=++data.size;return this}data=this.__data__=new MapCache_default(pairs2)}data.set(key,value);this.size=data.size;return this}var stackSet_default=stackSet;function Stack(entries2){var data=this.__data__=new ListCache_default(entries2);this.size=data.size}Stack.prototype.clear=stackClear_default;Stack.prototype["delete"]=stackDelete_default;Stack.prototype.get=stackGet_default;Stack.prototype.has=stackHas_default;Stack.prototype.set=stackSet_default;var Stack_default=Stack;function baseAssign(object,source){return object&&copyObject_default(source,keys_default(source),object)}var baseAssign_default=baseAssign;function baseAssignIn(object,source){return object&&copyObject_default(source,keysIn_default(source),object)}var baseAssignIn_default=baseAssignIn;var freeExports3=typeof exports=="object"&&exports&&!exports.nodeType&&exports;var freeModule3=freeExports3&&typeof module=="object"&&module&&!module.nodeType&&module;var moduleExports3=freeModule3&&freeModule3.exports===freeExports3;var Buffer3=moduleExports3?root_default.Buffer:void 0;var allocUnsafe=Buffer3?Buffer3.allocUnsafe:void 0;function cloneBuffer(buffer,isDeep){if(isDeep){return buffer.slice()}var length=buffer.length,result2=allocUnsafe?allocUnsafe(length):new buffer.constructor(length);buffer.copy(result2);return result2}var cloneBuffer_default=cloneBuffer;function arrayFilter(array,predicate){var index=-1,length=array==null?0:array.length,resIndex=0,result2=[];while(++index<length){var value=array[index];if(predicate(value,index,array)){result2[resIndex++]=value}}return result2}var arrayFilter_default=arrayFilter;function stubArray(){return[]}var stubArray_default=stubArray;var objectProto16=Object.prototype;var propertyIsEnumerable2=objectProto16.propertyIsEnumerable;var nativeGetSymbols=Object.getOwnPropertySymbols;var getSymbols=!nativeGetSymbols?stubArray_default:function(object){if(object==null){return[]}object=Object(object);return arrayFilter_default(nativeGetSymbols(object),function(symbol){return propertyIsEnumerable2.call(object,symbol)})};var getSymbols_default=getSymbols;function copySymbols(source,object){return copyObject_default(source,getSymbols_default(source),object)}var copySymbols_default=copySymbols;var nativeGetSymbols2=Object.getOwnPropertySymbols;var getSymbolsIn=!nativeGetSymbols2?stubArray_default:function(object){var result2=[];while(object){arrayPush_default(result2,getSymbols_default(object));object=getPrototype_default(object)}return result2};var getSymbolsIn_default=getSymbolsIn;function copySymbolsIn(source,object){return copyObject_default(source,getSymbolsIn_default(source),object)}var copySymbolsIn_default=copySymbolsIn;function baseGetAllKeys(object,keysFunc,symbolsFunc){var result2=keysFunc(object);return isArray_default(object)?result2:arrayPush_default(result2,symbolsFunc(object))}var baseGetAllKeys_default=baseGetAllKeys;function getAllKeys(object){return baseGetAllKeys_default(object,keys_default,getSymbols_default)}var getAllKeys_default=getAllKeys;function getAllKeysIn(object){return baseGetAllKeys_default(object,keysIn_default,getSymbolsIn_default)}var getAllKeysIn_default=getAllKeysIn;var DataView2=getNative_default(root_default,"DataView");var DataView_default=DataView2;var Promise2=getNative_default(root_default,"Promise");var Promise_default=Promise2;var Set2=getNative_default(root_default,"Set");var Set_default=Set2;var mapTag2="[object Map]";var objectTag3="[object Object]";var promiseTag="[object Promise]";var setTag2="[object Set]";var weakMapTag2="[object WeakMap]";var dataViewTag2="[object DataView]";var dataViewCtorString=toSource_default(DataView_default);var mapCtorString=toSource_default(Map_default);var promiseCtorString=toSource_default(Promise_default);var setCtorString=toSource_default(Set_default);var weakMapCtorString=toSource_default(WeakMap_default);var getTag=baseGetTag_default;if(DataView_default&&getTag(new DataView_default(new ArrayBuffer(1)))!=dataViewTag2||Map_default&&getTag(new Map_default)!=mapTag2||Promise_default&&getTag(Promise_default.resolve())!=promiseTag||Set_default&&getTag(new Set_default)!=setTag2||WeakMap_default&&getTag(new WeakMap_default)!=weakMapTag2){getTag=function(value){var result2=baseGetTag_default(value),Ctor=result2==objectTag3?value.constructor:void 0,ctorString=Ctor?toSource_default(Ctor):"";if(ctorString){switch(ctorString){case dataViewCtorString:return dataViewTag2;case mapCtorString:return mapTag2;case promiseCtorString:return promiseTag;case setCtorString:return setTag2;case weakMapCtorString:return weakMapTag2}}return result2}}var getTag_default=getTag;var objectProto17=Object.prototype;var hasOwnProperty14=objectProto17.hasOwnProperty;function initCloneArray(array){var length=array.length,result2=new array.constructor(length);if(length&&typeof array[0]=="string"&&hasOwnProperty14.call(array,"index")){result2.index=array.index;result2.input=array.input}return result2}var initCloneArray_default=initCloneArray;var Uint8Array2=root_default.Uint8Array;var Uint8Array_default=Uint8Array2;function cloneArrayBuffer(arrayBuffer){var result2=new arrayBuffer.constructor(arrayBuffer.byteLength);new Uint8Array_default(result2).set(new Uint8Array_default(arrayBuffer));return result2}var cloneArrayBuffer_default=cloneArrayBuffer;function cloneDataView(dataView,isDeep){var buffer=isDeep?cloneArrayBuffer_default(dataView.buffer):dataView.buffer;return new dataView.constructor(buffer,dataView.byteOffset,dataView.byteLength)}var cloneDataView_default=cloneDataView;var reFlags=/\w*$/;function cloneRegExp(regexp){var result2=new regexp.constructor(regexp.source,reFlags.exec(regexp));result2.lastIndex=regexp.lastIndex;return result2}var cloneRegExp_default=cloneRegExp;var symbolProto2=Symbol_default?Symbol_default.prototype:void 0;var symbolValueOf=symbolProto2?symbolProto2.valueOf:void 0;function cloneSymbol(symbol){return symbolValueOf?Object(symbolValueOf.call(symbol)):{}}var cloneSymbol_default=cloneSymbol;function cloneTypedArray(typedArray,isDeep){var buffer=isDeep?cloneArrayBuffer_default(typedArray.buffer):typedArray.buffer;return new typedArray.constructor(buffer,typedArray.byteOffset,typedArray.length)}var cloneTypedArray_default=cloneTypedArray;var boolTag2="[object Boolean]";var dateTag2="[object Date]";var mapTag3="[object Map]";var numberTag2="[object Number]";var regexpTag2="[object RegExp]";var setTag3="[object Set]";var stringTag2="[object String]";var symbolTag2="[object Symbol]";var arrayBufferTag2="[object ArrayBuffer]";var dataViewTag3="[object DataView]";var float32Tag2="[object Float32Array]";var float64Tag2="[object Float64Array]";var int8Tag2="[object Int8Array]";var int16Tag2="[object Int16Array]";var int32Tag2="[object Int32Array]";var uint8Tag2="[object Uint8Array]";var uint8ClampedTag2="[object Uint8ClampedArray]";var uint16Tag2="[object Uint16Array]";var uint32Tag2="[object Uint32Array]";function initCloneByTag(object,tag,isDeep){var Ctor=object.constructor;switch(tag){case arrayBufferTag2:return cloneArrayBuffer_default(object);case boolTag2:case dateTag2:return new Ctor(+object);case dataViewTag3:return cloneDataView_default(object,isDeep);case float32Tag2:case float64Tag2:case int8Tag2:case int16Tag2:case int32Tag2:case uint8Tag2:case uint8ClampedTag2:case uint16Tag2:case uint32Tag2:return cloneTypedArray_default(object,isDeep);case mapTag3:return new Ctor;case numberTag2:case stringTag2:return new Ctor(object);case regexpTag2:return cloneRegExp_default(object);case setTag3:return new Ctor;case symbolTag2:return cloneSymbol_default(object)}}var initCloneByTag_default=initCloneByTag;function initCloneObject(object){return typeof object.constructor=="function"&&!isPrototype_default(object)?baseCreate_default(getPrototype_default(object)):{}}var initCloneObject_default=initCloneObject;var mapTag4="[object Map]";function baseIsMap(value){return isObjectLike_default(value)&&getTag_default(value)==mapTag4}var baseIsMap_default=baseIsMap;var nodeIsMap=nodeUtil_default&&nodeUtil_default.isMap;var isMap=nodeIsMap?baseUnary_default(nodeIsMap):baseIsMap_default;var isMap_default=isMap;var setTag4="[object Set]";function baseIsSet(value){return isObjectLike_default(value)&&getTag_default(value)==setTag4}var baseIsSet_default=baseIsSet;var nodeIsSet=nodeUtil_default&&nodeUtil_default.isSet;var isSet=nodeIsSet?baseUnary_default(nodeIsSet):baseIsSet_default;var isSet_default=isSet;var CLONE_DEEP_FLAG=1;var CLONE_FLAT_FLAG=2;var CLONE_SYMBOLS_FLAG=4;var argsTag3="[object Arguments]";var arrayTag2="[object Array]";var boolTag3="[object Boolean]";var dateTag3="[object Date]";var errorTag3="[object Error]";var funcTag3="[object Function]";var genTag2="[object GeneratorFunction]";var mapTag5="[object Map]";var numberTag3="[object Number]";var objectTag4="[object Object]";var regexpTag3="[object RegExp]";var setTag5="[object Set]";var stringTag3="[object String]";var symbolTag3="[object Symbol]";var weakMapTag3="[object WeakMap]";var arrayBufferTag3="[object ArrayBuffer]";var dataViewTag4="[object DataView]";var float32Tag3="[object Float32Array]";var float64Tag3="[object Float64Array]";var int8Tag3="[object Int8Array]";var int16Tag3="[object Int16Array]";var int32Tag3="[object Int32Array]";var uint8Tag3="[object Uint8Array]";var uint8ClampedTag3="[object Uint8ClampedArray]";var uint16Tag3="[object Uint16Array]";var uint32Tag3="[object Uint32Array]";var cloneableTags={};cloneableTags[argsTag3]=cloneableTags[arrayTag2]=cloneableTags[arrayBufferTag3]=cloneableTags[dataViewTag4]=cloneableTags[boolTag3]=cloneableTags[dateTag3]=cloneableTags[float32Tag3]=cloneableTags[float64Tag3]=cloneableTags[int8Tag3]=cloneableTags[int16Tag3]=cloneableTags[int32Tag3]=cloneableTags[mapTag5]=cloneableTags[numberTag3]=cloneableTags[objectTag4]=cloneableTags[regexpTag3]=cloneableTags[setTag5]=cloneableTags[stringTag3]=cloneableTags[symbolTag3]=cloneableTags[uint8Tag3]=cloneableTags[uint8ClampedTag3]=cloneableTags[uint16Tag3]=cloneableTags[uint32Tag3]=true;cloneableTags[errorTag3]=cloneableTags[funcTag3]=cloneableTags[weakMapTag3]=false;function baseClone(value,bitmask,customizer,key,object,stack2){var result2,isDeep=bitmask&CLONE_DEEP_FLAG,isFlat=bitmask&CLONE_FLAT_FLAG,isFull=bitmask&CLONE_SYMBOLS_FLAG;if(customizer){result2=object?customizer(value,key,object,stack2):customizer(value)}if(result2!==void 0){return result2}if(!isObject_default(value)){return value}var isArr=isArray_default(value);if(isArr){result2=initCloneArray_default(value);if(!isDeep){return copyArray_default(value,result2)}}else{var tag=getTag_default(value),isFunc=tag==funcTag3||tag==genTag2;if(isBuffer_default(value)){return cloneBuffer_default(value,isDeep)}if(tag==objectTag4||tag==argsTag3||isFunc&&!object){result2=isFlat||isFunc?{}:initCloneObject_default(value);if(!isDeep){return isFlat?copySymbolsIn_default(value,baseAssignIn_default(result2,value)):copySymbols_default(value,baseAssign_default(result2,value))}}else{if(!cloneableTags[tag]){return object?value:{}}result2=initCloneByTag_default(value,tag,isDeep)}}stack2||(stack2=new Stack_default);var stacked=stack2.get(value);if(stacked){return stacked}stack2.set(value,result2);if(isSet_default(value)){value.forEach(function(subValue){result2.add(baseClone(subValue,bitmask,customizer,subValue,value,stack2))})}else if(isMap_default(value)){value.forEach(function(subValue,key2){result2.set(key2,baseClone(subValue,bitmask,customizer,key2,value,stack2))})}var keysFunc=isFull?isFlat?getAllKeysIn_default:getAllKeys_default:isFlat?keysIn_default:keys_default;var props=isArr?void 0:keysFunc(value);arrayEach_default(props||value,function(subValue,key2){if(props){key2=subValue;subValue=value[key2]}assignValue_default(result2,key2,baseClone(subValue,bitmask,customizer,key2,value,stack2))});return result2}var baseClone_default=baseClone;var CLONE_SYMBOLS_FLAG2=4;function clone(value){return baseClone_default(value,CLONE_SYMBOLS_FLAG2)}var clone_default=clone;var CLONE_DEEP_FLAG2=1;var CLONE_SYMBOLS_FLAG3=4;function cloneDeep(value){return baseClone_default(value,CLONE_DEEP_FLAG2|CLONE_SYMBOLS_FLAG3)}var cloneDeep_default=cloneDeep;var CLONE_DEEP_FLAG3=1;var CLONE_SYMBOLS_FLAG4=4;function cloneDeepWith(value,customizer){customizer=typeof customizer=="function"?customizer:void 0;return baseClone_default(value,CLONE_DEEP_FLAG3|CLONE_SYMBOLS_FLAG4,customizer)}var cloneDeepWith_default=cloneDeepWith;var CLONE_SYMBOLS_FLAG5=4;function cloneWith(value,customizer){customizer=typeof customizer=="function"?customizer:void 0;return baseClone_default(value,CLONE_SYMBOLS_FLAG5,customizer)}var cloneWith_default=cloneWith;function wrapperCommit(){return new LodashWrapper_default(this.value(),this.__chain__)}var commit_default=wrapperCommit;function compact(array){var index=-1,length=array==null?0:array.length,resIndex=0,result2=[];while(++index<length){var value=array[index];if(value){result2[resIndex++]=value}}return result2}var compact_default=compact;function concat(){var length=arguments.length;if(!length){return[]}var args2=Array(length-1),array=arguments[0],index=length;while(index--){args2[index-1]=arguments[index]}return arrayPush_default(isArray_default(array)?copyArray_default(array):[array],baseFlatten_default(args2,1))}var concat_default=concat;var HASH_UNDEFINED3="__lodash_hash_undefined__";function setCacheAdd(value){this.__data__.set(value,HASH_UNDEFINED3);return this}var setCacheAdd_default=setCacheAdd;function setCacheHas(value){return this.__data__.has(value)}var setCacheHas_default=setCacheHas;function SetCache(values2){var index=-1,length=values2==null?0:values2.length;this.__data__=new MapCache_default;while(++index<length){this.add(values2[index])}}SetCache.prototype.add=SetCache.prototype.push=setCacheAdd_default;SetCache.prototype.has=setCacheHas_default;var SetCache_default=SetCache;function arraySome(array,predicate){var index=-1,length=array==null?0:array.length;while(++index<length){if(predicate(array[index],index,array)){return true}}return false}var arraySome_default=arraySome;function cacheHas(cache2,key){return cache2.has(key)}var cacheHas_default=cacheHas;var COMPARE_PARTIAL_FLAG=1;var COMPARE_UNORDERED_FLAG=2;function equalArrays(array,other,bitmask,customizer,equalFunc,stack2){var isPartial=bitmask&COMPARE_PARTIAL_FLAG,arrLength=array.length,othLength=other.length;if(arrLength!=othLength&&!(isPartial&&othLength>arrLength)){return false}var arrStacked=stack2.get(array);var othStacked=stack2.get(other);if(arrStacked&&othStacked){return arrStacked==other&&othStacked==array}var index=-1,result2=true,seen=bitmask&COMPARE_UNORDERED_FLAG?new SetCache_default:void 0;stack2.set(array,other);stack2.set(other,array);while(++index<arrLength){var arrValue=array[index],othValue=other[index];if(customizer){var compared=isPartial?customizer(othValue,arrValue,index,other,array,stack2):customizer(arrValue,othValue,index,array,other,stack2)}if(compared!==void 0){if(compared){continue}result2=false;break}if(seen){if(!arraySome_default(other,function(othValue2,othIndex){if(!cacheHas_default(seen,othIndex)&&(arrValue===othValue2||equalFunc(arrValue,othValue2,bitmask,customizer,stack2))){return seen.push(othIndex)}})){result2=false;break}}else if(!(arrValue===othValue||equalFunc(arrValue,othValue,bitmask,customizer,stack2))){result2=false;break}}stack2["delete"](array);stack2["delete"](other);return result2}var equalArrays_default=equalArrays;function mapToArray(map3){var index=-1,result2=Array(map3.size);map3.forEach(function(value,key){result2[++index]=[key,value]});return result2}var mapToArray_default=mapToArray;function setToArray(set3){var index=-1,result2=Array(set3.size);set3.forEach(function(value){result2[++index]=value});return result2}var setToArray_default=setToArray;var COMPARE_PARTIAL_FLAG2=1;var COMPARE_UNORDERED_FLAG2=2;var boolTag4="[object Boolean]";var dateTag4="[object Date]";var errorTag4="[object Error]";var mapTag6="[object Map]";var numberTag4="[object Number]";var regexpTag4="[object RegExp]";var setTag6="[object Set]";var stringTag4="[object String]";var symbolTag4="[object Symbol]";var arrayBufferTag4="[object ArrayBuffer]";var dataViewTag5="[object DataView]";var symbolProto3=Symbol_default?Symbol_default.prototype:void 0;var symbolValueOf2=symbolProto3?symbolProto3.valueOf:void 0;function equalByTag(object,other,tag,bitmask,customizer,equalFunc,stack2){switch(tag){case dataViewTag5:if(object.byteLength!=other.byteLength||object.byteOffset!=other.byteOffset){return false}object=object.buffer;other=other.buffer;case arrayBufferTag4:if(object.byteLength!=other.byteLength||!equalFunc(new Uint8Array_default(object),new Uint8Array_default(other))){return false}return true;case boolTag4:case dateTag4:case numberTag4:return eq_default(+object,+other);case errorTag4:return object.name==other.name&&object.message==other.message;case regexpTag4:case stringTag4:return object==other+"";case mapTag6:var convert=mapToArray_default;case setTag6:var isPartial=bitmask&COMPARE_PARTIAL_FLAG2;convert||(convert=setToArray_default);if(object.size!=other.size&&!isPartial){return false}var stacked=stack2.get(object);if(stacked){return stacked==other}bitmask|=COMPARE_UNORDERED_FLAG2;stack2.set(object,other);var result2=equalArrays_default(convert(object),convert(other),bitmask,customizer,equalFunc,stack2);stack2["delete"](object);return result2;case symbolTag4:if(symbolValueOf2){return symbolValueOf2.call(object)==symbolValueOf2.call(other)}}return false}var equalByTag_default=equalByTag;var COMPARE_PARTIAL_FLAG3=1;var objectProto18=Object.prototype;var hasOwnProperty15=objectProto18.hasOwnProperty;function equalObjects(object,other,bitmask,customizer,equalFunc,stack2){var isPartial=bitmask&COMPARE_PARTIAL_FLAG3,objProps=getAllKeys_default(object),objLength=objProps.length,othProps=getAllKeys_default(other),othLength=othProps.length;if(objLength!=othLength&&!isPartial){return false}var index=objLength;while(index--){var key=objProps[index];if(!(isPartial?key in other:hasOwnProperty15.call(other,key))){return false}}var objStacked=stack2.get(object);var othStacked=stack2.get(other);if(objStacked&&othStacked){return objStacked==other&&othStacked==object}var result2=true;stack2.set(object,other);stack2.set(other,object);var skipCtor=isPartial;while(++index<objLength){key=objProps[index];var objValue=object[key],othValue=other[key];if(customizer){var compared=isPartial?customizer(othValue,objValue,key,other,object,stack2):customizer(objValue,othValue,key,object,other,stack2)}if(!(compared===void 0?objValue===othValue||equalFunc(objValue,othValue,bitmask,customizer,stack2):compared)){result2=false;break}skipCtor||(skipCtor=key=="constructor")}if(result2&&!skipCtor){var objCtor=object.constructor,othCtor=other.constructor;if(objCtor!=othCtor&&("constructor"in object&&"constructor"in other)&&!(typeof objCtor=="function"&&objCtor instanceof objCtor&&typeof othCtor=="function"&&othCtor instanceof othCtor)){result2=false}}stack2["delete"](object);stack2["delete"](other);return result2}var equalObjects_default=equalObjects;var COMPARE_PARTIAL_FLAG4=1;var argsTag4="[object Arguments]";var arrayTag3="[object Array]";var objectTag5="[object Object]";var objectProto19=Object.prototype;var hasOwnProperty16=objectProto19.hasOwnProperty;function baseIsEqualDeep(object,other,bitmask,customizer,equalFunc,stack2){var objIsArr=isArray_default(object),othIsArr=isArray_default(other),objTag=objIsArr?arrayTag3:getTag_default(object),othTag=othIsArr?arrayTag3:getTag_default(other);objTag=objTag==argsTag4?objectTag5:objTag;othTag=othTag==argsTag4?objectTag5:othTag;var objIsObj=objTag==objectTag5,othIsObj=othTag==objectTag5,isSameTag=objTag==othTag;if(isSameTag&&isBuffer_default(object)){if(!isBuffer_default(other)){return false}objIsArr=true;objIsObj=false}if(isSameTag&&!objIsObj){stack2||(stack2=new Stack_default);return objIsArr||isTypedArray_default(object)?equalArrays_default(object,other,bitmask,customizer,equalFunc,stack2):equalByTag_default(object,other,objTag,bitmask,customizer,equalFunc,stack2)}if(!(bitmask&COMPARE_PARTIAL_FLAG4)){var objIsWrapped=objIsObj&&hasOwnProperty16.call(object,"__wrapped__"),othIsWrapped=othIsObj&&hasOwnProperty16.call(other,"__wrapped__");if(objIsWrapped||othIsWrapped){var objUnwrapped=objIsWrapped?object.value():object,othUnwrapped=othIsWrapped?other.value():other;stack2||(stack2=new Stack_default);return equalFunc(objUnwrapped,othUnwrapped,bitmask,customizer,stack2)}}if(!isSameTag){return false}stack2||(stack2=new Stack_default);return equalObjects_default(object,other,bitmask,customizer,equalFunc,stack2)}var baseIsEqualDeep_default=baseIsEqualDeep;function baseIsEqual(value,other,bitmask,customizer,stack2){if(value===other){return true}if(value==null||other==null||!isObjectLike_default(value)&&!isObjectLike_default(other)){return value!==value&&other!==other}return baseIsEqualDeep_default(value,other,bitmask,customizer,baseIsEqual,stack2)}var baseIsEqual_default=baseIsEqual;var COMPARE_PARTIAL_FLAG5=1;var COMPARE_UNORDERED_FLAG3=2;function baseIsMatch(object,source,matchData,customizer){var index=matchData.length,length=index,noCustomizer=!customizer;if(object==null){return!length}object=Object(object);while(index--){var data=matchData[index];if(noCustomizer&&data[2]?data[1]!==object[data[0]]:!(data[0]in object)){return false}}while(++index<length){data=matchData[index];var key=data[0],objValue=object[key],srcValue=data[1];if(noCustomizer&&data[2]){if(objValue===void 0&&!(key in object)){return false}}else{var stack2=new Stack_default;if(customizer){var result2=customizer(objValue,srcValue,key,object,source,stack2)}if(!(result2===void 0?baseIsEqual_default(srcValue,objValue,COMPARE_PARTIAL_FLAG5|COMPARE_UNORDERED_FLAG3,customizer,stack2):result2)){return false}}}return true}var baseIsMatch_default=baseIsMatch;function isStrictComparable(value){return value===value&&!isObject_default(value)}var isStrictComparable_default=isStrictComparable;function getMatchData(object){var result2=keys_default(object),length=result2.length;while(length--){var key=result2[length],value=object[key];result2[length]=[key,value,isStrictComparable_default(value)]}return result2}var getMatchData_default=getMatchData;function matchesStrictComparable(key,srcValue){return function(object){if(object==null){return false}return object[key]===srcValue&&(srcValue!==void 0||key in Object(object))}}var matchesStrictComparable_default=matchesStrictComparable;function baseMatches(source){var matchData=getMatchData_default(source);if(matchData.length==1&&matchData[0][2]){return matchesStrictComparable_default(matchData[0][0],matchData[0][1])}return function(object){return object===source||baseIsMatch_default(object,source,matchData)}}var baseMatches_default=baseMatches;function baseHasIn(object,key){return object!=null&&key in Object(object)}var baseHasIn_default=baseHasIn;function hasPath(object,path27,hasFunc){path27=castPath_default(path27,object);var index=-1,length=path27.length,result2=false;while(++index<length){var key=toKey_default(path27[index]);if(!(result2=object!=null&&hasFunc(object,key))){break}object=object[key]}if(result2||++index!=length){return result2}length=object==null?0:object.length;return!!length&&isLength_default(length)&&isIndex_default(key,length)&&(isArray_default(object)||isArguments_default(object))}var hasPath_default=hasPath;function hasIn(object,path27){return object!=null&&hasPath_default(object,path27,baseHasIn_default)}var hasIn_default=hasIn;var COMPARE_PARTIAL_FLAG6=1;var COMPARE_UNORDERED_FLAG4=2;function baseMatchesProperty(path27,srcValue){if(isKey_default(path27)&&isStrictComparable_default(srcValue)){return matchesStrictComparable_default(toKey_default(path27),srcValue)}return function(object){var objValue=get_default(object,path27);return objValue===void 0&&objValue===srcValue?hasIn_default(object,path27):baseIsEqual_default(srcValue,objValue,COMPARE_PARTIAL_FLAG6|COMPARE_UNORDERED_FLAG4)}}var baseMatchesProperty_default=baseMatchesProperty;function baseProperty(key){return function(object){return object==null?void 0:object[key]}}var baseProperty_default=baseProperty;function basePropertyDeep(path27){return function(object){return baseGet_default(object,path27)}}var basePropertyDeep_default=basePropertyDeep;function property(path27){return isKey_default(path27)?baseProperty_default(toKey_default(path27)):basePropertyDeep_default(path27)}var property_default=property;function baseIteratee(value){if(typeof value=="function"){return value}if(value==null){return identity_default}if(typeof value=="object"){return isArray_default(value)?baseMatchesProperty_default(value[0],value[1]):baseMatches_default(value)}return property_default(value)}var baseIteratee_default=baseIteratee;var FUNC_ERROR_TEXT5="Expected a function";function cond(pairs2){var length=pairs2==null?0:pairs2.length,toIteratee=baseIteratee_default;pairs2=!length?[]:arrayMap_default(pairs2,function(pair){if(typeof pair[1]!="function"){throw new TypeError(FUNC_ERROR_TEXT5)}return[toIteratee(pair[0]),pair[1]]});return baseRest_default(function(args2){var index=-1;while(++index<length){var pair=pairs2[index];if(apply_default(pair[0],this,args2)){return apply_default(pair[1],this,args2)}}})}var cond_default=cond;function baseConformsTo(object,source,props){var length=props.length;if(object==null){return!length}object=Object(object);while(length--){var key=props[length],predicate=source[key],value=object[key];if(value===void 0&&!(key in object)||!predicate(value)){return false}}return true}var baseConformsTo_default=baseConformsTo;function baseConforms(source){var props=keys_default(source);return function(object){return baseConformsTo_default(object,source,props)}}var baseConforms_default=baseConforms;var CLONE_DEEP_FLAG4=1;function conforms(source){return baseConforms_default(baseClone_default(source,CLONE_DEEP_FLAG4))}var conforms_default=conforms;function conformsTo(object,source){return source==null||baseConformsTo_default(object,source,keys_default(source))}var conformsTo_default=conformsTo;function arrayAggregator(array,setter,iteratee2,accumulator){var index=-1,length=array==null?0:array.length;while(++index<length){var value=array[index];setter(accumulator,value,iteratee2(value),array)}return accumulator}var arrayAggregator_default=arrayAggregator;function createBaseFor(fromRight){return function(object,iteratee2,keysFunc){var index=-1,iterable=Object(object),props=keysFunc(object),length=props.length;while(length--){var key=props[fromRight?length:++index];if(iteratee2(iterable[key],key,iterable)===false){break}}return object}}var createBaseFor_default=createBaseFor;var baseFor=createBaseFor_default();var baseFor_default=baseFor;function baseForOwn(object,iteratee2){return object&&baseFor_default(object,iteratee2,keys_default)}var baseForOwn_default=baseForOwn;function createBaseEach(eachFunc,fromRight){return function(collection,iteratee2){if(collection==null){return collection}if(!isArrayLike_default(collection)){return eachFunc(collection,iteratee2)}var length=collection.length,index=fromRight?length:-1,iterable=Object(collection);while(fromRight?index--:++index<length){if(iteratee2(iterable[index],index,iterable)===false){break}}return collection}}var createBaseEach_default=createBaseEach;var baseEach=createBaseEach_default(baseForOwn_default);var baseEach_default=baseEach;function baseAggregator(collection,setter,iteratee2,accumulator){baseEach_default(collection,function(value,key,collection2){setter(accumulator,value,iteratee2(value),collection2)});return accumulator}var baseAggregator_default=baseAggregator;function createAggregator(setter,initializer){return function(collection,iteratee2){var func=isArray_default(collection)?arrayAggregator_default:baseAggregator_default,accumulator=initializer?initializer():{};return func(collection,setter,baseIteratee_default(iteratee2,2),accumulator)}}var createAggregator_default=createAggregator;var objectProto20=Object.prototype;var hasOwnProperty17=objectProto20.hasOwnProperty;var countBy=createAggregator_default(function(result2,value,key){if(hasOwnProperty17.call(result2,key)){++result2[key]}else{baseAssignValue_default(result2,key,1)}});var countBy_default=countBy;function create(prototype,properties){var result2=baseCreate_default(prototype);return properties==null?result2:baseAssign_default(result2,properties)}var create_default=create;var WRAP_CURRY_FLAG6=8;function curry(func,arity,guard){arity=guard?void 0:arity;var result2=createWrap_default(func,WRAP_CURRY_FLAG6,void 0,void 0,void 0,void 0,void 0,arity);result2.placeholder=curry.placeholder;return result2}curry.placeholder={};var curry_default=curry;var WRAP_CURRY_RIGHT_FLAG4=16;function curryRight(func,arity,guard){arity=guard?void 0:arity;var result2=createWrap_default(func,WRAP_CURRY_RIGHT_FLAG4,void 0,void 0,void 0,void 0,void 0,arity);result2.placeholder=curryRight.placeholder;return result2}curryRight.placeholder={};var curryRight_default=curryRight;var now2=function(){return root_default.Date.now()};var now_default=now2;var FUNC_ERROR_TEXT6="Expected a function";var nativeMax6=Math.max;var nativeMin4=Math.min;function debounce(func,wait,options){var lastArgs,lastThis,maxWait,result2,timerId,lastCallTime,lastInvokeTime=0,leading=false,maxing=false,trailing=true;if(typeof func!="function"){throw new TypeError(FUNC_ERROR_TEXT6)}wait=toNumber_default(wait)||0;if(isObject_default(options)){leading=!!options.leading;maxing="maxWait"in options;maxWait=maxing?nativeMax6(toNumber_default(options.maxWait)||0,wait):maxWait;trailing="trailing"in options?!!options.trailing:trailing}function invokeFunc(time){var args2=lastArgs,thisArg=lastThis;lastArgs=lastThis=void 0;lastInvokeTime=time;result2=func.apply(thisArg,args2);return result2}function leadingEdge(time){lastInvokeTime=time;timerId=setTimeout(timerExpired,wait);return leading?invokeFunc(time):result2}function remainingWait(time){var timeSinceLastCall=time-lastCallTime,timeSinceLastInvoke=time-lastInvokeTime,timeWaiting=wait-timeSinceLastCall;return maxing?nativeMin4(timeWaiting,maxWait-timeSinceLastInvoke):timeWaiting}function shouldInvoke(time){var timeSinceLastCall=time-lastCallTime,timeSinceLastInvoke=time-lastInvokeTime;return lastCallTime===void 0||timeSinceLastCall>=wait||timeSinceLastCall<0||maxing&&timeSinceLastInvoke>=maxWait}function timerExpired(){var time=now_default();if(shouldInvoke(time)){return trailingEdge(time)}timerId=setTimeout(timerExpired,remainingWait(time))}function trailingEdge(time){timerId=void 0;if(trailing&&lastArgs){return invokeFunc(time)}lastArgs=lastThis=void 0;return result2}function cancel(){if(timerId!==void 0){clearTimeout(timerId)}lastInvokeTime=0;lastArgs=lastCallTime=lastThis=timerId=void 0}function flush(){return timerId===void 0?result2:trailingEdge(now_default())}function debounced(){var time=now_default(),isInvoking=shouldInvoke(time);lastArgs=arguments;lastThis=this;lastCallTime=time;if(isInvoking){if(timerId===void 0){return leadingEdge(lastCallTime)}if(maxing){clearTimeout(timerId);timerId=setTimeout(timerExpired,wait);return invokeFunc(lastCallTime)}}if(timerId===void 0){timerId=setTimeout(timerExpired,wait)}return result2}debounced.cancel=cancel;debounced.flush=flush;return debounced}var debounce_default=debounce;function defaultTo(value,defaultValue){return value==null||value!==value?defaultValue:value}var defaultTo_default=defaultTo;var objectProto21=Object.prototype;var hasOwnProperty18=objectProto21.hasOwnProperty;var defaults=baseRest_default(function(object,sources){object=Object(object);var index=-1;var length=sources.length;var guard=length>2?sources[2]:void 0;if(guard&&isIterateeCall_default(sources[0],sources[1],guard)){length=1}while(++index<length){var source=sources[index];var props=keysIn_default(source);var propsIndex=-1;var propsLength=props.length;while(++propsIndex<propsLength){var key=props[propsIndex];var value=object[key];if(value===void 0||eq_default(value,objectProto21[key])&&!hasOwnProperty18.call(object,key)){object[key]=source[key]}}}return object});var defaults_default=defaults;function assignMergeValue(object,key,value){if(value!==void 0&&!eq_default(object[key],value)||value===void 0&&!(key in object)){baseAssignValue_default(object,key,value)}}var assignMergeValue_default=assignMergeValue;function isArrayLikeObject(value){return isObjectLike_default(value)&&isArrayLike_default(value)}var isArrayLikeObject_default=isArrayLikeObject;function safeGet(object,key){if(key==="constructor"&&typeof object[key]==="function"){return}if(key=="__proto__"){return}return object[key]}var safeGet_default=safeGet;function toPlainObject(value){return copyObject_default(value,keysIn_default(value))}var toPlainObject_default=toPlainObject;function baseMergeDeep(object,source,key,srcIndex,mergeFunc,customizer,stack2){var objValue=safeGet_default(object,key),srcValue=safeGet_default(source,key),stacked=stack2.get(srcValue);if(stacked){assignMergeValue_default(object,key,stacked);return}var newValue=customizer?customizer(objValue,srcValue,key+"",object,source,stack2):void 0;var isCommon=newValue===void 0;if(isCommon){var isArr=isArray_default(srcValue),isBuff=!isArr&&isBuffer_default(srcValue),isTyped=!isArr&&!isBuff&&isTypedArray_default(srcValue);newValue=srcValue;if(isArr||isBuff||isTyped){if(isArray_default(objValue)){newValue=objValue}else if(isArrayLikeObject_default(objValue)){newValue=copyArray_default(objValue)}else if(isBuff){isCommon=false;newValue=cloneBuffer_default(srcValue,true)}else if(isTyped){isCommon=false;newValue=cloneTypedArray_default(srcValue,true)}else{newValue=[]}}else if(isPlainObject_default(srcValue)||isArguments_default(srcValue)){newValue=objValue;if(isArguments_default(objValue)){newValue=toPlainObject_default(objValue)}else if(!isObject_default(objValue)||isFunction_default(objValue)){newValue=initCloneObject_default(srcValue)}}else{isCommon=false}}if(isCommon){stack2.set(srcValue,newValue);mergeFunc(newValue,srcValue,srcIndex,customizer,stack2);stack2["delete"](srcValue)}assignMergeValue_default(object,key,newValue)}var baseMergeDeep_default=baseMergeDeep;function baseMerge(object,source,srcIndex,customizer,stack2){if(object===source){return}baseFor_default(source,function(srcValue,key){stack2||(stack2=new Stack_default);if(isObject_default(srcValue)){baseMergeDeep_default(object,source,key,srcIndex,baseMerge,customizer,stack2)}else{var newValue=customizer?customizer(safeGet_default(object,key),srcValue,key+"",object,source,stack2):void 0;if(newValue===void 0){newValue=srcValue}assignMergeValue_default(object,key,newValue)}},keysIn_default)}var baseMerge_default=baseMerge;function customDefaultsMerge(objValue,srcValue,key,object,source,stack2){if(isObject_default(objValue)&&isObject_default(srcValue)){stack2.set(srcValue,objValue);baseMerge_default(objValue,srcValue,void 0,customDefaultsMerge,stack2);stack2["delete"](srcValue)}return objValue}var customDefaultsMerge_default=customDefaultsMerge;var mergeWith=createAssigner_default(function(object,source,srcIndex,customizer){baseMerge_default(object,source,srcIndex,customizer)});var mergeWith_default=mergeWith;var defaultsDeep=baseRest_default(function(args2){args2.push(void 0,customDefaultsMerge_default);return apply_default(mergeWith_default,void 0,args2)});var defaultsDeep_default=defaultsDeep;var FUNC_ERROR_TEXT7="Expected a function";function baseDelay(func,wait,args2){if(typeof func!="function"){throw new TypeError(FUNC_ERROR_TEXT7)}return setTimeout(function(){func.apply(void 0,args2)},wait)}var baseDelay_default=baseDelay;var defer=baseRest_default(function(func,args2){return baseDelay_default(func,1,args2)});var defer_default=defer;var delay=baseRest_default(function(func,wait,args2){return baseDelay_default(func,toNumber_default(wait)||0,args2)});var delay_default=delay;function arrayIncludesWith(array,value,comparator){var index=-1,length=array==null?0:array.length;while(++index<length){if(comparator(value,array[index])){return true}}return false}var arrayIncludesWith_default=arrayIncludesWith;var LARGE_ARRAY_SIZE2=200;function baseDifference(array,values2,iteratee2,comparator){var index=-1,includes2=arrayIncludes_default,isCommon=true,length=array.length,result2=[],valuesLength=values2.length;if(!length){return result2}if(iteratee2){values2=arrayMap_default(values2,baseUnary_default(iteratee2))}if(comparator){includes2=arrayIncludesWith_default;isCommon=false}else if(values2.length>=LARGE_ARRAY_SIZE2){includes2=cacheHas_default;isCommon=false;values2=new SetCache_default(values2)}outer:while(++index<length){var value=array[index],computed=iteratee2==null?value:iteratee2(value);value=comparator||value!==0?value:0;if(isCommon&&computed===computed){var valuesIndex=valuesLength;while(valuesIndex--){if(values2[valuesIndex]===computed){continue outer}}result2.push(value)}else if(!includes2(values2,computed,comparator)){result2.push(value)}}return result2}var baseDifference_default=baseDifference;var difference=baseRest_default(function(array,values2){return isArrayLikeObject_default(array)?baseDifference_default(array,baseFlatten_default(values2,1,isArrayLikeObject_default,true)):[]});var difference_default=difference;function last(array){var length=array==null?0:array.length;return length?array[length-1]:void 0}var last_default=last;var differenceBy=baseRest_default(function(array,values2){var iteratee2=last_default(values2);if(isArrayLikeObject_default(iteratee2)){iteratee2=void 0}return isArrayLikeObject_default(array)?baseDifference_default(array,baseFlatten_default(values2,1,isArrayLikeObject_default,true),baseIteratee_default(iteratee2,2)):[]});var differenceBy_default=differenceBy;var differenceWith=baseRest_default(function(array,values2){var comparator=last_default(values2);if(isArrayLikeObject_default(comparator)){comparator=void 0}return isArrayLikeObject_default(array)?baseDifference_default(array,baseFlatten_default(values2,1,isArrayLikeObject_default,true),void 0,comparator):[]});var differenceWith_default=differenceWith;var divide=createMathOperation_default(function(dividend,divisor){return dividend/divisor},1);var divide_default=divide;function drop(array,n,guard){var length=array==null?0:array.length;if(!length){return[]}n=guard||n===void 0?1:toInteger_default(n);return baseSlice_default(array,n<0?0:n,length)}var drop_default=drop;function dropRight(array,n,guard){var length=array==null?0:array.length;if(!length){return[]}n=guard||n===void 0?1:toInteger_default(n);n=length-n;return baseSlice_default(array,0,n<0?0:n)}var dropRight_default=dropRight;function baseWhile(array,predicate,isDrop,fromRight){var length=array.length,index=fromRight?length:-1;while((fromRight?index--:++index<length)&&predicate(array[index],index,array)){}return isDrop?baseSlice_default(array,fromRight?0:index,fromRight?index+1:length):baseSlice_default(array,fromRight?index+1:0,fromRight?length:index)}var baseWhile_default=baseWhile;function dropRightWhile(array,predicate){return array&&array.length?baseWhile_default(array,baseIteratee_default(predicate,3),true,true):[]}var dropRightWhile_default=dropRightWhile;function dropWhile(array,predicate){return array&&array.length?baseWhile_default(array,baseIteratee_default(predicate,3),true):[]}var dropWhile_default=dropWhile;function castFunction(value){return typeof value=="function"?value:identity_default}var castFunction_default=castFunction;function forEach(collection,iteratee2){var func=isArray_default(collection)?arrayEach_default:baseEach_default;return func(collection,castFunction_default(iteratee2))}var forEach_default=forEach;function arrayEachRight(array,iteratee2){var length=array==null?0:array.length;while(length--){if(iteratee2(array[length],length,array)===false){break}}return array}var arrayEachRight_default=arrayEachRight;var baseForRight=createBaseFor_default(true);var baseForRight_default=baseForRight;function baseForOwnRight(object,iteratee2){return object&&baseForRight_default(object,iteratee2,keys_default)}var baseForOwnRight_default=baseForOwnRight;var baseEachRight=createBaseEach_default(baseForOwnRight_default,true);var baseEachRight_default=baseEachRight;function forEachRight(collection,iteratee2){var func=isArray_default(collection)?arrayEachRight_default:baseEachRight_default;return func(collection,castFunction_default(iteratee2))}var forEachRight_default=forEachRight;function endsWith(string,target,position){string=toString_default(string);target=baseToString_default(target);var length=string.length;position=position===void 0?length:baseClamp_default(toInteger_default(position),0,length);var end=position;position-=target.length;return position>=0&&string.slice(position,end)==target}var endsWith_default=endsWith;function baseToPairs(object,props){return arrayMap_default(props,function(key){return[key,object[key]]})}var baseToPairs_default=baseToPairs;function setToPairs(set3){var index=-1,result2=Array(set3.size);set3.forEach(function(value){result2[++index]=[value,value]});return result2}var setToPairs_default=setToPairs;var mapTag7="[object Map]";var setTag7="[object Set]";function createToPairs(keysFunc){return function(object){var tag=getTag_default(object);if(tag==mapTag7){return mapToArray_default(object)}if(tag==setTag7){return setToPairs_default(object)}return baseToPairs_default(object,keysFunc(object))}}var createToPairs_default=createToPairs;var toPairs=createToPairs_default(keys_default);var toPairs_default=toPairs;var toPairsIn=createToPairs_default(keysIn_default);var toPairsIn_default=toPairsIn;var htmlEscapes={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};var escapeHtmlChar=basePropertyOf_default(htmlEscapes);var escapeHtmlChar_default=escapeHtmlChar;var reUnescapedHtml=/[&<>"']/g;var reHasUnescapedHtml=RegExp(reUnescapedHtml.source);function escape2(string){string=toString_default(string);return string&&reHasUnescapedHtml.test(string)?string.replace(reUnescapedHtml,escapeHtmlChar_default):string}var escape_default=escape2;var reRegExpChar2=/[\\^$.*+?()[\]{}|]/g;var reHasRegExpChar=RegExp(reRegExpChar2.source);function escapeRegExp(string){string=toString_default(string);return string&&reHasRegExpChar.test(string)?string.replace(reRegExpChar2,"\\$&"):string}var escapeRegExp_default=escapeRegExp;function arrayEvery(array,predicate){var index=-1,length=array==null?0:array.length;while(++index<length){if(!predicate(array[index],index,array)){return false}}return true}var arrayEvery_default=arrayEvery;function baseEvery(collection,predicate){var result2=true;baseEach_default(collection,function(value,index,collection2){result2=!!predicate(value,index,collection2);return result2});return result2}var baseEvery_default=baseEvery;function every(collection,predicate,guard){var func=isArray_default(collection)?arrayEvery_default:baseEvery_default;if(guard&&isIterateeCall_default(collection,predicate,guard)){predicate=void 0}return func(collection,baseIteratee_default(predicate,3))}var every_default=every;var MAX_ARRAY_LENGTH2=4294967295;function toLength(value){return value?baseClamp_default(toInteger_default(value),0,MAX_ARRAY_LENGTH2):0}var toLength_default=toLength;function baseFill(array,value,start,end){var length=array.length;start=toInteger_default(start);if(start<0){start=-start>length?0:length+start}end=end===void 0||end>length?length:toInteger_default(end);if(end<0){end+=length}end=start>end?0:toLength_default(end);while(start<end){array[start++]=value}return array}var baseFill_default=baseFill;function fill(array,value,start,end){var length=array==null?0:array.length;if(!length){return[]}if(start&&typeof start!="number"&&isIterateeCall_default(array,value,start)){start=0;end=length}return baseFill_default(array,value,start,end)}var fill_default=fill;function baseFilter(collection,predicate){var result2=[];baseEach_default(collection,function(value,index,collection2){if(predicate(value,index,collection2)){result2.push(value)}});return result2}var baseFilter_default=baseFilter;function filter(collection,predicate){var func=isArray_default(collection)?arrayFilter_default:baseFilter_default;return func(collection,baseIteratee_default(predicate,3))}var filter_default=filter;function createFind(findIndexFunc){return function(collection,predicate,fromIndex){var iterable=Object(collection);if(!isArrayLike_default(collection)){var iteratee2=baseIteratee_default(predicate,3);collection=keys_default(collection);predicate=function(key){return iteratee2(iterable[key],key,iterable)}}var index=findIndexFunc(collection,predicate,fromIndex);return index>-1?iterable[iteratee2?collection[index]:index]:void 0}}var createFind_default=createFind;var nativeMax7=Math.max;function findIndex(array,predicate,fromIndex){var length=array==null?0:array.length;if(!length){return-1}var index=fromIndex==null?0:toInteger_default(fromIndex);if(index<0){index=nativeMax7(length+index,0)}return baseFindIndex_default(array,baseIteratee_default(predicate,3),index)}var findIndex_default=findIndex;var find=createFind_default(findIndex_default);var find_default=find;function baseFindKey(collection,predicate,eachFunc){var result2;eachFunc(collection,function(value,key,collection2){if(predicate(value,key,collection2)){result2=key;return false}});return result2}var baseFindKey_default=baseFindKey;function findKey(object,predicate){return baseFindKey_default(object,baseIteratee_default(predicate,3),baseForOwn_default)}var findKey_default=findKey;var nativeMax8=Math.max;var nativeMin5=Math.min;function findLastIndex(array,predicate,fromIndex){var length=array==null?0:array.length;if(!length){return-1}var index=length-1;if(fromIndex!==void 0){index=toInteger_default(fromIndex);index=fromIndex<0?nativeMax8(length+index,0):nativeMin5(index,length-1)}return baseFindIndex_default(array,baseIteratee_default(predicate,3),index,true)}var findLastIndex_default=findLastIndex;var findLast=createFind_default(findLastIndex_default);var findLast_default=findLast;function findLastKey(object,predicate){return baseFindKey_default(object,baseIteratee_default(predicate,3),baseForOwnRight_default)}var findLastKey_default=findLastKey;function head(array){return array&&array.length?array[0]:void 0}var head_default=head;function baseMap(collection,iteratee2){var index=-1,result2=isArrayLike_default(collection)?Array(collection.length):[];baseEach_default(collection,function(value,key,collection2){result2[++index]=iteratee2(value,key,collection2)});return result2}var baseMap_default=baseMap;function map(collection,iteratee2){var func=isArray_default(collection)?arrayMap_default:baseMap_default;return func(collection,baseIteratee_default(iteratee2,3))}var map_default=map;function flatMap(collection,iteratee2){return baseFlatten_default(map_default(collection,iteratee2),1)}var flatMap_default=flatMap;var INFINITY4=1/0;function flatMapDeep(collection,iteratee2){return baseFlatten_default(map_default(collection,iteratee2),INFINITY4)}var flatMapDeep_default=flatMapDeep;function flatMapDepth(collection,iteratee2,depth){depth=depth===void 0?1:toInteger_default(depth);return baseFlatten_default(map_default(collection,iteratee2),depth)}var flatMapDepth_default=flatMapDepth;var INFINITY5=1/0;function flattenDeep(array){var length=array==null?0:array.length;return length?baseFlatten_default(array,INFINITY5):[]}var flattenDeep_default=flattenDeep;function flattenDepth(array,depth){var length=array==null?0:array.length;if(!length){return[]}depth=depth===void 0?1:toInteger_default(depth);return baseFlatten_default(array,depth)}var flattenDepth_default=flattenDepth;var WRAP_FLIP_FLAG3=512;function flip(func){return createWrap_default(func,WRAP_FLIP_FLAG3)}var flip_default=flip;var floor=createRound_default("floor");var floor_default=floor;var FUNC_ERROR_TEXT8="Expected a function";var WRAP_CURRY_FLAG7=8;var WRAP_PARTIAL_FLAG6=32;var WRAP_ARY_FLAG5=128;var WRAP_REARG_FLAG3=256;function createFlow(fromRight){return flatRest_default(function(funcs){var length=funcs.length,index=length,prereq=LodashWrapper_default.prototype.thru;if(fromRight){funcs.reverse()}while(index--){var func=funcs[index];if(typeof func!="function"){throw new TypeError(FUNC_ERROR_TEXT8)}if(prereq&&!wrapper&&getFuncName_default(func)=="wrapper"){var wrapper=new LodashWrapper_default([],true)}}index=wrapper?index:length;while(++index<length){func=funcs[index];var funcName=getFuncName_default(func),data=funcName=="wrapper"?getData_default(func):void 0;if(data&&isLaziable_default(data[0])&&data[1]==(WRAP_ARY_FLAG5|WRAP_CURRY_FLAG7|WRAP_PARTIAL_FLAG6|WRAP_REARG_FLAG3)&&!data[4].length&&data[9]==1){wrapper=wrapper[getFuncName_default(data[0])].apply(wrapper,data[3])}else{wrapper=func.length==1&&isLaziable_default(func)?wrapper[funcName]():wrapper.thru(func)}}return function(){var args2=arguments,value=args2[0];if(wrapper&&args2.length==1&&isArray_default(value)){return wrapper.plant(value).value()}var index2=0,result2=length?funcs[index2].apply(this,args2):value;while(++index2<length){result2=funcs[index2].call(this,result2)}return result2}})}var createFlow_default=createFlow;var flow=createFlow_default();var flow_default=flow;var flowRight=createFlow_default(true);var flowRight_default=flowRight;function forIn(object,iteratee2){return object==null?object:baseFor_default(object,castFunction_default(iteratee2),keysIn_default)}var forIn_default=forIn;function forInRight(object,iteratee2){return object==null?object:baseForRight_default(object,castFunction_default(iteratee2),keysIn_default)}var forInRight_default=forInRight;function forOwn(object,iteratee2){return object&&baseForOwn_default(object,castFunction_default(iteratee2))}var forOwn_default=forOwn;function forOwnRight(object,iteratee2){return object&&baseForOwnRight_default(object,castFunction_default(iteratee2))}var forOwnRight_default=forOwnRight;function fromPairs(pairs2){var index=-1,length=pairs2==null?0:pairs2.length,result2={};while(++index<length){var pair=pairs2[index];result2[pair[0]]=pair[1]}return result2}var fromPairs_default=fromPairs;function baseFunctions(object,props){return arrayFilter_default(props,function(key){return isFunction_default(object[key])})}var baseFunctions_default=baseFunctions;function functions(object){return object==null?[]:baseFunctions_default(object,keys_default(object))}var functions_default=functions;function functionsIn(object){return object==null?[]:baseFunctions_default(object,keysIn_default(object))}var functionsIn_default=functionsIn;var objectProto22=Object.prototype;var hasOwnProperty19=objectProto22.hasOwnProperty;var groupBy=createAggregator_default(function(result2,value,key){if(hasOwnProperty19.call(result2,key)){result2[key].push(value)}else{baseAssignValue_default(result2,key,[value])}});var groupBy_default=groupBy;function baseGt(value,other){return value>other}var baseGt_default=baseGt;function createRelationalOperation(operator){return function(value,other){if(!(typeof value=="string"&&typeof other=="string")){value=toNumber_default(value);other=toNumber_default(other)}return operator(value,other)}}var createRelationalOperation_default=createRelationalOperation;var gt=createRelationalOperation_default(baseGt_default);var gt_default=gt;var gte=createRelationalOperation_default(function(value,other){return value>=other});var gte_default=gte;var objectProto23=Object.prototype;var hasOwnProperty20=objectProto23.hasOwnProperty;function baseHas(object,key){return object!=null&&hasOwnProperty20.call(object,key)}var baseHas_default=baseHas;function has(object,path27){return object!=null&&hasPath_default(object,path27,baseHas_default)}var has_default=has;var nativeMax9=Math.max;var nativeMin6=Math.min;function baseInRange(number2,start,end){return number2>=nativeMin6(start,end)&&number2<nativeMax9(start,end)}var baseInRange_default=baseInRange;function inRange(number2,start,end){start=toFinite_default(start);if(end===void 0){end=start;start=0}else{end=toFinite_default(end)}number2=toNumber_default(number2);return baseInRange_default(number2,start,end)}var inRange_default=inRange;var stringTag5="[object String]";function isString(value){return typeof value=="string"||!isArray_default(value)&&isObjectLike_default(value)&&baseGetTag_default(value)==stringTag5}var isString_default=isString;function baseValues(object,props){return arrayMap_default(props,function(key){return object[key]})}var baseValues_default=baseValues;function values(object){return object==null?[]:baseValues_default(object,keys_default(object))}var values_default=values;var nativeMax10=Math.max;function includes(collection,value,fromIndex,guard){collection=isArrayLike_default(collection)?collection:values_default(collection);fromIndex=fromIndex&&!guard?toInteger_default(fromIndex):0;var length=collection.length;if(fromIndex<0){fromIndex=nativeMax10(length+fromIndex,0)}return isString_default(collection)?fromIndex<=length&&collection.indexOf(value,fromIndex)>-1:!!length&&baseIndexOf_default(collection,value,fromIndex)>-1}var includes_default=includes;var nativeMax11=Math.max;function indexOf(array,value,fromIndex){var length=array==null?0:array.length;if(!length){return-1}var index=fromIndex==null?0:toInteger_default(fromIndex);if(index<0){index=nativeMax11(length+index,0)}return baseIndexOf_default(array,value,index)}var indexOf_default=indexOf;function initial(array){var length=array==null?0:array.length;return length?baseSlice_default(array,0,-1):[]}var initial_default=initial;var nativeMin7=Math.min;function baseIntersection(arrays,iteratee2,comparator){var includes2=comparator?arrayIncludesWith_default:arrayIncludes_default,length=arrays[0].length,othLength=arrays.length,othIndex=othLength,caches=Array(othLength),maxLength=Infinity,result2=[];while(othIndex--){var array=arrays[othIndex];if(othIndex&&iteratee2){array=arrayMap_default(array,baseUnary_default(iteratee2))}maxLength=nativeMin7(array.length,maxLength);caches[othIndex]=!comparator&&(iteratee2||length>=120&&array.length>=120)?new SetCache_default(othIndex&&array):void 0}array=arrays[0];var index=-1,seen=caches[0];outer:while(++index<length&&result2.length<maxLength){var value=array[index],computed=iteratee2?iteratee2(value):value;value=comparator||value!==0?value:0;if(!(seen?cacheHas_default(seen,computed):includes2(result2,computed,comparator))){othIndex=othLength;while(--othIndex){var cache2=caches[othIndex];if(!(cache2?cacheHas_default(cache2,computed):includes2(arrays[othIndex],computed,comparator))){continue outer}}if(seen){seen.push(computed)}result2.push(value)}}return result2}var baseIntersection_default=baseIntersection;function castArrayLikeObject(value){return isArrayLikeObject_default(value)?value:[]}var castArrayLikeObject_default=castArrayLikeObject;var intersection=baseRest_default(function(arrays){var mapped=arrayMap_default(arrays,castArrayLikeObject_default);return mapped.length&&mapped[0]===arrays[0]?baseIntersection_default(mapped):[]});var intersection_default=intersection;var intersectionBy=baseRest_default(function(arrays){var iteratee2=last_default(arrays),mapped=arrayMap_default(arrays,castArrayLikeObject_default);if(iteratee2===last_default(mapped)){iteratee2=void 0}else{mapped.pop()}return mapped.length&&mapped[0]===arrays[0]?baseIntersection_default(mapped,baseIteratee_default(iteratee2,2)):[]});var intersectionBy_default=intersectionBy;var intersectionWith=baseRest_default(function(arrays){var comparator=last_default(arrays),mapped=arrayMap_default(arrays,castArrayLikeObject_default);comparator=typeof comparator=="function"?comparator:void 0;if(comparator){mapped.pop()}return mapped.length&&mapped[0]===arrays[0]?baseIntersection_default(mapped,void 0,comparator):[]});var intersectionWith_default=intersectionWith;function baseInverter(object,setter,iteratee2,accumulator){baseForOwn_default(object,function(value,key,object2){setter(accumulator,iteratee2(value),key,object2)});return accumulator}var baseInverter_default=baseInverter;function createInverter(setter,toIteratee){return function(object,iteratee2){return baseInverter_default(object,setter,toIteratee(iteratee2),{})}}var createInverter_default=createInverter;var objectProto24=Object.prototype;var nativeObjectToString3=objectProto24.toString;var invert=createInverter_default(function(result2,value,key){if(value!=null&&typeof value.toString!="function"){value=nativeObjectToString3.call(value)}result2[value]=key},constant_default(identity_default));var invert_default=invert;var objectProto25=Object.prototype;var hasOwnProperty21=objectProto25.hasOwnProperty;var nativeObjectToString4=objectProto25.toString;var invertBy=createInverter_default(function(result2,value,key){if(value!=null&&typeof value.toString!="function"){value=nativeObjectToString4.call(value)}if(hasOwnProperty21.call(result2,value)){result2[value].push(key)}else{result2[value]=[key]}},baseIteratee_default);var invertBy_default=invertBy;function parent(object,path27){return path27.length<2?object:baseGet_default(object,baseSlice_default(path27,0,-1))}var parent_default=parent;function baseInvoke(object,path27,args2){path27=castPath_default(path27,object);object=parent_default(object,path27);var func=object==null?object:object[toKey_default(last_default(path27))];return func==null?void 0:apply_default(func,object,args2)}var baseInvoke_default=baseInvoke;var invoke=baseRest_default(baseInvoke_default);var invoke_default=invoke;var invokeMap=baseRest_default(function(collection,path27,args2){var index=-1,isFunc=typeof path27=="function",result2=isArrayLike_default(collection)?Array(collection.length):[];baseEach_default(collection,function(value){result2[++index]=isFunc?apply_default(path27,value,args2):baseInvoke_default(value,path27,args2)});return result2});var invokeMap_default=invokeMap;var arrayBufferTag5="[object ArrayBuffer]";function baseIsArrayBuffer(value){return isObjectLike_default(value)&&baseGetTag_default(value)==arrayBufferTag5}var baseIsArrayBuffer_default=baseIsArrayBuffer;var nodeIsArrayBuffer=nodeUtil_default&&nodeUtil_default.isArrayBuffer;var isArrayBuffer=nodeIsArrayBuffer?baseUnary_default(nodeIsArrayBuffer):baseIsArrayBuffer_default;var isArrayBuffer_default=isArrayBuffer;var boolTag5="[object Boolean]";function isBoolean(value){return value===true||value===false||isObjectLike_default(value)&&baseGetTag_default(value)==boolTag5}var isBoolean_default=isBoolean;var dateTag5="[object Date]";function baseIsDate(value){return isObjectLike_default(value)&&baseGetTag_default(value)==dateTag5}var baseIsDate_default=baseIsDate;var nodeIsDate=nodeUtil_default&&nodeUtil_default.isDate;var isDate=nodeIsDate?baseUnary_default(nodeIsDate):baseIsDate_default;var isDate_default=isDate;function isElement(value){return isObjectLike_default(value)&&value.nodeType===1&&!isPlainObject_default(value)}var isElement_default=isElement;var mapTag8="[object Map]";var setTag8="[object Set]";var objectProto26=Object.prototype;var hasOwnProperty22=objectProto26.hasOwnProperty;function isEmpty(value){if(value==null){return true}if(isArrayLike_default(value)&&(isArray_default(value)||typeof value=="string"||typeof value.splice=="function"||isBuffer_default(value)||isTypedArray_default(value)||isArguments_default(value))){return!value.length}var tag=getTag_default(value);if(tag==mapTag8||tag==setTag8){return!value.size}if(isPrototype_default(value)){return!baseKeys_default(value).length}for(var key in value){if(hasOwnProperty22.call(value,key)){return false}}return true}var isEmpty_default=isEmpty;function isEqual(value,other){return baseIsEqual_default(value,other)}var isEqual_default=isEqual;function isEqualWith(value,other,customizer){customizer=typeof customizer=="function"?customizer:void 0;var result2=customizer?customizer(value,other):void 0;return result2===void 0?baseIsEqual_default(value,other,void 0,customizer):!!result2}var isEqualWith_default=isEqualWith;var nativeIsFinite2=root_default.isFinite;function isFinite2(value){return typeof value=="number"&&nativeIsFinite2(value)}var isFinite_default=isFinite2;function isInteger(value){return typeof value=="number"&&value==toInteger_default(value)}var isInteger_default=isInteger;function isMatch(object,source){return object===source||baseIsMatch_default(object,source,getMatchData_default(source))}var isMatch_default=isMatch;function isMatchWith(object,source,customizer){customizer=typeof customizer=="function"?customizer:void 0;return baseIsMatch_default(object,source,getMatchData_default(source),customizer)}var isMatchWith_default=isMatchWith;var numberTag5="[object Number]";function isNumber(value){return typeof value=="number"||isObjectLike_default(value)&&baseGetTag_default(value)==numberTag5}var isNumber_default=isNumber;function isNaN2(value){return isNumber_default(value)&&value!=+value}var isNaN_default=isNaN2;var isMaskable=coreJsData_default?isFunction_default:stubFalse_default;var isMaskable_default=isMaskable;var CORE_ERROR_TEXT="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.";function isNative(value){if(isMaskable_default(value)){throw new Error(CORE_ERROR_TEXT)}return baseIsNative_default(value)}var isNative_default=isNative;function isNil(value){return value==null}var isNil_default=isNil;function isNull(value){return value===null}var isNull_default=isNull;var regexpTag5="[object RegExp]";function baseIsRegExp(value){return isObjectLike_default(value)&&baseGetTag_default(value)==regexpTag5}var baseIsRegExp_default=baseIsRegExp;var nodeIsRegExp=nodeUtil_default&&nodeUtil_default.isRegExp;var isRegExp=nodeIsRegExp?baseUnary_default(nodeIsRegExp):baseIsRegExp_default;var isRegExp_default=isRegExp;var MAX_SAFE_INTEGER3=9007199254740991;function isSafeInteger(value){return isInteger_default(value)&&value>=-MAX_SAFE_INTEGER3&&value<=MAX_SAFE_INTEGER3}var isSafeInteger_default=isSafeInteger;function isUndefined(value){return value===void 0}var isUndefined_default=isUndefined;var weakMapTag4="[object WeakMap]";function isWeakMap(value){return isObjectLike_default(value)&&getTag_default(value)==weakMapTag4}var isWeakMap_default=isWeakMap;var weakSetTag="[object WeakSet]";function isWeakSet(value){return isObjectLike_default(value)&&baseGetTag_default(value)==weakSetTag}var isWeakSet_default=isWeakSet;var CLONE_DEEP_FLAG5=1;function iteratee(func){return baseIteratee_default(typeof func=="function"?func:baseClone_default(func,CLONE_DEEP_FLAG5))}var iteratee_default=iteratee;var arrayProto2=Array.prototype;var nativeJoin=arrayProto2.join;function join(array,separator){return array==null?"":nativeJoin.call(array,separator)}var join_default=join;var kebabCase=createCompounder_default(function(result2,word,index){return result2+(index?"-":"")+word.toLowerCase()});var kebabCase_default=kebabCase;var keyBy=createAggregator_default(function(result2,value,key){baseAssignValue_default(result2,key,value)});var keyBy_default=keyBy;function strictLastIndexOf(array,value,fromIndex){var index=fromIndex+1;while(index--){if(array[index]===value){return index}}return index}var strictLastIndexOf_default=strictLastIndexOf;var nativeMax12=Math.max;var nativeMin8=Math.min;function lastIndexOf(array,value,fromIndex){var length=array==null?0:array.length;if(!length){return-1}var index=length;if(fromIndex!==void 0){index=toInteger_default(fromIndex);index=index<0?nativeMax12(length+index,0):nativeMin8(index,length-1)}return value===value?strictLastIndexOf_default(array,value,index):baseFindIndex_default(array,baseIsNaN_default,index,true)}var lastIndexOf_default=lastIndexOf;var lowerCase=createCompounder_default(function(result2,word,index){return result2+(index?" ":"")+word.toLowerCase()});var lowerCase_default=lowerCase;var lowerFirst=createCaseFirst_default("toLowerCase");var lowerFirst_default=lowerFirst;function baseLt(value,other){return value<other}var baseLt_default=baseLt;var lt=createRelationalOperation_default(baseLt_default);var lt_default=lt;var lte=createRelationalOperation_default(function(value,other){return value<=other});var lte_default=lte;function mapKeys(object,iteratee2){var result2={};iteratee2=baseIteratee_default(iteratee2,3);baseForOwn_default(object,function(value,key,object2){baseAssignValue_default(result2,iteratee2(value,key,object2),value)});return result2}var mapKeys_default=mapKeys;function mapValues(object,iteratee2){var result2={};iteratee2=baseIteratee_default(iteratee2,3);baseForOwn_default(object,function(value,key,object2){baseAssignValue_default(result2,key,iteratee2(value,key,object2))});return result2}var mapValues_default=mapValues;var CLONE_DEEP_FLAG6=1;function matches(source){return baseMatches_default(baseClone_default(source,CLONE_DEEP_FLAG6))}var matches_default=matches;var CLONE_DEEP_FLAG7=1;function matchesProperty(path27,srcValue){return baseMatchesProperty_default(path27,baseClone_default(srcValue,CLONE_DEEP_FLAG7))}var matchesProperty_default=matchesProperty;function baseExtremum(array,iteratee2,comparator){var index=-1,length=array.length;while(++index<length){var value=array[index],current=iteratee2(value);if(current!=null&&(computed===void 0?current===current&&!isSymbol_default(current):comparator(current,computed))){var computed=current,result2=value}}return result2}var baseExtremum_default=baseExtremum;function max(array){return array&&array.length?baseExtremum_default(array,identity_default,baseGt_default):void 0}var max_default=max;function maxBy(array,iteratee2){return array&&array.length?baseExtremum_default(array,baseIteratee_default(iteratee2,2),baseGt_default):void 0}var maxBy_default=maxBy;function baseSum(array,iteratee2){var result2,index=-1,length=array.length;while(++index<length){var current=iteratee2(array[index]);if(current!==void 0){result2=result2===void 0?current:result2+current}}return result2}var baseSum_default=baseSum;var NAN3=0/0;function baseMean(array,iteratee2){var length=array==null?0:array.length;return length?baseSum_default(array,iteratee2)/length:NAN3}var baseMean_default=baseMean;function mean(array){return baseMean_default(array,identity_default)}var mean_default=mean;function meanBy(array,iteratee2){return baseMean_default(array,baseIteratee_default(iteratee2,2))}var meanBy_default=meanBy;var merge=createAssigner_default(function(object,source,srcIndex){baseMerge_default(object,source,srcIndex)});var merge_default=merge;var method=baseRest_default(function(path27,args2){return function(object){return baseInvoke_default(object,path27,args2)}});var method_default=method;var methodOf=baseRest_default(function(object,args2){return function(path27){return baseInvoke_default(object,path27,args2)}});var methodOf_default=methodOf;function min(array){return array&&array.length?baseExtremum_default(array,identity_default,baseLt_default):void 0}var min_default=min;function minBy(array,iteratee2){return array&&array.length?baseExtremum_default(array,baseIteratee_default(iteratee2,2),baseLt_default):void 0}var minBy_default=minBy;function mixin(object,source,options){var props=keys_default(source),methodNames=baseFunctions_default(source,props);var chain2=!(isObject_default(options)&&"chain"in options)||!!options.chain,isFunc=isFunction_default(object);arrayEach_default(methodNames,function(methodName){var func=source[methodName];object[methodName]=func;if(isFunc){object.prototype[methodName]=function(){var chainAll=this.__chain__;if(chain2||chainAll){var result2=object(this.__wrapped__),actions=result2.__actions__=copyArray_default(this.__actions__);actions.push({"func":func,"args":arguments,"thisArg":object});result2.__chain__=chainAll;return result2}return func.apply(object,arrayPush_default([this.value()],arguments))}}});return object}var mixin_default=mixin;var multiply=createMathOperation_default(function(multiplier,multiplicand){return multiplier*multiplicand},1);var multiply_default=multiply;var FUNC_ERROR_TEXT9="Expected a function";function negate(predicate){if(typeof predicate!="function"){throw new TypeError(FUNC_ERROR_TEXT9)}return function(){var args2=arguments;switch(args2.length){case 0:return!predicate.call(this);case 1:return!predicate.call(this,args2[0]);case 2:return!predicate.call(this,args2[0],args2[1]);case 3:return!predicate.call(this,args2[0],args2[1],args2[2])}return!predicate.apply(this,args2)}}var negate_default=negate;function iteratorToArray(iterator){var data,result2=[];while(!(data=iterator.next()).done){result2.push(data.value)}return result2}var iteratorToArray_default=iteratorToArray;var mapTag9="[object Map]";var setTag9="[object Set]";var symIterator=Symbol_default?Symbol_default.iterator:void 0;function toArray(value){if(!value){return[]}if(isArrayLike_default(value)){return isString_default(value)?stringToArray_default(value):copyArray_default(value)}if(symIterator&&value[symIterator]){return iteratorToArray_default(value[symIterator]())}var tag=getTag_default(value),func=tag==mapTag9?mapToArray_default:tag==setTag9?setToArray_default:values_default;return func(value)}var toArray_default=toArray;function wrapperNext(){if(this.__values__===void 0){this.__values__=toArray_default(this.value())}var done=this.__index__>=this.__values__.length,value=done?void 0:this.__values__[this.__index__++];return{"done":done,"value":value}}var next_default=wrapperNext;function baseNth(array,n){var length=array.length;if(!length){return}n+=n<0?length:0;return isIndex_default(n,length)?array[n]:void 0}var baseNth_default=baseNth;function nth(array,n){return array&&array.length?baseNth_default(array,toInteger_default(n)):void 0}var nth_default=nth;function nthArg(n){n=toInteger_default(n);return baseRest_default(function(args2){return baseNth_default(args2,n)})}var nthArg_default=nthArg;function baseUnset(object,path27){path27=castPath_default(path27,object);object=parent_default(object,path27);return object==null||delete object[toKey_default(last_default(path27))]}var baseUnset_default=baseUnset;function customOmitClone(value){return isPlainObject_default(value)?void 0:value}var customOmitClone_default=customOmitClone;var CLONE_DEEP_FLAG8=1;var CLONE_FLAT_FLAG2=2;var CLONE_SYMBOLS_FLAG6=4;var omit=flatRest_default(function(object,paths){var result2={};if(object==null){return result2}var isDeep=false;paths=arrayMap_default(paths,function(path27){path27=castPath_default(path27,object);isDeep||(isDeep=path27.length>1);return path27});copyObject_default(object,getAllKeysIn_default(object),result2);if(isDeep){result2=baseClone_default(result2,CLONE_DEEP_FLAG8|CLONE_FLAT_FLAG2|CLONE_SYMBOLS_FLAG6,customOmitClone_default)}var length=paths.length;while(length--){baseUnset_default(result2,paths[length])}return result2});var omit_default=omit;function baseSet(object,path27,value,customizer){if(!isObject_default(object)){return object}path27=castPath_default(path27,object);var index=-1,length=path27.length,lastIndex=length-1,nested=object;while(nested!=null&&++index<length){var key=toKey_default(path27[index]),newValue=value;if(key==="__proto__"||key==="constructor"||key==="prototype"){return object}if(index!=lastIndex){var objValue=nested[key];newValue=customizer?customizer(objValue,key,nested):void 0;if(newValue===void 0){newValue=isObject_default(objValue)?objValue:isIndex_default(path27[index+1])?[]:{}}}assignValue_default(nested,key,newValue);nested=nested[key]}return object}var baseSet_default=baseSet;function basePickBy(object,paths,predicate){var index=-1,length=paths.length,result2={};while(++index<length){var path27=paths[index],value=baseGet_default(object,path27);if(predicate(value,path27)){baseSet_default(result2,castPath_default(path27,object),value)}}return result2}var basePickBy_default=basePickBy;function pickBy(object,predicate){if(object==null){return{}}var props=arrayMap_default(getAllKeysIn_default(object),function(prop){return[prop]});predicate=baseIteratee_default(predicate);return basePickBy_default(object,props,function(value,path27){return predicate(value,path27[0])})}var pickBy_default=pickBy;function omitBy(object,predicate){return pickBy_default(object,negate_default(baseIteratee_default(predicate)))}var omitBy_default=omitBy;function once(func){return before_default(2,func)}var once_default=once;function baseSortBy(array,comparer){var length=array.length;array.sort(comparer);while(length--){array[length]=array[length].value}return array}var baseSortBy_default=baseSortBy;function compareAscending(value,other){if(value!==other){var valIsDefined=value!==void 0,valIsNull=value===null,valIsReflexive=value===value,valIsSymbol=isSymbol_default(value);var othIsDefined=other!==void 0,othIsNull=other===null,othIsReflexive=other===other,othIsSymbol=isSymbol_default(other);if(!othIsNull&&!othIsSymbol&&!valIsSymbol&&value>other||valIsSymbol&&othIsDefined&&othIsReflexive&&!othIsNull&&!othIsSymbol||valIsNull&&othIsDefined&&othIsReflexive||!valIsDefined&&othIsReflexive||!valIsReflexive){return 1}if(!valIsNull&&!valIsSymbol&&!othIsSymbol&&value<other||othIsSymbol&&valIsDefined&&valIsReflexive&&!valIsNull&&!valIsSymbol||othIsNull&&valIsDefined&&valIsReflexive||!othIsDefined&&valIsReflexive||!othIsReflexive){return-1}}return 0}var compareAscending_default=compareAscending;function compareMultiple(object,other,orders){var index=-1,objCriteria=object.criteria,othCriteria=other.criteria,length=objCriteria.length,ordersLength=orders.length;while(++index<length){var result2=compareAscending_default(objCriteria[index],othCriteria[index]);if(result2){if(index>=ordersLength){return result2}var order=orders[index];return result2*(order=="desc"?-1:1)}}return object.index-other.index}var compareMultiple_default=compareMultiple;function baseOrderBy(collection,iteratees,orders){if(iteratees.length){iteratees=arrayMap_default(iteratees,function(iteratee2){if(isArray_default(iteratee2)){return function(value){return baseGet_default(value,iteratee2.length===1?iteratee2[0]:iteratee2)}}return iteratee2})}else{iteratees=[identity_default]}var index=-1;iteratees=arrayMap_default(iteratees,baseUnary_default(baseIteratee_default));var result2=baseMap_default(collection,function(value,key,collection2){var criteria=arrayMap_default(iteratees,function(iteratee2){return iteratee2(value)});return{"criteria":criteria,"index":++index,"value":value}});return baseSortBy_default(result2,function(object,other){return compareMultiple_default(object,other,orders)})}var baseOrderBy_default=baseOrderBy;function orderBy(collection,iteratees,orders,guard){if(collection==null){return[]}if(!isArray_default(iteratees)){iteratees=iteratees==null?[]:[iteratees]}orders=guard?void 0:orders;if(!isArray_default(orders)){orders=orders==null?[]:[orders]}return baseOrderBy_default(collection,iteratees,orders)}var orderBy_default=orderBy;function createOver(arrayFunc){return flatRest_default(function(iteratees){iteratees=arrayMap_default(iteratees,baseUnary_default(baseIteratee_default));return baseRest_default(function(args2){var thisArg=this;return arrayFunc(iteratees,function(iteratee2){return apply_default(iteratee2,thisArg,args2)})})})}var createOver_default=createOver;var over=createOver_default(arrayMap_default);var over_default=over;var castRest=baseRest_default;var castRest_default=castRest;var nativeMin9=Math.min;var overArgs=castRest_default(function(func,transforms){transforms=transforms.length==1&&isArray_default(transforms[0])?arrayMap_default(transforms[0],baseUnary_default(baseIteratee_default)):arrayMap_default(baseFlatten_default(transforms,1),baseUnary_default(baseIteratee_default));var funcsLength=transforms.length;return baseRest_default(function(args2){var index=-1,length=nativeMin9(args2.length,funcsLength);while(++index<length){args2[index]=transforms[index].call(this,args2[index])}return apply_default(func,this,args2)})});var overArgs_default=overArgs;var overEvery=createOver_default(arrayEvery_default);var overEvery_default=overEvery;var overSome=createOver_default(arraySome_default);var overSome_default=overSome;var MAX_SAFE_INTEGER4=9007199254740991;var nativeFloor=Math.floor;function baseRepeat(string,n){var result2="";if(!string||n<1||n>MAX_SAFE_INTEGER4){return result2}do{if(n%2){result2+=string}n=nativeFloor(n/2);if(n){string+=string}}while(n);return result2}var baseRepeat_default=baseRepeat;var asciiSize=baseProperty_default("length");var asciiSize_default=asciiSize;var rsAstralRange4="\\ud800-\\udfff";var rsComboMarksRange5="\\u0300-\\u036f";var reComboHalfMarksRange5="\\ufe20-\\ufe2f";var rsComboSymbolsRange5="\\u20d0-\\u20ff";var rsComboRange5=rsComboMarksRange5+reComboHalfMarksRange5+rsComboSymbolsRange5;var rsVarRange4="\\ufe0e\\ufe0f";var rsAstral2="["+rsAstralRange4+"]";var rsCombo4="["+rsComboRange5+"]";var rsFitz3="\\ud83c[\\udffb-\\udfff]";var rsModifier3="(?:"+rsCombo4+"|"+rsFitz3+")";var rsNonAstral3="[^"+rsAstralRange4+"]";var rsRegional3="(?:\\ud83c[\\udde6-\\uddff]){2}";var rsSurrPair3="[\\ud800-\\udbff][\\udc00-\\udfff]";var rsZWJ4="\\u200d";var reOptMod3=rsModifier3+"?";var rsOptVar3="["+rsVarRange4+"]?";var rsOptJoin3="(?:"+rsZWJ4+"(?:"+[rsNonAstral3,rsRegional3,rsSurrPair3].join("|")+")"+rsOptVar3+reOptMod3+")*";var rsSeq3=rsOptVar3+reOptMod3+rsOptJoin3;var rsSymbol2="(?:"+[rsNonAstral3+rsCombo4+"?",rsCombo4,rsRegional3,rsSurrPair3,rsAstral2].join("|")+")";var reUnicode2=RegExp(rsFitz3+"(?="+rsFitz3+")|"+rsSymbol2+rsSeq3,"g");function unicodeSize(string){var result2=reUnicode2.lastIndex=0;while(reUnicode2.test(string)){++result2}return result2}var unicodeSize_default=unicodeSize;function stringSize(string){return hasUnicode_default(string)?unicodeSize_default(string):asciiSize_default(string)}var stringSize_default=stringSize;var nativeCeil2=Math.ceil;function createPadding(length,chars){chars=chars===void 0?" ":baseToString_default(chars);var charsLength=chars.length;if(charsLength<2){return charsLength?baseRepeat_default(chars,length):chars}var result2=baseRepeat_default(chars,nativeCeil2(length/stringSize_default(chars)));return hasUnicode_default(chars)?castSlice_default(stringToArray_default(result2),0,length).join(""):result2.slice(0,length)}var createPadding_default=createPadding;var nativeCeil3=Math.ceil;var nativeFloor2=Math.floor;function pad3(string,length,chars){string=toString_default(string);length=toInteger_default(length);var strLength=length?stringSize_default(string):0;if(!length||strLength>=length){return string}var mid=(length-strLength)/2;return createPadding_default(nativeFloor2(mid),chars)+string+createPadding_default(nativeCeil3(mid),chars)}var pad_default=pad3;function padEnd(string,length,chars){string=toString_default(string);length=toInteger_default(length);var strLength=length?stringSize_default(string):0;return length&&strLength<length?string+createPadding_default(length-strLength,chars):string}var padEnd_default=padEnd;function padStart(string,length,chars){string=toString_default(string);length=toInteger_default(length);var strLength=length?stringSize_default(string):0;return length&&strLength<length?createPadding_default(length-strLength,chars)+string:string}var padStart_default=padStart;var reTrimStart2=/^\s+/;var nativeParseInt=root_default.parseInt;function parseInt2(string,radix,guard){if(guard||radix==null){radix=0}else if(radix){radix=+radix}return nativeParseInt(toString_default(string).replace(reTrimStart2,""),radix||0)}var parseInt_default=parseInt2;var WRAP_PARTIAL_FLAG7=32;var partial=baseRest_default(function(func,partials){var holders=replaceHolders_default(partials,getHolder_default(partial));return createWrap_default(func,WRAP_PARTIAL_FLAG7,void 0,partials,holders)});partial.placeholder={};var partial_default=partial;var WRAP_PARTIAL_RIGHT_FLAG4=64;var partialRight=baseRest_default(function(func,partials){var holders=replaceHolders_default(partials,getHolder_default(partialRight));return createWrap_default(func,WRAP_PARTIAL_RIGHT_FLAG4,void 0,partials,holders)});partialRight.placeholder={};var partialRight_default=partialRight;var partition=createAggregator_default(function(result2,value,key){result2[key?0:1].push(value)},function(){return[[],[]]});var partition_default=partition;function basePick(object,paths){return basePickBy_default(object,paths,function(value,path27){return hasIn_default(object,path27)})}var basePick_default=basePick;var pick=flatRest_default(function(object,paths){return object==null?{}:basePick_default(object,paths)});var pick_default=pick;function wrapperPlant(value){var result2,parent2=this;while(parent2 instanceof baseLodash_default){var clone2=wrapperClone_default(parent2);clone2.__index__=0;clone2.__values__=void 0;if(result2){previous.__wrapped__=clone2}else{result2=clone2}var previous=clone2;parent2=parent2.__wrapped__}previous.__wrapped__=value;return result2}var plant_default=wrapperPlant;function propertyOf(object){return function(path27){return object==null?void 0:baseGet_default(object,path27)}}var propertyOf_default=propertyOf;function baseIndexOfWith(array,value,fromIndex,comparator){var index=fromIndex-1,length=array.length;while(++index<length){if(comparator(array[index],value)){return index}}return-1}var baseIndexOfWith_default=baseIndexOfWith;var arrayProto3=Array.prototype;var splice2=arrayProto3.splice;function basePullAll(array,values2,iteratee2,comparator){var indexOf2=comparator?baseIndexOfWith_default:baseIndexOf_default,index=-1,length=values2.length,seen=array;if(array===values2){values2=copyArray_default(values2)}if(iteratee2){seen=arrayMap_default(array,baseUnary_default(iteratee2))}while(++index<length){var fromIndex=0,value=values2[index],computed=iteratee2?iteratee2(value):value;while((fromIndex=indexOf2(seen,computed,fromIndex,comparator))>-1){if(seen!==array){splice2.call(seen,fromIndex,1)}splice2.call(array,fromIndex,1)}}return array}var basePullAll_default=basePullAll;function pullAll(array,values2){return array&&array.length&&values2&&values2.length?basePullAll_default(array,values2):array}var pullAll_default=pullAll;var pull=baseRest_default(pullAll_default);var pull_default=pull;function pullAllBy(array,values2,iteratee2){return array&&array.length&&values2&&values2.length?basePullAll_default(array,values2,baseIteratee_default(iteratee2,2)):array}var pullAllBy_default=pullAllBy;function pullAllWith(array,values2,comparator){return array&&array.length&&values2&&values2.length?basePullAll_default(array,values2,void 0,comparator):array}var pullAllWith_default=pullAllWith;var arrayProto4=Array.prototype;var splice3=arrayProto4.splice;function basePullAt(array,indexes){var length=array?indexes.length:0,lastIndex=length-1;while(length--){var index=indexes[length];if(length==lastIndex||index!==previous){var previous=index;if(isIndex_default(index)){splice3.call(array,index,1)}else{baseUnset_default(array,index)}}}return array}var basePullAt_default=basePullAt;var pullAt=flatRest_default(function(array,indexes){var length=array==null?0:array.length,result2=baseAt_default(array,indexes);basePullAt_default(array,arrayMap_default(indexes,function(index){return isIndex_default(index,length)?+index:index}).sort(compareAscending_default));return result2});var pullAt_default=pullAt;var nativeFloor3=Math.floor;var nativeRandom=Math.random;function baseRandom(lower,upper){return lower+nativeFloor3(nativeRandom()*(upper-lower+1))}var baseRandom_default=baseRandom;var freeParseFloat=parseFloat;var nativeMin10=Math.min;var nativeRandom2=Math.random;function random(lower,upper,floating){if(floating&&typeof floating!="boolean"&&isIterateeCall_default(lower,upper,floating)){upper=floating=void 0}if(floating===void 0){if(typeof upper=="boolean"){floating=upper;upper=void 0}else if(typeof lower=="boolean"){floating=lower;lower=void 0}}if(lower===void 0&&upper===void 0){lower=0;upper=1}else{lower=toFinite_default(lower);if(upper===void 0){upper=lower;lower=0}else{upper=toFinite_default(upper)}}if(lower>upper){var temp=lower;lower=upper;upper=temp}if(floating||lower%1||upper%1){var rand=nativeRandom2();return nativeMin10(lower+rand*(upper-lower+freeParseFloat("1e-"+((rand+"").length-1))),upper)}return baseRandom_default(lower,upper)}var random_default=random;var nativeCeil4=Math.ceil;var nativeMax13=Math.max;function baseRange(start,end,step,fromRight){var index=-1,length=nativeMax13(nativeCeil4((end-start)/(step||1)),0),result2=Array(length);while(length--){result2[fromRight?length:++index]=start;start+=step}return result2}var baseRange_default=baseRange;function createRange(fromRight){return function(start,end,step){if(step&&typeof step!="number"&&isIterateeCall_default(start,end,step)){end=step=void 0}start=toFinite_default(start);if(end===void 0){end=start;start=0}else{end=toFinite_default(end)}step=step===void 0?start<end?1:-1:toFinite_default(step);return baseRange_default(start,end,step,fromRight)}}var createRange_default=createRange;var range=createRange_default();var range_default=range;var rangeRight=createRange_default(true);var rangeRight_default=rangeRight;var WRAP_REARG_FLAG4=256;var rearg=flatRest_default(function(func,indexes){return createWrap_default(func,WRAP_REARG_FLAG4,void 0,void 0,void 0,indexes)});var rearg_default=rearg;function baseReduce(collection,iteratee2,accumulator,initAccum,eachFunc){eachFunc(collection,function(value,index,collection2){accumulator=initAccum?(initAccum=false,value):iteratee2(accumulator,value,index,collection2)});return accumulator}var baseReduce_default=baseReduce;function reduce(collection,iteratee2,accumulator){var func=isArray_default(collection)?arrayReduce_default:baseReduce_default,initAccum=arguments.length<3;return func(collection,baseIteratee_default(iteratee2,4),accumulator,initAccum,baseEach_default)}var reduce_default=reduce;function arrayReduceRight(array,iteratee2,accumulator,initAccum){var length=array==null?0:array.length;if(initAccum&&length){accumulator=array[--length]}while(length--){accumulator=iteratee2(accumulator,array[length],length,array)}return accumulator}var arrayReduceRight_default=arrayReduceRight;function reduceRight(collection,iteratee2,accumulator){var func=isArray_default(collection)?arrayReduceRight_default:baseReduce_default,initAccum=arguments.length<3;return func(collection,baseIteratee_default(iteratee2,4),accumulator,initAccum,baseEachRight_default)}var reduceRight_default=reduceRight;function reject(collection,predicate){var func=isArray_default(collection)?arrayFilter_default:baseFilter_default;return func(collection,negate_default(baseIteratee_default(predicate,3)))}var reject_default=reject;function remove(array,predicate){var result2=[];if(!(array&&array.length)){return result2}var index=-1,indexes=[],length=array.length;predicate=baseIteratee_default(predicate,3);while(++index<length){var value=array[index];if(predicate(value,index,array)){result2.push(value);indexes.push(index)}}basePullAt_default(array,indexes);return result2}var remove_default=remove;function repeat(string,n,guard){if(guard?isIterateeCall_default(string,n,guard):n===void 0){n=1}else{n=toInteger_default(n)}return baseRepeat_default(toString_default(string),n)}var repeat_default=repeat;function replace(){var args2=arguments,string=toString_default(args2[0]);return args2.length<3?string:string.replace(args2[1],args2[2])}var replace_default=replace;var FUNC_ERROR_TEXT10="Expected a function";function rest(func,start){if(typeof func!="function"){throw new TypeError(FUNC_ERROR_TEXT10)}start=start===void 0?start:toInteger_default(start);return baseRest_default(func,start)}var rest_default=rest;function result(object,path27,defaultValue){path27=castPath_default(path27,object);var index=-1,length=path27.length;if(!length){length=1;object=void 0}while(++index<length){var value=object==null?void 0:object[toKey_default(path27[index])];if(value===void 0){index=length;value=defaultValue}object=isFunction_default(value)?value.call(object):value}return object}var result_default=result;var arrayProto5=Array.prototype;var nativeReverse=arrayProto5.reverse;function reverse(array){return array==null?array:nativeReverse.call(array)}var reverse_default=reverse;var round=createRound_default("round");var round_default=round;function arraySample(array){var length=array.length;return length?array[baseRandom_default(0,length-1)]:void 0}var arraySample_default=arraySample;function baseSample(collection){return arraySample_default(values_default(collection))}var baseSample_default=baseSample;function sample(collection){var func=isArray_default(collection)?arraySample_default:baseSample_default;return func(collection)}var sample_default=sample;function shuffleSelf(array,size2){var index=-1,length=array.length,lastIndex=length-1;size2=size2===void 0?length:size2;while(++index<size2){var rand=baseRandom_default(index,lastIndex),value=array[rand];array[rand]=array[index];array[index]=value}array.length=size2;return array}var shuffleSelf_default=shuffleSelf;function arraySampleSize(array,n){return shuffleSelf_default(copyArray_default(array),baseClamp_default(n,0,array.length))}var arraySampleSize_default=arraySampleSize;function baseSampleSize(collection,n){var array=values_default(collection);return shuffleSelf_default(array,baseClamp_default(n,0,array.length))}var baseSampleSize_default=baseSampleSize;function sampleSize(collection,n,guard){if(guard?isIterateeCall_default(collection,n,guard):n===void 0){n=1}else{n=toInteger_default(n)}var func=isArray_default(collection)?arraySampleSize_default:baseSampleSize_default;return func(collection,n)}var sampleSize_default=sampleSize;function set(object,path27,value){return object==null?object:baseSet_default(object,path27,value)}var set_default=set;function setWith(object,path27,value,customizer){customizer=typeof customizer=="function"?customizer:void 0;return object==null?object:baseSet_default(object,path27,value,customizer)}var setWith_default=setWith;function arrayShuffle(array){return shuffleSelf_default(copyArray_default(array))}var arrayShuffle_default=arrayShuffle;function baseShuffle(collection){return shuffleSelf_default(values_default(collection))}var baseShuffle_default=baseShuffle;function shuffle(collection){var func=isArray_default(collection)?arrayShuffle_default:baseShuffle_default;return func(collection)}var shuffle_default=shuffle;var mapTag10="[object Map]";var setTag10="[object Set]";function size(collection){if(collection==null){return 0}if(isArrayLike_default(collection)){return isString_default(collection)?stringSize_default(collection):collection.length}var tag=getTag_default(collection);if(tag==mapTag10||tag==setTag10){return collection.size}return baseKeys_default(collection).length}var size_default=size;function slice(array,start,end){var length=array==null?0:array.length;if(!length){return[]}if(end&&typeof end!="number"&&isIterateeCall_default(array,start,end)){start=0;end=length}else{start=start==null?0:toInteger_default(start);end=end===void 0?length:toInteger_default(end)}return baseSlice_default(array,start,end)}var slice_default=slice;var snakeCase=createCompounder_default(function(result2,word,index){return result2+(index?"_":"")+word.toLowerCase()});var snakeCase_default=snakeCase;function baseSome(collection,predicate){var result2;baseEach_default(collection,function(value,index,collection2){result2=predicate(value,index,collection2);return!result2});return!!result2}var baseSome_default=baseSome;function some(collection,predicate,guard){var func=isArray_default(collection)?arraySome_default:baseSome_default;if(guard&&isIterateeCall_default(collection,predicate,guard)){predicate=void 0}return func(collection,baseIteratee_default(predicate,3))}var some_default=some;var sortBy=baseRest_default(function(collection,iteratees){if(collection==null){return[]}var length=iteratees.length;if(length>1&&isIterateeCall_default(collection,iteratees[0],iteratees[1])){iteratees=[]}else if(length>2&&isIterateeCall_default(iteratees[0],iteratees[1],iteratees[2])){iteratees=[iteratees[0]]}return baseOrderBy_default(collection,baseFlatten_default(iteratees,1),[])});var sortBy_default=sortBy;var MAX_ARRAY_LENGTH3=4294967295;var MAX_ARRAY_INDEX=MAX_ARRAY_LENGTH3-1;var nativeFloor4=Math.floor;var nativeMin11=Math.min;function baseSortedIndexBy(array,value,iteratee2,retHighest){var low=0,high=array==null?0:array.length;if(high===0){return 0}value=iteratee2(value);var valIsNaN=value!==value,valIsNull=value===null,valIsSymbol=isSymbol_default(value),valIsUndefined=value===void 0;while(low<high){var mid=nativeFloor4((low+high)/2),computed=iteratee2(array[mid]),othIsDefined=computed!==void 0,othIsNull=computed===null,othIsReflexive=computed===computed,othIsSymbol=isSymbol_default(computed);if(valIsNaN){var setLow=retHighest||othIsReflexive}else if(valIsUndefined){setLow=othIsReflexive&&(retHighest||othIsDefined)}else if(valIsNull){setLow=othIsReflexive&&othIsDefined&&(retHighest||!othIsNull)}else if(valIsSymbol){setLow=othIsReflexive&&othIsDefined&&!othIsNull&&(retHighest||!othIsSymbol)}else if(othIsNull||othIsSymbol){setLow=false}else{setLow=retHighest?computed<=value:computed<value}if(setLow){low=mid+1}else{high=mid}}return nativeMin11(high,MAX_ARRAY_INDEX)}var baseSortedIndexBy_default=baseSortedIndexBy;var MAX_ARRAY_LENGTH4=4294967295;var HALF_MAX_ARRAY_LENGTH=MAX_ARRAY_LENGTH4>>>1;function baseSortedIndex(array,value,retHighest){var low=0,high=array==null?low:array.length;if(typeof value=="number"&&value===value&&high<=HALF_MAX_ARRAY_LENGTH){while(low<high){var mid=low+high>>>1,computed=array[mid];if(computed!==null&&!isSymbol_default(computed)&&(retHighest?computed<=value:computed<value)){low=mid+1}else{high=mid}}return high}return baseSortedIndexBy_default(array,value,identity_default,retHighest)}var baseSortedIndex_default=baseSortedIndex;function sortedIndex(array,value){return baseSortedIndex_default(array,value)}var sortedIndex_default=sortedIndex;function sortedIndexBy(array,value,iteratee2){return baseSortedIndexBy_default(array,value,baseIteratee_default(iteratee2,2))}var sortedIndexBy_default=sortedIndexBy;function sortedIndexOf(array,value){var length=array==null?0:array.length;if(length){var index=baseSortedIndex_default(array,value);if(index<length&&eq_default(array[index],value)){return index}}return-1}var sortedIndexOf_default=sortedIndexOf;function sortedLastIndex(array,value){return baseSortedIndex_default(array,value,true)}var sortedLastIndex_default=sortedLastIndex;function sortedLastIndexBy(array,value,iteratee2){return baseSortedIndexBy_default(array,value,baseIteratee_default(iteratee2,2),true)}var sortedLastIndexBy_default=sortedLastIndexBy;function sortedLastIndexOf(array,value){var length=array==null?0:array.length;if(length){var index=baseSortedIndex_default(array,value,true)-1;if(eq_default(array[index],value)){return index}}return-1}var sortedLastIndexOf_default=sortedLastIndexOf;function baseSortedUniq(array,iteratee2){var index=-1,length=array.length,resIndex=0,result2=[];while(++index<length){var value=array[index],computed=iteratee2?iteratee2(value):value;if(!index||!eq_default(computed,seen)){var seen=computed;result2[resIndex++]=value===0?0:value}}return result2}var baseSortedUniq_default=baseSortedUniq;function sortedUniq(array){return array&&array.length?baseSortedUniq_default(array):[]}var sortedUniq_default=sortedUniq;function sortedUniqBy(array,iteratee2){return array&&array.length?baseSortedUniq_default(array,baseIteratee_default(iteratee2,2)):[]}var sortedUniqBy_default=sortedUniqBy;var MAX_ARRAY_LENGTH5=4294967295;function split(string,separator,limit){if(limit&&typeof limit!="number"&&isIterateeCall_default(string,separator,limit)){separator=limit=void 0}limit=limit===void 0?MAX_ARRAY_LENGTH5:limit>>>0;if(!limit){return[]}string=toString_default(string);if(string&&(typeof separator=="string"||separator!=null&&!isRegExp_default(separator))){separator=baseToString_default(separator);if(!separator&&hasUnicode_default(string)){return castSlice_default(stringToArray_default(string),0,limit)}}return string.split(separator,limit)}var split_default=split;var FUNC_ERROR_TEXT11="Expected a function";var nativeMax14=Math.max;function spread(func,start){if(typeof func!="function"){throw new TypeError(FUNC_ERROR_TEXT11)}start=start==null?0:nativeMax14(toInteger_default(start),0);return baseRest_default(function(args2){var array=args2[start],otherArgs=castSlice_default(args2,0,start);if(array){arrayPush_default(otherArgs,array)}return apply_default(func,this,otherArgs)})}var spread_default=spread;var startCase=createCompounder_default(function(result2,word,index){return result2+(index?" ":"")+upperFirst_default(word)});var startCase_default=startCase;function startsWith(string,target,position){string=toString_default(string);position=position==null?0:baseClamp_default(toInteger_default(position),0,string.length);target=baseToString_default(target);return string.slice(position,position+target.length)==target}var startsWith_default=startsWith;function stubObject(){return{}}var stubObject_default=stubObject;function stubString(){return""}var stubString_default=stubString;function stubTrue(){return true}var stubTrue_default=stubTrue;var subtract=createMathOperation_default(function(minuend,subtrahend){return minuend-subtrahend},0);var subtract_default=subtract;function sum(array){return array&&array.length?baseSum_default(array,identity_default):0}var sum_default=sum;function sumBy(array,iteratee2){return array&&array.length?baseSum_default(array,baseIteratee_default(iteratee2,2)):0}var sumBy_default=sumBy;function tail(array){var length=array==null?0:array.length;return length?baseSlice_default(array,1,length):[]}var tail_default=tail;function take(array,n,guard){if(!(array&&array.length)){return[]}n=guard||n===void 0?1:toInteger_default(n);return baseSlice_default(array,0,n<0?0:n)}var take_default=take;function takeRight(array,n,guard){var length=array==null?0:array.length;if(!length){return[]}n=guard||n===void 0?1:toInteger_default(n);n=length-n;return baseSlice_default(array,n<0?0:n,length)}var takeRight_default=takeRight;function takeRightWhile(array,predicate){return array&&array.length?baseWhile_default(array,baseIteratee_default(predicate,3),false,true):[]}var takeRightWhile_default=takeRightWhile;function takeWhile(array,predicate){return array&&array.length?baseWhile_default(array,baseIteratee_default(predicate,3)):[]}var takeWhile_default=takeWhile;function tap(value,interceptor){interceptor(value);return value}var tap_default=tap;var objectProto27=Object.prototype;var hasOwnProperty23=objectProto27.hasOwnProperty;function customDefaultsAssignIn(objValue,srcValue,key,object){if(objValue===void 0||eq_default(objValue,objectProto27[key])&&!hasOwnProperty23.call(object,key)){return srcValue}return objValue}var customDefaultsAssignIn_default=customDefaultsAssignIn;var stringEscapes={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"};function escapeStringChar(chr){return"\\"+stringEscapes[chr]}var escapeStringChar_default=escapeStringChar;var reInterpolate=/<%=([\s\S]+?)%>/g;var reInterpolate_default=reInterpolate;var reEscape=/<%-([\s\S]+?)%>/g;var reEscape_default=reEscape;var reEvaluate=/<%([\s\S]+?)%>/g;var reEvaluate_default=reEvaluate;var templateSettings={"escape":reEscape_default,"evaluate":reEvaluate_default,"interpolate":reInterpolate_default,"variable":"","imports":{"_":{"escape":escape_default}}};var templateSettings_default=templateSettings;var INVALID_TEMPL_VAR_ERROR_TEXT="Invalid `variable` option passed into `_.template`";var reEmptyStringLeading=/\b__p \+= '';/g;var reEmptyStringMiddle=/\b(__p \+=) '' \+/g;var reEmptyStringTrailing=/(__e\(.*?\)|\b__t\)) \+\n'';/g;var reForbiddenIdentifierChars=/[()=,{}\[\]\/\s]/;var reEsTemplate=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g;var reNoMatch=/($^)/;var reUnescapedString=/['\n\r\u2028\u2029\\]/g;var objectProto28=Object.prototype;var hasOwnProperty24=objectProto28.hasOwnProperty;function template(string,options,guard){var settings=templateSettings_default.imports._.templateSettings||templateSettings_default;if(guard&&isIterateeCall_default(string,options,guard)){options=void 0}string=toString_default(string);options=assignInWith_default({},options,settings,customDefaultsAssignIn_default);var imports=assignInWith_default({},options.imports,settings.imports,customDefaultsAssignIn_default),importsKeys=keys_default(imports),importsValues=baseValues_default(imports,importsKeys);var isEscaping,isEvaluating,index=0,interpolate=options.interpolate||reNoMatch,source="__p += '";var reDelimiters=RegExp((options.escape||reNoMatch).source+"|"+interpolate.source+"|"+(interpolate===reInterpolate_default?reEsTemplate:reNoMatch).source+"|"+(options.evaluate||reNoMatch).source+"|$","g");var sourceURL=hasOwnProperty24.call(options,"sourceURL")?"//# sourceURL="+(options.sourceURL+"").replace(/\s/g," ")+"\n":"";string.replace(reDelimiters,function(match,escapeValue,interpolateValue,esTemplateValue,evaluateValue,offset){interpolateValue||(interpolateValue=esTemplateValue);source+=string.slice(index,offset).replace(reUnescapedString,escapeStringChar_default);if(escapeValue){isEscaping=true;source+="' +\n__e("+escapeValue+") +\n'"}if(evaluateValue){isEvaluating=true;source+="';\n"+evaluateValue+";\n__p += '"}if(interpolateValue){source+="' +\n((__t = ("+interpolateValue+")) == null ? '' : __t) +\n'"}index=offset+match.length;return match});source+="';\n";var variable=hasOwnProperty24.call(options,"variable")&&options.variable;if(!variable){source="with (obj) {\n"+source+"\n}\n"}else if(reForbiddenIdentifierChars.test(variable)){throw new Error(INVALID_TEMPL_VAR_ERROR_TEXT)}source=(isEvaluating?source.replace(reEmptyStringLeading,""):source).replace(reEmptyStringMiddle,"$1").replace(reEmptyStringTrailing,"$1;");source="function("+(variable||"obj")+") {\n"+(variable?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(isEscaping?", __e = _.escape":"")+(isEvaluating?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+source+"return __p\n}";var result2=attempt_default(function(){return Function(importsKeys,sourceURL+"return "+source).apply(void 0,importsValues)});result2.source=source;if(isError_default(result2)){throw result2}return result2}var template_default=template;var FUNC_ERROR_TEXT12="Expected a function";function throttle(func,wait,options){var leading=true,trailing=true;if(typeof func!="function"){throw new TypeError(FUNC_ERROR_TEXT12)}if(isObject_default(options)){leading="leading"in options?!!options.leading:leading;trailing="trailing"in options?!!options.trailing:trailing}return debounce_default(func,wait,{"leading":leading,"maxWait":wait,"trailing":trailing})}var throttle_default=throttle;function thru(value,interceptor){return interceptor(value)}var thru_default=thru;var MAX_SAFE_INTEGER5=9007199254740991;var MAX_ARRAY_LENGTH6=4294967295;var nativeMin12=Math.min;function times(n,iteratee2){n=toInteger_default(n);if(n<1||n>MAX_SAFE_INTEGER5){return[]}var index=MAX_ARRAY_LENGTH6,length=nativeMin12(n,MAX_ARRAY_LENGTH6);iteratee2=castFunction_default(iteratee2);n-=MAX_ARRAY_LENGTH6;var result2=baseTimes_default(length,iteratee2);while(++index<n){iteratee2(index)}return result2}var times_default=times;function wrapperToIterator(){return this}var toIterator_default=wrapperToIterator;function baseWrapperValue(value,actions){var result2=value;if(result2 instanceof LazyWrapper_default){result2=result2.value()}return arrayReduce_default(actions,function(result3,action){return action.func.apply(action.thisArg,arrayPush_default([result3],action.args))},result2)}var baseWrapperValue_default=baseWrapperValue;function wrapperValue(){return baseWrapperValue_default(this.__wrapped__,this.__actions__)}var wrapperValue_default=wrapperValue;function toLower(value){return toString_default(value).toLowerCase()}var toLower_default=toLower;function toPath(value){if(isArray_default(value)){return arrayMap_default(value,toKey_default)}return isSymbol_default(value)?[value]:copyArray_default(stringToPath_default(toString_default(value)))}var toPath_default=toPath;var MAX_SAFE_INTEGER6=9007199254740991;function toSafeInteger(value){return value?baseClamp_default(toInteger_default(value),-MAX_SAFE_INTEGER6,MAX_SAFE_INTEGER6):value===0?value:0}var toSafeInteger_default=toSafeInteger;function toUpper(value){return toString_default(value).toUpperCase()}var toUpper_default=toUpper;function transform(object,iteratee2,accumulator){var isArr=isArray_default(object),isArrLike=isArr||isBuffer_default(object)||isTypedArray_default(object);iteratee2=baseIteratee_default(iteratee2,4);if(accumulator==null){var Ctor=object&&object.constructor;if(isArrLike){accumulator=isArr?new Ctor:[]}else if(isObject_default(object)){accumulator=isFunction_default(Ctor)?baseCreate_default(getPrototype_default(object)):{}}else{accumulator={}}}(isArrLike?arrayEach_default:baseForOwn_default)(object,function(value,index,object2){return iteratee2(accumulator,value,index,object2)});return accumulator}var transform_default=transform;function charsEndIndex(strSymbols,chrSymbols){var index=strSymbols.length;while(index--&&baseIndexOf_default(chrSymbols,strSymbols[index],0)>-1){}return index}var charsEndIndex_default=charsEndIndex;function charsStartIndex(strSymbols,chrSymbols){var index=-1,length=strSymbols.length;while(++index<length&&baseIndexOf_default(chrSymbols,strSymbols[index],0)>-1){}return index}var charsStartIndex_default=charsStartIndex;function trim(string,chars,guard){string=toString_default(string);if(string&&(guard||chars===void 0)){return baseTrim_default(string)}if(!string||!(chars=baseToString_default(chars))){return string}var strSymbols=stringToArray_default(string),chrSymbols=stringToArray_default(chars),start=charsStartIndex_default(strSymbols,chrSymbols),end=charsEndIndex_default(strSymbols,chrSymbols)+1;return castSlice_default(strSymbols,start,end).join("")}var trim_default=trim;function trimEnd(string,chars,guard){string=toString_default(string);if(string&&(guard||chars===void 0)){return string.slice(0,trimmedEndIndex_default(string)+1)}if(!string||!(chars=baseToString_default(chars))){return string}var strSymbols=stringToArray_default(string),end=charsEndIndex_default(strSymbols,stringToArray_default(chars))+1;return castSlice_default(strSymbols,0,end).join("")}var trimEnd_default=trimEnd;var reTrimStart3=/^\s+/;function trimStart(string,chars,guard){string=toString_default(string);if(string&&(guard||chars===void 0)){return string.replace(reTrimStart3,"")}if(!string||!(chars=baseToString_default(chars))){return string}var strSymbols=stringToArray_default(string),start=charsStartIndex_default(strSymbols,stringToArray_default(chars));return castSlice_default(strSymbols,start).join("")}var trimStart_default=trimStart;var DEFAULT_TRUNC_LENGTH=30;var DEFAULT_TRUNC_OMISSION="...";var reFlags2=/\w*$/;function truncate(string,options){var length=DEFAULT_TRUNC_LENGTH,omission=DEFAULT_TRUNC_OMISSION;if(isObject_default(options)){var separator="separator"in options?options.separator:separator;length="length"in options?toInteger_default(options.length):length;omission="omission"in options?baseToString_default(options.omission):omission}string=toString_default(string);var strLength=string.length;if(hasUnicode_default(string)){var strSymbols=stringToArray_default(string);strLength=strSymbols.length}if(length>=strLength){return string}var end=length-stringSize_default(omission);if(end<1){return omission}var result2=strSymbols?castSlice_default(strSymbols,0,end).join(""):string.slice(0,end);if(separator===void 0){return result2+omission}if(strSymbols){end+=result2.length-end}if(isRegExp_default(separator)){if(string.slice(end).search(separator)){var match,substring=result2;if(!separator.global){separator=RegExp(separator.source,toString_default(reFlags2.exec(separator))+"g")}separator.lastIndex=0;while(match=separator.exec(substring)){var newEnd=match.index}result2=result2.slice(0,newEnd===void 0?end:newEnd)}}else if(string.indexOf(baseToString_default(separator),end)!=end){var index=result2.lastIndexOf(separator);if(index>-1){result2=result2.slice(0,index)}}return result2+omission}var truncate_default=truncate;function unary(func){return ary_default(func,1)}var unary_default=unary;var htmlUnescapes={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"};var unescapeHtmlChar=basePropertyOf_default(htmlUnescapes);var unescapeHtmlChar_default=unescapeHtmlChar;var reEscapedHtml=/&(?:amp|lt|gt|quot|#39);/g;var reHasEscapedHtml=RegExp(reEscapedHtml.source);function unescape2(string){string=toString_default(string);return string&&reHasEscapedHtml.test(string)?string.replace(reEscapedHtml,unescapeHtmlChar_default):string}var unescape_default=unescape2;var INFINITY6=1/0;var createSet=!(Set_default&&1/setToArray_default(new Set_default([,-0]))[1]==INFINITY6)?noop_default:function(values2){return new Set_default(values2)};var createSet_default=createSet;var LARGE_ARRAY_SIZE3=200;function baseUniq(array,iteratee2,comparator){var index=-1,includes2=arrayIncludes_default,length=array.length,isCommon=true,result2=[],seen=result2;if(comparator){isCommon=false;includes2=arrayIncludesWith_default}else if(length>=LARGE_ARRAY_SIZE3){var set3=iteratee2?null:createSet_default(array);if(set3){return setToArray_default(set3)}isCommon=false;includes2=cacheHas_default;seen=new SetCache_default}else{seen=iteratee2?[]:result2}outer:while(++index<length){var value=array[index],computed=iteratee2?iteratee2(value):value;value=comparator||value!==0?value:0;if(isCommon&&computed===computed){var seenIndex=seen.length;while(seenIndex--){if(seen[seenIndex]===computed){continue outer}}if(iteratee2){seen.push(computed)}result2.push(value)}else if(!includes2(seen,computed,comparator)){if(seen!==result2){seen.push(computed)}result2.push(value)}}return result2}var baseUniq_default=baseUniq;var union=baseRest_default(function(arrays){return baseUniq_default(baseFlatten_default(arrays,1,isArrayLikeObject_default,true))});var union_default=union;var unionBy=baseRest_default(function(arrays){var iteratee2=last_default(arrays);if(isArrayLikeObject_default(iteratee2)){iteratee2=void 0}return baseUniq_default(baseFlatten_default(arrays,1,isArrayLikeObject_default,true),baseIteratee_default(iteratee2,2))});var unionBy_default=unionBy;var unionWith=baseRest_default(function(arrays){var comparator=last_default(arrays);comparator=typeof comparator=="function"?comparator:void 0;return baseUniq_default(baseFlatten_default(arrays,1,isArrayLikeObject_default,true),void 0,comparator)});var unionWith_default=unionWith;function uniq(array){return array&&array.length?baseUniq_default(array):[]}var uniq_default=uniq;function uniqBy(array,iteratee2){return array&&array.length?baseUniq_default(array,baseIteratee_default(iteratee2,2)):[]}var uniqBy_default=uniqBy;function uniqWith(array,comparator){comparator=typeof comparator=="function"?comparator:void 0;return array&&array.length?baseUniq_default(array,void 0,comparator):[]}var uniqWith_default=uniqWith;var idCounter=0;function uniqueId(prefix){var id=++idCounter;return toString_default(prefix)+id}var uniqueId_default=uniqueId;function unset(object,path27){return object==null?true:baseUnset_default(object,path27)}var unset_default=unset;var nativeMax15=Math.max;function unzip(array){if(!(array&&array.length)){return[]}var length=0;array=arrayFilter_default(array,function(group){if(isArrayLikeObject_default(group)){length=nativeMax15(group.length,length);return true}});return baseTimes_default(length,function(index){return arrayMap_default(array,baseProperty_default(index))})}var unzip_default=unzip;function unzipWith(array,iteratee2){if(!(array&&array.length)){return[]}var result2=unzip_default(array);if(iteratee2==null){return result2}return arrayMap_default(result2,function(group){return apply_default(iteratee2,void 0,group)})}var unzipWith_default=unzipWith;function baseUpdate(object,path27,updater,customizer){return baseSet_default(object,path27,updater(baseGet_default(object,path27)),customizer)}var baseUpdate_default=baseUpdate;function update(object,path27,updater){return object==null?object:baseUpdate_default(object,path27,castFunction_default(updater))}var update_default=update;function updateWith(object,path27,updater,customizer){customizer=typeof customizer=="function"?customizer:void 0;return object==null?object:baseUpdate_default(object,path27,castFunction_default(updater),customizer)}var updateWith_default=updateWith;var upperCase=createCompounder_default(function(result2,word,index){return result2+(index?" ":"")+word.toUpperCase()});var upperCase_default=upperCase;function valuesIn(object){return object==null?[]:baseValues_default(object,keysIn_default(object))}var valuesIn_default=valuesIn;var without=baseRest_default(function(array,values2){return isArrayLikeObject_default(array)?baseDifference_default(array,values2):[]});var without_default=without;function wrap(value,wrapper){return partial_default(castFunction_default(wrapper),value)}var wrap_default=wrap;var wrapperAt=flatRest_default(function(paths){var length=paths.length,start=length?paths[0]:0,value=this.__wrapped__,interceptor=function(object){return baseAt_default(object,paths)};if(length>1||this.__actions__.length||!(value instanceof LazyWrapper_default)||!isIndex_default(start)){return this.thru(interceptor)}value=value.slice(start,+start+(length?1:0));value.__actions__.push({"func":thru_default,"args":[interceptor],"thisArg":void 0});return new LodashWrapper_default(value,this.__chain__).thru(function(array){if(length&&!array.length){array.push(void 0)}return array})});var wrapperAt_default=wrapperAt;function wrapperChain(){return chain_default(this)}var wrapperChain_default=wrapperChain;function wrapperReverse(){var value=this.__wrapped__;if(value instanceof LazyWrapper_default){var wrapped=value;if(this.__actions__.length){wrapped=new LazyWrapper_default(this)}wrapped=wrapped.reverse();wrapped.__actions__.push({"func":thru_default,"args":[reverse_default],"thisArg":void 0});return new LodashWrapper_default(wrapped,this.__chain__)}return this.thru(reverse_default)}var wrapperReverse_default=wrapperReverse;function baseXor(arrays,iteratee2,comparator){var length=arrays.length;if(length<2){return length?baseUniq_default(arrays[0]):[]}var index=-1,result2=Array(length);while(++index<length){var array=arrays[index],othIndex=-1;while(++othIndex<length){if(othIndex!=index){result2[index]=baseDifference_default(result2[index]||array,arrays[othIndex],iteratee2,comparator)}}}return baseUniq_default(baseFlatten_default(result2,1),iteratee2,comparator)}var baseXor_default=baseXor;var xor=baseRest_default(function(arrays){return baseXor_default(arrayFilter_default(arrays,isArrayLikeObject_default))});var xor_default=xor;var xorBy=baseRest_default(function(arrays){var iteratee2=last_default(arrays);if(isArrayLikeObject_default(iteratee2)){iteratee2=void 0}return baseXor_default(arrayFilter_default(arrays,isArrayLikeObject_default),baseIteratee_default(iteratee2,2))});var xorBy_default=xorBy;var xorWith=baseRest_default(function(arrays){var comparator=last_default(arrays);comparator=typeof comparator=="function"?comparator:void 0;return baseXor_default(arrayFilter_default(arrays,isArrayLikeObject_default),void 0,comparator)});var xorWith_default=xorWith;var zip=baseRest_default(unzip_default);var zip_default=zip;function baseZipObject(props,values2,assignFunc){var index=-1,length=props.length,valsLength=values2.length,result2={};while(++index<length){var value=index<valsLength?values2[index]:void 0;assignFunc(result2,props[index],value)}return result2}var baseZipObject_default=baseZipObject;function zipObject(props,values2){return baseZipObject_default(props||[],values2||[],assignValue_default)}var zipObject_default=zipObject;function zipObjectDeep(props,values2){return baseZipObject_default(props||[],values2||[],baseSet_default)}var zipObjectDeep_default=zipObjectDeep;var zipWith=baseRest_default(function(arrays){var length=arrays.length,iteratee2=length>1?arrays[length-1]:void 0;iteratee2=typeof iteratee2=="function"?(arrays.pop(),iteratee2):void 0;return unzipWith_default(arrays,iteratee2)});var zipWith_default=zipWith;var array_default_default={chunk:chunk_default,compact:compact_default,concat:concat_default,difference:difference_default,differenceBy:differenceBy_default,differenceWith:differenceWith_default,drop:drop_default,dropRight:dropRight_default,dropRightWhile:dropRightWhile_default,dropWhile:dropWhile_default,fill:fill_default,findIndex:findIndex_default,findLastIndex:findLastIndex_default,first:head_default,flatten:flatten_default,flattenDeep:flattenDeep_default,flattenDepth:flattenDepth_default,fromPairs:fromPairs_default,head:head_default,indexOf:indexOf_default,initial:initial_default,intersection:intersection_default,intersectionBy:intersectionBy_default,intersectionWith:intersectionWith_default,join:join_default,last:last_default,lastIndexOf:lastIndexOf_default,nth:nth_default,pull:pull_default,pullAll:pullAll_default,pullAllBy:pullAllBy_default,pullAllWith:pullAllWith_default,pullAt:pullAt_default,remove:remove_default,reverse:reverse_default,slice:slice_default,sortedIndex:sortedIndex_default,sortedIndexBy:sortedIndexBy_default,sortedIndexOf:sortedIndexOf_default,sortedLastIndex:sortedLastIndex_default,sortedLastIndexBy:sortedLastIndexBy_default,sortedLastIndexOf:sortedLastIndexOf_default,sortedUniq:sortedUniq_default,sortedUniqBy:sortedUniqBy_default,tail:tail_default,take:take_default,takeRight:takeRight_default,takeRightWhile:takeRightWhile_default,takeWhile:takeWhile_default,union:union_default,unionBy:unionBy_default,unionWith:unionWith_default,uniq:uniq_default,uniqBy:uniqBy_default,uniqWith:uniqWith_default,unzip:unzip_default,unzipWith:unzipWith_default,without:without_default,xor:xor_default,xorBy:xorBy_default,xorWith:xorWith_default,zip:zip_default,zipObject:zipObject_default,zipObjectDeep:zipObjectDeep_default,zipWith:zipWith_default};var collection_default_default={countBy:countBy_default,each:forEach_default,eachRight:forEachRight_default,every:every_default,filter:filter_default,find:find_default,findLast:findLast_default,flatMap:flatMap_default,flatMapDeep:flatMapDeep_default,flatMapDepth:flatMapDepth_default,forEach:forEach_default,forEachRight:forEachRight_default,groupBy:groupBy_default,includes:includes_default,invokeMap:invokeMap_default,keyBy:keyBy_default,map:map_default,orderBy:orderBy_default,partition:partition_default,reduce:reduce_default,reduceRight:reduceRight_default,reject:reject_default,sample:sample_default,sampleSize:sampleSize_default,shuffle:shuffle_default,size:size_default,some:some_default,sortBy:sortBy_default};var date_default_default={now:now_default};var function_default_default={after:after_default,ary:ary_default,before:before_default,bind:bind_default,bindKey:bindKey_default,curry:curry_default,curryRight:curryRight_default,debounce:debounce_default,defer:defer_default,delay:delay_default,flip:flip_default,memoize:memoize_default,negate:negate_default,once:once_default,overArgs:overArgs_default,partial:partial_default,partialRight:partialRight_default,rearg:rearg_default,rest:rest_default,spread:spread_default,throttle:throttle_default,unary:unary_default,wrap:wrap_default};var lang_default_default={castArray:castArray_default,clone:clone_default,cloneDeep:cloneDeep_default,cloneDeepWith:cloneDeepWith_default,cloneWith:cloneWith_default,conformsTo:conformsTo_default,eq:eq_default,gt:gt_default,gte:gte_default,isArguments:isArguments_default,isArray:isArray_default,isArrayBuffer:isArrayBuffer_default,isArrayLike:isArrayLike_default,isArrayLikeObject:isArrayLikeObject_default,isBoolean:isBoolean_default,isBuffer:isBuffer_default,isDate:isDate_default,isElement:isElement_default,isEmpty:isEmpty_default,isEqual:isEqual_default,isEqualWith:isEqualWith_default,isError:isError_default,isFinite:isFinite_default,isFunction:isFunction_default,isInteger:isInteger_default,isLength:isLength_default,isMap:isMap_default,isMatch:isMatch_default,isMatchWith:isMatchWith_default,isNaN:isNaN_default,isNative:isNative_default,isNil:isNil_default,isNull:isNull_default,isNumber:isNumber_default,isObject:isObject_default,isObjectLike:isObjectLike_default,isPlainObject:isPlainObject_default,isRegExp:isRegExp_default,isSafeInteger:isSafeInteger_default,isSet:isSet_default,isString:isString_default,isSymbol:isSymbol_default,isTypedArray:isTypedArray_default,isUndefined:isUndefined_default,isWeakMap:isWeakMap_default,isWeakSet:isWeakSet_default,lt:lt_default,lte:lte_default,toArray:toArray_default,toFinite:toFinite_default,toInteger:toInteger_default,toLength:toLength_default,toNumber:toNumber_default,toPlainObject:toPlainObject_default,toSafeInteger:toSafeInteger_default,toString:toString_default};var math_default_default={add:add_default,ceil:ceil_default,divide:divide_default,floor:floor_default,max:max_default,maxBy:maxBy_default,mean:mean_default,meanBy:meanBy_default,min:min_default,minBy:minBy_default,multiply:multiply_default,round:round_default,subtract:subtract_default,sum:sum_default,sumBy:sumBy_default};var number_default_default={clamp:clamp_default,inRange:inRange_default,random:random_default};var object_default_default={assign:assign_default,assignIn:assignIn_default,assignInWith:assignInWith_default,assignWith:assignWith_default,at:at_default,create:create_default,defaults:defaults_default,defaultsDeep:defaultsDeep_default,entries:toPairs_default,entriesIn:toPairsIn_default,extend:assignIn_default,extendWith:assignInWith_default,findKey:findKey_default,findLastKey:findLastKey_default,forIn:forIn_default,forInRight:forInRight_default,forOwn:forOwn_default,forOwnRight:forOwnRight_default,functions:functions_default,functionsIn:functionsIn_default,get:get_default,has:has_default,hasIn:hasIn_default,invert:invert_default,invertBy:invertBy_default,invoke:invoke_default,keys:keys_default,keysIn:keysIn_default,mapKeys:mapKeys_default,mapValues:mapValues_default,merge:merge_default,mergeWith:mergeWith_default,omit:omit_default,omitBy:omitBy_default,pick:pick_default,pickBy:pickBy_default,result:result_default,set:set_default,setWith:setWith_default,toPairs:toPairs_default,toPairsIn:toPairsIn_default,transform:transform_default,unset:unset_default,update:update_default,updateWith:updateWith_default,values:values_default,valuesIn:valuesIn_default};var seq_default_default={at:wrapperAt_default,chain:chain_default,commit:commit_default,lodash:wrapperLodash_default,next:next_default,plant:plant_default,reverse:wrapperReverse_default,tap:tap_default,thru:thru_default,toIterator:toIterator_default,toJSON:wrapperValue_default,value:wrapperValue_default,valueOf:wrapperValue_default,wrapperChain:wrapperChain_default};var string_default_default={camelCase:camelCase_default,capitalize:capitalize_default,deburr:deburr_default,endsWith:endsWith_default,escape:escape_default,escapeRegExp:escapeRegExp_default,kebabCase:kebabCase_default,lowerCase:lowerCase_default,lowerFirst:lowerFirst_default,pad:pad_default,padEnd:padEnd_default,padStart:padStart_default,parseInt:parseInt_default,repeat:repeat_default,replace:replace_default,snakeCase:snakeCase_default,split:split_default,startCase:startCase_default,startsWith:startsWith_default,template:template_default,templateSettings:templateSettings_default,toLower:toLower_default,toUpper:toUpper_default,trim:trim_default,trimEnd:trimEnd_default,trimStart:trimStart_default,truncate:truncate_default,unescape:unescape_default,upperCase:upperCase_default,upperFirst:upperFirst_default,words:words_default};var util_default_default={attempt:attempt_default,bindAll:bindAll_default,cond:cond_default,conforms:conforms_default,constant:constant_default,defaultTo:defaultTo_default,flow:flow_default,flowRight:flowRight_default,identity:identity_default,iteratee:iteratee_default,matches:matches_default,matchesProperty:matchesProperty_default,method:method_default,methodOf:methodOf_default,mixin:mixin_default,noop:noop_default,nthArg:nthArg_default,over:over_default,overEvery:overEvery_default,overSome:overSome_default,property:property_default,propertyOf:propertyOf_default,range:range_default,rangeRight:rangeRight_default,stubArray:stubArray_default,stubFalse:stubFalse_default,stubObject:stubObject_default,stubString:stubString_default,stubTrue:stubTrue_default,times:times_default,toPath:toPath_default,uniqueId:uniqueId_default};function lazyClone(){var result2=new LazyWrapper_default(this.__wrapped__);result2.__actions__=copyArray_default(this.__actions__);result2.__dir__=this.__dir__;result2.__filtered__=this.__filtered__;result2.__iteratees__=copyArray_default(this.__iteratees__);result2.__takeCount__=this.__takeCount__;result2.__views__=copyArray_default(this.__views__);return result2}var lazyClone_default=lazyClone;function lazyReverse(){if(this.__filtered__){var result2=new LazyWrapper_default(this);result2.__dir__=-1;result2.__filtered__=true}else{result2=this.clone();result2.__dir__*=-1}return result2}var lazyReverse_default=lazyReverse;var nativeMax16=Math.max;var nativeMin13=Math.min;function getView(start,end,transforms){var index=-1,length=transforms.length;while(++index<length){var data=transforms[index],size2=data.size;switch(data.type){case"drop":start+=size2;break;case"dropRight":end-=size2;break;case"take":end=nativeMin13(end,start+size2);break;case"takeRight":start=nativeMax16(start,end-size2);break}}return{"start":start,"end":end}}var getView_default=getView;var LAZY_FILTER_FLAG=1;var LAZY_MAP_FLAG=2;var nativeMin14=Math.min;function lazyValue(){var array=this.__wrapped__.value(),dir=this.__dir__,isArr=isArray_default(array),isRight=dir<0,arrLength=isArr?array.length:0,view=getView_default(0,arrLength,this.__views__),start=view.start,end=view.end,length=end-start,index=isRight?end:start-1,iteratees=this.__iteratees__,iterLength=iteratees.length,resIndex=0,takeCount=nativeMin14(length,this.__takeCount__);if(!isArr||!isRight&&arrLength==length&&takeCount==length){return baseWrapperValue_default(array,this.__actions__)}var result2=[];outer:while(length--&&resIndex<takeCount){index+=dir;var iterIndex=-1,value=array[index];while(++iterIndex<iterLength){var data=iteratees[iterIndex],iteratee2=data.iteratee,type2=data.type,computed=iteratee2(value);if(type2==LAZY_MAP_FLAG){value=computed}else if(!computed){if(type2==LAZY_FILTER_FLAG){continue outer}else{break outer}}}result2[resIndex++]=value}return result2}var lazyValue_default=lazyValue;var VERSION="4.17.21";var WRAP_BIND_KEY_FLAG7=2;var LAZY_FILTER_FLAG2=1;var LAZY_WHILE_FLAG=3;var MAX_ARRAY_LENGTH7=4294967295;var arrayProto6=Array.prototype;var objectProto29=Object.prototype;var hasOwnProperty25=objectProto29.hasOwnProperty;var symIterator2=Symbol_default?Symbol_default.iterator:void 0;var nativeMax17=Math.max;var nativeMin15=Math.min;var mixin2=function(func){return function(object,source,options){if(options==null){var isObj=isObject_default(source),props=isObj&&keys_default(source),methodNames=props&&props.length&&baseFunctions_default(source,props);if(!(methodNames?methodNames.length:isObj)){options=source;source=object;object=this}}return func(object,source,options)}}(mixin_default);wrapperLodash_default.after=function_default_default.after;wrapperLodash_default.ary=function_default_default.ary;wrapperLodash_default.assign=object_default_default.assign;wrapperLodash_default.assignIn=object_default_default.assignIn;wrapperLodash_default.assignInWith=object_default_default.assignInWith;wrapperLodash_default.assignWith=object_default_default.assignWith;wrapperLodash_default.at=object_default_default.at;wrapperLodash_default.before=function_default_default.before;wrapperLodash_default.bind=function_default_default.bind;wrapperLodash_default.bindAll=util_default_default.bindAll;wrapperLodash_default.bindKey=function_default_default.bindKey;wrapperLodash_default.castArray=lang_default_default.castArray;wrapperLodash_default.chain=seq_default_default.chain;wrapperLodash_default.chunk=array_default_default.chunk;wrapperLodash_default.compact=array_default_default.compact;wrapperLodash_default.concat=array_default_default.concat;wrapperLodash_default.cond=util_default_default.cond;wrapperLodash_default.conforms=util_default_default.conforms;wrapperLodash_default.constant=util_default_default.constant;wrapperLodash_default.countBy=collection_default_default.countBy;wrapperLodash_default.create=object_default_default.create;wrapperLodash_default.curry=function_default_default.curry;wrapperLodash_default.curryRight=function_default_default.curryRight;wrapperLodash_default.debounce=function_default_default.debounce;wrapperLodash_default.defaults=object_default_default.defaults;wrapperLodash_default.defaultsDeep=object_default_default.defaultsDeep;wrapperLodash_default.defer=function_default_default.defer;wrapperLodash_default.delay=function_default_default.delay;wrapperLodash_default.difference=array_default_default.difference;wrapperLodash_default.differenceBy=array_default_default.differenceBy;wrapperLodash_default.differenceWith=array_default_default.differenceWith;wrapperLodash_default.drop=array_default_default.drop;wrapperLodash_default.dropRight=array_default_default.dropRight;wrapperLodash_default.dropRightWhile=array_default_default.dropRightWhile;wrapperLodash_default.dropWhile=array_default_default.dropWhile;wrapperLodash_default.fill=array_default_default.fill;wrapperLodash_default.filter=collection_default_default.filter;wrapperLodash_default.flatMap=collection_default_default.flatMap;wrapperLodash_default.flatMapDeep=collection_default_default.flatMapDeep;wrapperLodash_default.flatMapDepth=collection_default_default.flatMapDepth;wrapperLodash_default.flatten=array_default_default.flatten;wrapperLodash_default.flattenDeep=array_default_default.flattenDeep;wrapperLodash_default.flattenDepth=array_default_default.flattenDepth;wrapperLodash_default.flip=function_default_default.flip;wrapperLodash_default.flow=util_default_default.flow;wrapperLodash_default.flowRight=util_default_default.flowRight;wrapperLodash_default.fromPairs=array_default_default.fromPairs;wrapperLodash_default.functions=object_default_default.functions;wrapperLodash_default.functionsIn=object_default_default.functionsIn;wrapperLodash_default.groupBy=collection_default_default.groupBy;wrapperLodash_default.initial=array_default_default.initial;wrapperLodash_default.intersection=array_default_default.intersection;wrapperLodash_default.intersectionBy=array_default_default.intersectionBy;wrapperLodash_default.intersectionWith=array_default_default.intersectionWith;wrapperLodash_default.invert=object_default_default.invert;wrapperLodash_default.invertBy=object_default_default.invertBy;wrapperLodash_default.invokeMap=collection_default_default.invokeMap;wrapperLodash_default.iteratee=util_default_default.iteratee;wrapperLodash_default.keyBy=collection_default_default.keyBy;wrapperLodash_default.keys=keys_default;wrapperLodash_default.keysIn=object_default_default.keysIn;wrapperLodash_default.map=collection_default_default.map;wrapperLodash_default.mapKeys=object_default_default.mapKeys;wrapperLodash_default.mapValues=object_default_default.mapValues;wrapperLodash_default.matches=util_default_default.matches;wrapperLodash_default.matchesProperty=util_default_default.matchesProperty;wrapperLodash_default.memoize=function_default_default.memoize;wrapperLodash_default.merge=object_default_default.merge;wrapperLodash_default.mergeWith=object_default_default.mergeWith;wrapperLodash_default.method=util_default_default.method;wrapperLodash_default.methodOf=util_default_default.methodOf;wrapperLodash_default.mixin=mixin2;wrapperLodash_default.negate=negate_default;wrapperLodash_default.nthArg=util_default_default.nthArg;wrapperLodash_default.omit=object_default_default.omit;wrapperLodash_default.omitBy=object_default_default.omitBy;wrapperLodash_default.once=function_default_default.once;wrapperLodash_default.orderBy=collection_default_default.orderBy;wrapperLodash_default.over=util_default_default.over;wrapperLodash_default.overArgs=function_default_default.overArgs;wrapperLodash_default.overEvery=util_default_default.overEvery;wrapperLodash_default.overSome=util_default_default.overSome;wrapperLodash_default.partial=function_default_default.partial;wrapperLodash_default.partialRight=function_default_default.partialRight;wrapperLodash_default.partition=collection_default_default.partition;wrapperLodash_default.pick=object_default_default.pick;wrapperLodash_default.pickBy=object_default_default.pickBy;wrapperLodash_default.property=util_default_default.property;wrapperLodash_default.propertyOf=util_default_default.propertyOf;wrapperLodash_default.pull=array_default_default.pull;wrapperLodash_default.pullAll=array_default_default.pullAll;wrapperLodash_default.pullAllBy=array_default_default.pullAllBy;wrapperLodash_default.pullAllWith=array_default_default.pullAllWith;wrapperLodash_default.pullAt=array_default_default.pullAt;wrapperLodash_default.range=util_default_default.range;wrapperLodash_default.rangeRight=util_default_default.rangeRight;wrapperLodash_default.rearg=function_default_default.rearg;wrapperLodash_default.reject=collection_default_default.reject;wrapperLodash_default.remove=array_default_default.remove;wrapperLodash_default.rest=function_default_default.rest;wrapperLodash_default.reverse=array_default_default.reverse;wrapperLodash_default.sampleSize=collection_default_default.sampleSize;wrapperLodash_default.set=object_default_default.set;wrapperLodash_default.setWith=object_default_default.setWith;wrapperLodash_default.shuffle=collection_default_default.shuffle;wrapperLodash_default.slice=array_default_default.slice;wrapperLodash_default.sortBy=collection_default_default.sortBy;wrapperLodash_default.sortedUniq=array_default_default.sortedUniq;wrapperLodash_default.sortedUniqBy=array_default_default.sortedUniqBy;wrapperLodash_default.split=string_default_default.split;wrapperLodash_default.spread=function_default_default.spread;wrapperLodash_default.tail=array_default_default.tail;wrapperLodash_default.take=array_default_default.take;wrapperLodash_default.takeRight=array_default_default.takeRight;wrapperLodash_default.takeRightWhile=array_default_default.takeRightWhile;wrapperLodash_default.takeWhile=array_default_default.takeWhile;wrapperLodash_default.tap=seq_default_default.tap;wrapperLodash_default.throttle=function_default_default.throttle;wrapperLodash_default.thru=thru_default;wrapperLodash_default.toArray=lang_default_default.toArray;wrapperLodash_default.toPairs=object_default_default.toPairs;wrapperLodash_default.toPairsIn=object_default_default.toPairsIn;wrapperLodash_default.toPath=util_default_default.toPath;wrapperLodash_default.toPlainObject=lang_default_default.toPlainObject;wrapperLodash_default.transform=object_default_default.transform;wrapperLodash_default.unary=function_default_default.unary;wrapperLodash_default.union=array_default_default.union;wrapperLodash_default.unionBy=array_default_default.unionBy;wrapperLodash_default.unionWith=array_default_default.unionWith;wrapperLodash_default.uniq=array_default_default.uniq;wrapperLodash_default.uniqBy=array_default_default.uniqBy;wrapperLodash_default.uniqWith=array_default_default.uniqWith;wrapperLodash_default.unset=object_default_default.unset;wrapperLodash_default.unzip=array_default_default.unzip;wrapperLodash_default.unzipWith=array_default_default.unzipWith;wrapperLodash_default.update=object_default_default.update;wrapperLodash_default.updateWith=object_default_default.updateWith;wrapperLodash_default.values=object_default_default.values;wrapperLodash_default.valuesIn=object_default_default.valuesIn;wrapperLodash_default.without=array_default_default.without;wrapperLodash_default.words=string_default_default.words;wrapperLodash_default.wrap=function_default_default.wrap;wrapperLodash_default.xor=array_default_default.xor;wrapperLodash_default.xorBy=array_default_default.xorBy;wrapperLodash_default.xorWith=array_default_default.xorWith;wrapperLodash_default.zip=array_default_default.zip;wrapperLodash_default.zipObject=array_default_default.zipObject;wrapperLodash_default.zipObjectDeep=array_default_default.zipObjectDeep;wrapperLodash_default.zipWith=array_default_default.zipWith;wrapperLodash_default.entries=object_default_default.toPairs;wrapperLodash_default.entriesIn=object_default_default.toPairsIn;wrapperLodash_default.extend=object_default_default.assignIn;wrapperLodash_default.extendWith=object_default_default.assignInWith;mixin2(wrapperLodash_default,wrapperLodash_default);wrapperLodash_default.add=math_default_default.add;wrapperLodash_default.attempt=util_default_default.attempt;wrapperLodash_default.camelCase=string_default_default.camelCase;wrapperLodash_default.capitalize=string_default_default.capitalize;wrapperLodash_default.ceil=math_default_default.ceil;wrapperLodash_default.clamp=number_default_default.clamp;wrapperLodash_default.clone=lang_default_default.clone;wrapperLodash_default.cloneDeep=lang_default_default.cloneDeep;wrapperLodash_default.cloneDeepWith=lang_default_default.cloneDeepWith;wrapperLodash_default.cloneWith=lang_default_default.cloneWith;wrapperLodash_default.conformsTo=lang_default_default.conformsTo;wrapperLodash_default.deburr=string_default_default.deburr;wrapperLodash_default.defaultTo=util_default_default.defaultTo;wrapperLodash_default.divide=math_default_default.divide;wrapperLodash_default.endsWith=string_default_default.endsWith;wrapperLodash_default.eq=lang_default_default.eq;wrapperLodash_default.escape=string_default_default.escape;wrapperLodash_default.escapeRegExp=string_default_default.escapeRegExp;wrapperLodash_default.every=collection_default_default.every;wrapperLodash_default.find=collection_default_default.find;wrapperLodash_default.findIndex=array_default_default.findIndex;wrapperLodash_default.findKey=object_default_default.findKey;wrapperLodash_default.findLast=collection_default_default.findLast;wrapperLodash_default.findLastIndex=array_default_default.findLastIndex;wrapperLodash_default.findLastKey=object_default_default.findLastKey;wrapperLodash_default.floor=math_default_default.floor;wrapperLodash_default.forEach=collection_default_default.forEach;wrapperLodash_default.forEachRight=collection_default_default.forEachRight;wrapperLodash_default.forIn=object_default_default.forIn;wrapperLodash_default.forInRight=object_default_default.forInRight;wrapperLodash_default.forOwn=object_default_default.forOwn;wrapperLodash_default.forOwnRight=object_default_default.forOwnRight;wrapperLodash_default.get=object_default_default.get;wrapperLodash_default.gt=lang_default_default.gt;wrapperLodash_default.gte=lang_default_default.gte;wrapperLodash_default.has=object_default_default.has;wrapperLodash_default.hasIn=object_default_default.hasIn;wrapperLodash_default.head=array_default_default.head;wrapperLodash_default.identity=identity_default;wrapperLodash_default.includes=collection_default_default.includes;wrapperLodash_default.indexOf=array_default_default.indexOf;wrapperLodash_default.inRange=number_default_default.inRange;wrapperLodash_default.invoke=object_default_default.invoke;wrapperLodash_default.isArguments=lang_default_default.isArguments;wrapperLodash_default.isArray=isArray_default;wrapperLodash_default.isArrayBuffer=lang_default_default.isArrayBuffer;wrapperLodash_default.isArrayLike=lang_default_default.isArrayLike;wrapperLodash_default.isArrayLikeObject=lang_default_default.isArrayLikeObject;wrapperLodash_default.isBoolean=lang_default_default.isBoolean;wrapperLodash_default.isBuffer=lang_default_default.isBuffer;wrapperLodash_default.isDate=lang_default_default.isDate;wrapperLodash_default.isElement=lang_default_default.isElement;wrapperLodash_default.isEmpty=lang_default_default.isEmpty;wrapperLodash_default.isEqual=lang_default_default.isEqual;wrapperLodash_default.isEqualWith=lang_default_default.isEqualWith;wrapperLodash_default.isError=lang_default_default.isError;wrapperLodash_default.isFinite=lang_default_default.isFinite;wrapperLodash_default.isFunction=lang_default_default.isFunction;wrapperLodash_default.isInteger=lang_default_default.isInteger;wrapperLodash_default.isLength=lang_default_default.isLength;wrapperLodash_default.isMap=lang_default_default.isMap;wrapperLodash_default.isMatch=lang_default_default.isMatch;wrapperLodash_default.isMatchWith=lang_default_default.isMatchWith;wrapperLodash_default.isNaN=lang_default_default.isNaN;wrapperLodash_default.isNative=lang_default_default.isNative;wrapperLodash_default.isNil=lang_default_default.isNil;wrapperLodash_default.isNull=lang_default_default.isNull;wrapperLodash_default.isNumber=lang_default_default.isNumber;wrapperLodash_default.isObject=isObject_default;wrapperLodash_default.isObjectLike=lang_default_default.isObjectLike;wrapperLodash_default.isPlainObject=lang_default_default.isPlainObject;wrapperLodash_default.isRegExp=lang_default_default.isRegExp;wrapperLodash_default.isSafeInteger=lang_default_default.isSafeInteger;wrapperLodash_default.isSet=lang_default_default.isSet;wrapperLodash_default.isString=lang_default_default.isString;wrapperLodash_default.isSymbol=lang_default_default.isSymbol;wrapperLodash_default.isTypedArray=lang_default_default.isTypedArray;wrapperLodash_default.isUndefined=lang_default_default.isUndefined;wrapperLodash_default.isWeakMap=lang_default_default.isWeakMap;wrapperLodash_default.isWeakSet=lang_default_default.isWeakSet;wrapperLodash_default.join=array_default_default.join;wrapperLodash_default.kebabCase=string_default_default.kebabCase;wrapperLodash_default.last=last_default;wrapperLodash_default.lastIndexOf=array_default_default.lastIndexOf;wrapperLodash_default.lowerCase=string_default_default.lowerCase;wrapperLodash_default.lowerFirst=string_default_default.lowerFirst;wrapperLodash_default.lt=lang_default_default.lt;wrapperLodash_default.lte=lang_default_default.lte;wrapperLodash_default.max=math_default_default.max;wrapperLodash_default.maxBy=math_default_default.maxBy;wrapperLodash_default.mean=math_default_default.mean;wrapperLodash_default.meanBy=math_default_default.meanBy;wrapperLodash_default.min=math_default_default.min;wrapperLodash_default.minBy=math_default_default.minBy;wrapperLodash_default.stubArray=util_default_default.stubArray;wrapperLodash_default.stubFalse=util_default_default.stubFalse;wrapperLodash_default.stubObject=util_default_default.stubObject;wrapperLodash_default.stubString=util_default_default.stubString;wrapperLodash_default.stubTrue=util_default_default.stubTrue;wrapperLodash_default.multiply=math_default_default.multiply;wrapperLodash_default.nth=array_default_default.nth;wrapperLodash_default.noop=util_default_default.noop;wrapperLodash_default.now=date_default_default.now;wrapperLodash_default.pad=string_default_default.pad;wrapperLodash_default.padEnd=string_default_default.padEnd;wrapperLodash_default.padStart=string_default_default.padStart;wrapperLodash_default.parseInt=string_default_default.parseInt;wrapperLodash_default.random=number_default_default.random;wrapperLodash_default.reduce=collection_default_default.reduce;wrapperLodash_default.reduceRight=collection_default_default.reduceRight;wrapperLodash_default.repeat=string_default_default.repeat;wrapperLodash_default.replace=string_default_default.replace;wrapperLodash_default.result=object_default_default.result;wrapperLodash_default.round=math_default_default.round;wrapperLodash_default.sample=collection_default_default.sample;wrapperLodash_default.size=collection_default_default.size;wrapperLodash_default.snakeCase=string_default_default.snakeCase;wrapperLodash_default.some=collection_default_default.some;wrapperLodash_default.sortedIndex=array_default_default.sortedIndex;wrapperLodash_default.sortedIndexBy=array_default_default.sortedIndexBy;wrapperLodash_default.sortedIndexOf=array_default_default.sortedIndexOf;wrapperLodash_default.sortedLastIndex=array_default_default.sortedLastIndex;wrapperLodash_default.sortedLastIndexBy=array_default_default.sortedLastIndexBy;wrapperLodash_default.sortedLastIndexOf=array_default_default.sortedLastIndexOf;wrapperLodash_default.startCase=string_default_default.startCase;wrapperLodash_default.startsWith=string_default_default.startsWith;wrapperLodash_default.subtract=math_default_default.subtract;wrapperLodash_default.sum=math_default_default.sum;wrapperLodash_default.sumBy=math_default_default.sumBy;wrapperLodash_default.template=string_default_default.template;wrapperLodash_default.times=util_default_default.times;wrapperLodash_default.toFinite=lang_default_default.toFinite;wrapperLodash_default.toInteger=toInteger_default;wrapperLodash_default.toLength=lang_default_default.toLength;wrapperLodash_default.toLower=string_default_default.toLower;wrapperLodash_default.toNumber=lang_default_default.toNumber;wrapperLodash_default.toSafeInteger=lang_default_default.toSafeInteger;wrapperLodash_default.toString=lang_default_default.toString;wrapperLodash_default.toUpper=string_default_default.toUpper;wrapperLodash_default.trim=string_default_default.trim;wrapperLodash_default.trimEnd=string_default_default.trimEnd;wrapperLodash_default.trimStart=string_default_default.trimStart;wrapperLodash_default.truncate=string_default_default.truncate;wrapperLodash_default.unescape=string_default_default.unescape;wrapperLodash_default.uniqueId=util_default_default.uniqueId;wrapperLodash_default.upperCase=string_default_default.upperCase;wrapperLodash_default.upperFirst=string_default_default.upperFirst;wrapperLodash_default.each=collection_default_default.forEach;wrapperLodash_default.eachRight=collection_default_default.forEachRight;wrapperLodash_default.first=array_default_default.head;mixin2(wrapperLodash_default,function(){var source={};baseForOwn_default(wrapperLodash_default,function(func,methodName){if(!hasOwnProperty25.call(wrapperLodash_default.prototype,methodName)){source[methodName]=func}});return source}(),{"chain":false});wrapperLodash_default.VERSION=VERSION;(wrapperLodash_default.templateSettings=string_default_default.templateSettings).imports._=wrapperLodash_default;arrayEach_default(["bind","bindKey","curry","curryRight","partial","partialRight"],function(methodName){wrapperLodash_default[methodName].placeholder=wrapperLodash_default});arrayEach_default(["drop","take"],function(methodName,index){LazyWrapper_default.prototype[methodName]=function(n){n=n===void 0?1:nativeMax17(toInteger_default(n),0);var result2=this.__filtered__&&!index?new LazyWrapper_default(this):this.clone();if(result2.__filtered__){result2.__takeCount__=nativeMin15(n,result2.__takeCount__)}else{result2.__views__.push({"size":nativeMin15(n,MAX_ARRAY_LENGTH7),"type":methodName+(result2.__dir__<0?"Right":"")})}return result2};LazyWrapper_default.prototype[methodName+"Right"]=function(n){return this.reverse()[methodName](n).reverse()}});arrayEach_default(["filter","map","takeWhile"],function(methodName,index){var type2=index+1,isFilter=type2==LAZY_FILTER_FLAG2||type2==LAZY_WHILE_FLAG;LazyWrapper_default.prototype[methodName]=function(iteratee2){var result2=this.clone();result2.__iteratees__.push({"iteratee":baseIteratee_default(iteratee2,3),"type":type2});result2.__filtered__=result2.__filtered__||isFilter;return result2}});arrayEach_default(["head","last"],function(methodName,index){var takeName="take"+(index?"Right":"");LazyWrapper_default.prototype[methodName]=function(){return this[takeName](1).value()[0]}});arrayEach_default(["initial","tail"],function(methodName,index){var dropName="drop"+(index?"":"Right");LazyWrapper_default.prototype[methodName]=function(){return this.__filtered__?new LazyWrapper_default(this):this[dropName](1)}});LazyWrapper_default.prototype.compact=function(){return this.filter(identity_default)};LazyWrapper_default.prototype.find=function(predicate){return this.filter(predicate).head()};LazyWrapper_default.prototype.findLast=function(predicate){return this.reverse().find(predicate)};LazyWrapper_default.prototype.invokeMap=baseRest_default(function(path27,args2){if(typeof path27=="function"){return new LazyWrapper_default(this)}return this.map(function(value){return baseInvoke_default(value,path27,args2)})});LazyWrapper_default.prototype.reject=function(predicate){return this.filter(negate_default(baseIteratee_default(predicate)))};LazyWrapper_default.prototype.slice=function(start,end){start=toInteger_default(start);var result2=this;if(result2.__filtered__&&(start>0||end<0)){return new LazyWrapper_default(result2)}if(start<0){result2=result2.takeRight(-start)}else if(start){result2=result2.drop(start)}if(end!==void 0){end=toInteger_default(end);result2=end<0?result2.dropRight(-end):result2.take(end-start)}return result2};LazyWrapper_default.prototype.takeRightWhile=function(predicate){return this.reverse().takeWhile(predicate).reverse()};LazyWrapper_default.prototype.toArray=function(){return this.take(MAX_ARRAY_LENGTH7)};baseForOwn_default(LazyWrapper_default.prototype,function(func,methodName){var checkIteratee=/^(?:filter|find|map|reject)|While$/.test(methodName),isTaker=/^(?:head|last)$/.test(methodName),lodashFunc=wrapperLodash_default[isTaker?"take"+(methodName=="last"?"Right":""):methodName],retUnwrapped=isTaker||/^find/.test(methodName);if(!lodashFunc){return}wrapperLodash_default.prototype[methodName]=function(){var value=this.__wrapped__,args2=isTaker?[1]:arguments,isLazy=value instanceof LazyWrapper_default,iteratee2=args2[0],useLazy=isLazy||isArray_default(value);var interceptor=function(value2){var result3=lodashFunc.apply(wrapperLodash_default,arrayPush_default([value2],args2));return isTaker&&chainAll?result3[0]:result3};if(useLazy&&checkIteratee&&typeof iteratee2=="function"&&iteratee2.length!=1){isLazy=useLazy=false}var chainAll=this.__chain__,isHybrid=!!this.__actions__.length,isUnwrapped=retUnwrapped&&!chainAll,onlyLazy=isLazy&&!isHybrid;if(!retUnwrapped&&useLazy){value=onlyLazy?value:new LazyWrapper_default(this);var result2=func.apply(value,args2);result2.__actions__.push({"func":thru_default,"args":[interceptor],"thisArg":void 0});return new LodashWrapper_default(result2,chainAll)}if(isUnwrapped&&onlyLazy){return func.apply(this,args2)}result2=this.thru(interceptor);return isUnwrapped?isTaker?result2.value()[0]:result2.value():result2}});arrayEach_default(["pop","push","shift","sort","splice","unshift"],function(methodName){var func=arrayProto6[methodName],chainName=/^(?:push|sort|unshift)$/.test(methodName)?"tap":"thru",retUnwrapped=/^(?:pop|shift)$/.test(methodName);wrapperLodash_default.prototype[methodName]=function(){var args2=arguments;if(retUnwrapped&&!this.__chain__){var value=this.value();return func.apply(isArray_default(value)?value:[],args2)}return this[chainName](function(value2){return func.apply(isArray_default(value2)?value2:[],args2)})}});baseForOwn_default(LazyWrapper_default.prototype,function(func,methodName){var lodashFunc=wrapperLodash_default[methodName];if(lodashFunc){var key=lodashFunc.name+"";if(!hasOwnProperty25.call(realNames_default,key)){realNames_default[key]=[]}realNames_default[key].push({"name":methodName,"func":lodashFunc})}});realNames_default[createHybrid_default(void 0,WRAP_BIND_KEY_FLAG7).name]=[{"name":"wrapper","func":void 0}];LazyWrapper_default.prototype.clone=lazyClone_default;LazyWrapper_default.prototype.reverse=lazyReverse_default;LazyWrapper_default.prototype.value=lazyValue_default;wrapperLodash_default.prototype.at=seq_default_default.at;wrapperLodash_default.prototype.chain=seq_default_default.wrapperChain;wrapperLodash_default.prototype.commit=seq_default_default.commit;wrapperLodash_default.prototype.next=seq_default_default.next;wrapperLodash_default.prototype.plant=seq_default_default.plant;wrapperLodash_default.prototype.reverse=seq_default_default.reverse;wrapperLodash_default.prototype.toJSON=wrapperLodash_default.prototype.valueOf=wrapperLodash_default.prototype.value=seq_default_default.value;wrapperLodash_default.prototype.first=wrapperLodash_default.prototype.head;if(symIterator2){wrapperLodash_default.prototype[symIterator2]=seq_default_default.toIterator}var lodash_default_default=wrapperLodash_default;var typeDefinedConfig=config=>config;var typeNullableConfig=config=>config;var discordSnowflakeSchema=z.string().regex(consts_default.regexDiscordSnowflake,"The ID should be a 17-20 digit number.");var getSchemaChainError=chain2=>{for(const[schema2,val]of chain2){const res=schema2.validator.safeParse(val);if(!res.success){return fromError(res.error,{prefix:schema2.name}).message}}};var SYM_FIXER_FATAL=Symbol("ConfigSchema:FixerFatalError");var SYM_FIXER_DEFAULT=Symbol("ConfigSchema:FixerFallbackDefault");var SYM_RESET_CONFIG=Symbol("ConfigSchema:SaverResetConfig");var SYM_SYSTEM_AUTHOR=Symbol("Definition:AuthorIsSystem");var SYM_CURRENT_MUTEX=Symbol("Definition:CurrentServerMutex");var ar_default={$meta:{label:"Arabic",humanizer_language:"ar"},restarter:{server_unhealthy_kick_reason:"الخادم يحتاج إلى إعادة التشغيل, يرجى إعادة الاتصال",partial_hang_warn:".بسبب حدوث تعليق جزئي ، ستتم إعادة تشغيل هذا الخادم خلال دقيقة واحدة. الرجاء قطع الاتصال الآن",partial_hang_warn_discord:".سيتم إعادة التشغيل خلال دقيقة واحدة **%{servername}** ،بسبب تعليق جزئي",schedule_reason:"%{time} أعادة تشغيل مجدول في",schedule_warn:".دقائق %{smart_count} دقيقة. يرجى قطع الاتصال الآن. |||| تمت جدولة هذا الخادم لإعادة التشغيل في %{smart_count} تمت جدولة هذا الخادم لإعادة التشغيل في",schedule_warn_discord:".دقائق %{smart_count} ومن المقرر إعادة التشغيل في **%{servername}** |||| .دقيقة %{smart_count} ومن المقرر إعادة التشغيل في **%{servername}**"},kick_messages:{everyone:"تم طرد جميع اللاعبين: %{reason}.",player:"تم طردك: %{reason}.",unknown_reason:"لسبب مجهول"},ban_messages:{kick_temporary:'.%{expiration} :ستنتهي صلاحية حظرك في ."%{reason}"  لقد تم حظرك من هذا الخادم لسبب (%{author})',kick_permanent:'."%{reason}" لقد تم حظرك بشكل دائم من هذا الخادم لـسبب (%{author})',reject:{title_permanent:".لقد تم حظرك بشكل دائم من هذا الخادم",title_temporary:".لقد تم حظرك مؤقتا من هذا الخادم",label_expiration:"ينتهي حظرك في",label_date:"تاريخ الحظر",label_author:"محظور من قبل",label_reason:"سبب الحظر",label_id:"معرف الحظر",note_multiple_bans:".ملاحظة: لديك أكثر من حظر نشط على المعرفات الخاصة بك",note_diff_license:".تتطابق مع تلك المرتبطة بهذا الحظر HWID مما يعني أن بعض معرفاتك <code>license</code> ملاحظة: تم تطبيق الحظر أعلاه على شخص آخر"}},whitelist_messages:{admin_only:{mode_title:".<strong>المسؤول فقط</strong> هذا الخادم في وضع",insufficient_ids:".txAdmin المعرفات، ومطلوب واحد منهم على الأقل للتحقق من صحتك إذا كنت مسؤولاً في <code>discord</code> أو <code>fivem</code>  لم يكن لديك",deny_message:".txadmin لم يتم تعيين المعرفات الخاصة بك لأي مسؤول"},guild_member:{mode_title:"<strong>عضو في القائمة</strong> هذا الخادم في الوضع",insufficient_ids:".(لن يعمل فتح ديسكورد من المتصفح) والمحاولة مرة أخرى Discord Desktop يرجى فتح تطبيق .Discord server المعرف ، وهو مطلوب للتحقق مما إذا كنت قد انضممت إلى <code>discord</code> ليس لديك",deny_title:"للدخول إلى السيرفر، أنت مطالب بالانضمام لسيرفر الديسكورد",deny_message:".ثم أعد المحاولة %{guildname} يرجى الانضمام إلى سيرفر"},guild_roles:{mode_title:"هذا السيرفر يتطلب دخولك سيرفر الديسكورد للانضمام",insufficient_ids:".والمحاولة مرة أخرى (لن يعمل الديسكورد الموقع) Discord Desktop يرجى فتح تطبيق .Discord server المعرف ، وهو مطلوب للتحقق مما إذا كنت قد انضممت إلى <code>discord</code>  ليس لديك",deny_notmember_title:"لدخول Discord server أنت مطالب بالانضمام إلى",deny_notmember_message:".احصل على أحد الرول المطلوبة ، ثم حاول مرة أخرى ،%{guildname} يرجى الانضمام",deny_noroles_title:".ليس لديك دور مدرج في القائمة البيضاء مطلوب للانضمام",deny_noroles_message:"%{guildname}. للانضمام إلى هذا الخادم ، يجب أن يكون لديك واحد على الأقل من الرول المدرجة في القائمة"},approved_license:{mode_title:"<strong>القائمة للترخيص</strong> هذا الخادم في الوضع",insufficient_ids:"<code>server.cfg</code> ممكن. إذا كنت مالك الخادم ، فيمكنك تعطيله في ملف <code>sv_lan</code> تحديد ، مما يعني أن الخادم لديه <code>license</code> ليس لديك",deny_title:".أنت غير مدرج في القائمة للانضمام إلى هذا الخادم",request_id_label:"طلب معرف"}},server_actions:{restarting:".(%{reason}) يتم أعادة التشغيل",restarting_discord:".(%{reason}) يتم أعادة التشغيل **%{servername}**",stopping:".(%{reason}) يـتم أيقاف تشغيل الـسيرفر",stopping_discord:".(%{reason}) تم أيقاف السيرفر **%{servername}**",spawning_discord:"**%{servername}** .جاري تشغيل السيرفر"},nui_warning:{title:"تحذير",warned_by:":تحذير من",stale_message:".تم إصدار هذا التحذير قبل أن تتصل بالخادم",dismiss_key:"SPACE",instruction:".اضغط باستمرار على %{key} لمدة %{smart_count} ثانية لتجاهل هذه الرسالة |||| .اضغط باستمرار على %{key} لمدة %{smart_count} ثوانٍ لتجاهل هذه الرسالة"},nui_menu:{misc:{help_message:"[Game Settings> Key Bindings> FiveM> Menu: Open Main Page]. في keybind يمكنك أيضًا تكوين \n  /tx لفتحه. اكتب ،txAdmin تم تمكين قائمة",menu_not_admin:".وتأكد من حفظ المعرفات الخاصة بك Admin Manager فانتقل إلى ،txAdmin إذا كنت مسجلاً في \n .txAdmin المعرفات الخاصة بك لا تتطابق مع أي مسؤول مسجل في",menu_auth_failed:"%{reason} :بسبب txAdmin فشلت مصادقة قائمة",no_perms:".ليس لديك هذا الإذن",unknown_error:".حدث خطأ غير معروف",not_enabled:".txAdmin يمكنك تمكينه في صفحة إعدادات !txAdmin لم يتم تمكين قائمة",announcement_title:":%{author} تنويه من الإداري",dialog_empty_input:".لا يمكن أن يكون لديك إدخال فارغ",directmessage_title:":%{author} رسالة مباشرة من المشرف",onesync_error:"هذا الأمر يتطلب تشغيل الون سنك"},frozen:{froze_player:"!لقد قمت بتجميد اللاعب",unfroze_player:"!لقد قمت بإلغاء تجميد اللاعب",was_frozen:"!لقد تم تجميدك من قبل إداري"},common:{cancel:"الغاء",submit:"تأكيد",error:"حدث خطأ",copied:".نسخ إلى الحافظة"},page_main:{tooltips:{tooltip_1:"للتبديل بين الصفحات ومفاتيح الأسهم للتنقل بين عناصر القائمة %{key} استخدم",tooltip_2:"تحتوي بعض عناصر القائمة على خيارات فرعية يمكن تحديدها باستخدام مفاتيح الأسهم اليمنى واليسرى"},player_mode:{title:"وضع اللاعب",noclip:{title:"الطيران",label:"قم بالتحليق بالأجواء",success:"تم تفعيل طيران"},godmode:{title:"خارق",label:"لن يتمكن اللاعبين الآخير بقتلك",success:"تم تفعيل وضع خارق"},superjump:{title:"القفزة الخارقة",label:"سوف تصبح القفزة الخاصة بك عالية جداً، كذلك سوف تصبح شخصيتك اسرع بقليل",success:"تم تفعيل القفزة الخارقة"},normal:{title:"طبيعي",label:"الوضع الافتراضي",success:"لقد عدت للوضع الطبيعي"}},teleport:{title:"التنقل",generic_success:"تم الانتقال بنجاح",waypoint:{title:"الوجهة",label:"انتقل إلى الموقع المحدد بالخريطة",error:"قم بتحديد موقع بالخريطة أولاً"},coords:{title:"إحداثيات",label:"انتقل إلى الإحداثيات المحددة",dialog_title:"التنقل",dialog_desc:"لتصفح الثقب الدودي. (x, y, z) قم بتوفير إحداثيات بتنسيق",dialog_error:"111, 222, 33 :إحداثيات غير صحيحة. يجب أن يكون بتنسيق"},back:{title:"رجوع",label:"العودة إلى آخر موقع",error:"ليس لديك مكان آخر للعودة إليه!"},copy:{title:"نسخ الاحداثيات",label:".تم نسخ الاحداثيات إلى الحافظة"}},vehicle:{title:"المركبات",not_in_veh_error:"!أنت لست في مركبة حاليا",spawn:{title:"انشاء",label:"انشئ المركبة باسم الطراز",dialog_title:"نشر مركبة",dialog_desc:".أدخل اسم طراز المركبة التي تريد انشائها",dialog_success:"تم انشاء المركبة",dialog_error:"!غير موجود '%{modelName}' اسم طراز المركبة",dialog_info:".%{modelName} تحاول أن انشاء"},fix:{title:"اصلاح",label:"إصلاح المركبة الحالية",success:"تم اصلاح المركبة"},delete:{title:"حذف",label:"احذف المركبة الحالية",success:"!تم حذف المركبة"},boost:{title:"عزز",label:"عزز المركبة لتحقيق أقصى قدر من المتعة (وربما السرعة)",success:"!عززت المركبة",already_boosted:".تم تعزيز هذه المركبة بالفعل",unsupported_class:".فئة المركبة هذه غير مدعومة",redm_not_mounted:".يمكنك التعزيز فقط عند الركوب على حصان"}},heal:{title:"إنعاش",myself:{title:"نفسي",label:"يعيد صحتك",success_0:"!شفاء الكل",success_1:"سوف تشعر بشعور جيد الآن",success_2:"أنت الآن بصحة ممتازة",success_3:"تم اصلاح الخدشات"},everyone:{title:"الجميع",label:"سيشفي وينعش كل اللاعبين",success:"تم شفاء وإحياء جميع اللاعبين"}},announcement:{title:"إرسال إعلان",label:"إرسال إعلان لجميع اللاعبين",dialog_desc:"..إرسال إعلان لجميع اللاعبين",dialog_placeholder:"... اعلانك",dialog_success:"تم إرسال الإعلان بنجاح"},clear_area:{title:"إعادة تعيين منطقة العالم",label:"إعادة تعيين منطقة عالمية محددة إلى حالتها الافتراضية",dialog_desc:".الرجاء إدخال النطاق الذي ترغب في إعادة تعيين الكيانات فيه (0-300). لن يؤدي هذا إلى مسح الكيانات الناتجة من جانب الخادم",dialog_success:"%{radius}m منطقة المقاصة بنصف قطر",dialog_error:".إدخال نصف قطر غير صالح. حاول ثانية"},player_ids:{title:"اظهار المعروف الاعبين",label:"قم باظهار معرفات اللاعب (والمعلومات الأخرى) فوق رأس كل اللاعبين القريبين",alert_show:".لاعب مجاور NetIDs يتم عرض",alert_hide:".لاعب قريب NetIDs إخفاء"}},page_players:{misc:{online_players:"اللاعبين المتصلين",players:"لاعب",search:"بحث",zero_players:"لم يتم العثور على لاعبين"},filter:{label:"تصفية حسب",no_filter:"بدون تصفية",is_admin:"مسؤول",is_injured:"مصاب / ميت",in_vehicle:"في مركبة"},sort:{label:"ترتيب حسب",distance:"مسافة",id:"الرقم بالسيرفر",joined_first:"انضم أولا",joined_last:"انضم اخرا",closest:"الأقرب",farthest:"ابعد"},card:{health:"%{percentHealth}% الدم"}},player_modal:{misc:{error:":حدث خطأ أثناء جلب تفاصيل هؤلاء المستخدمين. الخطأ موضح أدناه",target_not_found:"%{target} تعذر العثور على لاعب بمعرف أو اسم مستخدم"},tabs:{actions:"أجراءات",info:"معلومات",ids:"IDs",history:"تاريخ",ban:"حظر"},actions:{title:"إجراءات اللاعب",command_sent:"!تم إرسال الأمر",moderation:{title:"Moderation",options:{dm:"خاص",warn:"حذر",kick:"طرد",set_admin:"تعيين كمسؤول"},dm_dialog:{title:"رسالة مباشرة",description:"ما هو سبب المراسلة المباشرة لهذا اللاعب؟",placeholder:"...سبب",success:"!تم إرسال رسالة الخاص بك"},warn_dialog:{title:"تحذير",description:"ما سبب الإنذار المباشر لهذا اللاعب؟",placeholder:"...سبب",success:"!تم تحذير اللاعب"},kick_dialog:{title:"طرد",description:"ما سبب طرد هذا اللاعب؟",placeholder:"...سبب",success:"تم طرد اللاعب!"}},interaction:{title:"تفاعل",options:{heal:"شفاء",go_to:"انتقل للاعب",bring:"احضر اللاعب",spectate:"مراقبة اللاعب",toggle_freeze:"تفعيل/تعطيل التجميد"},notifications:{heal_player:"تم الشفاء لاعب",tp_player:"ذهبت الى لاعب",bring_player:"احضرت لاعب",spectate_failed:".فشل في حل الهدف! خروج الطيف",spectate_yourself:".لا يمكنك مشاهدة نفسك",freeze_yourself:".لا يمكنك تجميد نفسك",spectate_cycle_failed:".لا يوجد لاعبين"}},troll:{title:"المزاح",options:{drunk:"اجعل اللاعب سكران",fire:"قم بإحراق اللاعب",wild_attack:"قم بإطلاق هجوم بري على اللاعب"}}},info:{title:"معلومات اللاعب",session_time:"وقت الجلسة",play_time:"وقت اللعب",joined:"انضم",whitelisted_label:"في القائمة",whitelisted_notyet:"ليس بعد",btn_wl_add:"اضف الى القائمة",btn_wl_remove:"حذف من القائمة",btn_wl_success:"تم تغير معلوماته في القائمة",log_label:"سجل",log_empty:".لم يتم العثور على حظر او تحذيرات",log_ban_count:"%{smart_count} حظر |||| %{smart_count} حظر",log_warn_count:"%{smart_count} تحذيرات |||| %{smart_count} تحذيرات",log_btn:"تفاصيل",notes_changed:".تم تغيير ملاحظة اللاعب",notes_placeholder:"... ملاحظات حول هذا اللاعب"},history:{title:"التاريخ ذو الصلة",btn_revoke:"سحب او إبطال",revoked_success:"تم إبطال الإجراء!",banned_by:"%{author} محظور من قبل",warned_by:"%{author} حذر من قبل",revoked_by:".%{author} أبطله من قبل",expired_at:".%{date} انتهت في",expires_at:".%{date} تنتهي في"},ban:{title:"لاعب المحظور",reason_placeholder:"سبب",duration_placeholder:"مدة",hours:"ساعات",days:"أيام",weeks:"أسابيع",months:"شهور",permanent:"دائم",custom:"مخصص",helper_text:"الرجاء تحديد المدة",submit:"نأكيد الحظر",reason_required:".السبب مطلوب",success:"!تم حظر لاعب"},ids:{current_ids:"المعرفات الحالية",previous_ids:"المعرفات المستخدمة سابقًا",all_hwids:"كافة معرفات الأجهزة"}}}};var bg_default={$meta:{label:"Bulgarian",humanizer_language:"bg"},restarter:{server_unhealthy_kick_reason:"сървърът трябва да бъде рестартиран, моля, свържете се отново",partial_hang_warn:"Поради частично засичане, сървърът ще се рестартира след 1 минута. Моля излезте сега.",partial_hang_warn_discord:"Поради частично засичане, **%{servername}** ще се рестартира след 1 минута.",schedule_reason:"Планирано рестартиране в %{time}",schedule_warn:"Сървърът е планиран да се рестартира след %{smart_count} минути. Моля излезте сега. |||| Сървърът е планиран да се рестартира след %{smart_count} минути.",schedule_warn_discord:"**%{servername}** ще се рестартира след %{smart_count} минути. |||| **%{servername}** ще се рестартира след %{smart_count} минути."},kick_messages:{everyone:"Всички играчи бяха изритани: %{reason}.",player:"Вие бяхте изритан: %{reason}.",unknown_reason:"по неизвестна причина"},ban_messages:{kick_temporary:'(%{author}) Вие бяхте баннат: "%{reason}". Твоята забрана ще изтече след: %{expiration}.',kick_permanent:'(%{author}) Вие бяхте перманентно баннат от този сървър с причина: "%{reason}".',reject:{title_permanent:"Вие бяхте перманентно баннат от този сървър.",title_temporary:"Вие бяхте временно баннат от този сървър.",label_expiration:"Твоят бан ще изтече след",label_date:"Дата на бан",label_author:"Баннат от",label_reason:"Причина на бана",label_id:"Бан ID",note_multiple_bans:"Забележка: Имате повече от един активен бан на вашите идентификатори.",note_diff_license:"Забележка: Горния бан е приложен за друг <code>license</code>, което означава че някои от твоите ID-та/HWID-та съответстват на тези, свързани с този бан."}},whitelist_messages:{admin_only:{mode_title:"Сървърът е в <strong>Администраторски</strong> режим.",insufficient_ids:"Вие нямате <code>discord</code> или <code>fivem</code> идентификатори, и поне един от тях трябва да потвърди дали сте txAdmin администратор.",deny_message:"Вашите идентификатори не са присвоени на нито един администратор на txAdmin."},guild_member:{mode_title:"Сървърът е в <strong>Discord server Member Whitelist</strong> режим.",insufficient_ids:"Вие не разполагате с <code>discord</code> идентификатор, което се изисква за валидиране, ако сте се присъединили към нашия Discord сървър. Моля, отворете десктоп приложението Discord и опитайте отново (уеб приложението няма да работи).",deny_title:"От вас се изисква да се присъедините към нашия Discord сървър, за да се свържете.",deny_message:"Моля влезте в discord сървъра %{guildname} и опитайте отново."},guild_roles:{mode_title:"Сървърът е в <strong>Discord Role Whitelist</strong> режим.",insufficient_ids:"Вие не разполагате с <code>discord</code> идентификатор, което се изисква за валидиране, ако сте се присъединили към нашия Discord сървър. Моля, отворете десктоп приложението Discord и опитайте отново (уеб приложението няма да работи).",deny_notmember_title:"От вас се изисква да се присъедините към нашия Discord сървър, за да се свържете.",deny_notmember_message:"Моля влезте в %{guildname}, вземете една от необходимите роли, след което опитайте отново.",deny_noroles_title:"Нямате роля в белия списък, необходима за присъединяване.",deny_noroles_message:"За да се присъедините към този сървър, трябва да имате поне една от ролите в белия списък в Discord сървъра %{guildname}."},approved_license:{mode_title:"Сървърът е в <strong>License Whitelist</strong> режим.",insufficient_ids:"Вие не разполагате с <code>license</code> идентификатор, което означава, че сървърът има <code>sv_lan</code> активиран. Ако сте собственик на сървъра, можете да го деактивирате в <code>server.cfg</code> файла.",deny_title:"Не сте в белия списък за присъединяване към този сървър.",request_id_label:"ID Заявка"}},server_actions:{restarting:"Сървърът се рестартира, (%{reason}).",restarting_discord:"**%{servername}** се рестартира, (%{reason}).",stopping:"Сървърът е спрян, (%{reason}).",stopping_discord:"**%{servername}** сървърът се спира, (%{reason}).",spawning_discord:"**%{servername}** е пуснат."},nui_warning:{title:"ПРЕДУПРЕЖДЕНИЕ",warned_by:"Предупреден от:",stale_message:"Това предупреждение беше издадено преди да се свържете със сървъра.",dismiss_key:"SPACE",instruction:"Задръж %{key} за %{smart_count} секунда, за да махнеш предупреждението. |||| Задръж %{key} за %{smart_count} секунди, за да махнеш предупреждението."},nui_menu:{misc:{help_message:"txAdmin менюто е включено, напиши /tx, за да го отвориш.\nМоже също да го конфигурирате с копче в [Game Settings > Key Bindings > FiveM > Menu: Open Main Page].",menu_not_admin:"Твоите идентификатори не са съвместими с тези, които са регистрирани в txAdmin.\nАко си регистриран в txAdmin, отиди в Admin Manager и се увери, че идентификаторите са запазиени.",menu_auth_failed:"Удостоверяването на txAdmin менюто е неуспешно по причина: %{reason}",no_perms:"Нямаш правомощията за това.",unknown_error:"Възникна неизвестна грешка..",not_enabled:"txAdmin менюто не е включено! Може да го включиш чрез настройките на txAdmin.",announcement_title:"Сървърно съобщение от %{author}:",dialog_empty_input:"Полето е празно.",directmessage_title:"ЛС от администратор %{author}:",onesync_error:"Това действие изисква OneSync да бъде включен."},frozen:{froze_player:"Ти замрази играч!",unfroze_player:"Ти отмрази играч!",was_frozen:"Ти беше замразен от сървърен администратор!"},common:{cancel:"Откажи",submit:"Потвърди",error:"Грешка!",copied:"Копирано."},page_main:{tooltips:{tooltip_1:"Използвай %{key} за да навигираш из страниците и из менюто.",tooltip_2:"Определени менюта имат свои опции, които могат да бъдат селектирани с лява и дясна стрелка."},player_mode:{title:"Игрален Режим",noclip:{title:"NoClip",label:"Включи режимът NoClip, с което ще си позволиш да минаваш през стени и други обекти.",success:"Режим NoClip е включен"},godmode:{title:"Безсмъртие",label:"Включи ремижът на безсмъртие, предпазвайки те от умиране.",success:"Безсмъртието е включено."},superjump:{title:"Супер скок",label:"Превключете режима на супер скок, играчът също ще тича по-бързо",success:"Активиран Супер скок"},normal:{title:"Нормално",label:"Връща те към нормалният игрален режим, позволявайки да умреш.",success:"Върнат към нормален игрален режим."}},teleport:{title:"Телепорт",generic_success:"Успешно изпращане в червеевата дупка!",waypoint:{title:"Tочка на карта",label:"Телпортирай се до точка зададена на картата.",error:"Нямаш зададена точка на картата."},coords:{title:"Координати",label:"Телепортирай се до определени координати.",dialog_title:"Телепорт",dialog_desc:"Задай координати в полето за писане във вариант; x, y, z за да преминеш през червеевата дупка.",dialog_error:"Инвалидни координати. Трябва да бъдат във вариант: 111, 222, 33"},back:{title:"Върни се",label:"Връщаш се към последната локация, съвместима с последното телепортиране.",error:"Нямаш последна локация, към която можеш да се телепортираш!"},copy:{title:"Копирай координати",label:"Копирай текущите координати."}},vehicle:{title:"Автомобил",not_in_veh_error:"Не си в автомобил!",spawn:{title:"Създай",label:"Създай автомобил чрез моделното ѝ име.",dialog_title:"Създай автомобил",dialog_desc:"Напиши моделът на автомобила който искаш да създадеш.",dialog_success:"Автомобила беше създаден успешно!",dialog_error:"Автомобила с моделно име '%{modelName}' не съществува!",dialog_info:"Опитваш се да създадеш %{modelName}."},fix:{title:"Поправи",label:"Ще поправи автомобила в който си.",success:"Автомобила е поправен!"},delete:{title:"Изтрий",label:"Изтриване на автомобила в които се намираш.",success:"Автомобила е изтрит!"},boost:{title:"Boost",label:"Boost-нете автомобила, за да постигнете максимално удоволствие (и може би скорост)",success:"Автомобила беше boost-нат!",already_boosted:"Този автомобил вече е boost-нат.",unsupported_class:"Този клас превозно средство не се поддържа.",redm_not_mounted:"Можете да boost-вате само когато яздите кон."}},heal:{title:"Излекувай",myself:{title:"Себе си",label:"Ще напълни кръвта на моделът 'пед' с който играеш.",success_0:"Излекуван!",success_1:"Трябва да се чувстваш.. по-добре?",success_2:"Напълнен на максимум!",success_3:"Болките вече ги няма!"},everyone:{title:"Всички",label:"Ще излекува & съживи всички свързани играчи.",success:"Всички играчи бяха излекувани и съживени."}},announcement:{title:"Изпрати съобщение",label:"Изпрати съобщение до всички онлайн играчи.",dialog_desc:"Напиши съобщението което искаш да изпратиш до всички онлайн играчи.",dialog_placeholder:"Твоето съобщение...",dialog_success:"Изпращане на съобщение."},clear_area:{title:"Рестартирай зона",label:"Рестартирай специфична зона.",dialog_desc:"Въведи радиус от който искаш да рестартираш (0-300). Това няма да изтрие неща, които са създадени от сървърът.",dialog_success:"Изчистване на зона от радиус - %{radius}m",dialog_error:"Невалиден радиус. Опитай отново."},player_ids:{title:"Покзване на ID-та",label:"Показване на ID-та на играчи (и други неща) над главите на играчите.",alert_show:"Покзване на ID-та в близост.",alert_hide:"Скриване на ID-та в близост."}},page_players:{misc:{online_players:"Онлайн играчи",players:"Играчи",search:"Търси",zero_players:"Няма намерени играчи"},filter:{label:"Филтриране по",no_filter:"Без филтър",is_admin:"Е администратор",is_injured:"Е Ранен / Мъртъв",in_vehicle:"В превозно средство"},sort:{label:"Сортирай",distance:"Дистанция",id:"ID",joined_first:"Влязъл първи",joined_last:"Влязъл последен",closest:"В близост",farthest:"В далечност"},card:{health:"%{percentHealth}% кръв"}},player_modal:{misc:{error:"Възникна грешка, когато се поитваем да извлечем списъкът с играчи. Грешката е показана по-долу:",target_not_found:"Не можахме да намерим играч с ID или име на %{target}"},tabs:{actions:"Действия",info:"Информация",ids:"ID",history:"История",ban:"Бан"},actions:{title:"Административни опции",command_sent:"Командата успешна!",moderation:{title:"Модериране",options:{dm:"ЛС",warn:"Предупреди",kick:"Изритай",set_admin:"Дай права"},dm_dialog:{title:"ЛС",description:"Каква е причината, за изпращане на лично съобщение до играча?",placeholder:"Причина...",success:"Твоето съобщение беше изпратено!"},warn_dialog:{title:"Предупреди",description:"Каква е причината, за да предупредиш този играч?",placeholder:"Причина...",success:"Играчът беше предупреден!"},kick_dialog:{title:"Изритай",description:"Каква е причината за изгонването на този играч?",placeholder:"Причина...",success:"Играчът беше изритан от сървъра!"}},interaction:{title:"Взаимодействие",options:{heal:"Излекувай",go_to:"Отиди до",bring:"Доведи",spectate:"Наблюдавай",toggle_freeze:"Замръзи"},notifications:{heal_player:"Излекуване на играч",tp_player:"Телепортиране до играч",bring_player:"Телепортиране на играч до теб",spectate_failed:"Не успешно наблюдаване! Излизане от наблюдение.",spectate_yourself:"Не можеш да наблюдаваш себе си.",freeze_yourself:"Не можеш да замръзиш себе си.",spectate_cycle_failed:"Няма играчи, към които да се движите."}},troll:{title:"Трол",options:{drunk:"Пиян Ефект",fire:"Запали",wild_attack:"Атака от диви животни"}}},info:{title:"Информация за играч",session_time:"Игрално време",play_time:"Цяло игрално Време",joined:"Влязъл",whitelisted_label:"В белия списък",whitelisted_notyet:"все още не",btn_wl_add:"ДОБАВИ БС",btn_wl_remove:"ПРЕМАХНЕТЕ БС",btn_wl_success:"Състоянието на белия списък е променено.",log_label:"Log",log_empty:"Няма намерени банове/предупреждения.",log_ban_count:"%{smart_count} бан |||| %{smart_count} банове",log_warn_count:"%{smart_count} предупреждение |||| %{smart_count} предупреждения",log_btn:"ПОДРОБНОСТИ",notes_changed:"Бележката на играча е променена.",notes_placeholder:"Бележки за този играч..."},history:{title:"История на Бановете...",btn_revoke:"ОТМЕНИ",revoked_success:"Действието е отменено!",banned_by:"БАННАТ от %{author}",warned_by:"ПРЕДУПРЕДЕН от %{author}",revoked_by:"Отменено от %{author}.",expired_at:"Изтекъл на %{date}.",expires_at:"Изтича на %{date}."},ban:{title:"Банни играч",reason_placeholder:"Причина",duration_placeholder:"Продължителност",hours:"Часа",days:"Дни",weeks:"Седмици",months:"Месеци",permanent:"Перманентно",custom:"Персонализирано",helper_text:"Моля избери продължителност",submit:"Приложи бан",reason_required:"Полето Причина е задължително.",success:"Играчът е баннат!"},ids:{current_ids:"Текущи идентификатори",previous_ids:"Използвани преди това идентификатори",all_hwids:"Всички хардуерни ID-та"}}}};var bs_default={$meta:{label:"Bosnian",humanizer_language:"en"},restarter:{server_unhealthy_kick_reason:"server treba restartovati, molim te ponovo se poveži",partial_hang_warn:"Due to a partial hang, this server will restart in 1 minute. Please disconnect now.",partial_hang_warn_discord:"Due to a partial hang, **%{servername}** will restart in 1 minute.",schedule_reason:"restart je zakazan za %{time}",schedule_warn:"Ovaj server je zakazan da se restarta za %{smart_count} minutu. Molim vas se isključitite. |||| Ovaj server ce se restartovati za %{smart_count} minuta.",schedule_warn_discord:"**%{servername}** restarta se za %{smart_count} minutu. |||| **%{servername}** restarta se za %{smart_count} minuta."},kick_messages:{everyone:"All players kicked: %{reason}.",player:"You have been kicked: %{reason}.",unknown_reason:"for unknown reason"},ban_messages:{kick_temporary:'(%{author}) Zabranjen vam je pristup ovom serveru zbog "%{reason}". Vaša zabrana istječe za: %{expiration}.',kick_permanent:'(%{author}) Zabranjen vam je pristup ovom serveru za uvjek zbog "%{reason}".',reject:{title_permanent:"You have been permanently banned from this server.",title_temporary:"You have been temporarily banned from this server.",label_expiration:"Your ban will expire in",label_date:"Ban Date",label_author:"Banned by",label_reason:"Ban Reason",label_id:"Ban ID",note_multiple_bans:"Note: you have more than one active ban on your identifiers.",note_diff_license:"Note: the ban above was applied for another <code>license</code>, which means some of your IDs/HWIDs match the ones associated with that ban."}},whitelist_messages:{admin_only:{mode_title:"This server is in <strong>Admin-only</strong> mode.",insufficient_ids:"You do not have <code>discord</code> or <code>fivem</code> identifiers, and at least one of them is required to validate if you are a txAdmin administrator.",deny_message:"Your identifiers are not assigned to any txAdmin administrator."},guild_member:{mode_title:"This server is in <strong>Discord server Member Whitelist</strong> mode.",insufficient_ids:"You do not have the <code>discord</code> identifier, which is required to validate if you have joined our Discord server. Please open the Discord Desktop app and try again (the Web app won't work).",deny_title:"You are required to join our Discord server to connect.",deny_message:"Please join the guild %{guildname} then try again."},guild_roles:{mode_title:"This server is in <strong>Discord Role Whitelist</strong> mode.",insufficient_ids:"You do not have the <code>discord</code> identifier, which is required to validate if you have joined our Discord server. Please open the Discord Desktop app and try again (the Web app won't work).",deny_notmember_title:"You are required to join our Discord server to connect.",deny_notmember_message:"Please join %{guildname}, get one of the required roles, then try again.",deny_noroles_title:"You do not have a whitelisted role required to join.",deny_noroles_message:"To join this server you are required to have at least one of the whitelisted roles on the guild %{guildname}."},approved_license:{mode_title:"This server is in <strong>License Whitelist</strong> mode.",insufficient_ids:"You do not have the <code>license</code> identifier, which means the server has <code>sv_lan</code> enabled. If you are the server owner, you can disable it in the <code>server.cfg</code> file.",deny_title:"You are not whitelisted to join this server.",request_id_label:"Request ID"}},server_actions:{restarting:"Server se restartuje: (%{reason}).",restarting_discord:"**%{servername}** se restarta zbog: (%{reason}).",stopping:"Server je bio zaustavljien: (%{reason}).",stopping_discord:"**%{servername}** se gasi: (%{reason}).",spawning_discord:"**%{servername}** se pali"},nui_warning:{title:"WARNING",warned_by:"Vas je upozorio",stale_message:"Ovo upozorenje je izdato prije nego što ste se povezali na server.",dismiss_key:"SPACE",instruction:"držite %{key} %{smart_count} sekundu da vam se skine ova poruka. |||| držite %{key} %{smart_count} sekundi da vam se skine ova poruka."},nui_menu:{misc:{help_message:"txAdmin Menu enabled, type /tx to open it.\nYou can also configure a keybind at [Game Settings > Key Bindings > FiveM > Menu: Open Main Page].",menu_not_admin:"Your identifiers do not match any admin registered on txAdmin.\nIf you are registered on txAdmin, go to Admin Manager and make sure your identifiers are saved.",menu_auth_failed:"txAdmin Menu authentication failed with reason: %{reason}",no_perms:"You do not have this permission.",unknown_error:"An unknown error occurred.",not_enabled:"The txAdmin Menu is not enabled! You can enable it in the txAdmin settings page.",announcement_title:"Server Announcement by %{author}:",dialog_empty_input:"You cannot have an empty input.",directmessage_title:"DM from admin %{author}:",onesync_error:"This action requires OneSync to be enabled."},frozen:{froze_player:"You have frozen the player!",unfroze_player:"You have unfrozen the player!",was_frozen:"You have been frozen by a server admin!"},common:{cancel:"Cancel",submit:"Submit",error:"An error occurred",copied:"Copied to clipboard."},page_main:{tooltips:{tooltip_1:"Use %{key} to switch pages & the arrow keys to navigate menu items",tooltip_2:"Certain menu items have sub options which can be selected using the left & right arrow keys"},player_mode:{title:"Player Mode",noclip:{title:"NoClip",label:"Fly around",success:"NoClip enabled"},godmode:{title:"God",label:"Invincible",success:"God Mode enabled"},superjump:{title:"Super Jump",label:"Toggle super jump mode, the player will also run faster",success:"Super Jump enabled"},normal:{title:"Normal",label:"Default mode",success:"Returned to default player mode."}},teleport:{title:"Teleport",generic_success:"Sent you into the wormhole!",waypoint:{title:"Waypoint",label:"Go to waypoint set",error:"You have no waypoint set."},coords:{title:"Coords",label:"Go to specified coords",dialog_title:"Teleport",dialog_desc:"Provide coordinates in an x, y, z format to go through the wormhole.",dialog_error:"Invalid coordinates. Must be in the format of: 111, 222, 33"},back:{title:"Back",label:"Go back to last location",error:"You don't have a last location to go back to!"},copy:{title:"Copy Coords",label:"Copy coords to clipboard."}},vehicle:{title:"Vehicle",not_in_veh_error:"You are not currently in a vehicle!",spawn:{title:"Spawn",label:"Spawn vehicle by model name",dialog_title:"Spawn vehicle",dialog_desc:"Enter in the model name of the vehicle you want to spawn.",dialog_success:"Vehicle spawned!",dialog_error:"The vehicle model name '%{modelName}' does not exist!",dialog_info:"Trying to spawn %{modelName}."},fix:{title:"Fix",label:"Fix the current vehicle",success:"Vehicle fixed!"},delete:{title:"Delete",label:"Delete the current vehicle",success:"Vehicle deleted!"},boost:{title:"Boost",label:"Boost the car to achieve max fun (and maybe speed)",success:"Vehicle boosted!",already_boosted:"This vehicle was already boosted.",unsupported_class:"This vehicle class is not supported.",redm_not_mounted:"You can only boost when mounted on a horse."}},heal:{title:"Heal",myself:{title:"Myself",label:"Restores your health",success_0:"All healed up!",success_1:"You should be feeling good now!",success_2:"Restored to full!",success_3:"Ouchies fixed!"},everyone:{title:"Everyone",label:"Will heal & revive all players",success:"Healed and revived all players."}},announcement:{title:"Send Announcement",label:"Send an announcement to all online players.",dialog_desc:"Send an announcement to all online players.",dialog_placeholder:"Your announcement...",dialog_success:"Sending the announcement."},clear_area:{title:"Reset World Area",label:"Reset a specified world area to its default state",dialog_desc:"Please enter the radius where you wish to reset entities in (0-300). This will not clear entities spawned server side.",dialog_success:"Clearing area with radius of %{radius}m",dialog_error:"Invalid radius input. Try again."},player_ids:{title:"Toggle Player IDs",label:"Toggle showing player IDs (and other info) above the head of all nearby players",alert_show:"Showing nearby player NetIDs.",alert_hide:"Hiding nearby player NetIDs."}},page_players:{misc:{online_players:"Online Players",players:"Players",search:"Search",zero_players:"No players found."},filter:{label:"Filter by",no_filter:"No Filter",is_admin:"Is Admin",is_injured:"Is Injured / Dead",in_vehicle:"In Vehicle"},sort:{label:"Sort by",distance:"Distance",id:"ID",joined_first:"Joined First",joined_last:"Joined Last",closest:"Closest",farthest:"Farthest"},card:{health:"%{percentHealth}% health"}},player_modal:{misc:{error:"An error occurred fetching this users details. The error is shown below:",target_not_found:"Was unable to find an online player with ID or a username of %{target}"},tabs:{actions:"Actions",info:"Info",ids:"IDs",history:"History",ban:"Ban"},actions:{title:"Player Actions",command_sent:"Command sent!",moderation:{title:"Moderation",options:{dm:"DM",warn:"Warn",kick:"Kick",set_admin:"Give Admin"},dm_dialog:{title:"Direct Message",description:"What is the reason for direct messaging this player?",placeholder:"Reason...",success:"Your DM has been sent!"},warn_dialog:{title:"Warn",description:"What is the reason for direct warning this player?",placeholder:"Reason...",success:"Player warned!"},kick_dialog:{title:"Kick",description:"What is the reason for kicking this player?",placeholder:"Reason...",success:"Player kicked!"}},interaction:{title:"Interaction",options:{heal:"Heal",go_to:"Go to",bring:"Bring",spectate:"Spectate",toggle_freeze:"Toggle Freeze"},notifications:{heal_player:"Healing player",tp_player:"Teleporting to player",bring_player:"Summoning player",spectate_failed:"Failed to resolve the target! Exiting spectate.",spectate_yourself:"You cannot spectate yourself.",freeze_yourself:"You cannot freeze yourself.",spectate_cycle_failed:"There are no players to cycle to."}},troll:{title:"Troll",options:{drunk:"Make Drunk",fire:"Set Fire",wild_attack:"Wild attack"}}},info:{title:"Player info",session_time:"Session Time",play_time:"Play time",joined:"Joined",whitelisted_label:"Whitelisted",whitelisted_notyet:"not yet",btn_wl_add:"ADD WL",btn_wl_remove:"REMOVE WL",btn_wl_success:"Whitelist status changed.",log_label:"Log",log_empty:"No bans/warns found.",log_ban_count:"%{smart_count} ban |||| %{smart_count} bans",log_warn_count:"%{smart_count} warn |||| %{smart_count} warns",log_btn:"DETAILS",notes_changed:"Player note changed.",notes_placeholder:"Notes about this player..."},history:{title:"Related history",btn_revoke:"REVOKE",revoked_success:"Action revoked!",banned_by:"BANNED by %{author}",warned_by:"WARNED by %{author}",revoked_by:"Revoked by %{author}.",expired_at:"Expired at %{date}.",expires_at:"Expires at %{date}."},ban:{title:"Ban player",reason_placeholder:"Reason",duration_placeholder:"Duration",hours:"hours",days:"days",weeks:"weeks",months:"months",permanent:"Permanent",custom:"Custom",helper_text:"Please select a duration",submit:"Apply ban",reason_required:"The Reason field is required.",success:"Player banned!"},ids:{current_ids:"Current Identifiers",previous_ids:"Previously Used Identifiers",all_hwids:"All Hardware IDs"}}}};var cs_default={$meta:{label:"Czech",humanizer_language:"cs"},restarter:{server_unhealthy_kick_reason:"server je třeba restartovat, prosím, připoj se znovu",partial_hang_warn:"Kvůli částečnému přerušení připojení se tento server restartuje za 1 minutu. Odpojte se prosím.",partial_hang_warn_discord:"Kvůli částečnému přerušení připojení se **%{servername}** restartuje za 1 minutu.",schedule_reason:"plánovaný restart v %{time}",schedule_warn:"Tento server má naplánovaný restart za %{smart_count} minutu. Prosím odpojte se nyní. |||| Tento server má naplánovaný restart za %{smart_count} minut.",schedule_warn_discord:"**%{servername}** má naplánovaný restart za %{smart_count} minutu. |||| **%{servername}** má naplánovaný restart za %{smart_count} minut."},kick_messages:{everyone:"All players kicked: %{reason}.",player:"You have been kicked: %{reason}.",unknown_reason:"for unknown reason"},ban_messages:{kick_temporary:'(%{author}) Byl jsi zabanován z důvodu: "%{reason}". Tvůj ban vyprší za: %{expiration}.',kick_permanent:'(%{author}) Byl ti permanentně odebrán přístup k serveru a to z důvodu: "%{reason}".',reject:{title_permanent:"Byl jsi permanentně zabanován z tohoto serveru.",title_temporary:"Byl jsi dočasně zabanován z tohoto serveru.",label_expiration:"Tvůj ban vyprší za",label_date:"Datum udělení",label_author:"Admin, který ti ban udělil",label_reason:"Důvod banu",label_id:"ID Banu",note_multiple_bans:"Poznámka: Tvoje identifiery mají více aktivních banů.",note_diff_license:"Poznámka: Tento ban byl udělen na herní <code>licenci</code>, což znamená že tvoje IDs/HWIDs se shodují s aktivním banem."}},whitelist_messages:{admin_only:{mode_title:"Tento server je v režimu <strong>Pouze pro Adminy</strong>.",insufficient_ids:"Nemáš žádné <code>discord</code> nebo <code>fivem</code> identifiery, který je potřeba pro ověření, zda jsi txAdmin admin.",deny_message:"Tvé identifiery se neschodují s žádným identifierem admina."},guild_member:{mode_title:"Tento server je v režimu pro <strong>Discord Členy</strong>.",insufficient_ids:"Nemáš vhodný <code>discord</code> identifier, který je potřeba pro ověření, zda jsi na našem Discord serveru. Otevři Discord aplikaci a zkus se připojit znovu (Webová verze nebude fungovat).",deny_title:"Musíš být na našem Discord serveru pro připojení.",deny_message:"Připoj se prosím na %{guildname} a zkus to znovu."},guild_roles:{mode_title:"Tento server je v režimu <strong>Discord Whitelist</strong>.",insufficient_ids:"Nemáš vhodný <code>discord</code> identifier, který je potřeba pro ověření, zda jsi na našem Discord serveru. Otevři Discord aplikaci a zkus se připojit znovu (Webová verze nebude fungovat).",deny_notmember_title:"Musíš být na našem Discord serveru.",deny_notmember_message:"Připoj se prosím na %{guildname}, získej jednu s potřebných rolí a připoj se znova.",deny_noroles_title:"Nemáš potřebnou  whitelist roli.",deny_noroles_message:"Pro připojení musíš mít jednu z whitelist rolí na Discord serveru %{guildname}."},approved_license:{mode_title:"Tento server je v režimu <strong>License Whitelist</strong>.",insufficient_ids:"Nemáš žádný <code>license</code> identifier, což znamená že server má zapnutý <code>sv_lan</code>. Pokud jsi vlastník serveru, můžeš toto vypnout v souboru <code>server.cfg</code>.",deny_title:"Nejsi oprávněný pro připojení na tento server.",request_id_label:"ID Žádosti"}},server_actions:{restarting:"Restartování serveru (%{reason}).",restarting_discord:"**%{servername}** se restartuje, z důvodu: %{reason}",stopping:"Server se vypíná, z důvodu: %{reason}",stopping_discord:"**%{servername}** se vypíná. Důvod: %{reason}.",spawning_discord:"**%{servername}** se spouští."},nui_warning:{title:"VAROVÁNÍ",warned_by:"Admin, který tě varoval:",stale_message:"Toto varování bylo vydáno předtím, než jste se připojili k serveru.",dismiss_key:"MEZERNÍK",instruction:"Podrž %{key} po dobu %{smart_count} sekundy pro zavření varování. |||| Podrž %{key} po dobu %{smart_count} sekund pro zavření varování."},nui_menu:{misc:{help_message:"txAdmin Menu povoleno, napiš /tx pro otevření.\nmůžeš také nakonfigurovat bind v [Game Settings > Key Bindings > FiveM > Menu: Open Main Page].",menu_not_admin:"Tvé identifiery se neshodují s identifiery žádného administrátora.\nPokud jsi registrovaný v txAdminu, jdi do sekce Admin Manager a ujisti se, že tvé identifiery jsou uložené.",menu_auth_failed:"txAdmin Menu ověření selhalo, s důvodem: %{reason}",no_perms:"Na tuto možnost nemáš práva.",unknown_error:"Nastala neznámá chyba.",not_enabled:"txAdmin menu není povoleno! Můžeš ho povolit v txAdmin nastavení.",announcement_title:"Server oznámení od %{author}:",dialog_empty_input:"Políčko nemůže být prázdné.",directmessage_title:"Soukromá zpráva od admina %{author}:",onesync_error:"This action requires OneSync to be enabled."},frozen:{froze_player:"Zmrazil jsi hráče!",unfroze_player:"Odmrazil jsi hráče!",was_frozen:"Byl jsi zmrazen administrátorem serveru!"},common:{cancel:"Zrušit",submit:"Potvrdit",error:"Nastala chyba",copied:"Zkopírováno do schránky."},page_main:{tooltips:{tooltip_1:"Použij %{key} pro změnu stránek & šipky pro pohyb v daném menu",tooltip_2:"Některé položky v menu mají další možnosti, které lze vybrat pomocí kláves se šipkami doleva a doprava"},player_mode:{title:"Režim hráče",noclip:{title:"No-Clip",label:"Létání",success:"No-Clip povolen"},godmode:{title:"Nesmrtelnost",label:"Neporazitelnost",success:"Nesmrtelnost povolena"},superjump:{title:"Super Skok",label:"Zapne režim super skoku, s tímto také můžeš rychleji běhat",success:"Super Skok povolen"},normal:{title:"Normální",label:"Základní mód",success:"Navráceno do základního hráčského módu."}},teleport:{title:"Teleportovat se",generic_success:"Teleportovat se!",waypoint:{title:"Bod",label:"Teleportovat se na určený bod",error:"Nemáš určený žádný bod."},coords:{title:"Souřadnice",label:"Teleportovat se na určité souřadnice",dialog_title:"Teleportovat se",dialog_desc:"Zadejte souřadnice ve formátu x, y, z pro teleportaci.",dialog_error:"Neplatné souřadnice. Must be in the format of: 111, 222, 33"},back:{title:"Zpět",label:"Teleportovat se zpět na poslední lokaci",error:"Nemáš žídnou poslední lokaci pro teleportaci!"},copy:{title:"Zkopírovat souřadnice",label:"Zkopírovat souřadnice do schránky."}},vehicle:{title:"Vozidlo",not_in_veh_error:"Momentálně nejsi ve vozidle!",spawn:{title:"Vytvořit",label:"vytvořit vozidlo podle názvu modelu",dialog_title:"Vytvočit vozidlo",dialog_desc:"Vlož název modelu vozidla pro vytvoření.",dialog_success:"Vozidlo vytvořeno!",dialog_error:"Název modelu '%{modelName}' neexistuje!",dialog_info:"Pokoušíš se vytvořit %{modelName}."},fix:{title:"Opravit",label:"Opraví tvé vozidlo",success:"Vozidlo opraveno!"},delete:{title:"Smazat",label:"Smaže tvé vozidlo vozidlo",success:"Vozidlo smazáno!"},boost:{title:"Vylepšení",label:"Vylepší tvé vozidlo pro největší zábavu (a možná rychlost)",success:"Vozidlo vylepšeno!",already_boosted:"Toto vozidlo již je vylepšeno.",unsupported_class:"Typ tohoto vozidla není možný vylepšit.",redm_not_mounted:"Vylepšit svého koně můžeš jen tehdy, když na něm sedíš."}},heal:{title:"Vyléčit",myself:{title:"Sebe",label:"Obnoví tvé životy",success_0:"Vše obnoveno!",success_1:"Nyní by jsi se měl cítit lépe!",success_2:"Obnoveno zpět na maximum!",success_3:"Hotovo!"},everyone:{title:"Všechny",label:"Vyléčí a oživí všechny hráče",success:"Všichni hráči oživeni a vyléčeni."}},announcement:{title:"Odeslat oznámení",label:"Odeslat oznámení všem online hráčům.",dialog_desc:"Odeslat oznámení všem online hráčům.",dialog_placeholder:"Tvé oznámení...",dialog_success:"Odesílání oznámení."},clear_area:{title:"Obnovit oblast",label:"Obnovit určitou oblast do původního stavu",dialog_desc:"Prosím vlož oblast pro obnovení (0-300). Toto nevytvoří entity vytvoření pomocí serveru.",dialog_success:"Obnovuji oblast %{radius}m",dialog_error:"Neplatná oblast. Zkus to prosím znovu."},player_ids:{title:"Zapnout ID hráčů",label:"Zapnout ukazování ID hráčů (a další info) nad hlavou hráčů poblíž",alert_show:"Ukazuji ID hráčů poblíž.",alert_hide:"Skrývám ID hráčů poblíž."}},page_players:{misc:{online_players:"Online hráči",players:"Hráči",search:"Vyhledat",zero_players:"Žádní hráči nenalezeni"},filter:{label:"Filter by",no_filter:"No Filter",is_admin:"Is Admin",is_injured:"Is Injured / Dead",in_vehicle:"In Vehicle"},sort:{label:"Seřadit podle",distance:"Vzdálenosti",id:"ID",joined_first:"Připojený jako první",joined_last:"Připojený jako poslední",closest:"Nejblíže",farthest:"Nejdále"},card:{health:"%{percentHealth}% Životů"}},player_modal:{misc:{error:"Nastala chyba při získávání informací o hráči. Chyba je zobrazena níže:",target_not_found:"Nebylo možné najít on-line hráče se jménem/ID: %{target}"},tabs:{actions:"Akce",info:"Informace",ids:"ID",history:"Historie",ban:"Zabanovat"},actions:{title:"Akce hráčů",command_sent:"Příkaz odeslán!",moderation:{title:"Moderace",options:{dm:"Soukromá zpráva",warn:"Varovat",kick:"Vyhodit",set_admin:"Přidat administrátora"},dm_dialog:{title:"Soukromá zpráva",description:"Důvod odesílání soukromé zprávy",placeholder:"Důvod...",success:"Tvá soukromá zpráva byla odeslána!"},warn_dialog:{title:"Varovat",description:"Důvod varování hráče",placeholder:"Důvod...",success:"Hráč byl varován!"},kick_dialog:{title:"Vyhodit",description:"Důvod vyhození hráče",placeholder:"Důvod...",success:"Hráč byl vyhozen!"}},interaction:{title:"Interakce",options:{heal:"Vyléčit",go_to:"Teleportovat se",bring:"Přinést",spectate:"Pozorovat",toggle_freeze:"Zmrazit"},notifications:{heal_player:"Léčím hráče",tp_player:"Teleportuji k hráči",bring_player:"Přináším hráče",spectate_failed:"Nepodařilo se udržet signál pozorování! Vypínám pozorování.",spectate_yourself:"Nemůžeš pozorovat sebe.",freeze_yourself:"Nemůžeš zmrazit sebe.",spectate_cycle_failed:"Žádní dostupní hráči, na které by se dalo přepnout."}},troll:{title:"Troll",options:{drunk:"Udělat opilým",fire:"Zapálit",wild_attack:"Zaútočit zvířaty"}}},info:{title:"Informace o hráči",session_time:"Čas od připojení",play_time:"Odehraný čas",joined:"Připojeno",whitelisted_label:"Whitelist",whitelisted_notyet:"nemá",btn_wl_add:"PŘIDAT WL",btn_wl_remove:"ODEBRAT WL",btn_wl_success:"Stav whitelistu byl změněn.",log_label:"Log",log_empty:"Žádné bany, či varování.",log_ban_count:"%{smart_count} ban |||| %{smart_count} bany",log_warn_count:"%{smart_count} varování |||| %{smart_count} varování",log_btn:"PODROBNOSTI",notes_changed:"Poznámka o hráči změněna.",notes_placeholder:"Poznámky o tomto hráči..."},history:{title:"Související historie",btn_revoke:"ZRUŠIT",revoked_success:"Akce zrušena!",banned_by:"ZABANOVÁN adminem %{author}",warned_by:"VAROVÁN adminem %{author}",revoked_by:"Zrušeno adminem %{author}.",expired_at:"Vypršelo %{date}.",expires_at:"Vyprší %{date}."},ban:{title:"Zabanovat hráče",reason_placeholder:"Důvod",duration_placeholder:"Délka trvání",hours:"hodiny",days:"dny",weeks:"týdny",months:"měsíce",permanent:"Permanentní",custom:"Vlastní",helper_text:"Vyber délku banu!",submit:"Zabanovat",reason_required:"Důvod nemůže zůstat prázdný.",success:"Hráč byl zabanován!"},ids:{current_ids:"Aktivní identifiery",previous_ids:"Dříve použité identifiery",all_hwids:"Všechny ID hardwaru"}}}};var da_default={$meta:{label:"Danish",humanizer_language:"da"},restarter:{server_unhealthy_kick_reason:"serveren skal genstartes, venligst opret forbindelse igen",partial_hang_warn:"På grund af en delvis hængning genstarter denne server om 1 minut. Afslut venligst forbindelsen nu.",partial_hang_warn_discord:"På grund af en delvis hængning genstarter **%{servername}** om 1 minut.",schedule_reason:"planlagt genstart kl. %{time}",schedule_warn:"Denne server er planlagt til at genstarte om %{smart_count} minut. Afslut venligst forbindelsen nu. |||| Denne server er planlagt til at genstarte om %{smart_count} minutter.",schedule_warn_discord:"**%{servername}** er planlagt til at genstarte om %{smart_count} minut. |||| **%{servername}** er planlagt til at genstarte om %{smart_count} minutter."},kick_messages:{everyone:"Alle spillere blev smidt ud: %{reason}.",player:"Du er blevet smidt ud: %{reason}.",unknown_reason:"af ukendt årsag"},ban_messages:{kick_temporary:'(%{author}) Du er blevet bannet fra denne server på grund af "%{reason}". Dit ban udløber om: %{expiration}.',kick_permanent:'(%{author}) Du er blevet permanent udelukket fra denne server på grund af "%{reason}".',reject:{title_permanent:"Du er blevet permanent bannet fra denne server.",title_temporary:"Du er blevet midlertidigt bannet fra denne server.",label_expiration:"Dit ban udløber om",label_date:"Ban Dato",label_author:"Bannet af",label_reason:"Ban Årsag",label_id:"Ban ID",note_multiple_bans:"Bemærk: Du har mere end én aktiv ban på dine identifikatorer.",note_diff_license:"Bemærk: Bannet ovenfor blev påført en anden <code>licens</code>, hvilket betyder, at nogle af dine IDs/HWIDs matcher dem, der er forbundet med det ban."}},whitelist_messages:{admin_only:{mode_title:"Denne server er i <strong>Kun for admin</strong>-tilstand.",insufficient_ids:"Du har ikke <code>discord</code> eller <code>fivem</code> identifikatorer, og mindst én af dem er påkrævet for at verificere, om du er en txAdmin-administrator.",deny_message:"Dine identifikatorer er ikke tilknyttet nogen txAdmin-administrator."},guild_member:{mode_title:"Denne server er i <strong>Discord server-medlem Whitelist</strong>-tilstand.",insufficient_ids:"Du har ikke <code>discord</code>-identifikatoren, som er påkrævet for at verificere, om du er medlem af vores Discord server. Åbn venligst Discord Desktop-appen og prøv igen (webappen fungerer ikke).",deny_title:"Du skal være medlem af vores Discord server for at oprette forbindelse.",deny_message:"Deltag venligst i guildet %{guildname} og prøv igen."},guild_roles:{mode_title:"Denne server er i <strong>Discord Rolle Whitelist</strong>-tilstand.",insufficient_ids:"Du har ikke <code>discord</code>-identifikatoren, som er påkrævet for at verificere, om du er medlem af vores Discord server. Åbn venligst Discord Desktop-appen og prøv igen (webappen fungerer ikke).",deny_notmember_title:"Du skal være medlem af vores Discord server for at oprette forbindelse.",deny_notmember_message:"Deltag venligst i %{guildname}, få en af de påkrævede roller, og prøv igen.",deny_noroles_title:"Du har ikke en whitelisted rolle, der kræves for at deltage.",deny_noroles_message:"For at deltage på denne server kræves det, at du har mindst en af de whitelistede roller på guildet %{guildname}."},approved_license:{mode_title:"Denne server er i <strong>Licens Whitelist</strong>-tilstand.",insufficient_ids:"Du har ikke <code>license</code>-identifikatoren, hvilket betyder, at serveren har <code>sv_lan</code> aktiveret. Hvis du er serverejeren, kan du deaktivere det i <code>server.cfg</code>-filen.",deny_title:"Du er ikke whitelisted til at deltage i denne server.",request_id_label:"Anmodnings-ID"}},server_actions:{restarting:"Serveren genstarter: (%{reason}).",restarting_discord:"**%{servername}** genstarter: (%{reason}).",stopping:"Serveren er stoppet (%{reason}).",stopping_discord:"**%{servername}** er lukket ned: (%{reason}).",spawning_discord:"**%{servername}** starter."},nui_warning:{title:"ADVARSEL",warned_by:"Advarsel afsendt fra:",stale_message:"Denne advarsel blev udsendt, før du tilsluttede dig serveren.",dismiss_key:"MELLEMRUM",instruction:"Hold %{key} nede i %{smart_count} sekund for at afvise denne meddelelse. |||| Hold %{key} nede i %{smart_count} sekunder for at afvise denne meddelelse."},nui_menu:{misc:{help_message:"txAdmin Menu aktiveret, skriv /tx for at åbne den.\nDu kan også konfigurere egne keybinds under [Spilindstillinger > Nøglebindinger > FiveM > Menu: Åbn hovedside].",menu_not_admin:"Dine identifikatorer matcher ikke nogen admin registreret på txAdmin.\nHvis du er registreret på txAdmin, skal du gå til Admin Manager og sørge for, at dine identifikatorer er gemt.",menu_auth_failed:"txAdmin Menu authentication failed with reason: %{reason}",no_perms:"Du har ikke denne tilladelse.",unknown_error:"Der opstod en ukendt fejl.",not_enabled:"txAdmin-menuen er ikke aktiveret! Det kan du fra txAdmin-panelet.",announcement_title:"Servermeddelelse sendt af %{author}:",directmessage_title:"DM fra admin %{author}:",dialog_empty_input:"Der mangler input.",onesync_error:"Denne handling kræver, at OneSync er aktiveret."},frozen:{froze_player:"Du har frosset spilleren fast!",unfroze_player:"Du har frigivet spilleren!",was_frozen:"Du er blevet frosset, af en serveradministrator!"},common:{cancel:"Anullér",submit:"Indsend",error:"Der opstod en fejl",copied:"Kopiéret til udklipsholderen."},page_main:{tooltips:{tooltip_1:"Brug %{key} for at skifte side, piletasterne for at navigere i menupunkter",tooltip_2:"Bemærk der findes underkategorier, brug venstre eller højre piletaster"},player_mode:{title:"Spillertilstand",noclip:{title:"NoClip",label:"Flyv rundt",success:"NoClip aktiveret"},godmode:{title:"Gud",label:"Uovervindelig",success:"Gud tilstand aktiveret"},superjump:{title:"Super hop",label:"Toggle super hop tilstand, spilleren vil noget hurtigere...",success:"Super hop aktiveret"},normal:{title:"Normal",label:"Normal tilstand",success:"Du er vendt tilbage til alm. tilstand."}},teleport:{title:"Teleport",generic_success:"Der røg du igennem ormehullet!",waypoint:{title:"Waypoint",label:"Gå til- gps lokation",error:"Der mangler en gps lokation."},coords:{title:"Koordinater",label:"Gå til - angivne koordinater",dialog_title:"Teleportér",dialog_desc:"Angiv koordinater i et x-, y-, z-format for at gå gennem ormehullet.",dialog_error:"Ugyldige koordinater. Skal være i formatet: 111, 222, 33"},back:{title:"Tilbage",label:"Gå tilbage til sidste placering",error:"Du har ikke et sidste sted at gå tilbage til!"},copy:{title:"Kopier koordinater",label:"Kopiér koordinater til udklipsholder."}},vehicle:{title:"Køretøj",not_in_veh_error:"Du mangler et køretøj!",spawn:{title:"Spawn",label:"Spawn køretøj efter modelnavn",dialog_title:"Spawn køretøj",dialog_desc:"Indtast modelnavnet på det køretøj, du ønsker at spawne.",dialog_success:"Køretøjet spawnede!",dialog_error:"Køretøjets modelnavn '%{modelName}' findes ikke!",dialog_info:"Forsøger at spawne %{modelName}."},fix:{title:"Fiks",label:"Ret det aktuelle køretøj",success:"Køretøj fikset!"},delete:{title:"Slet",label:"Slet det aktuelle køretøj",success:"Køretøj slettet!"},boost:{title:"Boost",label:"Øg bilen for at opnå maksimal sjov (og måske hastighed)",success:"Køretøjet er blevet øget!",already_boosted:"Denne bil var allerede øget.",unsupported_class:"Denne køretøjklasse understøttes ikke.",redm_not_mounted:"Du kan kun øge, når du er monteret på en hest."}},heal:{title:"Helbred",myself:{title:"Mig selv",label:"Får dig på toppen",success_0:"Alle er raske!",success_1:"Du burde have det godt nu!",success_2:"Gendannet til fuldt liv!",success_3:"bummelum rettet!"},everyone:{title:"Alle",label:"Vil helbrede og genoplive alle spillere",success:"Hellede og genoplivede alle spillere."}},announcement:{title:"Send meddelelse",label:"Send en meddelelse til alle onlinespillere.",dialog_desc:"Send en meddelelse til alle online spillere.",dialog_placeholder:"Din meddelelse...",dialog_success:"Sender meddelelsen."},clear_area:{title:"Nulstil verdensområde",label:"Nulstil verdensområde til standardtilstand",dialog_desc:"Indtast venligst den radius, hvor du ønsker at nulstille entiteter i (0-300). Dette vil ikke rydde entiteter affødt serverside.",dialog_success:"Rydning af område med en radius på %{radius}m",dialog_error:"Ugyldig radiusinput. Prøv igen."},player_ids:{title:"Vis spiller-id'er",label:"Skift visning af spiller-id'er (og anden info) over hovedet på alle spillere i nærheden.",alert_show:"Viser nærliggende spillerens NetID'er.",alert_hide:"Skjuler afspillerens NetID'er i nærheden."}},page_players:{misc:{online_players:"Spillere Online",players:"Spillere",search:"Søg",zero_players:"Ingen spillere fundet"},filter:{label:"Filtrer efter",no_filter:"Ingen filter",is_admin:"Er admin",is_injured:"Såret / Død",in_vehicle:"I køretøj"},sort:{label:"Sortér efter",distance:"Afstand",id:"ID",joined_first:"Tilsluttede først",joined_last:"Tilsluttede sidst",closest:"Tættest",farthest:"Længst"},card:{health:"%{percentHealth}% liv"}},player_modal:{misc:{error:"Der opstod en fejl under indlæsning af spillerdetaljer. Fejlen er vist nedenfor:",target_not_found:"Kunne ikke finde spiller med ID eller et brugernavn på %{target}"},tabs:{actions:"Handlinger",info:"Info",ids:"ID'er",history:"Historie",ban:"Ban"},actions:{title:"Spillerhandlinger",command_sent:"Kommando sendt!",moderation:{title:"Moderation",options:{dm:"DM",warn:"Advar",kick:"Kick",set_admin:"Giv Admin"},dm_dialog:{title:"Direkte besked",description:"Hvad er årsagen til at sende direkte beskeder til denne afspiller?",placeholder:"Årsag...",success:"Din DM er blevet sendt!"},warn_dialog:{title:"Advar",description:"Hvad er grunden til at advare denne spiller direkte?",placeholder:"Årsag...",success:"Spilleren blev advaret!"},kick_dialog:{title:"kick",description:"Hvad er grunden til at kicke denne spiller?",placeholder:"Årsag...",success:"Spilleren blev kicket!"}},interaction:{title:"Interaktion",options:{heal:"helbred",go_to:"Gå til",bring:"Bring",spectate:"Overvåg",toggle_freeze:"Frys spilleren"},notifications:{heal_player:"Helbred spiller",tp_player:"Teleportér til spiller",bring_player:"HENT spiller til dig(TP)",spectate_failed:"Det lykkedes ikke at overvåge målet! Stopper overvågning.",spectate_yourself:"Du kan ikke overvåge dig selv.",freeze_yourself:"Du kan ikke fryse dig selv.",spectate_cycle_failed:"Der er ikke flere spillere på rotationen."}},troll:{title:"Trold",options:{drunk:"Gør fuld",fire:"Ildspåsætning",wild_attack:"Vildt angreb"}}},info:{title:"Spiller info",session_time:"Sessionstid",play_time:"Spilletid",joined:"Tilsluttet",whitelisted_label:"Allowlisted",whitelisted_notyet:"ikke endnu",btn_wl_add:"Tilføj AL",btn_wl_remove:"FJERN AL",btn_wl_success:"ALLOWLIST status ændret.",log_label:"Log",log_empty:"Ingen bans/advarsler.",log_ban_count:"%{smart_count} ban |||| %{smart_count} bans",log_warn_count:"%{smart_count} advasler |||| %{smart_count} advarsler",log_btn:"DETALJER",notes_placeholder:"noter omkring spilleren...",notes_changed:"Spiller notat tilføjet."},ids:{current_ids:"Nuværende Identifikatorer",previous_ids:"Tidligere Brugte Identifikatorer",all_hwids:"Alle Hardware-identifikatorer"},history:{title:"Relateret historie",btn_revoke:"TILBAGEFØR",revoked_success:"HANDLING TIBAGEFØRT!",banned_by:"BANNED af %{author}",warned_by:"ADVARET af %{author}",revoked_by:"TILBAGEFØRT af %{author}.",expired_at:"Udløb d. %{date}.",expires_at:"Udløber d. %{date}."},ban:{title:"Forbyd spiller",reason_placeholder:"Årsag",reason_required:"Grundlagsfelt skal udfyldes.",duration_placeholder:"Varighed",success:"FARVEL SPILLER!!!1",hours:"timer",days:"dage",weeks:"uger",months:"måneder",permanent:"Permanent",custom:"Brugerdefineret",helper_text:"Angiv varighed",submit:"Anvend ban"}}}};var de_default={$meta:{label:"German",humanizer_language:"de"},restarter:{server_unhealthy_kick_reason:"der Server muss neu gestartet werden, bitte verbinde dich erneut",partial_hang_warn:"Aufgrund von zeitweiligen Lags startet dieser Server in einer Minute neu. Bitte trenne die Verbindung jetzt.",partial_hang_warn_discord:"Aufgrund von zeitweiligen Lags startet **%{servername}** in einer Minute neu.",schedule_reason:"Automatisierter Neustart um %{time}",schedule_warn:"Der Server wird in einer Minute neu gestartet. Bitte trenne die Verbindung jetzt. |||| Der Server wird in %{smart_count} Minuten neu gestartet.",schedule_warn_discord:"**%{servername}** wird in einer Minute neu gestartet. |||| **%{servername}** wird in %{smart_count} Minuten neu gestartet."},kick_messages:{everyone:"Alle Spieler wurden gekickt: %{reason}.",player:"Du wurdest gekickt: %{reason}.",unknown_reason:"aus unbekanntem Grund"},ban_messages:{kick_temporary:'(%{author}) Du wurdest von diesem Server für %{expiration} gebannt. Grund: "%{reason}".',kick_permanent:'(%{author}) Du wurdest permanent von diesem Server gebannt. Grund: "%{reason}".',reject:{title_permanent:"Du wurdest permanent von diesem Server gebannt.",title_temporary:"Du wurdest temporär von diesem Server gebannt.",label_expiration:"Dein Bann läuft ab in",label_date:"Bann-Datum",label_author:"Gebannt von",label_reason:"Grund",label_id:"Bann-ID",note_multiple_bans:"Info: Es gibt mehr als einen aktiven Bann für diesen Identifier",note_diff_license:"Info: der oben angezeigte Ban wurde mit einer anderen <code>license</code> gespeichert. Das bedeutet, dass deine IDs/HWIDs passend sind wie zu diesem Ban."}},whitelist_messages:{admin_only:{mode_title:"Dieser Server befindet sich derzeit im <strong>Wartungsmodus</strong>",insufficient_ids:"Du hast keinen <code>discord</code>oder <code>FiveM</code> Identifier. Mindestens einer von beiden ist erforderlich, um dich als registrierten txAdmin-Administrator zu erkennen.",deny_message:"Deine Identifier sind keinem txAdmin-Administrator zugewiesen. Der Zugang wurde verweigert."},guild_member:{mode_title:"Dieser Server befindet sich im <strong>Discord-Whitelist</strong> Modus.",insufficient_ids:"Es konnte kein <code>discord</code> Identifier bei dir gefunden werden. Bitte öffne die Discord-App und versuche es erneut (Die Web-App wird nicht unterstützt).",deny_title:"Du musst auf unserem Discord-Server sein, um dich verbinden zu können.",deny_message:"Bitte trete unserem Discord %{guildname} bei und versuche es erneut."},guild_roles:{mode_title:"Dieser Server befindet sich im <strong>Discord-Rollen-Whitelist</strong> Modus.",insufficient_ids:"Es konnte kein <code>discord</code> Identifier bei dir gefunden werden. Bitte öffne die Discord-App und versuche es erneut (Die Web-App wird nicht unterstützt).",deny_notmember_title:"Du musst auf unserem Discord-Server sein und die nötige Rolle haben, um dich verbinden zu können.",deny_notmember_message:"Bitte trete unserem Discord %{guildname} bei und hole dir die erforderliche(n) Rolle(n). Versuche dich anschließend erneut zu verbinden.",deny_noroles_title:"Du hast nicht die erforderliche(n) Rolle(n), um dich verbinden zu können.",deny_noroles_message:"Um dich verbinden zu können, benötigst du mindestens eine der dafür erforderlichen Rollen. Discord: %{guildname}."},approved_license:{mode_title:"Dieser Server ist im <strong>Whitelist</strong> Modus.",insufficient_ids:"Du hast keinen <code>License</code> Identifier, was bedeutet, dass dieser Server <code>sv_lan</code> aktiviert hat. Solltest du der Serverbesitzer sein, dann kannst du das in der server.cfg ändern.",deny_title:"Du bist nicht auf diesem Server gewhitelisted.",request_id_label:"Whitelist-ID"}},server_actions:{restarting:"Server Neustart (%{reason}).",restarting_discord:"**%{servername}** wird neu gestartet (%{reason}).",stopping:"Server wird heruntergefahren (%{reason}).",stopping_discord:"**%{servername}** wird heruntergefahren (%{reason}).",spawning_discord:"**%{servername}** startet."},nui_warning:{title:"VERWARNUNG",warned_by:"Verwarnt von:",stale_message:"Diese Warnung wurde ausgegeben, bevor Sie sich mit dem Server verbunden haben.",dismiss_key:"LEERTASTE",instruction:"Halte deine %{key} für %{smart_count} Sekunde gedrückt, um diese Mitteilung zu schließen. |||| Halte deine %{key} für %{smart_count} Sekunden gedrückt, um diese Mitteilung zu schließen."},nui_menu:{misc:{help_message:"txAdmin Menü aktiviert, tippe /tx ein, um es zu öffnen.\nDu kannst zusätzlich in den Einstellungen eine Taste zuweisen [Einstellungen > Steuerung > FiveM > txAdmin].",menu_not_admin:"Deine IDs stimmen mit keiner bei txAdmin registrierten überein.\n Wenn du bei txAdmin registriert bist, stelle sicher, dass die richtigen IDs gespeichert sind.",menu_auth_failed:"Authentifizierung vom txAdmin Menü fehlgeschlagen. Grund: %{reason}.",no_perms:"Dafür hast du keine Berechtigung.",unknown_error:"Ein unbekannter Fehler ist aufgetreten.",not_enabled:"Das txAdmin Menü ist nicht aktiviert. Du kannst es in den txAdmin Einstellungen aktivieren.",announcement_title:"Serverweite Ankündigung von %{author}:",dialog_empty_input:"Du kannst keine leere Eingabe senden.",directmessage_title:"DM von Admin %{author}:",onesync_error:"Für diese Aktion muss OneSync aktiviert sein."},frozen:{froze_player:"Du hast den Spieler eingefroren.",unfroze_player:"Du hast den Spieler aufgetaut.",was_frozen:"Du wurdest von einem Teammitglied eingefroren!"},common:{cancel:"Abbrechen",submit:"Senden",error:"Ein Fehler ist aufgetreten.",copied:"In die Zwischenablage kopiert."},page_main:{tooltips:{tooltip_1:"Drücke %{key} um die Seiten zu wechseln & verwende die Pfeiltasten um im Menü zu navigieren",tooltip_2:"Bestimmte Menüpunkte haben Unteroptionen, die mit den linken und rechten Pfeiltasten ausgewählt werden können"},player_mode:{title:"Spieler Modus",noclip:{title:"NoClip",label:"Fliege herum",success:"NoClip aktiviert"},godmode:{title:"God Mode",label:"Unbesiegbar",success:"God Mode aktiviert"},superjump:{title:"Supersprung",label:"Der Spieler springt nun höher. Dadurch wird ebenfalls die Laufgeschwindigkeit erhöht",success:"Supersprung aktiviert"},normal:{title:"Normal",label:"Standard Modus",success:"Standard Modus wiederhergestellt."}},teleport:{title:"TP",generic_success:"Spieler teleportiert",waypoint:{title:"Wegpunkt",label:"Teleportiere zu Wegpunkt",error:"Du hast keinen Wegpunkt gesetzt!"},coords:{title:"Koordinaten",label:"Teleportiere zu Koordinaten",dialog_title:"Teleportieren",dialog_desc:"Koordinaten im Format x, y, z eingeben.",dialog_error:"Ungültige Koordinaten. Muss im Format 111, 222, 33 sein!"},back:{title:"Zurück",label:"Zur letzten Position zurück",error:"Du hast keine letzte Position"},copy:{title:"Koordinaten Kopieren",label:"Kopiere deine Koordinaten (x,y,z) in die Zwischenablage"}},vehicle:{title:"Fahrzeug",not_in_veh_error:"Du befindest dich in keinem Fahrzeug!",spawn:{title:"Spawn",label:"Spawnname eingeben",dialog_title:"Fahrzeug spawnen",dialog_desc:"Gebe den Spawnname des Fahrzeugs ein, dass du spawnen möchtest.",dialog_success:"Fahrzeug gespawnt!",dialog_error:"Der Spawnname '%{modelName}' existiert nicht!",dialog_info:"Versuche %{modelName} zu spawnen."},fix:{title:"Reparieren",label:"Repariere das Fahrzeug, auf dessen Fahrersitz du dich befindest",success:"Fahrzeug repariert."},delete:{title:"Entfernen",label:"Entferne das Fahrzeug",success:"Fahrzeug entfernt."},boost:{title:"Boost",label:"Booste das Fahrzeug",success:"Fahrzeug geboosted.",already_boosted:"Dieses Fahrzeug wurde schon geboosted!",unsupported_class:"Diese Fahrzeugart wird nicht unterstützt.",redm_not_mounted:"Du kannst dich nur boosten, wenn du auf einem Pferd sitzt."}},heal:{title:"Heilen",myself:{title:"Selbst",label:"Heilen und wiederbeleben",success_0:"Alles genäht und geheilt!",success_1:"Jetzt solltest du dich besser fühlen!",success_2:"Ein kleines Pflaster und du bist wieder gesund!",success_3:"Tat doch gar nicht weh! Du bist wieder gesund."},everyone:{title:"Alle Spieler",label:"Heilen und wiederbeleben",success:"Alle Spieler geheilt und wiederbelebt"}},announcement:{title:"Ankündigung schicken",label:"Ankündigung an alle Spieler schicken.",dialog_desc:"Gebe die Nachricht ein, die an alle Spieler gesendet werden soll.",dialog_placeholder:"Deine Ankündigung ...",dialog_success:"Ankündigung an alle Spieler geschickt"},clear_area:{title:"Weltbereich zurücksetzen",label:"Setze einen Bereich in seinen Ursprungszustand zurück.",dialog_desc:"Bitte gib einen Radius (0-300) ein, in dem du alle Objekte zurücksetzen möchtest. Dadurch werden nicht serverseitig erzeugte Objekte gelöscht.",dialog_success:"Zurücksetzen im Radius von %{radius}m",dialog_error:"Ungültiger Radius! Gib einen Radius zwischen 0 und 300 ein."},player_ids:{title:"Spieler IDs (NameTags)",label:"Schalte die Spieler-IDs (und weitere Informationen) über den Köpfen der Spieler ein oder aus.",alert_show:"Spieler IDs (NameTags) aktiviert.",alert_hide:"Spieler IDs (NameTags) deaktiviert."}},page_players:{misc:{online_players:"Alle Spieler",players:"Spieler",search:"Suche",zero_players:"Keine Spieler gefunden"},filter:{label:"Filtern nach",no_filter:"Kein Filter",is_admin:"Ist Admin",is_injured:"Ist Verletzt / Tot",in_vehicle:"Ist in Fahrzeug"},sort:{label:"Sortieren nach",distance:"Entfernung",id:"ID",joined_first:"steigend",joined_last:"fallend",closest:"am nächsten",farthest:"am weitesten"},card:{health:"%{percentHealth}% Leben"}},player_modal:{misc:{error:"Beim Abrufen der Spielerdetails ist ein Fehler aufgetreten. Der Fehler wird unten angezeigt:",target_not_found:"Konnte keinen Spieler mit der ID oder dem Nutzernamen von %{target} finden"},tabs:{actions:"Aktionen",info:"Info",ids:"IDs",history:"Vergangenheit",ban:"Ban"},actions:{title:"Spieler Aktionen",command_sent:"Befehl geschickt!",moderation:{title:"Moderation",options:{dm:"DM",warn:"Verwarnen",kick:"Kicken",set_admin:"Admin verwalten"},dm_dialog:{title:"Direktnachricht",description:"Was ist der Grund, diesem Spieler eine Direktnachricht zu senden?",placeholder:"Grund...",success:"Die Nachricht wurde gesendet."},warn_dialog:{title:"Verwarnen",description:"Was ist der Grund, diesen Spieler zu verwarnen?",placeholder:"Grund...",success:"Der Spieler wurde verwarnt!"},kick_dialog:{title:"Kicken",description:"Was ist der Grund, diesen Spieler zu kicken?",placeholder:"Grund...",success:"Der Spieler wurde gekickt!"}},interaction:{title:"Interaktionen",options:{heal:"Heilen",go_to:"Gehe zu",bring:"Bringen",spectate:"Beobachten",toggle_freeze:"Einfrieren"},notifications:{heal_player:"Spieler heilen",tp_player:"Zu Spieler teleportieren",bring_player:"Spieler teleportiert",spectate_failed:"Der Spieler konnte nicht beobachtet werden! Beobachtung abgebrochen.",spectate_yourself:"Du kannst dich nicht selbst beobachten",freeze_yourself:"Du kannst dich nicht selbst einfrieren",spectate_cycle_failed:"Es gibt keine Spieler auf die gewechselt werden kann."}},troll:{title:"Trolling",options:{drunk:"Betrunken machen",fire:"Anzünden",wild_attack:"Wildtier Angriff"}}},info:{title:"Spielerinfos",session_time:"Aktive Sitzung",play_time:"Spielzeit",joined:"Beigetreten",whitelisted_label:"Whitelisted",whitelisted_notyet:"noch nicht",btn_wl_add:"WL HINZUFÜGEN",btn_wl_remove:"WL ENTFERNEN",btn_wl_success:"Whitelist-Status geändert",log_label:"Log",log_empty:"Keine Banns/Verwarnungen gefunden.",log_ban_count:"%{smart_count} Bann |||| %{smart_count} Banns",log_warn_count:"%{smart_count} Verwarnung |||| %{smart_count} Verwarnungen",log_btn:"DETAILS",notes_changed:"Notizen geändert",notes_placeholder:"Notizen über diesen Spieler..."},history:{title:"Vergangenheit",btn_revoke:"RÜCKGÄNGIG",revoked_success:"Aktion rückgängig gemacht!",banned_by:"GEBANNT von %{author}",warned_by:"VERWARNT von %{author}",revoked_by:"RÜCKGÄNGIG GEMACHT von %{author}.",expired_at:"Abgelaufen am %{date}.",expires_at:"Läuft ab am %{date}."},ban:{title:"Spieler bannen",reason_placeholder:"Grund",duration_placeholder:"Dauer",hours:"Stunden",days:"Tage",weeks:"Wochen",months:"Monate",permanent:"Permanent",custom:"Benutzerdefiniert",helper_text:"Bitte eine Dauer angeben",submit:"Bann ausführen",reason_required:"Ein Grund muss angegeben werden!",success:"Spieler gebannt!"},ids:{current_ids:"Aktuelle Identifier",previous_ids:"Zuvor benutzte Identifier",all_hwids:"Alle Hardware IDs"}}}};var el_default={$meta:{label:"Greek",humanizer_language:"el"},restarter:{server_unhealthy_kick_reason:"ο διακομιστής πρέπει να επανεκκινηθεί, παρακαλώ επανασυνδεθείτε",partial_hang_warn:"Due to a partial hang, this server will restart in 1 minute. Please disconnect now.",partial_hang_warn_discord:"Due to a partial hang, **%{servername}** will restart in 1 minute.",schedule_reason:"Προγραμματισμένη επανεκκίνηση σε %{time}",schedule_warn:"Αυτός ο διακομιστής έχει προγραμματιμένη επανεκκίνηση σε %{smart_count} λεπτό. Παρακαλώ αποσυνδεθείτε τώρα. |||| Αυτός ο διακομιστής έχει προγραμματισμένη επανεκκίνηση σε %{smart_count} λεπτά.",schedule_warn_discord:"Ο **%{servername}** έχει προγραμματισμένη επανεκκίνηση σε %{smart_count} λεπτό. |||| Ο **%{servername}** έχει προγραμματιμένη επανεκκίνηση σε %{smart_count} λεπτά."},kick_messages:{everyone:"All players kicked: %{reason}.",player:"You have been kicked: %{reason}.",unknown_reason:"for unknown reason"},ban_messages:{kick_temporary:'(%{author}) Έχει απαγορευτεί η είσοδος σου στον διακομιστή για: "%{reason}". Η απαγορευσή σου θα λήξει σε: %{expiration}.',kick_permanent:'(%{author}) Έχει απαγορευτεί η είσοδος σου στον διακομιστή για: "%{reason}".',reject:{title_permanent:"Έχετε αποκλειστεί οριστικά από αυτόν τον διακομιστή.",title_temporary:"Έχετε αποκλειστεί προσωρινά από αυτόν τον διακομιστή.",label_expiration:"Το ban σου θα λήξει",label_date:"Ban Date",label_author:"Banned by",label_reason:"Ban Reason",label_id:"Ban ID",note_multiple_bans:"Note: you have more than one active ban on your identifiers.",note_diff_license:"Note: the ban above was applied for another <code>license</code>, which means some of your IDs/HWIDs match the ones associated with that ban."}},whitelist_messages:{admin_only:{mode_title:"Ο διακομιστής βρίσκεται σε <strong>Admin-only</strong> mode.",insufficient_ids:"Δεν έχεις <code>discord</code> or <code>fivem</code> identifiers, και τουλάχιστον ένα από αυτά απαιτείται για επικύρωση εάν είστε διαχειριστής στο txAdmin.",deny_message:"Τα identifiers σου δεν σχετίζονται με κάποιον txAdmin administrator."},guild_member:{mode_title:"Ο διακομιστής βρίσκεται σε <strong>Discord server Member Whitelist</strong> mode.",insufficient_ids:"Δεν έχεις <code>discord</code> identifier, το οποίο απαιτείται για την επικύρωση του αν έχεις μπεί στο Discord μας. Please open the Discord Desktop app and try again (the Web app won't work).",deny_title:"Πρέπει να είσαι στο Discord μας για να συνδεθείς.",deny_message:"Συνδέσου στο %{guildname} και ξανά προσπάθησε."},guild_roles:{mode_title:"Ο διακομιστής βρίσκεται σε <strong>Discord Role Whitelist</strong> mode.",insufficient_ids:"Δεν έχεις <code>discord</code> identifier, το οποίο απαιτείται για την επικύρωση του αν έχεις μπεί στο Discord μας. Please open the Discord Desktop app and try again (the Web app won't work).",deny_notmember_title:"Πρέπει να είσαι στο Discord μας για να συνδεθείς.",deny_notmember_message:"Συνδέσου στο %{guildname} και ξανά προσπάθησε.",deny_noroles_title:"Δεν έχεις το whitelisted role που απαιτείται για να συνδεθείς.",deny_noroles_message:"Για να συνδεθείτε σε αυτόν τον διακομιστή, πρέπει να έχετε τουλάχιστον έναν από τους whitelisted roles στο Discord %{guildname}."},approved_license:{mode_title:"Ο διακομιστής βρίσκεται σε <strong>License Whitelist</strong> mode.",insufficient_ids:"Δεν έχεις το <code>license</code> identifier, το οποίο σημαίνει ότι ο διακομιστής έχει το <code>sv_lan</code> ανοικτό. Αν είσαι ο server owner, πρέπει να το κλείσεις στο <code>server.cfg</code> file.",deny_title:"Δεν είσαι whitelisted για να συνδεθείς",request_id_label:"Request ID"}},server_actions:{restarting:"Επανεκκίνηση διακομιστή με λόγο: (%{reason}).",restarting_discord:"Εκτελείται επανεκκίνηση του διακομιστή **%{servername}** με λόγο: (%{reason}).",stopping:"Ο διακομιστής κλείνει με λόγο: (%{reason}).",stopping_discord:"Ο **%{servername}** κλείνει με λόγο: (%{reason}).",spawning_discord:"Ο **%{servername}** ανοίγει."},nui_warning:{title:"ΠΡΟΕΙΔΟΠΟΙΗΣΗ",warned_by:"Προειδοποιήθηκες από τον:",stale_message:"Αυτή η προειδοποίηση εκδόθηκε πριν συνδεθείτε στον διακομιστή.",dismiss_key:"SPACE",instruction:"Πάτα %{key} για %{smart_count} δευτερόλεπτο για να απορρίψεις αυτό το μήνυμα. |||| Πάτα %{key} για %{smart_count} δευτερόλεπτα για να απορρίψεις αυτό το μήνυμα."},nui_menu:{misc:{help_message:"To txAdmin Menu ενεργοποιήθηκε, πληκτρολόγησε /tx για να το ανοίξεις.\nΕπίσης μπορείς να καθορίσεις και keybind [Game Settings > Key Bindings > FiveM > Menu: Open Main Page].",menu_not_admin:"Τα αναγνωριστικά σου δεν ταιρίαζουν με αυτά κάποιου δηλωμένου Admin στο txAdmin.\nΕαν είσαι δηλωμένος στο txAdmin, πήγαινε στο Admin Manager και επιβεβαίωσε ότι τα αναγνωριστικά σου έχουν αποθηκευτεί.",menu_auth_failed:"txAdmin Menu authentication failed with reason: %{reason}",no_perms:"Δεν έχεις αυτή την άδεια",unknown_error:"Προκλήθηκε ένα άγνωστο σφάλμα.",not_enabled:"Tο txAdmin Menu δεν είναι ενεργοποιημένο ! Μπορείς να το ενεργοποιήσεις στήν σελίδα ρυθμίσεων του txAdmin.",announcement_title:"Ανακοίνωση από τον %{author}:",dialog_empty_input:"Δεν μπορείς να μην εισάγεις τίποτα.",directmessage_title:"DM from admin %{author}:",onesync_error:"This action requires OneSync to be enabled."},frozen:{froze_player:"Έχεις παγώσει έναν παίκτη!",unfroze_player:"Έχεις ξεπαγώσει έναν παίκτη!",was_frozen:"Έχεις παγώσει άπο έναν Server Admin!"},common:{cancel:"Ακύρωση",submit:"Επιβεβαίωση",error:"Προκλήθηκε ένα σφάλμα",copied:"Αντιγράφηκε στο πρόχειρο."},page_main:{tooltips:{tooltip_1:"Χρησιμοποίησε το %{key} για να αλλάξεις σελίδες & και τα βελάκια για να πλοηγηθέις στο Menu",tooltip_2:"Οι συγκεκριμένες επιλογές στο Menu έχουν και υπό-επιλογές όπου μπορούν να επιλεχθούν από το δεξί και αριστερό βελάκι"},player_mode:{title:"Player Mode",noclip:{title:"NoClip",label:"Πέτα τριγύρω",success:"Το NoClip ενεργοποιήθηκε"},godmode:{title:"God",label:"Γίνεσε αόρατος",success:"God Mode ενεργοποιήθηκε"},superjump:{title:"Super Jump",label:"Toggle super jump mode, the player will also run faster",success:"Super Jump enabled"},normal:{title:"Normal",label:"Αρχικό mode",success:"Επέστρεψες στο αρχικό player mode."}},teleport:{title:"Teleport",generic_success:"Στάλθηκες στη σκουληκότρυπα!",waypoint:{title:"Waypoint",label:"Πηγαίνεις στο σημείο που επέλεξες",error:"Δεν έχεις θέσει κάποιο σημείο."},coords:{title:"Coords",label:"Πηγαίνεις σε συγκεκριμένες συντεταγμένες",dialog_title:"Teleport",dialog_desc:"Δώστε συντεταγμένες σε μορφή x, y, z για να περάσετε από τη σκουληκότρυπα.",dialog_error:"Λάθος συντεταγμένες. Πρέπει να είναι στην ακόλουθη μορφή: 111, 222, 33"},back:{title:"Back",label:"Πηγαίνεις στην τελευταία σου τοποθεσία",error:"Δεν έχεις τελευταία τοποθεσία για να πας!"},copy:{title:"Αντιγραφή συντεταγμένων",label:"Αντιγραφή συντεταγμένων στο πρόχειρο."}},vehicle:{title:"Vehicle",not_in_veh_error:"Δεν είσαι μέσα σε όχημα!",spawn:{title:"Spawn",label:"Εμφάνησε όχημα με το όνομα του μοντέλου του",dialog_title:"Εμφάνησε όχημα",dialog_desc:"Πληκτρολόγησε το όνομα του μοντέλου του οχήματος που θέλεις να εμφανήσεις",dialog_success:"Το όχημα εμφανίστηκε!",dialog_error:"Το όνομα μοντέλου οχήματος '%{modelName}' δεν υπάρχει!",dialog_info:"Προσπάθεια εμφάνησης %{modelName}."},fix:{title:"Fix",label:"Φτιάξε το όχημα",success:"Το όχημα κατασκευάστηκε!"},delete:{title:"Delete",label:"Διέγραψε το όχημα",success:"Το όχημα διαγράφτηκε!"},boost:{title:"Boost",label:"Boost the car to achieve max fun (and maybe speed)",success:"Vehicle boosted!",already_boosted:"This vehicle was already boosted.",unsupported_class:"This vehicle class is not supported.",redm_not_mounted:"You can only boost when mounted on a horse."}},heal:{title:"Heal",myself:{title:"Τον ευατό σου",label:"Αποκαταστέι την υγεία σου",success_0:"Όλα εντάξει!",success_1:"Πρέπει να είναι όλα καλά τώρα!",success_2:"Αποκαταστήθηκε η ζωή σου εντελώς!",success_3:"Φτιάχτηκαν οι γρατζουνίες!"},everyone:{title:"Όλους",label:"Θα αποκαταστήσει την υγεία και θα ζωντανέψει όλους του παίκτες!",success:"Ζωντάνεψαν όλοι οι παίκτες."}},announcement:{title:"Βγάλε ανακοίνωση",label:"Βγάλε ανακοίνωση προς όλους τους παίκτες.",dialog_desc:"Βγάλε ανακοίνωση προς όλους τους παίκτες.",dialog_placeholder:"Η ανακοίνωση σου...",dialog_success:"Η ανακοίνωση ανέβηκε."},clear_area:{title:"Reset World Area",label:"Επαναφέρετε μια καθορισμένη περιοχή στην προεπιλεγμένη κατάστασή της",dialog_desc:"Εισαγάγετε την ακτίνα στην οποία θέλετε να επαναφέρετε τις οντότητες σε (0-300). Αυτό δεν θα διαγράψει οντότητες που δημιουργούνται από την πλευρά του διακομιστή.",dialog_success:"Επαναφέρεται η περιοχή σε ακτίνα %{radius}m",dialog_error:"Μη έγκυρη είσοδος ακτίνας. Προσπάθησε ξανά."},player_ids:{title:"Toggle Player IDs",label:"Εναλλαγή εμφάνισης αναγνωριστικών παικτών (και άλλων πληροφοριών) πάνω από το κεφάλι όλων των κοντινών παικτών",alert_show:"Εμφάνιση NetIDs των κοντινών παικτών.",alert_hide:"Εξαφάνηση NetIDs των κοντινών παικτών."}},page_players:{misc:{online_players:"Online Players",players:"Παίκτες",search:"Αναζήτηση",zero_players:"Δεν βρέθηκαν παίκτες"},filter:{label:"Filter by",no_filter:"No Filter",is_admin:"Is Admin",is_injured:"Is Injured / Dead",in_vehicle:"In Vehicle"},sort:{label:"Ταξινόμηση κατά",distance:"Απόστασης",id:"Αναγνωριστικού",joined_first:"Joined First",joined_last:"Joined Last",closest:"Closest",farthest:"Farthest"},card:{health:"%{percentHealth}% υγεία"}},player_modal:{misc:{error:"Παρουσιάστηκε σφάλμα κατά την ανάκτηση αυτών των στοιχείων του χρήστη. Το σφάλμα φαίνεται παρακάτω:",target_not_found:"Δεν ήταν δυνατή η εύρεση ενός παίκτη με αναγνωριστικό ή με ψευδώνυμο: %{target}"},tabs:{actions:"Actions",info:"Info",ids:"IDs",history:"History",ban:"Ban"},actions:{title:"Επιλογές Παίκτη",command_sent:"Η επιλογή στάλθηκε!",moderation:{title:"Moderation",options:{dm:"DM",warn:"Warn",kick:"Kick",set_admin:"Give Admin"},dm_dialog:{title:"Προσωπικό μήνυμα",description:"Ποιό είναι το προσωπικό μήνυμα που θέλεις να στείλεις",placeholder:"Μήνυμα...",success:"Το μήνυμα στάλθηκε επιτυχώς!"},warn_dialog:{title:"Warn",description:"Για πιο λόγο θες να προηδοποιήσεις αυτόν τον παίκτη;",placeholder:"Λόγος...",success:"Ο παίκτης προηδοποιήθηκε!"},kick_dialog:{title:"Kick",description:"Ποιός είναι ο λόγος που θέλετε να εκδιώξετε αυτόν παίκτη;",placeholder:"Λόγος...",success:"Ο παίκτης εκδιώκθηκε!"}},interaction:{title:"Αλληλεπίδραση",options:{heal:"Heal",go_to:"Go to",bring:"Bring",spectate:"Spectate",toggle_freeze:"Toggle Freeze"},notifications:{heal_player:"Healing player",tp_player:"Teleporting to player",bring_player:"Bring παίκτη",spectate_failed:"Failed to resolve the target! Exiting spectate.",spectate_yourself:"You cannot spectate yourself.",freeze_yourself:"You cannot freeze yourself.",spectate_cycle_failed:"There are no players to cycle to."}},troll:{title:"Troll",options:{drunk:"Κάντον μεθυσμένο",fire:"Βάλ'του φωτία",wild_attack:"Επίθεση από άγρια ζώα"}}},info:{title:"Πληρφορίες παίκτη",session_time:"Τωρινός Online χρόνος",play_time:"Συνολικός Online χρόνος",joined:"Joined",whitelisted_label:"Whitelisted",whitelisted_notyet:"not yet",btn_wl_add:"ADD WL",btn_wl_remove:"REMOVE WL",btn_wl_success:"Whitelist status changed.",log_label:"Log",log_empty:"No bans/warns found.",log_ban_count:"%{smart_count} ban |||| %{smart_count} bans",log_warn_count:"%{smart_count} warn |||| %{smart_count} warns",log_btn:"DETAILS",notes_changed:"Player note changed.",notes_placeholder:"Notes about this player..."},history:{title:"Related history",btn_revoke:"REVOKE",revoked_success:"Action revoked!",banned_by:"BANNED by %{author}",warned_by:"WARNED by %{author}",revoked_by:"Revoked by %{author}.",expired_at:"Expired at %{date}.",expires_at:"Expires at %{date}."},ban:{title:"Ban player",reason_placeholder:"Λόγος",duration_placeholder:"Διάρκεια",hours:"ώρες",days:"μέρες",weeks:"εβδομάδες",months:"μήνες",permanent:"Μόνιμα",custom:"Custom",helper_text:"Παρακαλώ διαλέξτε διάρκεια",submit:"Apply ban",reason_required:"The Reason field is required.",success:"Player banned!"},ids:{current_ids:"Current Identifiers",previous_ids:"Previously Used Identifiers",all_hwids:"All Hardware IDs"}}}};var en_default={$meta:{label:"English (default)",humanizer_language:"en"},restarter:{server_unhealthy_kick_reason:"the server needs to be restarted, please reconnect",partial_hang_warn:"Due to a partial hang, this server will restart in 1 minute. Please disconnect now.",partial_hang_warn_discord:"Due to a partial hang, **%{servername}** will restart in 1 minute.",schedule_reason:"scheduled restart at %{time}",schedule_warn:"This server is scheduled to restart in %{smart_count} minute. Please disconnect now. |||| This server is scheduled to restart in %{smart_count} minutes.",schedule_warn_discord:"**%{servername}** is scheduled to restart in %{smart_count} minute. |||| **%{servername}** is scheduled to restart in %{smart_count} minutes."},kick_messages:{everyone:"All players kicked: %{reason}.",player:"You have been kicked: %{reason}.",unknown_reason:"for unknown reason"},ban_messages:{kick_temporary:'(%{author}) You have been banned from this server for "%{reason}". Your ban will expire in: %{expiration}.',kick_permanent:'(%{author}) You have been permanently banned from this server for "%{reason}".',reject:{title_permanent:"You have been permanently banned from this server.",title_temporary:"You have been temporarily banned from this server.",label_expiration:"Your ban will expire in",label_date:"Ban Date",label_author:"Banned by",label_reason:"Ban Reason",label_id:"Ban ID",note_multiple_bans:"Note: you have more than one active ban on your identifiers.",note_diff_license:"Note: the ban above was applied for another <code>license</code>, which means some of your IDs/HWIDs match the ones associated with that ban."}},whitelist_messages:{admin_only:{mode_title:"This server is in <strong>Admin-only (maintenance)</strong>.",insufficient_ids:"You do not have <code>discord</code> or <code>fivem</code> identifiers, and at least one of them is required to validate if you are a txAdmin administrator.",deny_message:"Your identifiers are not assigned to any txAdmin administrator."},guild_member:{mode_title:"This server is in <strong>Discord server Member Allowlist</strong> mode.",insufficient_ids:"You do not have the <code>discord</code> identifier, which is required to validate if you have joined our Discord server. Please open the Discord Desktop app and try again (the Web app won't work).",deny_title:"You are required to join our Discord server to connect.",deny_message:"Please join the guild %{guildname} then try again."},guild_roles:{mode_title:"This server is in <strong>Discord Role Allowlist</strong> mode.",insufficient_ids:"You do not have the <code>discord</code> identifier, which is required to validate if you have joined our Discord server. Please open the Discord Desktop app and try again (the Web app won't work).",deny_notmember_title:"You are required to join our Discord server to connect.",deny_notmember_message:"Please join %{guildname}, get one of the required roles, then try again.",deny_noroles_title:"You do not have a allowlisted role required to join.",deny_noroles_message:"To join this server you are required to have at least one of the allowlisted roles on the guild %{guildname}."},approved_license:{mode_title:"This server is in <strong>License Allowlist</strong> mode.",insufficient_ids:"You do not have the <code>license</code> identifier, which means the server has <code>sv_lan</code> enabled. If you are the server owner, you can disable it in the <code>server.cfg</code> file.",deny_title:"You are not allowlisted to join this server.",request_id_label:"Request ID"}},server_actions:{restarting:"Server restarting (%{reason}).",restarting_discord:"**%{servername}** is restarting (%{reason}).",stopping:"Server shutting down (%{reason}).",stopping_discord:"**%{servername}** is shutting down (%{reason}).",spawning_discord:"**%{servername}** is starting."},nui_warning:{title:"WARNING",warned_by:"Warned by:",stale_message:"This warning was issued before you connected to the server.",dismiss_key:"SPACE",instruction:"Hold %{key} for %{smart_count} second to dismiss this message. |||| Hold %{key} for %{smart_count} seconds to dismiss this message. "},nui_menu:{misc:{help_message:"txAdmin Menu enabled, type /tx to open it.\nYou can also configure a keybind at [Game Settings > Key Bindings > FiveM > Menu: Open Main Page].",menu_not_admin:"Your identifiers do not match any admin registered on txAdmin.\nIf you are registered on txAdmin, go to Admin Manager and make sure your identifiers are saved.",menu_auth_failed:"txAdmin Menu authentication failed with reason: %{reason}",no_perms:"You do not have this permission.",unknown_error:"An unknown error occurred.",not_enabled:"The txAdmin Menu is not enabled! You can enable it in the txAdmin settings page.",announcement_title:"Server Announcement by %{author}:",directmessage_title:"DM from admin %{author}:",dialog_empty_input:"You cannot have an empty input.",onesync_error:"This option requires OneSync to be enabled."},frozen:{froze_player:"You have frozen the player!",unfroze_player:"You have unfrozen the player!",was_frozen:"You have been frozen by a server admin!"},common:{cancel:"Cancel",submit:"Submit",error:"An error occurred",copied:"Copied to clipboard."},page_main:{tooltips:{tooltip_1:"Use %{key} to switch pages & the arrow keys to navigate menu items",tooltip_2:"Certain menu items have sub options which can be selected using the left & right arrow keys"},player_mode:{title:"Player Mode",noclip:{title:"NoClip",label:"Toggle NoClip, allowing you to move through walls and other objects",success:"NoClip enabled"},godmode:{title:"God",label:"Toggle invincibility, preventing you from taking damage",success:"God Mode enabled"},superjump:{title:"Super Jump",label:"Toggle super jump mode, the player will also run faster",success:"Super Jump enabled"},normal:{title:"Normal",label:"Returns yourself back to the default/normal player mode",success:"Returned to default player mode."}},teleport:{title:"Teleport",generic_success:"Sent you into the wormhole!",waypoint:{title:"Waypoint",label:"Teleport to the custom waypoint set on the map",error:"You have no waypoint set."},coords:{title:"Coords",label:"Teleport to the provided coordinates",dialog_title:"Teleport",dialog_desc:"Provide coordinates in an x, y, z format to go through the wormhole.",dialog_error:"Invalid coordinates. Must be in the format of: 111, 222, 33"},back:{title:"Back",label:"Returns to the location prior to last teleport",error:"You don't have a last location to go back to!"},copy:{title:"Copy Coords",label:"Copy the current world coordinates to your clipboard"}},vehicle:{title:"Vehicle",not_in_veh_error:"You are not currently in a vehicle!",spawn:{title:"Spawn",label:"Spawn a given vehicle from its model name",dialog_title:"Spawn vehicle",dialog_desc:"Enter in the model name of the vehicle you want to spawn.",dialog_success:"Vehicle spawned!",dialog_error:"The vehicle model name '%{modelName}' does not exist!",dialog_info:"Trying to spawn %{modelName}."},fix:{title:"Fix",label:"Will repair the vehicle to its maximum health",success:"Vehicle fixed!"},delete:{title:"Delete",label:"Deletes the vehicle the player is currently in",success:"Vehicle deleted!"},boost:{title:"Boost",label:"Boost the car to achieve max fun (and maybe speed)",success:"Vehicle boosted!",already_boosted:"This vehicle was already boosted.",unsupported_class:"This vehicle class is not supported.",redm_not_mounted:"You can only boost when mounted on a horse."}},heal:{title:"Heal",myself:{title:"Myself",label:"Will heal yourself to the current ped's maximum",success_0:"All healed up!",success_1:"You should be feeling good now!",success_2:"Restored to full!",success_3:"Ouchies fixed!"},everyone:{title:"Everyone",label:"Will heal & revive all connected players",success:"Healed and revived all players."}},announcement:{title:"Send Announcement",label:"Send an announcement to all online players.",dialog_desc:"Enter the message you want to broadcast to all players.",dialog_placeholder:"Your announcement...",dialog_success:"Sending the announcement."},clear_area:{title:"Reset World Area",label:"Reset a specified world area to its default state",dialog_desc:"Please enter the radius where you wish to reset entities in (0-300). This will not clear entities spawned server side.",dialog_success:"Clearing area with radius of %{radius}m",dialog_error:"Invalid radius input. Try again."},player_ids:{title:"Toggle Player IDs",label:"Toggle showing player IDs (and other info) above the head of all nearby players",alert_show:"Showing nearby player NetIDs.",alert_hide:"Hiding nearby player NetIDs."}},page_players:{misc:{online_players:"Online Players",players:"Players",search:"Search",zero_players:"No players found."},filter:{label:"Filter by",no_filter:"No Filter",is_admin:"Is Admin",is_injured:"Is Injured / Dead",in_vehicle:"In Vehicle"},sort:{label:"Sort by",distance:"Distance",id:"ID",joined_first:"Joined First",joined_last:"Joined Last",closest:"Closest",farthest:"Farthest"},card:{health:"%{percentHealth}% health"}},player_modal:{misc:{error:"An error occurred fetching this users details. The error is shown below:",target_not_found:"Was unable to find an online player with ID or a username of %{target}"},tabs:{actions:"Actions",info:"Info",ids:"IDs",history:"History",ban:"Ban"},actions:{title:"Player Actions",command_sent:"Command sent!",moderation:{title:"Moderation",options:{dm:"DM",warn:"Warn",kick:"Kick",set_admin:"Give Admin"},dm_dialog:{title:"Direct Message",description:"What is the reason for direct messaging this player?",placeholder:"Reason...",success:"Your DM has been sent!"},warn_dialog:{title:"Warn",description:"What is the reason for direct warning this player?",placeholder:"Reason...",success:"Player warned!"},kick_dialog:{title:"Kick",description:"What is the reason for kicking this player?",placeholder:"Reason...",success:"Player kicked!"}},interaction:{title:"Interaction",options:{heal:"Heal",go_to:"Go to",bring:"Bring",spectate:"Spectate",toggle_freeze:"Toggle Freeze"},notifications:{heal_player:"Healing player",tp_player:"Teleporting to player",bring_player:"Summoning player",spectate_failed:"Failed to resolve the target! Exiting spectate.",spectate_yourself:"You cannot spectate yourself.",freeze_yourself:"You cannot freeze yourself.",spectate_cycle_failed:"There are no players to cycle to."}},troll:{title:"Troll",options:{drunk:"Make Drunk",fire:"Set Fire",wild_attack:"Wild attack"}}},info:{title:"Player info",session_time:"Session Time",play_time:"Play time",joined:"Joined",whitelisted_label:"Whitelisted",whitelisted_notyet:"not yet",btn_wl_add:"ADD WL",btn_wl_remove:"REMOVE WL",btn_wl_success:"Whitelist status changed.",log_label:"Log",log_empty:"No bans/warns found.",log_ban_count:"%{smart_count} ban |||| %{smart_count} bans",log_warn_count:"%{smart_count} warn |||| %{smart_count} warns",log_btn:"DETAILS",notes_placeholder:"Notes about this player...",notes_changed:"Player note changed."},ids:{current_ids:"Current Identifiers",previous_ids:"Previously Used Identifiers",all_hwids:"All Hardware IDs"},history:{title:"Related history",btn_revoke:"REVOKE",revoked_success:"Action revoked!",banned_by:"BANNED by %{author}",warned_by:"WARNED by %{author}",revoked_by:"Revoked by %{author}.",expired_at:"Expired at %{date}.",expires_at:"Expires at %{date}."},ban:{title:"Ban player",reason_placeholder:"Reason",reason_required:"The Reason field is required.",duration_placeholder:"Duration",success:"Player banned!",hours:"hours",days:"days",weeks:"weeks",months:"months",permanent:"Permanent",custom:"Custom",helper_text:"Please select a duration",submit:"Apply ban"}}}};var es_default={$meta:{label:"Spanish",humanizer_language:"es"},restarter:{server_unhealthy_kick_reason:"el servidor necesita reiniciarse, por favor reconéctate",partial_hang_warn:"Debido a una suspensión parcial, el servidor se reiniciará en 1 minutos. Por favor, desconectate ahora.",partial_hang_warn_discord:"Debido a una suspensión parcial, **%{servername}** se reiniciará en un minuto.",schedule_reason:"Reinicio programado a las %{time}",schedule_warn:"El servidor se va a reiniciar en %{smart_count} minutos. Por favor desconéctense. |||| El servidor se va a reiniciar en %{smart_count} minutos.",schedule_warn_discord:"**%{servername}** El servidor se va a reiniciar en %{smart_count} minutos. |||| **%{servername}** El servidor se va a reiniciar en %{smart_count} minutos."},kick_messages:{everyone:"All players kicked: %{reason}.",player:"You have been kicked: %{reason}.",unknown_reason:"for unknown reason"},ban_messages:{kick_temporary:'(%{author}) Has sido baneado del servidor por "%{reason}". Tu baneo expirará en: %{expiration}.',kick_permanent:'(%{author}) Has sido baneado permanentemente del servidor por "%{reason}".',reject:{title_permanent:"Has sido expulsado permanentemente de este servidor.",title_temporary:"Has sido expulsado temporalmente de este servidor.",label_expiration:"Tu expulsión expirará en",label_date:"Fecha de expulsión",label_author:"Expulsado por",label_reason:"Razón de la expulsión",label_id:"Ban ID",note_multiple_bans:"Nota: tiene más de una prohibición activa en sus identificadores.",note_diff_license:"Nota: el baneo de arriba fue aplicado para otra <code>license</code>, lo que significa que alguno de tus IDs/HWIDs coinciden con los del baneo asociado."}},whitelist_messages:{admin_only:{mode_title:"Este servidor está en modo <strong>sólo administrador</strong>.",insufficient_ids:"No tiene identificadores <code>discord o fivem</code>, y al menos uno de ellos es necesario para validar si es administrador de txAdmin.",deny_message:"Sus identificadores no están asignados a ningún administrador de txAdmin."},guild_member:{mode_title:"Este servidor está en modo <strong>Lista blanca de miembros de discord</strong>.",insufficient_ids:"No tienes el identificador <code>discord</code>, que es necesario para validar si te has unido a nuestro discord. Abre Discord Desktop e inténtalo de nuevo (la version Web no funcionará).",deny_title:"Es necesario que te unas a nuestro Discord para conectarte.",deny_message:"Por favor, únete al discord %{guildname} e inténtalo de nuevo."},guild_roles:{mode_title:"Este servidor está en modo <strong>Lista blanca de roles de discord</strong>.",insufficient_ids:"No tienes el identificador <code>discord</code>, que es necesario para validar si te has unido a nuestro Discord. Abre Discord Desktop e inténtalo de nuevo (la version Web no funcionará).",deny_notmember_title:"Es necesario que te unas a nuestra Discord para conectarte.",deny_notmember_message:"Por favor, únete a %{guildname}, consigue uno de los roles requeridos, e inténtalo de nuevo.",deny_noroles_title:"Usted no tiene un rol en la lista blanca requerido para unirse.",deny_noroles_message:"Para unirte a este servidor debes tener al menos uno de los roles de la lista blanca del Discord %{guildname}."},approved_license:{mode_title:"Este servidor está en modo <strong>Lista blanca de licencias</strong>.",insufficient_ids:"No tiene el identificador de <code>licencia</code>, lo que significa que el servidor tiene <code>sv_lan</code> activado. Si usted es el propietario del servidor, puede desactivarlo en el archivo <code>server.cfg</code>.",deny_title:"No estás en la lista blanca para unirte a este servidor.",request_id_label:"Solicitar ID"}},server_actions:{restarting:"Reiniciando Servidor (%{reason}).",restarting_discord:"**%{servername}** se está reiniciando: (%{reason}).",stopping:"Apagando el servidor: (%{reason}).",stopping_discord:"**%{servername}** se está apagando (%{reason}).",spawning_discord:"**%{servername}** está iniciandose."},nui_warning:{title:"ADVERTENCIA",warned_by:"Advertido por:",stale_message:"Esta advertencia se emitió antes de que te conectaras al servidor.",dismiss_key:"ESPACIO",instruction:"Presione %{key} durante %{smart_count} segundo para descartar este mensaje. |||| Presione %{key} durante %{smart_count} segundos para descartar este mensaje."},nui_menu:{misc:{help_message:"Menú txAdmin disponible, escribe /tx para abrirlo.\nTambien puedes configurar una asignación de teclas en [Ajustes > Asignación de teclas > FiveM > Menu: Abrir página principal].",menu_not_admin:"Tus identificadores no estan registrados en txAdmin.\nSi estas registrado en txAdmin, ve a gestor de administradores y asegurate que tus identificadores estan guardados.",menu_auth_failed:"txAdmin Menu authentication failed with reason: %{reason}",no_perms:"No tienes este permiso",unknown_error:"Ha ocurrido un error.",not_enabled:"¡Menú txAdmin no está activado! Puedes activarlo en la página de ajustes de txAdmin.",announcement_title:"Anuncio del servidor de %{author}:",dialog_empty_input:"La entrada no puede estar vacía.",directmessage_title:"MD de admin %{author}:",onesync_error:"This action requires OneSync to be enabled."},frozen:{froze_player:"¡Has congelado al jugador!",unfroze_player:"¡Has descongelado al jugador!",was_frozen:"¡Has sido congelado por un administrador!"},common:{cancel:"Cancelar",submit:"Enviar",error:"Ha ocurrido un error",copied:"Copiado al portapapeles."},page_main:{tooltips:{tooltip_1:"Pulsa %{key} para cambiar entre páginas y las flechas para cambiar entre las opciones del menú",tooltip_2:"Algunos elementos del menú tienen sub-opciones que pueden ser seleccionadas usando las flechas izquierda y derecha."},player_mode:{title:"Modo del jugador",noclip:{title:"NoClip",label:"Vuela!",success:"NoClip activado"},godmode:{title:"God",label:"Invencible",success:"God Mode activado"},superjump:{title:"Super Salto",label:"Activa el modo super salto, el jugador también correrá más rápido",success:"Super Salto Activado"},normal:{title:"Normal",label:"Modo por defecto",success:"Volviendo al modo por defecto."}},teleport:{title:"Teletransporte",generic_success:"¡A traves del agujero de gusano!",waypoint:{title:"Marcador",label:"Ve al marcador puesto",error:"No tienes ningún marcador puesto."},coords:{title:"Coordenadas",label:"Ir a coordenadas",dialog_title:"Teletransporte",dialog_desc:"Proporciona unas coordenadas en formato x, y, z para ir por el agujero de gusano.",dialog_error:"Coordenadas inválidas. El formato debe ser: 111, 222, 33"},back:{title:"Volver",label:"Vuelve a la última localización",error:"¡No tienes una última localización a la que ir!"},copy:{title:"Copiar coordenadas",label:"Copia las coordenadas al portapapeles."}},vehicle:{title:"Vehículo",not_in_veh_error:"¡No estás en ningún vehículo!",spawn:{title:"Generar",label:"Genera un vehículo",dialog_title:"Generar vehículo",dialog_desc:"Escribe el nombre de modelo del vehículo que quieres generar.",dialog_success:"¡Vehículo generado!",dialog_error:"¡El vehículo '%{modelName}' no existe!",dialog_info:"Intentando generar %{modelName}."},fix:{title:"Arreglar",label:"Arregla el vehículo actual",success:"¡Vehículo arreglado!"},delete:{title:"Borrar",label:"Borra el vehículo actual",success:"¡Vehículo borrado!"},boost:{title:"Boost",label:"Potencia el coche para conseguir la máxima diversión (y quizá velocidad)",success:"¡Vehículo potenciado!",already_boosted:"Este vehículo ya estaba potenciado.",unsupported_class:"Esta clase de vehículo no es compatible.",redm_not_mounted:"You can only boost when mounted on a horse."}},heal:{title:"Curar",myself:{title:"A mí mismo",label:"Regenera tu vida",success_0:"¡Todo curado!",success_1:"¡Deberías sentirte mejor!",success_2:"¡A tope!",success_3:"¡Sana, sana, pata de rana!"},everyone:{title:"A todos",label:"Cura y revive a todos",success:"Todos los jugadores han sido revividos y curados."}},announcement:{title:"Enviar anuncio",label:"Envía un comunicado a todos los jugadores conectados.",dialog_desc:"Ingrese el mensaje que quiere enviar a todos los jugadores.",dialog_placeholder:"Tu comunicado...",dialog_success:"Enviando el anuncio."},clear_area:{title:"Reiniciar área del mundo",label:"Reinicia un área específica del mundo a su estado por defecto",dialog_desc:"Por favor introduce el radio del área que quieres reiniciar entre (0-300). Esto no borrará entidades creadas por el servidor.",dialog_success:"Limpiando área con radio de %{radius}m",dialog_error:"Radio inválido. Prueba otra vez."},player_ids:{title:"Altenar IDs de jugadores",label:"Alternar el mostrar los IDs de jugadores (y otra información) sobre la cabeza de los jugadores cercanos",alert_show:"Enseñado NetIDs de jugadores cercanos.",alert_hide:"Ocultando NetIDs de jugadores cercanos."}},page_players:{misc:{online_players:"Jugadores conectados",players:"Jugadores",search:"Buscar",zero_players:"Ningún jugador encontrado"},filter:{label:"Filter by",no_filter:"No Filter",is_admin:"Is Admin",is_injured:"Is Injured / Dead",in_vehicle:"In Vehicle"},sort:{label:"Ordenar por",distance:"Distancia",id:"ID",joined_first:"Unidos recientes",joined_last:"Unidos primeros",closest:"Más cercanos",farthest:"Más lejanos"},card:{health:"%{percentHealth}% vida"}},player_modal:{misc:{error:"Ha ocurrido un error obteniendo los datos de este usuario. El error se muestra abajo:",target_not_found:"Incapaz de encontrar un jugador con la ID o el nombre de usuario de %{target}"},tabs:{actions:"Acciones",info:"Info",ids:"IDs",history:"Historial",ban:"Vetar"},actions:{title:"Acciones del jugador",command_sent:"¡Comando enviado!",moderation:{title:"Moderación",options:{dm:"DM",warn:"Avisar",kick:"Expulsar",set_admin:"Dar Administrador"},dm_dialog:{title:"Mensaje directo",description:"¿Cual es la razón por la que le mandas un mensaje directo a este jugador?",placeholder:"Razón...",success:"¡Tu mensaje ha sido enviado!"},warn_dialog:{title:"Avisar",description:"¿Cual es la razón por la que estás advirtiendo a este jugador?",placeholder:"Razón...",success:"¡El jugador ha sido avisado!"},kick_dialog:{title:"Expulsar",description:"¿Cual es la razón por la que estás expulsando a este jugador?",placeholder:"Razón...",success:"¡El jugador fué expulsado!"}},interaction:{title:"Interacción",options:{heal:"Curar",go_to:"Ir a",bring:"Traer",spectate:"Observar",toggle_freeze:"Alternar congelación"},notifications:{heal_player:"Curando jugador",tp_player:"Teletransportando a jugador",bring_player:"Invocando jugador",spectate_failed:"¡No se pudo encontrar al objetivo! Saliendo de observar.",spectate_yourself:"No te puedes observar a ti mismo.",freeze_yourself:"No te puedes congelar a ti mismo.",spectate_cycle_failed:"There are no players to cycle to."}},troll:{title:"Troll",options:{drunk:"Emborrachar",fire:"Prender fuego",wild_attack:"Ataque salvaje"}}},info:{title:"Info del jugador",session_time:"Tiempo de sesión",play_time:"Tiempo de juege",joined:"Se unió",whitelisted_label:"Whitelisted",whitelisted_notyet:"todavía no",btn_wl_add:"AÑADIR WL",btn_wl_remove:"ELIMINAR WL",btn_wl_success:"Se ha modificado el estado de la lista blanca.",log_label:"Log",log_empty:"No se han encontrado prohibiciones/avisos.",log_ban_count:"%{smart_count} ban |||| %{smart_count} bans",log_warn_count:"%{smart_count} warn |||| %{smart_count} warns",log_btn:"DETALLES",notes_changed:"Nota de jugador cambiada.",notes_placeholder:"Notas sobre este jugador..."},history:{title:"Historial relacionado",btn_revoke:"REVOCAR",revoked_success:"¡Acción revocada!",banned_by:"BANEADO por %{author}",warned_by:"ADVERTIDO por %{author}",revoked_by:"Revocado por %{author}.",expired_at:"Expirado el %{date}.",expires_at:"Expirado el %{date}."},ban:{title:"Banear jugador",reason_placeholder:"Razón",duration_placeholder:"Duración",hours:"horas",days:"días",weeks:"semanas",months:"meses",permanent:"Permanente",custom:"Personalizado",helper_text:"Por favor, elige una duración",submit:"Aplicar baneo",reason_required:"El campo Motivo es obligatorio.",success:"¡Jugador expulsado!"},ids:{current_ids:"Identificadores actuales",previous_ids:"Identificadores utilizados anteriormente",all_hwids:"All Hardware IDs"}}}};var et_default={$meta:{label:"Estonian",humanizer_language:"et"},restarter:{server_unhealthy_kick_reason:"server tuleb taaskäivitada, palun ühendu uuesti",partial_hang_warn:"Osalise hangumise tõttu taaskäivitub see server 1 minuti pärast. Palun lahkuge serverist kohe.",partial_hang_warn_discord:"Osalise hangumise tõttu taaskäivitub **%{servername}** 1 minuti pärast.",schedule_reason:"Plaanitud taaskäivitamine kell %{time}",schedule_warn:"See server taaskäivitub %{smart_count} minuti pärast. Palun katkestage ühendus kohe. |||| See server taaskäivitub %{smart_count} minuti pärast.",schedule_warn_discord:"**%{servername}** taaskäivitub %{smart_count} minuti pärast. |||| **%{servername}** taaskäivitub %{smart_count} minuti pärast."},kick_messages:{everyone:"All players kicked: %{reason}.",player:"You have been kicked: %{reason}.",unknown_reason:"for unknown reason"},ban_messages:{kick_temporary:'(%{author}) Teid on sellest serverist ajutiselt keelustatud "%{reason}" tõttu. Teie keelustamine aegub: %{expiration}.',kick_permanent:'(%{author}) Teid on sellest serverist igavesti keelustatud "%{reason}" tõttu. Teie keelustamine ei aegugi.',reject:{title_permanent:"Teid on sellest serverist igavesti keelustatud.",title_temporary:"Teid on sellest serverist ajutiselt keelustatud.",label_expiration:"Teie keelustus aegub:",label_date:"Keelsutuse kuupäev",label_author:"Keelustaja",label_reason:"Keelustuse põhjus",label_id:"Keelustuse ID",note_multiple_bans:"Märkus. Teil on oma identifikaatoritele rohkem kui üks aktiivne keelustus.",note_diff_license:"Note: the ban above was applied for another <code>license</code>, which means some of your IDs/HWIDs match the ones associated with that ban."}},whitelist_messages:{admin_only:{mode_title:"See server on <strong>Ainult Administraatori</strong> režiimis.",insufficient_ids:"Teil pole <code>discord</code> või <code>fivemi</code> identifikaatoreid ja vähemalt üks neist on vajalik kinnitada, kui olete txAdmini administraator.",deny_message:"Teie identifikaatoreid ei ole määratud ühelegi txAdmini administraatorile."},guild_member:{mode_title:"See server on <strong>Discord Server Liikme Whitelisti</strong> režiimis.",insufficient_ids:"Teil pole <code>discord</code> identifikaatorit, mis on vajalik kinnitada serveriga liitumiseks, kui olete liitunud meie Discord serveriga. Please open the Discord Desktop app and try again (the Web app won't work).",deny_title:"Ühendamiseks peate liituma meie Discord serveriga.",deny_message:"Palun liituge Discord serveriga %{guildname} ning proovige uuesti."},guild_roles:{mode_title:"See server on <strong>Discord Rolli Whitelisti</strong> režiimis.",insufficient_ids:"Teil pole <code>discord</code> identifikaatorit, mis on vajalik kinnitada serveriga liitumiseks, kui olete liitunud meie Discord serveriga. Please open the Discord Desktop app and try again (the Web app won't work).",deny_notmember_title:"Ühendamiseks peate liituma meie Discord serveriga.",deny_notmember_message:"Palun liituge Discord serveriga %{guildname}, saage üks vajalikest rollidest ja proovige uuesti.",deny_noroles_title:"Teil pole liitumiseks vajalikku rolli.",deny_noroles_message:"Selle serveriga liitumiseks peate saama vähemalt üks whitelistitud rollidest Discord serveris %{guildname}."},approved_license:{mode_title:"See server on <strong>Litsentsi Whitelisti</strong> režiimis.",insufficient_ids:"Teil pole <code>litsentsi</code> identifikaatorit, mis tähendab, et <code>sv_lan</code> on sisse lülitatud. Kui teie olete serveri omanik, siis saate selle välja lülitada <code>server.cfg</code> faili seest.",deny_title:"Teil pole liitumiseks vajalikku whitelisti.",request_id_label:"Taotle ID"}},server_actions:{restarting:"Serveri taaskäivitamine (%{reason}).",restarting_discord:"**%{servername}** taaskäivitub (%{reason}).",stopping:"Server suletakse (%{reason}).",stopping_discord:"**%{servername}** suletakse (%{reason}).",spawning_discord:"**%{servername}** käivitub."},nui_warning:{title:"HOIATUS",warned_by:"Hoiataja:",stale_message:"See hoiatus anti välja enne, kui serveriga ühendust võtsite.",dismiss_key:"SPACE",instruction:"Sellest sõnumist loobumiseks hoidke klahvi %{key} %{smart_count} sekund all. |||| Sellest sõnumist loobumiseks hoidke klahvi %{key} %{smart_count} sekundit all."},nui_menu:{misc:{help_message:"txAdmini menüü on lubatud, selle avamiseks kirjutage /tx.\nSaate konfigureerida ka klahvide sidumise menüüs [Mängu seaded > Klahvide sidumised > FiveM > Menüü: ava põhileht].",menu_not_admin:"Teie identifikaatorid ei ühti ühegi txAdminis registreeritud administraatoriga.\nKui olete txAdminis registreeritud, minge administraatorihaldurisse ja veenduge, et teie identifikaatorid on salvestatud.",menu_auth_failed:"txAdmin Menu authentication failed with reason: %{reason}",no_perms:"Teil pole selleks luba.",unknown_error:"Ilmnes tundmatu viga.",not_enabled:"txAdmini menüü pole lubatud! Saate selle lubada txAdmini seadete lehel.",announcement_title:"Serveri teadaanne %{author}:",dialog_empty_input:"See ei saa olla tühi sisend.",directmessage_title:"DM administraatorilt %{author}:",onesync_error:"This action requires OneSync to be enabled."},frozen:{froze_player:"Olete mängija külmutanud!",unfroze_player:"Olete mängija lahti külmutanud!",was_frozen:"Serveri administraator külmutas teid!"},common:{cancel:"Tühista",submit:"Kinnita",error:"Ilmnes viga",copied:"Kopeeriti lõikelauale."},page_main:{tooltips:{tooltip_1:"Kasuta %{key} lehekülgede vahetamiseks ja nooleklahve menüüelementide liikumiseks",tooltip_2:"Teatud menüüelementidel on alamvalikud, mida saab valida vasak- ja paremnooleklahvide abil"},player_mode:{title:"Mängija režiim",noclip:{title:"NoClip",label:"Lülita sisse NoClip, mis võimaldab teil liikuda läbi seinte ja muude objektide",success:"NoClip käivitatud"},godmode:{title:"God",label:"Lülita sisse GodMode, mis võimaldab vältida kahju tekitamist",success:"GodMode käivitatud"},superjump:{title:"SuperHüpe",label:"Lülita sisse SuperHüpe, mis võimaldab ka kiiresti joosta",success:"Superhüpe käivitatud"},normal:{title:"Tavaline",label:"Naaseb tavalise mängija režiimi",success:"Naastatud mängija tavarežiimile."}},teleport:{title:"Teleporteeru",generic_success:"Saatis su ussiauku!",waypoint:{title:"Märgis",label:"Teleportige kaardil määratud teekonnapunkti",error:"Teil pole kaardil teekonnapunkti määratud."},coords:{title:"Koordinaadid",label:"Teleportige antud koordinaatidele",dialog_title:"Teleporteeru",dialog_desc:"Ussiaugu läbimiseks esitage koordinaadid x, y, z vormingus.",dialog_error:"Valed koordinaadid. Peab olema vormingus: 111, 222, 33"},back:{title:"Tagasi",label:"Naaseb asukohta enne viimast teleporti",error:"Teil pole viimast asukohta, kuhu tagasi minna!"},copy:{title:"Kopeeri koordinaadid",label:"Kopeerige praegused koordinaadid"}},vehicle:{title:"Sõidukid",not_in_veh_error:"Te ei ole praegu sõidukis!",spawn:{title:"Loo",label:"Looge antud sõiduk selle mudelinime järgi",dialog_title:"Loo sõiduk",dialog_desc:"Sisestage selle sõiduki mudeli nimi, mida soovite luua.",dialog_success:"Sõiduk loodud!",dialog_error:"Sõiduki mudeli nime '%{modelName}' ei eksisteeri!",dialog_info:"Proovin luua %{modelName}."},fix:{title:"Paranda",label:"Parandab sõiduki maksimaalselt tervenisti",success:"Sõiduk parandatud!"},delete:{title:"Kustuta",label:"Kustutab sõiduki, milles mängija parasjagu viibib",success:"Sõiduk kustutatud!"},boost:{title:"Kiirenda",label:"Kiirenda sõiduk, et saavutada maksimaalne lõbu (Ja võib olla ka kiirus)",success:"Sõiduk kiirendatud!",already_boosted:"Praegune sõiduk on juba kiirendatud.",unsupported_class:"Paregune sõiduki klass ei ole lubatud.",redm_not_mounted:"You can only boost when mounted on a horse."}},heal:{title:"Tervenda",myself:{title:"Ennast",label:"Ravib end praeguse ped-i maksimumini",success_0:"Kõik paranenud!",success_1:"Sa peaksid end praegu hästi tundma!",success_2:"Täielikult taastatud!",success_3:"Valud parandatud!"},everyone:{title:"Kõik",label:"Ravib ja elustab kõik ühendatud mängijad",success:"Tervendas ja elustas kõik mängijad."}},announcement:{title:"Saada teadaanne",label:"Saatke kõigile mängijatele teadaanne.",dialog_desc:"Sisestage sõnum, mida soovite kõigile mängijatele edastada.",dialog_placeholder:"Teie teadaanne...",dialog_success:"Teadaannde saatmine."},clear_area:{title:"Lähtesta maailmapiirkond",label:"Lähtestage määratud maailmapiirkond vaikeolekusse",dialog_desc:"Sisestage raadius, mis soovite lähtestada (0-300). See ei puhasta olemeid, mille serveri pool tekkis.",dialog_success:"Puhastusala raadiusega %{radius}m",dialog_error:"Vale raadiuse sisestus. Proovi uuesti."},player_ids:{title:"Mängija ID sisse- ja väljalülitamine",label:"Lülitage mängija ID-de (ja muu teabe) kuvamine kõigi läheduses asuvate mängijate pea kohal",alert_show:"Kuvatakse lähedalasuvate mängijate ID-d.",alert_hide:"Lähedal asuva mängija ID-de peitmine."}},page_players:{misc:{online_players:"Hetkesed mängijad",players:"Mängijad",search:"Otsi",zero_players:"Mängijat ei leitud"},filter:{label:"Filter by",no_filter:"No Filter",is_admin:"Is Admin",is_injured:"Is Injured / Dead",in_vehicle:"In Vehicle"},sort:{label:"Sorteeri",distance:"Kaugus",id:"ID",joined_first:"Liitus esimest korda",joined_last:"Liitus viimati",closest:"Lähim",farthest:"Kõige kaugemal"},card:{health:"%{percentHealth}% tervis"}},player_modal:{misc:{error:"Selle kasutaja üksikasjade toomisel ilmnes viga. Viga on näidatud allpool:",target_not_found:"%{target} ID või kasutajanimega mängijat ei õnnestunud leida"},tabs:{actions:"Tegevused",info:"Info",ids:"IDs",history:"Ajalugu",ban:"Keelusta"},actions:{title:"Mängija toimingud",command_sent:"Käsk saadetud!",moderation:{title:"Moderatsioon",options:{dm:"DM",warn:"Hoiata",kick:"Kick",set_admin:"Anna administraatori õigused"},dm_dialog:{title:"DM",description:"Mis on selle mängijaga DM saatmise põhjus?",placeholder:"Põhjus...",success:"Teie DM on saadetud!"},warn_dialog:{title:"Hoiata",description:"Mis on selle mängija hoiatamise põhjus?",placeholder:"Põhjus...",success:"Mängijat hoiatati!"},kick_dialog:{title:"Kick",description:"Mis on selle mängija kickimise põhjus?",placeholder:"Põhjus...",success:"Mängija kickiti!"}},interaction:{title:"Interaktsioon",options:{heal:"Tervenda",go_to:"Mine",bring:"Too",spectate:"Jälgi",toggle_freeze:"Külmuta"},notifications:{heal_player:"Tervendad mängija",tp_player:"Teleportid mängija juurde",bring_player:"Lähed mängija juurde",spectate_failed:"Eesmärki ei õnnestunud lahendada! Lahkun Specatatest.",spectate_yourself:"Sa ei saa ennast specateda.",freeze_yourself:"Te ei saa ennast külmutada.",spectate_cycle_failed:"There are no players to cycle to."}},troll:{title:"Troll",options:{drunk:"Tee purju",fire:"Pane mängija põlema",wild_attack:"Metsik rünnak"}}},info:{title:"Mängija info",session_time:"Seansi aeg",play_time:"Mängimise aeg",joined:"Ühines",whitelisted_label:"Whitelisted",whitelisted_notyet:"mitte veel",btn_wl_add:"LISA WL",btn_wl_remove:"EEMALDA WL",btn_wl_success:"Whitelisti olek muudetud.",log_label:"Log",log_empty:"Mitte ühtegi keelustamist/hoiatust leitud.",log_ban_count:"%{smart_count} keelustus |||| %{smart_count} keelustused",log_warn_count:"%{smart_count} hoiatus |||| %{smart_count} hoiatused",log_btn:"ÜKSIKASJAD",notes_changed:"Mängija märge muudetud.",notes_placeholder:"Mängija märge..."},history:{title:"Seotud ajalugu",btn_revoke:"EEMALDA",revoked_success:"Tegevus eemaldatud!",banned_by:"KEELUSTAJA %{author}",warned_by:"HOIATAJA %{author}",revoked_by:"Eemaldaja %{author}.",expired_at:"Aegunud kell %{date}.",expires_at:"Aegub kell %{date}."},ban:{title:"Keelusta mängija",reason_placeholder:"Põhjus",duration_placeholder:"Kestvus",hours:"Tunnid",days:"Päevad",weeks:"Nädalad",months:"Kuud",permanent:"Igavesti",custom:"Kohandatud",helper_text:"Valige kestus",submit:"Rakenda keeld",reason_required:"Põhjuse ala on kohustuslik.",success:"Mängija keelustatud!"},ids:{current_ids:"Praegused identifikaatorid",previous_ids:"Varem kasutatud identifikaatorid",all_hwids:"Kõik Hardware IDd"}}}};var fa_default={$meta:{label:"Persian",humanizer_language:"fa"},restarter:{server_unhealthy_kick_reason:"دلیل اخراج به دلیل مشکل در سرور: سرور باید دوباره راه‌اندازی شود, لطفاً دوباره متصل شوید",partial_hang_warn:"به دلیل یک هنگ جزئی، این سرور در 1 دقیقه دیگر راه‌اندازی مجدد می‌شود. لطفاً اکنون قطع شوید.",partial_hang_warn_discord:"به دلیل یک هنگ جزئی، **%{servername}** در 1 دقیقه دیگر راه‌اندازی مجدد می‌شود.",schedule_reason:"راه‌اندازی مجدد در ساعت: %{time}",schedule_warn:"سرور تا %{smart_count} دقیقه دیگر راه‌اندازی مجدد می‌شود. لطفاً قطع شوید. |||| سرور تا %{smart_count} دقیقه دیگر راه‌اندازی مجدد می‌شود.",schedule_warn_discord:"**%{servername}** تا %{smart_count} دقیقه دیگر راه‌اندازی مجدد می‌شود. |||| **%{servername}** تا %{smart_count} دقیقه دیگر راه‌اندازی مجدد می‌شود."},kick_messages:{everyone:"همه بازیکنان اخراج شدند: %{reason}.",player:"شما اخراج شدید: %{reason}.",unknown_reason:"به دلیل نامشخص"},ban_messages:{kick_temporary:'(%{author}) شما از این سرور بن شدید، به دلیل: "%{reason}". اتمام بن شما: %{expiration}.',kick_permanent:'(%{author}) شما برای همیشه از این سرور بن شدید، به دلیل: "%{reason}".',reject:{title_permanent:"شما برای همیشه از این سرور بن شده‌اید.",title_temporary:"شما به طور موقت از این سرور بن شده‌اید.",label_expiration:"بن شما در این تاریخ منقضی می‌شود",label_date:"تاریخ بن",label_author:"بن شده توسط",label_reason:"دلیل بن",label_id:"شناسه بن",note_multiple_bans:"توجه: شما بیش از یک بن فعال در شناسه‌های خود دارید.",note_diff_license:"توجه: بن فوق برای <code>license</code> دیگری اعمال شده است، به این معنی که برخی از شناسه‌ها/HWIDهای شما با موارد مرتبط با آن بن مطابقت دارند."}},whitelist_messages:{admin_only:{mode_title:"این سرور در حالت <strong>فقط مدیر</strong> است.",insufficient_ids:"شما شناسه‌های <code>discord</code> یا <code>fivem</code> ندارید، و حداقل یکی از آنها برای تأیید اینکه آیا شما مدیر txAdmin هستید، لازم است.",deny_message:"شناسه‌های شما به هیچ مدیر txAdmin اختصاص داده نشده است."},guild_member:{mode_title:"این سرور در حالت <strong>لیست سفید اعضای سرور Discord</strong> است.",insufficient_ids:"شما شناسه <code>discord</code> ندارید، که برای تأیید اینکه آیا به سرور Discord ما پیوسته‌اید، لازم است. لطفاً برنامه Discord Desktop را باز کنید و دوباره امتحان کنید (برنامه وب کار نخواهد کرد).",deny_title:"برای اتصال باید به سرور Discord ما بپیوندید.",deny_message:"لطفاً به guild %{guildname} بپیوندید و سپس دوباره امتحان کنید."},guild_roles:{mode_title:"این سرور در حالت <strong>لیست سفید نقش Discord</strong> است.",insufficient_ids:"شما شناسه <code>discord</code> ندارید، که برای تأیید اینکه آیا به سرور Discord ما پیوسته‌اید، لازم است. لطفاً برنامه Discord Desktop را باز کنید و دوباره امتحان کنید (برنامه وب کار نخواهد کرد).",deny_notmember_title:"برای اتصال باید به سرور Discord ما بپیوندید.",deny_notmember_message:"لطفاً به %{guildname} بپیوندید، یکی از نقش‌های مورد نیاز را دریافت کنید و سپس دوباره امتحان کنید.",deny_noroles_title:"شما نقش لیست سفید مورد نیاز برای پیوستن را ندارید.",deny_noroles_message:"برای پیوستن به این سرور، باید حداقل یکی از نقش‌های لیست سفید را در guild %{guildname} داشته باشید."},approved_license:{mode_title:"این سرور در حالت <strong>لیست سفید مجوز</strong> است.",insufficient_ids:"شما شناسه <code>license</code> ندارید، که به این معنی است که سرور <code>sv_lan</code> را فعال کرده است. اگر شما صاحب سرور هستید، می‌توانید آن را در فایل <code>server.cfg</code> غیرفعال کنید.",deny_title:"شما در لیست سفید برای پیوستن به این سرور نیستید.",request_id_label:"درخواست شناسه"}},server_actions:{restarting:"سرور در حال راه‌اندازی مجدد است، دلیل: (%{reason}).",restarting_discord:"**%{servername}** در حال راه‌اندازی مجدد شدن است، دلیل: (%{reason}).",stopping:"سرور در حال خاموش شدن است، دلیل: (%{reason}).",stopping_discord:"**%{servername}** در حال خاموش شدن است، دلیل: (%{reason}).",spawning_discord:"**%{servername}** در حال راه‌اندازی."},nui_warning:{title:"هشدار",warned_by:"هشدار داده شده توسط:",stale_message:"این هشدار قبل از اتصال شما به سرور صادر شده است.",dismiss_key:"SPACE",instruction:"دکمه %{key} را برای %{smart_count} ثانیه نگه دارید تا پیام رد شود. |||| دکمه %{key} را برای %{smart_count} ثانیه‌ها نگه دارید تا پیام رد شود."},nui_menu:{misc:{help_message:"منوی txAdmin فعال شد، برای باز کردن آن /tx را تایپ کنید.\nهمچنین می‌توانید یک کلید میانبر را در [تنظیمات بازی > کلیدهای اتصال > FiveM > منو: باز کردن صفحه اصلی] پیکربندی کنید.",menu_not_admin:"شناسه‌های شما با هیچ مدیر ثبت شده در txAdmin مطابقت ندارند.\nاگر در txAdmin ثبت نام کرده‌اید، به مدیر مدیر بروید و مطمئن شوید که شناسه‌های شما ذخیره شده‌اند.",menu_auth_failed:"احراز هویت منوی txAdmin با دلیل زیر انجام نشد: %{reason}",no_perms:"شما این مجوز را ندارید.",unknown_error:"یک خطای ناشناخته رخ داد.",not_enabled:"منوی txAdmin فعال نیست! می‌توانید آن را در صفحه تنظیمات txAdmin فعال کنید.",announcement_title:"اعلامیه سرور توسط %{author}:",dialog_empty_input:"شما نمی‌توانید ورودی خالی داشته باشید.",directmessage_title:"پیام مستقیم از مدیر %{author}:",onesync_error:"این عمل نیاز دارد که OneSync فعال باشد."},frozen:{froze_player:"شما بازیکن را مسدود کردید!",unfroze_player:"شما بازیکن را از مسدودیت خارج کردید!",was_frozen:"شما توسط یک مدیر سرور مسدود شده‌اید!"},common:{cancel:"انصراف",submit:"ثبت",error:"یک خطا رخ داد",copied:"در کلیپ‌بورد کپی شد."},page_main:{tooltips:{tooltip_1:"از %{key} برای جابجایی بین صفحات و کلیدهای جهت‌دار برای پیمایش موارد منو استفاده کنید",tooltip_2:"برخی از موارد منو دارای گزینه‌های فرعی هستند که می‌توانند با استفاده از کلیدهای جهت‌دار چپ و راست انتخاب شوند"},player_mode:{title:"حالت بازیکن",noclip:{title:"بدون برخورد",label:"پرواز",success:"بدون برخورد فعال شد"},godmode:{title:"خدا",label:"آسیب‌ناپذیر",success:"حالت خدا فعال شد"},superjump:{title:"پرش فوق‌العاده",label:"تغییر حالت پرش فوق‌العاده، بازیکن سریعتر نیز می‌دود",success:"پرش فوق‌العاده فعال شد"},normal:{title:"عادی",label:"حالت پیش‌فرض",success:"به حالت پیش‌فرض بازیکن بازگشت."}},teleport:{title:"انتقال از راه دور",generic_success:"شما را به داخل کرم‌چاله فرستادم!",waypoint:{title:"نقطه مسیر",label:"رفتن به نقطه مسیر تنظیم شده",error:"شما نقطه مسیری تنظیم نکرده‌اید."},coords:{title:"مختصات",label:"رفتن به مختصات مشخص شده",dialog_title:"انتقال از راه دور",dialog_desc:"برای رفتن از طریق کرم‌چاله، مختصات را در قالب x، y، z ارائه دهید.",dialog_error:"مختصات نامعتبر. باید در قالب: 111، 222، 33 باشد"},back:{title:"بازگشت",label:"بازگشت به آخرین مکان",error:"شما آخرین مکانی برای بازگشت ندارید!"},copy:{title:"کپی مختصات",label:"کپی مختصات در کلیپ‌بورد."}},vehicle:{title:"وسیله نقلیه",not_in_veh_error:"شما در حال حاضر در یک وسیله نقلیه نیستید!",spawn:{title:"تولید",label:"تولید وسیله نقلیه با نام مدل",dialog_title:"تولید وسیله نقلیه",dialog_desc:"نام مدل وسیله نقلیه‌ای که می‌خواهید تولید کنید را وارد کنید.",dialog_success:"وسیله نقلیه تولید شد!",dialog_error:"نام مدل وسیله نقلیه '%{modelName}' وجود ندارد!",dialog_info:"تلاش برای تولید %{modelName}."},fix:{title:"تعمیر",label:"تعمیر وسیله نقلیه فعلی",success:"وسیله نقلیه تعمیر شد!"},delete:{title:"حذف",label:"حذف وسیله نقلیه فعلی",success:"وسیله نقلیه حذف شد!"},boost:{title:"تقویت",label:"تقویت خودرو برای دستیابی به حداکثر لذت (و شاید سرعت)",success:"وسیله نقلیه تقویت شد!",already_boosted:"این وسیله نقلیه قبلاً تقویت شده است.",unsupported_class:"این کلاس وسیله نقلیه پشتیبانی نمی‌شود.",redm_not_mounted:"شما فقط می‌توانید هنگام سوار شدن بر اسب تقویت کنید."}},heal:{title:"درمان",myself:{title:"خودم",label:"سلامتی شما را بازیابی می‌کند",success_0:"کاملاً درمان شد!",success_1:"اکنون باید احساس خوبی داشته باشید!",success_2:"به طور کامل بازیابی شد!",success_3:"دردها برطرف شد!"},everyone:{title:"همه",label:"همه بازیکنان را درمان و احیا می‌کند",success:"همه بازیکنان درمان و احیا شدند."}},announcement:{title:"ارسال اعلامیه",label:"ارسال اعلامیه به همه بازیکنان آنلاین.",dialog_desc:"ارسال اعلامیه به همه بازیکنان آنلاین.",dialog_placeholder:"اعلامیه شما...",dialog_success:"ارسال اعلامیه."},clear_area:{title:"بازنشانی منطقه جهان",label:"بازنشانی یک منطقه مشخص از جهان به حالت پیش‌فرض خود",dialog_desc:"لطفاً شعاعی را که می‌خواهید موجودیت‌ها را در آن بازنشانی کنید وارد کنید (0-300). این موجودیت‌های تولید شده در سمت سرور را پاک نمی‌کند.",dialog_success:"پاک کردن منطقه با شعاع %{radius} متر",dialog_error:"ورودی شعاع نامعتبر است. دوباره امتحان کنید."},player_ids:{title:"تغییر شناسه‌های بازیکن",label:"نمایش شناسه‌های بازیکن (و سایر اطلاعات) را در بالای سر همه بازیکنان نزدیک تغییر می‌دهد",alert_show:"نمایش NetIDهای بازیکنان نزدیک.",alert_hide:"پنهان کردن NetIDهای بازیکنان نزدیک."}},page_players:{misc:{online_players:"بازیکنان آنلاین",players:"بازیکنان",search:"جستجو",zero_players:"هیچ بازیکنی یافت نشد."},filter:{label:"فیلتر بر اساس",no_filter:"بدون فیلتر",is_admin:"مدیر است",is_injured:"مجروح / مرده است",in_vehicle:"در وسیله نقلیه است"},sort:{label:"مرتب‌سازی بر اساس",distance:"فاصله",id:"شناسه",joined_first:"اولین پیوست",joined_last:"آخرین پیوست",closest:"نزدیک‌ترین",farthest:"دورترین"},card:{health:"%{percentHealth}% سلامتی"}},player_modal:{misc:{error:"هنگام واکشی جزئیات این کاربر، یک خطا رخ داد. خطا در زیر نشان داده شده است:",target_not_found:"قادر به یافتن بازیکن آنلاینی با شناسه یا نام کاربری %{target} نبود."},tabs:{actions:"اقدامات",info:"اطلاعات",ids:"شناسه‌ها",history:"تاریخچه",ban:"بن"},actions:{title:"اقدامات بازیکن",command_sent:"دستور ارسال شد!",moderation:{title:"میانه‌روی",options:{dm:"پیام مستقیم",warn:"هشدار",kick:"اخراج",set_admin:"دادن مدیر"},dm_dialog:{title:"پیام مستقیم",description:"دلیل ارسال پیام مستقیم به این بازیکن چیست؟",placeholder:"دلیل...",success:"پیام مستقیم شما ارسال شد!"},warn_dialog:{title:"هشدار",description:"دلیل هشدار مستقیم به این بازیکن چیست؟",placeholder:"دلیل...",success:"بازیکن هشدار داده شد!"},kick_dialog:{title:"اخراج",description:"دلیل اخراج این بازیکن چیست؟",placeholder:"دلیل...",success:"بازیکن اخراج شد!"}},interaction:{title:"تعامل",options:{heal:"درمان",go_to:"رفتن به",bring:"آوردن",spectate:"تماشا",toggle_freeze:"تغییر مسدودیت"},notifications:{heal_player:"در حال درمان بازیکن",tp_player:"در حال انتقال از راه دور به بازیکن",bring_player:"در حال احضار بازیکن",spectate_failed:"نتوانستم هدف را حل کنم! خروج از تماشا.",spectate_yourself:"شما نمی‌توانید خودتان را تماشا کنید.",freeze_yourself:"شما نمی‌توانید خودتان را مسدود کنید.",spectate_cycle_failed:"هیچ بازیکنی برای چرخیدن وجود ندارد."}},troll:{title:"ترول",options:{drunk:"مست کردن",fire:"آتش زدن",wild_attack:"حمله وحشیانه"}}},info:{title:"اطلاعات بازیکن",session_time:"زمان جلسه",play_time:"زمان بازی",joined:"پیوست",whitelisted_label:"لیست سفید",whitelisted_notyet:"هنوز نه",btn_wl_add:"افزودن به لیست سفید",btn_wl_remove:"حذف از لیست سفید",btn_wl_success:"وضعیت لیست سفید تغییر کرد.",log_label:"ورود",log_empty:"هیچ بن/هشداری یافت نشد.",log_ban_count:"%{smart_count} بن |||| %{smart_count} بن",log_warn_count:"%{smart_count} هشدار |||| %{smart_count} هشدار",log_btn:"جزئیات",notes_changed:"یادداشت بازیکن تغییر کرد.",notes_placeholder:"یادداشت‌ها درباره این بازیکن..."},history:{title:"تاریخچه مرتبط",btn_revoke:"لغو",revoked_success:"عمل لغو شد!",banned_by:"بن شده توسط %{author}",warned_by:"هشدار داده شده توسط %{author}",revoked_by:"لغو شده توسط %{author}.",expired_at:"منقضی شده در %{date}.",expires_at:"منقضی می‌شود در %{date}."},ban:{title:"بن کردن بازیکن",reason_placeholder:"دلیل",duration_placeholder:"مدت",hours:"ساعت‌ها",days:"روزها",weeks:"هفته‌ها",months:"ماه‌ها",permanent:"دائمی",custom:"سفارشی",helper_text:"لطفاً یک مدت انتخاب کنید",submit:"اعمال بن",reason_required:"فیلد دلیل الزامی است.",success:"بازیکن بن شد!"},ids:{current_ids:"شناسه‌های فعلی",previous_ids:"شناسه‌های استفاده شده قبلی",all_hwids:"همه شناسه‌های سخت‌افزاری"}}}};var fi_default={$meta:{label:"Finnish",humanizer_language:"fi"},restarter:{server_unhealthy_kick_reason:"palvelin täytyy käynnistää uudelleen, ole hyvä ja yhdistä uudestaan",partial_hang_warn:"Due to a partial hang, this server will restart in 1 minute. Please disconnect now.",partial_hang_warn_discord:"Due to a partial hang, **%{servername}** will restart in 1 minute.",schedule_reason:"Ajoitettu uudelleenkäynnistys kello %{time}",schedule_warn:"Palvelin on ajoitettu käynnistymään uudelleen minuutin kuluttua. Poistu palvelimelta nyt! |||| Palvelin on ajoitettu käynnistymään uudelleen %{smart_count} minuutin kuluttua.",schedule_warn_discord:"**%{servername}** on uudelleenkäynnistymässä %{smart_count} minuutin kuluttua. |||| **%{servername}** on ajoitettu käynnistymään uudelleen %{smart_count} minuutin kuluttua."},kick_messages:{everyone:"All players kicked: %{reason}.",player:"You have been kicked: %{reason}.",unknown_reason:"for unknown reason"},ban_messages:{kick_temporary:'(%{author}) Olet saanut porttikiellon palvelimelle. Porttikiellon syy: "%{reason}". Porttikielto päättyy: %{expiration}.',kick_permanent:'(%{author}) Olet saanut pysyvän porttikiellon palvelimelle. Porttikiellon syy: "%{reason}".',reject:{title_permanent:"Olet saanut ikuisen porttikiellon palvelimelle.",title_temporary:"Olet saanut porttikiellon palvelimelle.",label_expiration:"Porttikieltosi päättyy",label_date:"Porttikiellon päivämäärä",label_author:"Porttikiellon antanut",label_reason:"Porttikiellon syy",label_id:"Porttikiellon ID",note_multiple_bans:"Huom: you have more than one active ban on your identifiers.",note_diff_license:"Note: the ban above was applied for another <code>license</code>, which means some of your IDs/HWIDs match the ones associated with that ban."}},whitelist_messages:{admin_only:{mode_title:"This server is in <strong>Admin-only</strong> mode.",insufficient_ids:"You do not have <code>discord</code> or <code>fivem</code> identifiers, and at least one of them is required to validate if you are a txAdmin administrator.",deny_message:"Your identifiers are not assigned to any txAdmin administrator."},guild_member:{mode_title:"This server is in <strong>Discord server Member Whitelist</strong> mode.",insufficient_ids:"You do not have the <code>discord</code> identifier, which is required to validate if you have joined our Discord server. Please open the Discord Desktop app and try again (the Web app won't work).",deny_title:"You are required to join our Discord server to connect.",deny_message:"Please join the guild %{guildname} then try again."},guild_roles:{mode_title:"This server is in <strong>Discord Role Whitelist</strong> mode.",insufficient_ids:"You do not have the <code>discord</code> identifier, which is required to validate if you have joined our Discord server. Please open the Discord Desktop app and try again (the Web app won't work).",deny_notmember_title:"You are required to join our Discord server to connect.",deny_notmember_message:"Please join %{guildname}, get one of the required roles, then try again.",deny_noroles_title:"You do not have a whitelisted role required to join.",deny_noroles_message:"To join this server you are required to have at least one of the whitelisted roles on the guild %{guildname}."},approved_license:{mode_title:"This server is in <strong>License Whitelist</strong> mode.",insufficient_ids:"You do not have the <code>license</code> identifier, which means the server has <code>sv_lan</code> enabled. If you are the server owner, you can disable it in the <code>server.cfg</code> file.",deny_title:"You are not whitelisted to join this server.",request_id_label:"Request ID"}},server_actions:{restarting:"Palvelin käynnistyy uudelleen (%{reason}).",restarting_discord:"**%{servername}** käynnistyy uudelleen (%{reason}).",stopping:"Palvelin sammutettu (%{reason}).",stopping_discord:"**%{servername}** sammutettu (%{reason}).",spawning_discord:"**%{servername}** käynnistetty."},nui_warning:{title:"VAROITUS",warned_by:"Sinua varoitti:",stale_message:"Tämä varoitus annettiin ennen kuin yhdistit palvelimeen.",dismiss_key:"välilyönti",instruction:"Pidä %{key} pohjassa %{smart_count} sekunti jatkaaksesi. |||| Pidä %{key} pohjassa %{smart_count} sekuntia jatkaaksesi."},nui_menu:{misc:{help_message:"txAdmin Menu päällä. Kirjoita /tx avataksesi.\nVoit myös asettaa menulle oman näppäimen: [Game Settings > Key Bindings > FiveM > Menu: Open Main Page].",menu_not_admin:"Tietosi eivät vastaa yhtäkään txAdminiin rekisteröityä ylläpitäjää.\nMikäli olet rekisteröitynyt txAdminiin, siirry kohtaan [Admin Manager] ja varmista että tietosi ovat tallennettu.",menu_auth_failed:"txAdmin Menu authentication failed with reason: %{reason}",no_perms:"Sinulla ei ole oikeuksia tähän.",unknown_error:"Tuntematon virhe",not_enabled:"txAdmin Menu ei ole käytössä! Voit ottaa sen käyttöön txAdminin asetuksista.",announcement_title:"Palvelinilmoitus henkilöltä %{author}:",dialog_empty_input:"Tekstikenttä ei voi olla tyhjä.",directmessage_title:"Yksityisviesti ylläpitäjältä %{author}:",onesync_error:"This action requires OneSync to be enabled."},frozen:{froze_player:"Pelaaja jäädytety!",unfroze_player:"Pelaaja vapautettu!",was_frozen:"Sinut on jäädytetty ylläpitäjän toimesta!"},common:{cancel:"Takaisin",submit:"Lähetä",error:"Virhe",copied:"Kopioitu leikepöydälle."},page_main:{tooltips:{tooltip_1:"Käytä %{key} näppäintä vaihtaaksesi välilehtiä ja nuolinäppäimiä navikoidaksesi listaa",tooltip_2:"Osalla listan osioista on lisäosioita, joita voit selata käyttämällä vasenta ja oikeaa nuolinäppäintä"},player_mode:{title:"Pelaajan tila",noclip:{title:"NoClip",label:"Lennä ympäriinsä",success:"NoClip päällä"},godmode:{title:"God",label:"Kuolematon",success:"God Mode päällä"},superjump:{title:"Super Jump",label:"Toggle super jump mode, the player will also run faster",success:"Super Jump enabled"},normal:{title:"Normaali",label:"Palauta pelaajan tila normaaliksi",success:"Palautettu takaisin normaaliin tilaan"}},teleport:{title:"Teleport",generic_success:"Lähetin sinut madonreikään!",waypoint:{title:"Waypoint",label:"Siirry valittuun pisteeseen",error:"Et ole asettanut haluttua määränpäätä."},coords:{title:"Koordinaatit",label:"Siirry syötettyihin koordinaatteihin",dialog_title:"Teleport",dialog_desc:"Syötä koordinaatit muodossa: x, y, z",dialog_error:"Virheellinen koordinaatti. Koordinaattien pitää olla muotoa: 111, 222, 33"},back:{title:"Takaisin",label:"Siirry viimeisimpään paikkaan",error:"Viimeisintä paikkaa ei löytynyt!"},copy:{title:"Kopioi koordinaatit",label:"Kopioi koordinaatit leikepöydälle."}},vehicle:{title:"Ajoneuvo",not_in_veh_error:"Et ole ajoneuvossa!",spawn:{title:"Luo",label:"Luo ajoneuvo nimellä",dialog_title:"Luo ajoneuvo",dialog_desc:"Aseta ajoneuvon nimi, jonka haluat luoda",dialog_success:"Ajoneuvo luotu!",dialog_error:"Ajoneuvo '%{modelName}' ei ole olemassa!",dialog_info:"Trying to spawn %{modelName}."},fix:{title:"Korjaa",label:"Korjaa tämänhetkinen ajoneuvo",success:"Ajoneuvo korjattu!"},delete:{title:"Poista",label:"Poista tämänhetkinen ajoneuvo",success:"Ajoneuvo poistettu!"},boost:{title:"Viritä",label:"Viritä ajoneuvosi",success:"Ajoneuvo viritetty!",already_boosted:"Ajoneuvo on jo viritetty.",unsupported_class:"Tätä ajoneuvoluokkaa ei voi virittää.",redm_not_mounted:"You can only boost when mounted on a horse."}},heal:{title:"Elvytä",myself:{title:"Minut",label:"Elvyttää sinut",success_0:"Elvytetty!",success_1:"Kaikki on taas hyvin!",success_2:"Onneks aina voi nostaa!",success_3:"Elossa ollaan taas!"},everyone:{title:"Jokainen",label:"Elvyttää jokaisen pelaajan",success:"Kaikki pelaajat elvytetty."}},announcement:{title:"Lähetä ilmoitus",label:"Lähetä ilmoitus kaikille pelaajille.",dialog_desc:"Syötä viesti, jonka haluat pelaajille lähetettävän.",dialog_placeholder:"Ilmoituksesi....",dialog_success:"Lähetetään ilmoitusta."},clear_area:{title:"Tyhjennä alue",label:"Tyhjennä valittu alue",dialog_desc:"Aseta haluttu etäisyys väliltä (0-300). Tämä toiminto ei poista palvelimen puolelta (server side) luotuja asioita.",dialog_success:"Tyjennetään alueelta: %{radius}m",dialog_error:"Virheellinen alue, yritä uudelleen."},player_ids:{title:"Näytä pelaajien ID:t",label:"Näytä lähellä olevien pelaajien ID:t",alert_show:"Näytetään lähellä olevien pelaajien ID:t.",alert_hide:"Piilotetaan lähellä olevien pelaajien ID:t."}},page_players:{misc:{online_players:"Paikalla olevat pelaajat",players:"pelaaja(a)",search:"Hae",zero_players:"Pelaajia ei löytynyt"},filter:{label:"Filter by",no_filter:"No Filter",is_admin:"Is Admin",is_injured:"Is Injured / Dead",in_vehicle:"In Vehicle"},sort:{label:"Järjestä",distance:"Etäisyys",id:"ID",joined_first:"Liittynyt ensimmäisenä",joined_last:"Liittynyt viimeisenä",closest:"Lähimpänä",farthest:"Kauimpana"},card:{health:"%{percentHealth}% health"}},player_modal:{misc:{error:"Käyttäjätietojen haussa tapahtui virhe. Lisätietoja alhaalla:",target_not_found:"Virhe löytäessä pelaajaa ID:llä tai käyttäjänimellä (%{target})"},tabs:{actions:"Toiminnot",info:"Info",ids:"ID:t",history:"Historia",ban:"Porttikielto"},actions:{title:"Pelaajan toiminnot",command_sent:"Toiminto suoritettu!",moderation:{title:"Hallinnointi",options:{dm:"Yksityisviesti",warn:"Varoita",kick:"Potki",set_admin:"Anna ylläpito-oikeudet"},dm_dialog:{title:"Yksityisviesti",description:"Mitä haluat pelaajalle lähettää?",placeholder:"Viesti...",success:"Yksityisviesti lähetetty!"},warn_dialog:{title:"Varoita",description:"Mistä haluat pelaajaa varoittaa?",placeholder:"Syy...",success:"Pelaajaa varoitettu!"},kick_dialog:{title:"Potki",description:"Mistä syystä haluat pelaajan potkia?",placeholder:"Syy...",success:"Pelaaja potkittu palvelimelta!"}},interaction:{title:"Toiminnot",options:{heal:"Elvytä",go_to:"Mene pelaajan luokse",bring:"Tuo pelaaja luoksesi",spectate:"Katso pelaajaa",toggle_freeze:"Jäädytä"},notifications:{heal_player:"Elvytetään pelaaja",tp_player:"Mennään pelaajan luokse",bring_player:"Tuodaan pelaaja",spectate_failed:"Virhe kohteen tavoittamisessa!",spectate_yourself:"Et voi katsoa itseäsi.",freeze_yourself:"Et voi jäädyttää itseäsi.",spectate_cycle_failed:"There are no players to cycle to."}},troll:{title:"Troll",options:{drunk:"Humalluta",fire:"Aseta tuleen",wild_attack:"Wild attack"}}},info:{title:"Pelaajatiedot",session_time:"Session pituus",play_time:"Peliaika",joined:"Liittynyt",whitelisted_label:"Whitelisted",whitelisted_notyet:"not yet",btn_wl_add:"ANNA WL",btn_wl_remove:"POISTA WL",btn_wl_success:"Whitelistin tila vaihdettu.",log_label:"Log",log_empty:"Porttikieltoja/varoituksia ei löytynyt.",log_ban_count:"%{smart_count} porttikielto |||| %{smart_count} porttikieltoa",log_warn_count:"%{smart_count} varoitus |||| %{smart_count} varoitusta",log_btn:"LISÄTIEDOT",notes_changed:"Pelaajan merkintöjä muutettu.",notes_placeholder:"Merkintöjä pelaajasta..."},history:{title:"Historia",btn_revoke:"KUMOA",revoked_success:"Tapahtuma kumottu!",banned_by:"PORTTIKIELLON antanut %{author}",warned_by:"VAROITUKSEN antanut %{author}",revoked_by:"Kumonnut %{author}.",expired_at:"Expired at %{date}.",expires_at:"Expires at %{date}."},ban:{title:"Aseta pelaaja porttikieltoon",reason_placeholder:"Syy",duration_placeholder:"Kesto",hours:"tunti(a)",days:"päivä(ä)",weeks:"viikko(a)",months:"kuukautta",permanent:"Ikuinen",custom:"Mukautettu",helper_text:"Aseta porttikiellon kesto",submit:"Aseta porttikielto",reason_required:"Syötäthän porttikiellon syyn",success:"Pelaaja asetettu porttikieltoon!"},ids:{current_ids:"Nykyiset tunnisteet",previous_ids:"Aiemmin käytetyt tunnisteet",all_hwids:"All Hardware IDs"}}}};var fr_default={$meta:{label:"French",humanizer_language:"fr"},restarter:{server_unhealthy_kick_reason:"le serveur doit être redémarré, reconnecte-toi s'il te plaît",partial_hang_warn:"En raison d'un blocage partiel, le serveur redémarrera dans 1 minute. Veuillez vous déconnecter maintenant.",partial_hang_warn_discord:"En raison d'un blocage partiel, **%{servername}** redémarrera dans 1 minute.",schedule_reason:"redémarage prévu à %{time}",schedule_warn:"Le serveur redémarrera dans %{smart_count} minute. Merci de vous déconnecter. |||| Le serveur redémarrera dans %{smart_count} minutes.",schedule_warn_discord:"**%{servername}** redémarrera dans %{smart_count} minute. |||| **%{servername}** redémarrera dans %{smart_count} minutes."},kick_messages:{everyone:"All players kicked: %{reason}.",player:"You have been kicked: %{reason}.",unknown_reason:"for unknown reason"},ban_messages:{kick_temporary:'(%{author}) Vous avez été banni pour: "%{reason}". Votre bannissement expirera dans: %{expiration}.',kick_permanent:'(%{author}) Vous avez été définitivement banni de ce serveur pour: "%{reason}".',reject:{title_permanent:"Vous avez été définitivement banni de ce serveur.",title_temporary:"Vous avez été temporairement banni de ce serveur.",label_expiration:"Votre sanction expire dans",label_date:"Date de la sanction",label_author:"Banni par",label_reason:"Raison du bannissement",label_id:"ID de sanction",note_multiple_bans:"Note : vous avez plus d'un bannissement sur votre identifiant.",note_diff_license:"Note: the ban above was applied for another <code>license</code>, which means some of your IDs/HWIDs match the ones associated with that ban."}},whitelist_messages:{admin_only:{mode_title:"Ce serveur est en mode <strong>Admin Only</strong> (maintenance).",insufficient_ids:"Vous n'avez pas d'identifiant <code>discord</code> ou <code>fivem</code>, et au moins un d'entre eux est requis pour valider que vous êtes un administrateur txAdmin.",deny_message:"Vos identifiants ne sont attribués à aucun administrateur txAdmin."},guild_member:{mode_title:"Ce serveur est en mode <strong>Discord Member Whitelist</strong>.",insufficient_ids:"Vous n'avez pas l'identifiant <code>discord</code>, qui est nécessaire pour valider que vous avez rejoint notre serveur Discord. Please open the Discord Desktop app and try again (the Web app won't work).",deny_title:"Vous devez rejoindre notre serveur Discord pour vous connecter.",deny_message:"Veuillez rejoindre le serveur %{guildname} puis réessayer."},guild_roles:{mode_title:"Ce serveur est en mode <strong>Discord Role Whitelist</strong>.",insufficient_ids:"Vous n'avez pas l'identifiant <code>discord</code>, qui est nécessaire pour valider que vous avez rejoint notre serveur Discord. Please open the Discord Desktop app and try again (the Web app won't work).",deny_notmember_title:"Vous devez rejoindre notre serveur Discord pour vous connecter.",deny_notmember_message:"Veuillez rejoindre le serveur %{guildname}, obtenez l'un des rôles requis, puis réessayez.",deny_noroles_title:"Vous n'avez pas le rôle requis pour vous connecter.",deny_noroles_message:"Pour rejoindre ce serveur, vous devez avoir au moins un des rôles requis du serveur %{guildname}."},approved_license:{mode_title:"Ce serveur est en mode <strong>License Whitelist</strong>.",insufficient_ids:"Vous n'avez pas l'identifiant <code>license</code>, ce qui signifique que l'option <code>sv_lan</code> est activée. Si vous êtes le propriétaire du serveur, vous pouvez le désactivez dans votre ficher <code>server.cfg</code>.",deny_title:"Vous n'êtes pas sur la whitelist pour rejoindre ce serveur.",request_id_label:"ID de requête"}},server_actions:{restarting:"Le serveur redémarre (%{reason}).",restarting_discord:"**%{servername}** redémarre (%{reason}).",stopping:"Fermeture du serveur (%{reason}).",stopping_discord:"**%{servername}** est en train de fermer (%{reason}).",spawning_discord:"**%{servername}** est en train de démarrer."},nui_warning:{title:"AVERTISSEMENT",warned_by:"Avertis par:",stale_message:"Cet avertissement a été émis avant que vous ne vous connectiez au serveur.",dismiss_key:"ESPACE",instruction:"Maintenir %{key} pendant %{smart_count} seconde pour cacher ce message. |||| Maintenir %{key} pendant %{smart_count} secondes pour cacher ce message."},nui_menu:{misc:{help_message:"Menu txAdmin activé, ecrivez /tx pour l'ouvrir.\nVous pouvez aussi configurer une touche [Paramètre du Jeu > Configuration des touches > FiveM > Menu: Open Main Page].",menu_not_admin:"Votre identifiant ne coïncide avec aucun identifiant d'un administrateur sur txAdmin.\nSi vous êtes enregistré(e) sur txAdmin, allez dans Admin Manager et assurez-vous que votre identifiant est bien enregistré.",menu_auth_failed:"txAdmin Menu authentication failed with reason: %{reason}",no_perms:"Vous n'avez pas les permissions suffisantes.",unknown_error:"Une erreur inconnue s'est produite.",not_enabled:"Le Menu txAdmin n'est pas activé ! Vous pouvez l'activer dans les paramètres de txAdmin.",announcement_title:"Annonce serveur par %{author}:",dialog_empty_input:"Vous ne pouvez pas avoir un champ vide.",directmessage_title:"Message d'un administrateur : %{author}:",onesync_error:"This action requires OneSync to be enabled."},frozen:{froze_player:"Vous avez gelé le joueur !",unfroze_player:"Vous avez dégelé le joueur !",was_frozen:"Vous avez été gelé par un administrateur du serveur !"},common:{cancel:"Annuler",submit:"Soumettre",error:"Une erreur s'est produite",copied:"Copié dans le presse-papier."},page_main:{tooltips:{tooltip_1:"Utilisez %{key} pour changer de pages & et les flèches pour naviguer dans le menu",tooltip_2:"Certains éléments de menu ont des sous-options qui peuvent être sélectionnées à l'aide des fléches gauche et droite"},player_mode:{title:"Mode du joueur",noclip:{title:"NoClip",label:"Volez comme un oiseau",success:"NoClip activé"},godmode:{title:"Invincible",label:"Devenez invincible",success:"Invincibilité activée"},superjump:{title:"Super Jump",label:"Basculer sur le mode super saut, le joueur courra également plus vite",success:"Super Jump activé"},normal:{title:"Normal",label:"Mode par défaut",success:"Vous êtes de nouveau normal"}},teleport:{title:"Téléportation",generic_success:"Vous avez été téléporté !",waypoint:{title:"GPS",label:"TP sur votre point GPS",error:"Aucun point GPS définit."},coords:{title:"Coordonnées",label:"TP sur coordonnées",dialog_title:"Téléportation",dialog_desc:"Fournissez des coordonnées au format x, y, z pour vous téléporter.",dialog_error:"Coordonnées invalide. Elles doivent être sous le format suivant: 111, 222, 33"},back:{title:"Retour",label:"TP sur ancienne position",error:"Vous n'avez aucune dernière position !"},copy:{title:"Copier",label:"Copiez votre position"}},vehicle:{title:"Véhicule",not_in_veh_error:"Vous n'êtes pas dans un véhicule !",spawn:{title:"Spawn",label:"Créez un véhicule par modèle",dialog_title:"Faire apparaître un vehicule",dialog_desc:"Entrer le nom du véhicule que vous voulez faire apparaître.",dialog_success:"Véhicule apparu !",dialog_error:"Le modèle de véhicule '%{modelName}' n'existe pas !",dialog_info:"Tentative de faire apparaître %{modelName}."},fix:{title:"Réparer",label:"Réparez le véhicule",success:"Véhicule réparé !"},delete:{title:"Supprimer",label:"Supprimez le véhicule",success:"Véhicule supprimé !"},boost:{title:"Boost",label:"Boostez la voiture pour obtenir un maximum de fun (et peut-être de vitesse).",success:"Véhicule boosté !",already_boosted:"Ce véhicule est déjà boosté.",unsupported_class:"Cette classe de véhicule n'est pas supportée.",redm_not_mounted:"You can only boost when mounted on a horse."}},heal:{title:"Soigner",myself:{title:"Moi",label:"Restaurez votre vie",success_0:"Santé mise à 100% !",success_1:"Vous avez été soigné !",success_2:"Vous êtes désormais en pleine forme !",success_3:"Vos bobos ont été soigné !"},everyone:{title:"Tous les joueurs",label:"Soignez & réanimez",success:"Tous les joueurs ont été soigné et réanimé."}},announcement:{title:"Faire une annonce",label:"Faire une annonce pour tous les joueurs actuellement connectés.",dialog_desc:"Entrez le message que vous souhaitez diffuser à tous les joueurs..",dialog_placeholder:"Message",dialog_success:"L'annonce est en train d'être envoyée."},clear_area:{title:"Nettoyer la zone",label:"Remettre une zone du monde spécifiée à son état par défaut.",dialog_desc:"Entrez un rayon où vous souhaitez que les entités soient supprimées (0-300). Cela ne va pas supprimer les entités créées par le serveur.",dialog_success:"Suppression des entités dans un rayon de %{radius} m",dialog_error:"Rayon invalide. Veuillez réessayer."},player_ids:{title:"Afficher les ID des joueurs",label:"Afficher les identifiants des joueurs (et d'autres informations) au-dessus de la tête de tous les joueurs proches.",alert_show:"Les ID des joueurs sont affichés.",alert_hide:"Les ID des joueurs ne sont plus affichés."}},page_players:{misc:{online_players:"Joueur(s) en ligne",players:"Joueur(s)",search:"Rechercher",zero_players:"Aucun joueur trouvé"},filter:{label:"Filter by",no_filter:"No Filter",is_admin:"Is Admin",is_injured:"Is Injured / Dead",in_vehicle:"In Vehicle"},sort:{label:"Trier par",distance:"Distance",id:"ID",joined_first:"Premières connexions",joined_last:"Dernières connexions",closest:"Le - loin",farthest:"Le + loin"},card:{health:"Santé : %{percentHealth}%"}},player_modal:{misc:{error:"Une erreur s'est produite lors de la récupération des détails de cet utilisateur. L'erreur est indiquée ci-dessous:",target_not_found:"Impossible de trouver un joueur en ligne avec cet ID ou le pseudo de %{target}"},tabs:{actions:"Actions",info:"Infos",ids:"Identifiants",history:"Historique",ban:"Bannir"},actions:{title:"Actions du joueur",command_sent:"Commande envoyée !",moderation:{title:"Modération",options:{dm:"PM",warn:"Avertir",kick:"Exclure",set_admin:"Donner droits admin"},dm_dialog:{title:"Message privé",description:"Que souhaitez-vous envoyer à ce joueur ?",placeholder:"Message",success:"Votre message a été envoyé !"},warn_dialog:{title:"Avertir",description:"Pour quelle(s) raison(s) souhaitez-vous avertir ce joueur ?",placeholder:"Raison",success:"Le joueur a été averti !"},kick_dialog:{title:"Exclure",description:"Pour quelle(s) raison(s) souhaitez-vous exclure ce joueur ?",placeholder:"Raison",success:"Le joueur a été exclu !"}},interaction:{title:"Intéractions",options:{heal:"Soigner",go_to:"TP à lui",bring:"TP à soi",spectate:"Surveiller",toggle_freeze:"Geler/Dégeler"},notifications:{heal_player:"Le joueur a été soigné",tp_player:"Téléportation au joueur",bring_player:"Le joueur a été téléporté à vous",spectate_failed:"Impossible de trouver le joueur ! Désactivation du mode surveillance.",spectate_yourself:"Vous ne pouvez pas vous surveiller vous-même.",freeze_yourself:"Vous ne pouvez pas vous geler vous-même.",spectate_cycle_failed:"Il n'y a pas de joueurs vers lesquels faire du vélo."}},troll:{title:"Troll",options:{drunk:"Saouler",fire:"Enflammer",wild_attack:"Attaque sauvage"}}},info:{title:"Informations du joueur",session_time:"Durée de la session",play_time:"Temps de jeu",joined:"Connecté le",whitelisted_label:"whitelisté",whitelisted_notyet:"pas encore",btn_wl_add:"AJOUTER WL",btn_wl_remove:"RETIRER WL",btn_wl_success:"Status de la whitelist changée.",log_label:"Log",log_empty:"Aucune sanction trouvée.",log_ban_count:"%{smart_count} ban |||| %{smart_count} bans",log_warn_count:"%{smart_count} warn |||| %{smart_count} warns",log_btn:"DÉTAILS",notes_changed:"Note du joueur changée.",notes_placeholder:"Notes à propos de ce joueur..."},history:{title:"Historique",btn_revoke:"RÉVOQUER",revoked_success:"Action révoquée !",banned_by:"BANNI par %{author}",warned_by:"WARN par %{author}",revoked_by:"Révoqué par %{author}.",expired_at:"Expiré le %{date}.",expires_at:"Expire le %{date}."},ban:{title:"Bannir le joueur",reason_placeholder:"Raison",duration_placeholder:"Durée",hours:"heure(s)",days:"jour(s)",weeks:"semaine(s)",months:"mois",permanent:"Permanente",custom:"Personnalisée",helper_text:"Selectionnez une durée",submit:"Bannir",reason_required:"Vous devez inclure une raison de sanction.",success:"Joueur banni."},ids:{current_ids:"Identifiants actuels",previous_ids:"Précedents identifiants",all_hwids:"All Hardware IDs"}}}};var hr_default={$meta:{label:"Croatian",humanizer_language:"hr"},restarter:{server_unhealthy_kick_reason:"server se mora restartati, molim te ponovo se spoji",partial_hang_warn:"Zbog djelomičnog zastoja, ovaj će se server ugasiti za 1 minutu . Molimo vas da izađete sa servera.",partial_hang_warn_discord:"Zbog djelomičnog zastoja, **%{servername}** će se restartati za 1 minutu.",schedule_reason:"Restart je zakazan za %{time}",schedule_warn:"Ovaj server je zakazan da se restarta za %{smart_count} minutu. Molimo da izađete sa servera. |||| Ovaj server će se restartati za %{smart_count} minuta.",schedule_warn_discord:"**%{servername}** se restarta za %{smart_count} minutu. |||| **%{servername}** se restarta za %{smart_count} minuta."},kick_messages:{everyone:"Svi igrači izbačeni: %{reason}.",player:"Izbačen si: %{reason}.",unknown_reason:"iz nepoznatog razloga"},ban_messages:{kick_temporary:'(%{author}) Zabranjeni ste sa servera zbog "%{reason}". Vaša zabrana ističe za: %{expiration}.',kick_permanent:'(%{author}) Zabranjeni ste sa servera zauvijek zbog "%{reason}".',reject:{title_permanent:"Zabranjeni ste sa servera zauvijek.",title_temporary:"Privremeno ste zabranjeni sa servera.",label_expiration:"Vaša zabrana će isteči za",label_date:"Datum zabrane",label_author:"Zabranjen od",label_reason:"Razlog zabrane",label_id:"ID zabrane",note_multiple_bans:"Poruka: Imaš više od jedne zabrane na ovom profilu.",note_diff_license:"Poruka: Gornja zabrana je stavljen na <code>license</code>, što znači da jedan od tvojih IDova/HWIDova se slažu sa tim koji ima zabranu."}},whitelist_messages:{admin_only:{mode_title:"Ovaj server je u  <strong>Admin-only</strong> modu.",insufficient_ids:"Nemaš Discord <code>discord</code> ili <code>fivem</code> profil, i barem jedan od njih je potreban za potvrdu ako ste txAdmin administrator.",deny_message:"Ni jedan tvoj profil nije spojen sa txAdmin administratorom."},guild_member:{mode_title:"Ovaj server je u <strong>Discord Whitelist</strong> modu.",insufficient_ids:"Nemaš Discord <code>Discord</code> profil, koji je potreban kako bi se potvrdilo da si ušao na Discord server. Molim vas otvorite Discord da radnoj površini i pokušajte ponovno (Web aplikacija neće raditi).",deny_title:"Moraš se pridružiti Discord da bi mogao ući na server.",deny_message:"Molim vas uđite na  %{guildname} pa pokušajte ponovno."},guild_roles:{mode_title:"Ovaj server je u <strong>Discord Role Whitelist</strong> modu.",insufficient_ids:"Nemaš Discord <code>Discord</code> profil, koji je potreban kako bi se potvrdilo da si ušao na Discord server. Molim vas otvorite Discord da radnoj površini i pokušajte ponovno (Web aplikacija neće raditi).",deny_notmember_title:"Moraš se pridružiti Discord da bi mogao ući na server.",deny_notmember_message:"Molim vas uđite na  %{guildname}, zatraži jedan od traženih rolova, pa pokušaj ponovno.",deny_noroles_title:"Nemaš traženi rol koji se traži da bi ušao na server.",deny_noroles_message:"Da bi ušao na ovaj server moraš imati barem jedan od traženih rolova na %{guildname}."},approved_license:{mode_title:"Ovaj server je u <strong>License Whitelist</strong> modu.",insufficient_ids:"Nemaš <code>fivem</code> profil, što znači da server ima <code>sv_lan</code> upaljen. Ako si vlasnik servera, mozes ga ugasit u <code>server.cfg</code> fajlu.",deny_title:"Nisi whitelistan da bi ušao na server.",request_id_label:"Zatraženi ID"}},server_actions:{restarting:"Server se restarta: (%{reason}).",restarting_discord:"**%{servername}** se restarta zbog: (%{reason}).",stopping:"Server je ugašen: (%{reason}).",stopping_discord:"**%{servername}** se gasi: (%{reason}).",spawning_discord:"**%{servername}** se pali"},nui_warning:{title:"UPOZORENJE",warned_by:"Vas je upozorio",stale_message:"Ovo upozorenje je izdano prije nego što ste se spojili na server.",dismiss_key:"SPACE",instruction:"Držite %{key} na %{smart_count} sekundu da vam se skine ova poruka. |||| Držite %{key} na %{smart_count} sekunde da vam se skine ova poruka."},nui_menu:{misc:{help_message:"txAdmin Meni upaljen, napiši /tx da bi ga otvorio.\nIsto tako možeš staviti svoji keybind u  [Game Settings > Key Bindings > FiveM > Menu: Open Main Page].",menu_not_admin:"Vaši profili ne odgovaraju niti jednom registriranom adminu na txAdmin.\nAko ste registrirani na txAdmin, idite na Admin Manager i provjerite jesu li vaši identifikatori spremljeni.",menu_auth_failed:"Provjera autentičnosti izbornika txAdmin nije uspjela s razlogom: %{reason}",no_perms:"Nemaš permisiju.",unknown_error:"Nepoznata greška se desila.",not_enabled:"txAdmin Meni nije omogučen! Možete ga omogučiti u txAdmin web postavkama.",announcement_title:"Server obavještenje od %{author}:",dialog_empty_input:"Ne možete imati prazan unos.",directmessage_title:"DM od admina %{author}:",onesync_error:"Ova akcija zahtjeva da OneSnyc bude omogučen."},frozen:{froze_player:"Zaledio si igrača!",unfroze_player:"Odledio si igrača!",was_frozen:"Zaleđen si od strane administracije!"},common:{cancel:"Prekini",submit:"Potvrdi",error:"Desila se greška",copied:"Kopirano."},page_main:{tooltips:{tooltip_1:"Koristi %{key} da bi promijenio stranice i strelice kako bi navigirao izbornikom",tooltip_2:"Određene stavke izbornika imaju podopcije koje se mogu odabrati pomoću tipki sa strelicama lijevo i desno"},player_mode:{title:"Modovi igrača",noclip:{title:"NoClip",label:"Leti okolo",success:"NoClip upaljen"},godmode:{title:"Nepobjediv",label:"Nepobjedivi mod",success:"Nepobjedivi mod upaljen"},superjump:{title:"Super Moći",label:"Upali Super Moći, igrač će također brže trčati i skakati",success:"Super Moći upaljene"},normal:{title:"Normalan",label:"Normalan mod",success:"Vračen u normalan mod."}},teleport:{title:"Teleport",generic_success:"Poslan u svemir!",waypoint:{title:"Putna Točka",label:"Idi do putne točke",error:"Nemaš postavljenu putnu točku."},coords:{title:"Kordinate",label:"Idi na određenu kordinatu",dialog_title:"Teleport",dialog_desc:"Postavi kordinate u  x, y, z formatu da bih se teleportao.",dialog_error:"Krive kordinate. Moraju biti u formatu: 111, 222, 33"},back:{title:"Natrag",label:"Idi natrag na zadnju lokaciju",error:"Nemas zadnju lokaciju na koju bi otišao!"},copy:{title:"Kopiraj kordinate",label:"Kordinate kopirane."}},vehicle:{title:"Auto",not_in_veh_error:"Trenutno nisi u vozilu!",spawn:{title:"Stvori",label:"Stvori auto preko imena modela",dialog_title:"Stvori auto",dialog_desc:"Napiši model vozila koji želiš stvoriti.",dialog_success:"Auto stvoreno!",dialog_error:"Ime za model vozila '%{modelName}' ne postoji!",dialog_info:"Pokušavam stvoriti %{modelName}."},fix:{title:"Popravi",label:"Popravi trenutno auto",success:"Auto popravljeno!"},delete:{title:"Izbriši",label:"Izbriši trenutno auto",success:"Auto izbrisano!"},boost:{title:"Pojačanje",label:"Pojačaj auto da bi osjetio pravu zabavu (možda i brzinu)",success:"Auto pojačano!",already_boosted:"Ovaj auto je več pojačan.",unsupported_class:"Ova klasa auta nije podržana.",redm_not_mounted:"Jedino možeš pojačati ako si na konju."}},heal:{title:"Izliječi",myself:{title:"Sebe",label:"Puni vaše zdravlje",success_0:"Svi su izliječeni!",success_1:"Sada bi se trebao osječati puno bolje!",success_2:"Napunjen do kraja!",success_3:"Bolovi uklonjeni!"},everyone:{title:"Sve",label:"Će izlječiti i oživiti sve igrače",success:"Izlječeni i oživljeni su svi igrači."}},announcement:{title:"Pošalji obavještenje",label:"Pošalji obavještenje svim online igračima.",dialog_desc:"Pošalji obavještenje svim online igračima.",dialog_placeholder:"Tvoje obavještenje...",dialog_success:"Slanje obavještenja."},clear_area:{title:"Očisti područje mape",label:"Očisti specificiranu mapu",dialog_desc:"Molim vas unesite radius u kojem želite očistiti mapu na početno u (0-300). Ovo neče očistiti stvorene stvari od strane servera.",dialog_success:"Čišćenje mape u radiusu od %{radius}m",dialog_error:"Krivi input radiusa. Pokušaj ponovno."},player_ids:{title:"Upali ID-ove",label:"Upali ID-ove (i ostale informacije) iznad glava svih igrača koji su u blizini",alert_show:"Pokazivanje ID-ova svih igrača u blizini.",alert_hide:"Sakrivanje ID-ova svih igrača u blizini."}},page_players:{misc:{online_players:"Online igrači",players:"Igrači",search:"Pretraži",zero_players:"Nema pronađenih igrača"},filter:{label:"Filtriraj po",no_filter:"Bez Filtera",is_admin:"Je Admin",is_injured:"Je Ranjen/ Mrtav",in_vehicle:"U Vozilu"},sort:{label:"Poredaj po",distance:"Daljini",id:"ID-u",joined_first:"Ušao prvi",joined_last:"Ušao zadnji",closest:"Najbliži",farthest:"Najdalji"},card:{health:"%{percentHealth}% zdravlja"}},player_modal:{misc:{error:"Došlo je do pogreške prilikom dohvaćanja pojedinosti o ovom igraču. Greška je prikazana u nastavku:",target_not_found:"Nije moguće pronaći online igrača s ID-om ili imenom profila od %{target}"},tabs:{actions:"Akcije",info:"Info",ids:"ID-ovi",history:"Povijest",ban:"Zabrane"},actions:{title:"Akcije igrača",command_sent:"Komanda poslana!",moderation:{title:"Moderacija",options:{dm:"DM",warn:"Upozori",kick:"Izbaci",set_admin:"Daj admina"},dm_dialog:{title:"Direktna poruka",description:"Koji je razlog slanja direktne poruke?",placeholder:"Razlog...",success:"Tvoj DM je uspješno poslan!"},warn_dialog:{title:"Upozori",description:"Koji je razlog za upozoravanje igrača?",placeholder:"Razlog...",success:"Igrač je upozoren!"},kick_dialog:{title:"Izbaci",description:"Koji je razlog da bi izbacio ovog igrača?",placeholder:"Razlog...",success:"Igrač je izbačen!"}},interaction:{title:"Interakcije",options:{heal:"Zaliječi",go_to:"Idi do",bring:"Dovuci",spectate:"Gledaj",toggle_freeze:"Zaledi"},notifications:{heal_player:"Liječenje igrača",tp_player:"Teleportiranje do igrača",bring_player:"Dovuci igrača",spectate_failed:"Neuspješno dohvaćanje igrača! Izlaženje iz gledanja.",spectate_yourself:"Ne možeš sam sebe gledat.",freeze_yourself:"Ne možeš sam sebe zalediti.",spectate_cycle_failed:"Nema igrača koje bi gledao."}},troll:{title:"Troll",options:{drunk:"Napravi pijanog",fire:"Zapali",wild_attack:"Napad čudovišta"}}},info:{title:"Info igrača",session_time:"Trenutno vrijeme na serveru",play_time:"Vrijeme igranja",joined:"Ušao",whitelisted_label:"Whitelistan",whitelisted_notyet:"ne još",btn_wl_add:"DAJ WL",btn_wl_remove:"MAKNI WL",btn_wl_success:"Status Whiteliste promijenjen.",log_label:"Log",log_empty:"Nema zabrana/upozorenja pronađenih.",log_ban_count:"%{smart_count} zabrani |||| %{smart_count} zabrana",log_warn_count:"%{smart_count} upozori |||| %{smart_count} upozorenja",log_btn:"DETALJI",notes_changed:"Bilješka promijenjena.",notes_placeholder:"Bilješke o igraču..."},history:{title:"Povezana povijest",btn_revoke:"MAKNI",revoked_success:"Akcija maknuta!",banned_by:"Zabrana data od %{author}",warned_by:"UPOZOREN od %{author}",revoked_by:"Maknut od %{author}.",expired_at:"Isteko u %{date}.",expires_at:"Ističe u %{date}."},ban:{title:"Zabrani ulazak igraču",reason_placeholder:"Razlog",duration_placeholder:"Duljina",hours:"sati",days:"dana",weeks:"tjedana",months:"mjeseca",permanent:"Zauvijek",custom:"Custom",helper_text:"Odaberi dužinu",submit:"Potvrdi zabranu",reason_required:"Polje za razlog mora biti popunjeno.",success:"Igraču zabranjen ulazak!"},ids:{current_ids:"Trenutni profili",previous_ids:"Prijašnji igračevi profili",all_hwids:"Svi HWID-ovi"}}}};var hu_default={$meta:{label:"Hungarian",humanizer_language:"hu"},restarter:{server_unhealthy_kick_reason:"a szervert újra kell indítani, kérlek csatlakozz újra",partial_hang_warn:"Részleges lefagyás miatt a szerver 1 perc múlva újraindul. Kérjük, lépj ki.",partial_hang_warn_discord:"Részleges lefagyás miatt, a **%{servername}** 1 perc múlva újraindul.",schedule_reason:"Ütemezett újraindítás %{time}",schedule_warn:"A szerver ütemezett újraindítása lesz %{smart_count} perc múlva. Kérjük, lépj ki!. |||| A szerver ütemezett újraindítása lesz %{smart_count} perc múlva.",schedule_warn_discord:"A(z) **%{servername}** ütemezett újraindítása lesz %{smart_count} perc múlva. |||| **%{servername}** ütemezett újraindítása lesz %{smart_count} perc múlva."},kick_messages:{everyone:"All players kicked: %{reason}.",player:"You have been kicked: %{reason}.",unknown_reason:"for unknown reason"},ban_messages:{kick_temporary:'(%{author}) Ki lettél tiltva a szerverről. Indok: "%{reason}". Lejár: %{expiration}.',kick_permanent:'(%{author}) Véglegesen ki lettél tiltva a szerverről. Indok: "%{reason}".',reject:{title_permanent:"Véglegesen ki lettél tiltva a szerverről.",title_temporary:"Átmenetileg ki vagy tiltva a szerverről.",label_expiration:"Újra csatlakozhatsz ekkor",label_date:"Kitiltás dátuma",label_author:"Kitiltó neve",label_reason:"Kitiltás indoka",label_id:"Kitiltás ID",note_multiple_bans:"Figyelem: Több mint egy aktív kitiltásod van ezen a fiókon.",note_diff_license:"Megjegyzés: a kitiltás a <code>license</code> miatt van, ami azt jelenti, hogy néhány azonosítód/hardver azonosítód egyezik a kiltiltásban lévő adatokkal."}},whitelist_messages:{admin_only:{mode_title:"Ez a szerver <strong>csak Adminok</strong> módban van.",insufficient_ids:"Nincs <code>discord</code> vagy <code>fivem</code> azonosítód, valamelyik szükséges ahhoz, hogy azonosítsd magad ha txAdmin adminisztrátor vagy.",deny_message:"Az azonosítód nem tartozik egy txAdmin adminisztrátorhoz sem."},guild_member:{mode_title:"Ez a szerver <strong>Discord szerver tag whitelist</strong> módban van.",insufficient_ids:"A <code>discord</code> azonosítód nem elérhető, ami szükséges annak az ellenőrzéséhez, hogy fent vagy-e a szerveren. Kérlek nyisd meg a Discord asztali alkalmazást, és próbáld újra (a webalkalmazás nem fog működni).",deny_title:"Kérlek lépj be a szerverünkre a csatlakozáshoz",deny_message:"Kérlek csatlakozz ide %{guildname}, és próbáld újra."},guild_roles:{mode_title:"Ez a szerver <strong>Discord whitelist rang</strong> módban van.",insufficient_ids:"A <code>discord</code> azonosítód nem elérhető, ami szükséges annak az ellenőrzéséhez, hogy fent vagy-e a szerveren. Kérlek nyisd meg a Discord asztali alkalmazást, és próbáld újra (a webalkalmazás nem fog működni).",deny_notmember_title:"Kérlek lépj be a szerverünkre a csatlakozáshoz",deny_notmember_message:"Kérlek csatlakozz ide %{guildname}, szerezd meg a szükséges rangot és próbáld újra.",deny_noroles_title:"Nem vagy engedélyezve a Discord szerveren (Nincs meg a megfelelő rang).",deny_noroles_message:"A csatlakozáshoz szükséged lesz a whitelistelt rangra a következő szerveren: %{guildname}."},approved_license:{mode_title:"Ez a szerver <strong>License Whitelist</strong> módban van.",insufficient_ids:"Nincs <code>license</code> azonosítód, ami azt jelenti, hogy a szerveren az <code>sv_lan</code> be van kapcsolva. Ha te vagy a tulajdonos, a <code>server.cfg</code> fájlban ki tudod kapcsolni.",deny_title:"Nem vagy engedélyezve a szerveren.",request_id_label:"Kérés ID"}},server_actions:{restarting:"Szerver újraindítása: (%{reason}).",restarting_discord:"**%{servername}** újraindul (%{reason}).",stopping:"A szerver leáll (%{reason}).",stopping_discord:"**%{servername}**-t leállítják (%{reason}).",spawning_discord:"**%{servername}** indul."},nui_warning:{title:"FIGYELMEZTETÉS",warned_by:"Figyelmeztetett:",stale_message:"Ezt a figyelmeztetést még azelőtt adták ki, hogy csatlakoztál volna a szerverhez.",dismiss_key:"SPACE",instruction:"Tartsd lenyomva a %{key}-t %{smart_count} másodpercig, hogy eltüntesd az üzenetet. |||| Tartsd lenyomva a %{key}-t %{smart_count} másodpercig, hogy eltüntesd az üzenetet."},nui_menu:{misc:{help_message:"A txAdmin rendelkezik játékon belüli menüvel!\nGyorsgomb [Game Settings > Key Bindings > FiveM > Open the txAdmin Menu] Próbáld ki!",menu_not_admin:"Az azonosítód nem egyezik a txAdminban található admin azonosítókkal.\nHa regisztrálva vagy txAdminban, bizonyosodj meg róla hogy el van mentve az Admin Managerben.",menu_auth_failed:"A txAdmin menü hitelesítés meghiúsult ezzel az okkal: %{reason}",no_perms:"Ehhez nincs engedélyed.",unknown_error:"Ismeretlen hiba lépett fel.",not_enabled:"A txAdmin menü nincs engedélyezve! Engedélyezheted a txAdmin beállítások fülön.",announcement_title:"Szerver felhívás %{author}:",dialog_empty_input:"Nem lehet üresen hagyni.",directmessage_title:"Privát üzenet admintól %{author}:",onesync_error:"This action requires OneSync to be enabled."},frozen:{froze_player:"Lefagyasztottad a játékost!",unfroze_player:"Feloldottad a fagyasztást a játékoson!",was_frozen:"Lefagyasztott egy szerveradmin!"},common:{cancel:"Vissza",submit:"Küldés",error:"Hiba lépett fel",copied:"Vágólapra másolva."},page_main:{tooltips:{tooltip_1:"%{key} a lapozáshoz és [NYILAK] a menüben való navigáláshoz",tooltip_2:"Néhány menü rendelkezik al-opcióval melyek a bal és jobb nyíllal választhatók"},player_mode:{title:"Játékos mód",noclip:{title:"NoClip",label:"Körbe repülés",success:"NoClip bekapcsolva"},godmode:{title:"Isten",label:"Halhatatlanság",success:"God mód bekapcsolva"},superjump:{title:"Nagy ugrás",label:"Magas ugrás és gyors futás",success:"Nagy ugrás bekapcsolva"},normal:{title:"Normál",label:"Normál mód",success:"Visszaállítva a normál játékos módba."}},teleport:{title:"Teleportálás",generic_success:"Átléptél egy féreglyukon!",waypoint:{title:"Úticél",label:"Teleportálás az úticélhoz",error:"Nincs úticél kijelölve."},coords:{title:"Koordináta",label:"Menj egy megadott koordinátára",dialog_title:"Teleportálás",dialog_desc:"A koordinátákat x, y, z formában kell megadnod.",dialog_error:"Hibás koordináta. Ilyen formát használj: 111, 222, 33"},back:{title:"Vissza",label:"Vissza az utolsó pozíciódra",error:"Nincs hová visszamenned!"},copy:{title:"Másolás",label:"Jelenlegi koordináta másolása"}},vehicle:{title:"Jármű",not_in_veh_error:"Jelenleg nem ülsz járműben!",spawn:{title:"Lehívás",label:"Jármű lehívása név alapján",dialog_title:"Jármű lehívása",dialog_desc:"Add meg a modell nevét amit le szeretnél hívni.",dialog_success:"Jármű lehívva!",dialog_error:"Jármű ezzel a modell névvel '%{modelName}' nem létezik!",dialog_info:"%{modelName} lehívása..."},fix:{title:"Javítás",label:"Jelenlegi jármű javítása",success:"Jármű megjavítva!"},delete:{title:"Törlés",label:"Jelenlegi jármű törlése",success:"Jármű törölve!"},boost:{title:"Boost",label:"Boostold a járművedet!",success:"Jármű boostolva!",already_boosted:"Ezt a járművet már boostoltad.",unsupported_class:"Ez a járműtípus nem támogatott.",redm_not_mounted:"Csak lóra ülve tudsz boostolni."}},heal:{title:"Gyógyítás",myself:{title:"Magamat",label:"Életerőd helyreállítása",success_0:"Minden seb begyógyítva!",success_1:"Mostmár jól kell hogy érezd magad!",success_2:"Életerő helyreállítva!",success_3:"Bibik megpuszilva!"},everyone:{title:"Mindenki",label:"Mindenkit meggyógyít/feléleszt",success:"Mindenki meggyógyítva és felélesztve."}},announcement:{title:"Felhívás küldése",label:"Felhívás küldése minden elérhető játékosnak.",dialog_desc:"Írd be az üzenetet, amelyet el szeretnél küldeni minden játékosnak.",dialog_placeholder:"Felhívás...",dialog_success:"Felhívás elküldve."},clear_area:{title:"Terület visszaállítása",label:"Egy adott terület visszaállítása az alapértelmezett állapotba",dialog_desc:"Állítsd be a sugarát annak a területnek ahol az entitásokat visszaállítanád (0-300). A szerver oldali entitások nem kerülnek visszaállításra",dialog_success:"Terület visszaállítása %{radius}m sugárban",dialog_error:"Érvénytelen sugár bevitel. Próbáld újra."},player_ids:{title:"ID mód váltása",label:"Közeli játékosok ID (és egyéb infó) megjelenítése a fejük fölött",alert_show:"Közeli játékosok ID-jének mutatása.",alert_hide:"Közeli játékosok ID-jének elrejtése."}},page_players:{misc:{online_players:"Játékban lévő játékosok",players:"Játékosok",search:"Keresés",zero_players:"Nem található játékos"},filter:{label:"Filter by",no_filter:"No Filter",is_admin:"Is Admin",is_injured:"Is Injured / Dead",in_vehicle:"In Vehicle"},sort:{label:"Rendezés alapja",distance:"Távolság",id:"ID",joined_first:"Legkorábbi csatlakozás",joined_last:"Legkésőbbi csatlakozás",closest:"Legközelebbi",farthest:"Legtávolabbi"},card:{health:"%{percentHealth}% HP"}},player_modal:{misc:{error:"Hiba a játékos adatainak lekérésekor. A hiba alább látható:",target_not_found:"Nem található játékos ezzel a névvel vagy ID-vel %{target}"},tabs:{actions:"Műveletek",info:"Infó",ids:"ID-k",history:"Előzmények",ban:"Kitiltás"},actions:{title:"Játékos műveletek",command_sent:"Parancs elküldve!",moderation:{title:"Moderálás",options:{dm:"Privát üzenet",warn:"Figyelmeztetés",kick:"Kirúgás",set_admin:"Admin rang adás"},dm_dialog:{title:"Közvetlen üzenet",description:"Mivel kapcsolatban üzensz a játékosnak?",placeholder:"Indok...",success:"Üzenet elküldve!"},warn_dialog:{title:"Figyelmeztetés",description:"Milyen indokkal figyelmezeteted a játékost?",placeholder:"Indok...",success:"A játékos figyelmeztetve!"},kick_dialog:{title:"Kirúgás",description:"Milyen okból rúgod ki a játékost?",placeholder:"Indok...",success:"Játékos kirúgva!"}},interaction:{title:"Interakció",options:{heal:"Gyógyítás",go_to:"Teleportálás",bring:"Megidézés",spectate:"Megfigyelés",toggle_freeze:"Fagyasztás"},notifications:{heal_player:"Játékos gyógyítása",tp_player:"Teleportálás a játékoshoz",bring_player:"Játékos megidézve",spectate_failed:"Hiba a játékos megfigyelésénél! Kilépés a megfigyelésből.",spectate_yourself:"Magadat nem figyelheted meg.",freeze_yourself:"Magadat nem fagyaszthatod le.",spectate_cycle_failed:"Nincs megfigyelhető játékos."}},troll:{title:"Trollkodás",options:{drunk:"Részeg mód",fire:"Felgyújtás",wild_attack:"Állat támadás"}}},info:{title:"Játékos infó",session_time:"Szerveren töltött idő",play_time:"Játékidő",joined:"Csatlakozva",whitelisted_label:"Engedélyezve",whitelisted_notyet:"Még nem",btn_wl_add:"Engedélyezés megadása",btn_wl_remove:"Engedélyezés visszavonása",btn_wl_success:"Az engedélyezési lista állapota megváltozott.",log_label:"Napló",log_empty:"Nem található tiltás/figyelmeztetés.",log_ban_count:"%{smart_count} kitiltás |||| %{smart_count} kitiltások",log_warn_count:"%{smart_count} figyelmeztetés |||| %{smart_count} figyelmeztetések",log_btn:"Részletek",notes_changed:"Játékos jegyzete változott.",notes_placeholder:"Jegyzetek ehhez a játékoshoz..."},history:{title:"Kapcsolódó előzmények",btn_revoke:"Visszavon",revoked_success:"Művelet visszavonva!",banned_by:"KITILTVA  %{author} által",warned_by:"FIGYELMEZTETVE %{author} által",revoked_by:"Visszavonva %{author} által.",expired_at:"Lejárat ekkor: %{date}.",expires_at:"Lejárat ekkor: %{date}."},ban:{title:"Játékos kitiltása",reason_placeholder:"Indok",duration_placeholder:"Időtartam",hours:"Óra",days:"Nap",weeks:"Hét",months:"Hónap",permanent:"Végleges",custom:"Egyedi",helper_text:"Kérlek válassz időtartamot",submit:"Kitiltás véglegesítése",reason_required:"Az indoklás mező kitöltése kötelező.",success:"Játékos tiltva!"},ids:{current_ids:"Jelenlegi azonosítók",previous_ids:"Előző azonosítók",all_hwids:"Összes hardver ID"}}}};var id_default={$meta:{label:"Indonesian",humanizer_language:"id"},restarter:{server_unhealthy_kick_reason:"server perlu di-restart, silakan sambung kembali",partial_hang_warn:"Karena sebagian hang, server ini akan restart dalam 1 menit. Silakan putuskan sambungan sekarang.",partial_hang_warn_discord:"Karena sebagian hang, **%{servername}** akan restart dalam 1 menit.",schedule_reason:"restart terjadwal pada %{time}",schedule_warn:"Server ini dijadwalkan untuk restart dalam %{smart_count} menit. Silakan putuskan sambungan sekarang. |||| Server ini dijadwalkan untuk restart dalam %{smart_count} menit.",schedule_warn_discord:"**%{servername}** dijadwalkan untuk restart dalam %{smart_count} menit. |||| **%{servername}** dijadwalkan untuk restart dalam %{smart_count} menit."},kick_messages:{everyone:"Semua pemain dikeluarkan: %{reason}.",player:"Anda telah dikeluarkan: %{reason}.",unknown_reason:"karena alasan yang tidak diketahui"},ban_messages:{kick_temporary:'(%{author}) Anda telah diblokir dari server ini karena "%{reason}". Blokir Anda akan berakhir dalam: %{expiration}.',kick_permanent:'(%{author}) Anda telah diblokir secara permanen dari server ini karena "%{reason}".',reject:{title_permanent:"Anda telah diblokir secara permanen dari server ini.",title_temporary:"Anda telah diblokir sementara dari server ini.",label_expiration:"Blokir Anda akan berakhir dalam",label_date:"Tanggal Blokir",label_author:"Diblokir oleh",label_reason:"Alasan Blokir",label_id:"ID Blokir",note_multiple_bans:"Catatan: Anda memiliki lebih dari satu blokir aktif pada identitas Anda.",note_diff_license:"Catatan: blokir di atas diterapkan untuk <code>license</code> yang berbeda, yang berarti beberapa ID/HWID Anda cocok dengan yang terkait dengan blokir tersebut."}},whitelist_messages:{admin_only:{mode_title:"Server ini dalam mode <strong>Admin-only</strong>.",insufficient_ids:"Anda tidak memiliki identifier <code>discord</code> atau <code>fivem</code>, dan setidaknya salah satu dari mereka diperlukan untuk memverifikasi apakah Anda adalah administrator txAdmin.",deny_message:"Identifier Anda tidak terdaftar sebagai administrator txAdmin."},guild_member:{mode_title:"Server ini dalam mode <strong>Whitelist Anggota Discord server</strong>.",insufficient_ids:"Anda tidak memiliki identifier <code>discord</code>, yang diperlukan untuk memverifikasi apakah Anda telah bergabung dengan Discord server kami. Silakan buka aplikasi Desktop Discord dan coba lagi (aplikasi Web tidak akan berfungsi).",deny_title:"Anda diharuskan untuk bergabung dengan Discord server kami untuk terhubung.",deny_message:"Silakan bergabung dengan guild %{guildname} lalu coba lagi."},guild_roles:{mode_title:"Server ini dalam mode <strong>Whitelist Role Discord</strong>.",insufficient_ids:"Anda tidak memiliki identifier <code>discord</code>, yang diperlukan untuk memverifikasi apakah Anda telah bergabung dengan Discord server kami. Silakan buka aplikasi Desktop Discord dan coba lagi (aplikasi Web tidak akan berfungsi).",deny_notmember_title:"Anda diharuskan untuk bergabung dengan Discord server kami untuk terhubung.",deny_notmember_message:"Silakan bergabung dengan %{guildname}, dapatkan salah satu role yang diperlukan, lalu coba lagi.",deny_noroles_title:"Anda tidak memiliki role whitelist yang diperlukan untuk bergabung.",deny_noroles_message:"Untuk bergabung dengan server ini Anda diharuskan memiliki setidaknya salah satu role whitelist di guild %{guildname}."},approved_license:{mode_title:"Server ini dalam mode <strong>Whitelist Lisensi</strong>.",insufficient_ids:"Anda tidak memiliki identifier <code>license</code>, yang berarti server memiliki <code>sv_lan</code> diaktifkan. Jika Anda adalah pemilik server, Anda dapat menonaktifkannya di file <code>server.cfg</code>.",deny_title:"Anda tidak di-whitelist untuk bergabung dengan server ini.",request_id_label:"ID Permintaan"}},server_actions:{restarting:"Server sedang restart (%{reason}).",restarting_discord:"**%{servername}** sedang restart (%{reason}).",stopping:"Server sedang dimatikan (%{reason}).",stopping_discord:"**%{servername}** sedang dimatikan (%{reason}).",spawning_discord:"**%{servername}** sedang memulai."},nui_warning:{title:"PERINGATAN",warned_by:"Diperingatkan oleh:",stale_message:"Peringatan ini diterbitkan sebelum Anda terhubung ke server.",dismiss_key:"SPACE",instruction:"Tahan %{key} selama %{smart_count} detik untuk mengabaikan pesan ini. |||| Tahan %{key} selama %{smart_count} detik untuk mengabaikan pesan ini."},nui_menu:{misc:{help_message:"Menu txAdmin diaktifkan, ketik /tx untuk membukanya.\nAnda juga dapat mengatur keybind di [Pengaturan Game > Key Bindings > FiveM > Menu: Buka Halaman Utama].",menu_not_admin:"Identifier Anda tidak cocok dengan admin yang terdaftar di txAdmin.\nJika Anda terdaftar di txAdmin, buka Admin Manager dan pastikan identifier Anda sudah disimpan.",menu_auth_failed:"Autentikasi Menu txAdmin gagal dengan alasan: %{reason}",no_perms:"Anda tidak memiliki izin ini.",unknown_error:"Terjadi kesalahan yang tidak diketahui.",not_enabled:"Menu txAdmin tidak diaktifkan! Anda dapat mengaktifkannya di halaman pengaturan txAdmin.",announcement_title:"Pengumuman Server oleh %{author}:",directmessage_title:"DM dari admin %{author}:",dialog_empty_input:"Anda tidak dapat memasukkan input kosong.",onesync_error:"Opsi ini memerlukan OneSync diaktifkan."},frozen:{froze_player:"Anda telah membekukan pemain!",unfroze_player:"Anda telah mencairkan pemain!",was_frozen:"Anda telah dibekukan oleh admin server!"},common:{cancel:"Batalkan",submit:"Kirim",error:"Terjadi kesalahan",copied:"Disalin ke clipboard."},page_main:{tooltips:{tooltip_1:"Gunakan %{key} untuk beralih halaman & tombol panah untuk menavigasi item menu",tooltip_2:"Beberapa item menu memiliki sub opsi yang dapat dipilih menggunakan tombol panah kiri & kanan"},player_mode:{title:"Mode Pemain",noclip:{title:"NoClip",label:"Alihkan NoClip, memungkinkan Anda bergerak melalui dinding dan objek lainnya",success:"NoClip diaktifkan"},godmode:{title:"Tuhan",label:"Alihkan ketidakbisaan mati, mencegah Anda menerima kerusakan",success:"Mode Tuhan diaktifkan"},superjump:{title:"Lompat Super",label:"Alihkan mode lompat super, pemain juga akan berlari lebih cepat",success:"Lompat Super diaktifkan"},normal:{title:"Normal",label:"Mengembalikan diri Anda kembali ke mode pemain default/normal",success:"Kembali ke mode pemain default."}},teleport:{title:"Teleportasi",generic_success:"Mengirim Anda ke lubang cacing!",waypoint:{title:"Titik Tujuan",label:"Teleportasi ke titik tujuan kustom yang ditetapkan di peta",error:"Anda tidak memiliki titik tujuan yang ditetapkan."},coords:{title:"Koordinat",label:"Teleportasi ke koordinat yang disediakan",dialog_title:"Teleportasi",dialog_desc:"Berikan koordinat dalam format x, y, z untuk melewati lubang cacing.",dialog_error:"Koordinat tidak valid. Harus dalam format: 111, 222, 33"},back:{title:"Kembali",label:"Kembali ke lokasi sebelum teleportasi terakhir",error:"Anda tidak memiliki lokasi terakhir untuk kembali!"},copy:{title:"Salin Koordinat",label:"Salin koordinat dunia saat ini ke clipboard Anda"}},vehicle:{title:"Kendaraan",not_in_veh_error:"Anda saat ini tidak berada di dalam kendaraan!",spawn:{title:"Munculkan",label:"Munculkan kendaraan tertentu dari nama modelnya",dialog_title:"Munculkan kendaraan",dialog_desc:"Masukkan nama model kendaraan yang ingin Anda munculkan.",dialog_success:"Kendaraan muncul!",dialog_error:"Nama model kendaraan '%{modelName}' tidak ada!",dialog_info:"Mencoba untuk munculkan %{modelName}."},fix:{title:"Perbaiki",label:"Akan memperbaiki kendaraan hingga kesehatan maksimumnya",success:"Kendaraan diperbaiki!"},delete:{title:"Hapus",label:"Menghapus kendaraan yang saat ini dinaiki pemain",success:"Kendaraan dihapus!"},boost:{title:"Dorong",label:"Dorong mobil untuk mencapai kecepatan maksimum (dan mungkin kecepatan)",success:"Kendaraan didorong!",already_boosted:"Kendaraan ini sudah didorong.",unsupported_class:"Kelas kendaraan ini tidak didukung.",redm_not_mounted:"Anda hanya bisa mendongkrak saat menunggang kuda."}},heal:{title:"Penyembuhan",myself:{title:"Diri Saya",label:"Akan menyembuhkan diri Anda hingga maksimum ped saat ini",success_0:"Semua sembuh!",success_1:"Anda seharusnya merasa baik sekarang!",success_2:"Dipulihkan sepenuhnya!",success_3:"Luka-luka diperbaiki!"},everyone:{title:"Semua Orang",label:"Akan menyembuhkan & menghidupkan kembali semua pemain yang terhubung",success:"Menyembuhkan dan menghidupkan kembali semua pemain."}},announcement:{title:"Kirim Pengumuman",label:"Kirim pengumuman ke semua pemain online.",dialog_desc:"Masukkan pesan yang ingin Anda siarkan ke semua pemain.",dialog_placeholder:"Pengumuman Anda...",dialog_success:"Mengirim pengumuman."},clear_area:{title:"Reset Area Dunia",label:"Reset area dunia tertentu ke keadaan defaultnya",dialog_desc:"Silakan masukkan radius di mana Anda ingin mereset entitas (0-300). Ini tidak akan menghapus entitas yang dihasilkan server side.",dialog_success:"Membersihkan area dengan radius %{radius}m",dialog_error:"Input radius tidak valid. Coba lagi."},player_ids:{title:"Alihkan ID Pemain",label:"Alihkan menampilkan ID pemain (dan info lainnya) di atas kepala semua pemain terdekat",alert_show:"Menampilkan NetIDs pemain terdekat.",alert_hide:"Menyembunyikan NetIDs pemain terdekat."}},page_players:{misc:{online_players:"Pemain Online",players:"Pemain",search:"Cari",zero_players:"Tidak ada pemain yang ditemukan."},filter:{label:"Filter berdasarkan",no_filter:"Tanpa Filter",is_admin:"Adalah Admin",is_injured:"Terluka / Mati",in_vehicle:"Di Kendaraan"},sort:{label:"Urutkan berdasarkan",distance:"Jarak",id:"ID",joined_first:"Bergabung Pertama",joined_last:"Bergabung Terakhir",closest:"Terdekat",farthest:"Terjauh"},card:{health:"%{percentHealth}% kesehatan"}},player_modal:{misc:{error:"Terjadi kesalahan saat mengambil detail pengguna ini. Kesalahan ditunjukkan di bawah ini:",target_not_found:"Tidak dapat menemukan pemain online dengan ID atau nama pengguna %{target}"},tabs:{actions:"Aksi",info:"Info",ids:"ID",history:"Riwayat",ban:"Ban"},actions:{title:"Aksi Pemain",command_sent:"Command dikirim!",moderation:{title:"Moderasi",options:{dm:"DM",warn:"Peringatan",kick:"Tendang",set_admin:"Jadikan Admin"},dm_dialog:{title:"Pesan Langsung",description:"Apa alasan Anda mengirim DM langsung ke pemain ini?",placeholder:"Alasan...",success:"Pean lansung terkirim!"},warn_dialog:{title:"Peringatan",description:"Apa alasan Anda memperingatkan pemain ini?",placeholder:"Alasan...",success:"Pemain diberi peringatan!"},kick_dialog:{title:"Tendang",description:"Apa alasan Anda menendang pemain ini?",placeholder:"Alasan...",success:"Pemain ditendang!"}},interaction:{title:"Interaksi",options:{heal:"Sembuhkan",go_to:"Pergi ke",bring:"Panggil",spectate:"Pantau",toggle_freeze:"Beralih Bekukan"},notifications:{heal_player:"Menyembuhkan pemain",tp_player:"Teleportasi ke pemain",bring_player:"Membawa pemain",spectate_failed:"Pemain tidak ditemukan.",spectate_yourself:"Anda tidak dapat memantau diri sendiri.",freeze_yourself:"Anda tidak dapat membekukan diri sendiri.",spectate_cycle_failed:"Tidak ada pemain lain yang dapat dipantau."}},troll:{title:"Troll",options:{drunk:"Buat Mabuk",fire:"Bakar",wild_attack:"Beri Azab"}}},info:{title:"Info Pemain",session_time:"Waktu Sesi",play_time:"Waktu Bermain",joined:"Bergabung",whitelisted_label:"Whitelisted",whitelisted_notyet:"Belum",btn_wl_add:"TAMBAH WL",btn_wl_remove:"HAPUS WL",btn_wl_success:"Status whitelist diganti.",log_label:"Log",log_empty:"Tidak ada ban atau peringatan yang tercatat.",log_ban_count:"%{smart_count} ban |||| %{smart_count} bans",log_warn_count:"%{smart_count} peringatan |||| %{smart_count} peringatan",log_btn:"RINCIAN",notes_placeholder:"Catatan pemain...",notes_changed:"Catatan pemain diubah."},ids:{current_ids:"Identitas Saat Ini",previous_ids:"Identitas Sebelumnya",all_hwids:"Semua HWIDs"},history:{title:"Riwayat Pemain",btn_revoke:"Cabut",revoked_success:"Ban dicabut.",banned_by:"BANNED oleh %{author}",warned_by:"PERINGATAN oleh %{author}",revoked_by:"Dicabut oleh %{author}.",expired_at:"Kadaluarsa pada %{date}.",expires_at:"Kadaluarsa pada %{date}."},ban:{title:"Ban player",reason_placeholder:"Alasan...",reason_required:"Alasan diperlukan",duration_placeholder:"Durasi",success:"Player banned!",hours:"jam",days:"hari",weeks:"minggu",months:"bulan",permanent:"Permanen",custom:"Custom",helper_text:"Pilih durasi",submit:"Terapkan ban"}}}};var it_default={$meta:{label:"Italian",humanizer_language:"it"},restarter:{server_unhealthy_kick_reason:"il server deve essere riavviato, per favore riconnettiti",partial_hang_warn:"A causa di un blocco parziale, questo server verrà riavviato tra 1 minuto. Si prega di disconnettersi ora.",partial_hang_warn_discord:"A causa di un blocco parziale, **%{servername}** si riavvierà tra 1 minuto.",schedule_reason:"Riavvio programmato alle %{time}",schedule_warn:"Questo server è programmato per riavviarsi in %{smart_count} minuti. Per cortesia uscite ora! |||| Questo server è programmato per riavviarsi in %{smart_count} minuti.",schedule_warn_discord:"**%{servername}** è programmato per riavviarsi in %{smart_count} minuti. |||| **%{servername}** è programmato per riavviarsi in %{smart_count} minuti."},kick_messages:{everyone:"All players kicked: %{reason}.",player:"You have been kicked: %{reason}.",unknown_reason:"for unknown reason"},ban_messages:{kick_temporary:'(%{author}) Sei stato bannato da questo server per "%{reason}". Il tuo ban scadrà in: %{expiration}.',kick_permanent:'(%{author}) Sei stato bannato permanentemente da questo server per "%{reason}".',reject:{title_permanent:"Sei stato bannato permanentemente da questo server.",title_temporary:"Sei stato bannato temporaneamente da questo server.",label_expiration:"Il tuo ban scadrà tra",label_date:"Data Ban",label_author:"Bannato da",label_reason:"Motivo Ban",label_id:"ID Ban",note_multiple_bans:"Nota: hai piu di un ban sui tuoi identificativi.",note_diff_license:"Note: the ban above was applied for another <code>license</code>, which means some of your IDs/HWIDs match the ones associated with that ban."}},whitelist_messages:{admin_only:{mode_title:"Questo server è in modalità <strong>Solo-Admin</strong>.",insufficient_ids:"Non siamo riusciti a recuperare il tuo identificatore <code>discord</code> o il tuo identificatore <code>fivem</code>, almeno uno degli identificatori è necessario per verificare che tu sia un Amministratore.",deny_message:"I tuoi identificatori non sono assegnati a nessun account amministratore su txAdmin."},guild_member:{mode_title:"Questo server è in modalità <strong>Discord Member Whitelist</strong>.",insufficient_ids:"Non hai l'identificatore <code>discord</code>, che è richiesto per verificare se sei entrato nel nostro server Discord. Apri l'applicazione desktop di Discord e riprova (l'app Web non funzionerà).",deny_title:"Devi unirti al nostro server discord per poter giocare.",deny_message:"Per favore, unisciti al server discord %{guildname} e riprova."},guild_roles:{mode_title:"Questo server è in modalità <strong>Discord Role Whitelist</strong>.",insufficient_ids:"Non hai l'identificatore <code>discord</code>, che è richiesto per verificare se sei entrato nel nostro server Discord. Apri l'applicazione desktop di Discord e riprova (l'app Web non funzionerà).",deny_notmember_title:"Devi unirti al nostro server Discord per poter giocare.",deny_notmember_message:"Per favore, unisciti al server Discord %{guildname} richiedi il ruolo Whitelist e riprova a connetterti.",deny_noroles_title:"Non hai un ruolo autorizzato richiesto per unirti.",deny_noroles_message:"Per entrare a giocare su questo server devi avere almeno uno dei ruoli richiesti sul server Discord: %{guildname}."},approved_license:{mode_title:"Questo server è in modalità <strong>Solo Licenza Autorizzata</strong>.",insufficient_ids:"Non hai l'identificatore <code>license</code>, il che significa che il server ha <code>sv_lan</code> abilitato. Se sei il proprietario del server, puoi disabilitarlo nel file <code>server.cfg</code>.",deny_title:"Non sei whitelistato su questo server.",request_id_label:"ID Richiesta:"}},server_actions:{restarting:"Riavvio del server (%{reason}).",restarting_discord:"**%{servername}** si sta riavviando (%{reason}).",stopping:"Il Server si sta spegnendo (%{reason}).",stopping_discord:"**%{servername}** si sta spegnendo (%{reason}).",spawning_discord:"**%{servername}** si sta avviando."},nui_warning:{title:"WARNING",warned_by:"Avvisato da:",stale_message:"Questo avviso è stato emesso prima di collegarti al server.",dismiss_key:"SPACE",instruction:"Tieni premuto %{key} per %{smart_count} secondo per rimuovere questo messaggio. |||| Tieni premuto %{key} per %{smart_count} secondi per rimuovere questo messaggio."},nui_menu:{misc:{help_message:"txAdmin Menu attivato, scrivi /tx per aprirlo.\nPuoi bindare un tasto in [Game Settings > Key Bindings > FiveM > Menu: Open Main Page].",menu_not_admin:"I tuoi identificativi non corrispondono ad un admin registrato nel txAdmin.\nSe sei registrato al txAdmin, vai nella sezione Admin Manager e controlla che siano presenti i tuoi identificativi.",menu_auth_failed:"txAdmin Menu authentication failed with reason: %{reason}",no_perms:"Non hai questo permesso.",unknown_error:"Si è verificato un errore sconosciuto.",not_enabled:"Il menu txAdmin non è attivo! Puoi attivarlo dalle impostazioni del txAdmin.",announcement_title:"Annuncio da %{author}:",dialog_empty_input:"Non puoi dare un input vuoto.",directmessage_title:"DM dall'admin %{author}:",onesync_error:"This action requires OneSync to be enabled."},frozen:{froze_player:"Hai freezato il player!",unfroze_player:"Hai unfreezato il player!",was_frozen:"Sei stato freezato da uno staffer!"},common:{cancel:"Cancella",submit:"Conferma",error:"Si è verificato un'errore.",copied:"Copiato negli appunti."},page_main:{tooltips:{tooltip_1:"Usa %{key} per cambiare pagina e usa le freccette per navigare nel menu",tooltip_2:"Alcune voci del menu hanno opzioni secondarie che possono essere selezionate utilizzando i tasti freccia sinistra e destra"},player_mode:{title:"Modalità",noclip:{title:"NoClip",label:"Vola",success:"NoClip attivo"},godmode:{title:"God",label:"Invincibilità",success:"God Mode attiva"},superjump:{title:"Super Jump",label:"Toggle super jump mode, the player will also run faster",success:"Super Jump enabled"},normal:{title:"Normale",label:"Nodalità normale",success:"Tornato alla modalità normale."}},teleport:{title:"Teletrasporto",generic_success:"Mandato nel wormhole!",waypoint:{title:"Waypoint",label:"Vai al waypoint impostato",error:"Non hai un waypoint impostato."},coords:{title:"Coordinate",label:"Vai alle coordinate specificate",dialog_title:"Teletrasporto",dialog_desc:"Inserisci delle coordinate nel formato x, y, z per attraversare il wormhole.",dialog_error:"Coordinate errate. Devono essere nel formato: 111, 222, 33"},back:{title:"Indietro",label:"Torna alla tua ultima posizione",error:"Non hai un'ultima posizione in cui andare!"},copy:{title:"Copia coordinate",label:"Copia le coordinate negli appunti."}},vehicle:{title:"Veicolo",not_in_veh_error:"Non sei su un veicolo!",spawn:{title:"Spawna",label:"Spawna un veicolo dal nmome",dialog_title:"Spawna veicolo",dialog_desc:"Inserisci il nome del modello del veicolo che vuoi spawnare.",dialog_success:"Veicolo spawnato!",dialog_error:"Il modello '%{modelName}' non esiste!",dialog_info:"Provando a spawnare %{modelName}."},fix:{title:"Ripara",label:"Ripara il veicolo",success:"Veicolo riparato!"},delete:{title:"Elimina",label:"Elimina il veicolo",success:"Veicolo eliminato!"},boost:{title:"Boost",label:"Boosta l'auto per un maggiore divertimento (e forse velocità)",success:"Veicolo boostato!",already_boosted:"This vehicle was already boosted.",unsupported_class:"This vehicle class is not supported.",redm_not_mounted:"You can only boost when mounted on a horse."}},heal:{title:"Cura",myself:{title:"Te Stesso",label:"Cura te stesso",success_0:"Tutti curati!",success_1:"Dovresti stare meglio ora!",success_2:"Curato al massimo!",success_3:"Dolore risolto!"},everyone:{title:"Tutti",label:"Cura e Rianima tutti i giocatori",success:"Curati e rianimati tutti i giocatori."}},announcement:{title:"Manda Annuncio",label:"Manda un annuncio a tutti i giocatori online.",dialog_desc:"Inserisci il messaggio da mandare a tutti i giocatori.",dialog_placeholder:"Il tuo annuncio...",dialog_success:"Inviando l'annuncio."},clear_area:{title:"Resetta l'area",label:"Resetta una specifica area rendendola default",dialog_desc:"Inserisci il raggio in cui desideri reimpostare le entità (0-300). Questo non cancellerà le entità generate sul lato server.",dialog_success:"Pulendo l'area in un raggio di %{radius}.",dialog_error:"Inserimento raggio non valido. Riprova."},player_ids:{title:"Toggle ID dei Player",label:"Toggle mostra ID dei giocatori (e altre informazioni) sopra la testa dei giocatori vicini",alert_show:"Mostra gli ID dei player vicini.",alert_hide:"Nascondi gli ID dei player vicini."}},page_players:{misc:{online_players:"Giocatori Online",players:"Giocatori",search:"Cerca",zero_players:"Nessun giocatore trovato."},filter:{label:"Filter by",no_filter:"No Filter",is_admin:"Is Admin",is_injured:"Is Injured / Dead",in_vehicle:"In Vehicle"},sort:{label:"Ordina per",distance:"Distanza",id:"ID",joined_first:"Entrato Prima",joined_last:"Entrato Dopo",closest:"Più Vicino",farthest:"Più Lontano"},card:{health:"%{percentHealth}% vita"}},player_modal:{misc:{error:"Si è verificato un errore durante il recupero dei dettagli di questo utente. L'errore è mostrato sotto:",target_not_found:"Impossibile trovare un giocatore online con ID o nome utente di %{target}"},tabs:{actions:"Azioni",info:"Info",ids:"IDs",history:"Cronologia",ban:"Ban"},actions:{title:"Azioni Player",command_sent:"Comando inviato!",moderation:{title:"Moderazione",options:{dm:"DM",warn:"Warn",kick:"Kick",set_admin:"Dai Admin"},dm_dialog:{title:"Messaggio Diretto",description:"Per che motivo stai inviando un messaggio diretto?",placeholder:"Motivo...",success:"Il tuo messaggio è stato inviato!"},warn_dialog:{title:"Warn",description:"Per che motivo stai warnando questo giocatore?",placeholder:"Motivo...",success:"Il player è stato warnato!"},kick_dialog:{title:"Kick",description:"Per che motivo stai kickando questo giocatore?",placeholder:"Motivo...",success:"Il player è stato kickato!"}},interaction:{title:"Interazioni",options:{heal:"Cura",go_to:"Vai da",bring:"Porta da te",spectate:"Specta",toggle_freeze:"Toggle Freeze"},notifications:{heal_player:"Curando il Giocatore",tp_player:"Teletrasportandosi dal Giocatore",bring_player:"Bringando il Giocatore",spectate_failed:"Impossibile risolvere il bersaglio! Uscendo dallo Spectate.",spectate_yourself:"Non puoi spectarti da solo.",freeze_yourself:"Non puoi freezarti da solo.",spectate_cycle_failed:"There are no players to cycle to."}},troll:{title:"Troll",options:{drunk:"Fai Ubriacare",fire:"Dai Fuoco",wild_attack:"Attacco di Scimmie"}}},info:{title:"Info sul Giocatore",session_time:"Tempo della Sesione",play_time:"Tempo di Gioco",joined:"Entrato",whitelisted_label:"Whitelistato",whitelisted_notyet:"non ancora",btn_wl_add:"Aggiungi WL",btn_wl_remove:"Rimuovi WL",btn_wl_success:"Stato della whitelist cambiato.",log_label:"Log",log_empty:"No ban/warn trovati.",log_ban_count:"%{smart_count} ban |||| %{smart_count} bans",log_warn_count:"%{smart_count} warn |||| %{smart_count} warns",log_btn:"DETTAGLI",notes_changed:"Note del giocatore cambiate.",notes_placeholder:"Note riguardo il giocatore..."},history:{title:"Cronologia",btn_revoke:"REVOCA",revoked_success:"Azione revocata!",banned_by:"BANNATO da %{author}",warned_by:"WARNATO da %{author}",revoked_by:"Revocato da %{author}.",expired_at:"Scaduto il %{date}.",expires_at:"Scade il %{date}."},ban:{title:"Banna il Giocatore",reason_placeholder:"Motivo",duration_placeholder:"Durata",hours:"Ore",days:"Giorni",weeks:"Settimane",months:"Mesi",permanent:"Permanente",custom:"Personalizzato",helper_text:"Seleziona una durata",submit:"Banna",reason_required:"La motivazione è richiesta.",success:"Giocatore bannato!"},ids:{current_ids:"Identificativi correnti",previous_ids:"Identificativi usati precedentemente",all_hwids:"All Hardware IDs"}}}};var ja_default={$meta:{label:"Japanese",humanizer_language:"ja"},restarter:{server_unhealthy_kick_reason:"サーバーは再起動が必要です、再接続してください",partial_hang_warn:"部分的な障害により、このサーバーは1分後に再起動します。今すぐ切断してください。",partial_hang_warn_discord:"部分的な障害により、**%{servername}**は1分後に再起動します。",schedule_reason:"%{time}にリスタート予定",schedule_warn:"このサーバーは%{smart_count}分後に再起動予定です。今すぐ切断してください。 |||| このサーバーは%{smart_count}分後に再起動予定です。",schedule_warn_discord:"**%{servername}**サーバーは%{smart_count}分後に再起動予定です。 |||| **%{servername}**サーバーは%{smart_count}分後に再起動予定です。"},kick_messages:{everyone:"All players kicked: %{reason}.",player:"You have been kicked: %{reason}.",unknown_reason:"for unknown reason"},ban_messages:{kick_temporary:'(%{author}) あなたは次の理由によりBANされました "%{reason}" BAN期間: %{expiration}',kick_permanent:'(%{author}) あなたは次の理由により永久BANされました "%{reason}"',reject:{title_permanent:"あなたはこのサーバーから永久BANされています。",title_temporary:"あなたはこのサーバーから一時的にBANされています。",label_expiration:"BAN期間:",label_date:"BANされた日",label_author:"BANした人",label_reason:"BANされた理由",label_id:"BAN ID",note_multiple_bans:"注: あなたのIDには、有効なBANが複数記録されています。",note_diff_license:"注: 上記のBANは別の<code>ライセンス</code>に対して適用されたもので、あなたのID/HWIDの一部がそのBANに関連するものと一致することを意味します。"}},whitelist_messages:{admin_only:{mode_title:"このサーバーは<strong>管理者専用</strong>モードになっています。",insufficient_ids:"あなたは<code>Discord</code>か<code>Fivem</code>のIDを持っておらず、txAdminの管理者であるかを確認するためには、少なくともどちらかのIDが必要です。",deny_message:"あなたのIDはどのtxAdmin管理者にも割り当てられていません。"},guild_member:{mode_title:"このサーバーは<strong>Discordサーバーメンバーホワイトリスト</strong>モードになっています。",insufficient_ids:"Discordサーバーに参加しているかを確認するために必要な<code>Discord</code> IDを持っていません。Discordデスクトップアプリを開いて再度お試しください (ウェブ版は使用できません)。",deny_title:"接続にはDiscordサーバーへの参加が必要です。",deny_message:"%{guildname}サーバーに参加してから再度お試しください。"},guild_roles:{mode_title:"このサーバーは<strong>Discordロールホワイトリスト</strong>モードになっています。",insufficient_ids:"Discordサーバーに参加しているかを確認するために必要な<code>Discord</code> IDを持っていません。Discordデスクトップアプリを開いて再度お試しください (ウェブ版は使用できません)。",deny_notmember_title:"接続にはDiscordサーバーへの参加が必要です。",deny_notmember_message:"%{guildname}サーバーに参加して、必要なロールの1つを取得してから、再度お試しください。",deny_noroles_title:"参加に必要なロールを持っていません。",deny_noroles_message:"このサーバーに接続するには、%{guildname}サーバーのホワイトリストに登録されているロールの少なくとも1つを持っている必要があります。"},approved_license:{mode_title:"このサーバーは<strong>ライセンスホワイトリスト</strong>モードになっています。",insufficient_ids:"あなたは<code>ライセンス</code> IDを持っていません、これはサーバーで<code>sv_lan</code>が有効になっていることを意味します。もしあなたがサーバーの所有者なら、<code>server.cfg</code>ファイルで無効にできます。",deny_title:"あなたはこのサーバーに参加するためのホワイトリストに登録されていません。",request_id_label:"要求 ID"}},server_actions:{restarting:"サーバーを再起動しています (%{reason})。",restarting_discord:"**%{servername}**を再起動しています (%{reason})。",stopping:"サーバーを停止しています (%{reason})。",stopping_discord:"**%{servername}**を停止しています (%{reason})。",spawning_discord:"**%{servername}**を開始しています。"},nui_warning:{title:"警告",warned_by:"警告した人:",stale_message:"この警告はサーバーに接続する前に発行されました。",dismiss_key:"スペース",instruction:"%{key}を%{smart_count}秒間押し続けると、このメッセージは解除されます。 |||| %{key}を%{smart_count}秒間押し続けると、このメッセージは解除されます。"},nui_menu:{misc:{help_message:"txAdminメニューが有効になっている場合は、/tx と入力して開いてください。\nまた、[ゲーム設定 > キーバインド > FiveM > メニュー: メインページを開く]でキーバインドを設定することもできます。",menu_not_admin:"あなたのIDがtxAdminに登録されている管理者と一致しません。\ntxAdminに登録されている場合は、IDが保存されていることを確認してください。",menu_auth_failed:"txAdminメニューの認証に失敗しました 理由: %{reason}",no_perms:"権限を持っていません。",unknown_error:"不明なエラーが発生しました。",not_enabled:"txAdminメニューが有効になっていません! txAdminの設定ページで有効にできます。",announcement_title:"%{author}によるサーバーに関するお知らせ:",directmessage_title:"管理者%{author}からのDM:",dialog_empty_input:"空の入力はできない。",onesync_error:"This action requires OneSync to be enabled."},frozen:{froze_player:"プレイヤーを静止させた!",unfroze_player:"プレイヤーの静止を解除した!",was_frozen:"サーバー管理者によって静止されました!"},common:{cancel:"キャンセル",submit:"送信",error:"エラーが発生しました。",copied:"クリップボードにコピーしました。"},page_main:{tooltips:{tooltip_1:"%{key}キーでページを切り替え、矢印キーでメニューを移動する。",tooltip_2:"一部のメニュー項目には、左右の矢印キーで選択できるサブオプションがあります。"},player_mode:{title:"状態",noclip:{title:"ノークリップ",label:"ノークリップの切り替えにより、壁や他のオブジェクトを通り抜けることができます。",success:"ノークリップが有効化された。"},godmode:{title:"ゴッド",label:"無敵状態を切り替え、ダメージを受けないようにする。",success:"ゴッドモードが有効化された。"},superjump:{title:"スーパージャンプ",label:"スーパージャンプ状態を切り替えると、より速く走ることができる。",success:"スーパージャンプが有効化された。"},normal:{title:"デフォルト",label:"デフォルト/通常プレイヤー状態に戻る",success:"デフォルトのプレイヤー状態に戻りました。"}},teleport:{title:"テレポート",generic_success:"あなたをワームホールに送った!",waypoint:{title:"ウェイポイント",label:"地図上に設定されたカスタムウェイポイントにテレポートする。",error:"ウェイポイントが設定されていない。"},coords:{title:"座標",label:"指定された座標にテレポート",dialog_title:"テレポート",dialog_desc:"ワームホールを通過するための座標をx、y、zの形式で指定する。",dialog_error:"座標が無効です。次の形式でなければなりません: 111, 222, 33"},back:{title:"戻る",label:"最後にテレポートした前の場所に戻る。",error:"戻る最後の場所がない!"},copy:{title:"座標をコピー",label:"現在のワールド座標をクリップボードにコピーする。"}},vehicle:{title:"車両",not_in_veh_error:"あなたは現在車両に乗っていない!",spawn:{title:"生成",label:"モデル名から指定された車両を生成する",dialog_title:"車両を生成",dialog_desc:"生成したい車両のモデル名を入力する。",dialog_success:"車両が生成された!",dialog_error:"車両モデル名'%{modelName}'が存在しません!",dialog_info:"%{modelName}を生成しようとしています。"},fix:{title:"修理",label:"車両を最大限の状態まで修理する。",success:"車両は修理された!"},delete:{title:"削除",label:"プレイヤーが現在乗っている車両を削除する。",success:"車両は削除された!"},boost:{title:"強化",label:"最大限の楽しさ(と多分スピード)を得るために車両を強化する。",success:"車両が強化された!",already_boosted:"この車両は既に強化されています。",unsupported_class:"この車両クラスはサポートされていません。",redm_not_mounted:"強化できるのは馬に乗っているときだけです。"}},heal:{title:"回復",myself:{title:"自分自身",label:"現在のキャラクターの最大値まで自分を回復させる。",success_0:"完治した!",success_1:"もう気分は良いはずだ!",success_2:"完全回復!",success_3:"痛いところが治った!"},everyone:{title:"全員",label:"接続している全プレイヤーを回復&復活させる。",success:"全プレイヤーを回復&復活した!"}},announcement:{title:"アナウンスを送信",label:"全オンラインプレイヤーにアナウンスを送る。",dialog_desc:"アナウンスしたいメッセージを入力します。",dialog_placeholder:"あなたのアナウンスは...",dialog_success:"アナウンスを送信しています。"},clear_area:{title:"ワールドエリアをリセット",label:"指定したワールドエリアをデフォルト状態に戻す。",dialog_desc:"エンティティをリセットしたい半径を入力してください(0-300)。サーバーサイドで生成されたエンティティはリセットされません。",dialog_success:"半径%{radius}mのエリアをリセットしています。",dialog_error:"無効な半径が入力されました。再度入力してください。"},player_ids:{title:"プレイヤーIDの切り替え",label:"プレイヤーID(およびその他の情報)を、近くにいる全プレイヤーの頭上に表示するかの切り替え。",alert_show:"近くのプレイヤーのNetIDを表示しています。",alert_hide:"近くのプレイヤーのNetIDを隠しています。"}},page_players:{misc:{online_players:"オンラインプレイヤー",players:"プレイヤー",search:"検索",zero_players:"プレイヤーが見つかりませんでした"},filter:{label:"Filter by",no_filter:"No Filter",is_admin:"Is Admin",is_injured:"Is Injured / Dead",in_vehicle:"In Vehicle"},sort:{label:"ソート",distance:"距離",id:"ID",joined_first:"最初に参加した時間",joined_last:"最後に参加した時間",closest:"最も近い",farthest:"最も遠い"},card:{health:"体力 %{percentHealth}%"}},player_modal:{misc:{error:"このユーザーの詳細を取得する際にエラーが発生しました。エラーの内容は次の通りです:",target_not_found:"IDまたはユーザー名が%{target}のオンラインプレイヤーを見つけることができませんでした。"},tabs:{actions:"アクション",info:"情報",ids:"IDs",history:"履歴",ban:"Ban"},actions:{title:"プレイヤーのアクション",command_sent:"コマンドが送信された!",moderation:{title:"管理",options:{dm:"DM",warn:"警告",kick:"キック",set_admin:"管理者にする"},dm_dialog:{title:"DM",description:"このプレイヤーにDMを送信する理由は何ですか?",placeholder:"理由...",success:"DMが送信された!"},warn_dialog:{title:"警告",description:"このプレイヤーを警告する理由は何ですか?",placeholder:"理由...",success:"プレイヤーは警告された!"},kick_dialog:{title:"キック",description:"このプレイヤーをキックする理由は何ですか?",placeholder:"理由...",success:"プレイヤーがキックされた!"}},interaction:{title:"インタラクション",options:{heal:"回復",go_to:"行く",bring:"召喚",spectate:"観戦",toggle_freeze:"静止の切り替え"},notifications:{heal_player:"プレイヤーを回復中",tp_player:"プレイヤーをテレポート中",bring_player:"プレイヤーを召喚中",spectate_failed:"ターゲットの解決に失敗しました!観戦を終了します",spectate_yourself:"自分自身は観戦できない",freeze_yourself:"自分自身を静止することはできない",spectate_cycle_failed:"切り替えられる他のプレイヤーがいない"}},troll:{title:"荒らす",options:{drunk:"泥酔させる",fire:"火をつける",wild_attack:"野生動物の襲来"}}},info:{title:"プレイヤー情報",session_time:"参加時間",play_time:"プレイ時間",joined:"参加",whitelisted_label:"ホワイトリスト",whitelisted_notyet:"未登録",btn_wl_add:"ホワイトリストに追加",btn_wl_remove:"ホワイトリストから削除",btn_wl_success:"ホワイトリストのステータスが変更されました。",log_label:"ログ",log_empty:"BAN/警告が見つかりませんでした。",log_ban_count:"%{smart_count} BAN |||| %{smart_count} BAN",log_warn_count:"%{smart_count} 警告 |||| %{smart_count} 警告",log_btn:"詳細",notes_placeholder:"このプレイヤーについてのメモ...",notes_changed:"プレイヤーのメモが変更された。"},ids:{current_ids:"現在のID",previous_ids:"以前のID",all_hwids:"全てのハードウェアID"},history:{title:"関連履歴",btn_revoke:"取り消し",revoked_success:"アクションを取り消した!",banned_by:"%{author}によってBANされた",warned_by:"%{author}によって警告された",revoked_by:"%{author}によって取り消された",expired_at:"%{date}に失効した",expires_at:"%{date}に失効する"},ban:{title:"プレイヤーをBAN",reason_placeholder:"理由",reason_required:"理由欄は必須です。",duration_placeholder:"期間",success:"プレイヤーがBANされた!",hours:"時間",days:"日",weeks:"週間",months:"ヶ月",permanent:"永久",custom:"カスタム",helper_text:"期間を選択してください",submit:"BANを適用"}}}};var lt_default2={$meta:{label:"Lithuanian",humanizer_language:"lt"},restarter:{server_unhealthy_kick_reason:"serveris turi būti paleistas iš naujo, prašome prisijungti dar kartą",partial_hang_warn:"Dėl pakibimo, serveris persijungs automatiškai po 1 min. Atsijunkite nedelsiant.",partial_hang_warn_discord:"Dėl pakibimo, **%{servername}** serveris persijungs po 1 min.",schedule_reason:"Automatinis %{time} perkrovimas",schedule_warn:"Serveris persikraus už %{smart_count} min. Prašome atsijungti. |||| Serveris persikraus už %{smart_count} min. Prašome atsijungti.",schedule_warn_discord:"**%{servername}** automatiškai persikraus už %{smart_count} min. |||| **%{servername}** automatiškai persikraus už %{smart_count} min."},kick_messages:{everyone:"All players kicked: %{reason}.",player:"You have been kicked: %{reason}.",unknown_reason:"for unknown reason"},ban_messages:{kick_temporary:'(%{author}) Buvote užblokuotas iš serverio dėl "%{reason}". Blokavimas bus baigtas: %{expiration}.',kick_permanent:'(%{author}) Buvote užblokuotas iš serverio visam laikui dėl "%{reason}".',reject:{title_permanent:"Esate visam laikui užblokuotas nuo prisijungimo į serverį.",title_temporary:"Esate laikinai užblokuotas nuo prisijungimo į serverį.",label_expiration:"Tavo užblokavimas baigsis po",label_date:"Užblokavimo data",label_author:"Tave užblokavo",label_reason:"Užblokavimo priežastis",label_id:"Užblokavimo ID",note_multiple_bans:"P.S. Tu turi daugiau nei vieną užblokavimą ant savo identifikatorių",note_diff_license:"Prierašas: šis užblokavimas skirtas kitai <code>licenzijai</code>, tai reiškią jūsų kai kurie IDs/HWIDs sutampa su esančiais tame užblokavime"}},whitelist_messages:{admin_only:{mode_title:"Šis serveris yra <strong>Tik Administratoriams</strong> rėžime.",insufficient_ids:"Tu neturi <code>discord</code> arba <code>fivem</code> identifikatorių, ar bent vieno iš jų, jog patvirtinti, kad esi txAdmin administratorius.",deny_message:"Tavo identifikatoriai nėra sujungti su txAdmin administratoriumi."},guild_member:{mode_title:"Šois serveris yra <strong>Discord Gildijos (Serverio) Nario Baltojo Sąrašo</strong> rėžime",insufficient_ids:"Tu neturi <code>discord</code> identifikatoriaus, kuris yra reikalingas patvirtinti, jog prisijungėte į Discord gildiją (serverį). Please open the Discord Desktop app and try again (the Web app won't work).",deny_title:"Tau reikia prisijungti į Discord gildiją (serverį)",deny_message:"Prašome prisijungti į %{guildname} gildiją (serverį) ir bandyti vėl."},guild_roles:{mode_title:"Šis serveris yra <strong>Discord Rolių Baltojo Sąrašo</strong> rėžime.",insufficient_ids:"Tu neturi <code>discord</code> identifikatoriaus, kuris yra reikalingas patvirtinti, jog prisijungėte į Discord gildiją (serverį). Please open the Discord Desktop app and try again (the Web app won't work).",deny_notmember_title:"Tau reikia prisijungti į Discord gildiją (serverį), kad prisijungti.",deny_notmember_message:"Prašome prisijungti į %{guildname}, gauti reikiamą rolę ir bandyti vėl.",deny_noroles_title:"Tu neturi reikiamos rolės, jog prisijungti.",deny_noroles_message:"Jog prisijungti į serverį, tau reikia turėti bent vieną baltąjame sąraše esančių rolių %{guildname} Discord gildijoje (serveryje)."},approved_license:{mode_title:"Šis serveris yra <strong>Licenzijos Baltojo Sąrašo</strong> rėžime.",insufficient_ids:"Tu neturi reikiamo <code>license</code> identifikatoriaus, kas rodo, jog serveris yra įjungęs <code>sv_lan</code>. Jei esi serverio savininkas, gali tai pakeisti <code>server.cfg</code> faile.",deny_title:"Neesi baltąjame sąraše, jog galėtum prisijungti į šį serverį.",request_id_label:"Prašymo ID"}},server_actions:{restarting:"Serverio perkrovimas (%{reason}).",restarting_discord:"**%{servername}** yra perkraunamas (%{reason}).",stopping:"Serveris išjungiamas (%{reason}).",stopping_discord:"**%{servername}** yra išjungiamas (%{reason}).",spawning_discord:"**%{servername}** yra įjungiamas."},nui_warning:{title:"ĮSPĖJIMAS",warned_by:"Įspėjimą skyrė:",stale_message:"Šis įspėjimas buvo išduotas prieš jums prisijungiant prie serverio.",dismiss_key:"SPACE",instruction:"Laikykite %{key} %{smart_count} sekundę, kad išjungtum šį pranešimą. |||| Laikykite %{key} %{smart_count} sekundes, kad išjungtum šį pranešimą."},nui_menu:{misc:{help_message:"txAdmin Meniu įjungtas, rašykite /tx norėdami jį atidaryti.\nMygtuką galite priskirti ar pakeisti [Game Settings > Key Bindings > FiveM > Menu: Open Main Page].",menu_not_admin:"Jūsų identifikavimas txAdmin sistemai nebuvo rastas.\nJei esate užregistruotas txAdmin sistemoje, eikite į Admin Manager ir įsitikinkite, kad jūsų atpažinimas išsaugotas.",menu_auth_failed:"txAdmin Menu authentication failed with reason: %{reason}",no_perms:"Neturite tam teisių.",unknown_error:"Nežinoma klaida.",not_enabled:"txAdmin meniu nėra įjungtas! Tai galite padaryti per txAdmin nustatymų (settings) puslapį.",announcement_title:"Serverio pranešimas nuo: %{author}:",dialog_empty_input:"Turite užpildyti įvesties laukelius.",directmessage_title:"PŽ. iš administratoriaus %{author}:",onesync_error:"This action requires OneSync to be enabled."},frozen:{froze_player:"Užšaldėte žaidėją!",unfroze_player:"Atšaldėte žaidėją!",was_frozen:"Serverio administratorius jus užšaldė!"},common:{cancel:"Atšaukti",submit:"Patvirtinti",error:"Įvyko klaida",copied:"Nukopijuota."},page_main:{tooltips:{tooltip_1:"Naudokite %{key} norėdami pakeisti puslapį, rodyklių mygtukus norėdami naviguoti meniu pasirinkimus.",tooltip_2:"Kai kurie meniu pasirinkimai gali būti pakeisti naudojant kairės ir dešinės rodyklių mygtukus."},player_mode:{title:"Žaidėjo rėžimas",noclip:{title:"NoClip",label:"Skraidymas",success:"Skraidymas įjungtas"},godmode:{title:"Dievo rėžimas",label:"Nemirtingumas",success:"Nemirtingumas įjungtas"},superjump:{title:"Super Šuolis",label:"Įjungti/išjungti super šuolio rėžimą, jūsų veikėjas taippat bėgs greičiau",success:"Super Šuolis įjungtas"},normal:{title:"Normalusis",label:"Numatytasis rėžimas",success:"Grįžote į numatytąjį rėžimą."}},teleport:{title:"Teleportacija",generic_success:"Pakeisti savo poziciją!",waypoint:{title:"Pažymėtas taškas (Waypoint)",label:"Nusikelkite į pažymėtą žemėlapyje vietą",error:"Pirma pažymėkite vietą žemėlapyje."},coords:{title:"Koordinatės",label:"Persikelkite į įvestas koordinates",dialog_title:"Persikelti",dialog_desc:"Įveskite x, y, z koordinates į kurias norite nusikelti.",dialog_error:"Netinkamos koordinatės, tinkamas formatas: 111, 222, 33"},back:{title:"Grįžti",label:"Grįžti į paskutinę vietą",error:"Neturite išsaugotos vietos grįžimui!"},copy:{title:"Kopijuoti koordinates",label:"Nukopijuoti koordinates įklijavimui."}},vehicle:{title:"Tr. priemonė",not_in_veh_error:"Nesate jokioje tr.priemonėje!",spawn:{title:"Spawn'inimas",label:"Spawn'inti tr. priemonę pagal pavadinimą",dialog_title:"Spawn'inti tr. priemonę",dialog_desc:"Įveskite tr. priemonės modelio pavadinimą.",dialog_success:"Tr. priemonė sukurta!",dialog_error:"Modelio pavadinimas '%{modelName}' neegzistuoja!",dialog_info:"Bandoma at'spawn'inti %{modelName}."},fix:{title:"Remontas",label:"Suremontuoti tr. priemonę",success:"Tr. priemonė suremontuota!"},delete:{title:"Ištrinti",label:"Ištrinti dabartinę tr. priemonę",success:"Tr. priemonė ištrinta!"},boost:{title:"Turbo",label:"Paturbink tr. priemonę, kad pasiektum maksimalų džiaugsmo (ir galbūt greičio) lygį.",success:"Tr. priemonė paturbinta",already_boosted:"Ši tr. priemonė jau yra paturbinta.",unsupported_class:"Ši tr. priemonių klasė nėra palaikoma.",redm_not_mounted:"Galite greitėti tik jodami ant arklio"}},heal:{title:"Gydyti",myself:{title:"Save",label:"Atstato gyvybes jums",success_0:"Jūs pagydytas!",success_1:"Turėtumėte jaustis kur kas geriau!",success_2:"Stebuklingų galių pagalba vėl jaučiatės geriau!",success_3:"Skausmai panaikinti!"},everyone:{title:"Visus",label:"Pagydys ir prikels visus žaidėjus",success:"Visi žaidėjai pagydyti ir prikelti."}},announcement:{title:"Siųsti pranešimą",label:"Siųsti pranešimą visiems serverio žaidėjams.",dialog_desc:"Įveskite viešojo pranešimo tekstą",dialog_placeholder:"Jūsų pranešimas...",dialog_success:"Siunčiamas pranešimas."},clear_area:{title:"Atstatyti pasaulio aplinką",label:"Atstatyti pasaulio aplinką į numatytąją",dialog_desc:"Įveskite kokiu spinduliu norėtumėte atstatyti objektus (0-300). Šis pasirinkimas neištrins serverio sukurtų objektų",dialog_success:"Ištrinami objektai %{radius} metrų spinduliu",dialog_error:"Netinkamas skaičius."},player_ids:{title:"Žaidėjų ID rodymas",label:"Įjungti žaidėjų ID (ir kitos informacijos) rodyma virš jų galvų",alert_show:"Žaidėjų NetID rodomi.",alert_hide:"Žaidėjų NetID paslėpti."}},page_players:{misc:{online_players:"Prisijungę žaidėjai",players:"Žaidėjai",search:"Paieška",zero_players:"Žaidėjų nerasta"},filter:{label:"Filter by",no_filter:"No Filter",is_admin:"Is Admin",is_injured:"Is Injured / Dead",in_vehicle:"In Vehicle"},sort:{label:"Rikiuoti pagal",distance:"Atstumą",id:"ID",joined_first:"Pirmi prisijungę",joined_last:"Paskutiniai prisijungę",closest:"Artimiausi",farthest:"Tolimiausi"},card:{health:"%{percentHealth}% gyvybių"}},player_modal:{misc:{error:"Klaida gaunant žaidėjo duomenis. Klaida:",target_not_found:"Nepavyko rasti žaidėjo su šiuo ID arba vardu - %{target}"},tabs:{actions:"Veiksmai",info:"Informacija",ids:"ID",history:"Istorija",ban:"Blokuoti"},actions:{title:"Žaidėjo veiksmai",command_sent:"Komanda išsiųsta!",moderation:{title:"Moderavimas",options:{dm:"DM",warn:"Įspėjimas",kick:"Išmesti",set_admin:"Paskirti administratoriumi"},dm_dialog:{title:"Privati žinutė (DM)",description:"Privačios žinutės tekstas.",placeholder:"Žinutė...",success:"Privati žinutė išsiųsta!"},warn_dialog:{title:"Įspėti",description:"Dėl kokios priežasties įspėjate žaidėją?",placeholder:"Priežastis...",success:"Žaidėjas įspėtas!"},kick_dialog:{title:"Išmesti",description:"Dėl kokios priežasties išmetate žaidėją?",placeholder:"Priežastis...",success:"Žaidėjas išmestas!"}},interaction:{title:"Veiksmai",options:{heal:"Pagydyti",go_to:"Nusikelti iki",bring:"Atkelti iki savęs",spectate:"Stebėti (spectate)",toggle_freeze:"Šaldyti"},notifications:{heal_player:"Gydomas žaidėjas",tp_player:"Nusikeliama iki žaidėjo",bring_player:"Žaidėjas atkeliamas",spectate_failed:"Žaidėjas nerastas! Stebėjimas išjungiamas.",spectate_yourself:"Negalite stebėti savęs.",freeze_yourself:"Negalite užšaldyti savęs.",spectate_cycle_failed:"Nėra kitų žaidėjų"}},troll:{title:"Trolinimas",options:{drunk:"Padaryti girtu",fire:"Padegti",wild_attack:"Laukinių gyvūnų užpuolimas"}}},info:{title:"Žaidėjo informacija",session_time:"Sesijos laikas",play_time:"Pražaista laiko",joined:"Prisijungęs",whitelisted_label:"Pridėtas prie WL",whitelisted_notyet:"dar ne",btn_wl_add:"PRIDĖTI WL",btn_wl_remove:"PANAIKINTI WL",btn_wl_success:"WL rėžimas pakeistas",log_label:"Istorija",log_empty:"Jokiu užblokavimų/perspėjimų nerasta.",log_ban_count:"%{smart_count} užblokavimas |||| %{smart_count} užblokavimai",log_warn_count:"%{smart_count} perspėjimas |||| %{smart_count} perspėjimai",log_btn:"DETALĖS",notes_changed:"Žaidėjo užrašai pakeisti",notes_placeholder:"Užrašai apie žaidėją..."},history:{title:"Susijusi informacija",btn_revoke:"ATŠAUKTI",revoked_success:"Veiksmas atšauktas!",banned_by:"Užblokuotas %{author}",warned_by:"Perspėtas %{author}",revoked_by:"Atimta %{author}.",expired_at:"Baigė galioti %{date}.",expires_at:"Baigs galioti %{date}."},ban:{title:"Užblokuoti žaidėją",reason_placeholder:"Priežastis",duration_placeholder:"Laikas",hours:"valandos",days:"dienos",weeks:"savaitės",months:"mėnesiai",permanent:"Visam laikui",custom:"Pasirinktinis",helper_text:"Pasirinkti laiką",submit:"Užblokuoti",reason_required:"Priežasties laukas yra privalomas!",success:"Žaidėjas užblokuotas!"},ids:{current_ids:"Dabartiniai Identifikatoriai",previous_ids:"Ankščiau Naudoti Identifikatoriai",all_hwids:"Visi HWID Identifikatoriai"}}}};var lv_default={$meta:{label:"Latviešu",humanizer_language:"lv"},restarter:{server_unhealthy_kick_reason:"serverim jārestartē, lūdzu, pievienojies vēlreiz",partial_hang_warn:"Nepilnīgas pakāršanās dēļ šis serveris tiks restartēts pēc 1 minūtes. Lūdzu, atvienojieties tagad.",partial_hang_warn_discord:"Nepilnīgas pakāršanās dēļ, **%{servername}** tiks restartēts pēc 1 minūtes.",schedule_reason:"Ieplānotais restarts %{time}",schedule_warn:"Šī servera restartēšana ir ieplānota pēc %{smart_count} minūtes. Lūdzu, atvienojieties tagad. |||| Šī servera restartēšana ir ieplānota pēc %{smart_count} minūtēm.",schedule_warn_discord:"**%{servername}** ir ieplānots restarts pēc %{smart_count} minūtēm(s). |||| **%{servername}** ir ieplānots restarts pēc %{smart_count} minūtēm."},kick_messages:{everyone:"Visi spēlētāji tika izmesti: %{reason}.",player:"Tu tiki izmests no servera: %{reason}.",unknown_reason:"nezināma iemesla dēļ"},ban_messages:{kick_temporary:'(%{author}) Tu esi uz laiku bloķēts no šī servera par "%{reason}". Tava bloķēšana beigsies pēc: %{expiration}.',kick_permanent:'(%{author}) Tu esi mūžīgi bloķēts no šī servera par "%{reason}".',reject:{title_permanent:"Tu esi mūžīgi bloķēts no šī servera.",title_temporary:"Tu esi bloķēts no šī servera.",label_expiration:"Tava bloķēšana beigsies pēc",label_date:"Bloķēšanas datums",label_author:"Administrātors",label_reason:"Bloķēšanas iemesls",label_id:"Ban ID",note_multiple_bans:"Piezīme: Tev ir vairāk nekā viena aktīva bloķēšana taviem identifikatoriem.",note_diff_license:"Piezīme: augstāk redzamā bloķēšana tika piemērota citai <code>license</code>, kas nozīmē, ka daži no taviem ID/HWID sakrīt ar tiem, kas saistīti ar šo bloķēšanu."}},whitelist_messages:{admin_only:{mode_title:"Šim serverim ir ieslēgts <strong>Tikai administratoriem</strong> režīms.",insufficient_ids:"Tev nav <code>discord</code> vai <code>fivem</code> identifikatoru, un vismaz viens no tiem ir nepieciešams, lai pārbaudītu, vai esi txAdmin administrators.",deny_message:"Tavi identifikatori nav piesaistīti nevienam txAdmin administratoram."},guild_member:{mode_title:"Šim serverim ir ieslēgts <strong>Discord server Member Whitelist</strong> režīms.",insufficient_ids:"Tev nav <code>discord</code> identifikators, kas ir nepieciešams, lai pārbaudītu, vai esi pievienojies mūsu Discord Serverim. Lūdzu, atver Discord un mēģini vēlreiz (tīmekļa lietotne nedarbosies).",deny_title:"Tev ir jāpievienojas mūsu Discord server, lai pieslēgtos.",deny_message:"Lūdzu, pievienojies %{guildname}, tad mēģini vēlreiz."},guild_roles:{mode_title:"Šim serverim ir ieslēgts <strong>Discord Role Whitelist</strong> režīms.",insufficient_ids:"Tev nav <code>discord</code> identifikators, kas ir nepieciešams, lai pārbaudītu, vai esi pievienojies mūsu Discord Serverim. Lūdzu, atver Discord un mēģini vēlreiz (tīmekļa lietotne nedarbosies).",deny_notmember_title:"Tev ir jāpievienojas mūsu Discord Serverim, lai pieslēgtos.",deny_notmember_message:"Lūdzu, pievienojies %{guildname}, iegūsti vienu no nepieciešamajiem roles un tad mēģini vēlreiz.",deny_noroles_title:"Tev nav nepieciešamo whitelisted roles, lai pievienotos.",deny_noroles_message:"Lai pievienotos šim serverim, tev ir jābūt vismaz vienai no whitelisted roles, iekš %{guildname} Serverim."},approved_license:{mode_title:"Šim serverim ir ieslēgts <strong>License Whitelist</strong> režīms.",insufficient_ids:"Tev nav <code>license</code> identifikators, kas nozīmē, ka serverim ir ieslēgts <code>sv_lan</code>. Ja esi servera īpašnieks, vari to atspējot <code>server.cfg</code> failā.",deny_title:"Tev nav piešķirts whitelists, lai pievienotos šim serverim.",request_id_label:"Pieprasījuma ID"}},server_actions:{restarting:"Serveris tiek restartēts (%{reason}).",restarting_discord:"**%{servername}** tiek restartēts (%{reason}).",stopping:"Serveris tiek izslēgts (%{reason}).",stopping_discord:"**%{servername}** tiek izslēgts (%{reason}).",spawning_discord:"**%{servername}** tiek ieslēgts"},nui_warning:{title:"BRĪDINĀJUMS",warned_by:"Brīdinājumu izdeva:",stale_message:"Šis brīdinājums tika izdots, pirms tu pievienojies serverim.",dismiss_key:"SPACE",instruction:"Turiet %{key} %{smart_count} sekundi, lai noraidītu šo ziņojumu. |||| Turiet %{key} %{smart_count} sekundes, lai noraidītu šo ziņojumu."},nui_menu:{misc:{help_message:"txAdmin Menu ir iespējots, ieraksti /tx, lai to atvērtu.\nTu vari arī iestatīt taustiņu pats uzejot [Game Settings > Key Bindings > FiveM > Menu: Open Main Page].",menu_not_admin:"Tavi identifikatori neatbilst nevienam txAdmin reģistrētam administratoram.\nJa esi reģistrēts txAdmin, dodies uz Admin Manager un pārliecinies, ka tavi identifikatori ir saglabāti.",menu_auth_failed:"txAdmin Menu autentifikācija neizdevās ar iemeslu: %{reason}",no_perms:"Tev nav šīs atļaujas.",unknown_error:"Radās nezināma kļūda.",not_enabled:"txAdmin Menu nav iespējots! Tu vari to iespējot txAdmin iestatījumu lapā.",announcement_title:"Servera paziņojums no %{author}:",dialog_empty_input:"Ievade nevar būt tukša.",directmessage_title:"DM no admina %{author}:",onesync_error:"Šai darbībai ir nepieciešams iespējot OneSync."},frozen:{froze_player:"Tu iefreezoji spēlētāju!",unfroze_player:"Tu atfreezoji spēlētāju!",was_frozen:"Tevi iefreezoja servera administrators!"},common:{cancel:"Atcelt",submit:"Apstiprināt",error:"Radās kļūda",copied:"Teksts nokopēts."},page_main:{tooltips:{tooltip_1:"Izmanto %{key}, lai pārslēgtu lapas, un bulttaustiņus, lai pārvietotos pa izvēlnes vienībām",tooltip_2:"Dažiem izvēlnes vienumiem ir papildu iespējas, kuras var izvēlēties, izmantojot kreiso un labo bulttaustiņu"},player_mode:{title:"Spēlētāja režīmi",noclip:{title:"NoClip",label:"NoClip",success:"NoClip ieslēgts"},godmode:{title:"Godmode",label:"Godmode",success:"Godmode režīms ieslēgts"},superjump:{title:"Superjump",label:"Pārslēdz superjump režīmu, spēlētājs arī skries ātrāk",success:"Superjump ieslēgts"},normal:{title:"Default",label:"Noklusējuma režīms",success:"Atgriezti noklusējuma režīmi."}},teleport:{title:"Teleport",generic_success:"Tu tiki nosūtīts uz lokāciju!",waypoint:{title:"Waypoint",label:"Doties uz iestatīto waypointu",error:"Tev nav iestatīts neviens waypoints."},coords:{title:"Coords",label:"Doties uz norādītajām koordinātēm",dialog_title:"Teleportēties",dialog_desc:"Norādi koordinātes x, y, z formātā, lai teleportētos uz koordinātēm.",dialog_error:"Nederīgas koordinātes. Tām jābūt šādā formātā: 111, 222, 33"},back:{title:"Atpakaļ",label:"Doties atpakaļ uz pēdējo atrašanās vietu",error:"Nav pēdējās atrašanās vietas, kur atgriezties!"},copy:{title:"Kopēt koordinātes",label:"Kopēt koordinātes."}},vehicle:{title:"Vehicle",not_in_veh_error:"Tu pašlaik neesi transportlīdzeklī!",spawn:{title:"Spawn",label:"Iespawnot transportlīdzekli pēc modeļa nosaukuma",dialog_title:"Iespawnot transportlīdzekli",dialog_desc:"Ievadi transportlīdzekļa modeļa nosaukumu, kuru vēlies iespawnot.",dialog_success:"Transportlīdzeklis iespawnots!",dialog_error:"Transportlīdzekļa modelis '%{modelName}' neeksistē!",dialog_info:"Mēģina iespawnot %{modelName}."},fix:{title:"Salabot",label:"Salabot pašreizējo transportlīdzekli",success:"Transportlīdzeklis salabots!"},delete:{title:"Dzēst",label:"Dzēst pašreizējo transportlīdzekli",success:"Transportlīdzeklis dzēsts!"},boost:{title:"Pastiprināt",label:"Pastiprināt transportlīdzekli, lai sasniegtu maksimālu jautrību (un varbūt ātrumu)",success:"Transportlīdzeklis pastiprināts!",already_boosted:"Šis transportlīdzeklis jau bija pastiprināts.",unsupported_class:"Šī transportlīdzekļa klase netiek atbalstīta.",redm_not_mounted:"Tu vari pastiprināt tikai tad, ja esi uz zirga."}},heal:{title:"Izārstēt",myself:{title:"Sevi",label:"Atjaunot veselību",success_0:"Pilnībā izārstēts!",success_1:"Tagad tev vajadzētu justies labi!",success_2:"Viss atjaunots!",success_3:"Sāpes novērstas!"},everyone:{title:"Visi",label:"Izārstēt un atdzīvināt visus spēlētājus",success:"Visi spēlētāji izārstēti un atdzīvināti."}},announcement:{title:"Sūtīt paziņojumu",label:"Sūtīt paziņojumu visiem tiešsaistē esošajiem spēlētājiem.",dialog_desc:"Sūtīt paziņojumu visiem tiešsaistē esošajiem spēlētājiem.",dialog_placeholder:"Tavs paziņojums...",dialog_success:"Paziņojums tika nosūtīts."},clear_area:{title:"Atiestatīt pasaules apgabalu",label:"Atiestatīt konkrētu pasaules apgabalu uz tā noklusējuma stāvokli",dialog_desc:"Lūdzu, ievadi rādiusu (0-300), kurā vēlies atiestatīt objektus. Tas neizdzēsīs objektus, kas izsaukti servera pusē.",dialog_success:"Tīru apgabalu ar rādiusu %{radius}m",dialog_error:"Nederīga rādiusa vērtība. Mēģini vēlreiz."},player_ids:{title:"Pārslēgt spēlētāju ID",label:"Pārslēgt spēlētāju ID (un citu informāciju) rādīšanu virs tuvāko spēlētāju galvām",alert_show:"Parādu tuvāko spēlētāju NetID.",alert_hide:"Slēpju tuvāko spēlētāju NetID."}},page_players:{misc:{online_players:"Tiešsaistes spēlētāji",players:"Spēlētāji",search:"Meklēt",zero_players:"Nav atrasts neviens spēlētājs."},filter:{label:"Filtrēt pēc",no_filter:"Bez filtra",is_admin:"Ir administrators",is_injured:"Savainots / miris",in_vehicle:"Transportlīdzeklī"},sort:{label:"Kārtot pēc",distance:"Attālums",id:"ID",joined_first:"Pievienojās pirmais",joined_last:"Pievienojās pēdējais",closest:"Tuvākais",farthest:"Tālākais"},card:{health:"%{percentHealth}% veselība"}},player_modal:{misc:{error:"Radās kļūda, iegūstot šī lietotāja informāciju. Kļūda ir redzama zemāk:",target_not_found:"Neizdevās atrast tiešsaistē spēlētāju ar ID vai lietotājvārdu %{target}"},tabs:{actions:"Darbības",info:"Informācija",ids:"ID",history:"Vēsture",ban:"Ban"},actions:{title:"Spēlētāja darbības",command_sent:"Komanda nosūtīta!",moderation:{title:"Moderācija",options:{dm:"DM",warn:"Brīdināt",kick:"Izmest",set_admin:"Iedot Admin"},dm_dialog:{title:"Privātā Ziņa",description:"Kāds ir iemesls, kādēļ vēlies nosūtīt privāto ziņu šim spēlētājam?",placeholder:"Iemesls...",success:"Tava privātā ziņa ir nosūtīta!"},warn_dialog:{title:"Brīdināt",description:"Kāds ir iemesls, kādēļ vēlies brīdināt šo spēlētāju?",placeholder:"Iemesls...",success:"Spēlētājs brīdināts!"},kick_dialog:{title:"Izmest",description:"Kāds ir iemesls, kādēļ vēlies izmest šo spēlētāju?",placeholder:"Iemesls...",success:"Spēlētājs izmests!"}},interaction:{title:"Interakcijas",options:{heal:"Heal",go_to:"Go to",bring:"Bring",spectate:"Specatate",toggle_freeze:"Toggle Freeze"},notifications:{heal_player:"Spēlētājs tiek izārstēts",tp_player:"Teleportēties pie spēlētāja",bring_player:"Atvilkt spēlētāju",spectate_failed:"Neizdevās atrast spēlētāju! Beidz vērošanu.",spectate_yourself:"Tu nevari vērot sevi.",freeze_yourself:"Tu nevari iesaldēt sevi.",spectate_cycle_failed:"Nav neviena cita spēlētāja, ko vērot."}},troll:{title:"Troll",options:{drunk:"Padarīt reibuma stāvoklī",fire:"Aizdedzināt",wild_attack:"Dzivnieku Uzbrukšana"}}},info:{title:"Spēlētāja informācija",session_time:"Sesijas laiks",play_time:"Nospēlētais laiks",joined:"Pievienojās",whitelisted_label:"Whitelisted",whitelisted_notyet:"vēl nav",btn_wl_add:"PIEVIENOT WL",btn_wl_remove:"NOŅEMT WL",btn_wl_success:"Whitelist statuss mainīts.",log_label:"Logi",log_empty:"Nav atrasti bloķējumi vai brīdinājumi.",log_ban_count:"%{smart_count} bans |||| %{smart_count} bani",log_warn_count:"%{smart_count} brīdinājums |||| %{smart_count} brīdinājumi",log_btn:"SĪKĀK",notes_changed:"Spēlētāja piezīmes ir mainītas.",notes_placeholder:"Piezīmes par šo spēlētāju..."},history:{title:"Saistītā vēsture",btn_revoke:"Atcelt",revoked_success:"Darbība atsaukta!",banned_by:"BLOĶĒJA %{author}",warned_by:"BRĪDINĀJA %{author}",revoked_by:"Atsaukta: %{author}.",expired_at:"Beidzās %{date}.",expires_at:"Beigsies %{date}."},ban:{title:"Banot spēlētāju",reason_placeholder:"Iemesls",duration_placeholder:"Ilgums",hours:"stundas",days:"dienas",weeks:"nedēļas",months:"mēneši",permanent:"Neatgriezeniski",custom:"Pielāgots",helper_text:"Lūdzu, izvēlies ilgumu",submit:"Apstiprināt Banu",reason_required:"Iemesla lauks ir obligāts.",success:"Spēlētājs bloķēts!"},ids:{current_ids:"Pašreizējie identifikatori",previous_ids:"Iepriekš izmantotie identifikatori",all_hwids:"Visi HWID ID"}}}};var mn_default={$meta:{label:"Mongolian",humanizer_language:"mn"},restarter:{server_unhealthy_kick_reason:"сэрвэр дахин эхлүүлэх шаардлагатай, дахин холбогдоорой",partial_hang_warn:"Хэсэгчилсэн саатлын улмаас энэ сервер 1 минутын дараа дахин асах болно. Одоо салгана уу.",partial_hang_warn_discord:"Хэсэгчилсэн саатлын улмаас, **%{servername}** сервер 1 минутын дараа дахин асах болно",schedule_reason:"Ээлжит шинэчлэлт эхлэх хугацаа %{time}",schedule_warn:"This server is scheduled to restart in %{smart_count} minute. Please disconnect now. |||| This server is scheduled to restart in %{smart_count} minutes.",schedule_warn_discord:"**%{servername}** серверийн ээлжит шинэчлэлт %{smart_count} минутын дараа болох гэж байна. |||| **%{servername}** хотын ээлжит шинэчлэлт хүртэл %{smart_count} минут дутуу байна."},kick_messages:{everyone:"All players kicked: %{reason}.",player:"You have been kicked: %{reason}.",unknown_reason:"for unknown reason"},ban_messages:{kick_temporary:'(%{author}) Таны нэвтрэх эрх хязгаарлагдсан байна. Шалтгаан: "%{reason}". Хязгаарлагдах хугацаа: %{expiration}.',kick_permanent:'(%{author}) Та тус серверт үүрд нэвтрэх эрхгүй болсон байна. "%{reason}".',reject:{title_permanent:"Та BAN -дуулсан буюу үүрд нэвтэрч чадахгүй болсон байна.",title_temporary:"Та тодорхой хугацаанд BAN -дуулсан байна.",label_expiration:"Эрх хязгаарлагдах хугацаа",label_date:"Эрхийн хязгаар дуусах өдөр",label_author:"Хязгаарлалт хийсэн",label_reason:"Шалтгаан",label_id:"БАН КОД",note_multiple_bans:"Сануулга: та хэтэрхий олон BAN -тай байна.",note_diff_license:"Сануулга: таны <code>license</code> Rockstar ID, HWID BAN буюу их хавтангаар эрхээ хязгаарлуулсан байна."}},whitelist_messages:{admin_only:{mode_title:"Тус сервер <strong>Зөвхөн-админ</strong> горимд орсон байна.",insufficient_ids:"Танд <code>discord</code> онцгой код байхгүй байна, Discord серверт нэгдсэний дараа дахин оролдоно уу. (Web Discord ажиллахгүй болно.)",deny_message:"Таны лицензүүд ямар ч админд хуваарилагдаагүй байна."},guild_member:{mode_title:"Тус серверт <strong>Discord Гишүүн </strong>болсон хүмүүс орох боломжтой.",insufficient_ids:"Танд <code>discord</code> таниулбар байхгүй бөгөөд хэрэв та манай Discord server-д нэгдсэн бол дахин шалгах шаардлагатай. Discord Desktop програмыг нээгээд дахин оролдоно уу (Вэб програм ажиллахгүй).",deny_title:"Та манай Discord серверт байх ёстой",deny_message:"Та %{guildname} Discord серверт нэгдсэний дараа дахин оролдоно уу."},guild_roles:{mode_title:"<strong>MNFCANDY NETWORK</strong>",insufficient_ids:"Танд <code>discord</code> онцгой код байхгүй байна, Discord серверт нэгдсэний дараа дахин оролдоно уу. (Web Discord ажиллахгүй болно.)",deny_notmember_title:"Та Discord серверт байхгүй байна.",deny_notmember_message:"Та манай %{guildname} Discord серверт нэгдсэний дараа дахин оролдоно уу. (Web Discord ажиллахгүй болно.)",deny_noroles_title:"Та дүрэмтэй танилцаагүй байна.",deny_noroles_message:"Та манай %{guildname} Discord серверт дүрэмтэйгээ танилцаж, Reaction дарсны дараа дахин оролдоно уу."},approved_license:{mode_title:"Энэхүү сервер нь <strong>Лиценз горимд</strong> байна.",insufficient_ids:"Танд <code>license</code> таниулбар байхгүй байгаа нь сервер <code>sv_lan</code>-г идэвхжүүлсэн гэсэн үг юм. Хэрэв та сервер эзэмшигч бол <code>server.cfg</code> файлаас үүнийг идэвхгүй болгож болно.",deny_title:"Та энэ серверт нэгдэх зөвшөөрөгдсөн жагсаалтад ороогүй байна.",request_id_label:"Хүсэлтийн ID"}},server_actions:{restarting:"Сервер дахин асаж байна (%{reason}).",restarting_discord:"**%{servername}** төлөвлөгдөөгүй рестарт (%{reason}).",stopping:"Хот унтрав. (%{reason}).",stopping_discord:"**%{servername}** сервер унтарч байна (%{reason}).",spawning_discord:"**%{servername}** сервер асаж байна."},nui_warning:{title:"АНХААРУУЛГА!",warned_by:"Анхааруулсан:",stale_message:"Энэхүү сануулгыг серверт холбогдохоосоо өмнө гаргасан байна.",dismiss_key:"SPACE",instruction:"%{key} товчийг %{smart_count} секунд дарж арилгана уу. |||| %{key} товчийг %{smart_count} секунд дарж арилгана уу."},nui_menu:{misc:{help_message:"txAdmin Цэс идэвхжсэн, нээхийн тулд /tx гэж бичнэ үү.\nМөн та товчлуурын холбоосыг [Game Settings > Key Bindings > FiveM > Menu: Open Main Page] хэсгээс тохируулах боломжтой.",menu_not_admin:"Caugh 4k HD, чиний бүх ID Log-д хадгалагдсан.",menu_auth_failed:"txAdmin Цэсийн баталгаажуулалт дараах шалтгааны улмаас амжилтгүй болсон : %{reason}",no_perms:"Чи шааж болохгүй. Чамайг бид харж байна. . .",unknown_error:"Үл мэдэгдэх алдаа гарлаа.",not_enabled:"txAdmin цэс идэвхжээгүй байна! Та үүнийг txAdmin тохиргооны хуудаснаас идэвхжүүлж болно.",announcement_title:"Зарлал - %{author}:",directmessage_title:"Нууц шивнээ %{author}:",dialog_empty_input:"Та хоосон бичигтэй байж болохгүй.",onesync_error:"This action requires OneSync to be enabled."},frozen:{froze_player:"Та тоглогчийг царцаасан байна!",unfroze_player:"Та тоглогчийн царцаалтыг тайлсан байна!",was_frozen:"Таныг серверийн админ царцаасан байна!"},common:{cancel:"Цуцлах",submit:"Илгээх",error:"Алдаа гарлаа",copied:"Түр санах ой руу хуулсан."},page_main:{tooltips:{tooltip_1:"Хуудас сэлгэхийн тулд %{key}-г, цэсийн зүйл рүү шилжихийн тулд сум товчийг ашиглана уу",tooltip_2:"Цэсийн зарим зүйлд зүүн болон баруун сумны товчлууруудыг ашиглан сонгох боломжтой дэд сонголтууд байдаг"},player_mode:{title:"Тоглогчийн горим",noclip:{title:"NoClip",label:"NoClip-г асаах/унтрааж, хана болон бусад объектоор шилжих боломжийг танд олгоно",success:"NoClip идэвхжсэн"},godmode:{title:"Бурхан",label:"Ялагдашгүй байдлыг асааж, хохирол амсахаас сэргийлнэ",success:"АДМИН АМЖИЛТТАЙ ХҮЧИРХИЙЛЛЭЭ!"},superjump:{title:"Супер үсрэлт",label:"Супер үсрэлт горимыг асаавал тоглогч илүү хурдан гүйх болно",success:"АДМИН АМЖИЛТТАЙ ХҮЧИРХИЙЛЛЭЭ!"},normal:{title:"Ердийн",label:"Анхдагч/ердийн тоглогчийн горим руу буцна",success:"Анхдагч/ердийн тоглогчийн горим руу буцсан."}},teleport:{title:"Телепорт",generic_success:"Чамайг хар нүх рүү явуулсан!",waypoint:{title:"Замын цэг",label:"Газрын зураг дээр тохируулсан замын цэг рүү телепорт хийх",error:"Танд зам тавих цэг байхгүй байна."},coords:{title:"Coords",label:"Өгөгдсөн координат руу телепорт хийх",dialog_title:"Телепорт",dialog_desc:"Хар нүхээр дамжин өнгөрөх координатуудыг x, y, z форматаар өгнө үү.",dialog_error:"Координат буруу байна. 111, 222, 33 форматтай байх ёстой"},back:{title:"Буцах",label:"Сүүлийн телепортын өмнөх байршил руу буцна",error:"Танд буцаж очих сүүлчийн байршил алга!"},copy:{title:"Коордуудыг хуулах",label:"Одоогийн дэлхийн координатуудыг санах ойдоо хуулна уу"}},vehicle:{title:"Тээврийн хэрэгсэл",not_in_veh_error:"Та одоогоор тээврийн хэрэгсэлд суугаагүй байна!",spawn:{title:"Гаргаж ирэх",label:"Өгөгдсөн тээврийн хэрэгслийг загварын нэрнээс нь гаргаж ирнэ",dialog_title:"Машиныг гаргаж ирэх",dialog_desc:"Та гаргаж ирэхийг хүсч буй тээврийн хэрэгслийнхээ загварын нэрийг оруулна уу.",dialog_success:"АДМИН АМЖИЛТТАЙ ХҮЧИРХИЙЛЛЭЭ!",dialog_error:"'%{modelName}' тээврийн хэрэгслийн загварын нэр байхгүй байна!",dialog_info:"%{modelName}-г үүсгэхийг оролдож байна."},fix:{title:"Засах",label:"Тээврийн хэрэгслийг дээд зэргээр засна",success:"АДМИН АМЖИЛТТАЙ ХҮЧИРХИЙЛЛЭЭ!"},delete:{title:"Устгах",label:"Тоглогчийн сууж буй тээврийн хэрэгслийг устгана",success:"Тээврийн хэрэгслийг устгасан!"},boost:{title:"Тус дэм",label:"Хамгийн их зугаа цэнгэлд (болон магадгүй хурд) хүрэхийн тулд машинаа хүчирхэгжүүлээрэй.",success:"АДМИН АМЖИЛТТАЙ ХҮЧИРХИЙЛЛЭЭ!",already_boosted:"Энэ машиныг аль хэдийн хүчирхэгжүүлсэн.",unsupported_class:"Энэ тээврийн хэрэгслийн ангиллыг дэмждэггүй.",redm_not_mounted:"Морь унасан үед л ахиж чадна."}},heal:{title:"Эдгээх",myself:{title:"Өөрийгөө",label:"Одоогийн ped-ийн дээд хэмжээнд хүртэл өөрийгөө эдгээх болно",success_0:"Бүгд эдгэрсэн!",success_1:"Та одоо сайхан санагдаж байна!",success_2:"Бүрэн сэргээсэн!",success_3:"Өө, зассан!"},everyone:{title:"Бүгд",label:"Холбогдсон бүх тоглогчдыг эдгээж, сэргээх болно",success:"Бүх тоглогчдыг эдгээж, сэргээсэн."}},announcement:{title:"Зар илгээх",label:"Бүх онлайн тоглогчдод мэдэгдэл илгээнэ үү.",dialog_desc:"Бүх тоглогчдод дамжуулахыг хүссэн мессежээ оруулна уу.",dialog_placeholder:"Таны мэдэгдэл...",dialog_success:"Мэдэгдэл илгээж байна."},clear_area:{title:"Дэлхийн бүсийг дахин тохируулах",label:"Заасан дэлхийн бүсийг өгөгдмөл байдалд нь дахин тохируулна уу",dialog_desc:"Байгууллагуудыг дахин тохируулах радиусыг (0-300) оруулна уу. Энэ нь серверийн талд үүсгэсэн байгууллагуудыг арилгахгүй.",dialog_success:"%{radius}m радиустай талбайг цэвэрлэх",dialog_error:"Буруу радиусын оролт. Дахин оролд."},player_ids:{title:"Тоглогчийн ID-г харуулах",label:"Ойролцоох бүх тоглогчдын толгойн дээр тоглогчийн ID-г (болон бусад мэдээллийг) харуулах",alert_show:"Ойролцоох тоглогчийн NetID-г харуулж байна.",alert_hide:"Ойролцоох тоглогчийн NetID-г нууж байна."}},page_players:{misc:{online_players:"Онлайн тоглогчид",players:"Тоглогчид",search:"Хайх",zero_players:"Тоглогч олдсонгүй"},filter:{label:"Filter by",no_filter:"No Filter",is_admin:"Is Admin",is_injured:"Is Injured / Dead",in_vehicle:"In Vehicle"},sort:{label:"Эрэмбэлэх",distance:"Зай",id:"ID",joined_first:"Эхлээд нэгдсэн",joined_last:"Хамгийн сүүлд нэгдсэн",closest:"Хамгийн ойр",farthest:"Хамгийн хол"},card:{health:"%{percentHealth}% амь"}},player_modal:{misc:{error:"Энэ хэрэглэгчийн мэдээллийг татахад алдаа гарлаа. Алдааг доор харуулав.",target_not_found:"ID эсвэл %{target} хэрэглэгчийн нэртэй онлайн тоглуулагчийг олж чадсангүй."},tabs:{actions:"Үйлдлүүд",info:"Мэдээлэл",ids:"IDs",history:"Түүх",ban:"Бан"},actions:{title:"Тоглогчийн үйлдлүүд",command_sent:"Тушаал илгээсэн!",moderation:{title:"Зохицуулалт",options:{dm:"Шивнэх",warn:"Анхааруулах",kick:"Серверээс гаргах",set_admin:"Админ өгөх"},dm_dialog:{title:"Шууд мессеж",description:"Энэ тоглогч руу шууд мессеж илгээх болсон шалтгаан нь юу вэ?",placeholder:"Шалтгаан...",success:"Таны DM илгээгдлээ!"},warn_dialog:{title:"Анхааруулах",description:"Энэ тоглогчид анхааруулга өгөх болсон шалтгаан юу вэ?",placeholder:"Шалтгаан...",success:"Тоглогчийг анхааруулсан!"},kick_dialog:{title:"Серверээс гаргах",description:"Энэ тоглогчийг серверээс гаргах болсон шалтгаан нь юу вэ?",placeholder:"Шалтгаан...",success:"Тоглогчийг серверээс гаргасан!"}},interaction:{title:"Харилцаа холбоо",options:{heal:"Эдгээх",go_to:"Очих",bring:"Авчирах",spectate:"Үзэх",toggle_freeze:"Хөлдөөхийг асаах/унтраах"},notifications:{heal_player:"Тоглогчийг эдгээж байна",tp_player:"Тоглогч руу шилжиж байна",bring_player:"Тоглогчийг авчирч байна",spectate_failed:"Зорилгоо шийдэж чадсангүй! Үзэсгэлэнгээс гарах.",spectate_yourself:"Та өөрийгөө харж чадахгүй.",freeze_yourself:"Та өөрийгөө хөлдөөж чадахгүй.",spectate_cycle_failed:"Өөр тоглогч байхгүй."}},troll:{title:"ПЯЗДА?",options:{drunk:"Хараа өгөх",fire:"Шатаах",wild_attack:"Мичин гарагийн бослого"}}},info:{title:"Тоглогчийн мэдээлэл",session_time:"Тоглосон цаг",play_time:"Нийт тоглосон цаг",joined:"Нэгдсэн",whitelisted_label:"Цагаан жагсаалтад орсон",whitelisted_notyet:"ороогүй",btn_wl_add:"WL нэмэх",btn_wl_remove:"WL-г УСТГАХ",btn_wl_success:"Цагаан жагсаалтын статус өөрчлөгдсөн.",log_label:"Бүртгэл",log_empty:"Ямар ч хориг/сэрэмжлүүлэг олдсонгүй.",log_ban_count:"%{smart_count} хориг |||| %{smart_count} хориг",log_warn_count:"%{smart_count} сэрэмжлүүлэг |||| %{smart_count} сэрэмжлүүлэг",log_btn:"ДЭЛГЭРЭНГҮЙ",notes_placeholder:"Энэ тоглогчийн тухай тэмдэглэл...",notes_changed:"Тоглогчийн тэмдэглэл өөрчлөгдсөн."},ids:{current_ids:"Одоогийн танигч",previous_ids:"Өмнө нь ашигласан танигч",all_hwids:"Бүх тоног төхөөрөмжийн ID"},history:{title:"Холбогдох түүх",btn_revoke:"Цуцлах",revoked_success:"Хориг/Сэрэмжлүүлэг-ийг цуцалсан!",banned_by:"ХОРИГЛОСОН %{author}",warned_by:"АНХААРУУЛГА %{author}",revoked_by:"Хүчингүй болгосон %{author}.",expired_at:"Хугацаа дууссан %{date}.",expires_at:"Дуусах цаг %{date}."},ban:{title:"Тоглогчийг хориглох",reason_placeholder:"Шалтгаан",reason_required:"Шалтгаан талбарыг оруулах шаардлагатай.",duration_placeholder:"Үргэлжлэх хугацаа",success:"Тоглогчийг хориглосон!",hours:"цаг",days:"өдөр",weeks:"7 хоног",months:"сар",permanent:"Үүрдийн",custom:"Тусгай",helper_text:"Хугацаа сонгоно уу",submit:"Хоригийг эхлүүлэх"}}}};var ne_default={$meta:{label:"Nepali",humanizer_language:"en"},restarter:{server_unhealthy_kick_reason:"सर्भर पुनः सुरु गर्न आवश्यक छ, कृपया पुन: जडान गर्नुहोस्",partial_hang_warn:"आंशिक ह्याङ्गको कारण, यो सर्भर १ मिनेटमा पुनः सुरु हुनेछ। कृपया अहिले नै डिस्कनेक्ट गर्नुहोस्।",partial_hang_warn_discord:"आंशिक ह्याङ्गको कारण, **%{servername}** १ मिनेटमा पुनः सुरु हुनेछ।",schedule_reason:"%{time} मा तालिकाबद्ध पुनः सुरुवात",schedule_warn:"यो सर्भर %{smart_count} मिनेटमा पुनः सुरु हुन तालिकाबद्ध छ। कृपया अहिले नै डिस्कनेक्ट गर्नुहोस्। |||| यो सर्भर %{smart_count} मिनेटमा पुनः सुरु हुन तालिकाबद्ध छ।",schedule_warn_discord:"**%{servername}** %{smart_count} मिनेटमा पुनः सुरु हुन तालिकाबद्ध छ। |||| **%{servername}** %{smart_count} मिनेटमा पुनः सुरु हुन तालिकाबद्ध छ।"},kick_messages:{everyone:"सबैलाई निकालियो कारण: %{reason}।",player:"तिमीलाई निकालियो कारण: %{reason}।",unknown_reason:"अज्ञात कारण"},ban_messages:{kick_temporary:'(%{author}) तपाईंलाई "%{reason}" को कारणले यो सर्भरबाट प्रतिबन्धित गरिएको छ। तपाईंको प्रतिबन्ध %{expiration} मा समाप्त हुनेछ।',kick_permanent:'(%{author}) तपाईंलाई "%{reason}" को कारणले यो सर्भरबाट स्थायी रूपमा प्रतिबन्धित गरिएको छ।',reject:{title_permanent:"तपाईंलाई यो सर्भरबाट स्थायी रूपमा प्रतिबन्धित गरिएको छ।",title_temporary:"तपाईंलाई यो सर्भरबाट अस्थायी रूपमा प्रतिबन्धित गरिएको छ।",label_expiration:"तपाईंको प्रतिबन्ध समाप्त हुने समय",label_date:"प्रतिबन्धित मिति",label_author:"प्रतिबन्धित गर्ने व्यक्ति",label_reason:"प्रतिबन्धको कारण",label_id:"प्रतिबन्ध आईडी",note_multiple_bans:"नोट: तपाईंको पहिचानकर्ताहरूमा एकभन्दा बढी सक्रिय प्रतिबन्ध छन्।",note_diff_license:"नोट: माथिको प्रतिबन्ध अर्को <code>लाइसेन्स</code>को लागि लागू गरिएको थियो, जसको अर्थ तपाईंका केही आईडी/HWIDहरू त्यो प्रतिबन्धसँग सम्बन्धित भएकाहरूसँग मेल खान्छन्।"}},whitelist_messages:{admin_only:{mode_title:"यो सर्भर <strong>एडमिन-मात्र</strong> मोडमा छ।",insufficient_ids:"तपाईंसँग <code>डिस्कोर्ड</code> वा <code>fivem</code> पहिचानकर्ताहरू छैनन्, र तपाईं txAdmin प्रशासक हुनुहुन्छ भनेर प्रमाणित गर्न कम्तीमा एउटा आवश्यक छ।",deny_message:"तपाईंका पहिचानकर्ताहरू कुनै पनि txAdmin प्रशासकलाई असाइन गरिएको छैन।"},guild_member:{mode_title:"यो सर्भर <strong>डिस्कोर्ड गिल्ड सदस्य श्वेतसूची</strong> मोडमा छ।",insufficient_ids:"तपाईंसँग <code>डिस्कोर्ड</code> पहिचानकर्ता छैन, जुन तपाईं हाम्रो डिस्कोर्ड गिल्डमा सामेल हुनुभएको छ भनेर प्रमाणित गर्न आवश्यक छ। कृपया डिस्कोर्ड डेस्कटप एप खोल्नुहोस् र फेरि प्रयास गर्नुहोस् (वेब एप काम गर्दैन)।",deny_title:"जडान गर्नको लागि तपाईंले हाम्रो डिस्कोर्ड गिल्डमा सामेल हुनु आवश्यक छ।",deny_message:"कृपया %{guildname} गिल्डमा सामेल हुनुहोस् र फेरि प्रयास गर्नुहोस्।"},guild_roles:{mode_title:"यो सर्भर <strong>डिस्कोर्ड भूमिका श्वेतसूची</strong> मोडमा छ।",insufficient_ids:"तपाईंसँग <code>डिस्कोर्ड</code> पहिचानकर्ता छैन, जुन तपाईं हाम्रो डिस्कोर्ड गिल्डमा सामेल हुनुभएको छ भनेर प्रमाणित गर्न आवश्यक छ। कृपया डिस्कोर्ड डेस्कटप एप खोल्नुहोस् र फेरि प्रयास गर्नुहोस् (वेब एप काम गर्दैन)।",deny_notmember_title:"जडान गर्नको लागि तपाईंले हाम्रो डिस्कोर्ड गिल्डमा सामेल हुनु आवश्यक छ।",deny_notmember_message:"कृपया %{guildname} मा सामेल हुनुहोस्, आवश्यक भूमिकाहरू मध्ये एक प्राप्त गर्नुहोस्, र फेरि प्रयास गर्नुहोस्।",deny_noroles_title:"तपाईंसँग जडान गर्न आवश्यक श्वेतसूचीकृत भूमिका छैन।",deny_noroles_message:"यो सर्भरमा जडान गर्नको लागि तपाईंसँग %{guildname} गिल्डमा कम्तीमा एउटा श्वेतसूचीकृत भूमिका हुनु आवश्यक छ।"},approved_license:{mode_title:"यो सर्भर <strong>लाइसेन्स श्वेतसूची</strong> मोडमा छ।",insufficient_ids:"तपाईंसँग <code>लाइसेन्स</code> पहिचानकर्ता छैन, जसको अर्थ सर्भरमा <code>sv_lan</code> सक्षम छ। यदि तपाईं सर्भर मालिक हुनुहुन्छ भने, तपाईंले यसलाई <code>server.cfg</code> फाइलमा अक्षम गर्न सक्नुहुन्छ।",deny_title:"तपाईंलाई यो सर्भरमा जडान गर्न श्वेतसूचीकृत गरिएको छैन।",request_id_label:"अनुरोध आईडी"}},server_actions:{restarting:"सर्भर पुनः सुरु हुँदैछ (%{reason})।",restarting_discord:"**%{servername}** पुनः सुरु हुँदैछ (%{reason})।",stopping:"सर्भर बन्द हुँदैछ (%{reason})।",stopping_discord:"**%{servername}** बन्द हुँदैछ (%{reason})।",spawning_discord:"**%{servername}** सुरु हुँदैछ।"},nui_warning:{title:"चेतावनी",warned_by:"चेतावनी दिने व्यक्ति:",stale_message:"यो चेतावनी अब पुरानो भएको छ र स्वचालित रूपमा बन्द हुनेछ।",dismiss_key:"[SPACE]",instruction:"यो सन्देश हटाउन %{key} %{smart_count} सेकेन्डसम्म थिच्नुहोस्। |||| यो सन्देश हटाउन %{key} एक सेकेन्ड थिच्नुहोस्।"},nui_menu:{misc:{help_message:"txAdmin मेनु सक्षम छ, /tx टाइप गरेर खोल्नुहोस्।\nतपाईंले [Game Settings > Key Bindings > FiveM > Menu: Open Main Page] मा कीबाइन्ड पनि कन्फिगर गर्न सक्नुहुन्छ।",menu_not_admin:"तपाईंका पहिचानकर्ताहरू txAdmin मा दर्ता कुनै पनि प्रशासकसँग मेल खाँदैनन्।\nयदि तपाईं txAdmin मा दर्ता हुनुहुन्छ भने, प्रशासक प्रबन्धकमा जानुहोस् र तपाईंका पहिचानकर्ताहरू सुरक्षित गरिएको छ भनी सुनिश्चित गर्नुहोस्।",menu_auth_failed:"txAdmin मेनु प्रमाणीकरण असफल भयो, कारण: %{reason}",no_perms:"तपाईंसँग यो अनुमति छैन।",unknown_error:"अज्ञात त्रुटि भयो।",not_enabled:"txAdmin मेनु सक्षम छैन! तपाईंले यसलाई txAdmin सेटिङ्ग्स पृष्ठमा सक्षम गर्न सक्नुहुन्छ।",announcement_title:"%{author} द्वारा सर्भर घोषणा:",directmessage_title:"प्रशासक %{author} बाट डीएम:",dialog_empty_input:"तपाईंसँग खाली इनपुट हुन सक्दैन।",onesync_error:"यो विकल्पको लागि OneSync सक्षम हुनु आवश्यक छ।"},frozen:{froze_player:"तपाईंले खेलाडीलाई जमाउनुभयो!",unfroze_player:"तपाईंले खेलाडीलाई अनजमाउनुभयो!",was_frozen:"तपाईंलाई सर्भर प्रशासकद्वारा जमाइएको छ!"},common:{cancel:"रद्द गर्नुहोस्",submit:"पेश गर्नुहोस्",error:"त्रुटि भयो",copied:"क्लिपबोर्डमा प्रतिलिपि गरियो।"},page_main:{tooltips:{tooltip_1:"पृष्ठहरू स्विच गर्न %{key} प्रयोग गर्नुहोस् र मेनु आइटमहरू नेभिगेट गर्न तीर कुञ्जीहरू प्रयोग गर्नुहोस्",tooltip_2:"केही मेनु आइटमहरूमा उप-विकल्पहरू छन् जुन बायाँ र दायाँ तीर कुञ्जीहरू प्रयोग गरेर चयन गर्न सकिन्छ"},player_mode:{title:"खेलाडी मोड",noclip:{title:"नोक्लिप",label:"नोक्लिप टगल गर्नुहोस्, जसले तपाईंलाई भित्ताहरू र अन्य वस्तुहरू भित्र जान अनुमति दिन्छ",success:"नोक्लिप सक्षम गरियो"},godmode:{title:"देवता",label:"अजेयता टगल गर्नुहोस्, जसले तपाईंलाई क्षति लिनबाट रोक्छ",success:"देवता मोड सक्षम गरियो"},superjump:{title:"सुपर जम्प",label:"सुपर जम्प मोड टगल गर्नुहोस्, खेलाडी छिटो पनि दौडनेछ",success:"सुपर जम्प सक्षम गरियो"},normal:{title:"सामान्य",label:"आफूलाई पूर्वनिर्धारित/सामान्य खेलाडी मोडमा फर्काउनुहोस्",success:"पूर्वनिर्धारित खेलाडी मोडमा फर्कियो।"}},teleport:{title:"टेलिपोर्ट",generic_success:"तपाईंलाई वर्महोलमा पठाइयो!",waypoint:{title:"वेपोइन्ट",label:"नक्शामा सेट गरिएको कस्टम वेपोइन्टमा टेलिपोर्ट गर्नुहोस्",error:"तपाईंले कुनै वेपोइन्ट सेट गर्नुभएको छैन।"},coords:{title:"निर्देशांकहरू",label:"प्रदान गरिएका निर्देशांकहरूमा टेलिपोर्ट गर्नुहोस्",dialog_title:"टेलिपोर्ट",dialog_desc:"वर्महोल भित्र जान x, y, z ढाँचामा निर्देशांकहरू प्रदान गर्नुहोस्।",dialog_error:"अवैध निर्देशांकहरू। यो ढाँचामा हुनुपर्छ: 111, 222, 33"},back:{title:"पछाडि",label:"अघिल्लो टेलिपोर्ट भन्दा पहिलेको स्थानमा फर्कन्छ",error:"तपाईंसँग फर्कने कुनै अघिल्लो स्थान छैन!"},copy:{title:"निर्देशांकहरू कपी गर्नुहोस्",label:"हालको विश्व निर्देशांकहरूलाई तपाईंको क्लिपबोर्डमा कपी गर्नुहोस्"}},vehicle:{title:"सवारी साधन",not_in_veh_error:"तपाईं हाल कुनै सवारी साधनमा हुनुहुन्न!",spawn:{title:"स्पन गर्नुहोस्",label:"यसको मोडेल नामबाट दिइएको सवारी साधन स्पन गर्नुहोस्",dialog_title:"सवारी साधन स्पन गर्नुहोस्",dialog_desc:"तपाईंले स्पन गर्न चाहनुभएको सवारी साधनको मोडेल नाम प्रविष्ट गर्नुहोस्।",dialog_success:"सवारी साधन स्पन गरियो!",dialog_error:"सवारी साधन मोडेल नाम '%{modelName}' अवस्थित छैन!",dialog_info:"%{modelName} स्पन गर्ने प्रयास गर्दै।"},fix:{title:"मर्मत गर्नुहोस्",label:"सवारी साधनलाई यसको अधिकतम स्वास्थ्यमा मर्मत गर्नेछ",success:"सवारी साधन मर्मत गरियो!"},delete:{title:"मेटाउनुहोस्",label:"खेलाडी हाल भएको सवारी साधन मेटाउँछ",success:"सवारी साधन मेटाइयो!"},boost:{title:"बूस्ट",label:"अधिकतम मजा (र सायद गति) प्राप्त गर्न कारलाई बूस्ट गर्नुहोस्",success:"सवारी साधन बूस्ट गरियो!",already_boosted:"यो सवारी साधन पहिले नै बूस्ट गरिएको थियो।",unsupported_class:"यो सवारी साधन वर्ग समर्थित छैन।",redm_not_mounted:"तपाईं घोडामा सवार हुँदा मात्र बूस्ट गर्न सक्नुहुन्छ।"}},heal:{title:"निको पार्नुहोस्",myself:{title:"मलाई",label:"हालको पेडको अधिकतम स्वास्थ्यमा आफूलाई निको पार्नेछ",success_0:"पूर्ण रूपमा निको पारियो!",success_1:"तपाईं अहिले राम्रो महसुस गर्नुपर्छ!",success_2:"पूर्ण रूपमा पुनर्स्थापित!",success_3:"चोटपटक ठीक भयो!"},everyone:{title:"सबैजना",label:"सबै जडान भएका खेलाडीहरूलाई निको पार्नेछ र पुनर्जीवित गर्नेछ",success:"सबै खेलाडीहरूलाई निको पारियो र पुनर्जीवित गरियो।"}},announcement:{title:"घोषणा पठाउनुहोस्",label:"सबै अनलाइन खेलाडीहरूलाई घोषणा पठाउनुहोस्।",dialog_desc:"सबै खेलाडीहरूलाई प्रसारण गर्न चाहनुभएको सन्देश प्रविष्ट गर्नुहोस्।",dialog_placeholder:"तपाईंको घोषणा...",dialog_success:"घोषणा पठाउँदै।"},clear_area:{title:"विश्व क्षेत्र रिसेट गर्नुहोस्",label:"निर्दिष्ट विश्व क्षेत्रलाई यसको पूर्वनिर्धारित अवस्थामा रिसेट गर्नुहोस्",dialog_desc:"कृपया तपाईंले इकाइहरू रिसेट गर्न चाहनुभएको त्रिज्या प्रविष्ट गर्नुहोस् (0-300)। यसले सर्भर साइडमा स्पन गरिएका इकाइहरू खाली गर्नेछैन।",dialog_success:"%{radius}मी त्रिज्याको क्षेत्र खाली गर्दै",dialog_error:"अवैध त्रिज्या इनपुट। फेरि प्रयास गर्नुहोस्।"},player_ids:{title:"खेलाडी आईडीहरू टगल गर्नुहोस्",label:"सबै नजिकका खेलाडीहरूको टाउको माथि खेलाडी आईडीहरू (र अन्य जानकारी) देखाउने टगल गर्नुहोस्",alert_show:"नजिकका खेलाडी NetID हरू देखाउँदै।",alert_hide:"नजिकका खेलाडी NetID हरू लुकाउँदै।"}},page_players:{misc:{online_players:"अनलाइन खेलाडीहरू",players:"खेलाडीहरू",search:"खोज्नुहोस्",zero_players:"कुनै खेलाडीहरू फेला परेनन्।"},filter:{label:"यसद्वारा फिल्टर गर्नुहोस्",no_filter:"कुनै फिल्टर छैन",is_admin:"प्रशासक हो",is_injured:"घाइते / मृत छ",in_vehicle:"सवारी साधनमा छ"},sort:{label:"यसद्वारा क्रमबद्ध गर्नुहोस्",distance:"दूरी",id:"आईडी",joined_first:"पहिले जडान भएको",joined_last:"पछि जडान भएको",closest:"नजिकको",farthest:"टाढाको"},card:{health:"%{percentHealth}% स्वास्थ्य"}},player_modal:{misc:{error:"यस प्रयोगकर्ताको विवरणहरू प्राप्त गर्दा त्रुटि भयो। त्रुटि तल देखाइएको छ:",target_not_found:"आईडी वा प्रयोगकर्ता नाम %{target} भएको अनलाइन खेलाडी फेला पार्न असमर्थ"},tabs:{actions:"कार्यहरू",info:"जानकारी",ids:"आईडीहरू",history:"इतिहास",ban:"प्रतिबन्ध"},actions:{title:"खेलाडी कार्यहरू",command_sent:"आदेश पठाइयो!",moderation:{title:"मध्यस्थता",options:{dm:"डीएम",warn:"चेतावनी",kick:"किक",set_admin:"प्रशासक बनाउनुहोस्"},dm_dialog:{title:"प्रत्यक्ष सन्देश",description:"यस खेलाडीलाई प्रत्यक्ष सन्देश पठाउनुको कारण के हो?",placeholder:"कारण...",success:"तपाईंको डीएम पठाइएको छ!"},warn_dialog:{title:"चेतावनी",description:"यस खेलाडीलाई प्रत्यक्ष चेतावनी दिनुको कारण के हो?",placeholder:"कारण...",success:"खेलाडीलाई चेतावनी दिइयो!"},kick_dialog:{title:"Kick",description:"यस खेलाडीलाई Kick गर्नुको कारण के हो?",placeholder:"कारण...",success:"खेलाडीलाई किक गरियो!"}},interaction:{title:"अन्तरक्रिया",options:{heal:"निको पार्नुहोस्",go_to:"जानुहोस्",bring:"ल्याउनुहोस्",spectate:"निगरानी गर्नुहोस्",toggle_freeze:"जमाउने टगल गर्नुहोस्"},notifications:{heal_player:"खेलाडीलाई निको पार्दै",tp_player:"खेलाडीकहाँ टेलिपोर्ट गर्दै",bring_player:"खेलाडीलाई बोलाउँदै",spectate_failed:"लक्ष्य समाधान गर्न असफल! निगरानी बाहिर निस्कँदै।",spectate_yourself:"तपाईं आफैंलाई निगरानी गर्न सक्नुहुन्न।",freeze_yourself:"तपाईं आफैंलाई जमाउन सक्नुहुन्न।",spectate_cycle_failed:"साइकल गर्न कुनै खेलाडीहरू छैनन्।"}},troll:{title:"ट्रोल",options:{drunk:"मातेको बनाउनुहोस्",fire:"आगो लगाउनुहोस्",wild_attack:"जंगली आक्रमण"}}},info:{title:"खेलाडी जानकारी",session_time:"सत्र समय",play_time:"खेल समय",joined:"सामेल भएको",whitelisted_label:"श्वेतसूचीकृत",whitelisted_notyet:"अझै छैन",btn_wl_add:"श्वेतसूचीमा थप्नुहोस्",btn_wl_remove:"श्वेतसूचीबाट हटाउनुहोस्",btn_wl_success:"श्वेतसूची स्थिति परिवर्तन गरियो।",log_label:"लग",log_empty:"कुनै प्रतिबन्ध/चेतावनीहरू फेला परेनन्।",log_ban_count:"%{smart_count} प्रतिबन्ध |||| %{smart_count} प्रतिबन्धहरू",log_warn_count:"%{smart_count} चेतावनी |||| %{smart_count} चेतावनीहरू",log_btn:"विवरणहरू",notes_placeholder:"यस खेलाडीको बारेमा टिप्पणीहरू...",notes_changed:"खेलाडी टिप्पणी परिवर्तन गरियो।"},ids:{current_ids:"हालका पहिचानकर्ताहरू",previous_ids:"पहिले प्रयोग गरिएका पहिचानकर्ताहरू",all_hwids:"सबै हार्डवेयर आईडीहरू"},history:{title:"सम्बन्धित इतिहास",btn_revoke:"खारेज गर्नुहोस्",revoked_success:"कार्य खारेज गरियो!",banned_by:"%{author} द्वारा प्रतिबन्धित",warned_by:"%{author} द्वारा चेतावनी दिइएको",revoked_by:"%{author} द्वारा खारेज गरिएको।",expired_at:"%{date} मा समाप्त भयो।",expires_at:"%{date} मा समाप्त हुन्छ।"},ban:{title:"खेलाडीलाई प्रतिबन्ध लगाउनुहोस्",reason_placeholder:"कारण",reason_required:"कारण फिल्ड आवश्यक छ।",duration_placeholder:"अवधि",success:"खेलाडीलाई प्रतिबन्ध लगाइयो!",hours:"घण्टा",days:"दिन",weeks:"हप्ता",months:"महिना",permanent:"स्थायी",custom:"कस्टम",helper_text:"कृपया एक अवधि चयन गर्नुहोस्",submit:"प्रतिबन्ध लागू गर्नुहोस्"}}}};var nl_default={$meta:{label:"Dutch",humanizer_language:"nl"},restarter:{server_unhealthy_kick_reason:"de server moet opnieuw worden gestart, maak alsjeblieft opnieuw verbinding",partial_hang_warn:"De server is vastgelopen en zal over 1 minuut herstarten. Verlaat de server nu.",partial_hang_warn_discord:"**%{servername}** is vastgelopen en zal over 1 minuut herstarten.",schedule_reason:"Geplande restart om %{time}",schedule_warn:"De server heeft een geplande restart over %{smart_count} minuut. Verlaat de server. |||| De server heeft een geplande restart over %{smart_count} minuten.",schedule_warn_discord:"**%{servername}** heeft een geplande restart over %{smart_count} minuut. |||| **%{servername}** heeft een geplande restart over %{smart_count} minuten."},kick_messages:{everyone:"Alle spelers gekicked: %{reason}.",player:"Je bent gekicked: %{reason}.",unknown_reason:"voor onbekende reden"},ban_messages:{kick_temporary:'(%{author}) Je bent tijdelijk verbannen van deze server met de reden: "%{reason}". Je ban zal vervallen over: %{expiration}.',kick_permanent:'(%{author}) Je bent permanent verbannen van deze server met de reden: "%{reason}".',reject:{title_permanent:"Je bent permanent verbannen van deze server.",title_temporary:"Je bent tijdelijk verbannen van deze server.",label_expiration:"Je ban zal verlopen over",label_date:"Gebanned Op",label_author:"Gebanned Door",label_reason:"Ban Reden",label_id:"Ban ID",note_multiple_bans:"Opmerking: U hebt meer dan één actieve ban op uw Identifiers.",note_diff_license:"Opmerking: de bovenstaande ban werd toegepast voor een andere <code>license</code>, wat betekent dat sommige van jouw IDs/HWIDs matchen met degene die zijn geassocieerd met die ban."}},whitelist_messages:{admin_only:{mode_title:"Deze server is in <strong>Admin-only</strong> modus.",insufficient_ids:"Je hebt geen <code>discord</code> of <code>fivem</code> identifiers, op zijn minst is een van deze vereist om te valideren of jij een txAdmin administrator bent.",deny_message:"Jouw identifiers zijn niet gekoppeld aan een txAdmin administrator."},guild_member:{mode_title:"Deze server is in <strong>Discord server Member Whitelist</strong> modus.",insufficient_ids:"Je hebt niet de <code>discord</code> identifier, welke is vereist om te valideren of jij onze Discord server bent gejoind. Please open the Discord Desktop app and try again (the Web app won't work).",deny_title:"Je moet onze Discord server joinen om verbinding te maken.",deny_message:"Join de guild %{guildname}, probeer het daarna opnieuw."},guild_roles:{mode_title:"Deze server is in <strong>Discord Role Whitelist</strong> modus.",insufficient_ids:"Je hebt niet de <code>discord</code> identifier, welke is vereist om te valideren of jij onze Discord server bent gejoind. Please open the Discord Desktop app and try again (the Web app won't work).",deny_notmember_title:"Je moet onze Discord server joinen om verbinding te maken.",deny_notmember_message:"Join %{guildname}, krijg een van de vereiste roles, probeer het daarna opnieuw.",deny_noroles_title:"Je hebt geen whitelisted role die vereist is om te joinen.",deny_noroles_message:"Om deze server te joinen ben je op zijn minst vereist om een van de whitelisted roles te hebben in de guild %{guildname}."},approved_license:{mode_title:"Deze server is in <strong>License Whitelist</strong> modus.",insufficient_ids:"Je hebt niet de <code>license</code> identifier, wat betekent dat de server <code>sv_lan</code> enabled heeft. Als je de server eigenaar bent, kan je dit uitzetten in de <code>server.cfg</code> file.",deny_title:"Je bent niet gewhitelist om deze server te joinen.",request_id_label:"Request ID"}},server_actions:{restarting:"Server wordt herstart (%{reason}).",restarting_discord:"**%{servername}** is aan het herstarten (%{reason}).",stopping:"Server wordt uitgezet (%{reason}).",stopping_discord:"**%{servername}** is aan het stoppen (%{reason}).",spawning_discord:"**%{servername}** is aan het opstarten."},nui_warning:{title:"WAARSCHUWING",warned_by:"Gewaarschuwd door:",stale_message:"Deze waarschuwing is afgegeven voordat je verbinding maakte met de server.",dismiss_key:"SPATIE",instruction:"Houd %{key} %{smart_count} seconde ingedrukt om dit bericht te verbergen. |||| Houd %{key} %{smart_count} seconden ingedrukt om dit bericht te verbergen."},nui_menu:{misc:{help_message:"txAdmin Menu ingeschakeld, type /tx om het te openen.\nJe kan ook een keybind registreren in [Game Settings > Key Bindings > FiveM > Menu: Open Main Page].",menu_not_admin:"Jouw identifiers zijn niet gelijk aan degenen die in txAdmin zijn geregistreerd.\nAls je wel geregistreerd staat bij txAdmin, ga naar Admin Manager en sla je identifiers op.",menu_auth_failed:"txAdmin Menu authentication failed with reason: %{reason}",no_perms:"Je hebt hier geen permissie voor.",unknown_error:"Er is een onbekende error opgetreden.",not_enabled:"Het txAdmin Menu is uitgeschakeld! Je kan hem inschakelen bij de txAdmin instellingen pagina.",announcement_title:"Server Mededeling door %{author}:",dialog_empty_input:"Je moet iets invullen.",directmessage_title:"Privé Bericht van %{author}:",onesync_error:"This action requires OneSync to be enabled."},frozen:{froze_player:"Je hebt de speler gefreezed!",unfroze_player:"Je hebt de speler geunfreezed!",was_frozen:"Je bent gefreezed door een staff lid!"},common:{cancel:"Annuleer",submit:"Opslaan",error:"Een error is opgetreden",copied:"Gekopieerd naar klembord."},page_main:{tooltips:{tooltip_1:"Gebruik %{key} om van pagina te verwisselen & de pijltjes om in het menu te navigeren",tooltip_2:"Menu subopties kunnen worden geselecteerd door de linker en rechter pijltjes toetsen te gebruiken"},player_mode:{title:"Speler Modus",noclip:{title:"NoClip",label:"Vlieg rond",success:"NoClip ingeschakeld"},godmode:{title:"God",label:"Onzichtbaar",success:"God Mode ingeschakeld"},superjump:{title:"SuperJump",label:"Schakel de supersprongmodus in, de speler zal ook sneller rennen",success:"SuperJump ingeschakeld"},normal:{title:"Normaal",label:"Normale modus",success:"Teruggekeerd naar normale modus."}},teleport:{title:"Teleporteren",generic_success:"Je bent geteleporteerd!",waypoint:{title:"Waypoint",label:"Ga naar de gezette waypoint",error:"Je hebt geen waypoint gezet."},coords:{title:"Coördinaten",label:"Ga naar de gespecificeerde coördinaten",dialog_title:"Teleporteer",dialog_desc:"Geef coördinaten in een x, y, z formaat om te teleporteren.",dialog_error:"Ongeldige coördinaten. Geef ze in het volgende format: 111, 222, 33"},back:{title:"Terug",label:"Ga terug naar je laatste locatie",error:"Je hebt geen locatie om naar terug te gaan!"},copy:{title:"Kopieer coördinaten",label:"Kopieer coördinaten naar het klembord."}},vehicle:{title:"Voertuig",not_in_veh_error:"Je zit niet in een voertuig!",spawn:{title:"Spawn",label:"Spawn een voertuig door middel van de spawn naam",dialog_title:"Spawn voertuig",dialog_desc:"Vul de spawn naam in om het voertuig te spawnen.",dialog_success:"Voertuig gespawned!",dialog_error:"Het voertuig model '%{modelName}' bestaat niet!",dialog_info:"Proberen %{modelName} te spawnen."},fix:{title:"Repareer",label:"Repareer het huidige voertuig",success:"Voertuig gerepareerd!"},delete:{title:"Verwijder",label:"Verwijder het huidige voertuig",success:"Voertuig verwijderd!"},boost:{title:"Opvoeren",label:"Voer het voertuig op voor maximaal plezier (en misschien snelheid)",success:"Voertuig opgevoerd!",already_boosted:"Dit voertuig is al opgevoerd.",unsupported_class:"Deze voertuigklasse wordt niet ondersteund.",redm_not_mounted:"Je kan alleen boosten als je op een paard zit."}},heal:{title:"Heal",myself:{title:"Jezelf",label:"Herstel je health",success_0:"Volledig genezen!",success_1:"Je zou je nu goed moeten voelen!",success_2:"Helemaal genezen!",success_3:"Pijntjes verholpen!"},everyone:{title:"Iedereen",label:"Heal & revive alle spelers",success:"Alle spelers zijn gehealed & gerevived."}},announcement:{title:"Verstuur Mededeling",label:"Stuur een mededeling aan alle online spelers",dialog_desc:"Typ het bericht dat je naar alle spelers wilt versturen.",dialog_placeholder:"Jouw mededeling...",dialog_success:"Mededeling aan het verzenden."},clear_area:{title:"Herstel de wereld",label:"Herstel een specifiek deel van de wereld.",dialog_desc:"Kies een radius (0-300), om alle entities van te verwijderen. Dit verwijderd geen server sided gespawnede entities",dialog_success:"Gebied met de radius %{radius}m aan het herstellen",dialog_error:"Ongeldige invoer. Probeer het opnieuw."},player_ids:{title:"Schakel Speler IDs in/uit",label:"Schakel het tonen van Speler IDs (en andere info) boven de hoofden van alle spelers in jouw buurt in.",alert_show:"Toon de NetIDs van spelers in jouw buurt.",alert_hide:"Verberg NetIDs van spelers in jouw buurt."}},page_players:{misc:{online_players:"Online Spelers",players:"Spelers",search:"Zoeken",zero_players:"Geen spelers gevonden"},filter:{label:"Filter by",no_filter:"No Filter",is_admin:"Is Admin",is_injured:"Is Verwond / Dood",in_vehicle:"In Voertuig"},sort:{label:"Sorteren op",distance:"Afstand",id:"ID",joined_first:"Eerst gejoined",joined_last:"Laatst gejoined",closest:"Dichstbijzijnde",farthest:"Verste weg"},card:{health:"%{percentHealth}% health"}},player_modal:{misc:{error:"Er is een error opgetreden bij het ophalen van de details van deze speler. De error kan je hieronder zien:",target_not_found:"Kon geen speler matchend met dit ID of deze naam %{target} vinden"},tabs:{actions:"Acties",info:"Info",ids:"IDs",history:"Geschiedenis",ban:"Ban"},actions:{title:"Speler Acties",command_sent:"Commando verzonden!",moderation:{title:"Moderatie",options:{dm:"DM",warn:"Waarschuw",kick:"Kick",set_admin:"Geef Perms"},dm_dialog:{title:"Privé Bericht",description:"Wat wil je als privébericht sturen?",placeholder:"Bericht...",success:"Jouw DM is verzonden!"},warn_dialog:{title:"Waarschuw",description:"Waarom wil je deze speler waarschuwen?",placeholder:"Reden...",success:"De speler is gewaarschuwd!"},kick_dialog:{title:"Kick",description:"Waarom wil je deze speler kicken?",placeholder:"Reden...",success:"De speler is gekicked!"}},interaction:{title:"Interactie",options:{heal:"Heal",go_to:"Ga naar",bring:"Breng",spectate:"Spectate",toggle_freeze:"Freeze aan/uit"},notifications:{heal_player:"Speler aan het healen",tp_player:"Naar speler aan het teleporteren",bring_player:"Speler aan het brengen",spectate_failed:"Kon de speler niet vinden! Spectate aan het afsluiten.",spectate_yourself:"Je kan jezelf niet spectaten.",freeze_yourself:"Je kan jezelf niet freezen.",spectate_cycle_failed:"Er zijn geen spelers om naar door te cyclen."}},troll:{title:"Troll",options:{drunk:"Maak Dronken",fire:"Zet in Vuur",wild_attack:"Wilde Dieren aanval"}}},info:{title:"Speler info",session_time:"Sessie Tijd",play_time:"Speel Tijd",joined:"Gejoined",whitelisted_label:"Gewhitelist",whitelisted_notyet:"nog niet",btn_wl_add:"WL Toevoegen",btn_wl_remove:"WL Verwijderen",btn_wl_success:"Whitelist status gewijzigd.",log_label:"Log",log_empty:"Geen verbanningen/waarschuwingen gevonden.",log_ban_count:"%{smart_count} verbanning |||| %{smart_count} verbanningen",log_warn_count:"%{smart_count} waarschuwing |||| %{smart_count} waarschuwingen",log_btn:"DETAILS",notes_changed:"Speler Notities veranderd.",notes_placeholder:"Notities over deze speler..."},history:{title:"Gerelateerde geschiedenis",btn_revoke:"INTREKKEN",revoked_success:"Actie Ingetrokken!",banned_by:"Verbannen Door %{author}",warned_by:"Gewaarschuwd Door %{author}",revoked_by:"Ingetrokken Door %{author}.",expired_at:"Verlopen Op %{date}.",expires_at:"Verloopt Op %{date}."},ban:{title:"Ban speler",reason_placeholder:"Reden",duration_placeholder:"Lengte",hours:"uren",days:"dagen",weeks:"weken",months:"maanden",permanent:"Permanent",custom:"Custom",helper_text:"Selecteer een lengte",submit:"Ban Geven",reason_required:"Je moet een reden opgeven.",success:"Speler verbannen!"},ids:{current_ids:"Huidige Identifiers",previous_ids:"Eerder gebruikte Identifiers",all_hwids:"Alle Hardware IDs"}}}};var no_default={$meta:{label:"Norwegian (Bokmaal)",humanizer_language:"no"},restarter:{server_unhealthy_kick_reason:"serveren trenger en restart, vennligst koble til på nytt",partial_hang_warn:"Grunnet en teknisk feil (partial hang) vil serveren restartes om 1 minutt. Vennligst koble fra serveren umiddelbart.",partial_hang_warn_discord:"Grunnet en teknisk feil (partial hang) vil **%{servername}** restartes om 1 minutt.",schedule_reason:"planlagt restart kl. %{time}",schedule_warn:"Serveren har en planlagt restart om %{smart_count} minutt. Vennligst koble fra serveren. |||| Serveren har en planlagt restart om %{smart_count} minutter.",schedule_warn_discord:"**%{servername}** har en planlagt restart om %{smart_count} minutter. |||| **%{servername}** har en planlagt restart om %{smart_count} minutter."},kick_messages:{everyone:"Alle spillere ble sparket ut: %{reason}.",player:"Du har blitt sparket ut: %{reason}.",unknown_reason:"av en ukjent grunn"},ban_messages:{kick_temporary:'(%{author}) Du har blitt utestengt fra denne serveren grunnet "%{reason}". Utestengelsen din oppheves om: %{expiration}.',kick_permanent:'(%{author}) Du har blitt permanent utestengt fra denne serveren grunnet "%{reason}".',reject:{title_permanent:"Du har blitt permanent utestengt fra denne serveren.",title_temporary:"Du har blitt midlertidig utestengt fra denne serveren.",label_expiration:"Din utestengelse vil oppheves om",label_date:"Dato for Utestengelse",label_author:"Utestengt av",label_reason:"Grunnlag for Utestengelsen",label_id:"Utestengelse ID",note_multiple_bans:"NB: du har flere aktive utestengelser.",note_diff_license:"NB: utestengelsen over var tilegnet en annen <code>license</code>, dette betyr at en eller flere av dine identifikatorer/maskinvare-ID'er er assosiert med den utestengelsen."}},whitelist_messages:{admin_only:{mode_title:"Denne serveren er i <strong>kun-Admin</strong> modus.",insufficient_ids:"Du har ingen <code>discord</code> eller <code>fivem</code> identifikatorer, du trenger minst en av dem for at det skal kunne valideres om du er en txAdmin administrator.",deny_message:"Dine identifikatorer er ikke tilknyttet en txAdmin administrator."},guild_member:{mode_title:"Denne serveren er i <strong>Discord server Medlem Whitelist</strong> modus.",insufficient_ids:"Du har ingen <code>discord</code> identifikator, den er nødvendig for å validere at du er medlem av vår Discord server. Venligst åpne Discord Desktop applikasjonen og prøv igjen (web versjonen vil ikke funke).",deny_title:"Du må være et medlem av våres discord server får å kunne koble deg til serveren.",deny_message:"Vennligst bli medlem av discord serveren %{guildname} og prøv igjen."},guild_roles:{mode_title:"Denne serveren er i <strong>Discord Rolle Whitelist</strong> modus.",insufficient_ids:"Du har ingen <code>discord</code> identifikator, den er nødvendig for å validere at du er medlem av vår Discord server. Venligst åpne Discord Desktop applikasjonen og prøv igjen (web versjonen vil ikke funke).",deny_notmember_title:"Du må være et medlem av våres discord server får å kunne koble deg til serveren.",deny_notmember_message:"Vennligst bli medlem av discord serveren %{guildname}, få tak i en av de påkrevde rollene og prøv igjen.",deny_noroles_title:"Du mangler en påkrevd whitelist rolle for å kunne spille på denne serveren.",deny_noroles_message:"For å spille på denne serveren trenger du minst en av whitelist rollene i discord serveren %{guildname}."},approved_license:{mode_title:"Denne serveren er i <strong>Lisens Whitelist</strong> modus.",insufficient_ids:"Du har ingen <code>license</code> identifikator, noe som betyr at serveren har <code>sv_lan</code> aktivert. Vist du er eieren av denne serveren kan du deaktivene denne i <code>server.cfg</code> filen.",deny_title:"Du er ikke whitelisted til å kunne spille på denne serveren.",request_id_label:"Forespørsels ID"}},server_actions:{restarting:"serveren restarter (%{reason}).",restarting_discord:"**%{servername}** restarter (%{reason}).",stopping:"Serveren slår seg av (%{reason}).",stopping_discord:"**%{servername}** slår seg av (%{reason}).",spawning_discord:"**%{servername}** starter opp."},nui_warning:{title:"ADVARSEL",warned_by:"Advart av:",stale_message:"Denne advarselen ble utgitt før du koblet deg til serveren.",dismiss_key:"MELLOMROM",instruction:"Hold %{key} i %{smart_count} sekund for å fjerne denne meldingen. |||| Hold %{key} i %{smart_count} sekunder for å fjerne denne meldingen."},nui_menu:{misc:{help_message:"txAdmin Menu ble aktivert, skriv /tx for å åpne den.\nDu kan også binde en tast [Game Settings > Key Bindings > FiveM > Menu: Open Main Page].",menu_not_admin:"Dine identifikatorer er ikke tilknyttet noen administratorer registrert på txAdmin.\nVist du er registrert inne på txAdmin, gå til Admin Manager og sjekk at identifikatorene dine er lagret.",menu_auth_failed:"txAdmin Menu autentisering mislyktes grunnet: %{reason}",no_perms:"Du har ikke tillatelse til å gjøre dette.",unknown_error:"Det oppstod en ukjent feil.",not_enabled:"txAdmin Menu er ikke aktivert! Du kan aktivere menyen inne på instillinger på txAdmin siden.",announcement_title:"Server Kunngjøring av %{author}:",directmessage_title:"DM fra admin %{author}:",dialog_empty_input:"Du må fylle inn feltet.",onesync_error:"Dette valget krevet at OneSync er aktivert."},frozen:{froze_player:"Du har fryst spilleren!",unfroze_player:"Du har unfryst spilleren!",was_frozen:"Du har blitt fryst av en server admin!"},common:{cancel:"Avbryt",submit:"Bekreft",error:"Det oppstod en feil",copied:"Kopiert til utklippstavlen."},page_main:{tooltips:{tooltip_1:"Bruk %{key} til å bytte fane & piltastene til å navigere menyen",tooltip_2:"Noen meny valg har undervalg som kan velges ved bruk av venstre & høyre piltast"},player_mode:{title:"Spillermodus",noclip:{title:"NoClip",label:"Skrur på/av noclip, lar deg fly igjennom vegger og andre objekter",success:"NoClip aktivert"},godmode:{title:"Gudmodus",label:"Skrur på/av gudmodus, beskyter deg imot å ta skade",success:"Gudmodus aktivert"},superjump:{title:"Superhopp",label:"Skrur på/av superhopping, karakteren din vil også løpe raskt",success:"Superhopping aktivert"},normal:{title:"Normal",label:"Retuner til normal spillermodus",success:"Du returnerte til normal spillermodus."}},teleport:{title:"Teleportering",generic_success:"Du ble sendt in i det sorte hullet!",waypoint:{title:"Markør",label:"Teleporter til markøren din på kartet",error:"Du har ingen markør på kartet."},coords:{title:"Koordinater",label:"Teleporter til de spesifiserte koordinatene",dialog_title:"Teleporter",dialog_desc:"Angi koordinatene i et x, y, z format for å teleportere.",dialog_error:"Ugylidge koordinater. Du må bruke det følgende formatet: 111, 222, 33"},back:{title:"Tilbake",label:"Retunerer deg til lokasjonen din før du siste teleporterte",error:"Du har ingen lokasjon å dra tilbake til!"},copy:{title:"Kopier Koordinater",label:"Kopier dine nåværende koordinater til utklippstavlen"}},vehicle:{title:"Kjøretøy",not_in_veh_error:"Du er ikke i et kjøretøy!",spawn:{title:"Spawn",label:"Spawn et kjøretøy basert på model navnet",dialog_title:"Spawn kjøretøy",dialog_desc:"Skriv inn model navnet til kjøretøyet du ønsker å spawne.",dialog_success:"Kjøretøy spawned!",dialog_error:"Det finnes ingen kjøretøy med model navn '%{modelName}'!",dialog_info:"Forsøker å spawne %{modelName}."},fix:{title:"Reparer",label:"Reparer kjøretøyet ditt til full helse",success:"Kjøretøyet ble reparert!"},delete:{title:"Slett",label:"Sletter kjøretøyet spilleren er inni",success:"Kjøretøyet ble slettet!"},boost:{title:"Boost",label:"Boost bilen får å oppnå maks moro (og kanskje fart)",success:"Kjøretøyet ble boosted!",already_boosted:"Dette kjøretøyet er allerede boosted.",unsupported_class:"Denne kjøretøyklassen er ikke støttet.",redm_not_mounted:"Du kan kun booste når du sitter på en hest."}},heal:{title:"Gjenoppliv",myself:{title:"Meg selv",label:"Vil helbrede deg selv",success_0:"Helbredet helt opp!",success_1:"Du skal føle deg bedre nå!",success_2:"Helbredet fullt ut!",success_3:"Au au'ene ble fikset!"},everyone:{title:"Alle",label:"Vil helbrede og gjenopplive alle spillere",success:"Helbredet og gjenopplivet alle spillere."}},announcement:{title:"Utsend en Kunngjøring",label:"Utsend en kunngjøring til alle tilkoblede spillere.",dialog_desc:"Skriv inn meldingen du ønsker å sende til alle spillerene.",dialog_placeholder:"Kunngjøringen din...",dialog_success:"Utsender kunngjøring."},clear_area:{title:"Tilbakestill Omeråde",label:"Tilbakestill et spesefikt omeråde",dialog_desc:"Skriv in radiusen du ønsker å tilbakestill objektene i (0-300). Dette vil ikke fjerne server-spawned objekter.",dialog_success:"Tilbakestiller område med en radius av %{radius}m",dialog_error:"Ugyldig radius. Prøv igjen."},player_ids:{title:"Skru på/av Spiller ID'er",label:"Skru på/av spiller ID'er (og annen info) over hodet på spillere som er i nærheten",alert_show:"NetId'er vises nå på spillere i nærheten.",alert_hide:"NetId'er vises ikke lenger på spillere i nærheten."}},page_players:{misc:{online_players:"Online Spillere",players:"Spillere",search:"Søk",zero_players:"Ingen spillere ble funnet."},filter:{label:"Filtrer etter",no_filter:"Ingen Filter",is_admin:"Er Admin",is_injured:"Er Skadet / Død",in_vehicle:"I Kjøretøy"},sort:{label:"Sorter etter",distance:"Avstand",id:"ID",joined_first:"Tilkoblet Først",joined_last:"Tilkoblet Sist",closest:"Nærmeste",farthest:"Lengst Vekke"},card:{health:"%{percentHealth}% helse"}},player_modal:{misc:{error:"Det oppstod en feil under henting av brukerinformasjonen. Feilkoden vises under:",target_not_found:"Kunne ikke finne en tilkoblet spiller med ID eller brukernavn %{target}"},tabs:{actions:"Handlinger",info:"Info",ids:"ID'er",history:"Historikk",ban:"Utesteng"},actions:{title:"Spiller Handlinger",command_sent:"Kommando sendt!",moderation:{title:"Moderering",options:{dm:"DM",warn:"Advarsel",kick:"Spark Ut",set_admin:"Gi Admin"},dm_dialog:{title:"Direkte Melding",description:"Hva er grunnen til å gi en direkte melding til denne spilleren?",placeholder:"Melding...",success:"Direkte meldingen ble sendt!"},warn_dialog:{title:"Advarsel",description:"Hva er grunnen til å gi en personlig advarsel til denne spilleren?",placeholder:"Melding...",success:"Spilleren ble advart!"},kick_dialog:{title:"Spark Ut",description:"Hva er grunnlaget for å sparke ut denne spilleren?",placeholder:"Grunnlag...",success:"Spilleren ble sparket ut!"}},interaction:{title:"Interaksjoner",options:{heal:"Gjenoppliv",go_to:"Dra til",bring:"Hent",spectate:"Tilskue",toggle_freeze:"Frys"},notifications:{heal_player:"Gjenoppliver spiller",tp_player:"Teleporterer til spiller",bring_player:"Henter spiller",spectate_failed:"Fant ikke lenger spilleren. Går ut av tilskuer-modus.",spectate_yourself:"Du kan ikke tilskue deg selv.",freeze_yourself:"Du kan ikke fryse deg selv.",spectate_cycle_failed:"Det er ingen flere spillere å tilskue."}},troll:{title:"Troll",options:{drunk:"Gjør Spiller Beruset",fire:"Sett Spiller i Brann",wild_attack:"Villt angrep"}}},info:{title:"Spiller informasjon",session_time:"Sesjonstid",play_time:"Spilletid",joined:"Tilkoblet",whitelisted_label:"Whitelisted",whitelisted_notyet:"nei",btn_wl_add:"ADD WL",btn_wl_remove:"REMOVE WL",btn_wl_success:"Whitelist status endret.",log_label:"Logg",log_empty:"Ingen utestengelser/advarsler ble funnet.",log_ban_count:"%{smart_count} utestengelse |||| %{smart_count} utestengelser",log_warn_count:"%{smart_count} advarsel |||| %{smart_count} advarsler",log_btn:"DETALJER",notes_placeholder:"Notater på denne spilleren...",notes_changed:"Spiller notater endret."},ids:{current_ids:"Nåværende Identifikatorer",previous_ids:"Tidligere Identifikatorer",all_hwids:"Alle Maskinvare-ID'er"},history:{title:"Relatert historikk",btn_revoke:"FJERN",revoked_success:"Handling fjernet!",banned_by:"UTESTENGT av %{author}",warned_by:"ADVART av %{author}",revoked_by:"Fjernet av %{author}.",expired_at:"Utløpte den %{date}.",expires_at:"Utløper den %{date}."},ban:{title:"Utesteng spiller",reason_placeholder:"Grunnlag",reason_required:"Et Grunnlag er pålagt.",duration_placeholder:"Varighet",success:"Spiller utestengt!",hours:"timer",days:"dager",weeks:"uker",months:"måneder",permanent:"Permanent",custom:"Egendefinert",helper_text:"Venligst spesifiser varigheten",submit:"Utesteng"}}}};var pl_default={$meta:{label:"Polish",humanizer_language:"pl"},restarter:{server_unhealthy_kick_reason:"serwer musi zostać zrestartowany, proszę połącz się ponownie",partial_hang_warn:"Z powodu częściowego zawieszenia, serwer zostanie ponownie uruchomiony za 1 minutę. Prosimy o rozłączenie się.",partial_hang_warn_discord:"Z powodu częściowego zawieszenia, **%{servername}** zostanie uruchomiony ponownie za 1 minutę.",schedule_reason:"Planowany restart o %{time}",schedule_warn:"Ten serwer ma zaplanowany restart w ciągu %{smart_count} minuty. Proszę opuścić serwer. |||| Ten serwer ma zaplanowany restart w ciągu %{smart_count} minut.",schedule_warn_discord:"**%{servername}** ma zaplanowany restart w ciągu %{smart_count} minuty. |||| **%{servername}** ma zaplanowany restart w ciągu %{smart_count} minut."},kick_messages:{everyone:"All players kicked: %{reason}.",player:"You have been kicked: %{reason}.",unknown_reason:"for unknown reason"},ban_messages:{kick_temporary:'(%{author}) Zostałeś zbanowany na tym serwerze z powodu "%{reason}". Twój ban wygaśnie za: %{expiration}.',kick_permanent:'(%{author}) Zostałeś permanentnie zbanowany na tym serwerze za "%{reason}".',reject:{title_permanent:"Zostałeś permanentnie zbanowany na tym serwerze.",title_temporary:"Zostałeś tymczasowo zbanowany na tym serwerze.",label_expiration:"Twój ban wygaśnie za",label_date:"Data zbanowania",label_author:"Zbanowany przez",label_reason:"Powód bana",label_id:"Identyfikator bana",note_multiple_bans:"Uwaga: masz więcej niż jedną aktywną blokadę na swoje identyfikatory.",note_diff_license:"Uwaga: powyższy ban został nadany na inną <code>licencję</code>, co oznacza że któryś z twoich identyfikatorów pokrywa się z tymi zbanowanymi."}},whitelist_messages:{admin_only:{mode_title:"Ten serwer jest w trybie <strong>Admin-only</strong>.",insufficient_ids:"Nie posiadasz identyfikatora <code>discord</code> lub <code>fivem</code>, przynajmniej jeden z nich jest wymagany jeśli posiadasz konto w txAdmin'ie.",deny_message:"Żaden z twoich identyfikatorów nie jest przypisany do konta txAdmin."},guild_member:{mode_title:"Ten serwer jest w trybie <strong>Discord server Member Whitelist</strong>.",insufficient_ids:"Nie posiadasz identyfikatora <code>discord</code>, który jest wymagany by zweryfikować czy jesteś na naszym serwerze Discord. Otwórz aplikację Discord i spróbuj ponownie (aplikacja internetowa nie będzie działać).",deny_title:"Musisz dołączyć na nasz serwer Discord aby połączyć się na serwer.",deny_message:"Dołącz na serwer Discord %{guildname} i spróbuj ponownie."},guild_roles:{mode_title:"Ten serwer jest w trybie <strong>Discord Role Whitelist</strong>.",insufficient_ids:"Nie posiadasz identyfikatora <code>discord</code>, który jest wymagany by zweryfikować czy jesteś na naszym serwerze Discord. Otwórz aplikację Discord i spróbuj ponownie (aplikacja internetowa nie będzie działać).",deny_notmember_title:"Musisz dołączyć na nasz serwer Discord aby połączyć się na serwer.",deny_notmember_message:"Dołącz na serwer Discord %{guildname}, zdobądź jedną z wymaganych ról, i spróbuj ponownie.",deny_noroles_title:"Nie posiadasz wymaganej roli aby się połączyć.",deny_noroles_message:"Aby połączyć się z tym serwerem, musisz posiadać jedną z wymaganych ról na serwerze Discord %{guildname}."},approved_license:{mode_title:"Ten serwer jest w trybie <strong>License Whitelist</strong>.",insufficient_ids:"Nie posiadasz identyfikatora <code>license</code>, co oznacza że ten serwer ma uruchomiony <code>sv_lan</code>. Jeśli jesteś właścicielem tego serwera, możesz go wyłączyć w pliku <code>server.cfg</code>.",deny_title:"Nie jesteś uprawniony aby dołączyć na ten serwer.",request_id_label:"Request ID"}},server_actions:{restarting:"Trwa restart (%{reason}).",restarting_discord:"**%{servername}** jest w trakcie restartu (%{reason}).",stopping:"Serwer jest wyłączany (%{reason}).",stopping_discord:"**%{servername}** jest wyłączany (%{reason}).",spawning_discord:"**%{servername}** jest uruchamiany."},nui_warning:{title:"OSTRZEŻENIE",warned_by:"Ostrzeżony przez:",stale_message:"To ostrzeżenie zostało wydane przed połączeniem się z serwerem.",dismiss_key:"SPACJA",instruction:"Przytrzymaj %{key} przez %{smart_count} sekundę, aby odrzucić tę wiadomość. |||| Przytrzymaj %{key} przez %{smart_count} sekundy, aby odrzucić tę wiadomość."},nui_menu:{misc:{help_message:"Menu txAdmin jest włączone, wpisz /tx aby je otworzyć.\nMożesz również skonfigurować inny bind w [Ustawienia/Przypisane klawisze/FiveM/Menu: Open Main Page]",menu_not_admin:"Twoje identyfikatory nie są zgodne z żadnym administratorem zarejestrowanym w txAdmin, udaj się do menadżera administratorów i upewnij się, że Twoje identyfikatory są przypisane do utworzonego konta.",menu_auth_failed:"Uwierzytelnianie Menu txAdmin nie powiodło się przez: %{reason}",no_perms:"Nie posiadasz tego uprawnienia.",unknown_error:"Wystąpił nieznany błąd.",not_enabled:"Menu txAdmin nie jest uruchomione! Możesz je włączyć z poziomu ustawień txAdmin.",announcement_title:"Ogłoszenie nadane przez %{author}:",dialog_empty_input:"Nie możesz pozostawić pustego pola tekstowego.",directmessage_title:"Wiadomość od %{author}:",onesync_error:"Ta czynność wymaga włączenia OneSync."},frozen:{froze_player:"Zamroziłeś gracza!",unfroze_player:"Odmroziłeś gracza!",was_frozen:"Zostałeś zamrożony przez admina!"},common:{cancel:"Anuluj",submit:"Prześlij",error:"Wystąpił błąd",copied:"Skopiowano do schowka"},page_main:{tooltips:{tooltip_1:"Skorzystaj z %{key} aby przełączać się między stronami oraz strzałek aby przełączać się między opcjami w menu",tooltip_2:"Niektóre pozycje w menu posiadają opcje podrzędne, które można wybrać za pomocą strzałek w lewo i w prawo"},player_mode:{title:"Tryb gracza",noclip:{title:"NoClip",label:"Lataj tu i tam",success:"Znajdujesz się w trybie NoClip"},godmode:{title:"Bóg",label:"Nieśmiertelność",success:"Jesteś nieśmiertelny"},superjump:{title:"Super Jump",label:"Tryb wysokiego skoku, oraz szybszego poruszania się",success:"Włączony Super Jump"},normal:{title:"Normalny",label:"Tryb domyślny",success:"Przywrócono domyślny tryb gracza."}},teleport:{title:"Teleport",generic_success:"Zostałeś wysłany do tunelu czasoprzestrzennego!",waypoint:{title:"Znacznik",label:"Teleportuj się do ustawionego punktu na mapie",error:"Nie masz ustawionego punktu na mapie."},coords:{title:"Koordynaty",label:"Teleportuj się do wybranych koordynatów",dialog_title:"Teleport",dialog_desc:"Podaj koordynaty w formacie x, y, z, aby przejść przez tunel czasoprzestrzenny.",dialog_error:"Niepoprawne koordynaty. Muszą mieć format: 111, 222, 33"},back:{title:"Powrót",label:"Wróć do swojej poprzedniej lokalizacji",error:"Nie masz ostatniej lokalizacji, do której mógłbyś wrócić!"},copy:{title:"Skopiuj koordynaty",label:"Skopiuj koordynaty do schowka"}},vehicle:{title:"Pojazd",not_in_veh_error:"Nie jesteś w żadnym pojeździe!",spawn:{title:"Stwórz",label:"Stwórz pojazd po nazwie modelu",dialog_title:"Stwórz pojazd",dialog_desc:"Wprowadź nazwę modelu pojazdu, który chcesz stworzyć.",dialog_success:"Stworzono pojazd!",dialog_error:"Model pojazdu o nazwie '%{modelName}' nie istnieje!",dialog_info:"Próbuję zrespić %{modelName}."},fix:{title:"Napraw",label:"Napraw obecny pojazd",success:"Naprawiono pojazd!"},delete:{title:"Usuń",label:"Usuń obecny pojazd",success:"Usunięto pojazd!"},boost:{title:"Przyśpiesz",label:"Przyśpiesz pojazd, aby osiągnąć maksymalną frajdę oraz prędkość",success:"Pojazd został przyśpieszony!",already_boosted:"Ten pojazd był już przyśpieszany.",unsupported_class:"Ta klasa pojazdów nie jest obsługiwana.",redm_not_mounted:"Możesz użyć przyśpieszenia tylko wtedy, gdy jesteś na koniu."}},heal:{title:"Ulecz",myself:{title:"Siebie",label:"Przywraca zdrowie",success_0:"Wszystko wyleczone!",success_1:"Powinieneś czuć się teraz dobrze!",success_2:"Przywrócono do full'a!",success_3:"Ała, już naprawione!"},everyone:{title:"Wszystkich",label:"Uleczy i ożywi wszystkich graczy",success:"Uzdrowiono i uleczono wszystkich graczy."}},announcement:{title:"Wyślij ogłoszenie",label:"Wyślij ogłoszenie do wszystkich graczy na serwerze",dialog_desc:"Wyślij ogłoszenie do wszystkich obecnych graczy na serwerze.",dialog_placeholder:"Twoje ogłoszenie...",dialog_success:"Wysyłanie ogłoszenia."},clear_area:{title:"Zrestartuj obszar świata",label:"Zresetuj określony obszar świata do stanu domyślnego",dialog_desc:"Wprowadź promień, w którym chcesz zresetować jednostki w (0-300). Nie usunie to bytów stworzonych po stronie serwera.",dialog_success:"Oczyszczono obszar w promieniu %{radius}m",dialog_error:"Wprowadzono niepoprawny promień. Spróbuj ponownie."},player_ids:{title:"Przełącz identyfikatory graczy",label:"Przełącz pokazywanie identyfikatorów graczy (i innych informacji) nad głowami pobliskich graczy",alert_show:"Włączono pokazywanie informacji o pobliskich graczach.",alert_hide:"Schowano informacje o pobliskich graczach."}},page_players:{misc:{online_players:"Gracze online",players:"Gracze",search:"Szukaj",zero_players:"Nie znaleziono żadnych graczy"},filter:{label:"Filter by",no_filter:"No Filter",is_admin:"Is Admin",is_injured:"Is Injured / Dead",in_vehicle:"In Vehicle"},sort:{label:"Sortuj po",distance:"Dystansie",id:"ID",joined_first:"Dołączyli dawno",joined_last:"Dołączyli ostatnio",closest:"Najbliżej",farthest:"Najdalej"},card:{health:"%{percentHealth}% zdrowia"}},player_modal:{misc:{error:"Wystąpił błąd podczas pobierania szczegółów tego użytkownika. Błąd jest pokazany poniżej:",target_not_found:"Nie udało się znaleźć gracza online z identyfikatorem lub nazwą użytkownika %{target}"},tabs:{actions:"Akcje",info:"Info",ids:"Identyfikatory",history:"Historia",ban:"Bany"},actions:{title:"Akcje gracza",command_sent:"Wysłano polecenie!",moderation:{title:"Moderacja",options:{dm:"Wiadomość",warn:"Ostrzeżenie",kick:"Wyrzucenie",set_admin:"Nadaj Admina"},dm_dialog:{title:"Bezpośrednia wiadomość",description:"Jaki jest powód bezpośredniego wysyłania wiadomości do tego gracza?",placeholder:"Wiadomość...",success:"Twój wiadomość została wysłana!"},warn_dialog:{title:"Ostrzeżenie",description:"Jaki jest powód bezpośredniego ostrzeżenia tego gracza ?",placeholder:"Powód...",success:"Gracz został ostrzeżony!"},kick_dialog:{title:"Wyrzucenie",description:"Jaki jest powód wyrzucenia tego gracza ?",placeholder:"Powód...",success:"Gracz został wyrzucony!"}},interaction:{title:"Interakcje",options:{heal:"Ulecz",go_to:"Teleportuj siebie do gracza",bring:"Teleportuj gracza do siebie",spectate:"Obserwuj",toggle_freeze:"Przełącz zamrożenie"},notifications:{heal_player:"Leczenie gracza",tp_player:"Teleportowanie do gracza",bring_player:"Teleportowanie gracza",spectate_failed:"Nie udało się rozwiązać celu! Wyjście z Obserwacji.",spectate_yourself:"Nie możesz obserwować samego siebie.",freeze_yourself:"Nie możesz zamrozić samego siebie.",spectate_cycle_failed:"Nie ma już więcej graczy do obserwowania."}},troll:{title:"Troll",options:{drunk:"Upij",fire:"Podpal",wild_attack:"Dziki atak"}}},info:{title:"Informacje o graczu",session_time:"Długość sesji",play_time:"Czas gry",joined:"Dołączył",whitelisted_label:"Whitelist",whitelisted_notyet:"Brak",btn_wl_add:"DAJ WL",btn_wl_remove:"USUŃ WL",btn_wl_success:"Status whitelisty został zmieniony.",log_label:"Historia",log_empty:"Nie znaleziono żadnych banów/ostrzeżeń.",log_ban_count:"%{smart_count} ban |||| %{smart_count} bany",log_warn_count:"%{smart_count} ostrzeżenie |||| %{smart_count} ostrzeżenia",log_btn:"DETALE",notes_changed:"Zmieniono notatkę gracza.",notes_placeholder:"Notatki dotyczące tego gracza..."},history:{title:"Powiązana historia",btn_revoke:"UNIEWAŻNIJ",revoked_success:"Akcja unieważniona!",banned_by:"ZBANOWANY przez %{author}",warned_by:"OSTRZEŻONY przez %{author}",revoked_by:"Unieważnione przez %{author}.",expired_at:"Wygasł: %{date}.",expires_at:"Wygasa: %{date}."},ban:{title:"Zbanuj gracza",reason_placeholder:"Powód",duration_placeholder:"Długość",hours:"godziny",days:"dni",weeks:"tygodnie",months:"miesiące",permanent:"Permanentny",custom:"Własny",helper_text:"Wybierz czas trwania",submit:"Nałóż bana",reason_required:"Wymagany jest powód.",success:"Gracz został zbanowany!"},ids:{current_ids:"Bieżące Identyfikatory",previous_ids:"Wcześniej Używane Identyfikatory",all_hwids:"Wszystkie Identyfikatory HWID"}}}};var pt_default={$meta:{label:"Portuguese",humanizer_language:"pt"},restarter:{server_unhealthy_kick_reason:"o servidor precisa ser reiniciado, por favor reconecte",partial_hang_warn:"Devido a um congelamento parcial, este servidor será reiniciado em 1 minuto. Por favor, desconecte-se agora.",partial_hang_warn_discord:"Devido a um congelamento parcial, **%{servername}** será reiniciado em 1 minuto.",schedule_reason:"agendado para %{time}",schedule_warn:"Este servidor está agendado para reiniciar em %{smart_count} minuto. Por favor, desconecte-se agora! |||| Este servidor está agendado para reiniciar em %{smart_count} minutos.",schedule_warn_discord:"**%{servername}** está agendado para reiniciar em %{smart_count} minuto. |||| **%{servername}** está agendado para reiniciar em %{smart_count} minutos."},kick_messages:{everyone:"Todos os jogadores foram expulsos: %{reason}.",player:"Você foi expulso: %{reason}.",unknown_reason:"razão desconhecida"},ban_messages:{kick_temporary:'(%{author}) Você foi banido deste servidor por "%{reason}". Seu ban vai expirar em: %{expiration}.',kick_permanent:'(%{author}) Você foi permanentemente banido deste servidor por "%{reason}".',reject:{title_permanent:"Você foi permanentemente banido deste servidor.",title_temporary:"Você foi temporariamente banido deste servidor.",label_expiration:"Seu ban vai expirar em",label_date:"Data do ban",label_author:"Autor",label_reason:"Motivo",label_id:"ID do ban",note_multiple_bans:"Nota: você tem mais de um ban ativo em seus ids.",note_diff_license:"Nota: o ban acima foi aplicado em outra <code>license</code>, o que significa que um de seus IDs/HWIDs condiz com algum deste ban."}},whitelist_messages:{admin_only:{mode_title:"Este servidor está em modo <strong>Manutenção</strong>.",insufficient_ids:"Você não tem um ID <code>discord</code> ou <code>fivem</code>, e é necessário ter ao menos um deles para validar se você é um administrador.",deny_message:"Seus IDs não estão associados a nenhum administrador."},guild_member:{mode_title:"Este servidor está em modo <strong>Whitelist por Discord</strong>.",insufficient_ids:"Você não tem um ID <code>discord</code>, que é necessário para validar se você entrou no nosso Discord. Por favor abra o Discord Desktop e tente novamente (a versão Web não vai funcionar).",deny_title:"Você precisa entrar em nosso Discord para poder se conectar.",deny_message:"Por favor entre no %{guildname} e tente novamente."},guild_roles:{mode_title:"Este servidor está em modo <strong>Whitelist por grupo de Discord</strong>.",insufficient_ids:"Você não tem um ID <code>discord</code>, que é necessário para validar se você entrou no nosso Discord. Por favor abra o Discord Desktop e tente novamente (a versão Web não vai funcionar).",deny_notmember_title:"Você precisa entrar em nosso Discord para poder se conectar.",deny_notmember_message:"Por favor entre no %{guildname}, adquira um dos grupos necessários e tente novamente.",deny_noroles_title:"Você não tem um dos grupos de Discord necessários para se conectar.",deny_noroles_message:"Para se conectar, você precisa ter pelo menos um dos grupos de whitelist no servidor do Discord %{guildname}."},approved_license:{mode_title:"Este servidor está em modo <strong>Whitelist por Licença</strong>.",insufficient_ids:"Você não tem o ID <code>license</code>, o que significa que o servidor habilitou <code>sv_lan</code>. Se você é o dono do servidor, você pode desabilitar este modo modificando o <code>server.cfg</code>.",deny_title:"Você não foi aprovado(a) para entrar neste servidor.",request_id_label:"ID de Requisição"}},server_actions:{restarting:"Servidor reiniciando (%{reason}).",restarting_discord:"**%{servername}** está reiniciando (%{reason}).",stopping:"Servidor desligando (%{reason}).",stopping_discord:"**%{servername}** está desligando (%{reason}).",spawning_discord:"**%{servername}** está iniciando."},nui_warning:{title:"ADVERTÊNCIA",warned_by:"Advertido por:",stale_message:"Esta advertência foi emitida antes de você se conectar ao servidor.",dismiss_key:"ESPAÇO",instruction:"Aperte %{key} por %{smart_count} segundo para fechar esta advertência. |||| Aperte %{key} por %{smart_count} segundos para fechar esta advertência."},nui_menu:{misc:{help_message:"txAdmin Menu habilitado, digite /tx para abri-lo.\nVocê também pode configurar uma tecla atalho [Configurações do jogo > Key Bindings > FiveM > Menu: Open Main Page].",menu_not_admin:"Seus IDs não estão cadastrados como administrador no txAdmin.\nSe você tiver acesso ao txAdmin web, acesse a página Admin Manager e adicione seus IDs pro seu usuário.",menu_auth_failed:"A autenticação do menu falhou com motivo: %{reason}",no_perms:"Você não tem permissão para esta atividade.",unknown_error:"Ocorreu um erro inesperado.",not_enabled:"O menu do txAdmin não está habilitado! Você pode habilita-lo na página de configurações do txAdmin web.",announcement_title:"Aviso ao servidor por %{author}:",dialog_empty_input:"Você precisa digitar alguma coisa.",directmessage_title:"DM do admin %{author}:",onesync_error:"Esta ação requer que o OneSync esteja habilitado."},frozen:{froze_player:"Jogador congelado!",unfroze_player:"Jogador descongelado!",was_frozen:"Você foi congelado por um administrador!"},common:{cancel:"Cancelar",submit:"Enviar",error:"Ocorreu um erro inesperado.",copied:"Copiado para a área de transferência."},page_main:{tooltips:{tooltip_1:"Aperte %{key} para mudar para a próxima aba, e as setinhas para navegar no menu.",tooltip_2:"Algumas opções do menu podem ser selecionadas com as setinhas da esquerda/direita."},player_mode:{title:"Modo do Jogador",noclip:{title:"NoClip",label:"Voe pelo mapa",success:"NoClip habilitado."},godmode:{title:"Deus",label:"Invencível",success:"Modo Deus habilitado."},superjump:{title:"Super Pulo",label:"Pular muito alto, e correr muito rápido",success:"Super Pulo habilitado."},normal:{title:"Normal",label:"Modo padrão",success:"Jogador retornou ao modo normal."}},teleport:{title:"Teleportar",generic_success:"Entrando no buraco negro!",waypoint:{title:"Marcador",label:"Ir para posição no mapa",error:"Você não tem nenhuma posição marcada no mapa."},coords:{title:"Coords",label:"Ir para coordenadas",dialog_title:"Teleport",dialog_desc:"Insira coordenadas no formato x, y, z para ser teleportado.",dialog_error:"Coordenadas inválidas. Elas precisam estar no formato: 111, 222, 33"},back:{title:"Voltar",label:"Voltar para última posição",error:"Você não possui nenhuma posição anterior salva."},copy:{title:"Copiar Coords",label:"Copiar coordenadas para área de transferência"}},vehicle:{title:"Veículo",not_in_veh_error:"Você não está em um veículo",spawn:{title:"Criar",label:"Criar um veículo pelo nome",dialog_title:"Criar veículo",dialog_desc:"Insira o nome do modelo do veículo que deseja criar.",dialog_success:"Veículo criado!",dialog_error:"Não existe um veículo com modelo '%{modelName}'!",dialog_info:"Criando %{modelName}."},fix:{title:"Consertar",label:"Consertar veículo atual",success:"Veículo consertado!"},delete:{title:"Deletar",label:"Deletar veículo atual",success:"Veículo deletado!"},boost:{title:"Nitro",label:"Aumenta as caracterísiticas do veículo para atingir máxima diversão (e talvez velocidade)",success:"Nitro adicionado!",already_boosted:"Esse carro já tem nitro.",unsupported_class:"Esta classe de veículo não é suportada.",redm_not_mounted:'Você só pode usar "nitro" se estiver montado em um cavalo.'}},heal:{title:"Curar",myself:{title:"Eu Mesmo",label:"Restaura a sua vida.",success_0:"Personagem curado!",success_1:"Você já deve estar se sentindo melhor!",success_2:"Vida restaurada!",success_3:"Dodói já passou!"},everyone:{title:"Todo Mundo",label:"Cura e revive todos os jogadores",success:"Todos os jogadores foram curados."}},announcement:{title:"Enviar Aviso Global",label:"Envia uma mensagem para todos os jogadores online",dialog_desc:"Insira a mensagem a ser enviada para todos os jogadores.",dialog_placeholder:"Seu aviso...",dialog_success:"Enviando anúncio."},clear_area:{title:"Resetar Área",label:"Limpa as entidades do jogo próximas ao jogador.",dialog_desc:"Insira a distância a qual deseja limpar entidades (0-300). Esta ação não vai remover entidades criadas no servidor.",dialog_success:"Limpando entidades dentro de %{radius}m",dialog_error:"Distância inválida."},player_ids:{title:"Mostrar/Esconder IDs",label:"Ligar/desligar mostrar ID (e outros dados) acima da cabeça dos jogadores próximos",alert_show:"Mostrando os NetIDs próximos.",alert_hide:"Escondendo os NetIDs próximos."}},page_players:{misc:{online_players:"Jogadores Online",players:"Jogadores",search:"Buscar",zero_players:"Nenhum jogador encontrado."},filter:{label:"Filtrar por",no_filter:"Sem Filtro",is_admin:"É Admin",is_injured:"Está Machucado / Morto",in_vehicle:"Está em Veículo"},sort:{label:"Ordenar por",distance:"Distância",id:"ID",joined_first:"Conectou primeiro",joined_last:"Conectou por último",closest:"Mais próximo",farthest:"Mais distante"},card:{health:"Vida em %{percentHealth}%"}},player_modal:{misc:{error:"Erro ao buscar os dos dados do jogador:",target_not_found:"Não foi possível encontrar um jogador online com ID ou username %{target}"},tabs:{actions:"Ações",info:"Informações",ids:"IDs",history:"Histórico",ban:"Banir"},actions:{title:"Ações do Jogador",command_sent:"Comando enviado!",moderation:{title:"Moderação",options:{dm:"DM",warn:"Advertir",kick:"Kickar",set_admin:"Dar Admin"},dm_dialog:{title:"Mensagem Privada para",description:"O que deseja enviar ao jogador?",placeholder:"Alguma mensagem...",success:"Sua mensagem privada foi enviada!"},warn_dialog:{title:"Advertir",description:"Qual a razão para advertir este jogador?",placeholder:"Razão...",success:"O jogador foi advertido!"},kick_dialog:{title:"Kickar (expulsar)",description:"Qual a razão para expulsar este jogador?",placeholder:"Razão...",success:"O jogador foi expulso!"}},interaction:{title:"Interação",options:{heal:"Curar",go_to:"Ir Até",bring:"Trazer",spectate:"Observar",toggle_freeze:"Congelar"},notifications:{heal_player:"Curando jogador",tp_player:"Teleportando ao jogador",bring_player:"Trazendo o jogador",spectate_failed:"Erro ao resolver o alvo! Cancelando modo observar.",spectate_yourself:"Você não pode observar você mesmo.",freeze_yourself:"Você não pode congelar você mesmo.",spectate_cycle_failed:"Não há mais players para observar."}},troll:{title:"Troll",options:{drunk:"Deixar Bêbado",fire:"Atear Fogo",wild_attack:"Ataque Selvagem"}}},info:{title:"Informações do Jogador",session_time:"Tempo de sessão",play_time:"Tempo no servidor",joined:"Primeira conexão",whitelisted_label:"Whitelist adicionado",whitelisted_notyet:"ainda não",btn_wl_add:"ADD WL",btn_wl_remove:"REMOVER WL",btn_wl_success:"Status do whitelist alterado.",log_label:"Log",log_empty:"Nenhum ban ou aviso encontrado.",log_ban_count:"%{smart_count} ban |||| %{smart_count} bans",log_warn_count:"%{smart_count} aviso |||| %{smart_count} avisos",log_btn:"DETALHES",notes_changed:"Notas do jogador alteradas.",notes_placeholder:"Notas sobre este jogador..."},history:{title:"Histórico Relacionado",btn_revoke:"REVOGAR",revoked_success:"Ação revogada!",banned_by:"BANIDO por %{author}",warned_by:"ADVERTIDO por %{author}",revoked_by:"Revogado por %{author}.",expired_at:"Expirado em %{date}.",expires_at:"Expira em %{date}."},ban:{title:"Banir Jogador",reason_placeholder:"Razão",duration_placeholder:"Duração",hours:"horas",days:"dias",weeks:"semanas",months:"meses",permanent:"Permanente",custom:"Customizado",helper_text:"Por favor selecione a duração",submit:"Aplicar ban",reason_required:"O campo motivo é obrigatório.",success:"Jogador banido!"},ids:{current_ids:"IDs atuais",previous_ids:"IDs usados anteriormente",all_hwids:"Todos IDs de Hardware"}}}};var ro_default={$meta:{label:"Romanian",humanizer_language:"ro"},restarter:{server_unhealthy_kick_reason:"serverul trebuie repornit, te rog reconectează-te",partial_hang_warn:"Din cauza unei întreruperi parțiale, acest server va fi repornit în 1 minut. Vă rugăm să vă deconectați acum.",partial_hang_warn_discord:"Din cauza unei întreruperi parțiale, **%{servername}** se va restarta într-un minut.",schedule_reason:"restartare programata la %{time}",schedule_warn:"Acest server este programat sa se restarteze in %{smart_count} minut. Va rugam sa va deconctati. |||| Acest server este programat sa se restarteze in %{smart_count} minute.",schedule_warn_discord:"**%{servername}** este programat sa se restarteze in %{smart_count} minut. |||| **%{servername}** este programat sa se restarteze in %{smart_count} minute."},kick_messages:{everyone:"All players kicked: %{reason}.",player:"You have been kicked: %{reason}.",unknown_reason:"for unknown reason"},ban_messages:{kick_temporary:'(%{author}) Ai fost interzis de pe acest server pentru "%{reason}". Interzicerea ta va expira în: %{expiration}.',kick_permanent:'(%{author}) Ai fost banat permanent de pe acest server pentru "%{reason}".',reject:{title_permanent:"You have been permanently banned from this server.",title_temporary:"You have been temporarily banned from this server.",label_expiration:"Your ban will expire in",label_date:"Ban Date",label_author:"Banned by",label_reason:"Ban Reason",label_id:"Ban ID",note_multiple_bans:"Note: you have more than one active ban on your identifiers.",note_diff_license:"Note: the ban above was applied for another <code>license</code>, which means some of your IDs/HWIDs match the ones associated with that ban."}},whitelist_messages:{admin_only:{mode_title:"This server is in <strong>Admin-only</strong> mode.",insufficient_ids:"You do not have <code>discord</code> or <code>fivem</code> identifiers, and at least one of them is required to validate if you are a txAdmin administrator.",deny_message:"Your identifiers are not assigned to any txAdmin administrator."},guild_member:{mode_title:"This server is in <strong>Discord server Member Whitelist</strong> mode.",insufficient_ids:"You do not have the <code>discord</code> identifier, which is required to validate if you have joined our Discord server. Please open the Discord Desktop app and try again (the Web app won't work).",deny_title:"You are required to join our Discord server to connect.",deny_message:"Please join the guild %{guildname} then try again."},guild_roles:{mode_title:"This server is in <strong>Discord Role Whitelist</strong> mode.",insufficient_ids:"You do not have the <code>discord</code> identifier, which is required to validate if you have joined our Discord server. Please open the Discord Desktop app and try again (the Web app won't work).",deny_notmember_title:"You are required to join our Discord server to connect.",deny_notmember_message:"Please join %{guildname}, get one of the required roles, then try again.",deny_noroles_title:"You do not have a whitelisted role required to join.",deny_noroles_message:"To join this server you are required to have at least one of the whitelisted roles on the guild %{guildname}."},approved_license:{mode_title:"This server is in <strong>License Whitelist</strong> mode.",insufficient_ids:"You do not have the <code>license</code> identifier, which means the server has <code>sv_lan</code> enabled. If you are the server owner, you can disable it in the <code>server.cfg</code> file.",deny_title:"You are not whitelisted to join this server.",request_id_label:"Request ID"}},server_actions:{restarting:"Serverul se restarteaza: (%{reason}).",restarting_discord:"**%{servername}** se restarteaza (%{reason}).",stopping:"Serverul a fost oprit: (%{reason}).",stopping_discord:"**%{servername}** a fost oprit: (%{reason}).",spawning_discord:"**%{servername}** a fost pornit."},nui_warning:{title:"AVERTIZARE",warned_by:"Avertizat de:",stale_message:"Acest avertisment a fost emis înainte de a vă conecta la server.",dismiss_key:"SPACE",instruction:"Țineți %{key} timp de %{smart_count} secundă pentru a respinge acest mesaj. |||| Țineți %{key} timp de %{smart_count} secunde pentru a respinge acest mesaj."},nui_menu:{misc:{help_message:"Meniul txAdmin este activat, Scrie /tx pentru a îl deschide.\nPoți reconfigura keybind-ul utilizând [Game Settings > Key Bindings > FiveM > Menu: Open Main Page].",menu_not_admin:"Identificatorii dvs. nu se potrivesc cu niciun administrator înregistrat pe txAdmin.\nDacă sunteți înregistrat pe txAdmin, accesați Admin Manager și asigurați-vă că identificatorii dvs. bine configurați.",menu_auth_failed:"txAdmin Menu authentication failed with reason: %{reason}",no_perms:"Nu ai această permisie.",unknown_error:"A apărut o eroare necunoscută.",not_enabled:"Meniul txAdmin nu este activat! Puteți să o activați din pagina de setări txAdmin.",announcement_title:"Anunț de la %{author}:",dialog_empty_input:"Nu poți avea un input gol.",directmessage_title:"DM from admin %{author}:",onesync_error:"This action requires OneSync to be enabled."},frozen:{froze_player:"Ai înghețat jucătorul!",unfroze_player:"Ai dezghețat jucătorul!",was_frozen:"Ai fost înghețat de un administrator!"},common:{cancel:"Anulează",submit:"Trimite",error:"S-a produs o eroare",copied:"Copiat în clipboard."},page_main:{tooltips:{tooltip_1:"Folosește %{key} pentru a comuta paginile și săgețile pentru a naviga prin itemele meniului",tooltip_2:"Anumite elemente de meniu au subopțiuni care pot fi selectate cu ajutorul tastelor săgeată stânga și dreapta"},player_mode:{title:"Mod Jucător",noclip:{title:"NoClip",label:"Zboară",success:"NoClip activat"},godmode:{title:"God",label:"Invincibilitate",success:"God Mode activat"},superjump:{title:"Super Jump",label:"Toggle super jump mode, the player will also run faster",success:"Super Jump enabled"},normal:{title:"Normal",label:"Mod Normal",success:"Ai revenit la modul de jucător."}},teleport:{title:"Teleport",generic_success:"Te-ai teleportat cu succes!",waypoint:{title:"Waypoint",label:"Mergi la waypoint-ul setat",error:"Nu ai setat un waypoint."},coords:{title:"Coordonate",label:"Mergi la coordonatele specifice",dialog_title:"Teleport",dialog_desc:"Introdu coordonatele în formatul x, y, z pentru a te teleporta.",dialog_error:"Coordonate invalide. Trebuie să fie în formatul: 111, 222, 333"},back:{title:"Înapoi",label:"Mergi înapoi la ultima ta locație",error:"Nu ai o ultimă locație la care să te teleportezi!"},copy:{title:"Copiază coordonatele",label:"Copiază coordonatele în clipboard."}},vehicle:{title:"Vehicul",not_in_veh_error:"Nu te aflii într-un vehicul!",spawn:{title:"Spawn",label:"Spawnează un vehicul după numele modelului",dialog_title:"Spawnează vehiculul",dialog_desc:"Introduceți numele modelului de vehicul pe care doriți să îl spawnați.",dialog_success:"Vehicul spawnat!",dialog_error:"Vehiculul cu modelul '%{modelName} nu există!",dialog_info:"Încercarea de a spawna %{modelName}."},fix:{title:"Repară",label:"Repară vehicul curent",success:"Vehiculul a fost reparat!"},delete:{title:"Șterge",label:"Șterge vehiculul curent",success:"Vechiulul a fost șters!"},boost:{title:"Boost",label:"Boost the car to achieve max fun (and maybe speed)",success:"Vehicle boosted!",already_boosted:"This vehicle was already boosted.",unsupported_class:"This vehicle class is not supported.",redm_not_mounted:"You can only boost when mounted on a horse."}},heal:{title:"Heal",myself:{title:"Ție însuti",label:"Îți restabilește viața",success_0:"Totul s-a vindecat!",success_1:"Ar trebui să te simți bine acum!",success_2:"Restabilit în totalitate!",success_3:"Loviturile au fost vindecate!"},everyone:{title:"Toată Lumea",label:"Va vindeca și da revive la toți jucătorii",success:"Ai vindecat și dat revive la toți jucătorii."}},announcement:{title:"Trimite un anunț",label:"Trimiteți un anunț tuturor jucătorilor online.",dialog_desc:"Trimiteți un anunț tuturor jucătorilor online.",dialog_placeholder:"Anunțul dumneavoastră...",dialog_success:"Transmite anunțul."},clear_area:{title:"Resetarea zonei",label:"Resetarea unei zone specifice",dialog_desc:"Vă rugăm să introduceți raza în care doriți să resetați entitățile (0-300). Acest lucru nu va șterge entitățile generate de server-side.",dialog_success:"Se curăță zona în raza de %{radius}m",dialog_error:"Raza nu este validă. Încercați din nou."},player_ids:{title:"Comută ID-urile jucătorilor",label:"Comutarea afișării ID-urilor jucătorilor deasupra capului tuturor jucătorilor din apropiere",alert_show:"Afișarea NetID-urilor jucătorilor din apropiere.",alert_hide:"Ascunderea NetID-urilor jucătorilor din apropiere."}},page_players:{misc:{online_players:"Jucători online",players:"Jucători",search:"Caută",zero_players:"Nu ai fost jucători găsiți"},filter:{label:"Filter by",no_filter:"No Filter",is_admin:"Is Admin",is_injured:"Is Injured / Dead",in_vehicle:"In Vehicle"},sort:{label:"Sortează",distance:"Distantă",id:"ID",joined_first:"De la intrare",joined_last:"De la ieșire",closest:"Apropiere",farthest:"Depărtare"},card:{health:"%{percentHealth}% viață"}},player_modal:{misc:{error:"S-a produs o eroare la preluarea detaliilor acestui utilizator. Eroarea este afișată mai jos:",target_not_found:"Nu am reușit să găsesc un jucător online cu ID-ul sau un nume de utilizator de %{target}"},tabs:{actions:"Acțiuni",info:"Informații",ids:"ID-uri",history:"Istoric",ban:"Ban"},actions:{title:"Acțiuni jucător",command_sent:"Comandă trimisă!",moderation:{title:"Moderare",options:{dm:"Mesaj Privat",warn:"Avertizează",kick:"Kick",set_admin:"Oferă Admin"},dm_dialog:{title:"Mesaj Privat",description:"Care este motivul pentru a trimite mesaje directe acestui jucător?",placeholder:"Motiv...",success:"Mesajul tău privat a fost trimis!"},warn_dialog:{title:"Avertizează",description:"Care este motivul pentru care vrei să avertizezi jucătorul?",placeholder:"Motiv...",success:"Jucătorul a fost avertizat!"},kick_dialog:{title:"Kick",description:"Care este motivul pentru care îi dai kick acestui jucător?",placeholder:"Motiv...",success:"Jucătorul a fost dat afară!"}},interaction:{title:"Interacțiuni",options:{heal:"Oferă viață",go_to:"Mergi la",bring:"Adu la",spectate:"Spectate",toggle_freeze:"Îngheață jucătorul"},notifications:{heal_player:"Vindecă jucătorul",tp_player:"Teleportarea către jucător",bring_player:"Teleportarea jucătorului",spectate_failed:"Nu a reușit comunicarea cu jucătorul! Ieșire din spectatori.",spectate_yourself:"Nu poți fi spectator tu însuți.",freeze_yourself:"Nu te poți îngheța.",spectate_cycle_failed:"There are no players to cycle to."}},troll:{title:"Troll",options:{drunk:"Îmbată",fire:"Arde",wild_attack:"Atacu cu animale"}}},info:{title:"Informații jucător",session_time:"Timp sesiune",play_time:"Timp jucat",joined:"Alăturat",whitelisted_label:"Whitelisted",whitelisted_notyet:"not yet",btn_wl_add:"ADD WL",btn_wl_remove:"REMOVE WL",btn_wl_success:"Whitelist status changed.",log_label:"Log",log_empty:"No bans/warns found.",log_ban_count:"%{smart_count} ban |||| %{smart_count} bans",log_warn_count:"%{smart_count} warn |||| %{smart_count} warns",log_btn:"DETAILS",notes_changed:"Player note changed.",notes_placeholder:"Notes about this player..."},history:{title:"Istoric",btn_revoke:"REVOKE",revoked_success:"Action revoked!",banned_by:"BANNED by %{author}",warned_by:"WARNED by %{author}",revoked_by:"Revoked by %{author}.",expired_at:"Expired at %{date}.",expires_at:"Expires at %{date}."},ban:{title:"Banează jucător",reason_placeholder:"Motiv",duration_placeholder:"Durată",hours:"ore",days:"zile",weeks:"săptămâni",months:"luni",permanent:"Permanent",custom:"Personalizat",helper_text:"Vă rugăm să selectați o durată",submit:"Aplică ban-ul",reason_required:"The Reason field is required.",success:"Player banned!"},ids:{current_ids:"Current Identifiers",previous_ids:"Previously Used Identifiers",all_hwids:"All Hardware IDs"}}}};var ru_default={$meta:{label:"Russian",humanizer_language:"ru"},restarter:{server_unhealthy_kick_reason:"сервер нужно перезапустить, пожалуйста, подключись снова",partial_hang_warn:"Из-за частичного зависания этот сервер перезагрузится через 1 минуту. Пожалуйста, отключитесь сейчас же.",partial_hang_warn_discord:"Из-за частичного зависания, **%{servername}** перезагрузится через 1 минуту.",schedule_reason:"перезагрузка %{time}",schedule_warn:"Сервер будет перезагружен через %{smart_count} минуту. Пожалуйста, отключитесь от сервера. |||| Сервер будет перезагружен через %{smart_count} минут.",schedule_warn_discord:"**%{servername}** будет перезагружен через %{smart_count} минуту. |||| **%{servername}** будет перезагружен через %{smart_count} минут."},kick_messages:{everyone:"All players kicked: %{reason}.",player:"You have been kicked: %{reason}.",unknown_reason:"for unknown reason"},ban_messages:{kick_temporary:'(%{author}) Вы были заблокированы на этом сервере за "%{reason}". Срок вашей блокировки истекает в: %{expiration}.',kick_permanent:'(%{author}) Вы были навсегда заблокированы на этом сервере за "%{reason}".',reject:{title_permanent:"Вы были навсегда заблокированы на этом сервере.",title_temporary:"Вы были временно заблокированы на этом сервере.",label_expiration:"Срок вашего бана истечет через",label_date:"Дата бана",label_author:"Забанил",label_reason:"Причина бана",label_id:"Бан ID",note_multiple_bans:"Примечание: у вас более одного активного запрета на ваши идентификаторы.",note_diff_license:"Примечание: вышеуказанный запрет был применен для другой <code>license</code>, это означает, что некоторые из ваших идентификаторов/HWID совпадают с теми, которые связаны с этим запретом."}},whitelist_messages:{admin_only:{mode_title:"Этот сервер находится в режиме <strong>только для администратора</strong>.",insufficient_ids:"У вас нет идентификаторов <code>discord</code> или <code>fivem</code>, один из них необходим для подтверждения того, являетесь ли вы txAdmin администратором.",deny_message:"Ваши идентификаторы не назначены ни одному администратору txAdmin."},guild_member:{mode_title:"Этот сервер находится в режиме <strong>Discord Whitelist</strong>.",insufficient_ids:"У вас нет идентификатора <code>discord</code>, который необходим для подтверждения того, что вы присоединились к нашей гильдии Discord. Пожалуйста, откройте настольное приложение Discord и повторите попытку (веб-приложение не будет работать).",deny_title:"Вам необходимо вступить в наш гильдию Discord, чтобы подключиться.",deny_message:"Пожалуйста, вступите в гильдию  %{guildname} а затем попробуйте еще раз."},guild_roles:{mode_title:"Этот сервер находится в режиме <strong>Discord роль Whitelist</strong>.",insufficient_ids:"У вас нет идентификатора <code>discord</code>, который необходим для подтверждения того, что вы присоединились к нашей гильдии Discord. Пожалуйста, откройте настольное приложение Discord и повторите попытку (веб-приложение не будет работать).",deny_notmember_title:"Для подключения вам необходимо вступить в нашу гильдию Discord.",deny_notmember_message:"Пожалуйста, присоединитесь к %{guildname}, получите одну из требуемых ролей, а затем попробуйте еще раз.",deny_noroles_title:"У вас нет роли, внесенной в белый список, необходимой для присоединения.",deny_noroles_message:"Чтобы присоединиться к этому серверу, у вас должна быть хотя бы одна из ролей, внесенных в белый список гильдии %{guildname}."},approved_license:{mode_title:"Этот сервер находится в режиме <strong>License Whitelist</strong>.",insufficient_ids:"У вас нет идентификатора <code>лицензии</code>, что означает, что на сервере включен <code>sv_lan</code>. Если вы являетесь владельцем сервера, вы можете отключить его в файле <code>server.cfg</code>.",deny_title:"Вы не внесены в белый список для подключения к этому серверу.",request_id_label:"Запрос ID"}},server_actions:{restarting:"Сервер перезагружается (%{reason}).",restarting_discord:"**%{servername}** перезагружается (%{reason}).",stopping:"Сервер выключен (%{reason}).",stopping_discord:"**%{servername}** выключен (%{reason}).",spawning_discord:"**%{servername}** запущен."},nui_warning:{title:"ПРЕДУПРЕЖДЕНИЕ",warned_by:"Предупреждение выдал:",stale_message:"Это предупреждение было выдано до вашего подключения к серверу.",dismiss_key:"ПРОБЕЛ",instruction:"Удерживайте %{key} %{smart_count} секунду, чтобы закрыть это сообщение. |||| Удерживайте %{key} %{smart_count} секунд, чтобы закрыть это сообщение."},nui_menu:{misc:{help_message:"txAdmin Меню включено, введите /tx чтобы открыть его.\nВы также можете настроить привязку клавиш используя [Настройки игры > Привязки клавиш > FiveM > Меню: Открыть Главную Страницу].",menu_not_admin:"Ваши идентификаторы не совпадают ни с одним администратором, зарегистрированным в txAdmin.\nЕсли вы зарегистрированы в txAdmin, перейдите в  Admin Manager убедитесь, что ваши идентификаторы сохранены.",menu_auth_failed:"Ошибка проверки подлинности txAdmin Меню по причине: %{reason}",no_perms:"У вас нет такого разрешения.",unknown_error:"Произошла неизвестная ошибка.",not_enabled:"txAdmin Меню не включено! Вы можете включить его на странице настроек txAdmin.",announcement_title:"Объявление сервера от %{author}:",dialog_empty_input:"У вас не может быть пустого ввода.",directmessage_title:"DM от администратора %{author}:",onesync_error:"This action requires OneSync to be enabled."},frozen:{froze_player:"Вы заморозили игрока!",unfroze_player:"Вы разморозили игрока!",was_frozen:"Вы были заморожены администратором сервера!"},common:{cancel:"Отменить",submit:"Применить",error:"Произошла ошибка",copied:"Скопировано в буфер обмена."},page_main:{tooltips:{tooltip_1:"Воспользуйся %{key} для переключения страниц и клавиш со стрелками для навигации по пунктам меню",tooltip_2:"Некоторые пункты меню имеют дополнительные опции, которые можно выбрать с помощью клавиш со стрелками влево и вправо"},player_mode:{title:"Режим игрока",noclip:{title:"Noclip",label:"Летать вокруг",success:"Noclip включен"},godmode:{title:"Бог",label:"Непобедимый",success:"Режим Бога включен"},superjump:{title:"Super Jump",label:"Переключите режим Super Jump, игрок также будет бегать быстрее",success:"Super Jump включен"},normal:{title:"Обычный",label:"Режим по умолчанию",success:"Возвращен в режим обычного игрока."}},teleport:{title:"Телепорт",generic_success:"Отправил тебя в червоточину!",waypoint:{title:"Точка маршрута",label:"Телепортироваться к точка маршрута",error:"У вас нет установленной точки маршрута."},coords:{title:"Координаты",label:"Перейти к указанным координатам",dialog_title:"Телепортироваться",dialog_desc:"Предоставьте координаты в X, Y, Z формат для прохождения через червоточину.",dialog_error:"Неверные координаты. Должно быть в формате: 111, 222, 33"},back:{title:"Назад",label:"Вернитесь к последнему местоположению",error:"У вас нет последнего места, куда можно вернуться!"},copy:{title:"Копировать Координаты",label:"Копирование координат в буфер обмена."}},vehicle:{title:"Транспорт",not_in_veh_error:"В данный момент вы не находитесь в транспортном средстве!",spawn:{title:"Создание",label:"Создание транспорта по названию модели",dialog_title:"Транспорт для создания",dialog_desc:"Введите название модели транспорта, который вы хотите создать.",dialog_success:"Транспорт создан!",dialog_error:"Название модели транспорта '%{modelName}' не существует!",dialog_info:"Пытаемся создать %{modelName}."},fix:{title:"Починка",label:"Починить текущий транспорт",success:"Транспорт починен!"},delete:{title:"Удалить",label:"Удалить текущий транспорт",success:"Транспорт удален!"},boost:{title:"Boost",label:"Ускоряйте транспорт, чтобы получить максимальное удовольствие (и, возможно, скорость)",success:"Транспорт ускорен!",already_boosted:"Этот транспорт уже был ускорен.",unsupported_class:"Этот класс транспортных средств не поддерживается.",redm_not_mounted:"Вы можете использовать boost только, когда находитесь верхом на лошади."}},heal:{title:"Лечить",myself:{title:"Себя",label:"Восстановить ваше здоровье",success_0:"Все зажило!",success_1:"Сейчас вы должны почувствовать себя хорошо!",success_2:"Восстановлен в полном объеме!",success_3:"Ой, починили!"},everyone:{title:"Всех",label:"Исцелит и оживит всех игроков",success:"Исцелил и оживил всех игроков."}},announcement:{title:"Отправить Объявление",label:"Отправить объявление всем игрокам.",dialog_desc:"Введите сообщение, которое вы хотите транслировать всем игрокам.",dialog_placeholder:"Ваше объявление...",dialog_success:"Отправка объявления."},clear_area:{title:"Сбросить Мировую область",label:"Сбросить указанную область мира в состояние по умолчанию",dialog_desc:"Пожалуйста, введите радиус, в котором вы хотите сбросить объекты в (0-300). Это не приведет к очистке объектов, созданных на стороне сервера",dialog_success:"Площадь расчистки с радиусом %{radius}m",dialog_error:"Неверный ввод радиуса. Пробовать снова."},player_ids:{title:"Переключать идентификаторы игроков",label:"Переключите отображение ID игроков (и другой информации) над головами всех ближайших игроков",alert_show:"Отображаются сетевые идентификаторы ближайших игроков.",alert_hide:"Скрытие идентификаторов ближайших игроков в сети."}},page_players:{misc:{online_players:"Онлайн Игроки",players:"Игроки",search:"Поиск",zero_players:"Игроки не найдены"},filter:{label:"Filter by",no_filter:"No Filter",is_admin:"Is Admin",is_injured:"Is Injured / Dead",in_vehicle:"In Vehicle"},sort:{label:"Сортировать по",distance:"Расстояние",id:"ID",joined_first:"Присоединился Первым",joined_last:"Присоединился Последним",closest:"Самый Ближний",farthest:"Самый Дальний"},card:{health:"%{percentHealth}% здоровье"}},player_modal:{misc:{error:"Произошла ошибка при получении сведений об этом пользователе. Ошибка показана ниже:",target_not_found:"Не удалось найти онлайн игрока с идентификатором или именем пользователя %{target}"},tabs:{actions:"Действия",info:"Инфо",ids:"Идентификаторы",history:"История",ban:"Запрет"},actions:{title:"Действия игрока",command_sent:"Отправленная команда!",moderation:{title:"Модерирование",options:{dm:"Сообщение",warn:"Предупреждать",kick:"Отключить",set_admin:"Назначить Администратором"},dm_dialog:{title:"Прямое Сообщение",description:"В чем причина прямого сообщения игроку?",placeholder:"Причина...",success:"Ваше сообщение было отправлено!"},warn_dialog:{title:"Предупреждение",description:"В чем причина предупреждения этому игроку?",placeholder:"Причина...",success:"Игрок был предупрежден!"},kick_dialog:{title:"Отключить",description:"В чем причина того, чтобы отключить этого игрока?",placeholder:"Причина...",success:"Игрока был отключен!"}},interaction:{title:"Взаимодействие",options:{heal:"Лечить",go_to:"Телепортироваться",bring:"Телепортировать",spectate:"Наблюдать",toggle_freeze:"Переключить Замораживание"},notifications:{heal_player:"Исцеляющая молитва",tp_player:"Телепортируемся к игроку",bring_player:"Телепортируем игрока",spectate_failed:"Не удалось найти цель! Выходим из наблюдения.",spectate_yourself:"Вы не можете наблюдать за самим собой.",freeze_yourself:"Вы не можете заморозить себя.",spectate_cycle_failed:"Нет игроков, к которым можно переключиться."}},troll:{title:"Пакости",options:{drunk:"Напоить",fire:"Поджечь",wild_attack:"Дикая атака"}}},info:{title:"Информация об игроке",session_time:"Время сеанса",play_time:"Время игры",joined:"Присоединился",whitelisted_label:"Whitelisted",whitelisted_notyet:"ещё нет",btn_wl_add:"Добавить WL",btn_wl_remove:"Удалить WL",btn_wl_success:"Изменен статус whitelist.",log_label:"Логи",log_empty:"Никаких банов/предупреждений не обнаружено.",log_ban_count:"%{smart_count} бан |||| %{smart_count} баны",log_warn_count:"%{smart_count} предупреждение |||| %{smart_count} предупреждения",log_btn:"ПОДРОБНОСТИ",notes_changed:"Примечание игрока изменено.",notes_placeholder:"Заметки об этом игроке..."},history:{title:"Связанная история",btn_revoke:"ОТМЕНА",revoked_success:"Действие отменено!",banned_by:"Забанил %{author}",warned_by:"Предупредил %{author}",revoked_by:"Отменил %{author}.",expired_at:"Истек %{date}.",expires_at:"Истекает %{date}."},ban:{title:"Забанить игрока",reason_placeholder:"Причина",duration_placeholder:"Продолжительность",hours:"часы",days:"дни",weeks:"недели",months:"месяцы",permanent:"Постоянный",custom:"Обычай",helper_text:"Пожалуйста, выберите продолжительность",submit:"Применить бан",reason_required:"Поле причина является обязательным.",success:"Игрок забанен!"},ids:{current_ids:"Текущие идентификаторы",previous_ids:"Ранее использовавшиеся идентификаторы",all_hwids:"Все идентификаторы оборудования"}}}};var sl_default={$meta:{label:"Slovenian",humanizer_language:"sl"},restarter:{server_unhealthy_kick_reason:"strežnik je treba znova zagnati, prosim, ponovno se poveži",partial_hang_warn:"Zaradi delnega crasha strežnika, se bo avtomatsko ponovno zagnal čez 1 minuto. Prosimo, zapustite strežnik.",partial_hang_warn_discord:"Zaradi delnega crasha strežnika, se bo **%{servername}** ponovno zagnal čez 1 minuto.",schedule_reason:"načrtovan restart ob %{time}",schedule_warn:"Ta strežnik se bo ponovno zagnal čez %{smart_count} minuto. Prosimo, zapustite strežnik. |||| Ta strežnik se bo ponovno zagnal čez %{smart_count} minut/i/e.",schedule_warn_discord:"**%{servername}** se bo ponovno zagnal čez %{smart_count} minuto. |||| **%{servername}** se bo ponovno zagnal čez %{smart_count} minut/i/e."},kick_messages:{everyone:"Vsi igralci so bili kick-ani: %{reason}.",player:"Bili ste kick-ani: %{reason}.",unknown_reason:"iz neznanega razloga"},ban_messages:{kick_temporary:'(%{author}) Bil si odstranjen iz strežnika zaradi "%{reason}". Tvoj BAN se izteče čez: %{expiration}.',kick_permanent:'(%{author}) Bil si odstranjen iz strežnika za vedno  "%{reason}".',reject:{title_permanent:"Trajno ste odstranjeni iz strežnika",title_temporary:"Iz strežnika ste začasno odstranjeni",label_expiration:"Vaš ban poteče čez",label_date:"Datum ban-a",label_author:"Ban dodeljen iz strani",label_reason:"Razlog ban-a",label_id:"Ban ID",note_multiple_bans:"Opomba: Imate več kot en ban na vaših identifierjih.",note_diff_license:"Opomba: zgoraj omenjen ban, je bil dodeljen drugi <code>licenci</code>, torej se tvoji in njihovi IDs/HWIDs, ki so povezani z banom, ujemajo."}},whitelist_messages:{admin_only:{mode_title:"Ta strežnik je v <strong>Admin-only</strong> načinu.",insufficient_ids:"Nimate <code>discord</code> ali <code>fivem</code> identifijerjev in vsaj en od teh je potreben, da preverimo, če ste txAdmin administrator.",deny_message:"Your identifiers are not assigned to any txAdmin administrator."},guild_member:{mode_title:"Ta strežnik je v <strong>Discord server Member Whitelist</strong> načinu.",insufficient_ids:"Nimate ustreznega <code>discord</code> identifierja, ki je potreben, da preverimo, če ste ste pridružili Discord Strežniku. Odprite Discord namizno aplikacijo in poskusite ponovno (spletna verzija Discorda ne deluje!).",deny_title:"Pridružiti se morate našemu Discordu, da se lahko povežete.",deny_message:"Pridružite se %{guildname} in poskusite ponovno."},guild_roles:{mode_title:"Ta strežnik je v <strong>Discord Role Whitelist</strong> načinu.",insufficient_ids:"Nimate ustreznega <code>discord</code> identifierja, ki je potreben, da preverimo, če ste ste pridružili Discord Strežniku. Odprite Discord namizno aplikacijo in poskusite ponovno (spletna verzija Discorda ne deluje!).",deny_notmember_title:"Pridružiti se morate našemu Discordu, da se lahko povežete.",deny_notmember_message:"Pridružite se %{guildname}, pridobite eno od zahtevanih rol, in poskusite ponovno.",deny_noroles_title:"Nimate role potrebne za dostop na strežnik.",deny_noroles_message:"Da ste pridružite temu strežniku, potrebujete vsaj eno od whitelistanih rol na discord strežniku %{guildname}."},approved_license:{mode_title:"Ta strežnik je v <strong>License Whitelist</strong> načinu.",insufficient_ids:"Nimate ustreznega <code>license</code> identifierja, kar pomeni, da ima server vklopljen <code>sv_lan</code>. Če ste skrbnik strežnika, lahko to izklopite v <code>server.cfg</code> datoteki.",deny_title:"Nimate whiteliste za dostop do tega strežnika.",request_id_label:"Request ID"}},server_actions:{restarting:"Ponovni zagon strežnika (%{reason}).",restarting_discord:"**%{servername}** se ponovno zaganja (%{reason}).",stopping:"Strežnik je bil zaustavljen (%{reason}).",stopping_discord:"**%{servername}** se zaustavlja (%{reason}).",spawning_discord:"**%{servername}** se zaganja."},nui_warning:{title:"OPOZORILO",warned_by:"Opozorjen s strani:",stale_message:"To opozorilo je bilo izdano, preden ste se povezali s strežnikom.",dismiss_key:"SPACE",instruction:"Drži %{key} za %{smart_count} sekundo, da to sporočilo izgine. |||| Drži %{key} za %{smart_count} sekund, da to sporočilo izgine."},nui_menu:{misc:{help_message:"txAdmin Meni omogočen, napiši /tx da ga odpreš.\nTipko za txAdmin Meni lahko tudi spremeniš [Game Settings > Key Bindings > FiveM > Menu: Open Main Page].",menu_not_admin:"Tvoji podatki se ne ujemajo z nobenim obstoječim txAdmin profilom.\nČe si registriran na txAdminu, pojdi v upravitelja administratorjev in se prepričaj, da so tvoji podatki pravilni shranjeni.",menu_auth_failed:"txAdmin Menu prijava neuspešna z razlogom: %{reason}",no_perms:"Nimaš tega dovoljenja.",unknown_error:"Prišlo je do neznane težave.",not_enabled:"txAdmin Meni ni omogočen! Lahko ga omogočiš v txAdmin nastavitvah.",announcement_title:"Obvestilo od %{author}:",dialog_empty_input:"Ne moreš imeti praznega vnosa.",directmessage_title:"DM od admina %{author}:",onesync_error:"To dejanje potrebuje vklopljen OneSync."},frozen:{froze_player:"Zamrznil si igralca!",unfroze_player:"Odmrznil si igralca!",was_frozen:"Bil si zamrznjen s strani administratorja!"},common:{cancel:"Prekliči",submit:"Potrdi",error:"Pojavila se je napaka",copied:"Kopirano v odložišče."},page_main:{tooltips:{tooltip_1:"Uporabi %{key} da izbiraš med stranmi in puščične tipke za krmarjenje po elementih menija",tooltip_2:"Nekateri elementi menija imajo podmožnosti, ki jih je mogoče izbrati z levo in desno puščično tipko"},player_mode:{title:"Tvoje možnosti",noclip:{title:"NoClip",label:"Uporabi NoClip, ko se želiš premikati skozi stene in druge predmete",success:"NoClip omogočen"},godmode:{title:"God",label:"Uporabi God Mode, da postaneš nesmrten",success:"God Mode omogočen"},superjump:{title:"Super Jump",label:"Toggle super jump mode, the player will also run faster",success:"Super Jump enabled"},normal:{title:"Normal",label:"Vrne se nazaj v privzeti/običajni način igralca",success:"Vrnil si se na privzeti način."}},teleport:{title:"Teleportacija",generic_success:"Uspešna teleportacija!",waypoint:{title:"Točka",label:"Teleportiraj se do točke po meri",error:"Nimaš določene točke teleportacije."},coords:{title:"Koordinati",label:"Teleportiraj se do danih koordinatov",dialog_title:"Teleportacija",dialog_desc:"Zapiši koordinate v x, y, z formatu, da se teleportiraš do tiste lokacije.",dialog_error:"Neveljavni koordinati. Mora biti v formatu kot je: 111, 222, 33"},back:{title:"Nazaj",label:"Vrneš se na lokacijo pred zadnjo teleportacijo",error:"Nimaš zadnje lokacije, kamor bi se lahko vrnil!"},copy:{title:"Kopiraj koordinate",label:"Kopiraj trenutne koordinate v odložišče"}},vehicle:{title:"Vozila",not_in_veh_error:"Trenutno nisi v vozilu!",spawn:{title:"Spawn",label:"Spawnaj vozilo z imenom modela",dialog_title:"Spawnaj vozilo",dialog_desc:"Vstavi ime modela vozila, ki bi ga rad spawnal.",dialog_success:"Vozilo spawnano!",dialog_error:"Ime modela vozila '%{modelName}' ne obstaja!",dialog_info:"Spawnanje vozila %{modelName}."},fix:{title:"Popravi",label:"Popravi vozilo",success:"Vozilo popravljeno!"},delete:{title:"Izbriši",label:"Izbriše vozilo, v katerem se trenutno nahajaš",success:"Vozilo izbrisano!"},boost:{title:"Pospeši",label:"Pospešite vozilo, da dosežete max zabavo (in mogoče hitrost)",success:"Vozilo pospeseno!",already_boosted:"To vozilo je že pospešeno.",unsupported_class:"Ta vrsta vozila ni podprta!",redm_not_mounted:"Pospešite lahko, samo ko ste na konju."}},heal:{title:"Ozdravi",myself:{title:"Sebe",label:"Te bo ozdravilo in dodalo max hrano/pijačo",success_0:"Ozdravljen!",success_1:"Zdaj bi se moral počutiti dobro!",success_2:"Izgledaš kot prerojen!",success_3:"Zdaj si zdrav kot riba!"},everyone:{title:"Vse",label:"Ozdravi in oživi vse igralce",success:"Vsi igralci so bili ozdravljeni in oživljeni."}},announcement:{title:"Pošlji obvestilo",label:"Pošlji obvestilo vsem igralcem na strežniku.",dialog_desc:"Napiši sporočilo, za katerega želiš, da ga vidijo vsi igralci na strežniku.",dialog_placeholder:"Tvoje obvestilo...",dialog_success:"Pošiljam obvestilo."},clear_area:{title:"Resetiraj območje mape",label:"Ponastavi določeno območje mape na privzeto stanje",dialog_desc:"Vnesi polmer v katerem želiš ponastaviti območje (0-300). To NE BO izbrisalo stvari spawnanih s strani strežnika.",dialog_success:"Resetirano območje v polmeru %{radius}m",dialog_error:"Neveljavni polmer. Poskusi ponovno."},player_ids:{title:"Prižgi IDje igralcev",label:"Prižgani IDji igralcev (in ostale informacije) nad glavo vseh bližnjih igralcev",alert_show:"IDji bližnjih igralcev vklopljeni.",alert_hide:"IDji bližnjih igralcev izklopljeni."}},page_players:{misc:{online_players:"Trenutni igralci",players:"Igralci",search:"Išči",zero_players:"Najden ni bil noben igralec"},filter:{label:"Filtrirajte po",no_filter:"Ni filtra",is_admin:"Je admin",is_injured:"Je poškodovan / Mrtev",in_vehicle:"V vozilu"},sort:{label:"Razvrsti po",distance:"Dolžina",id:"ID",joined_first:"Najmanjši ID prvo",joined_last:"Največji ID prvo",closest:"Najbližji igralci",farthest:"Igralci najdlje stran"},card:{health:"%{percentHealth}% zdravje"}},player_modal:{misc:{error:"Pri pridobivanju podatkov o tem uporabniku je prišlo do napake. Napaka je opisana spodaj:",target_not_found:"Ni bilo najdenega igralca z danim IDjem ali steam imenom: %{target}"},tabs:{actions:"Dejanja",info:"Informacije",ids:"IDji",history:"Zgodovina",ban:"Ban"},actions:{title:"Dejanja igralca",command_sent:"Komanda poslana!",moderation:{title:"Moderiranje",options:{dm:"DM",warn:"Opozorilo",kick:"Kick",set_admin:"Daj admina"},dm_dialog:{title:"Neposredno sporočilo",description:"Kaj je razlog za neposredno sporočanje temu igralcu?",placeholder:"Razlog...",success:"Tvoj DM je bil poslan!"},warn_dialog:{title:"Opozorilo",description:"Kaj je razlog za neposredno opozorilo tega igralca?",placeholder:"Razlog...",success:"Igralec je bil opozorjen!"},kick_dialog:{title:"Kick",description:"Kaj je razlog za neposreden kick tega igralca?",placeholder:"Razlog...",success:"Igralec je bil Kick-an!"}},interaction:{title:"Interakcija",options:{heal:"Pozdravi",go_to:"TP nanj",bring:"TP sem",spectate:"Spectate",toggle_freeze:"Zamrzni"},notifications:{heal_player:"Ozdravljam igralca",tp_player:"Teleportiram do igralca",bring_player:"TPjam igralca",spectate_failed:"Igralca več ni bilo mogoče najti! Izstopam iz Spectate načina.",spectate_yourself:"Ne moreš spectate-at sam sebe.",freeze_yourself:"Sam sebe ne moreš zamrzniti.",spectate_cycle_failed:"Ni igralca, na katerega bi lahko preklopili."}},troll:{title:"Troll",options:{drunk:"Pijan",fire:"Ogenj",wild_attack:"Divji napad"}}},info:{title:"Informacije o igralcu",session_time:"Čas seje",play_time:"Čas igranja",joined:"Vstopil",whitelisted_label:"Whitelisted",whitelisted_notyet:"ne še",btn_wl_add:"DODAJ WL",btn_wl_remove:"ODSTRANI WL",btn_wl_success:"Status WL spremenjen.",log_label:"Evidenca",log_empty:"Ni najdenih banov/opozoril",log_ban_count:"%{smart_count} ban |||| %{smart_count} banov",log_warn_count:"%{smart_count} opozorilo |||| %{smart_count} opozoril",log_btn:"PODROBNOSTI",notes_changed:"Opombe spremenjene.",notes_placeholder:"Opombe o igralcu..."},history:{title:"Povezana zgodovina",btn_revoke:"RAZVELJAVI",revoked_success:"Dejanje preklicano!",banned_by:"BANNAL %{author}",warned_by:"OPOZORJEN od %{author}",revoked_by:"Preklical %{author}.",expired_at:"Poteče %{date}.",expires_at:"Poteče %{date}."},ban:{title:"Odstrani igralca",reason_placeholder:"Razlog",duration_placeholder:"Čas bana",hours:"ur",days:"dni",weeks:"tednov",months:"mesecev",permanent:"Za vedno",custom:"Po meri",helper_text:"Prosim, izberite trajanje",submit:"Potrdi odstranitev",reason_required:"To polje je obvezno.",success:"Igralec banan!"},ids:{current_ids:"Trenutni identifierji",previous_ids:"Prej uporabljeni identifierji",all_hwids:"Strojni IDs"}}}};var sv_default={$meta:{label:"Swedish",humanizer_language:"sv"},restarter:{server_unhealthy_kick_reason:"servern måste startas om, vänligen anslut igen",partial_hang_warn:"På grund av fördröjningar startar servern om. Vänligen koppla från nu.",partial_hang_warn_discord:"På grund av fördröjningar startar **%{servername}** om inom en minut.",schedule_reason:"Schemalagd omstart om %{time}",schedule_warn:"Den här servern kommer startas om inom %{smart_count} minuter. Vänligen lämna. |||| Den här servern kommer startas om inom %{smart_count} minuter.",schedule_warn_discord:"**%{servername}** är schemalagd att startas om inom %{smart_count} minuter. |||| **%{servername}** är schemalagd att startas om inom %{smart_count} minuter."},kick_messages:{everyone:"All players kicked: %{reason}.",player:"You have been kicked: %{reason}.",unknown_reason:"for unknown reason"},ban_messages:{kick_temporary:'(%{author}) Du har blivit bannlyst från denna server på grund av "%{reason}". Din bannlysning går ut : %{expiration}.',kick_permanent:'(%{author}) Du har blivit permanent bannlyst från denna server på grund av "%{reason}".',reject:{title_permanent:"Du har blivit permanent bannlyst från servern.",title_temporary:"Du har blivit temorärt bannlyst.",label_expiration:"Din bannlysning går ut inom",label_date:"bannlysning datum",label_author:"Bannlyst av",label_reason:"Bannlysnings anledning",label_id:"Bannlysnings ID",note_multiple_bans:"OBS Du kan vara bannlyst på flera identifikationer.",note_diff_license:"Note: the ban above was applied for another <code>license</code>, which means some of your IDs/HWIDs match the ones associated with that ban."}},whitelist_messages:{admin_only:{mode_title:"Denna server är i <strong>Endast Admin</strong> läge.",insufficient_ids:"Du har inte en <code>discord</code> eller <code>fivem</code> identifikation, och minst en av dem är nödvändiga för att validera om du är en txAdmin administratör.",deny_message:"Dina identifikationer är inte tilldelade till något txAdmin administratörs konto."},guild_member:{mode_title:"Denna server har <strong>Discord Server Medlems Whitelist</strong>.",insufficient_ids:"Du har inte en <code>discord</code> identifikation, som är nödvändigt för att validera om du har gått med i våran Discord Server. Please open the Discord Desktop app and try again (the Web app won't work).",deny_title:"Du måste gå med i våran Discord Server för att kunna ansluta till servern.",deny_message:"Var vänlig gå med i %{guildname} och sedan försök igen."},guild_roles:{mode_title:"Denna servern har <strong>Discord Rolls Whitelist</strong>.",insufficient_ids:"Du har inte en <code>discord</code> identifikation, vilket är nödvändigt för att validera om du gått med i våran Discord Server. Please open the Discord Desktop app and try again (the Web app won't work).",deny_notmember_title:"Du måste gå med i våran Discord Server för att kunna ansluta till servern.",deny_notmember_message:"Var vänlig gå med i %{guildname}, och skaffa rollen som är nödvändig för att ansluta, sedan försök igen.",deny_noroles_title:"Du har inte rollen som krävs för att kun",deny_noroles_message:"För att kunna ansluta till denna servern måste du ha minst en av de roller som krävs i Discord servern %{guildname}."},approved_license:{mode_title:"Denna servern har <strong>Licens Whitelist</strong> läge.",insufficient_ids:"Du har inte en <code>licens</code> identifikation, vilket betyder att servern har <code>sv_lan</code> påslaget. Om du är server ägaren kan du stänga av detta i <code>server.cfg</code> filen.",deny_title:"Du är inte whitelistad i denna server.",request_id_label:"Begärelse ID"}},server_actions:{restarting:"Servern omstart (%{reason}).",restarting_discord:"**%{servername}** startas om (%{reason}).",stopping:"Servern stängs av (%{reason}).",stopping_discord:"**%{servername}** håller på att stängas av (%{reason}).",spawning_discord:"**%{servername}** håller på att startas."},nui_warning:{title:"VARNING",warned_by:"Varnad av:",stale_message:"Den här varningen utfärdades innan du anslöt till servern.",dismiss_key:"SPACE",instruction:"Håll in %{key} i %{smart_count} sekund för att dölja detta meddelande. |||| Håll in %{key} i %{smart_count} sekunder för att dölja detta meddelande."},nui_menu:{misc:{help_message:"txAdmin Menyn är aktiverad, skriv /tx i chatten för att öppna den.\nDu kan ändra knapp på [Game Settings > Key Bindings > FiveM > Menu: Open Main Page].",menu_not_admin:"Dina id stämmer inte överns med dom som är registerade i txAdmin regisrtert.\nOm du är registerad på Txadmin,gå till administratör hanteraren och dubbelkolla att id:en är korrekta.",menu_auth_failed:"txAdmin Menu authentication failed with reason: %{reason}",no_perms:"Du har inte behörighet för detta.",unknown_error:"Ett okänt problem har uppstått",not_enabled:"Txadmin menyn är inte aktiverad! Du kan aktivera den på Txadmin panelen.",announcement_title:"Server meddelande skickat av %{author}:",dialog_empty_input:"Du kan inte ha ett tomt fält.",directmessage_title:"DM from admin %{author}:",onesync_error:"This action requires OneSync to be enabled."},frozen:{froze_player:"Du har frusit spelaren",unfroze_player:"Du har avfrusit spelaren",was_frozen:"Du har blivit frusen av en Server administratör"},common:{cancel:"Avbryt",submit:"Överlämmna",error:"Ett fel har uppstått",copied:"Kopierat till urklipp."},page_main:{tooltips:{tooltip_1:"Använd %{key} för att ändra sida & piltangeterna för att navigera mellan menyernas alternativ",tooltip_2:"Visa menyer har under kationriger vilket kan användas med hjälp av piltangernterna"},player_mode:{title:"Spelar läge",noclip:{title:"Noclip",label:"Flyga runt",success:"Ingen Noclip"},godmode:{title:"Gud",label:"Oförstörbar",success:"Gudläge aktiverat"},superjump:{title:"Super Jump",label:"Toggle super jump mode, the player will also run faster",success:"Super Jump enabled"},normal:{title:"Vanlig",label:"Vanlig spelare",success:"Återvände till vanlig spelare."}},teleport:{title:"Teleportera",generic_success:"Teleportering lyckad!",waypoint:{title:"Position",label:"Gå till positionen satt",error:"Du har ingen position utmärkt."},coords:{title:"Kordinater",label:"Gå till specifika kordinater",dialog_title:"Teleportera",dialog_desc:"Skriv kordinaterna i x, y, z format för att kunna teleportera.",dialog_error:"Ogiltiga kordinater. Det måste vara i formatet: 111, 222, 33"},back:{title:"Gå tillbaka",label:"Gå tillbaka till senaste positionen",error:"Du har ingen tidigare position"},copy:{title:"Kopiera kordinaterna",label:"Kopiera kordinaterna till urklipp."}},vehicle:{title:"Fordon",not_in_veh_error:"Du är för tillfället inte i fordonet!",spawn:{title:"Ta fram",label:"Ta fram fordon med moddel namn",dialog_title:"Ta fram fordon",dialog_desc:"Skriv in moddel namnet på fordonet du vill ta fram.",dialog_success:"Fordon framtaget!",dialog_error:"Fordonet '%{modelName}' finns inte!",dialog_info:"Försöker ta fram %{modelName}."},fix:{title:"Laga",label:"Laga nuvarande fordon",success:"Fordon lagat!"},delete:{title:"Ta bort",label:"Ta bort nuvarande fordon",success:"Fordon bortaget!"},boost:{title:"Trimma",label:"Trimma bilen och nå maximalt nöje (och kanske hastighet)",success:"Vehicle boosted!",already_boosted:"This vehicle was already boosted.",unsupported_class:"This vehicle class is not supported.",redm_not_mounted:"You can only boost when mounted on a horse."}},heal:{title:"Läka",myself:{title:"Dig själv",label:"Återställer din hälsa",success_0:"Alla är läkta!",success_1:"Du bör må bra nu!",success_2:"Återställd till max!",success_3:"Smärtan fixad!"},everyone:{title:"Alla",label:"Detta kommer läka och återuppliva alla spelare",success:"Helad och återupplivade alla spelare."}},announcement:{title:"Skicka ut medelande",label:"Skicka ett meddelande till alla spelare inne på servern",dialog_desc:"Skriv in meddelandet du vill skicka till alla spelare.",dialog_placeholder:"Ditt Medelande...",dialog_success:"Ditt medelande är utsickat."},clear_area:{title:"Återställ världs ytan",label:"Återställer ett angivet världsområde till dess standardläge",dialog_desc:"Vänligen skriv in radien du vill rensa objekt i (0-300). Detta kommer inte rensa saker servern har spawnat",dialog_success:"Rensar area med %{radius}m",dialog_error:"Ogiltig radie, försök igen."},player_ids:{title:"Sätt på spelares id",label:"När du sätter på detta kommer du kunna se alla spelares id i närheten.",alert_show:"Visa spelares id i närheten.",alert_hide:"Dölj spelares id i närheten."}},page_players:{misc:{online_players:"Spelare inne",players:"Spelare",search:"Sök",zero_players:"Inga spelare funna"},filter:{label:"Filter by",no_filter:"No Filter",is_admin:"Is Admin",is_injured:"Is Injured / Dead",in_vehicle:"In Vehicle"},sort:{label:"Sortera efter",distance:"Avstånd",id:"ID",joined_first:"Gick med först",joined_last:"Gick med senast",closest:"Närmast",farthest:"Längst"},card:{health:"%{percentHealth}% Hälsa"}},player_modal:{misc:{error:"Kunde inte ta emot spelarens information. Felkod syns nedan:",target_not_found:"Kunde inte hitta en spelare med den identifikationen %{target}"},tabs:{actions:"Alternativ",info:"Information",ids:"identifikationer",history:"Historik",ban:"Bannlys"},actions:{title:"Spelare alternativ",command_sent:"Kommando skickat",moderation:{title:"Moderation",options:{dm:"Direktmeddelande",warn:"Varna",kick:"Sparka",set_admin:"Ge administratör"},dm_dialog:{title:"Direktmeddelande",description:"Vad vill du skriva i ditt direktmeddelande till spelaren",placeholder:"Anledning",success:"Ditt direktmeddelande har skickats"},warn_dialog:{title:"Varna",description:"Vad är anledningen till att du varnar spelaren?",placeholder:"Anlednig",success:"Spelaren är varnad!"},kick_dialog:{title:"Sparka",description:"Varför vill du sparka denna spelare",placeholder:"Anledning",success:"Spelaren är sparkad!"}},interaction:{title:"Interkationer",options:{heal:"Läk",go_to:"Gå till",bring:"Ta spelare till mig",spectate:"Åskåda",toggle_freeze:"Växla frysläge"},notifications:{heal_player:"Spelare är läkt",tp_player:"Spelare teleporterad till dig",bring_player:"Tog spelare till dig",spectate_failed:"Misslyckades att hitta spelaren, avslutar åskådarläget.",spectate_yourself:"Du kan inte åskåda dig själv.",freeze_yourself:"Du kan inte frysa dig själv.",spectate_cycle_failed:"Där finns inga spelare att gå mellan."}},troll:{title:"Trolla",options:{drunk:"Gör full",fire:"Tänd Eld",wild_attack:"Vild Djursattack"}}},info:{title:"Spelar information",session_time:"Session tid",play_time:"Speltid",joined:"Anslöt",whitelisted_label:"Vitlistad",whitelisted_notyet:"Inte ännu vitlistad",btn_wl_add:"Lägg till vitlistning",btn_wl_remove:"Ta bort vitlistning",btn_wl_success:"Vitlistnings status ändrad.",log_label:"Historik",log_empty:"Inga bannlysningar eller varnningar funna.",log_ban_count:"%{smart_count} Bannlysning |||| %{smart_count} Bannlysningar",log_warn_count:"%{smart_count} Varning |||| %{smart_count} Varnningar",log_btn:"Detaljer",notes_changed:"Spelar notering ändrad.",notes_placeholder:"Noteringar om spelare..."},history:{title:"Historik",btn_revoke:"Dra tillbaka",revoked_success:"Handling tillbaka dragen",banned_by:"Bannlyst av %{author}",warned_by:"Varnad av %{author}",revoked_by:"Tillbaka dragen av %{author}.",expired_at:"Gick ut den %{date}.",expires_at:"Går ut den %{date}."},ban:{title:"Bannlys spelare",reason_placeholder:"Anledning",duration_placeholder:"Varaktighet",hours:"Timmar",days:"Dagar",weeks:"Veckor",months:"Månader",permanent:"Permanent",custom:"Anpassad",helper_text:"Vänligen välj en varaktighet",submit:"Tillämpa bannlysning",reason_required:"Du måste fylla i anledning.",success:"Spelare är bannlyst"},ids:{current_ids:"Nuvarande identifikationer",previous_ids:"Tidigare använda identifikationer",all_hwids:"Alla hårdvaru identifikationer"}}}};var th_default={$meta:{label:"Thai",humanizer_language:"th"},restarter:{server_unhealthy_kick_reason:"เซิร์ฟเวอร์จำเป็นต้องรีสตาร์ท, กรุณาเชื่อมต่ออีกครั้ง",partial_hang_warn:"เนื่องจากพบอาการแฮงค์ในบางส่วน เซิร์ฟเวอร์นี้จะรีสตาร์ทใน 1 นาที กรุณายกเลิกการเชื่อมต่อในขณะนี้",partial_hang_warn_discord:"เนื่องจากพบอาการแฮงค์ในบางส่วน, **%{servername}** จะรีสตาร์ทใน 1 นาที",schedule_reason:"รีสตาร์ทตามกำหนดเวลา %{time}",schedule_warn:"เซิร์ฟเวอร์ถูกกำหนดเวลาให้รีสตาร์ทใน %{smart_count} นาที โปรดยกเลิกการเชื่อมต่อทันที |||| เซิร์ฟเวอร์ถูกกำหนดเวลาให้รีสตาร์ทใน %{smart_count} นาที.",schedule_warn_discord:"**%{servername}** มีกำหนดการจะรีสตาร์ทใน %{smart_count} นาที |||| **%{servername}** มีกำหนดการจะรีสตาร์ทใน %{smart_count} นาที"},kick_messages:{everyone:"All players kicked: %{reason}.",player:"You have been kicked: %{reason}.",unknown_reason:"for unknown reason"},ban_messages:{kick_temporary:'(%{author}) คุณถูกแบนจากเซิร์ฟเวอร์นี้เพราะ "%{reason}" การแบนของคุณจะหมดอายุใน: %{expiration}.',kick_permanent:'(%{author}) คุณถูกแบนจากเซิร์ฟเวอร์นี้อย่างถาวรเพราะ "%{reason}"',reject:{title_permanent:"You have been permanently banned from this server.",title_temporary:"You have been temporarily banned from this server.",label_expiration:"Your ban will expire in",label_date:"Ban Date",label_author:"Banned by",label_reason:"Ban Reason",label_id:"Ban ID",note_multiple_bans:"Note: you have more than one active ban on your identifiers.",note_diff_license:"Note: the ban above was applied for another <code>license</code>, which means some of your IDs/HWIDs match the ones associated with that ban."}},whitelist_messages:{admin_only:{mode_title:"This server is in <strong>Admin-only</strong> mode.",insufficient_ids:"You do not have <code>discord</code> or <code>fivem</code> identifiers, and at least one of them is required to validate if you are a txAdmin administrator.",deny_message:"Your identifiers are not assigned to any txAdmin administrator."},guild_member:{mode_title:"This server is in <strong>Discord server Member Whitelist</strong> mode.",insufficient_ids:"You do not have the <code>discord</code> identifier, which is required to validate if you have joined our Discord server. Please open the Discord Desktop app and try again (the Web app won't work).",deny_title:"You are required to join our Discord server to connect.",deny_message:"Please join the guild %{guildname} then try again."},guild_roles:{mode_title:"This server is in <strong>Discord Role Whitelist</strong> mode.",insufficient_ids:"You do not have the <code>discord</code> identifier, which is required to validate if you have joined our Discord server. Please open the Discord Desktop app and try again (the Web app won't work).",deny_notmember_title:"You are required to join our Discord server to connect.",deny_notmember_message:"Please join %{guildname}, get one of the required roles, then try again.",deny_noroles_title:"You do not have a whitelisted role required to join.",deny_noroles_message:"To join this server you are required to have at least one of the whitelisted roles on the guild %{guildname}."},approved_license:{mode_title:"This server is in <strong>License Whitelist</strong> mode.",insufficient_ids:"You do not have the <code>license</code> identifier, which means the server has <code>sv_lan</code> enabled. If you are the server owner, you can disable it in the <code>server.cfg</code> file.",deny_title:"You are not whitelisted to join this server.",request_id_label:"Request ID"}},server_actions:{restarting:"เซิร์ฟเวอร์รีสตาร์ท (%{reason})",restarting_discord:"**%{servername}** กำลังรีสตาร์ท (%{reason})",stopping:"เซิร์ฟเวอร์หยุดทำงาน (%{reason})",stopping_discord:"**%{servername}** กำลังหยุดทำงาน (%{reason})",spawning_discord:"**%{servername}** กำลังเริ่มต้นระบบ"},nui_warning:{title:"WARNING",warned_by:"Warned by:",stale_message:"คำเตือนนี้ถูกออกก่อนที่คุณจะเชื่อมต่อกับเซิร์ฟเวอร์",dismiss_key:"SPACE",instruction:"กด %{key} ค้างไว้เป็นเวลา %{smart_count} วินาทีเพื่อปิดข้อความนี้ |||| กด %{key} ค้างไว้เป็นเวลา %{smart_count} วินาทีเพื่อปิดข้อความนี้"},nui_menu:{misc:{help_message:"เปิดใช้งานเมนู txAdmin แล้ว พิมพ์ /tx เพื่อเปิดมันขึ้น\nคุณยังสามารถกำหนดค่าปุ่ม keybind ได้ที่ [Game Settings > Key Bindings > FiveM > Menu: Open Main Page]",menu_not_admin:"ตัวตนของคุณไม่ตรงกับที่ผู้ดูแลระบบลงทะเบียนใน txAdmin\nหากคุณลงทะเบียนใน txAdmin แล้ว ให้ไปที่ Admin Manager และตรวจสอบให้แน่ใจว่าได้บันทึกตัวระบุของคุณแล้ว",menu_auth_failed:"txAdmin Menu authentication failed with reason: %{reason}",no_perms:"คุณไม่ได้รับสิทธิ์นี้",unknown_error:"เกิดข้อผิดพลาดที่ไม่รู้จัก",not_enabled:"ไม่ได้เปิดใช้งานเมนู txAdmin คุณสามารถเปิดใช้งานได้ในหน้า การตั้งค่าของ txAdmin",announcement_title:"ประกาศจากเซิร์ฟเวอร์โดย %{author}:",dialog_empty_input:"คุณไม่สามารถป้อนข้อมูลว่างได้",directmessage_title:"DM from admin %{author}:",onesync_error:"This action requires OneSync to be enabled."},frozen:{froze_player:"คุณได้ถูกระงับผู้เล่นแล้ว",unfroze_player:"คุณได้ยกเลิกการถูกระงับผู้เล่นแล้ว",was_frozen:"คุณถูกระงับโดยผู้ดูแลเซิร์ฟเวอร์"},common:{cancel:"ยกเลิก",submit:"ยอมรับ",error:"เกิดข้อผิดพลาด",copied:"คัดลอกไปยังคลิปบอร์ดแล้ว"},page_main:{tooltips:{tooltip_1:"ใช้ปุ่ม %{key} เพื่อสลับหน้าและเป็นปุ่มลูกศรเพื่อนำทางรายการเมนู",tooltip_2:"รายการเมนูบางรายการมีตัวเลือกย่อยซึ่งสามารถเลือกได้โดยใช้ปุ่มลูกศรซ้ายและขวา"},player_mode:{title:"โหมดผู้เล่น",noclip:{title:"โหมดอิสระ",label:"บินไปรอบๆได้",success:"เปิดใช้งานโหมดอิสระ"},godmode:{title:"โหมดพระเจ้า",label:"อยู่ยงคงกระพัน",success:"เปิดใช้โหมดพระเจ้า"},superjump:{title:"Super Jump",label:"Toggle super jump mode, the player will also run faster",success:"Super Jump enabled"},normal:{title:"โหมดธรรมดา",label:"โหมดเริ่มต้น",success:"กลับไปสู่โหมดเริ่มต้นเป็นผู้เล่น"}},teleport:{title:"เทเลพอร์ต",generic_success:"ส่งคุณเข้าไปในรูหนอนแล้วแล้ว",waypoint:{title:"จุดมาร์ค",label:"ไปยังจุดที่ทำเครื่องหมายไว้",error:"คุณยังไม่ได้ทำจุดมาร์คไว้"},coords:{title:"พิกัด",label:"ไปยังพิกัดจะระบุ",dialog_title:"เทเลพอร์ต",dialog_desc:"ระบุพิกัดในรูปแบบ x, y, z เพื่อผ่านโดยใช้รูหนอน",dialog_error:"พิกัดไม่ถูกต้อง ต้องอยู่ในรูปแบบ: 111, 222, 33"},back:{title:"กลับ",label:"กลับไปยังตำแหน่งล่าสุด",error:"คุณไม่มีสถานที่ล่าสุดที่จะกลับไป"},copy:{title:"คัดลอกพิกัด",label:"คัดลอกพิกัดไปยังคลิปบอร์ด"}},vehicle:{title:"ยานพาหนะ",not_in_veh_error:"คุณไม่ได้อยู่ในยานพาหนะในขณะนี้",spawn:{title:"Spawn",label:"สร้างยานพาหนะตามชื่อโมเดล",dialog_title:"สร้างยานพาหนะ",dialog_desc:"ป้อนชื่อโมเดลของยานพาหนะที่คุณต้องการสร้างขึ้นมา",dialog_success:"สร้างยานพาหนะขึ้นมาแล้ว",dialog_error:"โมเดลยานพาหนะชื่อ '%{modelName}' ไม่ได้มีอยู่",dialog_info:"พยายามที่จะสร้าง %{modelName}"},fix:{title:"ซ่อม",label:"ซ่อมยานพาหนะปัจจุบัน",success:"ซ่อมยานพาหนะแล้ว"},delete:{title:"ลบ",label:"ลบยานพาหนะปัจจุบัน",success:"ลบยานพาหนะแล้ว"},boost:{title:"Boost",label:"Boost the car to achieve max fun (and maybe speed)",success:"Vehicle boosted!",already_boosted:"This vehicle was already boosted.",unsupported_class:"This vehicle class is not supported.",redm_not_mounted:"You can only boost when mounted on a horse."}},heal:{title:"รักษา",myself:{title:"ตัวเอง",label:"ฟื้นฟูสุขภาพของคุณ",success_0:"หายดีแล้ว",success_1:"คุณน่าจะรู้สึกดีขึ้นแล้วในขณะนี้",success_2:"ฟื้นคืนชีพเต็มพิกัด",success_3:"รักษาอาการเจ็บแล้ว"},everyone:{title:"ทุกคน",label:"รักษาและชุบชีวิตผู้เล่นทุกคน",success:"รักษาและชุบชีวิตผู้เล่นทุกคนแล้ว"}},announcement:{title:"ส่งประกาศ",label:"ส่งประกาศถึงผู้เล่นออนไลน์ทุกคนแล้ว",dialog_desc:"ส่งประกาศถึงผู้เล่นออนไลน์ทุกคนแล้ว",dialog_placeholder:"ข้อความประกาศของคุณ...",dialog_success:"ส่งข้อความประกาศแล้ว"},clear_area:{title:"รีเซ็ตพื้นที่โลก",label:"รีเซ็ตพื้นที่โลกให้กลับไปเป็นสถานะเริ่มต้น",dialog_desc:"โปรดป้อนรัศมีที่คุณต้องการรีเซ็ตเอนทิตีในช่วง (0-300) สิ่งนี้จะไม่ล้างเอนทิตีที่เกิดจากฝั่งเซิร์ฟเวอร์ได้",dialog_success:"ลง้าพื้นที่ในรัศมีระยะ %{radius}เมตร แล้ว",dialog_error:"ป้อนข้อมูลรัศมีไม่ถูกต้อง ลองอีกครั้ง"},player_ids:{title:"สลับไอดีผู้เล่น",label:"สลับการแสดงไอดีผู้เล่น (และข้อมูลอื่นๆ) บริเวณส่วนเหนือหัวของผู้เล่นในระยะใกล้เคียงทั้งหมด",alert_show:"กำลังแสดงไอดีของผู้เล่นใกล้เคียง",alert_hide:"กำลังซ่อนไอดีของผู้เล่นใกล้เคียง"}},page_players:{misc:{online_players:"ผู้เล่นที่ออนไลน์",players:"ผู้เล่น",search:"ค้นหา",zero_players:"ไม่พบผู้เล่น"},filter:{label:"Filter by",no_filter:"No Filter",is_admin:"Is Admin",is_injured:"Is Injured / Dead",in_vehicle:"In Vehicle"},sort:{label:"กรอกผู้เล่นจาก",distance:"ระยะทาง",id:"ไอดี",joined_first:"เข้าร่วมก่อน",joined_last:"เข้าร่วมล่าสุด",closest:"ใกล้ที่สุด",farthest:"ไกลที่สุด"},card:{health:"สุขภาพ %{percentHealth}%"}},player_modal:{misc:{error:"เกิดข้อผิดพลาดขณะดึงรายละเอียดผู้ใช้รายนี้ ข้อผิดพลาดแสดงอยู่ด้านล่าง:",target_not_found:"ไม่สามารถหาผู้เล่นที่ออนไลน์จากไอดีหรือชื่อผู้ใช้จาก %{target}"},tabs:{actions:"การกระทำ",info:"ข้อมูล",ids:"ไอดี",history:"ประวัติ",ban:"แบน"},actions:{title:"การกระทำของผู้เล่น",command_sent:"ส่งคำสั่งแล้ว",moderation:{title:"จัดการ",options:{dm:"DM",warn:"เตือน",kick:"เตะ",set_admin:"มอบผู้ดูแลระบบ"},dm_dialog:{title:"Direct Message",description:"เหตุผลที่จะส่งข้อความไปหาผู้เล่นรายนี้โดยตรง",placeholder:"เหตุผล...",success:"ส่ง DM ของคุณแล้ว"},warn_dialog:{title:"เตือน",description:"เหตุผลที่จะส่งข้อความเตือนไปหาผู้เล่นรายนี้",placeholder:"เหตุผล...",success:"ผู้เล่นถูกเตือนแล้ว"},kick_dialog:{title:"เตะ",description:"เหตุผลที่จะเตะผู้เล่นรายนี้",placeholder:"เหตุผล...",success:"ผู้เล่นถูกเตะแล้ว"}},interaction:{title:"ปฏิสัมพันธ์",options:{heal:"รักษา",go_to:"ไปหา",bring:"ดึงมา",spectate:"รับชม",toggle_freeze:"ระงับ"},notifications:{heal_player:"รักษาผู้เล่น",tp_player:"เทเลพอร์ตไปหาผู้เล่น",bring_player:"เรียกผู้เล่นมา",spectate_failed:"ล้มเหลวในการไปหาเป้าหมาย ออกจากโหมดรับชม",spectate_yourself:"คุณไม่สามารถรับชมตัวเองได้",freeze_yourself:"คุณไม่สามารถระงับตัวเองได้",spectate_cycle_failed:"There are no players to cycle to."}},troll:{title:"แผนร้าย",options:{drunk:"ทำให้เมา",fire:"ใส่ไฟ",wild_attack:"สัตว์ป่าโจมตี"}}},info:{title:"ข้อมูลผู้เล่น",session_time:"เวลาเซสชัน",play_time:"เวลาเล่น",joined:"เข้าร่วม",whitelisted_label:"Whitelisted",whitelisted_notyet:"not yet",btn_wl_add:"ADD WL",btn_wl_remove:"REMOVE WL",btn_wl_success:"Whitelist status changed.",log_label:"Log",log_empty:"No bans/warns found.",log_ban_count:"%{smart_count} ban |||| %{smart_count} bans",log_warn_count:"%{smart_count} warn |||| %{smart_count} warns",log_btn:"DETAILS",notes_changed:"Player note changed.",notes_placeholder:"Notes about this player..."},history:{title:"ประวัติที่เกี่ยวข้อง",btn_revoke:"REVOKE",revoked_success:"Action revoked!",banned_by:"BANNED by %{author}",warned_by:"WARNED by %{author}",revoked_by:"Revoked by %{author}.",expired_at:"Expired at %{date}.",expires_at:"Expires at %{date}."},ban:{title:"แบนผู้เล่น",reason_placeholder:"เหตุผล",duration_placeholder:"ระยะเวลา",hours:"ชั่วโมง",days:"วัน",weeks:"สัปดาห์",months:"เดือน",permanent:"ถาวร",custom:"กำหนดเอง",helper_text:"กรุณาเลือกระยะเวลา",submit:"ยอมระบการแบน",reason_required:"The Reason field is required.",success:"Player banned!"},ids:{current_ids:"Current Identifiers",previous_ids:"Previously Used Identifiers",all_hwids:"All Hardware IDs"}}}};var tr_default={$meta:{label:"Turkish",humanizer_language:"tr"},restarter:{server_unhealthy_kick_reason:"sunucu yeniden başlatılmalı, lütfen yeniden bağlan",partial_hang_warn:"Takılma nedeniyle bu sunucu 1 dakika içinde yeniden başlayacak. Lütfen şimdi bağlantıyı kesin.",partial_hang_warn_discord:"Takılma nedeniyle **%{servername}** 1 dakika içinde yeniden başlayacak.",schedule_reason:"Zamanlanmış yeniden başlatma %{time}",schedule_warn:"Sunucu %{smart_count} dakika içerisinde zamanlanmış şekilde yeniden başlatılacaktır. Lütfen çıkış yapın. |||| Sunucu %{smart_count} dakika içerisinde zamanlanmış şekilde yeniden başlatılacaktır.",schedule_warn_discord:"**%{servername}** sunucusu %{smart_count} dakika içerisinde yeniden başlatılmaya zamanlandı. |||| **%{servername}** sunucusu %{smart_count} dakika içerisinde yeniden başlatılmaya zamanlandı."},kick_messages:{everyone:"All players kicked: %{reason}.",player:"You have been kicked: %{reason}.",unknown_reason:"for unknown reason"},ban_messages:{kick_temporary:'(%{author}) "%{reason}" sebebi ile bu sunucudan uzaklaştırıldın! Cezanın bitmesine kalan süre: %{expiration}.',kick_permanent:'(%{author}) "%{reason}". sebebi ile bu sunucudan süresiz olarak uzaklaştırıldın!',reject:{title_permanent:"Bu sunucudan kalıcı olarak yasaklandınız.",title_temporary:"Bu sunucudan geçici olarak yasaklandınız.",label_expiration:"Yasak süreniz şu tarihte sona erecek:",label_date:"Yasaklanma Tarihi",label_author:"Yasaklayan",label_reason:"Yasaklanma Sebebi",label_id:"Ban ID",note_multiple_bans:"Not: Tanımlayıcılarınız üzerinde birden fazla aktif yasağınız var.",note_diff_license:"Note: the ban above was applied for another <code>license</code>, which means some of your IDs/HWIDs match the ones associated with that ban."}},whitelist_messages:{admin_only:{mode_title:"Bu sunucu <strong>Sadece-Yetkili</strong> modundunadır.",insufficient_ids:"<code>discord</code> veya <code>fivem</code> tanımlayıcısına sahip değilsiniz, en az bir tanesi sizin bir txAdmin yöneticisi olup olmadığınızı doğrulamak için gereklidir.",deny_message:"Tanımlayıcılarınız herhangi bir txAdmin yöneticisine ait değildir."},guild_member:{mode_title:"Bu sunucu <strong>Discord Üye Beyaz Listesi</strong> modundunadır.",insufficient_ids:"<code>discord</code> tanımlayıcısına sahip değilsiniz, Discord Sunucusuna katılıp katılmadığınızı doğrulamak için gereklidir. Please open the Discord Desktop app and try again (the Web app won't work).",deny_title:"Bağlanmak için Discord Sunucumuzda bulunmanız gerekiyor.",deny_message:"Lütfen %{guildname} sunucumuza katılın ve tekrar deneyin."},guild_roles:{mode_title:"Bu sunucu <strong>Discord Rol Beyaz Listesi</strong> modunda.",insufficient_ids:"<code>discord</code> tanımlayıcısına sahip değilsiniz, Discord Sunucusuna katılıp katılmadığınızı doğrulamak için gereklidir. Please open the Discord Desktop app and try again (the Web app won't work).",deny_notmember_title:"Bağlanmak için Discord Sunucumuzda bulunmanız gerekiyor.",deny_notmember_message:"Lütfen %{guildname} sunucumuzda bulunun, gerekli rollerden birini alın ve tekrar deneyin",deny_noroles_title:"Katılmak için beyaz listelenmiş bir role sahip değilsiniz.",deny_noroles_message:"Bu sunucuya katılmak için %{guildname} sunucumuzda beyaz listelenmiş rollerden en az birine sahip olmanız gerekiyor."},approved_license:{mode_title:"Bu sunucu <strong>Lisans Beyaz Listesi</strong> modunda.",insufficient_ids:"<code>license</code> tanımlayıcısına sahip değilsiniz, bu sunucunun <code>sv_lan</code> özelliği etkinleştirilmiş demektir. Sunucu sahibiyseniz, <code>server.cfg</code> dosyasında devre dışı bırakabilirsiniz.",deny_title:"Bu sunucuya katılmak için beyaz listeli değilsiniz.",request_id_label:"Talep ID"}},server_actions:{restarting:"Sunucu yeniden başlatılıyor.(%{reason}).",restarting_discord:"**%{servername}** sunucusu yeniden başlatılıyor. (%{reason}).",stopping:"Sunucu kapatılıyor(%{reason}).",stopping_discord:"**%{servername}** sunucu kapatılıyor (%{reason}).",spawning_discord:"**%{servername}** sunucu başlatıldı."},nui_warning:{title:"UYARI",warned_by:"Uyarıldın:",stale_message:"Bu uyarı, sunucuya bağlanmadan önce verildi.",dismiss_key:"SPACE",instruction:"Bu mesajı geçmek için %{key} tuşuna %{smart_count} saniye boyunca basılı tut. |||| Bu mesajı geçmek için %{key} tuşuna %{smart_count} saniye boyunca basılı tut."},nui_menu:{misc:{help_message:"txAdmin Menüsü etkinleştirildi, açmak için /tx yazın.\nAyrıca [Oyun Ayarları > Tuş Bağlantıları > FiveM > Menü: Ana Sayfayı Aç] öğesinde bir tuş ataması yapılandırabilirsiniz.",menu_not_admin:"Tanımlayıcılarınız, txAdmin'de kayıtlı herhangi bir yöneticiyle eşleşmiyor.\ntxAdmin'de kayıtlıysanız, Admin Manager'e gidin ve tanımlayıcılarınızın kaydedildiğinden emin olun.",menu_auth_failed:"txAdmin Menu authentication failed with reason: %{reason}",no_perms:"Bu izne sahip değilsiniz.",unknown_error:"Bilinmeyen bir hata oluştu.",not_enabled:"txAdmin Menüsü etkin değil! Bunu txAdmin ayarları sayfasından etkinleştirebilirsiniz.",announcement_title:"%{author} tarafından Sunucu Duyurusu:",dialog_empty_input:"Boş bir girdiniz olamaz.",directmessage_title:"%{author} yöneticisinden DM:",onesync_error:"This action requires OneSync to be enabled."},frozen:{froze_player:"Oyuncuyu dondurdunuz!",unfroze_player:"Oyuncuyu çözdünüz!",was_frozen:"Bir sunucu yöneticisi tarafından donduruldunuz!"},common:{cancel:"İptal",submit:"Gönder",error:"Bir hata oluştu",copied:"Panoya kopyalandı."},page_main:{tooltips:{tooltip_1:"Sayfalar arasında geçiş yapmak için %{key} & menü öğelerinde gezinmek için ok tuşlarını kullanın",tooltip_2:"Belirli menü öğeleri, sol ve sağ ok tuşları kullanılarak seçilebilen alt seçeneklere sahiptir."},player_mode:{title:"Oyuncu Modu",noclip:{title:"NoClip",label:"Etrafta uç",success:"NoClip etkinleştirilmiş"},godmode:{title:"Tanrı modu",label:"Ölümsüzlük",success:"Tanrı modu etkinleştirilmiş"},superjump:{title:"Süper Zıplama",label:"Süper Zıplama modunu aç/kapat, oyuncu aynı zamanda daha hızlı koşacaktır",success:"Süper Zıplama etkinleştirilmiş"},normal:{title:"Normal",label:"Varsayılan mod",success:"Varsayılan oyuncu moduna döndü."}},teleport:{title:"Işınlanma",generic_success:"Seni solucan deliğine gönderdi!",waypoint:{title:"Waypoint",label:"İşaretlediğin yere git",error:"Herhangi bir yer işaretlemedin."},coords:{title:"Koordinat",label:"Belirtilen koordinatlara git",dialog_title:"Işınlanma",dialog_desc:"Solucan deliğinden geçmek için koordinatları x, y, z formatında sağlayın.",dialog_error:"Geçersiz koordinatlar. Şu biçimde olmalıdır: 111, 222, 33"},back:{title:"Geri",label:"Son konuma geri dön",error:"Geri dönecek son konumun yok!"},copy:{title:"Koordinatları Kopyala",label:"Koordinatları panoya kopyalayın."}},vehicle:{title:"Araç",not_in_veh_error:"Şu anda bir araçta değilsiniz!",spawn:{title:"Spawn",label:"Model adına göre araç spawnlama",dialog_title:"Aracı spawnla",dialog_desc:"Spawnlamak istediğiniz aracın model adını girin.",dialog_success:"Araç spawnlandı!",dialog_error:"'%{modelName}' araç modeli mevcut değil!",dialog_info:"%{modelName} spawnlanıyor."},fix:{title:"Tamir",label:"Mevcut aracı tamir et",success:"Araç tamir edildi!"},delete:{title:"Sil",label:"Mevcut aracı sil",success:"Araç silindi!"},boost:{title:"Güçlendir",label:"Maksimum eğlenceye (ve belki de hıza) ulaşmak için arabayı güçlendirin",success:"Araç güçlendirildi!",already_boosted:"This vehicle was already boosted.",unsupported_class:"This vehicle class is not supported.",redm_not_mounted:"You can only boost when mounted on a horse."}},heal:{title:"Sağlık",myself:{title:"Kendim",label:"Sağlığınızı geri yükler",success_0:"Hepsi iyileşti!",success_1:"Şimdi iyi hissediyor olmalısın!",success_2:"Tamamen restore edildi!",success_3:"Hatalar düzeltildi!"},everyone:{title:"Herkes",label:"Tüm oyuncuları iyileştirecek ve canlandıracak",success:"Tüm oyuncuları iyileştirdi ve canlandırdı."}},announcement:{title:"Duyuru Gönder",label:"Tüm çevrimiçi oyunculara bir duyuru gönderin.",dialog_desc:"Tüm çevrimiçi oyunculara bir duyuru gönderin.",dialog_placeholder:"Duyurunuz...",dialog_success:"Duyuru gönderildi."},clear_area:{title:"Dünya Alanını Sıfırla",label:"Belirtilen bir dünya alanını varsayılan durumuna sıfırlayın",dialog_desc:"Lütfen (0-300) içindeki varlıkları sıfırlamak istediğiniz yarıçapı girin. Bu, sunucu tarafında oluşturulan varlıkları temizlemez.",dialog_success:"%{radius}m yarıçaplı alanı temizleme",dialog_error:"Geçersiz yarıçap girişi. Tekrar deneyin."},player_ids:{title:"Oyuncu Kimliklerini Aç/Kapat",label:"Yakındaki tüm oyuncuların başının üstünde oyuncu kimliklerini (ve diğer bilgileri) göstermeyi aç/kapat",alert_show:"Yakındaki oyuncu NetID'leri gösteriliyor.",alert_hide:"Yakındaki oyuncu NetID'lerini gizleme."}},page_players:{misc:{online_players:"Çevrimiçi Oyuncular",players:"Oyuncular",search:"Arama",zero_players:"Oyuncu bulunamadı"},filter:{label:"Filter by",no_filter:"No Filter",is_admin:"Is Admin",is_injured:"Is Injured / Dead",in_vehicle:"In Vehicle"},sort:{label:"Sırala",distance:"Mesafe",id:"ID",joined_first:"İlk katıldı",joined_last:"Son katıldı",closest:"En yakın",farthest:"En uzak"},card:{health:"%{percentHealth}% sağlık"}},player_modal:{misc:{error:"Bu kullanıcıların ayrıntıları alınırken bir hata oluştu. Hata aşağıda gösterilmiştir:",target_not_found:"Kimliği veya kullanıcı adı %{target} olan bir çevrimiçi oyuncu bulunamadı"},tabs:{actions:"Hareketler",info:"Bilgi",ids:"ID'ler",history:"Geçmiş",ban:"Yasakla"},actions:{title:"Oyuncu Eylemleri",command_sent:"Komut gönderildi!",moderation:{title:"Moderasyon",options:{dm:"Direkt Mesaj",warn:"Uyarı",kick:"At",set_admin:"Adminlik Ver"},dm_dialog:{title:"Direkt mesaj",description:"Bu oyuncuya doğrudan mesaj göndermenin nedeni nedir?",placeholder:"Sebep...",success:"DM'niz gönderildi!"},warn_dialog:{title:"Uyarı",description:"Bu oyuncuyu doğrudan uyarmanın sebebi nedir?",placeholder:"Sebep...",success:"Oyuncu uyarıldı!"},kick_dialog:{title:"Kick",description:"Bu oyuncuyu atmanın sebebi nedir?",placeholder:"Sebep...",success:"Oyuncu atıldı!"}},interaction:{title:"Etkileşim",options:{heal:"İyileştirmek",go_to:"Yanına Git",bring:"Yanına Çek",spectate:"İzle",toggle_freeze:"Dondurmayı Aç/Kapat"},notifications:{heal_player:"Oyuncu iyileştirildi",tp_player:"Oyuncuya ışınlanıldı",bring_player:"Oyuncu yanınıza ışınlandı",spectate_failed:"Hedef çözülemedi! İzlemeden çıkıldı.",spectate_yourself:"Kendini izleyemezsiniz.",freeze_yourself:"Kendini donduramazsın.",spectate_cycle_failed:"There are no players to cycle to."}},troll:{title:"Troll",options:{drunk:"Sarhoş Yap",fire:"Ateşe Ver",wild_attack:"Hayvan Saldırısı"}}},info:{title:"Oyuncu bilgisi",session_time:"Oturum süresi",play_time:"Oynama süresi",joined:"Katıldı",whitelisted_label:"Whitelist'e alındı",whitelisted_notyet:"henüz değil",btn_wl_add:"WL ekle",btn_wl_remove:"WL al",btn_wl_success:"Whitelist durumu değişti.",log_label:"Kayıt",log_empty:"Yasaklama/uyarı bulunamadı.",log_ban_count:"%{smart_count} yasak |||| %{smart_count} yasak",log_warn_count:"%{smart_count} uyarı |||| %{smart_count} uyarı",log_btn:"DETAYLAR",notes_changed:"Oyuncu notu değişti.",notes_placeholder:"Bu oyuncu hakkında notlar..."},history:{title:"İlgili geçmiş",btn_revoke:"İPTAL ET",revoked_success:"İşlem iptal edildi!",banned_by:"%{author} tarafından yasaklandı",warned_by:"%{author} tarafından uyarıldı",revoked_by:"%{author} tarafından iptal edildi.",expired_at:"%{date} tarihinde süresi doldu.",expires_at:"%{date} tarihinde sona eriyor."},ban:{title:"Oyuncuyu yasakla",reason_placeholder:"Sebep",duration_placeholder:"Süre",hours:"saat",days:"gün",weeks:"hafta",months:"ay",permanent:"Kalıcı",custom:"Özel",helper_text:"Lütfen bir süre seçin",submit:"Yasağı uygula",reason_required:"Neden alanı gereklidir.",success:"Oyuncu yasaklandı!"},ids:{current_ids:"Geçerli Tanımlayıcılar",previous_ids:"Daha Önce Kullanılan Tanımlayıcılar",all_hwids:"All Hardware IDs"}}}};var uk_default={$meta:{label:"Ukrainian",humanizer_language:"uk"},restarter:{server_unhealthy_kick_reason:"сервер потрібно перезапустити, будь ласка, підключись знову",partial_hang_warn:"Через часткове зависання, сервер буде перезавантажений через 1 хвилину. Будь ласка, відключіться зараз.",partial_hang_warn_discord:"Через часткове зависання, **%{servername}** буде перезавантажений через 1 хвилину.",schedule_reason:"заплановане перезавантаження о %{time}",schedule_warn:"Цей сервер заплановано перезавантажити через %{smart_count} хвилин(у). Будь ласка, відключіться зараз. |||| Цей сервер заплановано перезавантажити через %{smart_count} хвилин(у).",schedule_warn_discord:"**%{servername}** заплановано перезавантажити через %{smart_count} хвилин(у). |||| **%{servername}** заплановано перезавантажити через %{smart_count} хвилин(у)."},kick_messages:{everyone:"Всіх гравців викинуто: %{reason}.",player:"Ви були викинуті: %{reason}.",unknown_reason:"з невідомої причини"},ban_messages:{kick_temporary:'(%{author}) Ви були забанені на цьому сервері за "%{reason}". Ваш бан закінчиться через: %{expiration}.',kick_permanent:'(%{author}) Ви були назавжди забанені на цьому сервері за "%{reason}".',reject:{title_permanent:"Ви були назавжди забанені на цьому сервері.",title_temporary:"Ви були тимчасово забанені на цьому сервері.",label_expiration:"Ваш бан закінчиться через",label_date:"Дата бана",label_author:"Забанено",label_reason:"Причина бана",label_id:"ID бана",note_multiple_bans:"Примітка: у вас є кілька активних банів на ваших ідентифікаторах.",note_diff_license:"Примітка: бан вище був застосований до іншої <code>license</code>, що означає, що деякі з ваших ID/HWID збігаються з тими, що асоціюються з цим баном."}},whitelist_messages:{admin_only:{mode_title:"Цей сервер працює в режимі <strong>Тільки для Адміністраторів</strong>.",insufficient_ids:"У вас немає <code>discord</code> або <code>fivem</code> ідентифікаторів, і хоча б один з них необхідний для перевірки, чи є ви адміністратором txAdmin.",deny_message:"Ваші ідентифікатори не призначені жодному адміністратору txAdmin."},guild_member:{mode_title:"Цей сервер працює в режимі <strong>Тільки для учасників Discord</strong>.",insufficient_ids:"У вас немає <code>discord</code> ідентифікатора, який необхідний для перевірки, чи приєдналися ви до нашого Discord. Будь ласка, відкрийте десктопну версію Discord і спробуйте ще раз (веб-версія не працює).",deny_title:"Вам потрібно приєднатися до нашого Discord для підключення.",deny_message:"Будь ласка, приєднайтеся до %{guildname}, а потім спробуйте ще раз."},guild_roles:{mode_title:"Цей сервер працює в режимі <strong>Тільки за наявністю ролі в Discord</strong>.",insufficient_ids:"У вас немає <code>discord</code> ідентифікатора, який необхідний для перевірки, чи приєдналися ви до нашого Discord каналу. Будь ласка, відкрийте десктопну версію Discord і спробуйте ще раз (веб-версія не працює).",deny_notmember_title:"Вам потрібно приєднатися до нашого Discord каналу для підключення.",deny_notmember_message:"Будь ласка, приєднайтеся до %{guildname}, отримайте одну з необхідних ролей, а потім спробуйте ще раз.",deny_noroles_title:"У вас немає ролі, яка дозволена для підключення.",deny_noroles_message:"Для того, щоб підключитися до цього сервера, вам необхідно мати хоча б одну з дозволених ролей у нашому %{guildname}."},approved_license:{mode_title:"Цей сервер працює в режимі <strong>Тільки за наявністю Ліцензії</strong>.",insufficient_ids:"У вас немає <code>license</code> ідентифікатора, що означає, що сервер має включений <code>sv_lan</code>. Якщо ви є власником сервера, ви можете вимкнути його у файлі <code>server.cfg</code>.",deny_title:"Ви не потрапили в білий список для підключення до цього сервера.",request_id_label:"ID запиту"}},server_actions:{restarting:"Перезавантаження сервера (%{reason}).",restarting_discord:"**%{servername}** перезавантажується (%{reason}).",stopping:"Зупинка сервера (%{reason}).",stopping_discord:"**%{servername}** зупиняється (%{reason}).",spawning_discord:"**%{servername}** запускається."},nui_warning:{title:"ПОПЕРЕДЖЕННЯ",warned_by:"Попередження за:",stale_message:"Це попередження було видано до вашого підключення до сервера.",dismiss_key:"ПРОБІЛ",instruction:"Утримуйте %{key} протягом %{smart_count} секунд(и), щоб відхилити це повідомлення. |||| Утримуйте %{key} протягом %{smart_count} секунд(и), щоб відхилити це повідомлення."},nui_menu:{misc:{help_message:"Меню txAdmin увімкнено, введіть /tx, щоб відкрити його.\nВи також можете налаштувати комбінацію клавіш у [Налаштування гри > Призначення клавіш > FiveM > Меню: Відкрити головну сторінку].",menu_not_admin:"Ваші ідентифікатори не співпадають з жодним адміністратором, зареєстрованим на txAdmin.\nЯкщо ви зареєстровані на txAdmin, перейдіть до Менеджера адміністраторів і переконайтеся, що ваші ідентифікатори збережено.",menu_auth_failed:"Аутентифікація меню txAdmin не вдалася з причини: %{reason}",no_perms:"У вас немає дозволу.",unknown_error:"Сталася невідома помилка.",not_enabled:"Меню txAdmin не увімкнено! Ви можете увімкнути його на сторінці налаштувань txAdmin.",announcement_title:"Оголошення сервера від %{author}:",directmessage_title:"Лист від адміністратора %{author}:",dialog_empty_input:"Не можна мати порожній ввід.",onesync_error:"Ця опція вимагає включеного OneSync."},frozen:{froze_player:"Ви заморозили гравця!",unfroze_player:"Ви розморозили гравця!",was_frozen:"Вас заморозив адміністратор сервера!"},common:{cancel:"Скасувати",submit:"Подати",error:"Сталася помилка",copied:"Скопійовано в буфер обміну."},page_main:{tooltips:{tooltip_1:"Використовуйте %{key}, щоб перемикатися між сторінками, та стрілки для навігації по меню",tooltip_2:"Деякі елементи меню мають підпункти, які можна вибирати за допомогою стрілок вліво і вправо"},player_mode:{title:"Режим гравця",noclip:{title:"NoClip",label:"Увімкнути NoClip, щоб рухатися через стіни та інші об'єкти",success:"NoClip увімкнено"},godmode:{title:"Бог",label:"Увімкнути непереможність, щоб не отримувати пошкодження",success:"Режим Бога увімкнено"},superjump:{title:"Суперстрибок",label:"Увімкнути режим суперстрибка, також гравець буде бігти швидше",success:"Суперстрибок увімкнено"},normal:{title:"Нормальний",label:"Повернутися до стандартного/нормального режиму гравця",success:"Повернулися до стандартного режиму гравця."}},teleport:{title:"Телепортація",generic_success:"Ви потрапили в червоточину!",waypoint:{title:"Точка маршруту",label:"Телепортуватися до встановленої на карті точки",error:"Ви не встановили точку маршруту."},coords:{title:"Координати",label:"Телепортуватися до заданих координат",dialog_title:"Телепортація",dialog_desc:"Введіть координати у форматі x, y, z для проходу через червоточину.",dialog_error:"Некоректні координати. Вони повинні бути у форматі: 111, 222, 33"},back:{title:"Назад",label:"Повернутися до попереднього місця телепортації",error:"У вас немає місця, щоб повернутися!"},copy:{title:"Копіювати координати",label:"Копіювати поточні координати світу в буфер обміну"}},vehicle:{title:"Транспорт",not_in_veh_error:"Ви не знаходитеся в транспорті!",spawn:{title:"Створити",label:"Створити транспорт за його моделлю",dialog_title:"Створення транспорту",dialog_desc:"Введіть модель транспорту, яку ви хочете створити.",dialog_success:"Транспорт створено!",dialog_error:"Модель транспорту '%{modelName}' не існує!",dialog_info:"Спроба створити %{modelName}."},fix:{title:"Полагодити",label:"Відновить транспорт до максимального стану",success:"Транспорт полагоджено!"},delete:{title:"Видалити",label:"Видалить транспорт, в якому знаходиться гравець",success:"Транспорт видалено!"},boost:{title:"Прискорити",label:"Прискорюйте автомобіль, щоб отримати максимальне задоволення (і, можливо, швидкість)",success:"Транспорт прискорено!",already_boosted:"Цей транспорт вже прискорений.",unsupported_class:"Цей клас транспорту не підтримується.",redm_not_mounted:"Прискорення можна здійснити лише перебуваючи на коні."}},heal:{title:"Лікування",myself:{title:"Себе",label:"Лікує себе до максимального здоров'я поточного персонажа",success_0:"Ви повністю вилікувані!",success_1:"Тепер ви повинні відчувати себе добре!",success_2:"Відновлено до повного здоров'я!",success_3:"Біль зникла!"},everyone:{title:"Всі",label:"Лікує і відновлює всіх підключених гравців",success:"Лікарська допомога та відновлення всіх гравців."}},announcement:{title:"Надіслати оголошення",label:"Надіслати оголошення всім онлайн-гравцям.",dialog_desc:"Введіть повідомлення, яке ви хочете передати всім гравцям.",dialog_placeholder:"Ваше оголошення...",dialog_success:"Оголошення надіслано."},clear_area:{title:"Відновити ігровий світ",label:"Скинути область світу навколо до стандартного стану",dialog_desc:"Введіть радіус, в якому потрібно скинути об'єкти (0-300). Це не очистить об'єкти, що створені на сервері.",dialog_success:"Очищення зони з радіусом %{radius}м",dialog_error:"Некоректний ввід радіусу. Спробуйте ще раз."},player_ids:{title:"Перемикання ідентифікаторів гравців",label:"Перемикання показу ідентифікаторів гравців (та іншої інформації) над головами всіх гравців поблизу",alert_show:"Показано ідентифікатори гравців поблизу.",alert_hide:"Ідентифікатори гравців приховано."}},page_players:{misc:{online_players:"Онлайн гравці",players:"Гравці",search:"Пошук",zero_players:"Гравців не знайдено."},filter:{label:"Фільтрувати по",no_filter:"Без фільтру",is_admin:"Адміністратор",is_injured:"Поранений / Мертвий",in_vehicle:"В транспорті"},sort:{label:"Сортувати за",distance:"Відстань",id:"ID",joined_first:"Перший приєднався",joined_last:"Останній приєднався",closest:"Найближчі",farthest:"Найвіддаленіші"},card:{health:"%{percentHealth}% здоров'я"}},player_modal:{misc:{error:"Сталася помилка під час отримання деталей цього користувача. Ось помилка:",target_not_found:"Не вдалося знайти онлайн-гравця з ID або іменем користувача %{target}"},tabs:{actions:"Дії",info:"Інформація",ids:"Ідентифікатори",history:"Історія",ban:"Бан"},actions:{title:"Дії з гравцем",command_sent:"Команду надіслано!",moderation:{title:"Модерація",options:{dm:"Особисте повідомлення",warn:"Попередження",kick:"Викинути",set_admin:"Дати адміністратора"},dm_dialog:{title:"Особисте повідомлення",description:"Яка причина для особистого повідомлення цьому гравцеві?",placeholder:"Причина...",success:"Ваше повідомлення надіслано!"},warn_dialog:{title:"Попередження",description:"Яка причина для попередження цього гравця?",placeholder:"Причина...",success:"Гравця попереджено!"},kick_dialog:{title:"Викинути",description:"Яка причина для викиду цього гравця?",placeholder:"Причина...",success:"Гравця викинуто!"}},interaction:{title:"Взаємодія",options:{heal:"Лікування",go_to:"Йти до",bring:"Перенести",spectate:"Спостерігати",toggle_freeze:"Перемикання заморожування"},notifications:{heal_player:"Лікування гравця",tp_player:"Телепортація до гравця",bring_player:"Перенесення гравця",spectate_failed:"Не вдалося визначити ціль! Завершення спостереження.",spectate_yourself:"Ви не можете спостерігати за собою.",freeze_yourself:"Ви не можете заморозити себе.",spectate_cycle_failed:"Немає гравців для циклу спостереження."}},troll:{title:"Тролінг",options:{drunk:"Зробити п'яним",fire:"Підпалити",wild_attack:"Напад звірів"}}},info:{title:"Інформація про гравця",session_time:"Час сесії",play_time:"Час гри",joined:"Приєднався",whitelisted_label:"У білому списку",whitelisted_notyet:"ще не",btn_wl_add:"ДОДАТИ ДО БІЛОГО СПИСКУ",btn_wl_remove:"ВИДАЛИТИ З БІЛОГО СПИСКУ",btn_wl_success:"Статус у білому списку змінено.",log_label:"Журнал",log_empty:"Не знайдено банів/попереджень.",log_ban_count:"%{smart_count} бан |||| %{smart_count} банів",log_warn_count:"%{smart_count} попередження |||| %{smart_count} попереджень",log_btn:"ДЕТАЛІ",notes_placeholder:"Примітки про цього гравця...",notes_changed:"Примітка гравця змінена."},ids:{current_ids:"Поточні ідентифікатори",previous_ids:"Раніше використані ідентифікатори",all_hwids:"Усі апаратні ID"},history:{title:"Зв'язана історія",btn_revoke:"СКАСУВАТИ",revoked_success:"Дію скасовано!",banned_by:"ЗАБАНЕНО %{author}",warned_by:"ПОПЕРЕЖЕНО %{author}",revoked_by:"Скасовано %{author}.",expired_at:"Закінчився %{date}.",expires_at:"Термін дії до %{date}."},ban:{title:"Забанити гравця",reason_placeholder:"Причина",reason_required:"Поле 'Причина' обов'язкове.",duration_placeholder:"Тривалість",success:"Гравця забанено!",hours:"години",days:"дні",weeks:"тижні",months:"місяці",permanent:"Назавжди",custom:"Індивідуально",helper_text:"Будь ласка, виберіть тривалість",submit:"Застосувати бан"}}}};var vi_default={$meta:{label:"Vietnamese",humanizer_language:"vi"},restarter:{server_unhealthy_kick_reason:"server cần được khởi động lại, vui lòng kết nối lại",partial_hang_warn:"Máy chủ gặp sự cố và sẽ khởi động lại sau 1 phút, vui lòng ngắt kết nối.",partial_hang_warn_discord:"Có sự cố, **%{servername}** sẽ khởi động lại sau 1 phút.",schedule_reason:"khởi động lại định kỳ vào lúc %{time}",schedule_warn:"Máy chủ sẽ khởi động lại sau %{smart_count} phút. Vui lòng ngắt kết nối. |||| Máy chủ sẽ khởi động lại sau %{smart_count} phút.",schedule_warn_discord:"**%{servername}** sẽ khởi động lại sau %{smart_count} phút. |||| **%{servername}** đã được lên lịch khởi động lại sau %{smart_count} phút."},kick_messages:{everyone:"Tất cả người chơi đã bị kick: %{reason}.",player:"Bạn đã bị kick: %{reason}.",unknown_reason:"không có lý do nào được đưa ra"},ban_messages:{kick_temporary:'(%{author}) Bạn đã bị cấm tham gia máy chủ vì lý do: "%{reason}". Thời hạn cấm sẽ hết hạn sau: %{expiration}.',kick_permanent:'(%{author}) Bạn đã bị cấm tham gia máy chủ vì lý do: "%{reason}".',reject:{title_permanent:"Bạn đã bị cấm vĩnh viễn tham gia máy chủ này.",title_temporary:"Bạn đã tạm thời bị cấm tham gia máy chủ này.",label_expiration:"Lệnh cấm sẽ hết hạn sau",label_date:"Ngày cấm",label_author:"Cấm bởi",label_reason:"Lý do cấm",label_id:"ID cấm",note_multiple_bans:"Lưu ý: bạn có nhiều hơn một lệnh cấm hoạt động đối với tài khoản của mình.",note_diff_license:"Lưu ý: lệnh cấm ở trên đã được áp dụng cho một <code>giấy phép</code> khác, có nghĩa là một số ID/HWID của bạn khớp với những ID/HWID được liên kết với lệnh cấm đó."}},whitelist_messages:{admin_only:{mode_title:"Máy chủ đang trong chế độ <strong> chỉ Admin</strong>.",insufficient_ids:"Bạn không có bất kì định danh <code>discord</code> hay <code>fivem</code>, bạn cần có ít nhất một định danh để xác thực bạn là Admin.",deny_message:"Mã định danh của bạn không được chỉ định cho bất kỳ quản trị viên txAdmin nào."},guild_member:{mode_title:"Máy chủ đang trong chế độ <strong>Whitelist Discord</strong>.",insufficient_ids:"Bạn không có định danh <code>discord</code>, bạn cần mở Discord Desktop để xác nhận bạn là thành viên trong Discord của máy chủ.",deny_title:"Bạn cần tham gia Discord của máy chủ để tham gia.",deny_message:"Vui lòng tham gia Discord %{guildname} và thử lại."},guild_roles:{mode_title:"Máy chủ đang trong chế độ <strong>Whitelist Discord Role</strong>.",insufficient_ids:"Bạn không có định danh <code>discord</code>, bạn cần mở Discord Desktop để xác nhận bạn là thành viên trong Discord của máy chủ.",deny_notmember_title:"Bạn cần tham gia Discord của máy chủ để tham gia.",deny_notmember_message:"Vui lòng tham gia Discord %{guildname} để xin cấp Roles sau đó thử lại.",deny_noroles_title:"Bạn chưa được cấp Role WhiteList để tham gia máy chủ.",deny_noroles_message:"Để tham gia máy chủ, bạn cần được cấp Role Whitelist tại Discord %{guildname}."},approved_license:{mode_title:"Máy chủ đang trong chế độ <strong>Whitelist License</strong>.",insufficient_ids:"Bạn không có định danh <code>Rockstar License</code>, có nghĩa máy chủ đang ở chế độ <code>sv_lan</code>. Nếu bạn là chủ máy chủ, bạn có thể sửa trong tập tin <code>server.cfg</code>.",deny_title:"Bạn chưa được cấp WhiteList.",request_id_label:"ID Yêu cầu"}},server_actions:{restarting:"Máy chủ khởi động lại (%{reason}).",restarting_discord:"**%{servername}** đang khởi động lại (%{reason}).",stopping:"Máy chủ ngừng hoạt động (%{reason}).",stopping_discord:"**%{servername}** đã tạm ngừng hoạt động (%{reason}).",spawning_discord:"**%{servername}** đang khởi động."},nui_warning:{title:"CẢNH BÁO",warned_by:"Cảnh cáo bởi:",stale_message:"Cảnh báo này đã được phát hành trước khi bạn kết nối với máy chủ.",dismiss_key:"SPACE",instruction:"Giữ %{key} trong %{smart_count} giây để đóng cửa sổ này. |||| Giữ %{key} trong %{smart_count} giây để đóng cửa sổ này."},nui_menu:{misc:{help_message:"txAdmin đang bật, dùng /tx để mở.\nBạn có thể cài đặt phím tắt bằng cách vào cài đặt game [Game Settings > Key Bindings > FiveM > Menu: Open Main Page].",menu_not_admin:"Thông tin tài khoản của bạn không có quyền thao tác.\nNếu bạn đã có tài khoản txAdmin, hãy chắc chắn rằng bạn có đủ các quyền.",menu_auth_failed:"txAdmin Menu authentication failed with reason: %{reason}",no_perms:"Bạn không có quyền!",unknown_error:"Có lỗi xảy ra.",not_enabled:"txAdmin Menu chưa được bật, bạn có thể bật tại mục cài đặt.",announcement_title:"Thông báo máy chủ bởi %{author}:",directmessage_title:"Tin nhắn từ Admin %{author}:",dialog_empty_input:"Bạn không thể để trống mục này.",onesync_error:"Hành động này yêu cầu bật OneSync."},frozen:{froze_player:"Bạn đã đóng băng người chơi!",unfroze_player:"Bạn đã bỏ đóng băng người chơi!",was_frozen:"Bạn đang bị khống chế bởi Admin!"},common:{cancel:"Hủy",submit:"Xác nhận",error:"Có lỗi xảy ra",copied:"Sao chép vào bộ nhớ tạm."},page_main:{tooltips:{tooltip_1:"Sử dụng phím %{key} để chuyển tab, nút lên xuống để di chuyển menu",tooltip_2:"Các mục menu nhất định có các tùy chọn phụ có thể được chọn bằng các phím mũi tên trái và phải"},player_mode:{title:"Admin Actions",noclip:{title:"NoClip",label:"Bay lượn",success:"Đã bật noclip"},godmode:{title:"God",label:"Bất khả chiến bại",success:"Đã bật God Mode"},superjump:{title:"Super Jump",label:"Bật chế độ nhảy siêu cao, đồng thời chạy nhanh hơn",success:"Đã bật siêu nhảy"},normal:{title:"Normal",label:"Chế độ mặc định",success:"Trở lại chế độ người chơi bình thường."}},teleport:{title:"Dịch Chuyển",generic_success:"Dịch chuyển tức thời!",waypoint:{title:"Waypoint",label:"Đi đến vị trí đã chọn trên bản đồ",error:"Bạn chưa chọn vị trí."},coords:{title:"Tọa Độ",label:"Đi đến tọa độ nào đó",dialog_title:"Dịch Chuyển",dialog_desc:"Hãy nhập tọa độ x, y, z để đi tới.",dialog_error:"Tọa động không hợp lệ, ví dụ: 123, 234, 11"},back:{title:"Trở lại",label:"Trở lại vị trí trước đó",error:"Bạn không có lịch sử vị trí!"},copy:{title:"Sao Chép Vị Trí",label:"Sao chép vị trí vào clipboard."}},vehicle:{title:"Phương tiện",not_in_veh_error:"Bạn đang ở trong xe!",spawn:{title:"Tạo ra",label:"Tạo ra xe",dialog_title:"Tạo ra xe",dialog_desc:"Nhập tên xe bạn muốn tạo ra.",dialog_success:"xe đã được tạo ra!",dialog_error:"xe với tên '%{modelName}' không tồn tại!",dialog_info:"Đang tạo ra xe %{modelName}."},fix:{title:"Sửa",label:"Sửa xe",success:"Xe được sửa chữa!"},delete:{title:"Xóa",label:"Xóa xe hiện tại",success:"Xe đã bị xóa!"},boost:{title:"Nâng cấp xe",label:"Nâng cấp xe để kiểm tra tốc độ tối đa.",success:"Xe đã được nâng cấp",already_boosted:"Xe này đã được độ.",unsupported_class:"Loại xe này không được hỗ trợ.",redm_not_mounted:"Bạn chỉ có thể tăng tốc khi được cưỡi trên ngựa."}},heal:{title:"Máu",myself:{title:"Bản thân",label:"Hồi máu cho bản thân",success_0:"Đã hồi máu!",success_1:"Bạn đã được hồi máu!",success_2:"Đã đầy máu!",success_3:"Đã chữa các thương tật!"},everyone:{title:"Tất cả mọi người",label:"Hồi máu và hồi sinh tất cả người chơi",success:"Đã hồi máu và hồi sinh tất cả người chơi."}},announcement:{title:"Gửi thông báo",label:"Gửi thông báo tới tất cả người chơi.",dialog_desc:"Gửi thông báo tới tất cả người chơi.",dialog_placeholder:"Nhập thông báo...",dialog_success:"Đang gửi thông báo."},clear_area:{title:"Dọn Dẹp Khu Vực",label:"Đặt lại một khu vực cụ thể về trạng thái mặc định",dialog_desc:"Vui lòng nhập radius mà bạn muốn dọn dẹp (0-300), các vật thể tạo ra từ script sẽ không bị xóa.",dialog_success:"Đang dọn dẹp khu vực bán kính %{radius}m",dialog_error:"Bán kính không hợp lệ."},player_ids:{title:"Hiện Tên & IDs",label:"Chuyển đổi hiển thị ID người chơi (và thông tin khác) phía trên đầu của tất cả người chơi gần đó",alert_show:"Đang hiển thị tên và ID người chơi gần đây.",alert_hide:"Đang ẩn tên và ID người chơi gần đây."}},page_players:{misc:{online_players:"Người chơi đang online",players:"Người chơi",search:"Tìm",zero_players:"Không tìm thấy"},filter:{label:"Lọc theo",no_filter:"Không có bộ lọc",is_admin:"Is Admin",is_injured:"Bị thương / Chết",in_vehicle:"Trong xe"},sort:{label:"Sắp xếp theo",distance:"Khoảng Cách",id:"ID",joined_first:"Tham Gia Trước",joined_last:"Tham Gia Sau",closest:"Gần Nhất",farthest:"Xa Nhất"},card:{health:"%{percentHealth}% máu"}},player_modal:{misc:{error:"Có lỗi xảy ra, thông tin chi tiết bên dưới:",target_not_found:"Không tìm thấy người chơi đang online với ID hoặc tên %{target}"},tabs:{actions:"Thao Tác",info:"Thông Tin",ids:"IDs",history:"Lịch Sử",ban:"Cấm"},actions:{title:"Hành Động Tới Người Chơi",command_sent:"Đã thực hiện!",moderation:{title:"Quản Trị",options:{dm:"Nhắn Tin Riêng",warn:"Cảnh Cáo",kick:"Đá Ra",set_admin:"Cấp Quyền Admin"},dm_dialog:{title:"Tin nhắn trực tiếp",description:"Lý do cho việc gửi tin nhắn riêng trực tiếp?",placeholder:"Lý do...",success:"Tin nhắn đã được gửi!"},warn_dialog:{title:"Cảnh Cáo",description:"Lý do cho việc cảnh cáo người chơi?",placeholder:"Lý do...",success:"Người chơi đã bị cảnh cáo!"},kick_dialog:{title:"Kick",description:"Vui lòng nhập lý do kick người chơi?",placeholder:"Lý do...",success:"Người chơi đã bị đá khỏi máy chủ!"}},interaction:{title:"Tương Tác",options:{heal:"Hồi Máu",go_to:"Đi Tới",bring:"Mang Tới",spectate:"Theo Dõi",toggle_freeze:"Đóng Băng"},notifications:{heal_player:"Hồi máu người chơi",tp_player:"Dịch chuyển tới người chơi",bring_player:"Đưa người chơi tới chỗ bạn",spectate_failed:"Có lỗi khi thực hiện theo dõi, đang thoát chế độ theo dõi.",spectate_yourself:"Bạn không thể tự theo dõi chính mình.",freeze_yourself:"Bạn không thể tự đóng băng bản thân!",spectate_cycle_failed:"Không có người chơi để đạp xe đến."}},troll:{title:"Troll",options:{drunk:"Làm say xỉn",fire:"Làm bốc cháy",wild_attack:"Động vật tấn công"}}},info:{title:"Thông tin người chơi",session_time:"Thời gian phiên",play_time:"Thời gian chơi",joined:"Đã tham gia",whitelisted_label:"Whitelisted",whitelisted_notyet:"chưa",btn_wl_add:"THÊM WL",btn_wl_remove:"XÓA WL",btn_wl_success:"Đã cập nhật whitelist.",log_label:"Nhật ký",log_empty:"Không tìm thấy lệnh cấm/cảnh cáo nào.",log_ban_count:"%{smart_count} ban |||| %{smart_count} bans",log_warn_count:"%{smart_count} warn |||| %{smart_count} warns",log_btn:"CHI TIẾT",notes_placeholder:"Ghi chú về người chơi này...",notes_changed:"Đã cập nhật ghi chú của người chơi."},ids:{current_ids:"Định danh hiện tại",previous_ids:"Định danh được sử dụng trước đây",all_hwids:"All Hardware IDs"},history:{title:"Lịch sử liên quan",btn_revoke:"GỠ BỎ",revoked_success:"Hành động bị thu hồi!",banned_by:"Bị cấm bởi %{author}",warned_by:"Cảnh cáo bởi %{author}",revoked_by:"Gỡ bỏ bởi %{author}.",expired_at:"Hết hạn lúc %{date}.",expires_at:"Hết hạn lúc %{date}."},ban:{title:"Cấm người chơi",reason_placeholder:"Lý do...",reason_required:"Lý do cấm là bắt buộc.",duration_placeholder:"Thời gian.",success:"Người chơi đã bị cấm.",hours:"giờ",days:"ngày",weeks:"tuần",months:"tháng",permanent:"Vĩnh viễn",custom:"Tùy chỉnh",helper_text:"Vui lòng nhập thời gian cấm người chơi.",submit:"Xác nhận"}}}};var zh_default={$meta:{label:"Chinese",humanizer_language:"zh_CN"},restarter:{server_unhealthy_kick_reason:"服务器需要重启, 请重新连接",partial_hang_warn:"由于部分挂起，本服务器将在 1 分钟后重新启动。请立即断开连接。",partial_hang_warn_discord:"由于部分挂起, **%{servername}** 将在1分钟后重启",schedule_reason:"预计 %{time}后重启",schedule_warn:"本服务器计划 %{smart_count} 分钟后重新启动， 请立即断开连接。 |||| 服务器计划 %{smart_count} 分钟后重新启动。",schedule_warn_discord:"**%{servername}** 预计 %{smart_count} 分钟后重新启动。 |||| **%{servername}** 预计 %{smart_count} 分钟后重新启动。"},kick_messages:{everyone:"已踢出所有玩家。原因: %{reason}.",player:"您已被踢出。原因: %{reason}.",unknown_reason:"未知原因"},ban_messages:{kick_temporary:'您因 "%{reason}" 而被封禁。您可在 %{expiration} 后再次登录服务器。操作人：%{author}',kick_permanent:'您因 "%{reason}" 而被永久封禁。操作人：%{author}',reject:{title_permanent:"您已被本服务器永久封禁。",title_temporary:"您已被本服务器暂时封禁。",label_expiration:"封禁解除时间：",label_date:"封禁日期",label_author:"操作人",label_reason:"封禁原因",label_id:"封禁ID",note_multiple_bans:"提示：您还有其他激活的封禁。",note_diff_license:"提示：上述封禁适用于另一个<code>license</code>，这意味着您的一些ID/HWID与该禁令相关的ID/HWID匹配。"}},whitelist_messages:{admin_only:{mode_title:"本服务器处于 <strong>仅限管理员</strong> 模式",insufficient_ids:"您没有 <code>discord</code> 或 <code>fivem</code> 标识符，如果您是管理员，则需要其中一个标识符来验证。",deny_message:"您不是本服务器的管理员。"},guild_member:{mode_title:"本服务器处于 <strong>Discord服务器白名单</strong> 模式",insufficient_ids:"您没有 <code>discord</code> 标识符，这是为了验证您是否加入了我们的Discord服务器，请打开Discord桌面版再试。",deny_title:"您必须加入我们的Discord服务器才能连接。",deny_message:"请加入我们的Discord服务器 %{guildname} 再试。"},guild_roles:{mode_title:"本服务器处于 <strong>Discord规则白名单</strong> 模式.",insufficient_ids:"您没有 <code>discord</code> 标识符，这是为了验证您是否加入了我们的Discord服务器，请打开Discord桌面版再试。",deny_notmember_title:"您必须加入我们的Discord服务器才能连接。",deny_notmember_message:"请加入 %{guildname} 并获取需要的角色再试。",deny_noroles_title:"您没有加入所需的白名单角色。",deny_noroles_message:"要加入此服务器，您需要在Discord服务器中有至少一个白名单角色 %{guildname}。"},approved_license:{mode_title:"本服务器处于 <strong>机器码白名单</strong> 模式",insufficient_ids:"您没有 <code>license</code> 标识符，这意味着服务器已启用 <code>sv_lan</code> 如果您是服务器所有者，可以在 <code>server.cfg</code> 中禁用。",deny_title:"您没有加入本服务器的白名单。",request_id_label:"请求ID"}},server_actions:{restarting:"服务器正在重启 (%{reason})。",restarting_discord:"**%{servername}** 正在重新启动 (%{reason})。",stopping:"服务器正在关闭 (%{reason})。",stopping_discord:"**%{servername}** 正在关闭 (%{reason})。",spawning_discord:"**%{servername}** 正在重启。"},nui_warning:{title:"警告",warned_by:"操作人:",stale_message:"此警告是在您连接服务器之前发出的。",dismiss_key:"空格",instruction:"按住 %{key} %{smart_count}秒来关闭这个消息。 |||| 按住 %{key} %{smart_count}秒来关闭这个消息。"},nui_menu:{misc:{help_message:"txAdmin 菜单已启用，键入 /tx 以打开它。\n您也可以在 [游戏设置 > 按键绑定 > FiveM > 菜单：打开主页] 配置按键绑定。",menu_not_admin:"您的标识符与在 txAdmin 上注册的任何管理员都不匹配。\n如果您在 txAdmin 上注册，请转到管理员管理器并确保您的标识符已保存",menu_auth_failed:"txAdmin菜单身份认证失败，原因：%{reason}",no_perms:"您没有权限",unknown_error:"出现未知错误。",not_enabled:"txAdmin 菜单未启用！您可以在 txAdmin 设置页面中启用它。",announcement_title:"公告%{author}：",dialog_empty_input:"提交内客不能为空，请重新输入。",directmessage_title:"来自管理员 %{author} 的消息:",onesync_error:"此操作需要启用OneSync。"},frozen:{froze_player:"您冻结了玩家！",unfroze_player:"您已将玩家解冻！",was_frozen:"您已被管理员冻结！"},common:{cancel:"取消",submit:"提交",error:"出现了一个错误",copied:"复制到剪贴板"},page_main:{tooltips:{tooltip_1:"按 %{key} 切换页面 & 使用 方向上键/方向下键 切换选项",tooltip_2:"一些选项包含子选项，可用 方向左键/方向右键 选择"},player_mode:{title:"玩家模式",noclip:{title:"穿墙",label:"自由视角",success:"穿墙模式 启用"},godmode:{title:"上帝",label:"无敌",success:"上帝模式 启用"},superjump:{title:"超人",label:"超级跳跃和快速奔跑",success:"超人模式 启用"},normal:{title:"正常",label:"默认模式",success:"返回正常模式"}},teleport:{title:"传送选项",generic_success:"传送成功！",waypoint:{title:"传送到导航点",label:"传送到地图上的导航点",error:"您没有设置导航点"},coords:{title:"传送到坐标",label:"传送到您输入的xyz坐标",dialog_title:"输入坐标",dialog_desc:"输入 x, y, z 格式的坐标",dialog_error:"您输入的格式有误，正确格式 111, 222, 33"},back:{title:"返回上一个位置",label:"传送到上一次使用传送的位置",error:"您没有可以返回的地方！"},copy:{title:"复制坐标代码",label:"将当前位置的xyz坐标复制到剪贴板"}},vehicle:{title:"载具选项",not_in_veh_error:"您不在载具内！",spawn:{title:"生成",label:"输入模型名称来生成载具",dialog_title:"输入载具的模型名称",dialog_desc:"输入您想要生成载具的模型名称",dialog_success:"载具已生成！",dialog_error:"未找到模型名称为 '%{modelName}' 的载具！",dialog_info:"正在尝试生成 %{modelName}."},fix:{title:"修理",label:"修理当前载具",success:"载具已修理！"},delete:{title:"删除",label:"删除当前载具",success:"载具已删除！"},boost:{title:"加速",label:"加速载具",success:"载具已加速！",already_boosted:"载具已经被加速了",unsupported_class:"这辆载具不支持加速",redm_not_mounted:"只能在骑马时使用加速。"}},heal:{title:"恢复状态",myself:{title:"自己",label:"恢复自己的状态",success_0:"状态已恢复！",success_1:"想飞上天和太阳肩并肩~",success_2:"飞起来!",success_3:"我要飞的更高~飞的更高~"},everyone:{title:"所有人",label:"复活所有玩家并恢复他们的状态",success:"已复活所有玩家并恢复他们的状态"}},announcement:{title:"输入公告内容",label:"向所有在线玩家发送公告。",dialog_desc:"向所有在线玩家发送公告。",dialog_placeholder:"公告内容...",dialog_success:"公告已发送！"},clear_area:{title:"重置世界状态",label:"将指定的世界区域重置为默认状态",dialog_desc:"请输入要清除的半径(0-300)。这不会清除服务器端生成的实体。",dialog_success:"已重置半径 %{radius}m 内的世界",dialog_error:"您输入的半径无效，请重新输入。"},player_ids:{title:"显示玩家ID",label:"在附近玩家的头上显示ID和其他信息",alert_show:"显示玩家ID 开启",alert_hide:"显示玩家ID 关闭"}},page_players:{misc:{online_players:"在线玩家",players:"玩家",search:"搜索",zero_players:"未找到玩家"},filter:{label:"过滤条件",no_filter:"无过滤",is_admin:"是管理员",is_injured:"受伤 / 死亡",in_vehicle:"在车内"},sort:{label:"排序方式",distance:"距离",id:"ID",joined_first:"最先加入",joined_last:"最后加入",closest:"最近的",farthest:"最远的"},card:{health:"%{percentHealth}% 健康"}},player_modal:{misc:{error:"获取此用户的详细信息时出错。错误信息:",target_not_found:"找不到ID为或用户名为 %{target} 的在线玩家"},tabs:{actions:"操作",info:"信息",ids:"ID",history:"历史",ban:"封禁"},actions:{title:"玩家选项",command_sent:"命令已发送！",moderation:{title:"管理选项",options:{dm:"私聊",warn:"警告",kick:"踢出游戏",set_admin:"给管理员"},dm_dialog:{title:"私信",description:"请输入输入要发送的私信内容",placeholder:"私信内容...",success:"私信已发送！"},warn_dialog:{title:"警告",description:"请输入警告此玩家的原因",placeholder:"原因...",success:"警告已发送！"},kick_dialog:{title:"踢出玩家",description:"请输入踢出此玩家的原因",placeholder:"原因...",success:"玩家已被踢出！"}},interaction:{title:"互动选项",options:{heal:"恢复状态",go_to:"传送过去",bring:"召唤过来",spectate:"观看",toggle_freeze:"冻结"},notifications:{heal_player:"恢复玩家的状态",tp_player:"将您传送到玩家",bring_player:"将玩家召唤过来",spectate_failed:"无法解析目标！正在退出观看，",spectate_yourself:"您不能观看您自己",freeze_yourself:"您不能冻结您自己",spectate_cycle_failed:"没有可循环的玩家"}},troll:{title:"恶搞选项",options:{drunk:"醉酒",fire:"着火",wild_attack:"动物攻击"}}},info:{title:"玩家信息",session_time:"游玩时长",play_time:"游玩总时常",joined:"加入时间",whitelisted_label:"白名单状态",whitelisted_notyet:"未通过",btn_wl_add:"通过白名单",btn_wl_remove:"撤销白名单",btn_wl_success:"白名单状态已更改。",log_label:"记录",log_empty:"未找到封禁/警告。",log_ban_count:"%{smart_count} 封禁 |||| %{smart_count} 封禁",log_warn_count:"%{smart_count} 警告 |||| %{smart_count} 警告",log_btn:"详细信息",notes_changed:"玩家备注已更改。",notes_placeholder:"关于此玩家的备注..."},history:{title:"历史信息",btn_revoke:"撤销",revoked_success:"操作已撤销！",banned_by:"被 %{author} 封禁",warned_by:"被 %{author} 警告",revoked_by:"被 %{author} 撤销",expired_at:"将于 %{date} 过期。",expires_at:"将于 %{date} 过期。"},ban:{title:"封禁玩家",reason_placeholder:"原因",duration_placeholder:"时间",hours:"小时",days:"天",weeks:"星期",months:"月",permanent:"永久",custom:"自定义",helper_text:"请选择封禁时间",submit:"提交",reason_required:"您必须输入封禁原因！",success:"已封禁该玩家！"},ids:{current_ids:"当前标识符",previous_ids:"曾使用过的标识符",all_hwids:"所有硬件ID(HWID)"}}}};var localeMap={ar:ar_default,bg:bg_default,bs:bs_default,cs:cs_default,da:da_default,de:de_default,el:el_default,en:en_default,es:es_default,et:et_default,fa:fa_default,fi:fi_default,fr:fr_default,hr:hr_default,hu:hu_default,id:id_default,it:it_default,ja:ja_default,lt:lt_default2,lv:lv_default,mn:mn_default,ne:ne_default,nl:nl_default,no:no_default,pl:pl_default,pt:pt_default,ro:ro_default,ru:ru_default,sl:sl_default,sv:sv_default,th:th_default,tr:tr_default,uk:uk_default,vi:vi_default,zh:zh_default};var localeMap_default=localeMap;var serverName=typeDefinedConfig({name:"Server Name",default:"change-me",validator:z.string().min(1).max(18),fixer:SYM_FIXER_DEFAULT});var language=typeDefinedConfig({name:"Language",default:"en",validator:z.string().min(2).refine(value=>value==="custom"||localeMap_default[value]!==void 0,value=>({message:`Invalid language code \`${value??"??"}\`.`})),fixer:SYM_FIXER_DEFAULT});var general_default={serverName,language};var dataPath2=typeNullableConfig({name:"Server Data Path",default:null,validator:z.string().min(1).nullable(),fixer:SYM_FIXER_FATAL});var cfgPath=typeDefinedConfig({name:"CFG File Path",default:"server.cfg",validator:z.string().min(1),fixer:SYM_FIXER_FATAL});var startupArgs=typeDefinedConfig({name:"Startup Arguments",default:[],validator:z.string().array(),fixer:SYM_FIXER_DEFAULT});var onesync=typeDefinedConfig({name:"OneSync",default:"on",validator:z.enum(["on","legacy","off"]),fixer:SYM_FIXER_FATAL});var autoStart=typeDefinedConfig({name:"Autostart",default:true,validator:z.boolean(),fixer:SYM_FIXER_DEFAULT});var quiet=typeDefinedConfig({name:"Quiet Mode",default:false,validator:z.boolean(),fixer:SYM_FIXER_DEFAULT});var shutdownNoticeDelayMs=typeDefinedConfig({name:"Shutdown Notice Delay",default:5e3,validator:z.number().int().min(0).max(6e4),fixer:SYM_FIXER_DEFAULT});var restartSpawnDelayMs=typeDefinedConfig({name:"Restart Spawn Delay",default:500,validator:z.number().int().min(0).max(15e3),fixer:SYM_FIXER_DEFAULT});var server_default={dataPath:dataPath2,cfgPath,startupArgs,onesync,autoStart,quiet,shutdownNoticeDelayMs,restartSpawnDelayMs};var polishScheduleTimesArray=input=>{return parseSchedule(input).valid.map(v=>v.string)};var schedule=typeDefinedConfig({name:"Restart Schedule",default:[],validator:z.string().regex(regexHoursMinutes).array().transform(polishScheduleTimesArray),fixer:input=>{if(!Array.isArray(input))return[];return polishScheduleTimesArray(input)}});var bootGracePeriod=typeDefinedConfig({name:"Boot Grace Period",default:45,validator:z.number().int().min(15),fixer:SYM_FIXER_DEFAULT});var resourceStartingTolerance=typeDefinedConfig({name:"Resource Starting Tolerance",default:90,validator:z.number().int().min(30),fixer:SYM_FIXER_DEFAULT});var restarter_default={schedule,bootGracePeriod,resourceStartingTolerance};var import_nanoid_dictionary=__toESM(require_nanoid_dictionary(),1);var nanoid_exports={};__export(nanoid_exports,{customAlphabet:()=>customAlphabet,customRandom:()=>customRandom,nanoid:()=>nanoid,random:()=>random2,urlAlphabet:()=>urlAlphabet});var import_crypto=require("crypto");var urlAlphabet="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var POOL_SIZE_MULTIPLIER=128;var pool;var poolOffset;var fillPool=bytes9=>{if(!pool||pool.length<bytes9){pool=Buffer.allocUnsafe(bytes9*POOL_SIZE_MULTIPLIER);(0,import_crypto.randomFillSync)(pool);poolOffset=0}else if(poolOffset+bytes9>pool.length){(0,import_crypto.randomFillSync)(pool);poolOffset=0}poolOffset+=bytes9};var random2=bytes9=>{fillPool(bytes9-=0);return pool.subarray(poolOffset-bytes9,poolOffset)};var customRandom=(alphabet2,defaultSize,getRandom)=>{let mask=(2<<31-Math.clz32(alphabet2.length-1|1))-1;let step=Math.ceil(1.6*mask*defaultSize/alphabet2.length);return(size2=defaultSize)=>{let id="";while(true){let bytes9=getRandom(step);let i=step;while(i--){id+=alphabet2[bytes9[i]&mask]||"";if(id.length===size2)return id}}}};var customAlphabet=(alphabet2,size2=21)=>customRandom(alphabet2,size2,random2);var nanoid=(size2=21)=>{fillPool(size2-=0);let id="";for(let i=poolOffset-size2;i<poolOffset;i++){id+=urlAlphabet[pool[i]&63]}return id};var BAN_TEMPLATE_ID_LENGTH=21;var genBanTemplateId=customAlphabet(import_nanoid_dictionary.alphanumeric,BAN_TEMPLATE_ID_LENGTH);var BanDurationTypeSchema=z.union([z.literal("permanent"),z.object({value:z.number().positive(),unit:z.enum(["hours","days","weeks","months"])})]);var BanTemplatesDataSchema=z.object({id:z.string().length(BAN_TEMPLATE_ID_LENGTH),reason:z.string().min(3).max(2048),duration:BanDurationTypeSchema});var polishBanTemplatesArray=input=>{const ids=new Set;const unique=[];for(const template2 of input){if(ids.has(template2.id)){unique.push({...template2,id:genBanTemplateId()})}else{unique.push(template2)}ids.add(template2.id)}return unique};var enabled=typeDefinedConfig({name:"Ban Checking Enabled",default:true,validator:z.boolean(),fixer:SYM_FIXER_DEFAULT});var rejectionMessage=typeDefinedConfig({name:"Ban Rejection Message",default:"You can join http://discord.gg/example to appeal this ban.",validator:z.string(),fixer:SYM_FIXER_DEFAULT});var requiredHwidMatches=typeDefinedConfig({name:"Required Ban HWID Matches",default:1,validator:z.number().int().min(0),fixer:SYM_FIXER_DEFAULT});var templates=typeDefinedConfig({name:"Ban Templates",default:[],validator:BanTemplatesDataSchema.array().transform(polishBanTemplatesArray),fixer:SYM_FIXER_FATAL});var banlist_default={enabled,rejectionMessage,requiredHwidMatches,templates};var mode=typeDefinedConfig({name:"Allowlist Mode",default:"disabled",validator:z.enum(["disabled","adminOnly","approvedLicense","discordMember","discordRoles","external"]),fixer:SYM_FIXER_DEFAULT});var rejectionMessage2=typeDefinedConfig({name:"Allowlist Instructions",default:"Please join http://discord.gg/example and request to be allowlisted.",validator:z.string(),fixer:SYM_FIXER_DEFAULT});var polishDiscordRolesArray=input=>{const unique=[...new Set(input)];unique.sort((a,b)=>Number(a)-Number(b));return unique};var discordRoles=typeDefinedConfig({name:"Allowlisted Discord Roles",default:[],validator:discordSnowflakeSchema.array().transform(polishDiscordRolesArray),fixer:input=>{if(!Array.isArray(input))return[];const valid=input.filter(item=>consts_default.regexDiscordSnowflake.test(item));return polishDiscordRolesArray(valid)}});var whitelist_default={mode,rejectionMessage:rejectionMessage2,discordRoles};var defaultEmbedJson=JSON.stringify({"title":"{{serverName}}","url":"{{serverBrowserUrl}}","description":"You can configure this embed in `txAdmin > Settings > Discord Bot`, and edit everything from it (except footer).","fields":[{"name":"> STATUS","value":"```\n{{statusString}}\n```","inline":true},{"name":"> PLAYERS","value":"```\n{{serverClients}}/{{serverMaxClients}}\n```","inline":true},{"name":"> F8 CONNECT COMMAND","value":"```\nconnect 123.123.123.123\n```"},{"name":"> NEXT RESTART","value":"```\n{{nextScheduledRestart}}\n```","inline":true},{"name":"> UPTIME","value":"```\n{{uptime}}\n```","inline":true}],"image":{"url":"https://forum-cfx-re.akamaized.net/original/5X/e/e/c/b/eecb4664ee03d39e34fcd82a075a18c24add91ed.png"},"thumbnail":{"url":"https://forum-cfx-re.akamaized.net/original/5X/9/b/d/7/9bd744dc2b21804e18c3bb331e8902c930624e44.png"}});var defaultEmbedConfigJson=JSON.stringify({"onlineString":"🟢 Online","onlineColor":"#0BA70B","partialString":"🟡 Partial","partialColor":"#FFF100","offlineString":"🔴 Offline","offlineColor":"#A70B28","buttons":[{"emoji":"1062338355909640233","label":"Connect","url":"{{serverJoinUrl}}"},{"emoji":"1062339910654246964","label":"txAdmin Discord","url":"https://discord.gg/txAdmin"}].filter(Boolean)});var enabled2=typeDefinedConfig({name:"Bot Enabled",default:false,validator:z.boolean(),fixer:SYM_FIXER_DEFAULT});var token2=typeNullableConfig({name:"Bot Token",default:null,validator:z.string().min(1).nullable(),fixer:SYM_FIXER_DEFAULT});var guild=typeNullableConfig({name:"Server ID",default:null,validator:discordSnowflakeSchema.nullable(),fixer:SYM_FIXER_DEFAULT});var warningsChannel=typeNullableConfig({name:"Warnings Channel ID",default:null,validator:discordSnowflakeSchema.nullable(),fixer:SYM_FIXER_DEFAULT});var attemptMinifyJsonString=input=>{try{return JSON.stringify(JSON.parse(input))}catch(error){return input}};var embedJson=typeDefinedConfig({name:"Status Embed JSON",default:defaultEmbedJson,validator:z.string().min(1).transform(attemptMinifyJsonString),fixer:SYM_FIXER_DEFAULT});var embedConfigJson=typeDefinedConfig({name:"Status Config JSON",default:defaultEmbedConfigJson,validator:z.string().min(1).transform(attemptMinifyJsonString),fixer:SYM_FIXER_DEFAULT});var discordBot_default={enabled:enabled2,token:token2,guild,warningsChannel,embedJson,embedConfigJson};var menuEnabled=typeDefinedConfig({name:"Menu Enabled",default:true,validator:z.boolean(),fixer:SYM_FIXER_DEFAULT});var menuAlignRight=typeDefinedConfig({name:"Align Menu Right",default:false,validator:z.boolean(),fixer:SYM_FIXER_DEFAULT});var menuPageKey=typeDefinedConfig({name:"Menu Page Switch Key",default:"Tab",validator:z.string().min(1),fixer:SYM_FIXER_DEFAULT});var playerModePtfx=typeDefinedConfig({name:"Player Mode Change Effect",default:true,validator:z.boolean(),fixer:SYM_FIXER_DEFAULT});var hideAdminInPunishments=typeDefinedConfig({name:"Hide Admin Name In Punishments",default:true,validator:z.boolean(),fixer:SYM_FIXER_DEFAULT});var hideAdminInMessages=typeDefinedConfig({name:"Hide Admin Name In Messages",default:false,validator:z.boolean(),fixer:SYM_FIXER_DEFAULT});var hideDefaultAnnouncement=typeDefinedConfig({name:"Hide Announcement Notifications",default:false,validator:z.boolean(),fixer:SYM_FIXER_DEFAULT});var hideDefaultDirectMessage=typeDefinedConfig({name:"Hide Direct Message Notification",default:false,validator:z.boolean(),fixer:SYM_FIXER_DEFAULT});var hideDefaultWarning=typeDefinedConfig({name:"Hide Warning Notification",default:false,validator:z.boolean(),fixer:SYM_FIXER_DEFAULT});var hideDefaultScheduledRestartWarning=typeDefinedConfig({name:"Hide Scheduled Restart Warnings",default:false,validator:z.boolean(),fixer:SYM_FIXER_DEFAULT});var gameFeatures_default={menuEnabled,menuAlignRight,menuPageKey,playerModePtfx,hideAdminInPunishments,hideAdminInMessages,hideDefaultAnnouncement,hideDefaultDirectMessage,hideDefaultWarning,hideDefaultScheduledRestartWarning};var disableNuiSourceCheck=typeDefinedConfig({name:"Disable NUI Source Check",default:false,validator:z.boolean(),fixer:SYM_FIXER_DEFAULT});var limiterMinutes=typeDefinedConfig({name:"Rate Limiter Minutes",default:15,validator:z.number().int().min(1),fixer:SYM_FIXER_DEFAULT});var limiterAttempts=typeDefinedConfig({name:"Rate Limiter Attempts",default:10,validator:z.number().int().min(5),fixer:SYM_FIXER_DEFAULT});var webServer_default={disableNuiSourceCheck,limiterMinutes,limiterAttempts};var rfsOptionValidator=z.union([z.literal(false),z.object({}).passthrough()]);var logger_default={admin:typeDefinedConfig({name:"Admin Logs",default:{},validator:rfsOptionValidator,fixer:SYM_FIXER_FATAL}),fxserver:typeDefinedConfig({name:"FXServer Logs",default:{},validator:rfsOptionValidator,fixer:SYM_FIXER_FATAL}),server:typeDefinedConfig({name:"Server Logs",default:{},validator:rfsOptionValidator,fixer:SYM_FIXER_FATAL})};var ConfigSchemas_v2={general:general_default,server:server_default,restarter:restarter_default,banlist:banlist_default,whitelist:whitelist_default,discordBot:discordBot_default,gameFeatures:gameFeatures_default,webServer:webServer_default,logger:logger_default};var import_node_fs2=__toESM(require("node:fs"),1);var has2=Object.prototype.hasOwnProperty;function dequal(foo,bar){var ctor,len;if(foo===bar)return true;if(foo&&bar&&(ctor=foo.constructor)===bar.constructor){if(ctor===Date)return foo.getTime()===bar.getTime();if(ctor===RegExp)return foo.toString()===bar.toString();if(ctor===Array){if((len=foo.length)===bar.length){while(len--&&dequal(foo[len],bar[len]));}return len===-1}if(!ctor||typeof foo==="object"){len=0;for(ctor in foo){if(has2.call(foo,ctor)&&++len&&!has2.call(bar,ctor))return false;if(!(ctor in bar)||!dequal(foo[ctor],bar[ctor]))return false}return Object.keys(bar).length===len}}return foo!==foo&&bar!==bar}function parseArgsStringToArgv(value,env2,file){var myRegexp=/([^\s'"]([^\s'"]*(['"])([^\3]*?)\3)+[^\s'"]*)|[^\s'"]+|(['"])([^\5]*?)\5/gi;var myString=value;var myArray=[];if(env2){myArray.push(env2)}if(file){myArray.push(file)}var match;do{match=myRegexp.exec(myString);if(match!==null){myArray.push(firstString(match[1],match[6],match[0]))}}while(match!==null);return myArray}function firstString(){var args2=[];for(var _i=0;_i<arguments.length;_i++){args2[_i]=arguments[_i]}for(var i=0;i<args2.length;i++){var arg=args2[i];if(typeof arg==="string"){return arg}}}var confx=cfg=>{return{has:(scope,key)=>{return scope in cfg&&key in cfg[scope]&&cfg[scope][key]!==void 0},get:(scope,key)=>{var _a12;return(_a12=cfg[scope])==null?void 0:_a12[key]},set:(scope,key,value)=>{cfg[scope]??={};cfg[scope][key]=value},unset:(scope,key)=>{let deleted=false;if(scope in cfg&&key in cfg[scope]){delete cfg[scope][key];deleted=true;if(Object.keys(cfg[scope]).length===0){delete cfg[scope]}}return deleted}}};var UpdateConfigKeySet=class{constructor(){this.raw=[]}add(input1,input2){let full,scope,key;if(input2){full=`${input1}.${input2}`;scope=input1;key=input2}else{full=input1;[scope,key]=input1.split(".")}if(full.includes("*")){throw new Error("Wildcards are not allowed when adding config keys")}this.raw.push({full,scope,key})}_hasMatch(rule){const[inputScope,inputKey]=rule.split(".");return this.raw.some(rawCfg=>(inputScope==="*"||rawCfg.scope===inputScope)&&(inputKey==="*"||rawCfg.key===inputKey))}hasMatch(rule){if(Array.isArray(rule)){return rule.some(f=>this._hasMatch(f))}else{return this._hasMatch(rule)}}get size(){return this.raw.length}get list(){return this.raw.map(x=>x.full)}};var import_lodash=__toESM(require_lodash(),1);var modulename2="ConfigStore:Parser";var console6=console_default(modulename2);var getScopeDefaults=scope=>{return Object.fromEntries(Object.entries(scope).map(([key,schema2])=>[key,schema2.default]))};var getConfigDefaults=allConfigScopes=>{const defaults3=Object.fromEntries(Object.entries(allConfigScopes).map(([k,s])=>[k,getScopeDefaults(s)]));return defaults3};var parseConfigFileData=configFileData=>{const parsedConfigItems=[];for(const[scope,values2]of Object.entries(configFileData)){if(scope==="version")continue;for(const[key,value]of Object.entries(values2)){if(value===void 0)continue;parsedConfigItems.push({scope,key,value})}}return parsedConfigItems};var attemptConfigFix=(scope,key,value,configSchema)=>{const shouldBeArray=Array.isArray(configSchema.default);if(configSchema.fixer===SYM_FIXER_DEFAULT){if(shouldBeArray){console6.error(`Invalid value for '${scope}.${key}', applying default value.`)}else{console6.error(`Invalid value for '${scope}.${key}', applying default value:`,configSchema.default)}return{success:true,value:configSchema.default}}else if(typeof configSchema.fixer==="function"){try{const fixed=configSchema.fixer(value);if(shouldBeArray){console6.error(`Invalid value for '${scope}.${key}' has been automatically fixed.`)}else{console6.error(`Invalid value for '${scope}.${key}', the value has been fixed to:`,fixed)}return{success:true,value:fixed}}catch(error){console6.error(`Invalid value for '${scope}.${key}', fixer failed with reason: ${error.message}`);return{success:false,error}}}return{success:false}};var bootstrapConfigProcessor=(parsedInput,allConfigScopes,defaultConfigs)=>{var _a12;const unknown={};const stored={};const active=(0,import_lodash.cloneDeep)(defaultConfigs);for(const{scope,key,value}of parsedInput){const configSchema=(_a12=allConfigScopes==null?void 0:allConfigScopes[scope])==null?void 0:_a12[key];if(!configSchema){console6.warn(`Unknown config: ${scope}.${key}`);unknown[scope]??={};unknown[scope][key]=value;continue}stored[scope]??={};const zResult=configSchema.validator.safeParse(value);if(zResult.success){stored[scope][key]=zResult.data;active[scope][key]=zResult.data;continue}const fResult=attemptConfigFix(scope,key,value,configSchema);if(fResult.success&&fResult.value!==void 0){stored[scope][key]=fResult.value;active[scope][key]=fResult.value}else{console6.warn(`Invalid value for '${scope}.${key}': ${zResult.error.message}`);throw(fResult==null?void 0:fResult.error)??fromZodError(zResult.error,{prefix:`${scope}.${key}`})}}return{unknown,stored,active}};var runtimeConfigProcessor=(parsedInput,allConfigScopes,storedConfigs,activeConfigs)=>{const storedKeysChanges=new UpdateConfigKeySet;const activeKeysChanges=new UpdateConfigKeySet;const thisStoredCopy=(0,import_lodash.cloneDeep)(storedConfigs);const thisActiveCopy=(0,import_lodash.cloneDeep)(activeConfigs);for(const{scope,key,value}of parsedInput){const configSchema=confx(allConfigScopes).get(scope,key);if(!configSchema)throw new Error(`Unknown config: ${scope}.${key}`);let newValue;if(value===SYM_RESET_CONFIG){newValue=configSchema.default}else{const zResult=configSchema.validator.safeParse(value);if(!zResult.success){throw fromZodError(zResult.error,{prefix:configSchema.name})}newValue=zResult.data}const defaultValue=configSchema.default;const storedValue=confx(thisStoredCopy).get(scope,key);const isNewValueDefault=dequal(newValue,defaultValue);if(storedValue===void 0){if(!isNewValueDefault){storedKeysChanges.add(scope,key);confx(thisStoredCopy).set(scope,key,newValue)}}else if(!dequal(newValue,storedValue)){storedKeysChanges.add(scope,key);if(!isNewValueDefault){confx(thisStoredCopy).set(scope,key,newValue)}}if(isNewValueDefault){confx(thisStoredCopy).unset(scope,key)}if(!dequal(newValue,confx(thisActiveCopy).get(scope,key))){activeKeysChanges.add(scope,key);confx(thisActiveCopy).set(scope,key,newValue)}}return{storedKeysChanges,activeKeysChanges,stored:thisStoredCopy,active:thisActiveCopy}};var restructureOldConfig=old=>{var _a12,_b2,_c,_d,_e,_f,_g,_h,_i,_j,_k,_l,_m,_n,_o,_p,_q,_r,_s,_t,_u,_v,_w,_x,_y,_z,_A,_B,_C,_D,_E,_F,_G,_H,_I,_J,_K,_L,_M,_N;old.playerDatabase??=old.playerDatabase??old.playerController??{};if(old.global.language==="pt_PT"||old.global.language==="pt_BR"){old.global.language="pt"}if(typeof old.monitor.resourceStartingTolerance==="string"){old.monitor.resourceStartingTolerance=parseInt(old.monitor.resourceStartingTolerance);if(isNaN(old.monitor.resourceStartingTolerance)){old.monitor.resourceStartingTolerance=120}}const remapped={general:{serverName:(_a12=old==null?void 0:old.global)==null?void 0:_a12.serverName,language:(_b2=old==null?void 0:old.global)==null?void 0:_b2.language},webServer:{disableNuiSourceCheck:(_c=old==null?void 0:old.webServer)==null?void 0:_c.disableNuiSourceCheck,limiterMinutes:(_d=old==null?void 0:old.webServer)==null?void 0:_d.limiterMinutes,limiterAttempts:(_e=old==null?void 0:old.webServer)==null?void 0:_e.limiterAttempts},discordBot:{enabled:(_f=old==null?void 0:old.discordBot)==null?void 0:_f.enabled,token:(_g=old==null?void 0:old.discordBot)==null?void 0:_g.token,guild:(_h=old==null?void 0:old.discordBot)==null?void 0:_h.guild,warningsChannel:(_i=old==null?void 0:old.discordBot)==null?void 0:_i.announceChannel,embedJson:(_j=old==null?void 0:old.discordBot)==null?void 0:_j.embedJson,embedConfigJson:(_k=old==null?void 0:old.discordBot)==null?void 0:_k.embedConfigJson},server:{dataPath:(_l=old==null?void 0:old.fxRunner)==null?void 0:_l.serverDataPath,cfgPath:(_m=old==null?void 0:old.fxRunner)==null?void 0:_m.cfgPath,startupArgs:(_n=old==null?void 0:old.fxRunner)==null?void 0:_n.commandLine,onesync:(_o=old==null?void 0:old.fxRunner)==null?void 0:_o.onesync,autoStart:(_p=old==null?void 0:old.fxRunner)==null?void 0:_p.autostart,quiet:(_q=old==null?void 0:old.fxRunner)==null?void 0:_q.quiet,shutdownNoticeDelayMs:(_r=old==null?void 0:old.fxRunner)==null?void 0:_r.shutdownNoticeDelay,restartSpawnDelayMs:(_s=old==null?void 0:old.fxRunner)==null?void 0:_s.restartDelay},restarter:{schedule:(_t=old==null?void 0:old.monitor)==null?void 0:_t.restarterSchedule,bootGracePeriod:(_u=old==null?void 0:old.monitor)==null?void 0:_u.cooldown,resourceStartingTolerance:(_v=old==null?void 0:old.monitor)==null?void 0:_v.resourceStartingTolerance},banlist:{enabled:(_w=old==null?void 0:old.playerDatabase)==null?void 0:_w.onJoinCheckBan,rejectionMessage:(_x=old==null?void 0:old.playerDatabase)==null?void 0:_x.banRejectionMessage,requiredHwidMatches:(_y=old==null?void 0:old.playerDatabase)==null?void 0:_y.requiredBanHwidMatches,templates:old==null?void 0:old.banTemplates},whitelist:{mode:(_z=old==null?void 0:old.playerDatabase)==null?void 0:_z.whitelistMode,rejectionMessage:(_A=old==null?void 0:old.playerDatabase)==null?void 0:_A.whitelistRejectionMessage,discordRoles:(_B=old==null?void 0:old.playerDatabase)==null?void 0:_B.whitelistedDiscordRoles},gameFeatures:{menuEnabled:(_C=old==null?void 0:old.global)==null?void 0:_C.menuEnabled,menuAlignRight:(_D=old==null?void 0:old.global)==null?void 0:_D.menuAlignRight,menuPageKey:(_E=old==null?void 0:old.global)==null?void 0:_E.menuPageKey,playerModePtfx:true,hideAdminInPunishments:(_F=old==null?void 0:old.global)==null?void 0:_F.hideAdminInPunishments,hideAdminInMessages:(_G=old==null?void 0:old.global)==null?void 0:_G.hideAdminInMessages,hideDefaultAnnouncement:(_H=old==null?void 0:old.global)==null?void 0:_H.hideDefaultAnnouncement,hideDefaultDirectMessage:(_I=old==null?void 0:old.global)==null?void 0:_I.hideDefaultDirectMessage,hideDefaultWarning:(_J=old==null?void 0:old.global)==null?void 0:_J.hideDefaultWarning,hideDefaultScheduledRestartWarning:(_K=old==null?void 0:old.global)==null?void 0:_K.hideDefaultScheduledRestartWarning},logger:{admin:(_L=old==null?void 0:old.logger)==null?void 0:_L.admin,fxserver:(_M=old==null?void 0:old.logger)==null?void 0:_M.fxserver,server:(_N=old==null?void 0:old.logger)==null?void 0:_N.server}};return remapped};var migrateOldConfig=old=>{var _a12,_b2,_c,_d,_e,_f,_g,_h,_i,_j,_k;const remapped=restructureOldConfig(old);if(typeof((_a12=remapped.restarter)==null?void 0:_a12.bootGracePeriod)==="number"){remapped.restarter.bootGracePeriod=Math.round(remapped.restarter.bootGracePeriod);if(remapped.restarter.bootGracePeriod===60){remapped.restarter.bootGracePeriod=45}}if(typeof((_b2=remapped.server)==null?void 0:_b2.shutdownNoticeDelayMs)==="number"){remapped.server.shutdownNoticeDelayMs*=1e3}if(((_c=remapped.server)==null?void 0:_c.restartSpawnDelayMs)===750){remapped.server.restartSpawnDelayMs=500}if(((_d=remapped.whitelist)==null?void 0:_d.mode)==="guildMember"){remapped.whitelist.mode="discordMember"}if(((_e=remapped.whitelist)==null?void 0:_e.mode)==="guildRoles"){remapped.whitelist.mode="discordRoles"}if(typeof((_f=remapped.server)==null?void 0:_f.startupArgs)==="string"){try{const str2=remapped.server.startupArgs.trim();const convarSetRegex=/\+setr?\s+['"]?txAdmin-menuPtfxDisable['"]?\s+['"]?(?<value>\w+)['"]?\s?/g;const matches2=[...str2.matchAll(convarSetRegex)];if(matches2.length){const valueSet=(_g=matches2[matches2.length-1].groups)==null?void 0:_g.value;remapped.gameFeatures.playerModePtfx=valueSet!=="true";remapped.server.startupArgs=str2.replaceAll(convarSetRegex,"")}}catch(error){console.warn("Failed to migrate the menuPtfxDisable convar. Assuming it's unset.");console.verbose.dir(error)}remapped.server.startupArgs=remapped.server.startupArgs.length?parseArgsStringToArgv(remapped.server.startupArgs):[]}if(((_h=remapped.general)==null?void 0:_h.serverName)===null){delete remapped.general.serverName}if(((_i=remapped.server)==null?void 0:_i.cfgPath)===null){delete remapped.server.cfgPath}const baseConfigs=getConfigDefaults(ConfigSchemas_v2);const justNonDefaults={};for(const[scopeName,scopeConfigs]of Object.entries(baseConfigs)){for(const[configKey,configDefault]of Object.entries(scopeConfigs)){const configValue=confx(remapped).get(scopeName,configKey);if(configValue===void 0)continue;if(!dequal(configValue,configDefault)){confx(justNonDefaults).set(scopeName,configKey,configValue)}}}if(typeof((_j=justNonDefaults.general)==null?void 0:_j.serverName)==="string"){justNonDefaults.general.serverName=justNonDefaults.general.serverName.slice(0,18)}if(Array.isArray((_k=justNonDefaults.banlist)==null?void 0:_k.templates)){for(const tpl of justNonDefaults.banlist.templates){if(typeof tpl.id!=="string")continue;tpl.id=genBanTemplateId()}}return justNonDefaults};var modulename3="ConfigStore:Migration";var console7=console_default(modulename3);var saveBackupFile=version=>{const bkpFileName=`config.backup.v${version}.json`;import_node_fs2.default.copyFileSync(`${txEnv.profilePath}/config.json`,`${txEnv.profilePath}/${bkpFileName}`);console7.log(`A backup of your config file was saved as: ${chalkInversePad(bkpFileName)}`)};var migrateConfigFile=fileData=>{const oldConfig=cloneDeep_default(fileData);let newConfig;let oldVersion;if("version"in fileData&&typeof fileData.version!=="number"){fatalError_default.ConfigStore(20,"Your txAdmin config.json version is not a number!")}if(typeof fileData.version==="number"&&fileData.version>CONFIG_VERSION){fatalError_default.ConfigStore(21,[`Your config.json file is on v${fileData.version}, and this txAdmin supports up to v${CONFIG_VERSION}.`,"This means you likely downgraded your txAdmin or FXServer.","Please make sure your txAdmin is updated!","",'If you want to downgrade FXServer (the "artifact") but keep txAdmin updated,','you can move the updated "citizen/system_resources/monitor" folder',"to older FXserver artifact, replacing the old files.",`Alternatively, you can restore the v${fileData.version} backup on the folder below.`,["File Path",`${txEnv.profilePath}/config.json`]])}if(fileData.version===1){throw new Error(`File with explicit version '1' should not exist.`)}if(!("version"in fileData)&&"global"in fileData&&"fxRunner"in fileData){console7.warn("Updating your txAdmin config.json from v1 to v2.");oldVersion??=1;const justNonDefaults=migrateOldConfig(oldConfig);newConfig={version:2,...justNonDefaults}}if(oldVersion&&newConfig&&newConfig.version===CONFIG_VERSION){saveBackupFile(oldVersion);return newConfig}else{throw new Error(`Unknown file version: ${fileData.version}`)}};var daysMs=24*60*60*1e3;var CCLOG_SIZE_LIMIT=32;var CCLOG_RETENTION=120*daysMs;var CCLOG_VERSION=1;var ConfigChangelogEntrySchema=z.object({author:z.string().min(1),ts:z.number().int().nonnegative(),keys:z.string().array()});var ConfigChangelogFileSchema=z.object({version:z.literal(1),log:z.array(ConfigChangelogEntrySchema)});var truncateConfigChangelog=log2=>{if(!log2.length)return[];const now3=Date.now();return log2.filter(entry=>now3-entry.ts<=CCLOG_RETENTION).slice(-CCLOG_SIZE_LIMIT)};var modulename4="ConfigStore";var console8=console_default(modulename4);var CONFIG_VERSION=2;var _ConfigStore=class _ConfigStore{constructor(){this.changelogFilePath=`${txEnv.profilePath}/data/configChangelog.json`;this.configFilePath=`${txEnv.profilePath}/config.json`;this.moduleRefreshCallbacks=[];this.changelog=[];let fileRaw;try{fileRaw=import_node_fs3.default.readFileSync(this.configFilePath,"utf8")}catch(error){fatalError_default.ConfigStore(10,["Unable to read configuration file (filesystem error).",["Path",this.configFilePath],["Error",error.message]])}let fileData;try{fileData=JSON.parse(fileRaw)}catch(error){fatalError_default.ConfigStore(11,["Unable to parse configuration file (invalid JSON).","This means the file somehow got corrupted and is not a valid anymore.",["Path",this.configFilePath],["Error",error.message]])}let fileMigrated=false;if((fileData==null?void 0:fileData.version)!==CONFIG_VERSION){try{fileData=migrateConfigFile(fileData);fileMigrated=true}catch(error){fatalError_default.ConfigStore(25,["Unable to migrate configuration file.",["Path",this.configFilePath],["File version",String(fileData==null?void 0:fileData.version)],["Supported version",String(CONFIG_VERSION)]],error)}}try{const configItems=parseConfigFileData(fileData);if(!configItems.length)console8.verbose.debug("Empty configuration file.");const config=bootstrapConfigProcessor(configItems,ConfigSchemas_v2,_ConfigStore.SchemaDefaults);this.unknownConfigs=config.unknown;this.storedConfigs=config.stored;this.activeConfigs=config.active}catch(error){fatalError_default.ConfigStore(14,["Unable to process configuration file."],error)}if(fileMigrated){try{this.saveFile(this.storedConfigs)}catch(error){fatalError_default.ConfigStore(26,["Unable to save the updated config.json file.",["Path",this.configFilePath]],error)}}this.updatePublicConfig();setImmediate(()=>{this.loadChangelog()})}static getEmptyConfigFile(){return{version:CONFIG_VERSION}}updatePublicConfig(){globalThis.txConfig=deepFreeze(cloneDeep_default(this.activeConfigs))}getStoredConfig(){return cloneDeep_default(this.storedConfigs)}getChangelog(){return cloneDeep_default(this.changelog)}saveConfigs(inputConfig,author){const parsedInput=parseConfigFileData(inputConfig);const processed=runtimeConfigProcessor(parsedInput,ConfigSchemas_v2,this.storedConfigs,this.activeConfigs);this.saveFile(processed.stored);this.storedConfigs=processed.stored;this.activeConfigs=processed.active;this.logChanges(author??"txAdmin",processed.storedKeysChanges.list);this.updatePublicConfig();this.processCallbacks(processed.activeKeysChanges);return processed.storedKeysChanges}saveFile(toStore){const outFile={version:CONFIG_VERSION,...this.unknownConfigs,...toStore};import_node_fs3.default.writeFileSync(this.configFilePath,JSON.stringify(outFile,null,2))}logChanges(author,keysUpdated){txCore.logger.admin.write(author,`Config changes: ${keysUpdated.join(", ")}`);this.changelog.push({author,ts:Date.now(),keys:keysUpdated});this.changelog=truncateConfigChangelog(this.changelog);setImmediate(async()=>{try{const json2=JSON.stringify({version:CCLOG_VERSION,log:this.changelog});await import_promises2.default.writeFile(this.changelogFilePath,json2)}catch(error){console8.warn(`Failed to save ${this.changelogFilePath} with message: ${error.message}`)}})}async loadChangelog(){try{const rawFileData=await import_promises2.default.readFile(this.changelogFilePath,"utf8");const fileData=JSON.parse(rawFileData);if((fileData==null?void 0:fileData.version)!==CCLOG_VERSION)throw new Error(`invalid_version`);const changelogData=ConfigChangelogFileSchema.parse(fileData);this.changelog=truncateConfigChangelog(changelogData.log)}catch(error){if((error==null?void 0:error.code)==="ENOENT"){console8.verbose.debug(`${this.changelogFilePath} not found, making a new one.`)}else if((error==null?void 0:error.message)==="invalid_version"){console8.warn(`Failed to load ${this.changelogFilePath} due to invalid version.`);console8.warn("Since this is not a critical file, it will be reset.")}else{console8.warn(`Failed to load ${this.changelogFilePath} with message: ${error.message}`);console8.warn("Since this is not a critical file, it will be reset.")}}}processCallbacks(updatedConfigs){for(const txModule of this.moduleRefreshCallbacks){if(!updatedConfigs.hasMatch(txModule.rules))continue;setImmediate(()=>{try{console8.verbose.debug(`Triggering update callback for module ${txModule.moduleName}`);txModule.callback(updatedConfigs)}catch(error){console8.error(`Error in config update callback for module ${txModule.moduleName}: ${error.message}`);console8.verbose.dir(error)}})}}registerUpdateCallback(moduleName,rules,callback){this.moduleRefreshCallbacks.push({moduleName,callback,rules})}};_ConfigStore.Schema=ConfigSchemas_v2;_ConfigStore.SchemaDefaults=getConfigDefaults(ConfigSchemas_v2);var ConfigStore=_ConfigStore;var ensureProfileStructure=()=>{const dataPath3=import_node_path5.default.join(txEnv.profilePath,"data");if(!import_node_fs4.default.existsSync(dataPath3)){import_node_fs4.default.mkdirSync(dataPath3)}const logsPath=import_node_path5.default.join(txEnv.profilePath,"logs");if(!import_node_fs4.default.existsSync(logsPath)){import_node_fs4.default.mkdirSync(logsPath)}};var setupProfile=()=>{try{import_node_fs4.default.mkdirSync(txEnv.profilePath);const configStructure=ConfigStore.getEmptyConfigFile();import_node_fs4.default.writeFileSync(import_node_path5.default.join(txEnv.profilePath,"config.json"),JSON.stringify(configStructure,null,2));ensureProfileStructure()}catch(error){fatalError_default.Boot(4,["Failed to set up data folder structure.",["Path",txEnv.profilePath]],error)}console.log(`Server data will be saved in ${chalkInversePad(txEnv.profilePath)}`);if(txEnv.isWindows&&txEnv.profileName!=="default"){const batFilename=`start_${txEnv.fxsVersion}_${txEnv.profileName}.bat`;try{const fxsPath2=import_node_path5.default.join(txEnv.fxsPath,"FXServer.exe");const batLines=[`@echo off`,`"${fxsPath2}" +set serverProfile "${txEnv.profileName}"`,`pause`];const batFolder=import_node_path5.default.resolve(txEnv.fxsPath,"..");const batPath=import_node_path5.default.join(batFolder,batFilename);import_node_fs4.default.writeFileSync(batPath,batLines.join("\r\n"));console.ok(`You can use ${chalkInversePad(batPath)} to start this profile.`)}catch(error){console.warn(`Failed to create '${batFilename}' with error:`);console.dir(error)}}};var console9=console_default("ProcessHandlers");function setupProcessHandlers(){process.stdin.on("error",data=>{});process.stdout.on("error",data=>{});process.stderr.on("error",data=>{});Error.stackTraceLimit=25;process.removeAllListeners("warning");process.on("warning",warning=>{if(warning.name==="UnhandledPromiseRejectionWarning")return;if(warning.name!=="ExperimentalWarning"||txDevEnv.ENABLED){console9.verbose.dir(warning,{multilineError:true})}});process.on("unhandledRejection",err=>{if(err.message==="Used disallowed intents")return;console9.error("Ohh nooooo - unhandledRejection");console9.dir(err)});process.on("uncaughtException",function(err){console9.error("Ohh nooooo - uncaughtException");console9.error(err.message);console9.dir(err.stack)})}var console10=console_default("GlobalPlaceholder");var MSG_BOOT_FAIL="Failed to boot due to Module Race Condition.";var MSG_CONTACT_DEV="This error should never happen, please report it to the developers.";var MSG_ERR_PARTIAL="Attempted to access txCore before it was initialized!";var getCoreProxy=refSrc=>{return new Proxy(refSrc,{get:function(target,prop){fatalError_default.Boot(22,[MSG_BOOT_FAIL,MSG_CONTACT_DEV,["Getter for",String(prop)]],new Error(MSG_ERR_PARTIAL))},set:function(target,prop,value){fatalError_default.Boot(23,[MSG_BOOT_FAIL,MSG_CONTACT_DEV,["Setter for",String(prop)]],new Error(MSG_ERR_PARTIAL));return true}})};var import_node_os5=__toESM(require("node:os"),1);var import_node_os3=__toESM(require("node:os"),1);var import_execa=__toESM(require_execa(),1);var modulename5="getOsDistro";var console11=console_default(modulename5);var names=new Map([["10.0.2","11"],["10.0","10"],["6.3","8.1"],["6.2","8"],["6.1","7"],["6.0","Vista"],["5.2","Server 2003"],["5.1","XP"],["5.0","2000"],["4.90","ME"],["4.10","98"],["4.03","95"],["4.00","95"]]);async function windowsRelease(release){var _a12,_b2;const version=/(\d+\.\d+)(?:\.(\d+))?/.exec(release||import_node_os3.default.release());if(release&&!version){throw new Error("`release` argument doesn't match `n.n`")}let ver=version[1]||"";const build=version[2]||"";if((!release||release===import_node_os3.default.release())&&["6.1","6.2","6.3","10.0"].includes(ver)){let stdout;try{const out=await(0,import_execa.default)("wmic",["os","get","Caption"]);stdout=out.stdout||""}catch{const systemRoot=((_a12=process.env)==null?void 0:_a12.SYSTEMROOT)??((_b2=process.env)==null?void 0:_b2.WINDIR)??false;const psBinary=systemRoot?`${systemRoot}\\System32\\WindowsPowerShell\\v1.0\\powershell`:"powershell";const out=await(0,import_execa.default)(psBinary,["(Get-CimInstance -ClassName Win32_OperatingSystem).caption"]);stdout=out.stdout||""}const year=(stdout.match(/2008|2012|2016|2019|2022/)||[])[0];if(year){return`Server ${year}`}}if(ver==="10.0"&&build.startsWith("2")){ver="10.0.2"}return names.get(ver)}var _osDistro;var getOsDistro_default=async()=>{if(_osDistro)return _osDistro;const osType=import_node_os3.default.type();if(osType=="Linux"){_osDistro=`${osType} ${import_node_os3.default.release()}`}else{try{const distro=await windowsRelease();_osDistro=`Windows ${distro}`}catch(error){console11.warn(`Failed to detect windows version with error: ${error.message}`);_osDistro=`Windows Unknown`}}return _osDistro};var import_node_os4=__toESM(require("node:os"),1);var import_systeminformation=__toESM(require_lib(),1);var modulename6="GetHostUsage";var console12=console_default(modulename6);var giga=1024*1024*1024;var cpus=import_node_os4.default.cpus();var getHostUsage_default=async()=>{const out={memory:{usage:0,used:0,total:0},cpu:{count:cpus.length,usage:0}};try{let free,total,used;if(txEnv.isWindows){free=import_node_os4.default.freemem()/giga;total=import_node_os4.default.totalmem()/giga;used=total-free}else{const memoryData=await import_systeminformation.default.mem();free=memoryData.available/giga;total=memoryData.total/giga;used=memoryData.active/giga}out.memory={used,total,usage:Math.round(used/total*100)}}catch(error){console12.verbose.error("Failed to get memory usage.");console12.verbose.dir(error)}try{const loads=await import_systeminformation.default.currentLoad();out.cpu.usage=Math.round(loads.currentLoad)}catch(error){console12.verbose.error("Failed to get CPU usage.");console12.verbose.dir(error)}return out};var import_pidtree=__toESM(require_pidtree2(),1);var import_pidusage=__toESM(require_pidusage(),1);var pidUsageTree_default=async pid=>{const pids=await(0,import_pidtree.default)(pid);return await(0,import_pidusage.default)([pid,...pids])};var import_systeminformation2=__toESM(require_lib(),1);var import_node_v8=require("node:v8");var import_bytes=__toESM(require_bytes(),1);var modulename7="WebServer:DiagnosticsFuncs";var console13=console_default(modulename7);var MEGABYTE=1024*1024;var _hostStaticDataCache;var getProcessesData=async()=>{const procList=[];try{const txProcessId=process.pid;const processes=await pidUsageTree_default(txProcessId);for(const[pid,proc]of Object.entries(processes)){if(!pid||!proc)continue;const currPidInt=parseInt(pid);let procName;if(currPidInt===txProcessId){procName="txAdmin"}else if(proc.memory<=10*MEGABYTE){procName="MiniDump"}else{procName="FXServer"}procList.push({pid:currPidInt,parent:proc.ppid,name:procName,cpu:proc.cpu,memory:proc.memory/MEGABYTE})}}catch(error){if(error.code="ENOENT"){console13.error("Failed to get processes tree usage data.");if(txEnv.isWindows){console13.error("This is probably because the `wmic` command is not available in your system.");console13.error('If you are on Windows 11 or Windows Server 2025, you can enable it in the "Windows Features" settings.')}else{console13.error("This is probably because the `ps` command is not available in your system.");console13.error("This command is part of the `procps` package in most Linux distributions.")}}else{console13.error("Error getting processes tree usage data.");console13.verbose.dir(error)}}return procList};var getHostData=async()=>{if(!_hostStaticDataCache){let osUsername="unknown";try{const userInfo=import_node_os5.default.userInfo();osUsername=userInfo.username}catch(error){}try{const cpuStats=await import_systeminformation2.default.cpu();_hostStaticDataCache={nodeVersion:process.version,username:osUsername,osDistro:await getOsDistro_default(),cpu:{manufacturer:cpuStats.manufacturer,brand:cpuStats.brand,speedMin:cpuStats.speedMin??cpuStats.speed,speedMax:cpuStats.speedMax,physicalCores:cpuStats.physicalCores,cores:cpuStats.cores}}}catch(error){console13.error("Error getting Host static data.");console13.verbose.dir(error);return{error:"Failed to retrieve host static data. Check the terminal for more information (if verbosity is enabled)."}}}try{const stats=await Promise.race([getHostUsage_default(),new Promise((_,reject2)=>setTimeout(()=>reject2(new Error("Timeout")),2500))]);if(stats){return{static:_hostStaticDataCache,dynamic:{cpuUsage:stats.cpu.usage,memory:{usage:stats.memory.usage,used:stats.memory.used,total:stats.memory.total}}}}else{return{static:_hostStaticDataCache}}}catch(error){console13.error("Error getting Host dynamic data.");console13.verbose.dir(error);return{error:"Failed to retrieve host dynamic data. Check the terminal for more information (if verbosity is enabled)."}}};var getHostStaticData=()=>{if(!_hostStaticDataCache){throw new Error(`hostStaticDataCache not yet ready`)}return _hostStaticDataCache};var getRuntimeData=async()=>{const stats=txCore.metrics.txRuntime;const memoryUsage=(0,import_node_v8.getHeapStatistics)();let hostApiTokenState="not configured";if(txHostConfig.hostApiToken==="disabled"){hostApiTokenState="disabled"}else if(txHostConfig.hostApiToken){hostApiTokenState="configured"}let runtime="Unknown runtime";if("Bun"in globalThis){runtime=`Bun v${Bun.version}`}else if("node"in process.versions&&process.versions.node){runtime=`Node.js v${process.versions.node}`}const defaultFlags=Object.entries(txHostConfig.defaults).filter(([k,v])=>Boolean(v)).map(([k,v])=>k);return{txEnv,runtime,uptime:msToShortishDuration(process.uptime()*1e3),databaseFileSize:(0,import_bytes.default)(txCore.database.fileSize),txHostConfig:{...txHostConfig,dataSubPath:void 0,hostApiToken:hostApiTokenState,defaults:defaultFlags},monitor:{hbFails:stats.monitorStats.healthIssues,restarts:stats.monitorStats.restartReasons},performance:{banCheck:stats.banCheckTime,whitelistCheck:stats.whitelistCheckTime,playersTableSearch:stats.playersTableSearchTime,historyTableSearch:stats.historyTableSearchTime,databaseSave:stats.databaseSaveTime,perfCollection:stats.perfCollectionTime},logger:{storageSize:await txCore.logger.getStorageSize(),statusAdmin:txCore.logger.admin.getUsageStats(),statusFXServer:txCore.logger.fxserver.getUsageStats(),statusServer:txCore.logger.server.getUsageStats()},memoryUsage:{heap_used:(0,import_bytes.default)(memoryUsage.used_heap_size)??"--",heap_limit:(0,import_bytes.default)(memoryUsage.heap_size_limit)??"--",heap_pct:memoryUsage.heap_size_limit>0?(memoryUsage.used_heap_size/memoryUsage.heap_size_limit*100).toFixed(2):0,physical:(0,import_bytes.default)(memoryUsage.total_physical_size)??"--",peak_malloced:(0,import_bytes.default)(memoryUsage.peak_malloced_memory)??"--"}}};var import_types3=require("util/types");var import_node_process2=__toESM(require("node:process"),1);function ansiRegex({onlyFirst=false}={}){const ST="(?:\\u0007|\\u001B\\u005C|\\u009C)";const pattern=[`[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?${ST})`,"(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(pattern,onlyFirst?void 0:"g")}var regex=ansiRegex();function stripAnsi(string){if(typeof string!=="string"){throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``)}return string.replace(regex,"")}var import_eastasianwidth=__toESM(require_eastasianwidth(),1);var import_emoji_regex=__toESM(require_emoji_regex(),1);function stringWidth(string,options={}){if(typeof string!=="string"||string.length===0){return 0}options={ambiguousIsNarrow:true,...options};string=stripAnsi(string);if(string.length===0){return 0}string=string.replace((0,import_emoji_regex.default)(),"  ");const ambiguousCharacterWidth=options.ambiguousIsNarrow?1:2;let width=0;for(const character of string){const codePoint=character.codePointAt(0);if(codePoint<=31||codePoint>=127&&codePoint<=159){continue}if(codePoint>=768&&codePoint<=879){continue}const code=import_eastasianwidth.default.eastAsianWidth(character);switch(code){case"F":case"W":width+=2;break;case"A":width+=ambiguousCharacterWidth;break;default:width+=1}}return width}function widestLine(string){let lineWidth=0;for(const line of string.split("\n")){lineWidth=Math.max(lineWidth,stringWidth(line))}return lineWidth}var import_cli_boxes=__toESM(require_cli_boxes(),1);var UPPERCASE=/[\p{Lu}]/u;var LOWERCASE=/[\p{Ll}]/u;var LEADING_CAPITAL=/^[\p{Lu}](?![\p{Lu}])/gu;var IDENTIFIER=/([\p{Alpha}\p{N}_]|$)/u;var SEPARATORS=/[_.\- ]+/;var LEADING_SEPARATORS=new RegExp("^"+SEPARATORS.source);var SEPARATORS_AND_IDENTIFIER=new RegExp(SEPARATORS.source+IDENTIFIER.source,"gu");var NUMBERS_AND_IDENTIFIER=new RegExp("\\d+"+IDENTIFIER.source,"gu");var preserveCamelCase=(string,toLowerCase,toUpperCase,preserveConsecutiveUppercase2)=>{let isLastCharLower=false;let isLastCharUpper=false;let isLastLastCharUpper=false;let isLastLastCharPreserved=false;for(let index=0;index<string.length;index++){const character=string[index];isLastLastCharPreserved=index>2?string[index-3]==="-":true;if(isLastCharLower&&UPPERCASE.test(character)){string=string.slice(0,index)+"-"+string.slice(index);isLastCharLower=false;isLastLastCharUpper=isLastCharUpper;isLastCharUpper=true;index++}else if(isLastCharUpper&&isLastLastCharUpper&&LOWERCASE.test(character)&&(!isLastLastCharPreserved||preserveConsecutiveUppercase2)){string=string.slice(0,index-1)+"-"+string.slice(index-1);isLastLastCharUpper=isLastCharUpper;isLastCharUpper=false;isLastCharLower=true}else{isLastCharLower=toLowerCase(character)===character&&toUpperCase(character)!==character;isLastLastCharUpper=isLastCharUpper;isLastCharUpper=toUpperCase(character)===character&&toLowerCase(character)!==character}}return string};var preserveConsecutiveUppercase=(input,toLowerCase)=>{LEADING_CAPITAL.lastIndex=0;return input.replace(LEADING_CAPITAL,m1=>toLowerCase(m1))};var postProcess=(input,toUpperCase)=>{SEPARATORS_AND_IDENTIFIER.lastIndex=0;NUMBERS_AND_IDENTIFIER.lastIndex=0;return input.replace(SEPARATORS_AND_IDENTIFIER,(_,identifier)=>toUpperCase(identifier)).replace(NUMBERS_AND_IDENTIFIER,m=>toUpperCase(m))};function camelCase2(input,options){if(!(typeof input==="string"||Array.isArray(input))){throw new TypeError("Expected the input to be `string | string[]`")}options={pascalCase:false,preserveConsecutiveUppercase:false,...options};if(Array.isArray(input)){input=input.map(x=>x.trim()).filter(x=>x.length).join("-")}else{input=input.trim()}if(input.length===0){return""}const toLowerCase=options.locale===false?string=>string.toLowerCase():string=>string.toLocaleLowerCase(options.locale);const toUpperCase=options.locale===false?string=>string.toUpperCase():string=>string.toLocaleUpperCase(options.locale);if(input.length===1){if(SEPARATORS.test(input)){return""}return options.pascalCase?toUpperCase(input):toLowerCase(input)}const hasUpperCase=input!==toLowerCase(input);if(hasUpperCase){input=preserveCamelCase(input,toLowerCase,toUpperCase,options.preserveConsecutiveUppercase)}input=input.replace(LEADING_SEPARATORS,"");input=options.preserveConsecutiveUppercase?preserveConsecutiveUppercase(input,toLowerCase):toLowerCase(input);if(options.pascalCase){input=toUpperCase(input.charAt(0))+input.slice(1)}return postProcess(input,toUpperCase)}var import_ansi_align=__toESM(require_ansi_align(),1);function ansiRegex2({onlyFirst=false}={}){const ST="(?:\\u0007|\\u001B\\u005C|\\u009C)";const pattern=[`[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?${ST})`,"(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(pattern,onlyFirst?void 0:"g")}var regex2=ansiRegex2();function stripAnsi2(string){if(typeof string!=="string"){throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``)}return string.replace(regex2,"")}var ANSI_BACKGROUND_OFFSET2=10;var wrapAnsi162=(offset=0)=>code=>`\x1B[${code+offset}m`;var wrapAnsi2562=(offset=0)=>code=>`\x1B[${38+offset};5;${code}m`;var wrapAnsi16m2=(offset=0)=>(red,green,blue)=>`\x1B[${38+offset};2;${red};${green};${blue}m`;var styles3={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};var modifierNames2=Object.keys(styles3.modifier);var foregroundColorNames2=Object.keys(styles3.color);var backgroundColorNames2=Object.keys(styles3.bgColor);var colorNames2=[...foregroundColorNames2,...backgroundColorNames2];function assembleStyles2(){const codes=new Map;for(const[groupName,group]of Object.entries(styles3)){for(const[styleName,style]of Object.entries(group)){styles3[styleName]={open:`\x1B[${style[0]}m`,close:`\x1B[${style[1]}m`};group[styleName]=styles3[styleName];codes.set(style[0],style[1])}Object.defineProperty(styles3,groupName,{value:group,enumerable:false})}Object.defineProperty(styles3,"codes",{value:codes,enumerable:false});styles3.color.close="\x1B[39m";styles3.bgColor.close="\x1B[49m";styles3.color.ansi=wrapAnsi162();styles3.color.ansi256=wrapAnsi2562();styles3.color.ansi16m=wrapAnsi16m2();styles3.bgColor.ansi=wrapAnsi162(ANSI_BACKGROUND_OFFSET2);styles3.bgColor.ansi256=wrapAnsi2562(ANSI_BACKGROUND_OFFSET2);styles3.bgColor.ansi16m=wrapAnsi16m2(ANSI_BACKGROUND_OFFSET2);Object.defineProperties(styles3,{rgbToAnsi256:{value:(red,green,blue)=>{if(red===green&&green===blue){if(red<8){return 16}if(red>248){return 231}return Math.round((red-8)/247*24)+232}return 16+36*Math.round(red/255*5)+6*Math.round(green/255*5)+Math.round(blue/255*5)},enumerable:false},hexToRgb:{value:hex=>{const matches2=/[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));if(!matches2){return[0,0,0]}let[colorString]=matches2;if(colorString.length===3){colorString=[...colorString].map(character=>character+character).join("")}const integer=Number.parseInt(colorString,16);return[integer>>16&255,integer>>8&255,integer&255]},enumerable:false},hexToAnsi256:{value:hex=>styles3.rgbToAnsi256(...styles3.hexToRgb(hex)),enumerable:false},ansi256ToAnsi:{value:code=>{if(code<8){return 30+code}if(code<16){return 90+(code-8)}let red;let green;let blue;if(code>=232){red=((code-232)*10+8)/255;green=red;blue=red}else{code-=16;const remainder=code%36;red=Math.floor(code/36)/5;green=Math.floor(remainder/6)/5;blue=remainder%6/5}const value=Math.max(red,green,blue)*2;if(value===0){return 30}let result2=30+(Math.round(blue)<<2|Math.round(green)<<1|Math.round(red));if(value===2){result2+=60}return result2},enumerable:false},rgbToAnsi:{value:(red,green,blue)=>styles3.ansi256ToAnsi(styles3.rgbToAnsi256(red,green,blue)),enumerable:false},hexToAnsi:{value:hex=>styles3.ansi256ToAnsi(styles3.hexToAnsi256(hex)),enumerable:false}});return styles3}var ansiStyles2=assembleStyles2();var ansi_styles_default2=ansiStyles2;var ESCAPES=new Set(["\x1B",""]);var END_CODE=39;var ANSI_ESCAPE_BELL="\x07";var ANSI_CSI="[";var ANSI_OSC="]";var ANSI_SGR_TERMINATOR="m";var ANSI_ESCAPE_LINK=`${ANSI_OSC}8;;`;var wrapAnsiCode=code=>`${ESCAPES.values().next().value}${ANSI_CSI}${code}${ANSI_SGR_TERMINATOR}`;var wrapAnsiHyperlink=uri=>`${ESCAPES.values().next().value}${ANSI_ESCAPE_LINK}${uri}${ANSI_ESCAPE_BELL}`;var wordLengths=string=>string.split(" ").map(character=>stringWidth(character));var wrapWord=(rows,word,columns)=>{const characters=[...word];let isInsideEscape=false;let isInsideLinkEscape=false;let visible=stringWidth(stripAnsi2(rows[rows.length-1]));for(const[index,character]of characters.entries()){const characterLength=stringWidth(character);if(visible+characterLength<=columns){rows[rows.length-1]+=character}else{rows.push(character);visible=0}if(ESCAPES.has(character)){isInsideEscape=true;isInsideLinkEscape=characters.slice(index+1).join("").startsWith(ANSI_ESCAPE_LINK)}if(isInsideEscape){if(isInsideLinkEscape){if(character===ANSI_ESCAPE_BELL){isInsideEscape=false;isInsideLinkEscape=false}}else if(character===ANSI_SGR_TERMINATOR){isInsideEscape=false}continue}visible+=characterLength;if(visible===columns&&index<characters.length-1){rows.push("");visible=0}}if(!visible&&rows[rows.length-1].length>0&&rows.length>1){rows[rows.length-2]+=rows.pop()}};var stringVisibleTrimSpacesRight=string=>{const words2=string.split(" ");let last2=words2.length;while(last2>0){if(stringWidth(words2[last2-1])>0){break}last2--}if(last2===words2.length){return string}return words2.slice(0,last2).join(" ")+words2.slice(last2).join("")};var exec=(string,columns,options={})=>{if(options.trim!==false&&string.trim()===""){return""}let returnValue="";let escapeCode;let escapeUrl;const lengths=wordLengths(string);let rows=[""];for(const[index,word]of string.split(" ").entries()){if(options.trim!==false){rows[rows.length-1]=rows[rows.length-1].trimStart()}let rowLength=stringWidth(rows[rows.length-1]);if(index!==0){if(rowLength>=columns&&(options.wordWrap===false||options.trim===false)){rows.push("");rowLength=0}if(rowLength>0||options.trim===false){rows[rows.length-1]+=" ";rowLength++}}if(options.hard&&lengths[index]>columns){const remainingColumns=columns-rowLength;const breaksStartingThisLine=1+Math.floor((lengths[index]-remainingColumns-1)/columns);const breaksStartingNextLine=Math.floor((lengths[index]-1)/columns);if(breaksStartingNextLine<breaksStartingThisLine){rows.push("")}wrapWord(rows,word,columns);continue}if(rowLength+lengths[index]>columns&&rowLength>0&&lengths[index]>0){if(options.wordWrap===false&&rowLength<columns){wrapWord(rows,word,columns);continue}rows.push("")}if(rowLength+lengths[index]>columns&&options.wordWrap===false){wrapWord(rows,word,columns);continue}rows[rows.length-1]+=word}if(options.trim!==false){rows=rows.map(row=>stringVisibleTrimSpacesRight(row))}const pre=[...rows.join("\n")];for(const[index,character]of pre.entries()){returnValue+=character;if(ESCAPES.has(character)){const{groups}=new RegExp(`(?:\\${ANSI_CSI}(?<code>\\d+)m|\\${ANSI_ESCAPE_LINK}(?<uri>.*)${ANSI_ESCAPE_BELL})`).exec(pre.slice(index).join(""))||{groups:{}};if(groups.code!==void 0){const code2=Number.parseFloat(groups.code);escapeCode=code2===END_CODE?void 0:code2}else if(groups.uri!==void 0){escapeUrl=groups.uri.length===0?void 0:groups.uri}}const code=ansi_styles_default2.codes.get(Number(escapeCode));if(pre[index+1]==="\n"){if(escapeUrl){returnValue+=wrapAnsiHyperlink("")}if(escapeCode&&code){returnValue+=wrapAnsiCode(code)}}else if(character==="\n"){if(escapeCode&&code){returnValue+=wrapAnsiCode(escapeCode)}if(escapeUrl){returnValue+=wrapAnsiHyperlink(escapeUrl)}}}return returnValue};function wrapAnsi(string,columns,options){return String(string).normalize().replace(/\r\n/g,"\n").split("\n").map(line=>exec(line,columns,options)).join("\n")}var import_cli_boxes2=__toESM(require_cli_boxes(),1);var NEWLINE="\n";var PAD=" ";var NONE="none";var terminalColumns=()=>{const{env:env2,stdout,stderr}=import_node_process2.default;if(stdout==null?void 0:stdout.columns){return stdout.columns}if(stderr==null?void 0:stderr.columns){return stderr.columns}if(env2.COLUMNS){return Number.parseInt(env2.COLUMNS,10)}return 80};var getObject=detail=>typeof detail==="number"?{top:detail,right:detail*3,bottom:detail,left:detail*3}:{top:0,right:0,bottom:0,left:0,...detail};var getBorderWidth=borderStyle=>borderStyle===NONE?0:2;var getBorderChars=borderStyle=>{const sides=["topLeft","topRight","bottomRight","bottomLeft","left","right","top","bottom"];let characters;if(borderStyle===NONE){borderStyle={};for(const side of sides){borderStyle[side]=""}}if(typeof borderStyle==="string"){characters=import_cli_boxes.default[borderStyle];if(!characters){throw new TypeError(`Invalid border style: ${borderStyle}`)}}else{if(typeof(borderStyle==null?void 0:borderStyle.vertical)==="string"){borderStyle.left=borderStyle.vertical;borderStyle.right=borderStyle.vertical}if(typeof(borderStyle==null?void 0:borderStyle.horizontal)==="string"){borderStyle.top=borderStyle.horizontal;borderStyle.bottom=borderStyle.horizontal}for(const side of sides){if(borderStyle[side]===null||typeof borderStyle[side]!=="string"){throw new TypeError(`Invalid border style: ${side}`)}}characters=borderStyle}return characters};var makeTitle=(text,horizontal,alignment)=>{let title="";const textWidth=stringWidth(text);switch(alignment){case"left":{title=text+horizontal.slice(textWidth);break}case"right":{title=horizontal.slice(textWidth)+text;break}default:{horizontal=horizontal.slice(textWidth);if(horizontal.length%2===1){horizontal=horizontal.slice(Math.floor(horizontal.length/2));title=horizontal.slice(1)+text+horizontal}else{horizontal=horizontal.slice(horizontal.length/2);title=horizontal+text+horizontal}break}}return title};var makeContentText=(text,{padding,width,textAlignment,height})=>{text=(0,import_ansi_align.default)(text,{align:textAlignment});let lines=text.split(NEWLINE);const textWidth=widestLine(text);const max3=width-padding.left-padding.right;if(textWidth>max3){const newLines=[];for(const line of lines){const createdLines=wrapAnsi(line,max3,{hard:true});const alignedLines=(0,import_ansi_align.default)(createdLines,{align:textAlignment});const alignedLinesArray=alignedLines.split("\n");const longestLength=Math.max(...alignedLinesArray.map(s=>stringWidth(s)));for(const alignedLine of alignedLinesArray){let paddedLine;switch(textAlignment){case"center":{paddedLine=PAD.repeat((max3-longestLength)/2)+alignedLine;break}case"right":{paddedLine=PAD.repeat(max3-longestLength)+alignedLine;break}default:{paddedLine=alignedLine;break}}newLines.push(paddedLine)}}lines=newLines}if(textAlignment==="center"&&textWidth<max3){lines=lines.map(line=>PAD.repeat((max3-textWidth)/2)+line)}else if(textAlignment==="right"&&textWidth<max3){lines=lines.map(line=>PAD.repeat(max3-textWidth)+line)}const paddingLeft=PAD.repeat(padding.left);const paddingRight=PAD.repeat(padding.right);lines=lines.map(line=>paddingLeft+line+paddingRight);lines=lines.map(line=>{if(width-stringWidth(line)>0){switch(textAlignment){case"center":{return line+PAD.repeat(width-stringWidth(line))}case"right":{return line+PAD.repeat(width-stringWidth(line))}default:{return line+PAD.repeat(width-stringWidth(line))}}}return line});if(padding.top>0){lines=[...Array.from({length:padding.top}).fill(PAD.repeat(width)),...lines]}if(padding.bottom>0){lines=[...lines,...Array.from({length:padding.bottom}).fill(PAD.repeat(width))]}if(height&&lines.length>height){lines=lines.slice(0,height)}else if(height&&lines.length<height){lines=[...lines,...Array.from({length:height-lines.length}).fill(PAD.repeat(width))]}return lines.join(NEWLINE)};var boxContent=(content,contentWidth,options)=>{const colorizeBorder=border=>{const newBorder=options.borderColor?getColorFn(options.borderColor)(border):border;return options.dimBorder?source_default.dim(newBorder):newBorder};const colorizeContent=content2=>options.backgroundColor?getBGColorFn(options.backgroundColor)(content2):content2;const chars=getBorderChars(options.borderStyle);const columns=terminalColumns();let marginLeft=PAD.repeat(options.margin.left);if(options.float==="center"){const marginWidth=Math.max((columns-contentWidth-getBorderWidth(options.borderStyle))/2,0);marginLeft=PAD.repeat(marginWidth)}else if(options.float==="right"){const marginWidth=Math.max(columns-contentWidth-options.margin.right-getBorderWidth(options.borderStyle),0);marginLeft=PAD.repeat(marginWidth)}let result2="";if(options.margin.top){result2+=NEWLINE.repeat(options.margin.top)}if(options.borderStyle!==NONE||options.title){result2+=colorizeBorder(marginLeft+chars.topLeft+(options.title?makeTitle(options.title,chars.top.repeat(contentWidth),options.titleAlignment):chars.top.repeat(contentWidth))+chars.topRight)+NEWLINE}const lines=content.split(NEWLINE);result2+=lines.map(line=>marginLeft+colorizeBorder(chars.left)+colorizeContent(line)+colorizeBorder(chars.right)).join(NEWLINE);if(options.borderStyle!==NONE){result2+=NEWLINE+colorizeBorder(marginLeft+chars.bottomLeft+chars.bottom.repeat(contentWidth)+chars.bottomRight)}if(options.margin.bottom){result2+=NEWLINE.repeat(options.margin.bottom)}return result2};var sanitizeOptions=options=>{var _a12;if(options.fullscreen&&((_a12=import_node_process2.default)==null?void 0:_a12.stdout)){let newDimensions=[import_node_process2.default.stdout.columns,import_node_process2.default.stdout.rows];if(typeof options.fullscreen==="function"){newDimensions=options.fullscreen(...newDimensions)}if(!options.width){options.width=newDimensions[0]}if(!options.height){options.height=newDimensions[1]}}if(options.width){options.width=Math.max(1,options.width-getBorderWidth(options.borderStyle))}if(options.height){options.height=Math.max(1,options.height-getBorderWidth(options.borderStyle))}return options};var formatTitle=(title,borderStyle)=>borderStyle===NONE?title:` ${title} `;var determineDimensions=(text,options)=>{options=sanitizeOptions(options);const widthOverride=options.width!==void 0;const columns=terminalColumns();const borderWidth=getBorderWidth(options.borderStyle);const maxWidth=columns-options.margin.left-options.margin.right-borderWidth;const widest=widestLine(wrapAnsi(text,columns-borderWidth,{hard:true,trim:false}))+options.padding.left+options.padding.right;if(options.title&&widthOverride){options.title=options.title.slice(0,Math.max(0,options.width-2));if(options.title){options.title=formatTitle(options.title,options.borderStyle)}}else if(options.title){options.title=options.title.slice(0,Math.max(0,maxWidth-2));if(options.title){options.title=formatTitle(options.title,options.borderStyle);if(stringWidth(options.title)>widest){options.width=stringWidth(options.title)}}}options.width=options.width?options.width:widest;if(!widthOverride){if(options.margin.left&&options.margin.right&&options.width>maxWidth){const spaceForMargins=columns-options.width-borderWidth;const multiplier=spaceForMargins/(options.margin.left+options.margin.right);options.margin.left=Math.max(0,Math.floor(options.margin.left*multiplier));options.margin.right=Math.max(0,Math.floor(options.margin.right*multiplier))}options.width=Math.min(options.width,columns-borderWidth-options.margin.left-options.margin.right)}if(options.width-(options.padding.left+options.padding.right)<=0){options.padding.left=0;options.padding.right=0}if(options.height&&options.height-(options.padding.top+options.padding.bottom)<=0){options.padding.top=0;options.padding.bottom=0}return options};var isHex=color=>color.match(/^#(?:[0-f]{3}){1,2}$/i);var isColorValid=color=>typeof color==="string"&&(source_default[color]??isHex(color));var getColorFn=color=>isHex(color)?source_default.hex(color):source_default[color];var getBGColorFn=color=>isHex(color)?source_default.bgHex(color):source_default[camelCase2(["bg",color])];function boxen(text,options){options={padding:0,borderStyle:"single",dimBorder:false,textAlignment:"left",float:"left",titleAlignment:"left",...options};if(options.align){options.textAlignment=options.align}if(options.borderColor&&!isColorValid(options.borderColor)){throw new Error(`${options.borderColor} is not a valid borderColor`)}if(options.backgroundColor&&!isColorValid(options.backgroundColor)){throw new Error(`${options.backgroundColor} is not a valid backgroundColor`)}options.padding=getObject(options.padding);options.margin=getObject(options.margin);options=determineDimensions(text,options);text=makeContentText(text,options);return boxContent(text,options.width,options)}var import_open=__toESM(require_open(),1);function ascending(a,b){return a==null||b==null?NaN:a<b?-1:a>b?1:a>=b?0:NaN}function*numbers(values2,valueof){if(valueof===void 0){for(let value of values2){if(value!=null&&(value=+value)>=value){yield value}}}else{let index=-1;for(let value of values2){if((value=valueof(value,++index,values2))!=null&&(value=+value)>=value){yield value}}}}function compareDefined(compare=ascending){if(compare===ascending)return ascendingDefined;if(typeof compare!=="function")throw new TypeError("compare is not a function");return(a,b)=>{const x=compare(a,b);if(x||x===0)return x;return(compare(b,b)===0)-(compare(a,a)===0)}}function ascendingDefined(a,b){return(a==null||!(a>=a))-(b==null||!(b>=b))||(a<b?-1:a>b?1:0)}function max2(values2,valueof){let max3;if(valueof===void 0){for(const value of values2){if(value!=null&&(max3<value||max3===void 0&&value>=value)){max3=value}}}else{let index=-1;for(let value of values2){if((value=valueof(value,++index,values2))!=null&&(max3<value||max3===void 0&&value>=value)){max3=value}}}return max3}function min2(values2,valueof){let min3;if(valueof===void 0){for(const value of values2){if(value!=null&&(min3>value||min3===void 0&&value>=value)){min3=value}}}else{let index=-1;for(let value of values2){if((value=valueof(value,++index,values2))!=null&&(min3>value||min3===void 0&&value>=value)){min3=value}}}return min3}function quickselect(array,k,left=0,right=Infinity,compare){k=Math.floor(k);left=Math.floor(Math.max(0,left));right=Math.floor(Math.min(array.length-1,right));if(!(left<=k&&k<=right))return array;compare=compare===void 0?ascendingDefined:compareDefined(compare);while(right>left){if(right-left>600){const n=right-left+1;const m=k-left+1;const z2=Math.log(n);const s=.5*Math.exp(2*z2/3);const sd=.5*Math.sqrt(z2*s*(n-s)/n)*(m-n/2<0?-1:1);const newLeft=Math.max(left,Math.floor(k-m*s/n+sd));const newRight=Math.min(right,Math.floor(k+(n-m)*s/n+sd));quickselect(array,k,newLeft,newRight,compare)}const t=array[k];let i=left;let j=right;swap(array,left,k);if(compare(array[right],t)>0)swap(array,left,right);while(i<j){swap(array,i,j),++i,--j;while(compare(array[i],t)<0)++i;while(compare(array[j],t)>0)--j}if(compare(array[left],t)===0)swap(array,left,j);else++j,swap(array,j,right);if(j<=k)left=j+1;if(k<=j)right=j-1}return array}function swap(array,i,j){const t=array[i];array[i]=array[j];array[j]=t}function quantile(values2,p,valueof){values2=Float64Array.from(numbers(values2,valueof));if(!(n=values2.length)||isNaN(p=+p))return;if(p<=0||n<2)return min2(values2);if(p>=1)return max2(values2);var n,i=(n-1)*p,i0=Math.floor(i),value0=max2(quickselect(values2,i0).subarray(0,i0+1)),value1=min2(values2.subarray(i0+1));return value0+(value1-value0)*(i-i0)}function median(values2,valueof){return quantile(values2,.5,valueof)}var shuffle_default2=shuffler(Math.random);function shuffler(random3){return function shuffle2(array,i0=0,i1=array.length){let m=i1-(i0=+i0);while(m){const i=random3()*m--|0,t=array[m+i0];array[m+i0]=array[i+i0];array[i+i0]=t}return array}}var typedArrayTypeNames=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function isTypedArrayName(name){return typedArrayTypeNames.includes(name)}var objectTypeNames=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Blob","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","WeakRef","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","FormData","URLSearchParams","HTMLElement","NaN",...typedArrayTypeNames];function isObjectTypeName(name){return objectTypeNames.includes(name)}var primitiveTypeNames=["null","undefined","string","number","bigint","boolean","symbol"];function isPrimitiveTypeName(name){return primitiveTypeNames.includes(name)}function isOfType(type2){return value=>typeof value===type2}var{toString:toString2}=Object.prototype;var getObjectType=value=>{const objectTypeName=toString2.call(value).slice(8,-1);if(/HTML\w+Element/.test(objectTypeName)&&is.domElement(value)){return"HTMLElement"}if(isObjectTypeName(objectTypeName)){return objectTypeName}return void 0};var isObjectOfType=type2=>value=>getObjectType(value)===type2;function is(value){if(value===null){return"null"}switch(typeof value){case"undefined":{return"undefined"}case"string":{return"string"}case"number":{return Number.isNaN(value)?"NaN":"number"}case"boolean":{return"boolean"}case"function":{return"Function"}case"bigint":{return"bigint"}case"symbol":{return"symbol"}default:}if(is.observable(value)){return"Observable"}if(is.array(value)){return"Array"}if(is.buffer(value)){return"Buffer"}const tagType=getObjectType(value);if(tagType){return tagType}if(value instanceof String||value instanceof Boolean||value instanceof Number){throw new TypeError("Please don't use object wrappers for primitive types")}return"Object"}is.undefined=isOfType("undefined");is.string=isOfType("string");var isNumberType=isOfType("number");is.number=value=>isNumberType(value)&&!is.nan(value);is.positiveNumber=value=>is.number(value)&&value>0;is.negativeNumber=value=>is.number(value)&&value<0;is.bigint=isOfType("bigint");is.function_=isOfType("function");is.null_=value=>value===null;is.class_=value=>is.function_(value)&&value.toString().startsWith("class ");is.boolean=value=>value===true||value===false;is.symbol=isOfType("symbol");is.numericString=value=>is.string(value)&&!is.emptyStringOrWhitespace(value)&&!Number.isNaN(Number(value));is.array=(value,assertion)=>{if(!Array.isArray(value)){return false}if(!is.function_(assertion)){return true}return value.every(element=>assertion(element))};is.buffer=value=>{var _a12,_b2;return((_b2=(_a12=value==null?void 0:value.constructor)==null?void 0:_a12.isBuffer)==null?void 0:_b2.call(_a12,value))??false};is.blob=value=>isObjectOfType("Blob")(value);is.nullOrUndefined=value=>is.null_(value)||is.undefined(value);is.object=value=>!is.null_(value)&&(typeof value==="object"||is.function_(value));is.iterable=value=>is.function_(value==null?void 0:value[Symbol.iterator]);is.asyncIterable=value=>is.function_(value==null?void 0:value[Symbol.asyncIterator]);is.generator=value=>is.iterable(value)&&is.function_(value==null?void 0:value.next)&&is.function_(value==null?void 0:value.throw);is.asyncGenerator=value=>is.asyncIterable(value)&&is.function_(value.next)&&is.function_(value.throw);is.nativePromise=value=>isObjectOfType("Promise")(value);var hasPromiseApi=value=>is.function_(value==null?void 0:value.then)&&is.function_(value==null?void 0:value.catch);is.promise=value=>is.nativePromise(value)||hasPromiseApi(value);is.generatorFunction=isObjectOfType("GeneratorFunction");is.asyncGeneratorFunction=value=>getObjectType(value)==="AsyncGeneratorFunction";is.asyncFunction=value=>getObjectType(value)==="AsyncFunction";is.boundFunction=value=>is.function_(value)&&!value.hasOwnProperty("prototype");is.regExp=isObjectOfType("RegExp");is.date=isObjectOfType("Date");is.error=isObjectOfType("Error");is.map=value=>isObjectOfType("Map")(value);is.set=value=>isObjectOfType("Set")(value);is.weakMap=value=>isObjectOfType("WeakMap")(value);is.weakSet=value=>isObjectOfType("WeakSet")(value);is.weakRef=value=>isObjectOfType("WeakRef")(value);is.int8Array=isObjectOfType("Int8Array");is.uint8Array=isObjectOfType("Uint8Array");is.uint8ClampedArray=isObjectOfType("Uint8ClampedArray");is.int16Array=isObjectOfType("Int16Array");is.uint16Array=isObjectOfType("Uint16Array");is.int32Array=isObjectOfType("Int32Array");is.uint32Array=isObjectOfType("Uint32Array");is.float32Array=isObjectOfType("Float32Array");is.float64Array=isObjectOfType("Float64Array");is.bigInt64Array=isObjectOfType("BigInt64Array");is.bigUint64Array=isObjectOfType("BigUint64Array");is.arrayBuffer=isObjectOfType("ArrayBuffer");is.sharedArrayBuffer=isObjectOfType("SharedArrayBuffer");is.dataView=isObjectOfType("DataView");is.enumCase=(value,targetEnum)=>Object.values(targetEnum).includes(value);is.directInstanceOf=(instance,class_)=>Object.getPrototypeOf(instance)===class_.prototype;is.urlInstance=value=>isObjectOfType("URL")(value);is.urlString=value=>{if(!is.string(value)){return false}try{new URL(value);return true}catch{return false}};is.truthy=value=>Boolean(value);is.falsy=value=>!value;is.nan=value=>Number.isNaN(value);is.primitive=value=>is.null_(value)||isPrimitiveTypeName(typeof value);is.integer=value=>Number.isInteger(value);is.safeInteger=value=>Number.isSafeInteger(value);is.plainObject=value=>{if(typeof value!=="object"||value===null){return false}const prototype=Object.getPrototypeOf(value);return(prototype===null||prototype===Object.prototype||Object.getPrototypeOf(prototype)===null)&&!(Symbol.toStringTag in value)&&!(Symbol.iterator in value)};is.typedArray=value=>isTypedArrayName(getObjectType(value));var isValidLength=value=>is.safeInteger(value)&&value>=0;is.arrayLike=value=>!is.nullOrUndefined(value)&&!is.function_(value)&&isValidLength(value.length);is.tupleLike=(value,guards)=>{if(is.array(guards)&&is.array(value)&&guards.length===value.length){return guards.every((guard,index)=>guard(value[index]))}return false};is.inRange=(value,range2)=>{if(is.number(range2)){return value>=Math.min(0,range2)&&value<=Math.max(range2,0)}if(is.array(range2)&&range2.length===2){return value>=Math.min(...range2)&&value<=Math.max(...range2)}throw new TypeError(`Invalid range: ${JSON.stringify(range2)}`)};var NODE_TYPE_ELEMENT=1;var DOM_PROPERTIES_TO_CHECK=["innerHTML","ownerDocument","style","attributes","nodeValue"];is.domElement=value=>is.object(value)&&value.nodeType===NODE_TYPE_ELEMENT&&is.string(value.nodeName)&&!is.plainObject(value)&&DOM_PROPERTIES_TO_CHECK.every(property2=>property2 in value);is.observable=value=>{var _a12,_b2;if(!value){return false}if(value===((_a12=value[Symbol.observable])==null?void 0:_a12.call(value))){return true}if(value===((_b2=value["@@observable"])==null?void 0:_b2.call(value))){return true}return false};is.nodeStream=value=>is.object(value)&&is.function_(value.pipe)&&!is.observable(value);is.infinite=value=>value===Number.POSITIVE_INFINITY||value===Number.NEGATIVE_INFINITY;var isAbsoluteMod2=remainder=>value=>is.integer(value)&&Math.abs(value%2)===remainder;is.evenInteger=isAbsoluteMod2(0);is.oddInteger=isAbsoluteMod2(1);is.emptyArray=value=>is.array(value)&&value.length===0;is.nonEmptyArray=value=>is.array(value)&&value.length>0;is.emptyString=value=>is.string(value)&&value.length===0;var isWhiteSpaceString=value=>is.string(value)&&!/\S/.test(value);is.emptyStringOrWhitespace=value=>is.emptyString(value)||isWhiteSpaceString(value);is.nonEmptyString=value=>is.string(value)&&value.length>0;is.nonEmptyStringAndNotWhitespace=value=>is.string(value)&&!is.emptyStringOrWhitespace(value);is.emptyObject=value=>is.object(value)&&!is.map(value)&&!is.set(value)&&Object.keys(value).length===0;is.nonEmptyObject=value=>is.object(value)&&!is.map(value)&&!is.set(value)&&Object.keys(value).length>0;is.emptySet=value=>is.set(value)&&value.size===0;is.nonEmptySet=value=>is.set(value)&&value.size>0;is.emptyMap=value=>is.map(value)&&value.size===0;is.nonEmptyMap=value=>is.map(value)&&value.size>0;is.propertyKey=value=>is.any([is.string,is.number,is.symbol],value);is.formData=value=>isObjectOfType("FormData")(value);is.urlSearchParams=value=>isObjectOfType("URLSearchParams")(value);var predicateOnArray=(method2,predicate,values2)=>{if(!is.function_(predicate)){throw new TypeError(`Invalid predicate: ${JSON.stringify(predicate)}`)}if(values2.length===0){throw new TypeError("Invalid number of values")}return method2.call(values2,predicate)};is.any=(predicate,...values2)=>{const predicates=is.array(predicate)?predicate:[predicate];return predicates.some(singlePredicate=>predicateOnArray(Array.prototype.some,singlePredicate,values2))};is.all=(predicate,...values2)=>predicateOnArray(Array.prototype.every,predicate,values2);var assertType=(condition,description,value,options={})=>{if(!condition){const{multipleValues}=options;const valuesMessage=multipleValues?`received values of types ${[...new Set(value.map(singleValue=>`\`${is(singleValue)}\``))].join(", ")}`:`received value of type \`${is(value)}\``;throw new TypeError(`Expected value which is \`${description}\`, ${valuesMessage}.`)}};var assert={undefined:value=>assertType(is.undefined(value),"undefined",value),string:value=>assertType(is.string(value),"string",value),number:value=>assertType(is.number(value),"number",value),positiveNumber:value=>assertType(is.positiveNumber(value),"positive number",value),negativeNumber:value=>assertType(is.negativeNumber(value),"negative number",value),bigint:value=>assertType(is.bigint(value),"bigint",value),function_:value=>assertType(is.function_(value),"Function",value),null_:value=>assertType(is.null_(value),"null",value),class_:value=>assertType(is.class_(value),"Class",value),boolean:value=>assertType(is.boolean(value),"boolean",value),symbol:value=>assertType(is.symbol(value),"symbol",value),numericString:value=>assertType(is.numericString(value),"string with a number",value),array:(value,assertion)=>{const assert2=assertType;assert2(is.array(value),"Array",value);if(assertion){value.forEach(assertion)}},buffer:value=>assertType(is.buffer(value),"Buffer",value),blob:value=>assertType(is.blob(value),"Blob",value),nullOrUndefined:value=>assertType(is.nullOrUndefined(value),"null or undefined",value),object:value=>assertType(is.object(value),"Object",value),iterable:value=>assertType(is.iterable(value),"Iterable",value),asyncIterable:value=>assertType(is.asyncIterable(value),"AsyncIterable",value),generator:value=>assertType(is.generator(value),"Generator",value),asyncGenerator:value=>assertType(is.asyncGenerator(value),"AsyncGenerator",value),nativePromise:value=>assertType(is.nativePromise(value),"native Promise",value),promise:value=>assertType(is.promise(value),"Promise",value),generatorFunction:value=>assertType(is.generatorFunction(value),"GeneratorFunction",value),asyncGeneratorFunction:value=>assertType(is.asyncGeneratorFunction(value),"AsyncGeneratorFunction",value),asyncFunction:value=>assertType(is.asyncFunction(value),"AsyncFunction",value),boundFunction:value=>assertType(is.boundFunction(value),"Function",value),regExp:value=>assertType(is.regExp(value),"RegExp",value),date:value=>assertType(is.date(value),"Date",value),error:value=>assertType(is.error(value),"Error",value),map:value=>assertType(is.map(value),"Map",value),set:value=>assertType(is.set(value),"Set",value),weakMap:value=>assertType(is.weakMap(value),"WeakMap",value),weakSet:value=>assertType(is.weakSet(value),"WeakSet",value),weakRef:value=>assertType(is.weakRef(value),"WeakRef",value),int8Array:value=>assertType(is.int8Array(value),"Int8Array",value),uint8Array:value=>assertType(is.uint8Array(value),"Uint8Array",value),uint8ClampedArray:value=>assertType(is.uint8ClampedArray(value),"Uint8ClampedArray",value),int16Array:value=>assertType(is.int16Array(value),"Int16Array",value),uint16Array:value=>assertType(is.uint16Array(value),"Uint16Array",value),int32Array:value=>assertType(is.int32Array(value),"Int32Array",value),uint32Array:value=>assertType(is.uint32Array(value),"Uint32Array",value),float32Array:value=>assertType(is.float32Array(value),"Float32Array",value),float64Array:value=>assertType(is.float64Array(value),"Float64Array",value),bigInt64Array:value=>assertType(is.bigInt64Array(value),"BigInt64Array",value),bigUint64Array:value=>assertType(is.bigUint64Array(value),"BigUint64Array",value),arrayBuffer:value=>assertType(is.arrayBuffer(value),"ArrayBuffer",value),sharedArrayBuffer:value=>assertType(is.sharedArrayBuffer(value),"SharedArrayBuffer",value),dataView:value=>assertType(is.dataView(value),"DataView",value),enumCase:(value,targetEnum)=>assertType(is.enumCase(value,targetEnum),"EnumCase",value),urlInstance:value=>assertType(is.urlInstance(value),"URL",value),urlString:value=>assertType(is.urlString(value),"string with a URL",value),truthy:value=>assertType(is.truthy(value),"truthy",value),falsy:value=>assertType(is.falsy(value),"falsy",value),nan:value=>assertType(is.nan(value),"NaN",value),primitive:value=>assertType(is.primitive(value),"primitive",value),integer:value=>assertType(is.integer(value),"integer",value),safeInteger:value=>assertType(is.safeInteger(value),"integer",value),plainObject:value=>assertType(is.plainObject(value),"plain object",value),typedArray:value=>assertType(is.typedArray(value),"TypedArray",value),arrayLike:value=>assertType(is.arrayLike(value),"array-like",value),tupleLike:(value,guards)=>assertType(is.tupleLike(value,guards),"tuple-like",value),domElement:value=>assertType(is.domElement(value),"HTMLElement",value),observable:value=>assertType(is.observable(value),"Observable",value),nodeStream:value=>assertType(is.nodeStream(value),"Node.js Stream",value),infinite:value=>assertType(is.infinite(value),"infinite number",value),emptyArray:value=>assertType(is.emptyArray(value),"empty array",value),nonEmptyArray:value=>assertType(is.nonEmptyArray(value),"non-empty array",value),emptyString:value=>assertType(is.emptyString(value),"empty string",value),emptyStringOrWhitespace:value=>assertType(is.emptyStringOrWhitespace(value),"empty string or whitespace",value),nonEmptyString:value=>assertType(is.nonEmptyString(value),"non-empty string",value),nonEmptyStringAndNotWhitespace:value=>assertType(is.nonEmptyStringAndNotWhitespace(value),"non-empty string and not whitespace",value),emptyObject:value=>assertType(is.emptyObject(value),"empty object",value),nonEmptyObject:value=>assertType(is.nonEmptyObject(value),"non-empty object",value),emptySet:value=>assertType(is.emptySet(value),"empty set",value),nonEmptySet:value=>assertType(is.nonEmptySet(value),"non-empty set",value),emptyMap:value=>assertType(is.emptyMap(value),"empty map",value),nonEmptyMap:value=>assertType(is.nonEmptyMap(value),"non-empty map",value),propertyKey:value=>assertType(is.propertyKey(value),"PropertyKey",value),formData:value=>assertType(is.formData(value),"FormData",value),urlSearchParams:value=>assertType(is.urlSearchParams(value),"URLSearchParams",value),evenInteger:value=>assertType(is.evenInteger(value),"even integer",value),oddInteger:value=>assertType(is.oddInteger(value),"odd integer",value),directInstanceOf:(instance,class_)=>assertType(is.directInstanceOf(instance,class_),"T",instance),inRange:(value,range2)=>assertType(is.inRange(value,range2),"in range",value),any:(predicate,...values2)=>assertType(is.any(predicate,...values2),"predicate returns truthy for any value",values2,{multipleValues:true}),all:(predicate,...values2)=>assertType(is.all(predicate,...values2),"predicate returns truthy for all values",values2,{multipleValues:true})};Object.defineProperties(is,{class:{value:is.class_},function:{value:is.function_},null:{value:is.null_}});Object.defineProperties(assert,{class:{value:assert.class_},function:{value:assert.function_},null:{value:assert.null_}});var dist_default=is;var import_node_events2=require("node:events");var CancelError=class extends Error{constructor(reason){super(reason||"Promise was canceled");this.name="CancelError"}get isCanceled(){return true}};var PCancelable=class _PCancelable{static fn(userFunction){return(...arguments_)=>{return new _PCancelable((resolve,reject2,onCancel)=>{arguments_.push(onCancel);userFunction(...arguments_).then(resolve,reject2)})}}constructor(executor){this._cancelHandlers=[];this._isPending=true;this._isCanceled=false;this._rejectOnCancel=true;this._promise=new Promise((resolve,reject2)=>{this._reject=reject2;const onResolve=value=>{if(!this._isCanceled||!onCancel.shouldReject){this._isPending=false;resolve(value)}};const onReject=error=>{this._isPending=false;reject2(error)};const onCancel=handler=>{if(!this._isPending){throw new Error("The `onCancel` handler was attached after the promise settled.")}this._cancelHandlers.push(handler)};Object.defineProperties(onCancel,{shouldReject:{get:()=>this._rejectOnCancel,set:boolean=>{this._rejectOnCancel=boolean}}});executor(onResolve,onReject,onCancel)})}then(onFulfilled,onRejected){return this._promise.then(onFulfilled,onRejected)}catch(onRejected){return this._promise.catch(onRejected)}finally(onFinally){return this._promise.finally(onFinally)}cancel(reason){if(!this._isPending||this._isCanceled){return}this._isCanceled=true;if(this._cancelHandlers.length>0){try{for(const handler of this._cancelHandlers){handler()}}catch(error){this._reject(error);return}}if(this._rejectOnCancel){this._reject(new CancelError(reason))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(PCancelable.prototype,Promise.prototype);function isRequest(x){return dist_default.object(x)&&"_onResponse"in x}var RequestError=class extends Error{constructor(message3,error,self2){var _a12;super(message3);Object.defineProperty(this,"input",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"code",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"stack",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"response",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"request",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"timings",{enumerable:true,configurable:true,writable:true,value:void 0});Error.captureStackTrace(this,this.constructor);this.name="RequestError";this.code=error.code??"ERR_GOT_REQUEST_ERROR";this.input=error.input;if(isRequest(self2)){Object.defineProperty(this,"request",{enumerable:false,value:self2});Object.defineProperty(this,"response",{enumerable:false,value:self2.response});this.options=self2.options}else{this.options=self2}this.timings=(_a12=this.request)==null?void 0:_a12.timings;if(dist_default.string(error.stack)&&dist_default.string(this.stack)){const indexOfMessage=this.stack.indexOf(this.message)+this.message.length;const thisStackTrace=this.stack.slice(indexOfMessage).split("\n").reverse();const errorStackTrace=error.stack.slice(error.stack.indexOf(error.message)+error.message.length).split("\n").reverse();while(errorStackTrace.length>0&&errorStackTrace[0]===thisStackTrace[0]){thisStackTrace.shift()}this.stack=`${this.stack.slice(0,indexOfMessage)}${thisStackTrace.reverse().join("\n")}${errorStackTrace.reverse().join("\n")}`}}};var MaxRedirectsError=class extends RequestError{constructor(request){super(`Redirected ${request.options.maxRedirects} times. Aborting.`,{},request);this.name="MaxRedirectsError";this.code="ERR_TOO_MANY_REDIRECTS"}};var HTTPError=class extends RequestError{constructor(response){super(`Response code ${response.statusCode} (${response.statusMessage})`,{},response.request);this.name="HTTPError";this.code="ERR_NON_2XX_3XX_RESPONSE"}};var CacheError=class extends RequestError{constructor(error,request){super(error.message,error,request);this.name="CacheError";this.code=this.code==="ERR_GOT_REQUEST_ERROR"?"ERR_CACHE_ACCESS":this.code}};var UploadError=class extends RequestError{constructor(error,request){super(error.message,error,request);this.name="UploadError";this.code=this.code==="ERR_GOT_REQUEST_ERROR"?"ERR_UPLOAD":this.code}};var TimeoutError=class extends RequestError{constructor(error,timings,request){super(error.message,error,request);Object.defineProperty(this,"timings",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"event",{enumerable:true,configurable:true,writable:true,value:void 0});this.name="TimeoutError";this.event=error.event;this.timings=timings}};var ReadError=class extends RequestError{constructor(error,request){super(error.message,error,request);this.name="ReadError";this.code=this.code==="ERR_GOT_REQUEST_ERROR"?"ERR_READING_RESPONSE_STREAM":this.code}};var RetryError=class extends RequestError{constructor(request){super("Retrying",{},request);this.name="RetryError";this.code="ERR_RETRYING"}};var AbortError=class extends RequestError{constructor(request){super("This operation was aborted.",{},request);this.code="ERR_ABORTED";this.name="AbortError"}};var import_node_process4=__toESM(require("node:process"),1);var import_node_buffer2=require("node:buffer");var import_node_stream4=require("node:stream");var import_node_http2=__toESM(require("node:http"),1);var import_events=require("events");var import_util2=require("util");var import_defer_to_connect=__toESM(require_source(),1);var timer=request=>{if(request.timings){return request.timings}const timings={start:Date.now(),socket:void 0,lookup:void 0,connect:void 0,secureConnect:void 0,upload:void 0,response:void 0,end:void 0,error:void 0,abort:void 0,phases:{wait:void 0,dns:void 0,tcp:void 0,tls:void 0,request:void 0,firstByte:void 0,download:void 0,total:void 0}};request.timings=timings;const handleError=origin=>{origin.once(import_events.errorMonitor,()=>{timings.error=Date.now();timings.phases.total=timings.error-timings.start})};handleError(request);const onAbort=()=>{timings.abort=Date.now();timings.phases.total=timings.abort-timings.start};request.prependOnceListener("abort",onAbort);const onSocket=socket=>{timings.socket=Date.now();timings.phases.wait=timings.socket-timings.start;if(import_util2.types.isProxy(socket)){return}const lookupListener=()=>{timings.lookup=Date.now();timings.phases.dns=timings.lookup-timings.socket};socket.prependOnceListener("lookup",lookupListener);(0,import_defer_to_connect.default)(socket,{connect:()=>{timings.connect=Date.now();if(timings.lookup===void 0){socket.removeListener("lookup",lookupListener);timings.lookup=timings.connect;timings.phases.dns=timings.lookup-timings.socket}timings.phases.tcp=timings.connect-timings.lookup},secureConnect:()=>{timings.secureConnect=Date.now();timings.phases.tls=timings.secureConnect-timings.connect}})};if(request.socket){onSocket(request.socket)}else{request.prependOnceListener("socket",onSocket)}const onUpload=()=>{timings.upload=Date.now();timings.phases.request=timings.upload-(timings.secureConnect??timings.connect)};if(request.writableFinished){onUpload()}else{request.prependOnceListener("finish",onUpload)}request.prependOnceListener("response",response=>{timings.response=Date.now();timings.phases.firstByte=timings.response-timings.upload;response.timings=timings;handleError(response);response.prependOnceListener("end",()=>{request.off("abort",onAbort);response.off("aborted",onAbort);if(timings.phases.total){return}timings.end=Date.now();timings.phases.download=timings.end-timings.response;timings.phases.total=timings.end-timings.start});response.prependOnceListener("aborted",onAbort)});return timings};var source_default2=timer;var import_node_events=__toESM(require("node:events"),1);var import_node_url=__toESM(require("node:url"),1);var import_node_crypto=__toESM(require("node:crypto"),1);var import_node_stream3=__toESM(require("node:stream"),1);var DATA_URL_DEFAULT_MIME_TYPE="text/plain";var DATA_URL_DEFAULT_CHARSET="us-ascii";var testParameter=(name,filters)=>filters.some(filter2=>filter2 instanceof RegExp?filter2.test(name):filter2===name);var supportedProtocols=new Set(["https:","http:","file:"]);var hasCustomProtocol=urlString=>{try{const{protocol}=new URL(urlString);return protocol.endsWith(":")&&!protocol.includes(".")&&!supportedProtocols.has(protocol)}catch{return false}};var normalizeDataURL=(urlString,{stripHash})=>{var _a12;const match=/^data:(?<type>[^,]*?),(?<data>[^#]*?)(?:#(?<hash>.*))?$/.exec(urlString);if(!match){throw new Error(`Invalid URL: ${urlString}`)}let{type:type2,data,hash}=match.groups;const mediaType=type2.split(";");hash=stripHash?"":hash;let isBase64=false;if(mediaType[mediaType.length-1]==="base64"){mediaType.pop();isBase64=true}const mimeType=((_a12=mediaType.shift())==null?void 0:_a12.toLowerCase())??"";const attributes=mediaType.map(attribute=>{let[key,value=""]=attribute.split("=").map(string=>string.trim());if(key==="charset"){value=value.toLowerCase();if(value===DATA_URL_DEFAULT_CHARSET){return""}}return`${key}${value?`=${value}`:""}`}).filter(Boolean);const normalizedMediaType=[...attributes];if(isBase64){normalizedMediaType.push("base64")}if(normalizedMediaType.length>0||mimeType&&mimeType!==DATA_URL_DEFAULT_MIME_TYPE){normalizedMediaType.unshift(mimeType)}return`data:${normalizedMediaType.join(";")},${isBase64?data.trim():data}${hash?`#${hash}`:""}`};function normalizeUrl(urlString,options){options={defaultProtocol:"http",normalizeProtocol:true,forceHttp:false,forceHttps:false,stripAuthentication:true,stripHash:false,stripTextFragment:true,stripWWW:true,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:true,removeSingleSlash:true,removeDirectoryIndex:false,removeExplicitPort:false,sortQueryParameters:true,...options};if(typeof options.defaultProtocol==="string"&&!options.defaultProtocol.endsWith(":")){options.defaultProtocol=`${options.defaultProtocol}:`}urlString=urlString.trim();if(/^data:/i.test(urlString)){return normalizeDataURL(urlString,options)}if(hasCustomProtocol(urlString)){return urlString}const hasRelativeProtocol=urlString.startsWith("//");const isRelativeUrl=!hasRelativeProtocol&&/^\.*\//.test(urlString);if(!isRelativeUrl){urlString=urlString.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,options.defaultProtocol)}const urlObject=new URL(urlString);if(options.forceHttp&&options.forceHttps){throw new Error("The `forceHttp` and `forceHttps` options cannot be used together")}if(options.forceHttp&&urlObject.protocol==="https:"){urlObject.protocol="http:"}if(options.forceHttps&&urlObject.protocol==="http:"){urlObject.protocol="https:"}if(options.stripAuthentication){urlObject.username="";urlObject.password=""}if(options.stripHash){urlObject.hash=""}else if(options.stripTextFragment){urlObject.hash=urlObject.hash.replace(/#?:~:text.*?$/i,"")}if(urlObject.pathname){const protocolRegex=/\b[a-z][a-z\d+\-.]{1,50}:\/\//g;let lastIndex=0;let result2="";for(;;){const match=protocolRegex.exec(urlObject.pathname);if(!match){break}const protocol=match[0];const protocolAtIndex=match.index;const intermediate=urlObject.pathname.slice(lastIndex,protocolAtIndex);result2+=intermediate.replace(/\/{2,}/g,"/");result2+=protocol;lastIndex=protocolAtIndex+protocol.length}const remnant=urlObject.pathname.slice(lastIndex,urlObject.pathname.length);result2+=remnant.replace(/\/{2,}/g,"/");urlObject.pathname=result2}if(urlObject.pathname){try{urlObject.pathname=decodeURI(urlObject.pathname)}catch{}}if(options.removeDirectoryIndex===true){options.removeDirectoryIndex=[/^index\.[a-z]+$/]}if(Array.isArray(options.removeDirectoryIndex)&&options.removeDirectoryIndex.length>0){let pathComponents=urlObject.pathname.split("/");const lastComponent=pathComponents[pathComponents.length-1];if(testParameter(lastComponent,options.removeDirectoryIndex)){pathComponents=pathComponents.slice(0,-1);urlObject.pathname=pathComponents.slice(1).join("/")+"/"}}if(urlObject.hostname){urlObject.hostname=urlObject.hostname.replace(/\.$/,"");if(options.stripWWW&&/^www\.(?!www\.)[a-z\-\d]{1,63}\.[a-z.\-\d]{2,63}$/.test(urlObject.hostname)){urlObject.hostname=urlObject.hostname.replace(/^www\./,"")}}if(Array.isArray(options.removeQueryParameters)){for(const key of[...urlObject.searchParams.keys()]){if(testParameter(key,options.removeQueryParameters)){urlObject.searchParams.delete(key)}}}if(!Array.isArray(options.keepQueryParameters)&&options.removeQueryParameters===true){urlObject.search=""}if(Array.isArray(options.keepQueryParameters)&&options.keepQueryParameters.length>0){for(const key of[...urlObject.searchParams.keys()]){if(!testParameter(key,options.keepQueryParameters)){urlObject.searchParams.delete(key)}}}if(options.sortQueryParameters){urlObject.searchParams.sort();try{urlObject.search=decodeURIComponent(urlObject.search)}catch{}}if(options.removeTrailingSlash){urlObject.pathname=urlObject.pathname.replace(/\/$/,"")}if(options.removeExplicitPort&&urlObject.port){urlObject.port=""}const oldUrlString=urlString;urlString=urlObject.toString();if(!options.removeSingleSlash&&urlObject.pathname==="/"&&!oldUrlString.endsWith("/")&&urlObject.hash===""){urlString=urlString.replace(/\/$/,"")}if((options.removeTrailingSlash||urlObject.pathname==="/")&&urlObject.hash===""&&options.removeSingleSlash){urlString=urlString.replace(/\/$/,"")}if(hasRelativeProtocol&&!options.normalizeProtocol){urlString=urlString.replace(/^http:\/\//,"//")}if(options.stripProtocol){urlString=urlString.replace(/^(?:https?:)?\/\//,"")}return urlString}var import_get_stream=__toESM(require_get_stream(),1);var import_http_cache_semantics=__toESM(require_http_cache_semantics(),1);var import_node_stream2=require("node:stream");function lowercaseKeys(object){return Object.fromEntries(Object.entries(object).map(([key,value])=>[key.toLowerCase(),value]))}var Response=class extends import_node_stream2.Readable{statusCode;headers;body;url;constructor({statusCode,headers,body,url}){if(typeof statusCode!=="number"){throw new TypeError("Argument `statusCode` should be a number")}if(typeof headers!=="object"){throw new TypeError("Argument `headers` should be an object")}if(!(body instanceof Uint8Array)){throw new TypeError("Argument `body` should be a buffer")}if(typeof url!=="string"){throw new TypeError("Argument `url` should be a string")}super({read(){this.push(body);this.push(null)}});this.statusCode=statusCode;this.headers=lowercaseKeys(headers);this.body=body;this.url=url}};var import_keyv=__toESM(require_src(),1);var knownProperties=["aborted","complete","headers","httpVersion","httpVersionMinor","httpVersionMajor","method","rawHeaders","rawTrailers","setTimeout","socket","statusCode","statusMessage","trailers","url"];function mimicResponse(fromStream2,toStream){if(toStream._readableState.autoDestroy){throw new Error("The second stream must have the `autoDestroy` option set to `false`")}const fromProperties=new Set([...Object.keys(fromStream2),...knownProperties]);const properties={};for(const property2 of fromProperties){if(property2 in toStream){continue}properties[property2]={get(){const value=fromStream2[property2];const isFunction3=typeof value==="function";return isFunction3?value.bind(fromStream2):value},set(value){fromStream2[property2]=value},enumerable:true,configurable:false}}Object.defineProperties(toStream,properties);fromStream2.once("aborted",()=>{toStream.destroy();toStream.emit("aborted")});fromStream2.once("close",()=>{if(fromStream2.complete){if(toStream.readable){toStream.once("end",()=>{toStream.emit("close")})}else{toStream.emit("close")}}else{toStream.emit("close")}});return toStream}var RequestError2=class extends Error{constructor(error){super(error.message);Object.assign(this,error)}};var CacheError2=class extends Error{constructor(error){super(error.message);Object.assign(this,error)}};var CacheableRequest=class{constructor(cacheRequest,cacheAdapter){this.hooks=new Map;this.request=()=>(options,cb)=>{let url;if(typeof options==="string"){url=normalizeUrlObject(import_node_url.default.parse(options));options={}}else if(options instanceof import_node_url.default.URL){url=normalizeUrlObject(import_node_url.default.parse(options.toString()));options={}}else{const[pathname,...searchParts]=(options.path??"").split("?");const search2=searchParts.length>0?`?${searchParts.join("?")}`:"";url=normalizeUrlObject({...options,pathname,search:search2})}options={headers:{},method:"GET",cache:true,strictTtl:false,automaticFailover:false,...options,...urlObjectToRequestOptions(url)};options.headers=Object.fromEntries(entries(options.headers).map(([key2,value])=>[key2.toLowerCase(),value]));const ee=new import_node_events.default;const normalizedUrlString=normalizeUrl(import_node_url.default.format(url),{stripWWW:false,removeTrailingSlash:false,stripAuthentication:false});let key=`${options.method}:${normalizedUrlString}`;if(options.body&&options.method!==void 0&&["POST","PATCH","PUT"].includes(options.method)){if(options.body instanceof import_node_stream3.default.Readable){options.cache=false}else{key+=`:${import_node_crypto.default.createHash("md5").update(options.body).digest("hex")}`}}let revalidate=false;let madeRequest=false;const makeRequest=options_=>{madeRequest=true;let requestErrored=false;let requestErrorCallback=()=>{};const requestErrorPromise=new Promise(resolve=>{requestErrorCallback=()=>{if(!requestErrored){requestErrored=true;resolve()}}});const handler=async response=>{if(revalidate){response.status=response.statusCode;const revalidatedPolicy=import_http_cache_semantics.default.fromObject(revalidate.cachePolicy).revalidatedPolicy(options_,response);if(!revalidatedPolicy.modified){response.resume();await new Promise(resolve=>{response.once("end",resolve)});const headers=convertHeaders(revalidatedPolicy.policy.responseHeaders());response=new Response({statusCode:revalidate.statusCode,headers,body:revalidate.body,url:revalidate.url});response.cachePolicy=revalidatedPolicy.policy;response.fromCache=true}}if(!response.fromCache){response.cachePolicy=new import_http_cache_semantics.default(options_,response,options_);response.fromCache=false}let clonedResponse;if(options_.cache&&response.cachePolicy.storable()){clonedResponse=cloneResponse(response);(async()=>{try{const bodyPromise=import_get_stream.default.buffer(response);await Promise.race([requestErrorPromise,new Promise(resolve=>response.once("end",resolve)),new Promise(resolve=>response.once("close",resolve))]);const body=await bodyPromise;let value={url:response.url,statusCode:response.fromCache?revalidate.statusCode:response.statusCode,body,cachePolicy:response.cachePolicy.toObject()};let ttl2=options_.strictTtl?response.cachePolicy.timeToLive():void 0;if(options_.maxTtl){ttl2=ttl2?Math.min(ttl2,options_.maxTtl):options_.maxTtl}if(this.hooks.size>0){for(const key_ of this.hooks.keys()){value=await this.runHook(key_,value,response)}}await this.cache.set(key,value,ttl2)}catch(error){ee.emit("error",new CacheError2(error))}})()}else if(options_.cache&&revalidate){(async()=>{try{await this.cache.delete(key)}catch(error){ee.emit("error",new CacheError2(error))}})()}ee.emit("response",clonedResponse??response);if(typeof cb==="function"){cb(clonedResponse??response)}};try{const request_=this.cacheRequest(options_,handler);request_.once("error",requestErrorCallback);request_.once("abort",requestErrorCallback);request_.once("destroy",requestErrorCallback);ee.emit("request",request_)}catch(error){ee.emit("error",new RequestError2(error))}};(async()=>{const get4=async options_=>{await Promise.resolve();const cacheEntry=options_.cache?await this.cache.get(key):void 0;if(cacheEntry===void 0&&!options_.forceRefresh){makeRequest(options_);return}const policy=import_http_cache_semantics.default.fromObject(cacheEntry.cachePolicy);if(policy.satisfiesWithoutRevalidation(options_)&&!options_.forceRefresh){const headers=convertHeaders(policy.responseHeaders());const response=new Response({statusCode:cacheEntry.statusCode,headers,body:cacheEntry.body,url:cacheEntry.url});response.cachePolicy=policy;response.fromCache=true;ee.emit("response",response);if(typeof cb==="function"){cb(response)}}else if(policy.satisfiesWithoutRevalidation(options_)&&Date.now()>=policy.timeToLive()&&options_.forceRefresh){await this.cache.delete(key);options_.headers=policy.revalidationHeaders(options_);makeRequest(options_)}else{revalidate=cacheEntry;options_.headers=policy.revalidationHeaders(options_);makeRequest(options_)}};const errorHandler=error=>ee.emit("error",new CacheError2(error));if(this.cache instanceof import_keyv.default){const cachek=this.cache;cachek.once("error",errorHandler);ee.on("error",()=>cachek.removeListener("error",errorHandler));ee.on("response",()=>cachek.removeListener("error",errorHandler))}try{await get4(options)}catch(error){if(options.automaticFailover&&!madeRequest){makeRequest(options)}ee.emit("error",new CacheError2(error))}})();return ee};this.addHook=(name,fn2)=>{if(!this.hooks.has(name)){this.hooks.set(name,fn2)}};this.removeHook=name=>this.hooks.delete(name);this.getHook=name=>this.hooks.get(name);this.runHook=async(name,...args2)=>{var _a12;return(_a12=this.hooks.get(name))==null?void 0:_a12(...args2)};if(cacheAdapter instanceof import_keyv.default){this.cache=cacheAdapter}else if(typeof cacheAdapter==="string"){this.cache=new import_keyv.default({uri:cacheAdapter,namespace:"cacheable-request"})}else{this.cache=new import_keyv.default({store:cacheAdapter,namespace:"cacheable-request"})}this.request=this.request.bind(this);this.cacheRequest=cacheRequest}};var entries=Object.entries;var cloneResponse=response=>{const clone2=new import_node_stream3.PassThrough({autoDestroy:false});mimicResponse(response,clone2);return response.pipe(clone2)};var urlObjectToRequestOptions=url=>{const options={...url};options.path=`${url.pathname||"/"}${url.search||""}`;delete options.pathname;delete options.search;return options};var normalizeUrlObject=url=>({protocol:url.protocol,auth:url.auth,hostname:url.hostname||url.host||"localhost",port:url.port,pathname:url.pathname,search:url.search});var convertHeaders=headers=>{const result2=[];for(const name of Object.keys(headers)){result2[name.toLowerCase()]=headers[name]}return result2};var dist_default2=CacheableRequest;var import_decompress_response=__toESM(require_decompress_response(),1);var import_get_stream2=__toESM(require_get_stream(),1);var isFunction2=value=>typeof value==="function";var isAsyncIterable=value=>isFunction2(value[Symbol.asyncIterator]);async function*readStream(readable){const reader=readable.getReader();while(true){const{done,value}=await reader.read();if(done){break}yield value}}var getStreamIterator=source=>{if(isAsyncIterable(source)){return source}if(isFunction2(source.getReader)){return readStream(source)}throw new TypeError("Unsupported data source: Expected either ReadableStream or async iterable.")};var alphabet="abcdefghijklmnopqrstuvwxyz0123456789";function createBoundary(){let size2=16;let res="";while(size2--){res+=alphabet[Math.random()*alphabet.length<<0]}return res}var normalizeValue=value=>String(value).replace(/\r|\n/g,(match,i,str2)=>{if(match==="\r"&&str2[i+1]!=="\n"||match==="\n"&&str2[i-1]!=="\r"){return"\r\n"}return match});var getType=value=>Object.prototype.toString.call(value).slice(8,-1).toLowerCase();function isPlainObject2(value){if(getType(value)!=="object"){return false}const pp=Object.getPrototypeOf(value);if(pp===null||pp===void 0){return true}const Ctor=pp.constructor&&pp.constructor.toString();return Ctor===Object.toString()}function getProperty(target,prop){if(typeof prop==="string"){for(const[name,value]of Object.entries(target)){if(prop.toLowerCase()===name.toLowerCase()){return value}}}return void 0}var proxyHeaders=object=>new Proxy(object,{get:(target,prop)=>getProperty(target,prop),has:(target,prop)=>getProperty(target,prop)!==void 0});var isFormData=value=>Boolean(value&&isFunction2(value.constructor)&&value[Symbol.toStringTag]==="FormData"&&isFunction2(value.append)&&isFunction2(value.getAll)&&isFunction2(value.entries)&&isFunction2(value[Symbol.iterator]));var escapeName=name=>String(name).replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/"/g,"%22");var isFile=value=>Boolean(value&&typeof value==="object"&&isFunction2(value.constructor)&&value[Symbol.toStringTag]==="File"&&isFunction2(value.stream)&&value.name!=null);var __classPrivateFieldSet2=function(receiver,state,value,kind,f){if(kind==="m")throw new TypeError("Private method is not writable");if(kind==="a"&&!f)throw new TypeError("Private accessor was defined without a setter");if(typeof state==="function"?receiver!==state||!f:!state.has(receiver))throw new TypeError("Cannot write private member to an object whose class did not declare it");return kind==="a"?f.call(receiver,value):f?f.value=value:state.set(receiver,value),value};var __classPrivateFieldGet2=function(receiver,state,kind,f){if(kind==="a"&&!f)throw new TypeError("Private accessor was defined without a getter");if(typeof state==="function"?receiver!==state||!f:!state.has(receiver))throw new TypeError("Cannot read private member from an object whose class did not declare it");return kind==="m"?f:kind==="a"?f.call(receiver):f?f.value:state.get(receiver)};var _FormDataEncoder_instances;var _FormDataEncoder_CRLF;var _FormDataEncoder_CRLF_BYTES;var _FormDataEncoder_CRLF_BYTES_LENGTH;var _FormDataEncoder_DASHES;var _FormDataEncoder_encoder;var _FormDataEncoder_footer;var _FormDataEncoder_form;var _FormDataEncoder_options;var _FormDataEncoder_getFieldHeader;var _FormDataEncoder_getContentLength;var defaultOptions={enableAdditionalHeaders:false};var readonlyProp={writable:false,configurable:false};var FormDataEncoder=class{constructor(form,boundaryOrOptions,options){_FormDataEncoder_instances.add(this);_FormDataEncoder_CRLF.set(this,"\r\n");_FormDataEncoder_CRLF_BYTES.set(this,void 0);_FormDataEncoder_CRLF_BYTES_LENGTH.set(this,void 0);_FormDataEncoder_DASHES.set(this,"-".repeat(2));_FormDataEncoder_encoder.set(this,new TextEncoder);_FormDataEncoder_footer.set(this,void 0);_FormDataEncoder_form.set(this,void 0);_FormDataEncoder_options.set(this,void 0);if(!isFormData(form)){throw new TypeError("Expected first argument to be a FormData instance.")}let boundary;if(isPlainObject2(boundaryOrOptions)){options=boundaryOrOptions}else{boundary=boundaryOrOptions}if(!boundary){boundary=createBoundary()}if(typeof boundary!=="string"){throw new TypeError("Expected boundary argument to be a string.")}if(options&&!isPlainObject2(options)){throw new TypeError("Expected options argument to be an object.")}__classPrivateFieldSet2(this,_FormDataEncoder_form,Array.from(form.entries()),"f");__classPrivateFieldSet2(this,_FormDataEncoder_options,{...defaultOptions,...options},"f");__classPrivateFieldSet2(this,_FormDataEncoder_CRLF_BYTES,__classPrivateFieldGet2(this,_FormDataEncoder_encoder,"f").encode(__classPrivateFieldGet2(this,_FormDataEncoder_CRLF,"f")),"f");__classPrivateFieldSet2(this,_FormDataEncoder_CRLF_BYTES_LENGTH,__classPrivateFieldGet2(this,_FormDataEncoder_CRLF_BYTES,"f").byteLength,"f");this.boundary=`form-data-boundary-${boundary}`;this.contentType=`multipart/form-data; boundary=${this.boundary}`;__classPrivateFieldSet2(this,_FormDataEncoder_footer,__classPrivateFieldGet2(this,_FormDataEncoder_encoder,"f").encode(`${__classPrivateFieldGet2(this,_FormDataEncoder_DASHES,"f")}${this.boundary}${__classPrivateFieldGet2(this,_FormDataEncoder_DASHES,"f")}${__classPrivateFieldGet2(this,_FormDataEncoder_CRLF,"f").repeat(2)}`),"f");const headers={"Content-Type":this.contentType};const contentLength=__classPrivateFieldGet2(this,_FormDataEncoder_instances,"m",_FormDataEncoder_getContentLength).call(this);if(contentLength){this.contentLength=contentLength;headers["Content-Length"]=contentLength}this.headers=proxyHeaders(Object.freeze(headers));Object.defineProperties(this,{boundary:readonlyProp,contentType:readonlyProp,contentLength:readonlyProp,headers:readonlyProp})}getContentLength(){return this.contentLength==null?void 0:Number(this.contentLength)}*values(){for(const[name,raw]of __classPrivateFieldGet2(this,_FormDataEncoder_form,"f")){const value=isFile(raw)?raw:__classPrivateFieldGet2(this,_FormDataEncoder_encoder,"f").encode(normalizeValue(raw));yield __classPrivateFieldGet2(this,_FormDataEncoder_instances,"m",_FormDataEncoder_getFieldHeader).call(this,name,value);yield value;yield __classPrivateFieldGet2(this,_FormDataEncoder_CRLF_BYTES,"f")}yield __classPrivateFieldGet2(this,_FormDataEncoder_footer,"f")}async*encode(){for(const part of this.values()){if(isFile(part)){yield*getStreamIterator(part.stream())}else{yield part}}}[(_FormDataEncoder_CRLF=new WeakMap,_FormDataEncoder_CRLF_BYTES=new WeakMap,_FormDataEncoder_CRLF_BYTES_LENGTH=new WeakMap,_FormDataEncoder_DASHES=new WeakMap,_FormDataEncoder_encoder=new WeakMap,_FormDataEncoder_footer=new WeakMap,_FormDataEncoder_form=new WeakMap,_FormDataEncoder_options=new WeakMap,_FormDataEncoder_instances=new WeakSet,_FormDataEncoder_getFieldHeader=function _FormDataEncoder_getFieldHeader2(name,value){let header2="";header2+=`${__classPrivateFieldGet2(this,_FormDataEncoder_DASHES,"f")}${this.boundary}${__classPrivateFieldGet2(this,_FormDataEncoder_CRLF,"f")}`;header2+=`Content-Disposition: form-data; name="${escapeName(name)}"`;if(isFile(value)){header2+=`; filename="${escapeName(value.name)}"${__classPrivateFieldGet2(this,_FormDataEncoder_CRLF,"f")}`;header2+=`Content-Type: ${value.type||"application/octet-stream"}`}const size2=isFile(value)?value.size:value.byteLength;if(__classPrivateFieldGet2(this,_FormDataEncoder_options,"f").enableAdditionalHeaders===true&&size2!=null&&!isNaN(size2)){header2+=`${__classPrivateFieldGet2(this,_FormDataEncoder_CRLF,"f")}Content-Length: ${isFile(value)?value.size:value.byteLength}`}return __classPrivateFieldGet2(this,_FormDataEncoder_encoder,"f").encode(`${header2}${__classPrivateFieldGet2(this,_FormDataEncoder_CRLF,"f").repeat(2)}`)},_FormDataEncoder_getContentLength=function _FormDataEncoder_getContentLength2(){let length=0;for(const[name,raw]of __classPrivateFieldGet2(this,_FormDataEncoder_form,"f")){const value=isFile(raw)?raw:__classPrivateFieldGet2(this,_FormDataEncoder_encoder,"f").encode(normalizeValue(raw));const size2=isFile(value)?value.size:value.byteLength;if(size2==null||isNaN(size2)){return void 0}length+=__classPrivateFieldGet2(this,_FormDataEncoder_instances,"m",_FormDataEncoder_getFieldHeader).call(this,name,value).byteLength;length+=size2;length+=__classPrivateFieldGet2(this,_FormDataEncoder_CRLF_BYTES_LENGTH,"f")}return String(length+__classPrivateFieldGet2(this,_FormDataEncoder_footer,"f").byteLength)},Symbol.iterator)](){return this.values()}[Symbol.asyncIterator](){return this.encode()}};var import_node_buffer=require("node:buffer");var import_node_util=require("node:util");function isFormData2(body){return dist_default.nodeStream(body)&&dist_default.function_(body.getBoundary)}async function getBodySize(body,headers){if(headers&&"content-length"in headers){return Number(headers["content-length"])}if(!body){return 0}if(dist_default.string(body)){return import_node_buffer.Buffer.byteLength(body)}if(dist_default.buffer(body)){return body.length}if(isFormData2(body)){return(0,import_node_util.promisify)(body.getLength.bind(body))()}return void 0}function proxyEvents(from,to,events){const eventFunctions={};for(const event of events){const eventFunction=(...args2)=>{to.emit(event,...args2)};eventFunctions[event]=eventFunction;from.on(event,eventFunction)}return()=>{for(const[event,eventFunction]of Object.entries(eventFunctions)){from.off(event,eventFunction)}}}var import_node_net=__toESM(require("node:net"),1);function unhandle(){const handlers3=[];return{once(origin,event,fn2){origin.once(event,fn2);handlers3.push({origin,event,fn:fn2})},unhandleAll(){for(const handler of handlers3){const{origin,event,fn:fn2}=handler;origin.removeListener(event,fn2)}handlers3.length=0}}}var reentry=Symbol("reentry");var noop2=()=>{};var TimeoutError2=class extends Error{constructor(threshold,event){super(`Timeout awaiting '${event}' for ${threshold}ms`);Object.defineProperty(this,"event",{enumerable:true,configurable:true,writable:true,value:event});Object.defineProperty(this,"code",{enumerable:true,configurable:true,writable:true,value:void 0});this.name="TimeoutError";this.code="ETIMEDOUT"}};function timedOut(request,delays,options){if(reentry in request){return noop2}request[reentry]=true;const cancelers=[];const{once:once2,unhandleAll}=unhandle();const addTimeout=(delay3,callback,event)=>{var _a12;const timeout=setTimeout(callback,delay3,delay3,event);(_a12=timeout.unref)==null?void 0:_a12.call(timeout);const cancel=()=>{clearTimeout(timeout)};cancelers.push(cancel);return cancel};const{host,hostname}=options;const timeoutHandler=(delay3,event)=>{request.destroy(new TimeoutError2(delay3,event))};const cancelTimeouts=()=>{for(const cancel of cancelers){cancel()}unhandleAll()};request.once("error",error=>{cancelTimeouts();if(request.listenerCount("error")===0){throw error}});if(delays.request!==void 0){const cancelTimeout=addTimeout(delays.request,timeoutHandler,"request");once2(request,"response",response=>{once2(response,"end",cancelTimeout)})}if(delays.socket!==void 0){const{socket}=delays;const socketTimeoutHandler=()=>{timeoutHandler(socket,"socket")};request.setTimeout(socket,socketTimeoutHandler);cancelers.push(()=>{request.removeListener("timeout",socketTimeoutHandler)})}const hasLookup=delays.lookup!==void 0;const hasConnect=delays.connect!==void 0;const hasSecureConnect=delays.secureConnect!==void 0;const hasSend=delays.send!==void 0;if(hasLookup||hasConnect||hasSecureConnect||hasSend){once2(request,"socket",socket=>{const{socketPath}=request;if(socket.connecting){const hasPath2=Boolean(socketPath??import_node_net.default.isIP(hostname??host??"")!==0);if(hasLookup&&!hasPath2&&socket.address().address===void 0){const cancelTimeout=addTimeout(delays.lookup,timeoutHandler,"lookup");once2(socket,"lookup",cancelTimeout)}if(hasConnect){const timeConnect=()=>addTimeout(delays.connect,timeoutHandler,"connect");if(hasPath2){once2(socket,"connect",timeConnect())}else{once2(socket,"lookup",error=>{if(error===null){once2(socket,"connect",timeConnect())}})}}if(hasSecureConnect&&options.protocol==="https:"){once2(socket,"connect",()=>{const cancelTimeout=addTimeout(delays.secureConnect,timeoutHandler,"secureConnect");once2(socket,"secureConnect",cancelTimeout)})}}if(hasSend){const timeRequest=()=>addTimeout(delays.send,timeoutHandler,"send");if(socket.connecting){once2(socket,"connect",()=>{once2(request,"upload-complete",timeRequest())})}else{once2(request,"upload-complete",timeRequest())}}})}if(delays.response!==void 0){once2(request,"upload-complete",()=>{const cancelTimeout=addTimeout(delays.response,timeoutHandler,"response");once2(request,"response",cancelTimeout)})}if(delays.read!==void 0){once2(request,"response",response=>{const cancelTimeout=addTimeout(delays.read,timeoutHandler,"read");once2(response,"end",cancelTimeout)})}return cancelTimeouts}function urlToOptions(url){url=url;const options={protocol:url.protocol,hostname:dist_default.string(url.hostname)&&url.hostname.startsWith("[")?url.hostname.slice(1,-1):url.hostname,host:url.host,hash:url.hash,search:url.search,pathname:url.pathname,href:url.href,path:`${url.pathname||""}${url.search||""}`};if(dist_default.string(url.port)&&url.port.length>0){options.port=Number(url.port)}if(url.username||url.password){options.auth=`${url.username||""}:${url.password||""}`}return options}var WeakableMap=class{constructor(){Object.defineProperty(this,"weakMap",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"map",{enumerable:true,configurable:true,writable:true,value:void 0});this.weakMap=new WeakMap;this.map=new Map}set(key,value){if(typeof key==="object"){this.weakMap.set(key,value)}else{this.map.set(key,value)}}get(key){if(typeof key==="object"){return this.weakMap.get(key)}return this.map.get(key)}has(key){if(typeof key==="object"){return this.weakMap.has(key)}return this.map.has(key)}};var calculateRetryDelay=({attemptCount,retryOptions,error,retryAfter,computedValue})=>{if(error.name==="RetryError"){return 1}if(attemptCount>retryOptions.limit){return 0}const hasMethod=retryOptions.methods.includes(error.options.method);const hasErrorCode=retryOptions.errorCodes.includes(error.code);const hasStatusCode=error.response&&retryOptions.statusCodes.includes(error.response.statusCode);if(!hasMethod||!hasErrorCode&&!hasStatusCode){return 0}if(error.response){if(retryAfter){if(retryAfter>computedValue){return 0}return retryAfter}if(error.response.statusCode===413){return 0}}const noise=Math.random()*retryOptions.noise;return Math.min(2**(attemptCount-1)*1e3,retryOptions.backoffLimit)+noise};var calculate_retry_delay_default=calculateRetryDelay;var import_node_process3=__toESM(require("node:process"),1);var import_node_util3=require("node:util");var import_node_tls=require("node:tls");var import_node_http=__toESM(require("node:http"),1);var import_node_https=__toESM(require("node:https"),1);var import_node_dns=require("node:dns");var import_node_util2=require("node:util");var import_node_os6=__toESM(require("node:os"),1);var{Resolver:AsyncResolver}=import_node_dns.promises;var kCacheableLookupCreateConnection=Symbol("cacheableLookupCreateConnection");var kCacheableLookupInstance=Symbol("cacheableLookupInstance");var kExpires=Symbol("expires");var supportsALL=typeof import_node_dns.ALL==="number";var verifyAgent=agent=>{if(!(agent&&typeof agent.createConnection==="function")){throw new Error("Expected an Agent instance as the first argument")}};var map4to6=entries2=>{for(const entry of entries2){if(entry.family===6){continue}entry.address=`::ffff:${entry.address}`;entry.family=6}};var getIfaceInfo=()=>{let has4=false;let has6=false;for(const device of Object.values(import_node_os6.default.networkInterfaces())){for(const iface of device){if(iface.internal){continue}if(iface.family==="IPv6"){has6=true}else{has4=true}if(has4&&has6){return{has4,has6}}}}return{has4,has6}};var isIterable=map3=>{return Symbol.iterator in map3};var ignoreNoResultErrors=dnsPromise=>{return dnsPromise.catch(error=>{if(error.code==="ENODATA"||error.code==="ENOTFOUND"||error.code==="ENOENT"){return[]}throw error})};var ttl={ttl:true};var all={all:true};var all4={all:true,family:4};var all6={all:true,family:6};var CacheableLookup=class{constructor({cache:cache2=new Map,maxTtl=Infinity,fallbackDuration=3600,errorTtl=.15,resolver=new AsyncResolver,lookup=import_node_dns.lookup}={}){this.maxTtl=maxTtl;this.errorTtl=errorTtl;this._cache=cache2;this._resolver=resolver;this._dnsLookup=lookup&&(0,import_node_util2.promisify)(lookup);this.stats={cache:0,query:0};if(this._resolver instanceof AsyncResolver){this._resolve4=this._resolver.resolve4.bind(this._resolver);this._resolve6=this._resolver.resolve6.bind(this._resolver)}else{this._resolve4=(0,import_node_util2.promisify)(this._resolver.resolve4.bind(this._resolver));this._resolve6=(0,import_node_util2.promisify)(this._resolver.resolve6.bind(this._resolver))}this._iface=getIfaceInfo();this._pending={};this._nextRemovalTime=false;this._hostnamesToFallback=new Set;this.fallbackDuration=fallbackDuration;if(fallbackDuration>0){const interval=setInterval(()=>{this._hostnamesToFallback.clear()},fallbackDuration*1e3);if(interval.unref){interval.unref()}this._fallbackInterval=interval}this.lookup=this.lookup.bind(this);this.lookupAsync=this.lookupAsync.bind(this)}set servers(servers){this.clear();this._resolver.setServers(servers)}get servers(){return this._resolver.getServers()}lookup(hostname,options,callback){if(typeof options==="function"){callback=options;options={}}else if(typeof options==="number"){options={family:options}}if(!callback){throw new Error("Callback must be a function.")}this.lookupAsync(hostname,options).then(result2=>{if(options.all){callback(null,result2)}else{callback(null,result2.address,result2.family,result2.expires,result2.ttl,result2.source)}},callback)}async lookupAsync(hostname,options={}){if(typeof options==="number"){options={family:options}}let cached=await this.query(hostname);if(options.family===6){const filtered=cached.filter(entry=>entry.family===6);if(options.hints&import_node_dns.V4MAPPED){if(supportsALL&&options.hints&import_node_dns.ALL||filtered.length===0){map4to6(cached)}else{cached=filtered}}else{cached=filtered}}else if(options.family===4){cached=cached.filter(entry=>entry.family===4)}if(options.hints&import_node_dns.ADDRCONFIG){const{_iface}=this;cached=cached.filter(entry=>entry.family===6?_iface.has6:_iface.has4)}if(cached.length===0){const error=new Error(`cacheableLookup ENOTFOUND ${hostname}`);error.code="ENOTFOUND";error.hostname=hostname;throw error}if(options.all){return cached}return cached[0]}async query(hostname){let source="cache";let cached=await this._cache.get(hostname);if(cached){this.stats.cache++}if(!cached){const pending=this._pending[hostname];if(pending){this.stats.cache++;cached=await pending}else{source="query";const newPromise=this.queryAndCache(hostname);this._pending[hostname]=newPromise;this.stats.query++;try{cached=await newPromise}finally{delete this._pending[hostname]}}}cached=cached.map(entry=>{return{...entry,source}});return cached}async _resolve(hostname){const[A,AAAA]=await Promise.all([ignoreNoResultErrors(this._resolve4(hostname,ttl)),ignoreNoResultErrors(this._resolve6(hostname,ttl))]);let aTtl=0;let aaaaTtl=0;let cacheTtl=0;const now3=Date.now();for(const entry of A){entry.family=4;entry.expires=now3+entry.ttl*1e3;aTtl=Math.max(aTtl,entry.ttl)}for(const entry of AAAA){entry.family=6;entry.expires=now3+entry.ttl*1e3;aaaaTtl=Math.max(aaaaTtl,entry.ttl)}if(A.length>0){if(AAAA.length>0){cacheTtl=Math.min(aTtl,aaaaTtl)}else{cacheTtl=aTtl}}else{cacheTtl=aaaaTtl}return{entries:[...A,...AAAA],cacheTtl}}async _lookup(hostname){try{const[A,AAAA]=await Promise.all([ignoreNoResultErrors(this._dnsLookup(hostname,all4)),ignoreNoResultErrors(this._dnsLookup(hostname,all6))]);return{entries:[...A,...AAAA],cacheTtl:0}}catch{return{entries:[],cacheTtl:0}}}async _set(hostname,data,cacheTtl){if(this.maxTtl>0&&cacheTtl>0){cacheTtl=Math.min(cacheTtl,this.maxTtl)*1e3;data[kExpires]=Date.now()+cacheTtl;try{await this._cache.set(hostname,data,cacheTtl)}catch(error){this.lookupAsync=async()=>{const cacheError=new Error("Cache Error. Please recreate the CacheableLookup instance.");cacheError.cause=error;throw cacheError}}if(isIterable(this._cache)){this._tick(cacheTtl)}}}async queryAndCache(hostname){if(this._hostnamesToFallback.has(hostname)){return this._dnsLookup(hostname,all)}let query=await this._resolve(hostname);if(query.entries.length===0&&this._dnsLookup){query=await this._lookup(hostname);if(query.entries.length!==0&&this.fallbackDuration>0){this._hostnamesToFallback.add(hostname)}}const cacheTtl=query.entries.length===0?this.errorTtl:query.cacheTtl;await this._set(hostname,query.entries,cacheTtl);return query.entries}_tick(ms){const nextRemovalTime=this._nextRemovalTime;if(!nextRemovalTime||ms<nextRemovalTime){clearTimeout(this._removalTimeout);this._nextRemovalTime=ms;this._removalTimeout=setTimeout(()=>{this._nextRemovalTime=false;let nextExpiry=Infinity;const now3=Date.now();for(const[hostname,entries2]of this._cache){const expires=entries2[kExpires];if(now3>=expires){this._cache.delete(hostname)}else if(expires<nextExpiry){nextExpiry=expires}}if(nextExpiry!==Infinity){this._tick(nextExpiry-now3)}},ms);if(this._removalTimeout.unref){this._removalTimeout.unref()}}}install(agent){verifyAgent(agent);if(kCacheableLookupCreateConnection in agent){throw new Error("CacheableLookup has been already installed")}agent[kCacheableLookupCreateConnection]=agent.createConnection;agent[kCacheableLookupInstance]=this;agent.createConnection=(options,callback)=>{if(!("lookup"in options)){options.lookup=this.lookup}return agent[kCacheableLookupCreateConnection](options,callback)}}uninstall(agent){verifyAgent(agent);if(agent[kCacheableLookupCreateConnection]){if(agent[kCacheableLookupInstance]!==this){throw new Error("The agent is not owned by this CacheableLookup instance")}agent.createConnection=agent[kCacheableLookupCreateConnection];delete agent[kCacheableLookupCreateConnection];delete agent[kCacheableLookupInstance]}}updateInterfaceInfo(){const{_iface}=this;this._iface=getIfaceInfo();if(_iface.has4&&!this._iface.has4||_iface.has6&&!this._iface.has6){this._cache.clear()}}clear(hostname){if(hostname){this._cache.delete(hostname);return}this._cache.clear()}};var import_http2_wrapper=__toESM(require_source2(),1);function parseLinkHeader(link){const parsed=[];const items=link.split(",");for(const item of items){const[rawUriReference,...rawLinkParameters]=item.split(";");const trimmedUriReference=rawUriReference.trim();if(trimmedUriReference[0]!=="<"||trimmedUriReference[trimmedUriReference.length-1]!==">"){throw new Error(`Invalid format of the Link header reference: ${trimmedUriReference}`)}const reference=trimmedUriReference.slice(1,-1);const parameters={};if(rawLinkParameters.length===0){throw new Error(`Unexpected end of Link header parameters: ${rawLinkParameters.join(";")}`)}for(const rawParameter of rawLinkParameters){const trimmedRawParameter=rawParameter.trim();const center=trimmedRawParameter.indexOf("=");if(center===-1){throw new Error(`Failed to parse Link header: ${link}`)}const name=trimmedRawParameter.slice(0,center).trim();const value=trimmedRawParameter.slice(center+1).trim();parameters[name]=value}parsed.push({reference,parameters})}return parsed}var[major,minor]=import_node_process3.default.versions.node.split(".").map(Number);function validateSearchParameters(searchParameters){for(const key in searchParameters){const value=searchParameters[key];assert.any([dist_default.string,dist_default.number,dist_default.boolean,dist_default.null_,dist_default.undefined],value)}}var globalCache=new Map;var globalDnsCache;var getGlobalDnsCache=()=>{if(globalDnsCache){return globalDnsCache}globalDnsCache=new CacheableLookup;return globalDnsCache};var defaultInternals={request:void 0,agent:{http:void 0,https:void 0,http2:void 0},h2session:void 0,decompress:true,timeout:{connect:void 0,lookup:void 0,read:void 0,request:void 0,response:void 0,secureConnect:void 0,send:void 0,socket:void 0},prefixUrl:"",body:void 0,form:void 0,json:void 0,cookieJar:void 0,ignoreInvalidCookies:false,searchParams:void 0,dnsLookup:void 0,dnsCache:void 0,context:{},hooks:{init:[],beforeRequest:[],beforeError:[],beforeRedirect:[],beforeRetry:[],afterResponse:[]},followRedirect:true,maxRedirects:10,cache:void 0,throwHttpErrors:true,username:"",password:"",http2:false,allowGetBody:false,headers:{"user-agent":"got (https://github.com/sindresorhus/got)"},methodRewriting:false,dnsLookupIpVersion:void 0,parseJson:JSON.parse,stringifyJson:JSON.stringify,retry:{limit:2,methods:["GET","PUT","HEAD","DELETE","OPTIONS","TRACE"],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"],maxRetryAfter:void 0,calculateDelay:({computedValue})=>computedValue,backoffLimit:Number.POSITIVE_INFINITY,noise:100},localAddress:void 0,method:"GET",createConnection:void 0,cacheOptions:{shared:void 0,cacheHeuristic:void 0,immutableMinTimeToLive:void 0,ignoreCargoCult:void 0},https:{alpnProtocols:void 0,rejectUnauthorized:void 0,checkServerIdentity:void 0,certificateAuthority:void 0,key:void 0,certificate:void 0,passphrase:void 0,pfx:void 0,ciphers:void 0,honorCipherOrder:void 0,minVersion:void 0,maxVersion:void 0,signatureAlgorithms:void 0,tlsSessionLifetime:void 0,dhparam:void 0,ecdhCurve:void 0,certificateRevocationLists:void 0},encoding:void 0,resolveBodyOnly:false,isStream:false,responseType:"text",url:void 0,pagination:{transform(response){if(response.request.options.responseType==="json"){return response.body}return JSON.parse(response.body)},paginate({response}){const rawLinkHeader=response.headers.link;if(typeof rawLinkHeader!=="string"||rawLinkHeader.trim()===""){return false}const parsed=parseLinkHeader(rawLinkHeader);const next=parsed.find(entry=>entry.parameters.rel==="next"||entry.parameters.rel==='"next"');if(next){return{url:new URL(next.reference,response.url)}}return false},filter:()=>true,shouldContinue:()=>true,countLimit:Number.POSITIVE_INFINITY,backoff:0,requestLimit:1e4,stackAllItems:false},setHost:true,maxHeaderSize:void 0,signal:void 0,enableUnixSockets:false};var cloneInternals=internals=>{const{hooks,retry}=internals;const result2={...internals,context:{...internals.context},cacheOptions:{...internals.cacheOptions},https:{...internals.https},agent:{...internals.agent},headers:{...internals.headers},retry:{...retry,errorCodes:[...retry.errorCodes],methods:[...retry.methods],statusCodes:[...retry.statusCodes]},timeout:{...internals.timeout},hooks:{init:[...hooks.init],beforeRequest:[...hooks.beforeRequest],beforeError:[...hooks.beforeError],beforeRedirect:[...hooks.beforeRedirect],beforeRetry:[...hooks.beforeRetry],afterResponse:[...hooks.afterResponse]},searchParams:internals.searchParams?new URLSearchParams(internals.searchParams):void 0,pagination:{...internals.pagination}};if(result2.url!==void 0){result2.prefixUrl=""}return result2};var cloneRaw=raw=>{const{hooks,retry}=raw;const result2={...raw};if(dist_default.object(raw.context)){result2.context={...raw.context}}if(dist_default.object(raw.cacheOptions)){result2.cacheOptions={...raw.cacheOptions}}if(dist_default.object(raw.https)){result2.https={...raw.https}}if(dist_default.object(raw.cacheOptions)){result2.cacheOptions={...result2.cacheOptions}}if(dist_default.object(raw.agent)){result2.agent={...raw.agent}}if(dist_default.object(raw.headers)){result2.headers={...raw.headers}}if(dist_default.object(retry)){result2.retry={...retry};if(dist_default.array(retry.errorCodes)){result2.retry.errorCodes=[...retry.errorCodes]}if(dist_default.array(retry.methods)){result2.retry.methods=[...retry.methods]}if(dist_default.array(retry.statusCodes)){result2.retry.statusCodes=[...retry.statusCodes]}}if(dist_default.object(raw.timeout)){result2.timeout={...raw.timeout}}if(dist_default.object(hooks)){result2.hooks={...hooks};if(dist_default.array(hooks.init)){result2.hooks.init=[...hooks.init]}if(dist_default.array(hooks.beforeRequest)){result2.hooks.beforeRequest=[...hooks.beforeRequest]}if(dist_default.array(hooks.beforeError)){result2.hooks.beforeError=[...hooks.beforeError]}if(dist_default.array(hooks.beforeRedirect)){result2.hooks.beforeRedirect=[...hooks.beforeRedirect]}if(dist_default.array(hooks.beforeRetry)){result2.hooks.beforeRetry=[...hooks.beforeRetry]}if(dist_default.array(hooks.afterResponse)){result2.hooks.afterResponse=[...hooks.afterResponse]}}if(dist_default.object(raw.pagination)){result2.pagination={...raw.pagination}}return result2};var getHttp2TimeoutOption=internals=>{const delays=[internals.timeout.socket,internals.timeout.connect,internals.timeout.lookup,internals.timeout.request,internals.timeout.secureConnect].filter(delay3=>typeof delay3==="number");if(delays.length>0){return Math.min(...delays)}return void 0};var init=(options,withOptions,self2)=>{var _a12;const initHooks=(_a12=options.hooks)==null?void 0:_a12.init;if(initHooks){for(const hook of initHooks){hook(withOptions,self2)}}};var Options2=class _Options{constructor(input,options,defaults3){Object.defineProperty(this,"_unixOptions",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"_internals",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"_merging",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"_init",{enumerable:true,configurable:true,writable:true,value:void 0});assert.any([dist_default.string,dist_default.urlInstance,dist_default.object,dist_default.undefined],input);assert.any([dist_default.object,dist_default.undefined],options);assert.any([dist_default.object,dist_default.undefined],defaults3);if(input instanceof _Options||options instanceof _Options){throw new TypeError("The defaults must be passed as the third argument")}this._internals=cloneInternals((defaults3==null?void 0:defaults3._internals)??defaults3??defaultInternals);this._init=[...(defaults3==null?void 0:defaults3._init)??[]];this._merging=false;this._unixOptions=void 0;try{if(dist_default.plainObject(input)){try{this.merge(input);this.merge(options)}finally{this.url=input.url}}else{try{this.merge(options)}finally{if((options==null?void 0:options.url)!==void 0){if(input===void 0){this.url=options.url}else{throw new TypeError("The `url` option is mutually exclusive with the `input` argument")}}else if(input!==void 0){this.url=input}}}}catch(error){error.options=this;throw error}}merge(options){if(!options){return}if(options instanceof _Options){for(const init2 of options._init){this.merge(init2)}return}options=cloneRaw(options);init(this,options,this);init(options,options,this);this._merging=true;if("isStream"in options){this.isStream=options.isStream}try{let push=false;for(const key in options){if(key==="mutableDefaults"||key==="handlers"){continue}if(key==="url"){continue}if(!(key in this)){throw new Error(`Unexpected option: ${key}`)}const value=options[key];if(value===void 0){continue}this[key]=value;push=true}if(push){this._init.push(options)}}finally{this._merging=false}}get request(){return this._internals.request}set request(value){assert.any([dist_default.function_,dist_default.undefined],value);this._internals.request=value}get agent(){return this._internals.agent}set agent(value){assert.plainObject(value);for(const key in value){if(!(key in this._internals.agent)){throw new TypeError(`Unexpected agent option: ${key}`)}assert.any([dist_default.object,dist_default.undefined],value[key])}if(this._merging){Object.assign(this._internals.agent,value)}else{this._internals.agent={...value}}}get h2session(){return this._internals.h2session}set h2session(value){this._internals.h2session=value}get decompress(){return this._internals.decompress}set decompress(value){assert.boolean(value);this._internals.decompress=value}get timeout(){return this._internals.timeout}set timeout(value){assert.plainObject(value);for(const key in value){if(!(key in this._internals.timeout)){throw new Error(`Unexpected timeout option: ${key}`)}assert.any([dist_default.number,dist_default.undefined],value[key])}if(this._merging){Object.assign(this._internals.timeout,value)}else{this._internals.timeout={...value}}}get prefixUrl(){return this._internals.prefixUrl}set prefixUrl(value){assert.any([dist_default.string,dist_default.urlInstance],value);if(value===""){this._internals.prefixUrl="";return}value=value.toString();if(!value.endsWith("/")){value+="/"}if(this._internals.prefixUrl&&this._internals.url){const{href}=this._internals.url;this._internals.url.href=value+href.slice(this._internals.prefixUrl.length)}this._internals.prefixUrl=value}get body(){return this._internals.body}set body(value){assert.any([dist_default.string,dist_default.buffer,dist_default.nodeStream,dist_default.generator,dist_default.asyncGenerator,isFormData,dist_default.undefined],value);if(dist_default.nodeStream(value)){assert.truthy(value.readable)}if(value!==void 0){assert.undefined(this._internals.form);assert.undefined(this._internals.json)}this._internals.body=value}get form(){return this._internals.form}set form(value){assert.any([dist_default.plainObject,dist_default.undefined],value);if(value!==void 0){assert.undefined(this._internals.body);assert.undefined(this._internals.json)}this._internals.form=value}get json(){return this._internals.json}set json(value){if(value!==void 0){assert.undefined(this._internals.body);assert.undefined(this._internals.form)}this._internals.json=value}get url(){return this._internals.url}set url(value){assert.any([dist_default.string,dist_default.urlInstance,dist_default.undefined],value);if(value===void 0){this._internals.url=void 0;return}if(dist_default.string(value)&&value.startsWith("/")){throw new Error("`url` must not start with a slash")}const urlString=`${this.prefixUrl}${value.toString()}`;const url=new URL(urlString);this._internals.url=url;if(url.protocol==="unix:"){url.href=`http://unix${url.pathname}${url.search}`}if(url.protocol!=="http:"&&url.protocol!=="https:"){const error=new Error(`Unsupported protocol: ${url.protocol}`);error.code="ERR_UNSUPPORTED_PROTOCOL";throw error}if(this._internals.username){url.username=this._internals.username;this._internals.username=""}if(this._internals.password){url.password=this._internals.password;this._internals.password=""}if(this._internals.searchParams){url.search=this._internals.searchParams.toString();this._internals.searchParams=void 0}if(url.hostname==="unix"){if(!this._internals.enableUnixSockets){throw new Error("Using UNIX domain sockets but option `enableUnixSockets` is not enabled")}const matches2=/(?<socketPath>.+?):(?<path>.+)/.exec(`${url.pathname}${url.search}`);if(matches2==null?void 0:matches2.groups){const{socketPath,path:path27}=matches2.groups;this._unixOptions={socketPath,path:path27,host:""}}else{this._unixOptions=void 0}return}this._unixOptions=void 0}get cookieJar(){return this._internals.cookieJar}set cookieJar(value){assert.any([dist_default.object,dist_default.undefined],value);if(value===void 0){this._internals.cookieJar=void 0;return}let{setCookie,getCookieString}=value;assert.function_(setCookie);assert.function_(getCookieString);if(setCookie.length===4&&getCookieString.length===0){setCookie=(0,import_node_util3.promisify)(setCookie.bind(value));getCookieString=(0,import_node_util3.promisify)(getCookieString.bind(value));this._internals.cookieJar={setCookie,getCookieString}}else{this._internals.cookieJar=value}}get signal(){return this._internals.signal}set signal(value){assert.object(value);this._internals.signal=value}get ignoreInvalidCookies(){return this._internals.ignoreInvalidCookies}set ignoreInvalidCookies(value){assert.boolean(value);this._internals.ignoreInvalidCookies=value}get searchParams(){if(this._internals.url){return this._internals.url.searchParams}if(this._internals.searchParams===void 0){this._internals.searchParams=new URLSearchParams}return this._internals.searchParams}set searchParams(value){assert.any([dist_default.string,dist_default.object,dist_default.undefined],value);const url=this._internals.url;if(value===void 0){this._internals.searchParams=void 0;if(url){url.search=""}return}const searchParameters=this.searchParams;let updated;if(dist_default.string(value)){updated=new URLSearchParams(value)}else if(value instanceof URLSearchParams){updated=value}else{validateSearchParameters(value);updated=new URLSearchParams;for(const key in value){const entry=value[key];if(entry===null){updated.append(key,"")}else if(entry===void 0){searchParameters.delete(key)}else{updated.append(key,entry)}}}if(this._merging){for(const key of updated.keys()){searchParameters.delete(key)}for(const[key,value2]of updated){searchParameters.append(key,value2)}}else if(url){url.search=searchParameters.toString()}else{this._internals.searchParams=searchParameters}}get searchParameters(){throw new Error("The `searchParameters` option does not exist. Use `searchParams` instead.")}set searchParameters(_value){throw new Error("The `searchParameters` option does not exist. Use `searchParams` instead.")}get dnsLookup(){return this._internals.dnsLookup}set dnsLookup(value){assert.any([dist_default.function_,dist_default.undefined],value);this._internals.dnsLookup=value}get dnsCache(){return this._internals.dnsCache}set dnsCache(value){assert.any([dist_default.object,dist_default.boolean,dist_default.undefined],value);if(value===true){this._internals.dnsCache=getGlobalDnsCache()}else if(value===false){this._internals.dnsCache=void 0}else{this._internals.dnsCache=value}}get context(){return this._internals.context}set context(value){assert.object(value);if(this._merging){Object.assign(this._internals.context,value)}else{this._internals.context={...value}}}get hooks(){return this._internals.hooks}set hooks(value){assert.object(value);for(const knownHookEvent in value){if(!(knownHookEvent in this._internals.hooks)){throw new Error(`Unexpected hook event: ${knownHookEvent}`)}const typedKnownHookEvent=knownHookEvent;const hooks=value[typedKnownHookEvent];assert.any([dist_default.array,dist_default.undefined],hooks);if(hooks){for(const hook of hooks){assert.function_(hook)}}if(this._merging){if(hooks){this._internals.hooks[typedKnownHookEvent].push(...hooks)}}else{if(!hooks){throw new Error(`Missing hook event: ${knownHookEvent}`)}this._internals.hooks[knownHookEvent]=[...hooks]}}}get followRedirect(){return this._internals.followRedirect}set followRedirect(value){assert.boolean(value);this._internals.followRedirect=value}get followRedirects(){throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.")}set followRedirects(_value){throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.")}get maxRedirects(){return this._internals.maxRedirects}set maxRedirects(value){assert.number(value);this._internals.maxRedirects=value}get cache(){return this._internals.cache}set cache(value){assert.any([dist_default.object,dist_default.string,dist_default.boolean,dist_default.undefined],value);if(value===true){this._internals.cache=globalCache}else if(value===false){this._internals.cache=void 0}else{this._internals.cache=value}}get throwHttpErrors(){return this._internals.throwHttpErrors}set throwHttpErrors(value){assert.boolean(value);this._internals.throwHttpErrors=value}get username(){const url=this._internals.url;const value=url?url.username:this._internals.username;return decodeURIComponent(value)}set username(value){assert.string(value);const url=this._internals.url;const fixedValue=encodeURIComponent(value);if(url){url.username=fixedValue}else{this._internals.username=fixedValue}}get password(){const url=this._internals.url;const value=url?url.password:this._internals.password;return decodeURIComponent(value)}set password(value){assert.string(value);const url=this._internals.url;const fixedValue=encodeURIComponent(value);if(url){url.password=fixedValue}else{this._internals.password=fixedValue}}get http2(){return this._internals.http2}set http2(value){assert.boolean(value);this._internals.http2=value}get allowGetBody(){return this._internals.allowGetBody}set allowGetBody(value){assert.boolean(value);this._internals.allowGetBody=value}get headers(){return this._internals.headers}set headers(value){assert.plainObject(value);if(this._merging){Object.assign(this._internals.headers,lowercaseKeys(value))}else{this._internals.headers=lowercaseKeys(value)}}get methodRewriting(){return this._internals.methodRewriting}set methodRewriting(value){assert.boolean(value);this._internals.methodRewriting=value}get dnsLookupIpVersion(){return this._internals.dnsLookupIpVersion}set dnsLookupIpVersion(value){if(value!==void 0&&value!==4&&value!==6){throw new TypeError(`Invalid DNS lookup IP version: ${value}`)}this._internals.dnsLookupIpVersion=value}get parseJson(){return this._internals.parseJson}set parseJson(value){assert.function_(value);this._internals.parseJson=value}get stringifyJson(){return this._internals.stringifyJson}set stringifyJson(value){assert.function_(value);this._internals.stringifyJson=value}get retry(){return this._internals.retry}set retry(value){assert.plainObject(value);assert.any([dist_default.function_,dist_default.undefined],value.calculateDelay);assert.any([dist_default.number,dist_default.undefined],value.maxRetryAfter);assert.any([dist_default.number,dist_default.undefined],value.limit);assert.any([dist_default.array,dist_default.undefined],value.methods);assert.any([dist_default.array,dist_default.undefined],value.statusCodes);assert.any([dist_default.array,dist_default.undefined],value.errorCodes);assert.any([dist_default.number,dist_default.undefined],value.noise);if(value.noise&&Math.abs(value.noise)>100){throw new Error(`The maximum acceptable retry noise is +/- 100ms, got ${value.noise}`)}for(const key in value){if(!(key in this._internals.retry)){throw new Error(`Unexpected retry option: ${key}`)}}if(this._merging){Object.assign(this._internals.retry,value)}else{this._internals.retry={...value}}const{retry}=this._internals;retry.methods=[...new Set(retry.methods.map(method2=>method2.toUpperCase()))];retry.statusCodes=[...new Set(retry.statusCodes)];retry.errorCodes=[...new Set(retry.errorCodes)]}get localAddress(){return this._internals.localAddress}set localAddress(value){assert.any([dist_default.string,dist_default.undefined],value);this._internals.localAddress=value}get method(){return this._internals.method}set method(value){assert.string(value);this._internals.method=value.toUpperCase()}get createConnection(){return this._internals.createConnection}set createConnection(value){assert.any([dist_default.function_,dist_default.undefined],value);this._internals.createConnection=value}get cacheOptions(){return this._internals.cacheOptions}set cacheOptions(value){assert.plainObject(value);assert.any([dist_default.boolean,dist_default.undefined],value.shared);assert.any([dist_default.number,dist_default.undefined],value.cacheHeuristic);assert.any([dist_default.number,dist_default.undefined],value.immutableMinTimeToLive);assert.any([dist_default.boolean,dist_default.undefined],value.ignoreCargoCult);for(const key in value){if(!(key in this._internals.cacheOptions)){throw new Error(`Cache option \`${key}\` does not exist`)}}if(this._merging){Object.assign(this._internals.cacheOptions,value)}else{this._internals.cacheOptions={...value}}}get https(){return this._internals.https}set https(value){assert.plainObject(value);assert.any([dist_default.boolean,dist_default.undefined],value.rejectUnauthorized);assert.any([dist_default.function_,dist_default.undefined],value.checkServerIdentity);assert.any([dist_default.string,dist_default.object,dist_default.array,dist_default.undefined],value.certificateAuthority);assert.any([dist_default.string,dist_default.object,dist_default.array,dist_default.undefined],value.key);assert.any([dist_default.string,dist_default.object,dist_default.array,dist_default.undefined],value.certificate);assert.any([dist_default.string,dist_default.undefined],value.passphrase);assert.any([dist_default.string,dist_default.buffer,dist_default.array,dist_default.undefined],value.pfx);assert.any([dist_default.array,dist_default.undefined],value.alpnProtocols);assert.any([dist_default.string,dist_default.undefined],value.ciphers);assert.any([dist_default.string,dist_default.buffer,dist_default.undefined],value.dhparam);assert.any([dist_default.string,dist_default.undefined],value.signatureAlgorithms);assert.any([dist_default.string,dist_default.undefined],value.minVersion);assert.any([dist_default.string,dist_default.undefined],value.maxVersion);assert.any([dist_default.boolean,dist_default.undefined],value.honorCipherOrder);assert.any([dist_default.number,dist_default.undefined],value.tlsSessionLifetime);assert.any([dist_default.string,dist_default.undefined],value.ecdhCurve);assert.any([dist_default.string,dist_default.buffer,dist_default.array,dist_default.undefined],value.certificateRevocationLists);for(const key in value){if(!(key in this._internals.https)){throw new Error(`HTTPS option \`${key}\` does not exist`)}}if(this._merging){Object.assign(this._internals.https,value)}else{this._internals.https={...value}}}get encoding(){return this._internals.encoding}set encoding(value){if(value===null){throw new TypeError("To get a Buffer, set `options.responseType` to `buffer` instead")}assert.any([dist_default.string,dist_default.undefined],value);this._internals.encoding=value}get resolveBodyOnly(){return this._internals.resolveBodyOnly}set resolveBodyOnly(value){assert.boolean(value);this._internals.resolveBodyOnly=value}get isStream(){return this._internals.isStream}set isStream(value){assert.boolean(value);this._internals.isStream=value}get responseType(){return this._internals.responseType}set responseType(value){if(value===void 0){this._internals.responseType="text";return}if(value!=="text"&&value!=="buffer"&&value!=="json"){throw new Error(`Invalid \`responseType\` option: ${value}`)}this._internals.responseType=value}get pagination(){return this._internals.pagination}set pagination(value){assert.object(value);if(this._merging){Object.assign(this._internals.pagination,value)}else{this._internals.pagination=value}}get auth(){throw new Error("Parameter `auth` is deprecated. Use `username` / `password` instead.")}set auth(_value){throw new Error("Parameter `auth` is deprecated. Use `username` / `password` instead.")}get setHost(){return this._internals.setHost}set setHost(value){assert.boolean(value);this._internals.setHost=value}get maxHeaderSize(){return this._internals.maxHeaderSize}set maxHeaderSize(value){assert.any([dist_default.number,dist_default.undefined],value);this._internals.maxHeaderSize=value}get enableUnixSockets(){return this._internals.enableUnixSockets}set enableUnixSockets(value){assert.boolean(value);this._internals.enableUnixSockets=value}toJSON(){return{...this._internals}}[Symbol.for("nodejs.util.inspect.custom")](_depth,options){return(0,import_node_util3.inspect)(this._internals,options)}createNativeRequestOptions(){var _a12;const internals=this._internals;const url=internals.url;let agent;if(url.protocol==="https:"){agent=internals.http2?internals.agent:internals.agent.https}else{agent=internals.agent.http}const{https:https2}=internals;let{pfx}=https2;if(dist_default.array(pfx)&&dist_default.plainObject(pfx[0])){pfx=pfx.map(object=>({buf:object.buffer,passphrase:object.passphrase}))}return{...internals.cacheOptions,...this._unixOptions,ALPNProtocols:https2.alpnProtocols,ca:https2.certificateAuthority,cert:https2.certificate,key:https2.key,passphrase:https2.passphrase,pfx:https2.pfx,rejectUnauthorized:https2.rejectUnauthorized,checkServerIdentity:https2.checkServerIdentity??import_node_tls.checkServerIdentity,ciphers:https2.ciphers,honorCipherOrder:https2.honorCipherOrder,minVersion:https2.minVersion,maxVersion:https2.maxVersion,sigalgs:https2.signatureAlgorithms,sessionTimeout:https2.tlsSessionLifetime,dhparam:https2.dhparam,ecdhCurve:https2.ecdhCurve,crl:https2.certificateRevocationLists,lookup:internals.dnsLookup??((_a12=internals.dnsCache)==null?void 0:_a12.lookup),family:internals.dnsLookupIpVersion,agent,setHost:internals.setHost,method:internals.method,maxHeaderSize:internals.maxHeaderSize,localAddress:internals.localAddress,headers:internals.headers,createConnection:internals.createConnection,timeout:internals.http2?getHttp2TimeoutOption(internals):void 0,h2session:internals.h2session}}getRequestFunction(){const url=this._internals.url;const{request}=this._internals;if(!request&&url){return this.getFallbackRequestFunction()}return request}getFallbackRequestFunction(){const url=this._internals.url;if(!url){return}if(url.protocol==="https:"){if(this._internals.http2){if(major<15||major===15&&minor<10){const error=new Error("To use the `http2` option, install Node.js 15.10.0 or above");error.code="EUNSUPPORTED";throw error}return import_http2_wrapper.default.auto}return import_node_https.default.request}return import_node_http.default.request}freeze(){const options=this._internals;Object.freeze(options);Object.freeze(options.hooks);Object.freeze(options.hooks.afterResponse);Object.freeze(options.hooks.beforeError);Object.freeze(options.hooks.beforeRedirect);Object.freeze(options.hooks.beforeRequest);Object.freeze(options.hooks.beforeRetry);Object.freeze(options.hooks.init);Object.freeze(options.https);Object.freeze(options.cacheOptions);Object.freeze(options.agent);Object.freeze(options.headers);Object.freeze(options.timeout);Object.freeze(options.retry);Object.freeze(options.retry.errorCodes);Object.freeze(options.retry.methods);Object.freeze(options.retry.statusCodes)}};var isResponseOk=response=>{const{statusCode}=response;const limitStatusCode=response.request.options.followRedirect?299:399;return statusCode>=200&&statusCode<=limitStatusCode||statusCode===304};var ParseError=class extends RequestError{constructor(error,response){const{options}=response.request;super(`${error.message} in "${options.url.toString()}"`,error,response.request);this.name="ParseError";this.code="ERR_BODY_PARSE_FAILURE"}};var parseBody=(response,responseType,parseJson,encoding)=>{const{rawBody}=response;try{if(responseType==="text"){return rawBody.toString(encoding)}if(responseType==="json"){return rawBody.length===0?"":parseJson(rawBody.toString(encoding))}if(responseType==="buffer"){return rawBody}}catch(error){throw new ParseError(error,response)}throw new ParseError({message:`Unknown body type '${responseType}'`,name:"Error"},response)};function isClientRequest(clientRequest){return clientRequest.writable&&!clientRequest.writableEnded}var is_client_request_default=isClientRequest;function isUnixSocketURL(url){return url.protocol==="unix:"||url.hostname==="unix"}var{buffer:getStreamAsBuffer}=import_get_stream2.default;var supportsBrotli=dist_default.string(import_node_process4.default.versions.brotli);var methodsWithoutBody=new Set(["GET","HEAD"]);var cacheableStore=new WeakableMap;var redirectCodes=new Set([300,301,302,303,304,307,308]);var proxiedRequestEvents=["socket","connect","continue","information","upgrade"];var noop3=()=>{};var Request=class _Request extends import_node_stream4.Duplex{constructor(url,options,defaults3){super({autoDestroy:false,highWaterMark:0});Object.defineProperty(this,"constructor",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"_noPipe",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"options",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"response",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"requestUrl",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"redirectUrls",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"retryCount",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"_stopRetry",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"_downloadedSize",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"_uploadedSize",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"_stopReading",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"_pipedServerResponses",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"_request",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"_responseSize",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"_bodySize",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"_unproxyEvents",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"_isFromCache",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"_cannotHaveBody",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"_triggerRead",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"_cancelTimeouts",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"_removeListeners",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"_nativeResponse",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"_flushed",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"_aborted",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"_requestInitialized",{enumerable:true,configurable:true,writable:true,value:void 0});this._downloadedSize=0;this._uploadedSize=0;this._stopReading=false;this._pipedServerResponses=new Set;this._cannotHaveBody=false;this._unproxyEvents=noop3;this._triggerRead=false;this._cancelTimeouts=noop3;this._removeListeners=noop3;this._jobs=[];this._flushed=false;this._requestInitialized=false;this._aborted=false;this.redirectUrls=[];this.retryCount=0;this._stopRetry=noop3;this.on("pipe",source=>{if(source==null?void 0:source.headers){Object.assign(this.options.headers,source.headers)}});this.on("newListener",event=>{if(event==="retry"&&this.listenerCount("retry")>0){throw new Error("A retry listener has been attached already.")}});try{this.options=new Options2(url,options,defaults3);if(!this.options.url){if(this.options.prefixUrl===""){throw new TypeError("Missing `url` property")}this.options.url=""}this.requestUrl=this.options.url}catch(error){const{options:options2}=error;if(options2){this.options=options2}this.flush=async()=>{this.flush=async()=>{};this.destroy(error)};return}const{body}=this.options;if(dist_default.nodeStream(body)){body.once("error",error=>{if(this._flushed){this._beforeError(new UploadError(error,this))}else{this.flush=async()=>{this.flush=async()=>{};this._beforeError(new UploadError(error,this))}}})}if(this.options.signal){const abort=()=>{this.destroy(new AbortError(this))};if(this.options.signal.aborted){abort()}else{this.options.signal.addEventListener("abort",abort);this._removeListeners=()=>{var _a12;(_a12=this.options.signal)==null?void 0:_a12.removeEventListener("abort",abort)}}}}async flush(){var _a12;if(this._flushed){return}this._flushed=true;try{await this._finalizeBody();if(this.destroyed){return}await this._makeRequest();if(this.destroyed){(_a12=this._request)==null?void 0:_a12.destroy();return}for(const job of this._jobs){job()}this._jobs.length=0;this._requestInitialized=true}catch(error){this._beforeError(error)}}_beforeError(error){if(this._stopReading){return}const{response,options}=this;const attemptCount=this.retryCount+(error.name==="RetryError"?0:1);this._stopReading=true;if(!(error instanceof RequestError)){error=new RequestError(error.message,error,this)}const typedError=error;void(async()=>{var _a12,_b2;if((response==null?void 0:response.readable)&&!response.rawBody&&!((_b2=(_a12=this._request)==null?void 0:_a12.socket)==null?void 0:_b2.destroyed)){response.setEncoding(this.readableEncoding);const success=await this._setRawBody(response);if(success){response.body=response.rawBody.toString()}}if(this.listenerCount("retry")!==0){let backoff;try{let retryAfter;if(response&&"retry-after"in response.headers){retryAfter=Number(response.headers["retry-after"]);if(Number.isNaN(retryAfter)){retryAfter=Date.parse(response.headers["retry-after"])-Date.now();if(retryAfter<=0){retryAfter=1}}else{retryAfter*=1e3}}const retryOptions=options.retry;backoff=await retryOptions.calculateDelay({attemptCount,retryOptions,error:typedError,retryAfter,computedValue:calculate_retry_delay_default({attemptCount,retryOptions,error:typedError,retryAfter,computedValue:retryOptions.maxRetryAfter??options.timeout.request??Number.POSITIVE_INFINITY})})}catch(error_){void this._error(new RequestError(error_.message,error_,this));return}if(backoff){await new Promise(resolve=>{const timeout=setTimeout(resolve,backoff);this._stopRetry=()=>{clearTimeout(timeout);resolve()}});if(this.destroyed){return}try{for(const hook of this.options.hooks.beforeRetry){await hook(typedError,this.retryCount+1)}}catch(error_){void this._error(new RequestError(error_.message,error,this));return}if(this.destroyed){return}this.destroy();this.emit("retry",this.retryCount+1,error,updatedOptions=>{const request=new _Request(options.url,updatedOptions,options);request.retryCount=this.retryCount+1;import_node_process4.default.nextTick(()=>{void request.flush()});return request});return}}void this._error(typedError)})()}_read(){this._triggerRead=true;const{response}=this;if(response&&!this._stopReading){if(response.readableLength){this._triggerRead=false}let data;while((data=response.read())!==null){this._downloadedSize+=data.length;const progress=this.downloadProgress;if(progress.percent<1){this.emit("downloadProgress",progress)}this.push(data)}}}_write(chunk2,encoding,callback){const write2=()=>{this._writeRequest(chunk2,encoding,callback)};if(this._requestInitialized){write2()}else{this._jobs.push(write2)}}_final(callback){const endRequest=()=>{if(!this._request||this._request.destroyed){callback();return}this._request.end(error=>{var _a12;if((_a12=this._request._writableState)==null?void 0:_a12.errored){return}if(!error){this._bodySize=this._uploadedSize;this.emit("uploadProgress",this.uploadProgress);this._request.emit("upload-complete")}callback(error)})};if(this._requestInitialized){endRequest()}else{this._jobs.push(endRequest)}}_destroy(error,callback){this._stopReading=true;this.flush=async()=>{};this._stopRetry();this._cancelTimeouts();this._removeListeners();if(this.options){const{body}=this.options;if(dist_default.nodeStream(body)){body.destroy()}}if(this._request){this._request.destroy()}if(error!==null&&!dist_default.undefined(error)&&!(error instanceof RequestError)){error=new RequestError(error.message,error,this)}callback(error)}pipe(destination,options){if(destination instanceof import_node_http2.ServerResponse){this._pipedServerResponses.add(destination)}return super.pipe(destination,options)}unpipe(destination){if(destination instanceof import_node_http2.ServerResponse){this._pipedServerResponses.delete(destination)}super.unpipe(destination);return this}async _finalizeBody(){const{options}=this;const{headers}=options;const isForm=!dist_default.undefined(options.form);const isJSON=!dist_default.undefined(options.json);const isBody=!dist_default.undefined(options.body);const cannotHaveBody=methodsWithoutBody.has(options.method)&&!(options.method==="GET"&&options.allowGetBody);this._cannotHaveBody=cannotHaveBody;if(isForm||isJSON||isBody){if(cannotHaveBody){throw new TypeError(`The \`${options.method}\` method cannot be used with a body`)}const noContentType=!dist_default.string(headers["content-type"]);if(isBody){if(isFormData(options.body)){const encoder2=new FormDataEncoder(options.body);if(noContentType){headers["content-type"]=encoder2.headers["Content-Type"]}if("Content-Length"in encoder2.headers){headers["content-length"]=encoder2.headers["Content-Length"]}options.body=encoder2.encode()}if(isFormData2(options.body)&&noContentType){headers["content-type"]=`multipart/form-data; boundary=${options.body.getBoundary()}`}}else if(isForm){if(noContentType){headers["content-type"]="application/x-www-form-urlencoded"}const{form}=options;options.form=void 0;options.body=new URLSearchParams(form).toString()}else{if(noContentType){headers["content-type"]="application/json"}const{json:json2}=options;options.json=void 0;options.body=options.stringifyJson(json2)}const uploadBodySize=await getBodySize(options.body,options.headers);if(dist_default.undefined(headers["content-length"])&&dist_default.undefined(headers["transfer-encoding"])&&!cannotHaveBody&&!dist_default.undefined(uploadBodySize)){headers["content-length"]=String(uploadBodySize)}}if(options.responseType==="json"&&!("accept"in options.headers)){options.headers.accept="application/json"}this._bodySize=Number(headers["content-length"])||void 0}async _onResponseBase(response){if(this.isAborted){return}const{options}=this;const{url}=options;this._nativeResponse=response;if(options.decompress){response=(0,import_decompress_response.default)(response)}const statusCode=response.statusCode;const typedResponse=response;typedResponse.statusMessage=typedResponse.statusMessage??import_node_http2.default.STATUS_CODES[statusCode];typedResponse.url=options.url.toString();typedResponse.requestUrl=this.requestUrl;typedResponse.redirectUrls=this.redirectUrls;typedResponse.request=this;typedResponse.isFromCache=this._nativeResponse.fromCache??false;typedResponse.ip=this.ip;typedResponse.retryCount=this.retryCount;typedResponse.ok=isResponseOk(typedResponse);this._isFromCache=typedResponse.isFromCache;this._responseSize=Number(response.headers["content-length"])||void 0;this.response=typedResponse;response.once("end",()=>{this._responseSize=this._downloadedSize;this.emit("downloadProgress",this.downloadProgress)});response.once("error",error=>{this._aborted=true;response.destroy();this._beforeError(new ReadError(error,this))});response.once("aborted",()=>{this._aborted=true;this._beforeError(new ReadError({name:"Error",message:"The server aborted pending request",code:"ECONNRESET"},this))});this.emit("downloadProgress",this.downloadProgress);const rawCookies=response.headers["set-cookie"];if(dist_default.object(options.cookieJar)&&rawCookies){let promises=rawCookies.map(async rawCookie=>options.cookieJar.setCookie(rawCookie,url.toString()));if(options.ignoreInvalidCookies){promises=promises.map(async promise=>{try{await promise}catch{}})}try{await Promise.all(promises)}catch(error){this._beforeError(error);return}}if(this.isAborted){return}if(options.followRedirect&&response.headers.location&&redirectCodes.has(statusCode)){response.resume();this._cancelTimeouts();this._unproxyEvents();if(this.redirectUrls.length>=options.maxRedirects){this._beforeError(new MaxRedirectsError(this));return}this._request=void 0;const updatedOptions=new Options2(void 0,void 0,this.options);const serverRequestedGet=statusCode===303&&updatedOptions.method!=="GET"&&updatedOptions.method!=="HEAD";const canRewrite=statusCode!==307&&statusCode!==308;const userRequestedGet=updatedOptions.methodRewriting&&canRewrite;if(serverRequestedGet||userRequestedGet){updatedOptions.method="GET";updatedOptions.body=void 0;updatedOptions.json=void 0;updatedOptions.form=void 0;delete updatedOptions.headers["content-length"]}try{const redirectBuffer=import_node_buffer2.Buffer.from(response.headers.location,"binary").toString();const redirectUrl=new URL(redirectBuffer,url);if(!isUnixSocketURL(url)&&isUnixSocketURL(redirectUrl)){this._beforeError(new RequestError("Cannot redirect to UNIX socket",{},this));return}if(redirectUrl.hostname!==url.hostname||redirectUrl.port!==url.port){if("host"in updatedOptions.headers){delete updatedOptions.headers.host}if("cookie"in updatedOptions.headers){delete updatedOptions.headers.cookie}if("authorization"in updatedOptions.headers){delete updatedOptions.headers.authorization}if(updatedOptions.username||updatedOptions.password){updatedOptions.username="";updatedOptions.password=""}}else{redirectUrl.username=updatedOptions.username;redirectUrl.password=updatedOptions.password}this.redirectUrls.push(redirectUrl);updatedOptions.prefixUrl="";updatedOptions.url=redirectUrl;for(const hook of updatedOptions.hooks.beforeRedirect){await hook(updatedOptions,typedResponse)}this.emit("redirect",updatedOptions,typedResponse);this.options=updatedOptions;await this._makeRequest()}catch(error){this._beforeError(error);return}return}if(options.isStream&&options.throwHttpErrors&&!isResponseOk(typedResponse)){this._beforeError(new HTTPError(typedResponse));return}response.on("readable",()=>{if(this._triggerRead){this._read()}});this.on("resume",()=>{response.resume()});this.on("pause",()=>{response.pause()});response.once("end",()=>{this.push(null)});if(this._noPipe){const success=await this._setRawBody();if(success){this.emit("response",response)}return}this.emit("response",response);for(const destination of this._pipedServerResponses){if(destination.headersSent){continue}for(const key in response.headers){const isAllowed=options.decompress?key!=="content-encoding":true;const value=response.headers[key];if(isAllowed){destination.setHeader(key,value)}}destination.statusCode=statusCode}}async _setRawBody(from=this){if(from.readableEnded){return false}try{const rawBody=await getStreamAsBuffer(from);if(!this.isAborted){this.response.rawBody=rawBody;return true}}catch{}return false}async _onResponse(response){try{await this._onResponseBase(response)}catch(error){this._beforeError(error)}}_onRequest(request){const{options}=this;const{timeout,url}=options;source_default2(request);if(this.options.http2){request.setTimeout(0)}this._cancelTimeouts=timedOut(request,timeout,url);const responseEventName=options.cache?"cacheableResponse":"response";request.once(responseEventName,response=>{void this._onResponse(response)});request.once("error",error=>{this._aborted=true;request.destroy();error=error instanceof TimeoutError2?new TimeoutError(error,this.timings,this):new RequestError(error.message,error,this);this._beforeError(error)});this._unproxyEvents=proxyEvents(request,this,proxiedRequestEvents);this._request=request;this.emit("uploadProgress",this.uploadProgress);this._sendBody();this.emit("request",request)}async _asyncWrite(chunk2){return new Promise((resolve,reject2)=>{super.write(chunk2,error=>{if(error){reject2(error);return}resolve()})})}_sendBody(){const{body}=this.options;const currentRequest=this.redirectUrls.length===0?this:this._request??this;if(dist_default.nodeStream(body)){body.pipe(currentRequest)}else if(dist_default.generator(body)||dist_default.asyncGenerator(body)){(async()=>{try{for await(const chunk2 of body){await this._asyncWrite(chunk2)}super.end()}catch(error){this._beforeError(error)}})()}else if(!dist_default.undefined(body)){this._writeRequest(body,void 0,()=>{});currentRequest.end()}else if(this._cannotHaveBody||this._noPipe){currentRequest.end()}}_prepareCache(cache2){if(!cacheableStore.has(cache2)){const cacheableRequest=new dist_default2((requestOptions,handler)=>{const result2=requestOptions._request(requestOptions,handler);if(dist_default.promise(result2)){result2.once=(event,handler2)=>{if(event==="error"){(async()=>{try{await result2}catch(error){handler2(error)}})()}else if(event==="abort"){(async()=>{try{const request=await result2;request.once("abort",handler2)}catch{}})()}else{throw new Error(`Unknown HTTP2 promise event: ${event}`)}return result2}}return result2},cache2);cacheableStore.set(cache2,cacheableRequest.request())}}async _createCacheableRequest(url,options){return new Promise((resolve,reject2)=>{Object.assign(options,urlToOptions(url));let request;const cacheRequest=cacheableStore.get(options.cache)(options,async response=>{response._readableState.autoDestroy=false;if(request){const fix=()=>{if(response.req){response.complete=response.req.res.complete}};response.prependOnceListener("end",fix);fix();(await request).emit("cacheableResponse",response)}resolve(response)});cacheRequest.once("error",reject2);cacheRequest.once("request",async requestOrPromise=>{request=requestOrPromise;resolve(request)})})}async _makeRequest(){const{options}=this;const{headers,username,password}=options;const cookieJar=options.cookieJar;for(const key in headers){if(dist_default.undefined(headers[key])){delete headers[key]}else if(dist_default.null_(headers[key])){throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${key}\` header`)}}if(options.decompress&&dist_default.undefined(headers["accept-encoding"])){headers["accept-encoding"]=supportsBrotli?"gzip, deflate, br":"gzip, deflate"}if(username||password){const credentials=import_node_buffer2.Buffer.from(`${username}:${password}`).toString("base64");headers.authorization=`Basic ${credentials}`}if(cookieJar){const cookieString=await cookieJar.getCookieString(options.url.toString());if(dist_default.nonEmptyString(cookieString)){headers.cookie=cookieString}}options.prefixUrl="";let request;for(const hook of options.hooks.beforeRequest){const result2=await hook(options);if(!dist_default.undefined(result2)){request=()=>result2;break}}if(!request){request=options.getRequestFunction()}const url=options.url;this._requestOptions=options.createNativeRequestOptions();if(options.cache){this._requestOptions._request=request;this._requestOptions.cache=options.cache;this._requestOptions.body=options.body;this._prepareCache(options.cache)}const fn2=options.cache?this._createCacheableRequest:request;try{let requestOrResponse=fn2(url,this._requestOptions);if(dist_default.promise(requestOrResponse)){requestOrResponse=await requestOrResponse}if(dist_default.undefined(requestOrResponse)){requestOrResponse=options.getFallbackRequestFunction()(url,this._requestOptions);if(dist_default.promise(requestOrResponse)){requestOrResponse=await requestOrResponse}}if(is_client_request_default(requestOrResponse)){this._onRequest(requestOrResponse)}else if(this.writable){this.once("finish",()=>{void this._onResponse(requestOrResponse)});this._sendBody()}else{void this._onResponse(requestOrResponse)}}catch(error){if(error instanceof CacheError2){throw new CacheError(error,this)}throw error}}async _error(error){try{if(error instanceof HTTPError&&!this.options.throwHttpErrors){}else{for(const hook of this.options.hooks.beforeError){error=await hook(error)}}}catch(error_){error=new RequestError(error_.message,error_,this)}this.destroy(error)}_writeRequest(chunk2,encoding,callback){if(!this._request||this._request.destroyed){return}this._request.write(chunk2,encoding,error=>{if(!error&&!this._request.destroyed){this._uploadedSize+=import_node_buffer2.Buffer.byteLength(chunk2,encoding);const progress=this.uploadProgress;if(progress.percent<1){this.emit("uploadProgress",progress)}}callback(error)})}get ip(){var _a12;return(_a12=this.socket)==null?void 0:_a12.remoteAddress}get isAborted(){return this._aborted}get socket(){var _a12;return((_a12=this._request)==null?void 0:_a12.socket)??void 0}get downloadProgress(){let percent;if(this._responseSize){percent=this._downloadedSize/this._responseSize}else if(this._responseSize===this._downloadedSize){percent=1}else{percent=0}return{percent,transferred:this._downloadedSize,total:this._responseSize}}get uploadProgress(){let percent;if(this._bodySize){percent=this._uploadedSize/this._bodySize}else if(this._bodySize===this._uploadedSize){percent=1}else{percent=0}return{percent,transferred:this._uploadedSize,total:this._bodySize}}get timings(){var _a12;return(_a12=this._request)==null?void 0:_a12.timings}get isFromCache(){return this._isFromCache}get reusedSocket(){var _a12;return(_a12=this._request)==null?void 0:_a12.reusedSocket}};var CancelError2=class extends RequestError{constructor(request){super("Promise was canceled",{},request);this.name="CancelError";this.code="ERR_CANCELED"}get isCanceled(){return true}};var proxiedRequestEvents2=["request","response","redirect","uploadProgress","downloadProgress"];function asPromise(firstRequest){let globalRequest;let globalResponse;let normalizedOptions;const emitter=new import_node_events2.EventEmitter;const promise=new PCancelable((resolve,reject2,onCancel)=>{onCancel(()=>{globalRequest.destroy()});onCancel.shouldReject=false;onCancel(()=>{reject2(new CancelError2(globalRequest))});const makeRequest=retryCount=>{var _a12;onCancel(()=>{});const request=firstRequest??new Request(void 0,void 0,normalizedOptions);request.retryCount=retryCount;request._noPipe=true;globalRequest=request;request.once("response",async response=>{const contentEncoding=(response.headers["content-encoding"]??"").toLowerCase();const isCompressed=contentEncoding==="gzip"||contentEncoding==="deflate"||contentEncoding==="br";const{options}=request;if(isCompressed&&!options.decompress){response.body=response.rawBody}else{try{response.body=parseBody(response,options.responseType,options.parseJson,options.encoding)}catch(error){response.body=response.rawBody.toString();if(isResponseOk(response)){request._beforeError(error);return}}}try{const hooks=options.hooks.afterResponse;for(const[index,hook]of hooks.entries()){response=await hook(response,async updatedOptions=>{options.merge(updatedOptions);options.prefixUrl="";if(updatedOptions.url){options.url=updatedOptions.url}options.hooks.afterResponse=options.hooks.afterResponse.slice(0,index);throw new RetryError(request)});if(!(dist_default.object(response)&&dist_default.number(response.statusCode)&&!dist_default.nullOrUndefined(response.body))){throw new TypeError("The `afterResponse` hook returned an invalid value")}}}catch(error){request._beforeError(error);return}globalResponse=response;if(!isResponseOk(response)){request._beforeError(new HTTPError(response));return}request.destroy();resolve(request.options.resolveBodyOnly?response.body:response)});const onError=error=>{if(promise.isCanceled){return}const{options}=request;if(error instanceof HTTPError&&!options.throwHttpErrors){const{response}=error;request.destroy();resolve(request.options.resolveBodyOnly?response.body:response);return}reject2(error)};request.once("error",onError);const previousBody=(_a12=request.options)==null?void 0:_a12.body;request.once("retry",(newRetryCount,error)=>{firstRequest=void 0;const newBody=request.options.body;if(previousBody===newBody&&dist_default.nodeStream(newBody)){error.message="Cannot retry with consumed body stream";onError(error);return}normalizedOptions=request.options;makeRequest(newRetryCount)});proxyEvents(request,emitter,proxiedRequestEvents2);if(dist_default.undefined(firstRequest)){void request.flush()}};makeRequest(0)});promise.on=(event,fn2)=>{emitter.on(event,fn2);return promise};promise.off=(event,fn2)=>{emitter.off(event,fn2);return promise};const shortcut=responseType=>{const newPromise=(async()=>{await promise;const{options}=globalResponse.request;return parseBody(globalResponse,responseType,options.parseJson,options.encoding)})();Object.defineProperties(newPromise,Object.getOwnPropertyDescriptors(promise));return newPromise};promise.json=()=>{if(globalRequest.options){const{headers}=globalRequest.options;if(!globalRequest.writableFinished&&!("accept"in headers)){headers.accept="application/json"}}return shortcut("json")};promise.buffer=()=>shortcut("buffer");promise.text=()=>shortcut("text");return promise}var delay2=async ms=>new Promise(resolve=>{setTimeout(resolve,ms)});var isGotInstance=value=>dist_default.function_(value);var aliases=["get","post","put","patch","head","delete"];var create2=defaults3=>{defaults3={options:new Options2(void 0,void 0,defaults3.options),handlers:[...defaults3.handlers],mutableDefaults:defaults3.mutableDefaults};Object.defineProperty(defaults3,"mutableDefaults",{enumerable:true,configurable:false,writable:false});const got2=(url,options,defaultOptions2=defaults3.options)=>{const request=new Request(url,options,defaultOptions2);let promise;const lastHandler=normalized=>{request.options=normalized;request._noPipe=!normalized.isStream;void request.flush();if(normalized.isStream){return request}if(!promise){promise=asPromise(request)}return promise};let iteration=0;const iterateHandlers=newOptions=>{const handler=defaults3.handlers[iteration++]??lastHandler;const result2=handler(newOptions,iterateHandlers);if(dist_default.promise(result2)&&!request.options.isStream){if(!promise){promise=asPromise(request)}if(result2!==promise){const descriptors=Object.getOwnPropertyDescriptors(promise);for(const key in descriptors){if(key in result2){delete descriptors[key]}}Object.defineProperties(result2,descriptors);result2.cancel=promise.cancel}}return result2};return iterateHandlers(request.options)};got2.extend=(...instancesOrOptions)=>{const options=new Options2(void 0,void 0,defaults3.options);const handlers3=[...defaults3.handlers];let mutableDefaults;for(const value of instancesOrOptions){if(isGotInstance(value)){options.merge(value.defaults.options);handlers3.push(...value.defaults.handlers);mutableDefaults=value.defaults.mutableDefaults}else{options.merge(value);if(value.handlers){handlers3.push(...value.handlers)}mutableDefaults=value.mutableDefaults}}return create2({options,handlers:handlers3,mutableDefaults:Boolean(mutableDefaults)})};const paginateEach=async function*(url,options){let normalizedOptions=new Options2(url,options,defaults3.options);normalizedOptions.resolveBodyOnly=false;const{pagination}=normalizedOptions;assert.function_(pagination.transform);assert.function_(pagination.shouldContinue);assert.function_(pagination.filter);assert.function_(pagination.paginate);assert.number(pagination.countLimit);assert.number(pagination.requestLimit);assert.number(pagination.backoff);const allItems=[];let{countLimit}=pagination;let numberOfRequests=0;while(numberOfRequests<pagination.requestLimit){if(numberOfRequests!==0){await delay2(pagination.backoff)}const response=await got2(void 0,void 0,normalizedOptions);const parsed=await pagination.transform(response);const currentItems=[];assert.array(parsed);for(const item of parsed){if(pagination.filter({item,currentItems,allItems})){if(!pagination.shouldContinue({item,currentItems,allItems})){return}yield item;if(pagination.stackAllItems){allItems.push(item)}currentItems.push(item);if(--countLimit<=0){return}}}const optionsToMerge=pagination.paginate({response,currentItems,allItems});if(optionsToMerge===false){return}if(optionsToMerge===response.request.options){normalizedOptions=response.request.options}else{normalizedOptions.merge(optionsToMerge);assert.any([dist_default.urlInstance,dist_default.undefined],optionsToMerge.url);if(optionsToMerge.url!==void 0){normalizedOptions.prefixUrl="";normalizedOptions.url=optionsToMerge.url}}numberOfRequests++}};got2.paginate=paginateEach;got2.paginate.all=async(url,options)=>{const results=[];for await(const item of paginateEach(url,options)){results.push(item)}return results};got2.paginate.each=paginateEach;got2.stream=(url,options)=>got2(url,{...options,isStream:true});for(const method2 of aliases){got2[method2]=(url,options)=>got2(url,{...options,method:method2});got2.stream[method2]=(url,options)=>got2(url,{...options,method:method2,isStream:true})}if(!defaults3.mutableDefaults){Object.freeze(defaults3.handlers);defaults3.options.freeze()}Object.defineProperty(got2,"defaults",{value:defaults3,writable:false,configurable:false,enumerable:true});return got2};var create_default2=create2;var defaults2={options:new Options2,handlers:[],mutableDefaults:false};var got=create_default2(defaults2);var source_default3=got;var got_default=source_default3.extend({timeout:{request:5e3},headers:{"User-Agent":`txAdmin ${txEnv.txaVersion}`},localAddress:txHostConfig.netInterface});var console14=console_default();var getPublicIp=async()=>{const zIpValidator=z.string().ip();const reqOptions={timeout:{request:2e3}};const httpGetter=async(url,jsonPath)=>{const res=await got_default(url,reqOptions).json();return zIpValidator.parse(res[jsonPath])};const allApis=shuffle_default2([["https://api.ipify.org?format=json","ip"],["https://api.myip.com","ip"],["https://ipv4.jsonip.com/","ip"],["https://api.my-ip.io/v2/ip.json","ip"],["https://www.l2.io/ip.json","ip"]]);for await(const[url,jsonPath]of allApis){try{return await httpGetter(url,jsonPath)}catch(error){}}return false};var getOSMessage=async()=>{const serverMessage=[`To be able to access txAdmin from the internet open port ${txHostConfig.txaPort}`,"on your OS Firewall as well as in the hosting provider."];const winWorkstationMessage=["[!] Home-hosting fxserver is not recommended [!]","You need to open the fxserver port (usually 30120) on Windows Firewall","and set up port forwarding on your router so other players can access it."];const distro=await getOsDistro_default();return distro&&distro.includes("Linux")||distro.includes("Server")?serverMessage:winWorkstationMessage};var awaitHttp=new Promise((resolve,reject2)=>{const tickLimit=100;let counter=0;let interval;const check=()=>{var _a12,_b2;counter++;if(txCore.webServer&&txCore.webServer.isListening&&txCore.webServer.isServing){clearInterval(interval);resolve(true)}else if(counter==tickLimit){clearInterval(interval);interval=setInterval(check,2500)}else if(counter>tickLimit){console14.warn("The WebServer is taking too long to start:",{module:!!txCore.webServer,listening:(_a12=txCore==null?void 0:txCore.webServer)==null?void 0:_a12.isListening,serving:(_b2=txCore==null?void 0:txCore.webServer)==null?void 0:_b2.isServing})}};interval=setInterval(check,150)});var awaitMasterPin=new Promise((resolve,reject2)=>{const tickLimit=100;let counter=0;let interval;const check=()=>{var _a12;counter++;if(txCore.adminStore&&txCore.adminStore.admins!==null){clearInterval(interval);const pin=txCore.adminStore.admins===false?txCore.adminStore.addMasterPin:false;resolve(pin)}else if(counter==tickLimit){clearInterval(interval);interval=setInterval(check,2500)}else if(counter>tickLimit){console14.warn("The AdminStore is taking too long to start:",{module:!!txCore.adminStore,admins:((_a12=txCore==null?void 0:txCore.adminStore)==null?void 0:_a12.admins)===null?"null":"not null"})}};interval=setInterval(check,150)});var awaitDatabase=new Promise((resolve,reject2)=>{const tickLimit=100;let counter=0;let interval;const check=()=>{var _a12;counter++;if(txCore.database&&txCore.database.isReady){clearInterval(interval);resolve(true)}else if(counter==tickLimit){clearInterval(interval);interval=setInterval(check,2500)}else if(counter>tickLimit){console14.warn("The Database is taking too long to start:",{module:!!txCore.database,ready:!!((_a12=txCore==null?void 0:txCore.database)==null?void 0:_a12.isReady)})}};interval=setInterval(check,150)});var startReadyWatcher=async cb=>{const[publicIpResp,msgRes,adminPinRes]=await Promise.allSettled([getPublicIp(),getOSMessage(),awaitMasterPin,awaitHttp,awaitDatabase]);let detectedUrls;if(txHostConfig.netInterface&&txHostConfig.netInterface!=="0.0.0.0"){detectedUrls=[txHostConfig.netInterface]}else{detectedUrls=[txEnv.isWindows?"localhost":"your-public-ip"];if("value"in publicIpResp&&publicIpResp.value){detectedUrls.push(publicIpResp.value);addLocalIpAddress(publicIpResp.value)}}const bannerUrls=txHostConfig.txaUrl?[txHostConfig.txaUrl]:detectedUrls.map(addr=>`http://${addr}:${txHostConfig.txaPort}/`);const adminMasterPin="value"in adminPinRes&&adminPinRes.value?adminPinRes.value:false;const adminPinLines=!adminMasterPin?[]:["","Use the PIN below to register:",source_default.inverse(` ${adminMasterPin} `)];const boxOptions={padding:1,margin:1,align:"center",borderStyle:"bold",borderColor:"cyan"};const boxLines=["All ready! Please access:",...bannerUrls.map(chalkInversePad),...adminPinLines];console14.multiline(boxen(boxLines.join("\n"),boxOptions),source_default.bgGreen);if(!txDevEnv.ENABLED&&!txHostConfig.netInterface&&"value"in msgRes&&msgRes.value){console14.multiline(msgRes.value,source_default.bgBlue)}if(txEnv.isWindows&&adminMasterPin&&bannerUrls[0]){const linkUrl=new URL(bannerUrls[0]);linkUrl.pathname="/addMaster/pin";linkUrl.hash=adminMasterPin;(0,import_open.default)(linkUrl.href)}cb()};var import_node_path8=__toESM(require("node:path"),1);var import_fs_extra2=__toESM(require_lib2(),1);var import_open2=__toESM(require_open(),1);var import_node_util4=require("node:util");var import_fs_extra=__toESM(require_lib2(),1);var import_promises3=__toESM(require("node:fs/promises"),1);var import_node_path6=__toESM(require("node:path"),1);var import_node_stream5=__toESM(require("node:stream"),1);var import_node_stream_zip=__toESM(require_node_stream_zip(),1);var import_promise=__toESM(require_promise2(),1);var modulename8="RecipeEngine";var console15=console_default(modulename8);var safePath=(base,suffix)=>{const safeSuffix=import_node_path6.default.normalize(suffix).replace(/^(\.\.(\/|\\|$))+/,"");return import_node_path6.default.join(base,safeSuffix)};var isPathLinear=pathInput=>{return pathInput.match(/(\.\.(\/|\\|$))+/g)===null};var isPathRoot=pathInput=>{return/^\.[/\\]*$/.test(pathInput)};var pathCleanTrail=pathInput=>{return pathInput.replace(/[/\\]+$/,"")};var isPathValid=(pathInput,acceptRoot=true)=>{return typeof pathInput=="string"&&pathInput.length&&isPathLinear(pathInput)&&(acceptRoot||!isPathRoot(pathInput))};var replaceVars=(inputString,deployerCtx)=>{const allVars=Object.keys(deployerCtx);for(const varName of allVars){const varNameReplacer=new RegExp(escapeRegExp_default(`{{${varName}}}`),"g");inputString=inputString.replace(varNameReplacer,deployerCtx[varName].toString())}return inputString};var validatorDownloadFile=options=>{return typeof options.url=="string"&&isPathValid(options.path)};var taskDownloadFile=async(options,basePath2,deployerCtx)=>{if(!validatorDownloadFile(options))throw new Error("invalid options");if(options.path.endsWith("/"))throw new Error("target filename not specified");const destPath=safePath(basePath2,options.path);await import_fs_extra.default.outputFile(destPath,"file save attempt, please ignore or remove");deployerCtx.$step="before stream";const gotOptions={timeout:{request:15e4},retry:{limit:5}};const gotStream=got_default.stream(options.url,gotOptions);gotStream.on("downloadProgress",progress=>{deployerCtx.$step=`downloading ${Math.round(progress.percent*100)}%`});const pipeline=(0,import_node_util4.promisify)(import_node_stream5.default.pipeline);await pipeline(gotStream,import_fs_extra.default.createWriteStream(destPath));deployerCtx.$step="after stream"};var githubRepoSourceRegex=/^((https?:\/\/github\.com\/)?|@)?([\w.\-_]+)\/([\w.\-_]+).*$/;var validatorDownloadGithub=options=>{return typeof options.src=="string"&&isPathValid(options.dest,false)&&(typeof options.ref=="string"||typeof options.ref=="undefined")&&(typeof options.subpath=="string"||typeof options.subpath=="undefined")};var taskDownloadGithub=async(options,basePath2,deployerCtx)=>{if(!validatorDownloadGithub(options))throw new Error("invalid options");deployerCtx.$step="task start";const srcMatch=options.src.match(githubRepoSourceRegex);if(!srcMatch||!srcMatch[3]||!srcMatch[4])throw new Error("invalid repository");const repoOwner=srcMatch[3];const repoName=srcMatch[4];let reference;if(options.ref){reference=options.ref}else{const data=await got_default.get(`https://api.github.com/repos/${repoOwner}/${repoName}`,{timeout:{request:15e3}}).json();if(typeof data!=="object"||!data.default_branch){throw new Error("reference not set, and wasn ot able to detect using github's api")}reference=data.default_branch}deployerCtx.$step="ref set";const downURL=`https://api.github.com/repos/${repoOwner}/${repoName}/zipball/${reference}`;const tmpFilePath=import_node_path6.default.join(basePath2,`.${(Date.now()%1e8).toString(36)}.download`);const destPath=safePath(basePath2,options.dest);deployerCtx.$step="before stream";const gotOptions={timeout:{request:15e4},retry:{limit:5}};const gotStream=got_default.stream(downURL,gotOptions);gotStream.on("downloadProgress",progress=>{deployerCtx.$step=`downloading ${Math.round(progress.percent*100)}%`});const pipeline=(0,import_node_util4.promisify)(import_node_stream5.default.pipeline);await pipeline(gotStream,import_fs_extra.default.createWriteStream(tmpFilePath));deployerCtx.$step="after stream";const zip2=new import_node_stream_zip.default.async({file:tmpFilePath});const entries2=Object.values(await zip2.entries());if(!entries2.length||!entries2[0].isDirectory)throw new Error("unexpected zip structure");const zipSubPath=import_node_path6.default.posix.join(entries2[0].name,options.subpath||"");deployerCtx.$step="zip parsed";await import_promises3.default.mkdir(destPath,{recursive:true});deployerCtx.$step="dest path created";await zip2.extract(zipSubPath,destPath);deployerCtx.$step="zip extracted";await zip2.close();deployerCtx.$step="zip closed";await import_fs_extra.default.remove(tmpFilePath);deployerCtx.$step="task finished"};var validatorRemovePath=options=>{return isPathValid(options.path,false)};var taskRemovePath=async(options,basePath2,deployerCtx)=>{if(!validatorRemovePath(options))throw new Error("invalid options");const targetPath=safePath(basePath2,options.path);const cleanBasePath=pathCleanTrail(import_node_path6.default.normalize(basePath2));if(cleanBasePath==targetPath)throw new Error("cannot remove base folder");await import_fs_extra.default.remove(targetPath)};var validatorEnsureDir=options=>{return isPathValid(options.path,false)};var taskEnsureDir=async(options,basePath2,deployerCtx)=>{if(!validatorEnsureDir(options))throw new Error("invalid options");const destPath=safePath(basePath2,options.path);await import_fs_extra.default.ensureDir(destPath)};var validatorUnzip=options=>{return isPathValid(options.src,false)&&isPathValid(options.dest)};var taskUnzip=async(options,basePath2,deployerCtx)=>{if(!validatorUnzip(options))throw new Error("invalid options");const srcPath=safePath(basePath2,options.src);const destPath=safePath(basePath2,options.dest);await import_promises3.default.mkdir(destPath,{recursive:true});const zip2=new import_node_stream_zip.default.async({file:srcPath});const count=await zip2.extract(null,destPath);console15.log(`Extracted ${count} entries`);await zip2.close()};var validatorMovePath=options=>{return isPathValid(options.src,false)&&isPathValid(options.dest,false)};var taskMovePath=async(options,basePath2,deployerCtx)=>{if(!validatorMovePath(options))throw new Error("invalid options");const srcPath=safePath(basePath2,options.src);const destPath=safePath(basePath2,options.dest);await import_fs_extra.default.move(srcPath,destPath,{overwrite:options.overwrite==="true"||options.overwrite===true})};var validatorCopyPath=options=>{return isPathValid(options.src)&&isPathValid(options.dest)};var taskCopyPath=async(options,basePath2,deployerCtx)=>{if(!validatorCopyPath(options))throw new Error("invalid options");const srcPath=safePath(basePath2,options.src);const destPath=safePath(basePath2,options.dest);await import_fs_extra.default.copy(srcPath,destPath,{overwrite:typeof options.overwrite!=="undefined"&&(options.overwrite==="true"||options.overwrite===true)})};var validatorWriteFile=options=>{return typeof options.data=="string"&&options.data.length&&isPathValid(options.file,false)};var taskWriteFile=async(options,basePath2,deployerCtx)=>{if(!validatorWriteFile(options))throw new Error("invalid options");const filePath=safePath(basePath2,options.file);if(options.append==="true"||options.append===true){await import_fs_extra.default.appendFile(filePath,options.data)}else{await import_fs_extra.default.outputFile(filePath,options.data)}};var validatorReplaceString=options=>{const fileList=Array.isArray(options.file)?options.file:[options.file];if(fileList.some(s=>!isPathValid(s,false))){return false}if(typeof options.mode=="undefined"||options.mode=="template"||options.mode=="literal"){return typeof options.search=="string"&&options.search.length&&typeof options.replace=="string"}else if(options.mode=="all_vars"){return true}else{return false}};var taskReplaceString=async(options,basePath2,deployerCtx)=>{if(!validatorReplaceString(options))throw new Error("invalid options");const fileList=Array.isArray(options.file)?options.file:[options.file];for(let i=0;i<fileList.length;i++){const filePath=safePath(basePath2,fileList[i]);const original=await import_fs_extra.default.readFile(filePath,"utf8");let changed;if(typeof options.mode=="undefined"||options.mode=="template"){changed=original.replace(new RegExp(options.search,"g"),replaceVars(options.replace,deployerCtx))}else if(options.mode=="all_vars"){changed=replaceVars(original,deployerCtx)}else if(options.mode=="literal"){changed=original.replace(new RegExp(options.search,"g"),options.replace)}await import_fs_extra.default.writeFile(filePath,changed)}};var validatorConnectDatabase=options=>{return true};var taskConnectDatabase=async(options,basePath2,deployerCtx)=>{if(!validatorConnectDatabase(options))throw new Error("invalid options");if(typeof deployerCtx.dbHost!=="string")throw new Error("invalid dbHost");if(typeof deployerCtx.dbPort!=="number")throw new Error("invalid dbPort, should be number");if(typeof deployerCtx.dbUsername!=="string")throw new Error("invalid dbUsername");if(typeof deployerCtx.dbPassword!=="string")throw new Error("dbPassword should be a string");if(typeof deployerCtx.dbName!=="string")throw new Error("dbName should be a string");if(typeof deployerCtx.dbDelete!=="boolean")throw new Error("dbDelete should be a boolean");const mysqlOptions={host:deployerCtx.dbHost,port:deployerCtx.dbPort,user:deployerCtx.dbUsername,password:deployerCtx.dbPassword,multipleStatements:true};deployerCtx.dbConnection=await import_promise.default.createConnection(mysqlOptions);const escapedDBName=import_promise.default.escapeId(deployerCtx.dbName);if(deployerCtx.dbDelete){await deployerCtx.dbConnection.query(`DROP DATABASE IF EXISTS ${escapedDBName}`)}await deployerCtx.dbConnection.query(`CREATE DATABASE IF NOT EXISTS ${escapedDBName} CHARACTER SET utf8 COLLATE utf8_general_ci`);await deployerCtx.dbConnection.query(`USE ${escapedDBName}`)};var validatorQueryDatabase=options=>{if(typeof options.file!=="undefined"&&typeof options.query!=="undefined")return false;if(typeof options.file=="string")return isPathValid(options.file,false);if(typeof options.query=="string")return options.query.length;return false};var taskQueryDatabase=async(options,basePath2,deployerCtx)=>{if(!validatorQueryDatabase(options))throw new Error("invalid options");if(!deployerCtx.dbConnection)throw new Error("Database connection not found. Run connect_database before query_database");let sql;if(options.file){const filePath=safePath(basePath2,options.file);sql=await import_fs_extra.default.readFile(filePath,"utf8")}else{sql=options.query}await deployerCtx.dbConnection.query(sql)};var validatorLoadVars=options=>{return isPathValid(options.src,false)};var taskLoadVars=async(options,basePath2,deployerCtx)=>{if(!validatorLoadVars(options))throw new Error("invalid options");const srcPath=safePath(basePath2,options.src);const rawData=await import_fs_extra.default.readFile(srcPath,"utf8");const inData=JSON.parse(rawData);inData.dbConnection=void 0;Object.assign(deployerCtx,inData)};var validatorWasteTime=options=>{return typeof options.seconds=="number"};var taskWasteTime=(options,basePath2,deployerCtx)=>{return new Promise((resolve,reject2)=>{setTimeout(()=>{resolve(true)},options.seconds*1e3)})};var taskFailTest=async(options,basePath2,deployerCtx)=>{throw new Error("test error :p")};var taskDumpVars=async(options,basePath2,deployerCtx)=>{var _a12,_b2;const toDump=cloneDeep_default(deployerCtx);toDump.dbConnection=(_b2=(_a12=toDump==null?void 0:toDump.dbConnection)==null?void 0:_a12.constructor)==null?void 0:_b2.name;console15.dir(toDump)};var recipeEngine_default={download_file:{validate:validatorDownloadFile,run:taskDownloadFile,timeoutSeconds:180},download_github:{validate:validatorDownloadGithub,run:taskDownloadGithub,timeoutSeconds:180},remove_path:{validate:validatorRemovePath,run:taskRemovePath,timeoutSeconds:15},ensure_dir:{validate:validatorEnsureDir,run:taskEnsureDir,timeoutSeconds:15},unzip:{validate:validatorUnzip,run:taskUnzip,timeoutSeconds:180},move_path:{validate:validatorMovePath,run:taskMovePath,timeoutSeconds:180},copy_path:{validate:validatorCopyPath,run:taskCopyPath,timeoutSeconds:180},write_file:{validate:validatorWriteFile,run:taskWriteFile,timeoutSeconds:15},replace_string:{validate:validatorReplaceString,run:taskReplaceString,timeoutSeconds:15},connect_database:{validate:validatorConnectDatabase,run:taskConnectDatabase,timeoutSeconds:30},query_database:{validate:validatorQueryDatabase,run:taskQueryDatabase,timeoutSeconds:90},load_vars:{validate:validatorLoadVars,run:taskLoadVars,timeoutSeconds:5},waste_time:{validate:validatorWasteTime,run:taskWasteTime,timeoutSeconds:300},fail_test:{validate:()=>true,run:taskFailTest,timeoutSeconds:300},dump_vars:{validate:()=>true,run:taskDumpVars,timeoutSeconds:5}};function isNothing(subject){return typeof subject==="undefined"||subject===null}function isObject2(subject){return typeof subject==="object"&&subject!==null}function toArray2(sequence){if(Array.isArray(sequence))return sequence;else if(isNothing(sequence))return[];return[sequence]}function extend(target,source){var index,length,key,sourceKeys;if(source){sourceKeys=Object.keys(source);for(index=0,length=sourceKeys.length;index<length;index+=1){key=sourceKeys[index];target[key]=source[key]}}return target}function repeat2(string,count){var result2="",cycle;for(cycle=0;cycle<count;cycle+=1){result2+=string}return result2}function isNegativeZero(number2){return number2===0&&Number.NEGATIVE_INFINITY===1/number2}var isNothing_1=isNothing;var isObject_1=isObject2;var toArray_1=toArray2;var repeat_1=repeat2;var isNegativeZero_1=isNegativeZero;var extend_1=extend;var common={isNothing:isNothing_1,isObject:isObject_1,toArray:toArray_1,repeat:repeat_1,isNegativeZero:isNegativeZero_1,extend:extend_1};function formatError(exception2,compact2){var where="",message3=exception2.reason||"(unknown reason)";if(!exception2.mark)return message3;if(exception2.mark.name){where+='in "'+exception2.mark.name+'" '}where+="("+(exception2.mark.line+1)+":"+(exception2.mark.column+1)+")";if(!compact2&&exception2.mark.snippet){where+="\n\n"+exception2.mark.snippet}return message3+" "+where}function YAMLException$1(reason,mark){Error.call(this);this.name="YAMLException";this.reason=reason;this.mark=mark;this.message=formatError(this,false);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}else{this.stack=new Error().stack||""}}YAMLException$1.prototype=Object.create(Error.prototype);YAMLException$1.prototype.constructor=YAMLException$1;YAMLException$1.prototype.toString=function toString3(compact2){return this.name+": "+formatError(this,compact2)};var exception=YAMLException$1;function getLine(buffer,lineStart,lineEnd,position,maxLineLength){var head2="";var tail2="";var maxHalfLength=Math.floor(maxLineLength/2)-1;if(position-lineStart>maxHalfLength){head2=" ... ";lineStart=position-maxHalfLength+head2.length}if(lineEnd-position>maxHalfLength){tail2=" ...";lineEnd=position+maxHalfLength-tail2.length}return{str:head2+buffer.slice(lineStart,lineEnd).replace(/\t/g,"→")+tail2,pos:position-lineStart+head2.length}}function padStart2(string,max3){return common.repeat(" ",max3-string.length)+string}function makeSnippet(mark,options){options=Object.create(options||null);if(!mark.buffer)return null;if(!options.maxLength)options.maxLength=79;if(typeof options.indent!=="number")options.indent=1;if(typeof options.linesBefore!=="number")options.linesBefore=3;if(typeof options.linesAfter!=="number")options.linesAfter=2;var re=/\r?\n|\r|\0/g;var lineStarts=[0];var lineEnds=[];var match;var foundLineNo=-1;while(match=re.exec(mark.buffer)){lineEnds.push(match.index);lineStarts.push(match.index+match[0].length);if(mark.position<=match.index&&foundLineNo<0){foundLineNo=lineStarts.length-2}}if(foundLineNo<0)foundLineNo=lineStarts.length-1;var result2="",i,line;var lineNoLength=Math.min(mark.line+options.linesAfter,lineEnds.length).toString().length;var maxLineLength=options.maxLength-(options.indent+lineNoLength+3);for(i=1;i<=options.linesBefore;i++){if(foundLineNo-i<0)break;line=getLine(mark.buffer,lineStarts[foundLineNo-i],lineEnds[foundLineNo-i],mark.position-(lineStarts[foundLineNo]-lineStarts[foundLineNo-i]),maxLineLength);result2=common.repeat(" ",options.indent)+padStart2((mark.line-i+1).toString(),lineNoLength)+" | "+line.str+"\n"+result2}line=getLine(mark.buffer,lineStarts[foundLineNo],lineEnds[foundLineNo],mark.position,maxLineLength);result2+=common.repeat(" ",options.indent)+padStart2((mark.line+1).toString(),lineNoLength)+" | "+line.str+"\n";result2+=common.repeat("-",options.indent+lineNoLength+3+line.pos)+"^\n";for(i=1;i<=options.linesAfter;i++){if(foundLineNo+i>=lineEnds.length)break;line=getLine(mark.buffer,lineStarts[foundLineNo+i],lineEnds[foundLineNo+i],mark.position-(lineStarts[foundLineNo]-lineStarts[foundLineNo+i]),maxLineLength);result2+=common.repeat(" ",options.indent)+padStart2((mark.line+i+1).toString(),lineNoLength)+" | "+line.str+"\n"}return result2.replace(/\n$/,"")}var snippet=makeSnippet;var TYPE_CONSTRUCTOR_OPTIONS=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"];var YAML_NODE_KINDS=["scalar","sequence","mapping"];function compileStyleAliases(map3){var result2={};if(map3!==null){Object.keys(map3).forEach(function(style){map3[style].forEach(function(alias){result2[String(alias)]=style})})}return result2}function Type$1(tag,options){options=options||{};Object.keys(options).forEach(function(name){if(TYPE_CONSTRUCTOR_OPTIONS.indexOf(name)===-1){throw new exception('Unknown option "'+name+'" is met in definition of "'+tag+'" YAML type.')}});this.options=options;this.tag=tag;this.kind=options["kind"]||null;this.resolve=options["resolve"]||function(){return true};this.construct=options["construct"]||function(data){return data};this.instanceOf=options["instanceOf"]||null;this.predicate=options["predicate"]||null;this.represent=options["represent"]||null;this.representName=options["representName"]||null;this.defaultStyle=options["defaultStyle"]||null;this.multi=options["multi"]||false;this.styleAliases=compileStyleAliases(options["styleAliases"]||null);if(YAML_NODE_KINDS.indexOf(this.kind)===-1){throw new exception('Unknown kind "'+this.kind+'" is specified for "'+tag+'" YAML type.')}}var type=Type$1;function compileList(schema2,name){var result2=[];schema2[name].forEach(function(currentType){var newIndex=result2.length;result2.forEach(function(previousType,previousIndex){if(previousType.tag===currentType.tag&&previousType.kind===currentType.kind&&previousType.multi===currentType.multi){newIndex=previousIndex}});result2[newIndex]=currentType});return result2}function compileMap(){var result2={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},index,length;function collectType(type2){if(type2.multi){result2.multi[type2.kind].push(type2);result2.multi["fallback"].push(type2)}else{result2[type2.kind][type2.tag]=result2["fallback"][type2.tag]=type2}}for(index=0,length=arguments.length;index<length;index+=1){arguments[index].forEach(collectType)}return result2}function Schema$1(definition){return this.extend(definition)}Schema$1.prototype.extend=function extend2(definition){var implicit=[];var explicit=[];if(definition instanceof type){explicit.push(definition)}else if(Array.isArray(definition)){explicit=explicit.concat(definition)}else if(definition&&(Array.isArray(definition.implicit)||Array.isArray(definition.explicit))){if(definition.implicit)implicit=implicit.concat(definition.implicit);if(definition.explicit)explicit=explicit.concat(definition.explicit)}else{throw new exception("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })")}implicit.forEach(function(type$1){if(!(type$1 instanceof type)){throw new exception("Specified list of YAML types (or a single Type object) contains a non-Type object.")}if(type$1.loadKind&&type$1.loadKind!=="scalar"){throw new exception("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.")}if(type$1.multi){throw new exception("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}});explicit.forEach(function(type$1){if(!(type$1 instanceof type)){throw new exception("Specified list of YAML types (or a single Type object) contains a non-Type object.")}});var result2=Object.create(Schema$1.prototype);result2.implicit=(this.implicit||[]).concat(implicit);result2.explicit=(this.explicit||[]).concat(explicit);result2.compiledImplicit=compileList(result2,"implicit");result2.compiledExplicit=compileList(result2,"explicit");result2.compiledTypeMap=compileMap(result2.compiledImplicit,result2.compiledExplicit);return result2};var schema=Schema$1;var str=new type("tag:yaml.org,2002:str",{kind:"scalar",construct:function(data){return data!==null?data:""}});var seq=new type("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(data){return data!==null?data:[]}});var map2=new type("tag:yaml.org,2002:map",{kind:"mapping",construct:function(data){return data!==null?data:{}}});var failsafe=new schema({explicit:[str,seq,map2]});function resolveYamlNull(data){if(data===null)return true;var max3=data.length;return max3===1&&data==="~"||max3===4&&(data==="null"||data==="Null"||data==="NULL")}function constructYamlNull(){return null}function isNull2(object){return object===null}var _null=new type("tag:yaml.org,2002:null",{kind:"scalar",resolve:resolveYamlNull,construct:constructYamlNull,predicate:isNull2,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"});function resolveYamlBoolean(data){if(data===null)return false;var max3=data.length;return max3===4&&(data==="true"||data==="True"||data==="TRUE")||max3===5&&(data==="false"||data==="False"||data==="FALSE")}function constructYamlBoolean(data){return data==="true"||data==="True"||data==="TRUE"}function isBoolean2(object){return Object.prototype.toString.call(object)==="[object Boolean]"}var bool=new type("tag:yaml.org,2002:bool",{kind:"scalar",resolve:resolveYamlBoolean,construct:constructYamlBoolean,predicate:isBoolean2,represent:{lowercase:function(object){return object?"true":"false"},uppercase:function(object){return object?"TRUE":"FALSE"},camelcase:function(object){return object?"True":"False"}},defaultStyle:"lowercase"});function isHexCode(c){return 48<=c&&c<=57||65<=c&&c<=70||97<=c&&c<=102}function isOctCode(c){return 48<=c&&c<=55}function isDecCode(c){return 48<=c&&c<=57}function resolveYamlInteger(data){if(data===null)return false;var max3=data.length,index=0,hasDigits=false,ch;if(!max3)return false;ch=data[index];if(ch==="-"||ch==="+"){ch=data[++index]}if(ch==="0"){if(index+1===max3)return true;ch=data[++index];if(ch==="b"){index++;for(;index<max3;index++){ch=data[index];if(ch==="_")continue;if(ch!=="0"&&ch!=="1")return false;hasDigits=true}return hasDigits&&ch!=="_"}if(ch==="x"){index++;for(;index<max3;index++){ch=data[index];if(ch==="_")continue;if(!isHexCode(data.charCodeAt(index)))return false;hasDigits=true}return hasDigits&&ch!=="_"}if(ch==="o"){index++;for(;index<max3;index++){ch=data[index];if(ch==="_")continue;if(!isOctCode(data.charCodeAt(index)))return false;hasDigits=true}return hasDigits&&ch!=="_"}}if(ch==="_")return false;for(;index<max3;index++){ch=data[index];if(ch==="_")continue;if(!isDecCode(data.charCodeAt(index))){return false}hasDigits=true}if(!hasDigits||ch==="_")return false;return true}function constructYamlInteger(data){var value=data,sign=1,ch;if(value.indexOf("_")!==-1){value=value.replace(/_/g,"")}ch=value[0];if(ch==="-"||ch==="+"){if(ch==="-")sign=-1;value=value.slice(1);ch=value[0]}if(value==="0")return 0;if(ch==="0"){if(value[1]==="b")return sign*parseInt(value.slice(2),2);if(value[1]==="x")return sign*parseInt(value.slice(2),16);if(value[1]==="o")return sign*parseInt(value.slice(2),8)}return sign*parseInt(value,10)}function isInteger2(object){return Object.prototype.toString.call(object)==="[object Number]"&&(object%1===0&&!common.isNegativeZero(object))}var int=new type("tag:yaml.org,2002:int",{kind:"scalar",resolve:resolveYamlInteger,construct:constructYamlInteger,predicate:isInteger2,represent:{binary:function(obj){return obj>=0?"0b"+obj.toString(2):"-0b"+obj.toString(2).slice(1)},octal:function(obj){return obj>=0?"0o"+obj.toString(8):"-0o"+obj.toString(8).slice(1)},decimal:function(obj){return obj.toString(10)},hexadecimal:function(obj){return obj>=0?"0x"+obj.toString(16).toUpperCase():"-0x"+obj.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}});var YAML_FLOAT_PATTERN=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function resolveYamlFloat(data){if(data===null)return false;if(!YAML_FLOAT_PATTERN.test(data)||data[data.length-1]==="_"){return false}return true}function constructYamlFloat(data){var value,sign;value=data.replace(/_/g,"").toLowerCase();sign=value[0]==="-"?-1:1;if("+-".indexOf(value[0])>=0){value=value.slice(1)}if(value===".inf"){return sign===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY}else if(value===".nan"){return NaN}return sign*parseFloat(value,10)}var SCIENTIFIC_WITHOUT_DOT=/^[-+]?[0-9]+e/;function representYamlFloat(object,style){var res;if(isNaN(object)){switch(style){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}}else if(Number.POSITIVE_INFINITY===object){switch(style){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}}else if(Number.NEGATIVE_INFINITY===object){switch(style){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}}else if(common.isNegativeZero(object)){return"-0.0"}res=object.toString(10);return SCIENTIFIC_WITHOUT_DOT.test(res)?res.replace("e",".e"):res}function isFloat(object){return Object.prototype.toString.call(object)==="[object Number]"&&(object%1!==0||common.isNegativeZero(object))}var float=new type("tag:yaml.org,2002:float",{kind:"scalar",resolve:resolveYamlFloat,construct:constructYamlFloat,predicate:isFloat,represent:representYamlFloat,defaultStyle:"lowercase"});var json=failsafe.extend({implicit:[_null,bool,int,float]});var core=json;var YAML_DATE_REGEXP=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$");var YAML_TIMESTAMP_REGEXP=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function resolveYamlTimestamp(data){if(data===null)return false;if(YAML_DATE_REGEXP.exec(data)!==null)return true;if(YAML_TIMESTAMP_REGEXP.exec(data)!==null)return true;return false}function constructYamlTimestamp(data){var match,year,month,day,hour,minute,second,fraction=0,delta=null,tz_hour,tz_minute,date;match=YAML_DATE_REGEXP.exec(data);if(match===null)match=YAML_TIMESTAMP_REGEXP.exec(data);if(match===null)throw new Error("Date resolve error");year=+match[1];month=+match[2]-1;day=+match[3];if(!match[4]){return new Date(Date.UTC(year,month,day))}hour=+match[4];minute=+match[5];second=+match[6];if(match[7]){fraction=match[7].slice(0,3);while(fraction.length<3){fraction+="0"}fraction=+fraction}if(match[9]){tz_hour=+match[10];tz_minute=+(match[11]||0);delta=(tz_hour*60+tz_minute)*6e4;if(match[9]==="-")delta=-delta}date=new Date(Date.UTC(year,month,day,hour,minute,second,fraction));if(delta)date.setTime(date.getTime()-delta);return date}function representYamlTimestamp(object){return object.toISOString()}var timestamp=new type("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:resolveYamlTimestamp,construct:constructYamlTimestamp,instanceOf:Date,represent:representYamlTimestamp});function resolveYamlMerge(data){return data==="<<"||data===null}var merge2=new type("tag:yaml.org,2002:merge",{kind:"scalar",resolve:resolveYamlMerge});var BASE64_MAP="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";function resolveYamlBinary(data){if(data===null)return false;var code,idx,bitlen=0,max3=data.length,map3=BASE64_MAP;for(idx=0;idx<max3;idx++){code=map3.indexOf(data.charAt(idx));if(code>64)continue;if(code<0)return false;bitlen+=6}return bitlen%8===0}function constructYamlBinary(data){var idx,tailbits,input=data.replace(/[\r\n=]/g,""),max3=input.length,map3=BASE64_MAP,bits=0,result2=[];for(idx=0;idx<max3;idx++){if(idx%4===0&&idx){result2.push(bits>>16&255);result2.push(bits>>8&255);result2.push(bits&255)}bits=bits<<6|map3.indexOf(input.charAt(idx))}tailbits=max3%4*6;if(tailbits===0){result2.push(bits>>16&255);result2.push(bits>>8&255);result2.push(bits&255)}else if(tailbits===18){result2.push(bits>>10&255);result2.push(bits>>2&255)}else if(tailbits===12){result2.push(bits>>4&255)}return new Uint8Array(result2)}function representYamlBinary(object){var result2="",bits=0,idx,tail2,max3=object.length,map3=BASE64_MAP;for(idx=0;idx<max3;idx++){if(idx%3===0&&idx){result2+=map3[bits>>18&63];result2+=map3[bits>>12&63];result2+=map3[bits>>6&63];result2+=map3[bits&63]}bits=(bits<<8)+object[idx]}tail2=max3%3;if(tail2===0){result2+=map3[bits>>18&63];result2+=map3[bits>>12&63];result2+=map3[bits>>6&63];result2+=map3[bits&63]}else if(tail2===2){result2+=map3[bits>>10&63];result2+=map3[bits>>4&63];result2+=map3[bits<<2&63];result2+=map3[64]}else if(tail2===1){result2+=map3[bits>>2&63];result2+=map3[bits<<4&63];result2+=map3[64];result2+=map3[64]}return result2}function isBinary(obj){return Object.prototype.toString.call(obj)==="[object Uint8Array]"}var binary=new type("tag:yaml.org,2002:binary",{kind:"scalar",resolve:resolveYamlBinary,construct:constructYamlBinary,predicate:isBinary,represent:representYamlBinary});var _hasOwnProperty$3=Object.prototype.hasOwnProperty;var _toString$2=Object.prototype.toString;function resolveYamlOmap(data){if(data===null)return true;var objectKeys=[],index,length,pair,pairKey,pairHasKey,object=data;for(index=0,length=object.length;index<length;index+=1){pair=object[index];pairHasKey=false;if(_toString$2.call(pair)!=="[object Object]")return false;for(pairKey in pair){if(_hasOwnProperty$3.call(pair,pairKey)){if(!pairHasKey)pairHasKey=true;else return false}}if(!pairHasKey)return false;if(objectKeys.indexOf(pairKey)===-1)objectKeys.push(pairKey);else return false}return true}function constructYamlOmap(data){return data!==null?data:[]}var omap=new type("tag:yaml.org,2002:omap",{kind:"sequence",resolve:resolveYamlOmap,construct:constructYamlOmap});var _toString$1=Object.prototype.toString;function resolveYamlPairs(data){if(data===null)return true;var index,length,pair,keys2,result2,object=data;result2=new Array(object.length);for(index=0,length=object.length;index<length;index+=1){pair=object[index];if(_toString$1.call(pair)!=="[object Object]")return false;keys2=Object.keys(pair);if(keys2.length!==1)return false;result2[index]=[keys2[0],pair[keys2[0]]]}return true}function constructYamlPairs(data){if(data===null)return[];var index,length,pair,keys2,result2,object=data;result2=new Array(object.length);for(index=0,length=object.length;index<length;index+=1){pair=object[index];keys2=Object.keys(pair);result2[index]=[keys2[0],pair[keys2[0]]]}return result2}var pairs=new type("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:resolveYamlPairs,construct:constructYamlPairs});var _hasOwnProperty$2=Object.prototype.hasOwnProperty;function resolveYamlSet(data){if(data===null)return true;var key,object=data;for(key in object){if(_hasOwnProperty$2.call(object,key)){if(object[key]!==null)return false}}return true}function constructYamlSet(data){return data!==null?data:{}}var set2=new type("tag:yaml.org,2002:set",{kind:"mapping",resolve:resolveYamlSet,construct:constructYamlSet});var _default=core.extend({implicit:[timestamp,merge2],explicit:[binary,omap,pairs,set2]});var _hasOwnProperty$1=Object.prototype.hasOwnProperty;var CONTEXT_FLOW_IN=1;var CONTEXT_FLOW_OUT=2;var CONTEXT_BLOCK_IN=3;var CONTEXT_BLOCK_OUT=4;var CHOMPING_CLIP=1;var CHOMPING_STRIP=2;var CHOMPING_KEEP=3;var PATTERN_NON_PRINTABLE=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/;var PATTERN_NON_ASCII_LINE_BREAKS=/[\x85\u2028\u2029]/;var PATTERN_FLOW_INDICATORS=/[,\[\]\{\}]/;var PATTERN_TAG_HANDLE=/^(?:!|!!|![a-z\-]+!)$/i;var PATTERN_TAG_URI=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function _class(obj){return Object.prototype.toString.call(obj)}function is_EOL(c){return c===10||c===13}function is_WHITE_SPACE(c){return c===9||c===32}function is_WS_OR_EOL(c){return c===9||c===32||c===10||c===13}function is_FLOW_INDICATOR(c){return c===44||c===91||c===93||c===123||c===125}function fromHexCode(c){var lc;if(48<=c&&c<=57){return c-48}lc=c|32;if(97<=lc&&lc<=102){return lc-97+10}return-1}function escapedHexLen(c){if(c===120){return 2}if(c===117){return 4}if(c===85){return 8}return 0}function fromDecimalCode(c){if(48<=c&&c<=57){return c-48}return-1}function simpleEscapeSequence(c){return c===48?"\0":c===97?"\x07":c===98?"\b":c===116?"	":c===9?"	":c===110?"\n":c===118?"\v":c===102?"\f":c===114?"\r":c===101?"\x1B":c===32?" ":c===34?'"':c===47?"/":c===92?"\\":c===78?"":c===95?" ":c===76?"\u2028":c===80?"\u2029":""}function charFromCodepoint(c){if(c<=65535){return String.fromCharCode(c)}return String.fromCharCode((c-65536>>10)+55296,(c-65536&1023)+56320)}var simpleEscapeCheck=new Array(256);var simpleEscapeMap=new Array(256);for(i=0;i<256;i++){simpleEscapeCheck[i]=simpleEscapeSequence(i)?1:0;simpleEscapeMap[i]=simpleEscapeSequence(i)}var i;function State$1(input,options){this.input=input;this.filename=options["filename"]||null;this.schema=options["schema"]||_default;this.onWarning=options["onWarning"]||null;this.legacy=options["legacy"]||false;this.json=options["json"]||false;this.listener=options["listener"]||null;this.implicitTypes=this.schema.compiledImplicit;this.typeMap=this.schema.compiledTypeMap;this.length=input.length;this.position=0;this.line=0;this.lineStart=0;this.lineIndent=0;this.firstTabInLine=-1;this.documents=[]}function generateError(state,message3){var mark={name:state.filename,buffer:state.input.slice(0,-1),position:state.position,line:state.line,column:state.position-state.lineStart};mark.snippet=snippet(mark);return new exception(message3,mark)}function throwError(state,message3){throw generateError(state,message3)}function throwWarning(state,message3){if(state.onWarning){state.onWarning.call(null,generateError(state,message3))}}var directiveHandlers={YAML:function handleYamlDirective(state,name,args2){var match,major3,minor3;if(state.version!==null){throwError(state,"duplication of %YAML directive")}if(args2.length!==1){throwError(state,"YAML directive accepts exactly one argument")}match=/^([0-9]+)\.([0-9]+)$/.exec(args2[0]);if(match===null){throwError(state,"ill-formed argument of the YAML directive")}major3=parseInt(match[1],10);minor3=parseInt(match[2],10);if(major3!==1){throwError(state,"unacceptable YAML version of the document")}state.version=args2[0];state.checkLineBreaks=minor3<2;if(minor3!==1&&minor3!==2){throwWarning(state,"unsupported YAML version of the document")}},TAG:function handleTagDirective(state,name,args2){var handle,prefix;if(args2.length!==2){throwError(state,"TAG directive accepts exactly two arguments")}handle=args2[0];prefix=args2[1];if(!PATTERN_TAG_HANDLE.test(handle)){throwError(state,"ill-formed tag handle (first argument) of the TAG directive")}if(_hasOwnProperty$1.call(state.tagMap,handle)){throwError(state,'there is a previously declared suffix for "'+handle+'" tag handle')}if(!PATTERN_TAG_URI.test(prefix)){throwError(state,"ill-formed tag prefix (second argument) of the TAG directive")}try{prefix=decodeURIComponent(prefix)}catch(err){throwError(state,"tag prefix is malformed: "+prefix)}state.tagMap[handle]=prefix}};function captureSegment(state,start,end,checkJson){var _position,_length,_character,_result;if(start<end){_result=state.input.slice(start,end);if(checkJson){for(_position=0,_length=_result.length;_position<_length;_position+=1){_character=_result.charCodeAt(_position);if(!(_character===9||32<=_character&&_character<=1114111)){throwError(state,"expected valid JSON character")}}}else if(PATTERN_NON_PRINTABLE.test(_result)){throwError(state,"the stream contains non-printable characters")}state.result+=_result}}function mergeMappings(state,destination,source,overridableKeys){var sourceKeys,key,index,quantity;if(!common.isObject(source)){throwError(state,"cannot merge mappings; the provided source object is unacceptable")}sourceKeys=Object.keys(source);for(index=0,quantity=sourceKeys.length;index<quantity;index+=1){key=sourceKeys[index];if(!_hasOwnProperty$1.call(destination,key)){destination[key]=source[key];overridableKeys[key]=true}}}function storeMappingPair(state,_result,overridableKeys,keyTag,keyNode,valueNode,startLine,startLineStart,startPos){var index,quantity;if(Array.isArray(keyNode)){keyNode=Array.prototype.slice.call(keyNode);for(index=0,quantity=keyNode.length;index<quantity;index+=1){if(Array.isArray(keyNode[index])){throwError(state,"nested arrays are not supported inside keys")}if(typeof keyNode==="object"&&_class(keyNode[index])==="[object Object]"){keyNode[index]="[object Object]"}}}if(typeof keyNode==="object"&&_class(keyNode)==="[object Object]"){keyNode="[object Object]"}keyNode=String(keyNode);if(_result===null){_result={}}if(keyTag==="tag:yaml.org,2002:merge"){if(Array.isArray(valueNode)){for(index=0,quantity=valueNode.length;index<quantity;index+=1){mergeMappings(state,_result,valueNode[index],overridableKeys)}}else{mergeMappings(state,_result,valueNode,overridableKeys)}}else{if(!state.json&&!_hasOwnProperty$1.call(overridableKeys,keyNode)&&_hasOwnProperty$1.call(_result,keyNode)){state.line=startLine||state.line;state.lineStart=startLineStart||state.lineStart;state.position=startPos||state.position;throwError(state,"duplicated mapping key")}if(keyNode==="__proto__"){Object.defineProperty(_result,keyNode,{configurable:true,enumerable:true,writable:true,value:valueNode})}else{_result[keyNode]=valueNode}delete overridableKeys[keyNode]}return _result}function readLineBreak(state){var ch;ch=state.input.charCodeAt(state.position);if(ch===10){state.position++}else if(ch===13){state.position++;if(state.input.charCodeAt(state.position)===10){state.position++}}else{throwError(state,"a line break is expected")}state.line+=1;state.lineStart=state.position;state.firstTabInLine=-1}function skipSeparationSpace(state,allowComments,checkIndent){var lineBreaks=0,ch=state.input.charCodeAt(state.position);while(ch!==0){while(is_WHITE_SPACE(ch)){if(ch===9&&state.firstTabInLine===-1){state.firstTabInLine=state.position}ch=state.input.charCodeAt(++state.position)}if(allowComments&&ch===35){do{ch=state.input.charCodeAt(++state.position)}while(ch!==10&&ch!==13&&ch!==0)}if(is_EOL(ch)){readLineBreak(state);ch=state.input.charCodeAt(state.position);lineBreaks++;state.lineIndent=0;while(ch===32){state.lineIndent++;ch=state.input.charCodeAt(++state.position)}}else{break}}if(checkIndent!==-1&&lineBreaks!==0&&state.lineIndent<checkIndent){throwWarning(state,"deficient indentation")}return lineBreaks}function testDocumentSeparator(state){var _position=state.position,ch;ch=state.input.charCodeAt(_position);if((ch===45||ch===46)&&ch===state.input.charCodeAt(_position+1)&&ch===state.input.charCodeAt(_position+2)){_position+=3;ch=state.input.charCodeAt(_position);if(ch===0||is_WS_OR_EOL(ch)){return true}}return false}function writeFoldedLines(state,count){if(count===1){state.result+=" "}else if(count>1){state.result+=common.repeat("\n",count-1)}}function readPlainScalar(state,nodeIndent,withinFlowCollection){var preceding,following,captureStart,captureEnd,hasPendingContent,_line,_lineStart,_lineIndent,_kind=state.kind,_result=state.result,ch;ch=state.input.charCodeAt(state.position);if(is_WS_OR_EOL(ch)||is_FLOW_INDICATOR(ch)||ch===35||ch===38||ch===42||ch===33||ch===124||ch===62||ch===39||ch===34||ch===37||ch===64||ch===96){return false}if(ch===63||ch===45){following=state.input.charCodeAt(state.position+1);if(is_WS_OR_EOL(following)||withinFlowCollection&&is_FLOW_INDICATOR(following)){return false}}state.kind="scalar";state.result="";captureStart=captureEnd=state.position;hasPendingContent=false;while(ch!==0){if(ch===58){following=state.input.charCodeAt(state.position+1);if(is_WS_OR_EOL(following)||withinFlowCollection&&is_FLOW_INDICATOR(following)){break}}else if(ch===35){preceding=state.input.charCodeAt(state.position-1);if(is_WS_OR_EOL(preceding)){break}}else if(state.position===state.lineStart&&testDocumentSeparator(state)||withinFlowCollection&&is_FLOW_INDICATOR(ch)){break}else if(is_EOL(ch)){_line=state.line;_lineStart=state.lineStart;_lineIndent=state.lineIndent;skipSeparationSpace(state,false,-1);if(state.lineIndent>=nodeIndent){hasPendingContent=true;ch=state.input.charCodeAt(state.position);continue}else{state.position=captureEnd;state.line=_line;state.lineStart=_lineStart;state.lineIndent=_lineIndent;break}}if(hasPendingContent){captureSegment(state,captureStart,captureEnd,false);writeFoldedLines(state,state.line-_line);captureStart=captureEnd=state.position;hasPendingContent=false}if(!is_WHITE_SPACE(ch)){captureEnd=state.position+1}ch=state.input.charCodeAt(++state.position)}captureSegment(state,captureStart,captureEnd,false);if(state.result){return true}state.kind=_kind;state.result=_result;return false}function readSingleQuotedScalar(state,nodeIndent){var ch,captureStart,captureEnd;ch=state.input.charCodeAt(state.position);if(ch!==39){return false}state.kind="scalar";state.result="";state.position++;captureStart=captureEnd=state.position;while((ch=state.input.charCodeAt(state.position))!==0){if(ch===39){captureSegment(state,captureStart,state.position,true);ch=state.input.charCodeAt(++state.position);if(ch===39){captureStart=state.position;state.position++;captureEnd=state.position}else{return true}}else if(is_EOL(ch)){captureSegment(state,captureStart,captureEnd,true);writeFoldedLines(state,skipSeparationSpace(state,false,nodeIndent));captureStart=captureEnd=state.position}else if(state.position===state.lineStart&&testDocumentSeparator(state)){throwError(state,"unexpected end of the document within a single quoted scalar")}else{state.position++;captureEnd=state.position}}throwError(state,"unexpected end of the stream within a single quoted scalar")}function readDoubleQuotedScalar(state,nodeIndent){var captureStart,captureEnd,hexLength,hexResult,tmp,ch;ch=state.input.charCodeAt(state.position);if(ch!==34){return false}state.kind="scalar";state.result="";state.position++;captureStart=captureEnd=state.position;while((ch=state.input.charCodeAt(state.position))!==0){if(ch===34){captureSegment(state,captureStart,state.position,true);state.position++;return true}else if(ch===92){captureSegment(state,captureStart,state.position,true);ch=state.input.charCodeAt(++state.position);if(is_EOL(ch)){skipSeparationSpace(state,false,nodeIndent)}else if(ch<256&&simpleEscapeCheck[ch]){state.result+=simpleEscapeMap[ch];state.position++}else if((tmp=escapedHexLen(ch))>0){hexLength=tmp;hexResult=0;for(;hexLength>0;hexLength--){ch=state.input.charCodeAt(++state.position);if((tmp=fromHexCode(ch))>=0){hexResult=(hexResult<<4)+tmp}else{throwError(state,"expected hexadecimal character")}}state.result+=charFromCodepoint(hexResult);state.position++}else{throwError(state,"unknown escape sequence")}captureStart=captureEnd=state.position}else if(is_EOL(ch)){captureSegment(state,captureStart,captureEnd,true);writeFoldedLines(state,skipSeparationSpace(state,false,nodeIndent));captureStart=captureEnd=state.position}else if(state.position===state.lineStart&&testDocumentSeparator(state)){throwError(state,"unexpected end of the document within a double quoted scalar")}else{state.position++;captureEnd=state.position}}throwError(state,"unexpected end of the stream within a double quoted scalar")}function readFlowCollection(state,nodeIndent){var readNext=true,_line,_lineStart,_pos,_tag=state.tag,_result,_anchor=state.anchor,following,terminator,isPair,isExplicitPair,isMapping,overridableKeys=Object.create(null),keyNode,keyTag,valueNode,ch;ch=state.input.charCodeAt(state.position);if(ch===91){terminator=93;isMapping=false;_result=[]}else if(ch===123){terminator=125;isMapping=true;_result={}}else{return false}if(state.anchor!==null){state.anchorMap[state.anchor]=_result}ch=state.input.charCodeAt(++state.position);while(ch!==0){skipSeparationSpace(state,true,nodeIndent);ch=state.input.charCodeAt(state.position);if(ch===terminator){state.position++;state.tag=_tag;state.anchor=_anchor;state.kind=isMapping?"mapping":"sequence";state.result=_result;return true}else if(!readNext){throwError(state,"missed comma between flow collection entries")}else if(ch===44){throwError(state,"expected the node content, but found ','")}keyTag=keyNode=valueNode=null;isPair=isExplicitPair=false;if(ch===63){following=state.input.charCodeAt(state.position+1);if(is_WS_OR_EOL(following)){isPair=isExplicitPair=true;state.position++;skipSeparationSpace(state,true,nodeIndent)}}_line=state.line;_lineStart=state.lineStart;_pos=state.position;composeNode(state,nodeIndent,CONTEXT_FLOW_IN,false,true);keyTag=state.tag;keyNode=state.result;skipSeparationSpace(state,true,nodeIndent);ch=state.input.charCodeAt(state.position);if((isExplicitPair||state.line===_line)&&ch===58){isPair=true;ch=state.input.charCodeAt(++state.position);skipSeparationSpace(state,true,nodeIndent);composeNode(state,nodeIndent,CONTEXT_FLOW_IN,false,true);valueNode=state.result}if(isMapping){storeMappingPair(state,_result,overridableKeys,keyTag,keyNode,valueNode,_line,_lineStart,_pos)}else if(isPair){_result.push(storeMappingPair(state,null,overridableKeys,keyTag,keyNode,valueNode,_line,_lineStart,_pos))}else{_result.push(keyNode)}skipSeparationSpace(state,true,nodeIndent);ch=state.input.charCodeAt(state.position);if(ch===44){readNext=true;ch=state.input.charCodeAt(++state.position)}else{readNext=false}}throwError(state,"unexpected end of the stream within a flow collection")}function readBlockScalar(state,nodeIndent){var captureStart,folding,chomping=CHOMPING_CLIP,didReadContent=false,detectedIndent=false,textIndent=nodeIndent,emptyLines=0,atMoreIndented=false,tmp,ch;ch=state.input.charCodeAt(state.position);if(ch===124){folding=false}else if(ch===62){folding=true}else{return false}state.kind="scalar";state.result="";while(ch!==0){ch=state.input.charCodeAt(++state.position);if(ch===43||ch===45){if(CHOMPING_CLIP===chomping){chomping=ch===43?CHOMPING_KEEP:CHOMPING_STRIP}else{throwError(state,"repeat of a chomping mode identifier")}}else if((tmp=fromDecimalCode(ch))>=0){if(tmp===0){throwError(state,"bad explicit indentation width of a block scalar; it cannot be less than one")}else if(!detectedIndent){textIndent=nodeIndent+tmp-1;detectedIndent=true}else{throwError(state,"repeat of an indentation width identifier")}}else{break}}if(is_WHITE_SPACE(ch)){do{ch=state.input.charCodeAt(++state.position)}while(is_WHITE_SPACE(ch));if(ch===35){do{ch=state.input.charCodeAt(++state.position)}while(!is_EOL(ch)&&ch!==0)}}while(ch!==0){readLineBreak(state);state.lineIndent=0;ch=state.input.charCodeAt(state.position);while((!detectedIndent||state.lineIndent<textIndent)&&ch===32){state.lineIndent++;ch=state.input.charCodeAt(++state.position)}if(!detectedIndent&&state.lineIndent>textIndent){textIndent=state.lineIndent}if(is_EOL(ch)){emptyLines++;continue}if(state.lineIndent<textIndent){if(chomping===CHOMPING_KEEP){state.result+=common.repeat("\n",didReadContent?1+emptyLines:emptyLines)}else if(chomping===CHOMPING_CLIP){if(didReadContent){state.result+="\n"}}break}if(folding){if(is_WHITE_SPACE(ch)){atMoreIndented=true;state.result+=common.repeat("\n",didReadContent?1+emptyLines:emptyLines)}else if(atMoreIndented){atMoreIndented=false;state.result+=common.repeat("\n",emptyLines+1)}else if(emptyLines===0){if(didReadContent){state.result+=" "}}else{state.result+=common.repeat("\n",emptyLines)}}else{state.result+=common.repeat("\n",didReadContent?1+emptyLines:emptyLines)}didReadContent=true;detectedIndent=true;emptyLines=0;captureStart=state.position;while(!is_EOL(ch)&&ch!==0){ch=state.input.charCodeAt(++state.position)}captureSegment(state,captureStart,state.position,false)}return true}function readBlockSequence(state,nodeIndent){var _line,_tag=state.tag,_anchor=state.anchor,_result=[],following,detected=false,ch;if(state.firstTabInLine!==-1)return false;if(state.anchor!==null){state.anchorMap[state.anchor]=_result}ch=state.input.charCodeAt(state.position);while(ch!==0){if(state.firstTabInLine!==-1){state.position=state.firstTabInLine;throwError(state,"tab characters must not be used in indentation")}if(ch!==45){break}following=state.input.charCodeAt(state.position+1);if(!is_WS_OR_EOL(following)){break}detected=true;state.position++;if(skipSeparationSpace(state,true,-1)){if(state.lineIndent<=nodeIndent){_result.push(null);ch=state.input.charCodeAt(state.position);continue}}_line=state.line;composeNode(state,nodeIndent,CONTEXT_BLOCK_IN,false,true);_result.push(state.result);skipSeparationSpace(state,true,-1);ch=state.input.charCodeAt(state.position);if((state.line===_line||state.lineIndent>nodeIndent)&&ch!==0){throwError(state,"bad indentation of a sequence entry")}else if(state.lineIndent<nodeIndent){break}}if(detected){state.tag=_tag;state.anchor=_anchor;state.kind="sequence";state.result=_result;return true}return false}function readBlockMapping(state,nodeIndent,flowIndent){var following,allowCompact,_line,_keyLine,_keyLineStart,_keyPos,_tag=state.tag,_anchor=state.anchor,_result={},overridableKeys=Object.create(null),keyTag=null,keyNode=null,valueNode=null,atExplicitKey=false,detected=false,ch;if(state.firstTabInLine!==-1)return false;if(state.anchor!==null){state.anchorMap[state.anchor]=_result}ch=state.input.charCodeAt(state.position);while(ch!==0){if(!atExplicitKey&&state.firstTabInLine!==-1){state.position=state.firstTabInLine;throwError(state,"tab characters must not be used in indentation")}following=state.input.charCodeAt(state.position+1);_line=state.line;if((ch===63||ch===58)&&is_WS_OR_EOL(following)){if(ch===63){if(atExplicitKey){storeMappingPair(state,_result,overridableKeys,keyTag,keyNode,null,_keyLine,_keyLineStart,_keyPos);keyTag=keyNode=valueNode=null}detected=true;atExplicitKey=true;allowCompact=true}else if(atExplicitKey){atExplicitKey=false;allowCompact=true}else{throwError(state,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line")}state.position+=1;ch=following}else{_keyLine=state.line;_keyLineStart=state.lineStart;_keyPos=state.position;if(!composeNode(state,flowIndent,CONTEXT_FLOW_OUT,false,true)){break}if(state.line===_line){ch=state.input.charCodeAt(state.position);while(is_WHITE_SPACE(ch)){ch=state.input.charCodeAt(++state.position)}if(ch===58){ch=state.input.charCodeAt(++state.position);if(!is_WS_OR_EOL(ch)){throwError(state,"a whitespace character is expected after the key-value separator within a block mapping")}if(atExplicitKey){storeMappingPair(state,_result,overridableKeys,keyTag,keyNode,null,_keyLine,_keyLineStart,_keyPos);keyTag=keyNode=valueNode=null}detected=true;atExplicitKey=false;allowCompact=false;keyTag=state.tag;keyNode=state.result}else if(detected){throwError(state,"can not read an implicit mapping pair; a colon is missed")}else{state.tag=_tag;state.anchor=_anchor;return true}}else if(detected){throwError(state,"can not read a block mapping entry; a multiline key may not be an implicit key")}else{state.tag=_tag;state.anchor=_anchor;return true}}if(state.line===_line||state.lineIndent>nodeIndent){if(atExplicitKey){_keyLine=state.line;_keyLineStart=state.lineStart;_keyPos=state.position}if(composeNode(state,nodeIndent,CONTEXT_BLOCK_OUT,true,allowCompact)){if(atExplicitKey){keyNode=state.result}else{valueNode=state.result}}if(!atExplicitKey){storeMappingPair(state,_result,overridableKeys,keyTag,keyNode,valueNode,_keyLine,_keyLineStart,_keyPos);keyTag=keyNode=valueNode=null}skipSeparationSpace(state,true,-1);ch=state.input.charCodeAt(state.position)}if((state.line===_line||state.lineIndent>nodeIndent)&&ch!==0){throwError(state,"bad indentation of a mapping entry")}else if(state.lineIndent<nodeIndent){break}}if(atExplicitKey){storeMappingPair(state,_result,overridableKeys,keyTag,keyNode,null,_keyLine,_keyLineStart,_keyPos)}if(detected){state.tag=_tag;state.anchor=_anchor;state.kind="mapping";state.result=_result}return detected}function readTagProperty(state){var _position,isVerbatim=false,isNamed=false,tagHandle,tagName,ch;ch=state.input.charCodeAt(state.position);if(ch!==33)return false;if(state.tag!==null){throwError(state,"duplication of a tag property")}ch=state.input.charCodeAt(++state.position);if(ch===60){isVerbatim=true;ch=state.input.charCodeAt(++state.position)}else if(ch===33){isNamed=true;tagHandle="!!";ch=state.input.charCodeAt(++state.position)}else{tagHandle="!"}_position=state.position;if(isVerbatim){do{ch=state.input.charCodeAt(++state.position)}while(ch!==0&&ch!==62);if(state.position<state.length){tagName=state.input.slice(_position,state.position);ch=state.input.charCodeAt(++state.position)}else{throwError(state,"unexpected end of the stream within a verbatim tag")}}else{while(ch!==0&&!is_WS_OR_EOL(ch)){if(ch===33){if(!isNamed){tagHandle=state.input.slice(_position-1,state.position+1);if(!PATTERN_TAG_HANDLE.test(tagHandle)){throwError(state,"named tag handle cannot contain such characters")}isNamed=true;_position=state.position+1}else{throwError(state,"tag suffix cannot contain exclamation marks")}}ch=state.input.charCodeAt(++state.position)}tagName=state.input.slice(_position,state.position);if(PATTERN_FLOW_INDICATORS.test(tagName)){throwError(state,"tag suffix cannot contain flow indicator characters")}}if(tagName&&!PATTERN_TAG_URI.test(tagName)){throwError(state,"tag name cannot contain such characters: "+tagName)}try{tagName=decodeURIComponent(tagName)}catch(err){throwError(state,"tag name is malformed: "+tagName)}if(isVerbatim){state.tag=tagName}else if(_hasOwnProperty$1.call(state.tagMap,tagHandle)){state.tag=state.tagMap[tagHandle]+tagName}else if(tagHandle==="!"){state.tag="!"+tagName}else if(tagHandle==="!!"){state.tag="tag:yaml.org,2002:"+tagName}else{throwError(state,'undeclared tag handle "'+tagHandle+'"')}return true}function readAnchorProperty(state){var _position,ch;ch=state.input.charCodeAt(state.position);if(ch!==38)return false;if(state.anchor!==null){throwError(state,"duplication of an anchor property")}ch=state.input.charCodeAt(++state.position);_position=state.position;while(ch!==0&&!is_WS_OR_EOL(ch)&&!is_FLOW_INDICATOR(ch)){ch=state.input.charCodeAt(++state.position)}if(state.position===_position){throwError(state,"name of an anchor node must contain at least one character")}state.anchor=state.input.slice(_position,state.position);return true}function readAlias(state){var _position,alias,ch;ch=state.input.charCodeAt(state.position);if(ch!==42)return false;ch=state.input.charCodeAt(++state.position);_position=state.position;while(ch!==0&&!is_WS_OR_EOL(ch)&&!is_FLOW_INDICATOR(ch)){ch=state.input.charCodeAt(++state.position)}if(state.position===_position){throwError(state,"name of an alias node must contain at least one character")}alias=state.input.slice(_position,state.position);if(!_hasOwnProperty$1.call(state.anchorMap,alias)){throwError(state,'unidentified alias "'+alias+'"')}state.result=state.anchorMap[alias];skipSeparationSpace(state,true,-1);return true}function composeNode(state,parentIndent,nodeContext,allowToSeek,allowCompact){var allowBlockStyles,allowBlockScalars,allowBlockCollections,indentStatus=1,atNewLine=false,hasContent=false,typeIndex,typeQuantity,typeList,type2,flowIndent,blockIndent;if(state.listener!==null){state.listener("open",state)}state.tag=null;state.anchor=null;state.kind=null;state.result=null;allowBlockStyles=allowBlockScalars=allowBlockCollections=CONTEXT_BLOCK_OUT===nodeContext||CONTEXT_BLOCK_IN===nodeContext;if(allowToSeek){if(skipSeparationSpace(state,true,-1)){atNewLine=true;if(state.lineIndent>parentIndent){indentStatus=1}else if(state.lineIndent===parentIndent){indentStatus=0}else if(state.lineIndent<parentIndent){indentStatus=-1}}}if(indentStatus===1){while(readTagProperty(state)||readAnchorProperty(state)){if(skipSeparationSpace(state,true,-1)){atNewLine=true;allowBlockCollections=allowBlockStyles;if(state.lineIndent>parentIndent){indentStatus=1}else if(state.lineIndent===parentIndent){indentStatus=0}else if(state.lineIndent<parentIndent){indentStatus=-1}}else{allowBlockCollections=false}}}if(allowBlockCollections){allowBlockCollections=atNewLine||allowCompact}if(indentStatus===1||CONTEXT_BLOCK_OUT===nodeContext){if(CONTEXT_FLOW_IN===nodeContext||CONTEXT_FLOW_OUT===nodeContext){flowIndent=parentIndent}else{flowIndent=parentIndent+1}blockIndent=state.position-state.lineStart;if(indentStatus===1){if(allowBlockCollections&&(readBlockSequence(state,blockIndent)||readBlockMapping(state,blockIndent,flowIndent))||readFlowCollection(state,flowIndent)){hasContent=true}else{if(allowBlockScalars&&readBlockScalar(state,flowIndent)||readSingleQuotedScalar(state,flowIndent)||readDoubleQuotedScalar(state,flowIndent)){hasContent=true}else if(readAlias(state)){hasContent=true;if(state.tag!==null||state.anchor!==null){throwError(state,"alias node should not have any properties")}}else if(readPlainScalar(state,flowIndent,CONTEXT_FLOW_IN===nodeContext)){hasContent=true;if(state.tag===null){state.tag="?"}}if(state.anchor!==null){state.anchorMap[state.anchor]=state.result}}}else if(indentStatus===0){hasContent=allowBlockCollections&&readBlockSequence(state,blockIndent)}}if(state.tag===null){if(state.anchor!==null){state.anchorMap[state.anchor]=state.result}}else if(state.tag==="?"){if(state.result!==null&&state.kind!=="scalar"){throwError(state,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+state.kind+'"')}for(typeIndex=0,typeQuantity=state.implicitTypes.length;typeIndex<typeQuantity;typeIndex+=1){type2=state.implicitTypes[typeIndex];if(type2.resolve(state.result)){state.result=type2.construct(state.result);state.tag=type2.tag;if(state.anchor!==null){state.anchorMap[state.anchor]=state.result}break}}}else if(state.tag!=="!"){if(_hasOwnProperty$1.call(state.typeMap[state.kind||"fallback"],state.tag)){type2=state.typeMap[state.kind||"fallback"][state.tag]}else{type2=null;typeList=state.typeMap.multi[state.kind||"fallback"];for(typeIndex=0,typeQuantity=typeList.length;typeIndex<typeQuantity;typeIndex+=1){if(state.tag.slice(0,typeList[typeIndex].tag.length)===typeList[typeIndex].tag){type2=typeList[typeIndex];break}}}if(!type2){throwError(state,"unknown tag !<"+state.tag+">")}if(state.result!==null&&type2.kind!==state.kind){throwError(state,"unacceptable node kind for !<"+state.tag+'> tag; it should be "'+type2.kind+'", not "'+state.kind+'"')}if(!type2.resolve(state.result,state.tag)){throwError(state,"cannot resolve a node with !<"+state.tag+"> explicit tag")}else{state.result=type2.construct(state.result,state.tag);if(state.anchor!==null){state.anchorMap[state.anchor]=state.result}}}if(state.listener!==null){state.listener("close",state)}return state.tag!==null||state.anchor!==null||hasContent}function readDocument(state){var documentStart=state.position,_position,directiveName,directiveArgs,hasDirectives=false,ch;state.version=null;state.checkLineBreaks=state.legacy;state.tagMap=Object.create(null);state.anchorMap=Object.create(null);while((ch=state.input.charCodeAt(state.position))!==0){skipSeparationSpace(state,true,-1);ch=state.input.charCodeAt(state.position);if(state.lineIndent>0||ch!==37){break}hasDirectives=true;ch=state.input.charCodeAt(++state.position);_position=state.position;while(ch!==0&&!is_WS_OR_EOL(ch)){ch=state.input.charCodeAt(++state.position)}directiveName=state.input.slice(_position,state.position);directiveArgs=[];if(directiveName.length<1){throwError(state,"directive name must not be less than one character in length")}while(ch!==0){while(is_WHITE_SPACE(ch)){ch=state.input.charCodeAt(++state.position)}if(ch===35){do{ch=state.input.charCodeAt(++state.position)}while(ch!==0&&!is_EOL(ch));break}if(is_EOL(ch))break;_position=state.position;while(ch!==0&&!is_WS_OR_EOL(ch)){ch=state.input.charCodeAt(++state.position)}directiveArgs.push(state.input.slice(_position,state.position))}if(ch!==0)readLineBreak(state);if(_hasOwnProperty$1.call(directiveHandlers,directiveName)){directiveHandlers[directiveName](state,directiveName,directiveArgs)}else{throwWarning(state,'unknown document directive "'+directiveName+'"')}}skipSeparationSpace(state,true,-1);if(state.lineIndent===0&&state.input.charCodeAt(state.position)===45&&state.input.charCodeAt(state.position+1)===45&&state.input.charCodeAt(state.position+2)===45){state.position+=3;skipSeparationSpace(state,true,-1)}else if(hasDirectives){throwError(state,"directives end mark is expected")}composeNode(state,state.lineIndent-1,CONTEXT_BLOCK_OUT,false,true);skipSeparationSpace(state,true,-1);if(state.checkLineBreaks&&PATTERN_NON_ASCII_LINE_BREAKS.test(state.input.slice(documentStart,state.position))){throwWarning(state,"non-ASCII line breaks are interpreted as content")}state.documents.push(state.result);if(state.position===state.lineStart&&testDocumentSeparator(state)){if(state.input.charCodeAt(state.position)===46){state.position+=3;skipSeparationSpace(state,true,-1)}return}if(state.position<state.length-1){throwError(state,"end of the stream or a document separator is expected")}else{return}}function loadDocuments(input,options){input=String(input);options=options||{};if(input.length!==0){if(input.charCodeAt(input.length-1)!==10&&input.charCodeAt(input.length-1)!==13){input+="\n"}if(input.charCodeAt(0)===65279){input=input.slice(1)}}var state=new State$1(input,options);var nullpos=input.indexOf("\0");if(nullpos!==-1){state.position=nullpos;throwError(state,"null byte is not allowed in input")}state.input+="\0";while(state.input.charCodeAt(state.position)===32){state.lineIndent+=1;state.position+=1}while(state.position<state.length-1){readDocument(state)}return state.documents}function loadAll$1(input,iterator,options){if(iterator!==null&&typeof iterator==="object"&&typeof options==="undefined"){options=iterator;iterator=null}var documents=loadDocuments(input,options);if(typeof iterator!=="function"){return documents}for(var index=0,length=documents.length;index<length;index+=1){iterator(documents[index])}}function load$1(input,options){var documents=loadDocuments(input,options);if(documents.length===0){return void 0}else if(documents.length===1){return documents[0]}throw new exception("expected a single document in the stream, but found more")}var loadAll_1=loadAll$1;var load_1=load$1;var loader={loadAll:loadAll_1,load:load_1};var _toString=Object.prototype.toString;var _hasOwnProperty=Object.prototype.hasOwnProperty;var CHAR_BOM=65279;var CHAR_TAB=9;var CHAR_LINE_FEED=10;var CHAR_CARRIAGE_RETURN=13;var CHAR_SPACE=32;var CHAR_EXCLAMATION=33;var CHAR_DOUBLE_QUOTE=34;var CHAR_SHARP=35;var CHAR_PERCENT=37;var CHAR_AMPERSAND=38;var CHAR_SINGLE_QUOTE=39;var CHAR_ASTERISK=42;var CHAR_COMMA=44;var CHAR_MINUS=45;var CHAR_COLON=58;var CHAR_EQUALS=61;var CHAR_GREATER_THAN=62;var CHAR_QUESTION=63;var CHAR_COMMERCIAL_AT=64;var CHAR_LEFT_SQUARE_BRACKET=91;var CHAR_RIGHT_SQUARE_BRACKET=93;var CHAR_GRAVE_ACCENT=96;var CHAR_LEFT_CURLY_BRACKET=123;var CHAR_VERTICAL_LINE=124;var CHAR_RIGHT_CURLY_BRACKET=125;var ESCAPE_SEQUENCES={};ESCAPE_SEQUENCES[0]="\\0";ESCAPE_SEQUENCES[7]="\\a";ESCAPE_SEQUENCES[8]="\\b";ESCAPE_SEQUENCES[9]="\\t";ESCAPE_SEQUENCES[10]="\\n";ESCAPE_SEQUENCES[11]="\\v";ESCAPE_SEQUENCES[12]="\\f";ESCAPE_SEQUENCES[13]="\\r";ESCAPE_SEQUENCES[27]="\\e";ESCAPE_SEQUENCES[34]='\\"';ESCAPE_SEQUENCES[92]="\\\\";ESCAPE_SEQUENCES[133]="\\N";ESCAPE_SEQUENCES[160]="\\_";ESCAPE_SEQUENCES[8232]="\\L";ESCAPE_SEQUENCES[8233]="\\P";var DEPRECATED_BOOLEANS_SYNTAX=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];var DEPRECATED_BASE60_SYNTAX=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function compileStyleMap(schema2,map3){var result2,keys2,index,length,tag,style,type2;if(map3===null)return{};result2={};keys2=Object.keys(map3);for(index=0,length=keys2.length;index<length;index+=1){tag=keys2[index];style=String(map3[tag]);if(tag.slice(0,2)==="!!"){tag="tag:yaml.org,2002:"+tag.slice(2)}type2=schema2.compiledTypeMap["fallback"][tag];if(type2&&_hasOwnProperty.call(type2.styleAliases,style)){style=type2.styleAliases[style]}result2[tag]=style}return result2}function encodeHex(character){var string,handle,length;string=character.toString(16).toUpperCase();if(character<=255){handle="x";length=2}else if(character<=65535){handle="u";length=4}else if(character<=4294967295){handle="U";length=8}else{throw new exception("code point within a string may not be greater than 0xFFFFFFFF")}return"\\"+handle+common.repeat("0",length-string.length)+string}var QUOTING_TYPE_SINGLE=1;var QUOTING_TYPE_DOUBLE=2;function State(options){this.schema=options["schema"]||_default;this.indent=Math.max(1,options["indent"]||2);this.noArrayIndent=options["noArrayIndent"]||false;this.skipInvalid=options["skipInvalid"]||false;this.flowLevel=common.isNothing(options["flowLevel"])?-1:options["flowLevel"];this.styleMap=compileStyleMap(this.schema,options["styles"]||null);this.sortKeys=options["sortKeys"]||false;this.lineWidth=options["lineWidth"]||80;this.noRefs=options["noRefs"]||false;this.noCompatMode=options["noCompatMode"]||false;this.condenseFlow=options["condenseFlow"]||false;this.quotingType=options["quotingType"]==='"'?QUOTING_TYPE_DOUBLE:QUOTING_TYPE_SINGLE;this.forceQuotes=options["forceQuotes"]||false;this.replacer=typeof options["replacer"]==="function"?options["replacer"]:null;this.implicitTypes=this.schema.compiledImplicit;this.explicitTypes=this.schema.compiledExplicit;this.tag=null;this.result="";this.duplicates=[];this.usedDuplicates=null}function indentString(string,spaces){var ind=common.repeat(" ",spaces),position=0,next=-1,result2="",line,length=string.length;while(position<length){next=string.indexOf("\n",position);if(next===-1){line=string.slice(position);position=length}else{line=string.slice(position,next+1);position=next+1}if(line.length&&line!=="\n")result2+=ind;result2+=line}return result2}function generateNextLine(state,level){return"\n"+common.repeat(" ",state.indent*level)}function testImplicitResolving(state,str2){var index,length,type2;for(index=0,length=state.implicitTypes.length;index<length;index+=1){type2=state.implicitTypes[index];if(type2.resolve(str2)){return true}}return false}function isWhitespace(c){return c===CHAR_SPACE||c===CHAR_TAB}function isPrintable(c){return 32<=c&&c<=126||161<=c&&c<=55295&&c!==8232&&c!==8233||57344<=c&&c<=65533&&c!==CHAR_BOM||65536<=c&&c<=1114111}function isNsCharOrWhitespace(c){return isPrintable(c)&&c!==CHAR_BOM&&c!==CHAR_CARRIAGE_RETURN&&c!==CHAR_LINE_FEED}function isPlainSafe(c,prev,inblock){var cIsNsCharOrWhitespace=isNsCharOrWhitespace(c);var cIsNsChar=cIsNsCharOrWhitespace&&!isWhitespace(c);return(inblock?cIsNsCharOrWhitespace:cIsNsCharOrWhitespace&&c!==CHAR_COMMA&&c!==CHAR_LEFT_SQUARE_BRACKET&&c!==CHAR_RIGHT_SQUARE_BRACKET&&c!==CHAR_LEFT_CURLY_BRACKET&&c!==CHAR_RIGHT_CURLY_BRACKET)&&c!==CHAR_SHARP&&!(prev===CHAR_COLON&&!cIsNsChar)||isNsCharOrWhitespace(prev)&&!isWhitespace(prev)&&c===CHAR_SHARP||prev===CHAR_COLON&&cIsNsChar}function isPlainSafeFirst(c){return isPrintable(c)&&c!==CHAR_BOM&&!isWhitespace(c)&&c!==CHAR_MINUS&&c!==CHAR_QUESTION&&c!==CHAR_COLON&&c!==CHAR_COMMA&&c!==CHAR_LEFT_SQUARE_BRACKET&&c!==CHAR_RIGHT_SQUARE_BRACKET&&c!==CHAR_LEFT_CURLY_BRACKET&&c!==CHAR_RIGHT_CURLY_BRACKET&&c!==CHAR_SHARP&&c!==CHAR_AMPERSAND&&c!==CHAR_ASTERISK&&c!==CHAR_EXCLAMATION&&c!==CHAR_VERTICAL_LINE&&c!==CHAR_EQUALS&&c!==CHAR_GREATER_THAN&&c!==CHAR_SINGLE_QUOTE&&c!==CHAR_DOUBLE_QUOTE&&c!==CHAR_PERCENT&&c!==CHAR_COMMERCIAL_AT&&c!==CHAR_GRAVE_ACCENT}function isPlainSafeLast(c){return!isWhitespace(c)&&c!==CHAR_COLON}function codePointAt(string,pos){var first=string.charCodeAt(pos),second;if(first>=55296&&first<=56319&&pos+1<string.length){second=string.charCodeAt(pos+1);if(second>=56320&&second<=57343){return(first-55296)*1024+second-56320+65536}}return first}function needIndentIndicator(string){var leadingSpaceRe=/^\n* /;return leadingSpaceRe.test(string)}var STYLE_PLAIN=1;var STYLE_SINGLE=2;var STYLE_LITERAL=3;var STYLE_FOLDED=4;var STYLE_DOUBLE=5;function chooseScalarStyle(string,singleLineOnly,indentPerLevel,lineWidth,testAmbiguousType,quotingType,forceQuotes,inblock){var i;var char=0;var prevChar=null;var hasLineBreak=false;var hasFoldableLine=false;var shouldTrackWidth=lineWidth!==-1;var previousLineBreak=-1;var plain=isPlainSafeFirst(codePointAt(string,0))&&isPlainSafeLast(codePointAt(string,string.length-1));if(singleLineOnly||forceQuotes){for(i=0;i<string.length;char>=65536?i+=2:i++){char=codePointAt(string,i);if(!isPrintable(char)){return STYLE_DOUBLE}plain=plain&&isPlainSafe(char,prevChar,inblock);prevChar=char}}else{for(i=0;i<string.length;char>=65536?i+=2:i++){char=codePointAt(string,i);if(char===CHAR_LINE_FEED){hasLineBreak=true;if(shouldTrackWidth){hasFoldableLine=hasFoldableLine||i-previousLineBreak-1>lineWidth&&string[previousLineBreak+1]!==" ";previousLineBreak=i}}else if(!isPrintable(char)){return STYLE_DOUBLE}plain=plain&&isPlainSafe(char,prevChar,inblock);prevChar=char}hasFoldableLine=hasFoldableLine||shouldTrackWidth&&(i-previousLineBreak-1>lineWidth&&string[previousLineBreak+1]!==" ")}if(!hasLineBreak&&!hasFoldableLine){if(plain&&!forceQuotes&&!testAmbiguousType(string)){return STYLE_PLAIN}return quotingType===QUOTING_TYPE_DOUBLE?STYLE_DOUBLE:STYLE_SINGLE}if(indentPerLevel>9&&needIndentIndicator(string)){return STYLE_DOUBLE}if(!forceQuotes){return hasFoldableLine?STYLE_FOLDED:STYLE_LITERAL}return quotingType===QUOTING_TYPE_DOUBLE?STYLE_DOUBLE:STYLE_SINGLE}function writeScalar(state,string,level,iskey,inblock){state.dump=function(){if(string.length===0){return state.quotingType===QUOTING_TYPE_DOUBLE?'""':"''"}if(!state.noCompatMode){if(DEPRECATED_BOOLEANS_SYNTAX.indexOf(string)!==-1||DEPRECATED_BASE60_SYNTAX.test(string)){return state.quotingType===QUOTING_TYPE_DOUBLE?'"'+string+'"':"'"+string+"'"}}var indent=state.indent*Math.max(1,level);var lineWidth=state.lineWidth===-1?-1:Math.max(Math.min(state.lineWidth,40),state.lineWidth-indent);var singleLineOnly=iskey||state.flowLevel>-1&&level>=state.flowLevel;function testAmbiguity(string2){return testImplicitResolving(state,string2)}switch(chooseScalarStyle(string,singleLineOnly,state.indent,lineWidth,testAmbiguity,state.quotingType,state.forceQuotes&&!iskey,inblock)){case STYLE_PLAIN:return string;case STYLE_SINGLE:return"'"+string.replace(/'/g,"''")+"'";case STYLE_LITERAL:return"|"+blockHeader(string,state.indent)+dropEndingNewline(indentString(string,indent));case STYLE_FOLDED:return">"+blockHeader(string,state.indent)+dropEndingNewline(indentString(foldString(string,lineWidth),indent));case STYLE_DOUBLE:return'"'+escapeString(string)+'"';default:throw new exception("impossible error: invalid scalar style")}}()}function blockHeader(string,indentPerLevel){var indentIndicator=needIndentIndicator(string)?String(indentPerLevel):"";var clip=string[string.length-1]==="\n";var keep=clip&&(string[string.length-2]==="\n"||string==="\n");var chomp=keep?"+":clip?"":"-";return indentIndicator+chomp+"\n"}function dropEndingNewline(string){return string[string.length-1]==="\n"?string.slice(0,-1):string}function foldString(string,width){var lineRe=/(\n+)([^\n]*)/g;var result2=function(){var nextLF=string.indexOf("\n");nextLF=nextLF!==-1?nextLF:string.length;lineRe.lastIndex=nextLF;return foldLine(string.slice(0,nextLF),width)}();var prevMoreIndented=string[0]==="\n"||string[0]===" ";var moreIndented;var match;while(match=lineRe.exec(string)){var prefix=match[1],line=match[2];moreIndented=line[0]===" ";result2+=prefix+(!prevMoreIndented&&!moreIndented&&line!==""?"\n":"")+foldLine(line,width);prevMoreIndented=moreIndented}return result2}function foldLine(line,width){if(line===""||line[0]===" ")return line;var breakRe=/ [^ ]/g;var match;var start=0,end,curr=0,next=0;var result2="";while(match=breakRe.exec(line)){next=match.index;if(next-start>width){end=curr>start?curr:next;result2+="\n"+line.slice(start,end);start=end+1}curr=next}result2+="\n";if(line.length-start>width&&curr>start){result2+=line.slice(start,curr)+"\n"+line.slice(curr+1)}else{result2+=line.slice(start)}return result2.slice(1)}function escapeString(string){var result2="";var char=0;var escapeSeq;for(var i=0;i<string.length;char>=65536?i+=2:i++){char=codePointAt(string,i);escapeSeq=ESCAPE_SEQUENCES[char];if(!escapeSeq&&isPrintable(char)){result2+=string[i];if(char>=65536)result2+=string[i+1]}else{result2+=escapeSeq||encodeHex(char)}}return result2}function writeFlowSequence(state,level,object){var _result="",_tag=state.tag,index,length,value;for(index=0,length=object.length;index<length;index+=1){value=object[index];if(state.replacer){value=state.replacer.call(object,String(index),value)}if(writeNode(state,level,value,false,false)||typeof value==="undefined"&&writeNode(state,level,null,false,false)){if(_result!=="")_result+=","+(!state.condenseFlow?" ":"");_result+=state.dump}}state.tag=_tag;state.dump="["+_result+"]"}function writeBlockSequence(state,level,object,compact2){var _result="",_tag=state.tag,index,length,value;for(index=0,length=object.length;index<length;index+=1){value=object[index];if(state.replacer){value=state.replacer.call(object,String(index),value)}if(writeNode(state,level+1,value,true,true,false,true)||typeof value==="undefined"&&writeNode(state,level+1,null,true,true,false,true)){if(!compact2||_result!==""){_result+=generateNextLine(state,level)}if(state.dump&&CHAR_LINE_FEED===state.dump.charCodeAt(0)){_result+="-"}else{_result+="- "}_result+=state.dump}}state.tag=_tag;state.dump=_result||"[]"}function writeFlowMapping(state,level,object){var _result="",_tag=state.tag,objectKeyList=Object.keys(object),index,length,objectKey,objectValue,pairBuffer;for(index=0,length=objectKeyList.length;index<length;index+=1){pairBuffer="";if(_result!=="")pairBuffer+=", ";if(state.condenseFlow)pairBuffer+='"';objectKey=objectKeyList[index];objectValue=object[objectKey];if(state.replacer){objectValue=state.replacer.call(object,objectKey,objectValue)}if(!writeNode(state,level,objectKey,false,false)){continue}if(state.dump.length>1024)pairBuffer+="? ";pairBuffer+=state.dump+(state.condenseFlow?'"':"")+":"+(state.condenseFlow?"":" ");if(!writeNode(state,level,objectValue,false,false)){continue}pairBuffer+=state.dump;_result+=pairBuffer}state.tag=_tag;state.dump="{"+_result+"}"}function writeBlockMapping(state,level,object,compact2){var _result="",_tag=state.tag,objectKeyList=Object.keys(object),index,length,objectKey,objectValue,explicitPair,pairBuffer;if(state.sortKeys===true){objectKeyList.sort()}else if(typeof state.sortKeys==="function"){objectKeyList.sort(state.sortKeys)}else if(state.sortKeys){throw new exception("sortKeys must be a boolean or a function")}for(index=0,length=objectKeyList.length;index<length;index+=1){pairBuffer="";if(!compact2||_result!==""){pairBuffer+=generateNextLine(state,level)}objectKey=objectKeyList[index];objectValue=object[objectKey];if(state.replacer){objectValue=state.replacer.call(object,objectKey,objectValue)}if(!writeNode(state,level+1,objectKey,true,true,true)){continue}explicitPair=state.tag!==null&&state.tag!=="?"||state.dump&&state.dump.length>1024;if(explicitPair){if(state.dump&&CHAR_LINE_FEED===state.dump.charCodeAt(0)){pairBuffer+="?"}else{pairBuffer+="? "}}pairBuffer+=state.dump;if(explicitPair){pairBuffer+=generateNextLine(state,level)}if(!writeNode(state,level+1,objectValue,true,explicitPair)){continue}if(state.dump&&CHAR_LINE_FEED===state.dump.charCodeAt(0)){pairBuffer+=":"}else{pairBuffer+=": "}pairBuffer+=state.dump;_result+=pairBuffer}state.tag=_tag;state.dump=_result||"{}"}function detectType(state,object,explicit){var _result,typeList,index,length,type2,style;typeList=explicit?state.explicitTypes:state.implicitTypes;for(index=0,length=typeList.length;index<length;index+=1){type2=typeList[index];if((type2.instanceOf||type2.predicate)&&(!type2.instanceOf||typeof object==="object"&&object instanceof type2.instanceOf)&&(!type2.predicate||type2.predicate(object))){if(explicit){if(type2.multi&&type2.representName){state.tag=type2.representName(object)}else{state.tag=type2.tag}}else{state.tag="?"}if(type2.represent){style=state.styleMap[type2.tag]||type2.defaultStyle;if(_toString.call(type2.represent)==="[object Function]"){_result=type2.represent(object,style)}else if(_hasOwnProperty.call(type2.represent,style)){_result=type2.represent[style](object,style)}else{throw new exception("!<"+type2.tag+'> tag resolver accepts not "'+style+'" style')}state.dump=_result}return true}}return false}function writeNode(state,level,object,block,compact2,iskey,isblockseq){state.tag=null;state.dump=object;if(!detectType(state,object,false)){detectType(state,object,true)}var type2=_toString.call(state.dump);var inblock=block;var tagStr;if(block){block=state.flowLevel<0||state.flowLevel>level}var objectOrArray=type2==="[object Object]"||type2==="[object Array]",duplicateIndex,duplicate;if(objectOrArray){duplicateIndex=state.duplicates.indexOf(object);duplicate=duplicateIndex!==-1}if(state.tag!==null&&state.tag!=="?"||duplicate||state.indent!==2&&level>0){compact2=false}if(duplicate&&state.usedDuplicates[duplicateIndex]){state.dump="*ref_"+duplicateIndex}else{if(objectOrArray&&duplicate&&!state.usedDuplicates[duplicateIndex]){state.usedDuplicates[duplicateIndex]=true}if(type2==="[object Object]"){if(block&&Object.keys(state.dump).length!==0){writeBlockMapping(state,level,state.dump,compact2);if(duplicate){state.dump="&ref_"+duplicateIndex+state.dump}}else{writeFlowMapping(state,level,state.dump);if(duplicate){state.dump="&ref_"+duplicateIndex+" "+state.dump}}}else if(type2==="[object Array]"){if(block&&state.dump.length!==0){if(state.noArrayIndent&&!isblockseq&&level>0){writeBlockSequence(state,level-1,state.dump,compact2)}else{writeBlockSequence(state,level,state.dump,compact2)}if(duplicate){state.dump="&ref_"+duplicateIndex+state.dump}}else{writeFlowSequence(state,level,state.dump);if(duplicate){state.dump="&ref_"+duplicateIndex+" "+state.dump}}}else if(type2==="[object String]"){if(state.tag!=="?"){writeScalar(state,state.dump,level,iskey,inblock)}}else if(type2==="[object Undefined]"){return false}else{if(state.skipInvalid)return false;throw new exception("unacceptable kind of an object to dump "+type2)}if(state.tag!==null&&state.tag!=="?"){tagStr=encodeURI(state.tag[0]==="!"?state.tag.slice(1):state.tag).replace(/!/g,"%21");if(state.tag[0]==="!"){tagStr="!"+tagStr}else if(tagStr.slice(0,18)==="tag:yaml.org,2002:"){tagStr="!!"+tagStr.slice(18)}else{tagStr="!<"+tagStr+">"}state.dump=tagStr+" "+state.dump}}return true}function getDuplicateReferences(object,state){var objects=[],duplicatesIndexes=[],index,length;inspectNode(object,objects,duplicatesIndexes);for(index=0,length=duplicatesIndexes.length;index<length;index+=1){state.duplicates.push(objects[duplicatesIndexes[index]])}state.usedDuplicates=new Array(length)}function inspectNode(object,objects,duplicatesIndexes){var objectKeyList,index,length;if(object!==null&&typeof object==="object"){index=objects.indexOf(object);if(index!==-1){if(duplicatesIndexes.indexOf(index)===-1){duplicatesIndexes.push(index)}}else{objects.push(object);if(Array.isArray(object)){for(index=0,length=object.length;index<length;index+=1){inspectNode(object[index],objects,duplicatesIndexes)}}else{objectKeyList=Object.keys(object);for(index=0,length=objectKeyList.length;index<length;index+=1){inspectNode(object[objectKeyList[index]],objects,duplicatesIndexes)}}}}}function dump$1(input,options){options=options||{};var state=new State(options);if(!state.noRefs)getDuplicateReferences(input,state);var value=input;if(state.replacer){value=state.replacer.call({"":value},"",value)}if(writeNode(state,0,value,true,true))return state.dump+"\n";return""}var dump_1=dump$1;var dumper={dump:dump_1};function renamed(from,to){return function(){throw new Error("Function yaml."+from+" is removed in js-yaml 4. Use yaml."+to+" instead, which is now safe by default.")}}var Type=type;var Schema=schema;var FAILSAFE_SCHEMA=failsafe;var JSON_SCHEMA=json;var CORE_SCHEMA=core;var DEFAULT_SCHEMA=_default;var load=loader.load;var loadAll=loader.loadAll;var dump=dumper.dump;var YAMLException=exception;var types2={binary,float,map:map2,null:_null,pairs,set:set2,timestamp,bool,int,merge:merge2,omap,seq,str};var safeLoad=renamed("safeLoad","load");var safeLoadAll=renamed("safeLoadAll","loadAll");var safeDump=renamed("safeDump","dump");var jsYaml={Type,Schema,FAILSAFE_SCHEMA,JSON_SCHEMA,CORE_SCHEMA,DEFAULT_SCHEMA,load,loadAll,dump,YAMLException,types:types2,safeLoad,safeLoadAll,safeDump};var js_yaml_default=jsYaml;var modulename9="Deployer";var console16=console_default(modulename9);var recipeEngine=recipeEngine_default;var recipeParser=rawRecipe=>{if(typeof rawRecipe!=="string")throw new Error("not a string");let recipe;try{recipe=js_yaml_default.load(rawRecipe,{schema:js_yaml_default.JSON_SCHEMA})}catch(error){console16.verbose.dir(error);throw new Error("invalid yaml")}if(typeof recipe!=="object")throw new Error("invalid YAML, couldn't resolve to object");if(!Array.isArray(recipe.tasks))throw new Error("no tasks array found");const outRecipe={raw:rawRecipe.trim(),name:(recipe.name??"unnamed").trim(),author:(recipe.author??"unknown").trim(),description:(recipe.description??"").trim(),variables:{},tasks:[],requireDBConfig:false};if(typeof recipe.$onesync=="string"){const onesync2=recipe.$onesync.trim();if(!["off","legacy","on"].includes(onesync2))throw new Error(`the onesync option selected required for this recipe ("${onesync2}") is not supported by this FXServer version.`);outRecipe.onesync=onesync2}if(typeof recipe.$minFxVersion=="number"){if(recipe.$minFxVersion>txEnv.fxsVersion)throw new Error(`this recipe requires FXServer v${recipe.$minFxVersion} or above`);outRecipe.fxserverMinVersion=recipe.$minFxVersion}if(typeof recipe.$engine=="number"){if(recipe.$engine<RECIPE_DEPLOYER_VERSION)throw new Error(`unsupported '$engine' version ${recipe.$engine}`);outRecipe.recipeEngineVersion=recipe.$engine}if(recipe.$steamRequired===true){outRecipe.steamRequired=true}if(!Array.isArray(recipe.tasks))throw new Error("no tasks array found");recipe.tasks.forEach((task,index)=>{if(typeof task.action!=="string")throw new Error(`[task${index+1}] no action specified`);if(typeof recipeEngine[task.action]==="undefined")throw new Error(`[task${index+1}] unknown action '${task.action}'`);if(!recipeEngine[task.action].validate(task))throw new Error(`[task${index+1}:${task.action}] invalid parameters`);outRecipe.tasks.push(task)});outRecipe.requireDBConfig=recipe.tasks.some(t=>t.action.includes("database"));const protectedVarNames=["licenseKey","dbHost","dbUsername","dbPassword","dbName","dbConnection","dbPort"];if(typeof recipe.variables=="object"&&recipe.variables!==null){const varNames=Object.keys(recipe.variables);if(varNames.some(n=>protectedVarNames.includes(n))){throw new Error("One or more of the variables declared in the recipe are not allowed.")}Object.assign(outRecipe.variables,recipe.variables)}return outRecipe};var recipeParser_default=recipeParser;var import_node_fs5=__toESM(require("node:fs"),1);var import_promises4=__toESM(require("node:fs/promises"),1);var import_node_path7=__toESM(require("node:path"),1);var canWriteToPath=async targetPath=>{try{await import_promises4.default.access(import_node_path7.default.dirname(targetPath),import_node_fs5.default.constants.W_OK);return true}catch(error){return false}};var getPathContent=async(root2,filter2)=>{const stats=await import_promises4.default.stat(root2);if(!stats.isDirectory()){throw new Error(`Path '${root2}' is not a directory`)}const allEntries=await import_promises4.default.readdir(root2,{withFileTypes:true});return allEntries.filter(entry=>(entry.isFile()||entry.isDirectory())&&filter2?filter2(entry):true)};var getPathFiles=async(root2,filter2)=>{const entries2=await getPathContent(root2,filter2);return entries2.filter(entry=>entry.isFile())};var getPathSubdirs=async(root2,filter2)=>{const entries2=await getPathContent(root2,filter2);return entries2.filter(entry=>entry.isDirectory())};var getFsErrorMdMessage=(error,targetPath)=>{var _a12,_b2,_c;if(typeof error.message!=="string")return"unknown error";if(!txEnv.isWindows&&/^[a-zA-Z]:[\\/]/.test(targetPath)){return`Looks like you're using a Windows path on a Linux server.
This likely means you are attempting to use a path from your computer on a remote server.
If you want to use your local files, you will first need to upload them to the server.`}else if((_a12=error.message)==null?void 0:_a12.includes("ENOENT")){return`The path provided does not exist:
\`${targetPath}\``}else if(((_b2=error.message)==null?void 0:_b2.includes("EACCES"))||((_c=error.message)==null?void 0:_c.includes("EPERM"))){return`The path provided is not accessible:
\`${targetPath}\``}return error.message};var EMPTY_FILE_NAME=".empty";var validateTargetPath=async deployPath=>{const canCreateFolder=await canWriteToPath(deployPath);if(!canCreateFolder){throw new Error("Path is not writable due to missing permissions or invalid path.")}try{const pathFiles=await getPathFiles(deployPath);if(pathFiles.some(x=>x.name!==EMPTY_FILE_NAME)){throw new Error("This folder already exists and is not empty!")}}catch(error){if(error.code!=="ENOENT")throw error}return true};var makeTemplateRecipe=(serverName2,author)=>[`name: ${serverName2}`,`author: ${author}`,"","# This is just a placeholder, please don't use it!","tasks: ","    - action: waste_time","      seconds: 5","    - action: waste_time","      seconds: 5"].join("\n");var modulename10="Deployer";var console17=console_default(modulename10);var RECIPE_DEPLOYER_VERSION=3;var Deployer=class{constructor(originalRecipe,deploymentID,deployPath,isTrustedSource,customMetaData={}){console17.log("Deployer instance ready.");this.step="review";this.deployFailed=false;this.deployPath=deployPath;this.isTrustedSource=isTrustedSource;this.originalRecipe=originalRecipe;this.deploymentID=deploymentID;this.progress=0;this.serverName=customMetaData.serverName||txConfig.general.serverName||"";this.logLines=[];const impRecipe=originalRecipe!==false?originalRecipe:makeTemplateRecipe(customMetaData.serverName,customMetaData.author);try{this.recipe=recipeParser_default(impRecipe)}catch(error){console17.verbose.dir(error);throw new Error(`Recipe Error: ${error.message}`)}}customLog(str2){this.logLines.push(`[${getTimeHms()}] ${str2}`);console17.log(str2)}customLogError(str2){this.logLines.push(`[${getTimeHms()}] ${str2}`);console17.error(str2)}getDeployerLog(){return this.logLines.join("\n")}async confirmRecipe(userRecipe){if(this.step!=="review")throw new Error("expected review step");try{this.recipe=recipeParser_default(userRecipe)}catch(error){throw new Error(`Cannot start() deployer due to a Recipe Error: ${error.message}`)}try{await import_fs_extra2.default.ensureDir(this.deployPath)}catch(error){console17.verbose.dir(error);throw new Error(`Failed to create ${this.deployPath} with error: ${error.message}`)}this.step="input"}getRecipeVars(){if(this.step!=="input")throw new Error("expected input step");return cloneDeep_default(this.recipe.variables)}start(userInputs){if(this.step!=="input")throw new Error("expected input step");Object.assign(this.recipe.variables,userInputs);this.logLines=[];this.customLog(`Starting deployment of ${this.recipe.name}.`);this.deployFailed=false;this.progress=0;this.step="run";this.runTasks()}async markFailedDeploy(){this.deployFailed=true;try{const filePath=import_node_path8.default.join(this.deployPath,"_DEPLOY_FAILED_DO_NOT_USE");await import_fs_extra2.default.outputFile(filePath,"This deploy has failed, please do not use these files.")}catch(error){}}async runTasks(){if(this.step!=="run")throw new Error("expected run step");const contextVariables=cloneDeep_default(this.recipe.variables);contextVariables.deploymentID=this.deploymentID;contextVariables.serverName=this.serverName;contextVariables.recipeName=this.recipe.name;contextVariables.recipeAuthor=this.recipe.author;contextVariables.recipeDescription=this.recipe.description;for(let index=0;index<this.recipe.tasks.length;index++){this.progress=Math.round(index/this.recipe.tasks.length*100);const task=this.recipe.tasks[index];const taskID=`[task${index+1}:${task.action}]`;this.customLog(`Running ${taskID}...`);const taskTimeoutSeconds=task.timeoutSeconds??recipeEngine_default[task.action].timeoutSeconds;try{contextVariables.$step=`loading task ${task.action}`;await Promise.race([recipeEngine_default[task.action].run(task,this.deployPath,contextVariables),new Promise((resolve,reject2)=>{setTimeout(()=>{reject2(new Error(`timed out after ${taskTimeoutSeconds}s.`))},taskTimeoutSeconds*1e3)})]);this.logLines[this.logLines.length-1]+=" ✔️"}catch(error){this.logLines[this.logLines.length-1]+=" ❌";let msg=`Task Failed: ${error.message}
Options: 
`+JSON.stringify(task,null,2);if(contextVariables.$step){msg+="\nDebug/Status: "+JSON.stringify([txEnv.txaVersion,await getOsDistro_default(),contextVariables.$step])}this.customLogError(msg);return await this.markFailedDeploy()}}this.progress=100;this.customLog("All tasks completed.");try{if(!import_fs_extra2.default.existsSync(import_node_path8.default.join(this.deployPath,"resources"))){throw new Error("this recipe didn't create a 'resources' folder.")}else if(!import_fs_extra2.default.existsSync(import_node_path8.default.join(this.deployPath,"server.cfg"))){throw new Error("this recipe didn't create a 'server.cfg' file.")}}catch(error){this.customLogError(`Deploy validation error: ${error.message}`);return await this.markFailedDeploy()}try{const task={mode:"all_vars",file:"./server.cfg"};await recipeEngine_default["replace_string"].run(task,this.deployPath,contextVariables);this.customLog("Replacing all vars in server.cfg... ✔️")}catch(error){this.customLogError(`Failed to replace all vars in server.cfg: ${error.message}`);return await this.markFailedDeploy()}this.customLog("Deploy finished and folder validated. All done!");this.step="configure";if(txEnv.isWindows){try{await(0,import_open2.default)(import_node_path8.default.normalize(this.deployPath),{app:"explorer"})}catch(error){}}}};var import_promises5=__toESM(require("node:fs/promises"),1);var modulename11="CacheStore";var console18=console_default(modulename11);var isNumber2=val=>typeof val==="number";var isString2=val=>typeof val==="string";var isAcceptedType=val=>{const valType=typeof val;return val===null||valType==="string"||valType==="boolean"||valType==="number"};var CACHE_FILE_NAME="cachedData.json";var CacheStore=class{constructor(){this.cache=new Map;this.cacheFilePath=`${txEnv.profilePath}/data/${CACHE_FILE_NAME}`;this.throttledSaveCache=throttle_default(this.saveCache.bind(this),5e3,{leading:false,trailing:true});this.loadCachedData()}handleConfigUpdate(updatedConfigs){this.delete("fxsRuntime:gameName");this.delete("fxsRuntime:cfxId");this.delete("fxsRuntime:maxClients");this.delete("fxsRuntime:bannerConnecting");this.delete("fxsRuntime:bannerDetail");this.delete("fxsRuntime:iconFilename");this.delete("fxsRuntime:locale");this.delete("fxsRuntime:projectDesc");this.delete("fxsRuntime:projectName");this.delete("fxsRuntime:tags")}has(key){return this.cache.has(key)}get(key){return this.cache.get(key)}getTyped(key,typeChecker){const value=this.cache.get(key);if(!value)return void 0;if(typeChecker(value))return value;return void 0}set(key,value){if(!isAcceptedType(value))throw new Error(`Value of type ${typeof value} is not acceptable.`);const currValue=this.cache.get(key);if(currValue!==value){this.cache.set(key,value);this.throttledSaveCache()}}upsert(key,value){if(value===void 0){this.delete(key)}else{this.set(key,value)}}delete(key){const deleteResult=this.cache.delete(key);this.throttledSaveCache();return deleteResult}async saveCache(){try{const serializer=txDevEnv.ENABLED?obj=>JSON.stringify(obj,null,4):JSON.stringify;const toSave=serializer([...this.cache.entries()]);await import_promises5.default.writeFile(this.cacheFilePath,toSave)}catch(error){console18.error(`Unable to save ${CACHE_FILE_NAME} with error: ${error.message}`)}}async loadCachedData(){try{const rawFileData=await import_promises5.default.readFile(this.cacheFilePath,"utf8");const fileData=JSON.parse(rawFileData);if(!Array.isArray(fileData))throw new Error("data_is_not_an_array");this.cache=new Map(fileData);console18.verbose.ok(`Loaded ${CACHE_FILE_NAME} with ${this.cache.size} entries.`)}catch(error){this.cache=new Map;if((error==null?void 0:error.code)==="ENOENT"){console18.verbose.debug(`${CACHE_FILE_NAME} not found, making a new one.`)}else if((error==null?void 0:error.message)==="data_is_not_an_array"){console18.warn(`Failed to load ${CACHE_FILE_NAME} due to invalid data.`);console18.warn("Since this is not a critical file, it will be reset.")}else{console18.warn(`Failed to load ${CACHE_FILE_NAME} with message: ${error.message}`);console18.warn("Since this is not a critical file, it will be reset.")}}}};CacheStore.configKeysWatched=["server.dataPath","server.cfgPath"];var console19=console_default("Manager");var TxManager=class{constructor(){this.deployer=null;this.moduleShutdownHandlers=[];this.isShuttingDown=false;process.on("SIGHUP",this.gracefulShutdown.bind(this));process.on("SIGINT",this.gracefulShutdown.bind(this));process.on("SIGTERM",this.gracefulShutdown.bind(this));startReadyWatcher(()=>{txCore.fxRunner.signalStartReady()});setInterval(async()=>{txCore.webServer.webSocket.pushRefresh("status")},5e3);if(txEnv.setConsoleTitle){setInterval(()=>{setTTYTitle(`(${txCore.fxPlayerlist.onlineCount}) ${txConfig.general.serverName} - txAdmin`)},15e3)}setTimeout(()=>{getHostData().catch(e=>{})},1e4)}async gracefulShutdown(signal){if(this.isShuttingDown){processStdioEnsureEol();console19.warn(`Got ${signal} while already shutting down.`);return}console19.warn(`Got ${signal}, shutting down...`);this.isShuttingDown=true;for(const moduleName of Object.keys(txCore)){const module2=txCore[moduleName];if(Array.isArray(module2.timers)){for(const interval of module2.timers){clearInterval(interval)}}}setTimeout(()=>{console19.error(`Graceful shutdown timed out after 5s, forcing exit...`);quitProcess(1)},5e3);await Promise.allSettled(this.moduleShutdownHandlers.map(handler=>handler()));console19.verbose.debug(`All exit handlers finished, shutting down...`);quitProcess(0)}addShutdownHandler(handler){this.moduleShutdownHandlers.push(handler)}startDeployer(recipeText,deploymentID,targetPath,isTrustedSource,customMetaData={}){if(this.deployer){throw new Error("Deployer is already running")}this.deployer=new Deployer(recipeText,deploymentID,targetPath,isTrustedSource,customMetaData)}get configState(){if((0,import_types3.isProxy)(txCore)){return"unknown"}else if(this.deployer){return"deployer"}else if(!txCore.fxRunner.isConfigured){return"setup"}else{return"ready"}}get hostStatus(){const serverPaths=txCore.fxRunner.serverPaths;const cfxId=txCore.cacheStore.getTyped("fxsRuntime:cfxId",isString2)??null;const isGameName=val=>val==="fivem"||val==="redm";return{isConfigured:this.configState==="ready",dataPath:(serverPaths==null?void 0:serverPaths.dataPath)??null,cfgPath:(serverPaths==null?void 0:serverPaths.cfgPath)??null,playerCount:txCore.fxPlayerlist.onlineCount,status:txCore.fxMonitor.status.health,cfxId,gameName:txCore.cacheStore.getTyped("fxsRuntime:gameName",isGameName)??null,joinDeepLink:cfxId?`fivem://connect/cfx.re/join/${cfxId}`:null,joinLink:cfxId?`https://cfx.re/join/${cfxId}`:null,playerSlots:txCore.cacheStore.getTyped("fxsRuntime:maxClients",isNumber2)??null,projectName:txCore.cacheStore.getTyped("fxsRuntime:projectName",isString2)??null,projectDesc:txCore.cacheStore.getTyped("fxsRuntime:projectDesc",isString2)??null}}get globalStatus(){var _a12;const fxMonitorStatus=txCore.fxMonitor.status;return{configState:txManager.configState,discord:txCore.discordBot.status,runner:{isIdle:txCore.fxRunner.isIdle,isChildAlive:((_a12=txCore.fxRunner.child)==null?void 0:_a12.isAlive)??false},server:{name:txConfig.general.serverName,uptime:fxMonitorStatus.uptime,health:fxMonitorStatus.health,healthReason:fxMonitorStatus.healthReason,whitelist:txConfig.whitelist.mode},scheduler:txCore.fxScheduler.getStatus()}}};var import_node_fs6=__toESM(require("node:fs"),1);var import_promises6=__toESM(require("node:fs/promises"),1);var import_node_crypto2=__toESM(require("node:crypto"),1);var import_index4=__toESM(require_lib7(),1);var Issuer=import_index4.default.Issuer;var Strategy=import_index4.default.Strategy;var TokenSet=import_index4.default.TokenSet;var errors=import_index4.default.errors;var custom2=import_index4.default.custom;var generators=import_index4.default.generators;var import_node_url2=require("node:url");var modulename12="AdminStore:CfxProvider";var console20=console_default(modulename12);var userInfoSchema=z.object({name:z.string().min(1),profile:z.string().min(1),nameid:z.string().min(1)});var getOauthState=stateKern=>{const stateSeed=`tx:cfxre:${stateKern}`;return import_node_crypto2.default.createHash("SHA1").update(stateSeed).digest("hex")};var CfxProvider=class{constructor(){const fivemIssuer=new Issuer({"issuer":"https://idms.fivem.net","jwks_uri":"https://idms.fivem.net/.well-known/openid-configuration/jwks","authorization_endpoint":"https://idms.fivem.net/connect/authorize","token_endpoint":"https://idms.fivem.net/connect/token","userinfo_endpoint":"https://idms.fivem.net/connect/userinfo","end_session_endpoint":"https://idms.fivem.net/connect/endsession","check_session_iframe":"https://idms.fivem.net/connect/checksession","revocation_endpoint":"https://idms.fivem.net/connect/revocation","introspection_endpoint":"https://idms.fivem.net/connect/introspect","device_authorization_endpoint":"https://idms.fivem.net/connect/deviceauthorization","frontchannel_logout_supported":true,"frontchannel_logout_session_supported":true,"backchannel_logout_supported":true,"backchannel_logout_session_supported":true,"scopes_supported":["openid","email","identify","offline_access"],"claims_supported":["sub","email","email_verified","nameid","name","picture","profile"],"grant_types_supported":["authorization_code","client_credentials","refresh_token","implicit","urn:ietf:params:oauth:grant-type:device_code"],"response_types_supported":["code","token","id_token","id_token token","code id_token","code token","code id_token token"],"response_modes_supported":["form_post","query","fragment"],"token_endpoint_auth_methods_supported":["client_secret_basic","client_secret_post"],"subject_types_supported":["public"],"id_token_signing_alg_values_supported":["RS256"],"code_challenge_methods_supported":["plain","S256"],"request_parameter_supported":true});this.client=new fivemIssuer.Client({client_id:"txadmin_test",client_secret:"txadmin_test",response_types:["openid"]});this.client[custom2.clock_tolerance]=2*60*60;custom2.setHttpOptionsDefaults({timeout:1e4})}getAuthURL(redirectUri,stateKern){if(!this.client)throw new Error(`${modulename12} is not ready`);const url=this.client.authorizationUrl({redirect_uri:redirectUri,state:getOauthState(stateKern),response_type:"code",scope:"openid identify"});if(typeof url!=="string")throw new Error("url is not string");return url}async processCallback(sessionCallbackUri,sessionStateKern,callbackUri){if(!this.client)throw new Error(`${modulename12} is not ready`);const parsedUri=new import_node_url2.URL(callbackUri);const callback=parsedUri.searchParams;const callbackCode=callback.get("code");const callbackState=callback.get("state");if(typeof callbackCode!=="string")throw new Error("code not present");if(typeof callbackState!=="string")throw new Error("state not present");const tokenSet=await this.client.callback(sessionCallbackUri,{code:callbackCode,state:callbackState},{state:getOauthState(sessionStateKern)});if(typeof tokenSet!=="object")throw new Error("tokenSet is not an object");if(typeof tokenSet.access_token=="undefined")throw new Error("access_token not present");if(typeof tokenSet.expires_at=="undefined")throw new Error("expires_at not present");return tokenSet}async getUserInfo(accessToken){if(!this.client)throw new Error(`${modulename12} is not ready`);const userInfo=await this.client.userinfo(accessToken);const parsed=userInfoSchema.parse(userInfo);let picture;if(typeof userInfo.picture=="string"&&userInfo.picture.startsWith("https://")){picture=userInfo.picture}return{...parsed,picture}}};var import_node_crypto3=require("node:crypto");var modulename13="AdminStore";var console21=console_default(modulename13);var ADMIN_SCHEMA_VERSION=1;var migrateProviderIdentifiers=(providerName2,providerData)=>{if(providerName2==="citizenfx"){try{const res=/\/user\/(\d{1,8})/.exec(providerData.data.nameid);providerData.identifier=`fivem:${res[1]}`}catch(error){providerData.identifier="fivem:00000000"}}else if(providerName2==="discord"){providerData.identifier=`discord:${providerData.id}`}};var AdminStore=class{constructor(){this.adminsFile=txHostConfig.dataSubPath("admins.json");this.adminsFileHash=null;this.admins=null;this.refreshRoutine=null;this.registeredPermissions={"all_permissions":"All Permissions","manage.admins":"Manage Admins","settings.view":"Settings: View (no tokens)","settings.write":"Settings: Change","console.view":"Console: View","console.write":"Console: Write","control.server":"Start/Stop Server + Scheduler","announcement":"Send Announcements","commands.resources":"Start/Stop Resources","server.cfg.editor":"Read/Write server.cfg","txadmin.log.view":"View System Logs","server.log.view":"View Server Logs","players.remove_ids":"Remove Player IDs","menu.vehicle":"Spawn / Fix Vehicles","menu.clear_area":"Reset world area","menu.viewids":"View Player IDs in-game","players.direct_message":"Direct Message","players.whitelist":"Allowlist","players.warn":"Warn","players.kick":"Kick","players.ban":"Ban","players.freeze":"Freeze Players","players.heal":"Heal","players.playermode":"NoClip / God Mode","players.spectate":"Spectate","players.teleport":"Teleport","players.troll":"Troll Actions"};this.hardConfigs={refreshInterval:15e3};try{this.providers={discord:false,citizenfx:new CfxProvider}}catch(error){throw new Error(`Failed to load providers with error: ${error.message}`)}let adminFileExists;try{import_node_fs6.default.statSync(this.adminsFile,import_node_fs6.default.constants.F_OK);adminFileExists=true}catch(error){if(error.code==="ENOENT"){adminFileExists=false}else{throw new Error(`Failed to check presence of admin file with error: ${error.message}`)}}if(!adminFileExists){if(!txHostConfig.defaults.account){this.addMasterPin=(Math.random()*1e4).toFixed().padStart(4,"0");this.admins=false}else{const{username,fivemId,password}=txHostConfig.defaults.account;this.createAdminsFile(username,fivemId?`fivem:${fivemId}`:void 0,void 0,password,password?false:void 0);console21.ok(`Created master account ${chalkInversePad(username)} with credentials provided by ${txHostConfig.sourceName}.`)}}else{this.loadAdminsFile();this.setupRefreshRoutine()}}setupRefreshRoutine(){this.refreshRoutine=setInterval(()=>{this.checkAdminsFile()},this.hardConfigs.refreshInterval)}createAdminsFile(username,fivemId,discordId,password,isPlainTextPassword){if(this.admins!==false&&this.admins!==null)throw new Error("Admins file already exists.");if(typeof username!=="string"||username.length<3)throw new Error("Invalid username parameter.");let password_hash,password_temporary;if(password){password_hash=isPlainTextPassword?GetPasswordHash(password):password}else{const veryRandomString=`${username}-password-not-meant-to-be-used-${nanoid()}`;password_hash=GetPasswordHash(veryRandomString);password_temporary=true}const providers={};if(fivemId){providers.citizenfx={id:username,identifier:fivemId,data:{}}}if(discordId){providers.discord={id:discordId,identifier:`discord:${discordId}`,data:{}}}const newAdmin={$schema:ADMIN_SCHEMA_VERSION,name:username,master:true,password_hash,password_temporary,providers,permissions:[]};this.admins=[newAdmin];this.addMasterPin=void 0;try{const jsonData=JSON.stringify(this.admins);this.adminsFileHash=(0,import_node_crypto3.createHash)("sha1").update(jsonData).digest("hex");import_node_fs6.default.writeFileSync(this.adminsFile,jsonData,{encoding:"utf8",flag:"wx"});this.setupRefreshRoutine();return newAdmin}catch(error){let message3=`Failed to create '${this.adminsFile}' with error: ${error.message}`;console21.verbose.error(message3);throw new Error(message3)}}getAdminsList(){if(this.admins==false)return[];return this.admins.map(user=>{return{name:user.name,master:user.master,providers:user.providers,permissions:user.permissions}})}getRawAdminsList(){if(this.admins===false)return[];return cloneDeep_default(this.admins)}getAdminByProviderUID(uid){if(this.admins==false)return false;let id=uid.trim().toLowerCase();if(!id.length)return false;let admin=this.admins.find(user=>{return Object.keys(user.providers).find(provider=>{return id===user.providers[provider].id.toLowerCase()})});return admin?cloneDeep_default(admin):false}getAdminsIdentifiers(){if(this.admins===false)return[];const ids=[];for(const admin of this.admins){admin.providers.citizenfx&&ids.push(admin.providers.citizenfx.identifier);admin.providers.discord&&ids.push(admin.providers.discord.identifier)}return ids}getAdminByName(uname){if(!this.admins)return false;const username=uname.trim().toLowerCase();if(!username.length)return false;const admin=this.admins.find(user=>{return username===user.name.toLowerCase()});return admin?cloneDeep_default(admin):false}getAdminByIdentifiers(identifiers){if(!this.admins)return false;identifiers=identifiers.map(i=>i.trim().toLowerCase()).filter(i=>i.length);if(!identifiers.length)return false;const admin=this.admins.find(user=>identifiers.find(identifier=>Object.keys(user.providers).find(provider=>identifier===user.providers[provider].identifier.toLowerCase())));return admin?cloneDeep_default(admin):false}getPermissionsList(){return cloneDeep_default(this.registeredPermissions)}async writeAdminsFile(){const jsonData=JSON.stringify(this.admins,null,2);this.adminsFileHash=(0,import_node_crypto3.createHash)("sha1").update(jsonData).digest("hex");await import_promises6.default.writeFile(this.adminsFile,jsonData,"utf8");return true}async checkAdminsFile(){const restore=async()=>{try{await this.writeAdminsFile();console21.ok("Restored admins.json file.")}catch(error){console21.error(`Failed to restore admins.json file: ${error.message}`);console21.verbose.dir(error)}};try{const jsonData=await import_promises6.default.readFile(this.adminsFile,"utf8");const inboundHash=(0,import_node_crypto3.createHash)("sha1").update(jsonData).digest("hex");if(this.adminsFileHash!==inboundHash){console21.warn("The admins.json file was modified or deleted by an external source, txAdmin will try to restore it.");restore()}}catch(error){console21.error(`Failed to check admins file integrity: ${error.message}`)}}async addAdmin(name,citizenfxData,discordData,password,permissions){if(this.admins==false)throw new Error("Admins not set");if(this.getAdminByName(name))throw new Error("Username already taken");const admin={$schema:ADMIN_SCHEMA_VERSION,name,master:false,password_hash:GetPasswordHash(password),password_temporary:true,providers:{},permissions};if(citizenfxData){const existingCitizenFX=this.getAdminByProviderUID(citizenfxData.id);if(existingCitizenFX)throw new Error("CitizenFX ID already taken");admin.providers.citizenfx={id:citizenfxData.id,identifier:citizenfxData.identifier,data:{}}}if(discordData){const existingDiscord=this.getAdminByProviderUID(discordData.id);if(existingDiscord)throw new Error("Discord ID already taken");admin.providers.discord={id:discordData.id,identifier:discordData.identifier,data:{}}}this.admins.push(admin);this.refreshOnlineAdmins().catch(e=>{});try{return await this.writeAdminsFile()}catch(error){throw new Error(`Failed to save admins.json with error: ${error.message}`)}}async editAdmin(name,password,citizenfxData,discordData,permissions){if(this.admins==false)throw new Error("Admins not set");let username=name.toLowerCase();let adminIndex=this.admins.findIndex(user=>{return username===user.name.toLowerCase()});if(adminIndex==-1)throw new Error("Admin not found");if(password!==null){this.admins[adminIndex].password_hash=GetPasswordHash(password);delete this.admins[adminIndex].password_temporary}if(typeof citizenfxData!=="undefined"){if(!citizenfxData){delete this.admins[adminIndex].providers.citizenfx}else{this.admins[adminIndex].providers.citizenfx={id:citizenfxData.id,identifier:citizenfxData.identifier,data:{}}}}if(typeof discordData!=="undefined"){if(!discordData){delete this.admins[adminIndex].providers.discord}else{this.admins[adminIndex].providers.discord={id:discordData.id,identifier:discordData.identifier,data:{}}}}if(typeof permissions!=="undefined")this.admins[adminIndex].permissions=permissions;setTimeout(()=>{this.refreshOnlineAdmins().catch(e=>{})},250);try{await this.writeAdminsFile();return password!==null?this.admins[adminIndex].password_hash:true}catch(error){throw new Error(`Failed to save admins.json with error: ${error.message}`)}}async deleteAdmin(name){if(this.admins==false)throw new Error("Admins not set");let username=name.toLowerCase();let found=false;this.admins=this.admins.filter(user=>{if(username!==user.name.toLowerCase()){return true}else{found=true;return false}});if(!found)throw new Error("Admin not found");this.refreshOnlineAdmins().catch(e=>{});try{return await this.writeAdminsFile()}catch(error){throw new Error(`Failed to save admins.json with error: ${error.message}`)}}async loadAdminsFile(){let raw=null;let jsonData=null;let hasMigration=false;const callError=reason=>{let details;if(reason==="cannot read file"){details=["This means the file  doesn't exist or txAdmin doesn't have permission to read it."]}else{details=["This likely means the file got somehow corrupted.","You can try restoring it or you can delete it and let txAdmin create a new one."]}fatalError_default.AdminStore(0,[["Unable to load admins.json",reason],...details,["Admin File Path",this.adminsFile]])};try{raw=await import_promises6.default.readFile(this.adminsFile,"utf8");this.adminsFileHash=(0,import_node_crypto3.createHash)("sha1").update(raw).digest("hex")}catch(error){return callError("cannot read file")}if(!raw.length){return callError("empty file")}try{jsonData=JSON.parse(raw)}catch(error){return callError("json parse error")}if(!Array.isArray(jsonData)){return callError("not an array")}if(!jsonData.length){return callError("no admins")}const structureIntegrityTest=jsonData.some(x=>{if(typeof x.name!=="string"||x.name.length<3)return true;if(typeof x.master!=="boolean")return true;if(typeof x.password_hash!=="string"||!x.password_hash.startsWith("$2"))return true;if(typeof x.providers!=="object")return true;const providersTest=Object.keys(x.providers).some(y=>{if(!Object.keys(this.providers).includes(y))return true;if(typeof x.providers[y].id!=="string"||x.providers[y].id.length<3)return true;if(typeof x.providers[y].data!=="object")return true;if(typeof x.providers[y].identifier==="string"){if(x.providers[y].identifier.length<3)return true}else{migrateProviderIdentifiers(y,x.providers[y]);hasMigration=true}});if(providersTest)return true;if(!Array.isArray(x.permissions))return true;return false});if(structureIntegrityTest){return callError("invalid data in the admins file")}const masters=jsonData.filter(x=>x.master);if(masters.length!==1){return callError("must have exactly 1 master account")}jsonData.forEach(admin=>{if(admin.$schema===void 0){admin.$schema=ADMIN_SCHEMA_VERSION;hasMigration=true;if(admin.permissions.includes("players.message")){hasMigration=true;admin.permissions=admin.permissions.filter(perm=>perm!=="players.message");admin.permissions.push("players.direct_message");admin.permissions.push("announcement")}if(admin.permissions.length&&!admin.permissions.includes("all_permissions")){admin.permissions.push("server.log.view")}}});this.admins=jsonData;if(hasMigration){try{await this.writeAdminsFile();console21.ok("The admins.json file was migrated to a new version.")}catch(error){console21.error(`Failed to migrate admins.json with error: ${error.message}`)}}return true}async refreshOnlineAdmins(){txCore.webServer.webSocket.reCheckAdminAuths().catch(e=>{});try{const adminIDs=this.admins.reduce((ids,adm)=>{const adminIDs2=Object.keys(adm.providers).map(pName=>adm.providers[pName].identifier);return ids.concat(adminIDs2)},[]);const onlineIDs=[];const{idsFound}=txCore.fxPlayerlist.getAssociatedOnlineNetIds(adminIDs);for(const netid of idsFound.map(x=>x[1])){if(!onlineIDs.includes(netid)){onlineIDs.push(netid)}}txCore.fxRunner.sendEvent("adminsUpdated",onlineIDs)}catch(error){console21.verbose.error("Failed to refreshOnlineAdmins() with error:");console21.verbose.dir(error)}}genCsrfToken(){return nanoid()}hasAdmins(printPin=false){if(Array.isArray(this.admins)&&this.admins.length){return true}else{if(printPin){console21.warn("Use this PIN to add a new master account: "+chalkInversePad(this.addMasterPin))}return false}}getAdminPublicName(name,purpose){if(!name||!purpose)throw new Error("Invalid parameters");const replacer=txConfig.general.serverName??"txAdmin";if(purpose==="punishment"){return txConfig.gameFeatures.hideAdminInPunishments?replacer:name}else if(purpose==="message"){return txConfig.gameFeatures.hideAdminInMessages?replacer:name}else{throw new Error(`Invalid purpose: ${purpose}`)}}};var import_discord6=__toESM(require_src2(),1);var import_discord=__toESM(require_src2(),1);var statusCommand={type:import_discord.ApplicationCommandType.ChatInput,name:"status",description:"Adds or removes the configurable, persistent, auto-updated embed.",options:[{type:import_discord.ApplicationCommandOptionType.Subcommand,name:"add",description:"Creates a configurable, persistent, auto-updated embed with server status."},{type:import_discord.ApplicationCommandOptionType.Subcommand,name:"remove",description:"Removes the configured persistent txAdmin status embed."}]};var whitelistCommand={type:import_discord.ApplicationCommandType.ChatInput,name:"whitelist",description:"Whitelist embed commands.",options:[{type:import_discord.ApplicationCommandOptionType.Subcommand,name:"member",description:"Adds a member to the whitelist approvals.",options:[{type:import_discord.ApplicationCommandOptionType.User,name:"member",description:"The member that will be whitelisted.",required:true}]},{type:import_discord.ApplicationCommandOptionType.Subcommand,name:"request",description:"Approves a whitelist request ID (eg R1234).",options:[{type:import_discord.ApplicationCommandOptionType.String,name:"id",description:"The ID of the request (eg R1234).",required:true,minLength:5,maxLength:5}]}]};var allowlistCommand={type:import_discord.ApplicationCommandType.ChatInput,name:"allowlist",description:"Allowlist embed commands.",options:[{type:import_discord.ApplicationCommandOptionType.Subcommand,name:"member",description:"Adds a member to the allowlist approvals.",options:[{type:import_discord.ApplicationCommandOptionType.User,name:"member",description:"The member that will be allowlisted.",required:true}]},{type:import_discord.ApplicationCommandOptionType.Subcommand,name:"request",description:"Approves a allowlist request ID (eg R1234).",options:[{type:import_discord.ApplicationCommandOptionType.String,name:"id",description:"The ID of the request (eg R1234).",required:true,minLength:5,maxLength:5}]}]};var infoCommand={type:import_discord.ApplicationCommandType.ChatInput,name:"info",description:"Searches for a player in the txAdmin Database and prints information.",options:[{type:import_discord.ApplicationCommandOptionType.Subcommand,name:"self",description:"Searches for whomever is using the command."},{type:import_discord.ApplicationCommandOptionType.Subcommand,name:"member",description:"Searches for a player with matching Discord ID.",options:[{type:import_discord.ApplicationCommandOptionType.User,name:"member",description:"The member that will be searched for.",required:true},{type:import_discord.ApplicationCommandOptionType.Boolean,name:"admininfo",description:"For admins to show identifiers and history information."}]},{type:import_discord.ApplicationCommandOptionType.Subcommand,name:"id",description:"Searches for an identifier.",options:[{type:import_discord.ApplicationCommandOptionType.String,name:"id",description:"The ID to search for (eg fivem:271816).",required:true,minLength:5},{type:import_discord.ApplicationCommandOptionType.Boolean,name:"admininfo",description:"For admins to show identifiers and history information."}]}]};var slash_default=[statusCommand,whitelistCommand,allowlistCommand,infoCommand];var import_discord5=__toESM(require_src2(),1);var import_discord3=__toESM(require_src2(),1);var shortenId=(id,numChars=4)=>{if(typeof id!=="string")throw new Error(`id is not a string`);if(typeof numChars!=="number"||numChars<3)throw new Error(`numChars must be a number >= 3`);const[idType,idValue]=id.split(":",2);if(!idType||!idValue){return id}const threshold=numChars*2+2;if(idValue.length<=threshold){return id}const start=idValue.slice(0,numChars);const end=idValue.slice(-numChars);return`${idType}:${start}…${end}`};var parsePlayerId=idString=>{if(typeof idString!=="string"){return{isIdValid:false,idType:null,idValue:null,idlowerCased:null}}const idlowerCased=idString.toLocaleLowerCase();const[idType,idValue]=idlowerCased.split(":",2);const validator=consts_default.validIdentifiers[idType];if(validator&&validator.test(idlowerCased)){return{isIdValid:true,idType,idValue,idlowerCased}}else{return{isIdValid:false,idType,idValue,idlowerCased}}};var parsePlayerIds=ids=>{let invalidIdsArray=[];let validIdsArray=[];const validIdsObject={discord:null,fivem:null,license:null,license2:null,live:null,steam:null,xbl:null};for(const idString of ids){if(typeof idString!=="string")continue;const{isIdValid,idType,idValue}=parsePlayerId(idString);if(isIdValid){validIdsArray.push(idString);validIdsObject[idType]=idValue}else{invalidIdsArray.push(idString)}}return{invalidIdsArray,validIdsArray,validIdsObject}};var filterPlayerHwids=hwids=>{let invalidHwidsArray=[];let validHwidsArray=[];for(const hwidString of hwids){if(typeof hwidString!=="string")continue;if(consts_default.regexValidHwidToken.test(hwidString)){validHwidsArray.push(hwidString)}else{invalidHwidsArray.push(hwidString)}}return{invalidHwidsArray,validHwidsArray}};var parseLaxIdsArrayInput=fullInput=>{var _a12;const validIds=[];const validHwids=[];const invalids=[];if(typeof fullInput!=="string"){return{validIds,validHwids,invalids}}const inputs=fullInput.toLowerCase().split(/[,;\s]+/g).filter(Boolean);for(const input of inputs){if(input.includes(":")){if(consts_default.regexValidHwidToken.test(input)){validHwids.push(input)}else if(Object.values(consts_default.validIdentifiers).some(regex3=>regex3.test(input))){validIds.push(input)}else{const[type2,value]=input.split(":",1);if((_a12=consts_default.validIdentifierParts[type2])==null?void 0:_a12.test(value)){validIds.push(input)}else{invalids.push(input)}}}else if(consts_default.validIdentifierParts.discord.test(input)){validIds.push(`discord:${input}`)}else if(consts_default.validIdentifierParts.fivem.test(input)){validIds.push(`fivem:${input}`)}else if(consts_default.validIdentifierParts.license.test(input)){validIds.push(`license:${input}`)}else if(consts_default.validIdentifierParts.steam.test(input)){validIds.push(`steam:${input}`)}else{invalids.push(input)}}return{validIds,validHwids,invalids}};var getIdFromOauthNameid=nameid=>{try{const res=/\/user\/(\d{1,8})/.exec(nameid);return`fivem:${res[1]}`}catch(error){return false}};var summarizeIdsArray=ids=>{if(!Array.isArray(ids))return"<invalid list>";if(ids.length===0)return"<empty list>";const shortList=ids.map(id=>shortenId(id)).join(", ");return`[${shortList}]`};var data_ordered_emoji_default=["😀","😃","😄","😁","😆","😅","🤣","😂","🙂","🙃","🫠","😉","😊","😇","🥰","😍","🤩","😘","😗","☺️","😚","😙","🥲","😋","😛","😜","🤪","😝","🤑","🤗","🤭","🫢","🫣","🤫","🤔","🫡","🤐","🤨","😐","😑","😶","🫥","😶‍🌫️","😏","😒","🙄","😬","😮‍💨","🤥","🫨","🙂‍↔️","🙂‍↕️","😌","😔","😪","🤤","😴","🫩","😷","🤒","🤕","🤢","🤮","🤧","🥵","🥶","🥴","😵","😵‍💫","🤯","🤠","🥳","🥸","😎","🤓","🧐","😕","🫤","😟","🙁","☹️","😮","😯","😲","😳","🥺","🥹","😦","😧","😨","😰","😥","😢","😭","😱","😖","😣","😞","😓","😩","😫","🥱","😤","😡","😠","🤬","😈","👿","💀","☠️","💩","🤡","👹","👺","👻","👽","👾","🤖","😺","😸","😹","😻","😼","😽","🙀","😿","😾","🙈","🙉","🙊","💌","💘","💝","💖","💗","💓","💞","💕","💟","❣️","💔","❤️‍🔥","❤️‍🩹","❤️","🩷","🧡","💛","💚","💙","🩵","💜","🤎","🖤","🩶","🤍","💋","💯","💢","💥","💫","💦","💨","🕳️","💬","👁️‍🗨️","🗨️","🗯️","💭","💤","👋","🤚","🖐️","✋","🖖","🫱","🫲","🫳","🫴","🫷","🫸","👌","🤌","🤏","✌️","🤞","🫰","🤟","🤘","🤙","👈","👉","👆","🖕","👇","☝️","🫵","👍","👎","✊","👊","🤛","🤜","👏","🙌","🫶","👐","🤲","🤝","🙏","✍️","💅","🤳","💪","🦾","🦿","🦵","🦶","👂","🦻","👃","🧠","🫀","🫁","🦷","🦴","👀","👁️","👅","👄","🫦","👶","🧒","👦","👧","🧑","👱","👨","🧔","🧔‍♂️","🧔‍♀️","👨‍🦰","👨‍🦱","👨‍🦳","👨‍🦲","👩","👩‍🦰","🧑‍🦰","👩‍🦱","🧑‍🦱","👩‍🦳","🧑‍🦳","👩‍🦲","🧑‍🦲","👱‍♀️","👱‍♂️","🧓","👴","👵","🙍","🙍‍♂️","🙍‍♀️","🙎","🙎‍♂️","🙎‍♀️","🙅","🙅‍♂️","🙅‍♀️","🙆","🙆‍♂️","🙆‍♀️","💁","💁‍♂️","💁‍♀️","🙋","🙋‍♂️","🙋‍♀️","🧏","🧏‍♂️","🧏‍♀️","🙇","🙇‍♂️","🙇‍♀️","🤦","🤦‍♂️","🤦‍♀️","🤷","🤷‍♂️","🤷‍♀️","🧑‍⚕️","👨‍⚕️","👩‍⚕️","🧑‍🎓","👨‍🎓","👩‍🎓","🧑‍🏫","👨‍🏫","👩‍🏫","🧑‍⚖️","👨‍⚖️","👩‍⚖️","🧑‍🌾","👨‍🌾","👩‍🌾","🧑‍🍳","👨‍🍳","👩‍🍳","🧑‍🔧","👨‍🔧","👩‍🔧","🧑‍🏭","👨‍🏭","👩‍🏭","🧑‍💼","👨‍💼","👩‍💼","🧑‍🔬","👨‍🔬","👩‍🔬","🧑‍💻","👨‍💻","👩‍💻","🧑‍🎤","👨‍🎤","👩‍🎤","🧑‍🎨","👨‍🎨","👩‍🎨","🧑‍✈️","👨‍✈️","👩‍✈️","🧑‍🚀","👨‍🚀","👩‍🚀","🧑‍🚒","👨‍🚒","👩‍🚒","👮","👮‍♂️","👮‍♀️","🕵️","🕵️‍♂️","🕵️‍♀️","💂","💂‍♂️","💂‍♀️","🥷","👷","👷‍♂️","👷‍♀️","🫅","🤴","👸","👳","👳‍♂️","👳‍♀️","👲","🧕","🤵","🤵‍♂️","🤵‍♀️","👰","👰‍♂️","👰‍♀️","🤰","🫃","🫄","🤱","👩‍🍼","👨‍🍼","🧑‍🍼","👼","🎅","🤶","🧑‍🎄","🦸","🦸‍♂️","🦸‍♀️","🦹","🦹‍♂️","🦹‍♀️","🧙","🧙‍♂️","🧙‍♀️","🧚","🧚‍♂️","🧚‍♀️","🧛","🧛‍♂️","🧛‍♀️","🧜","🧜‍♂️","🧜‍♀️","🧝","🧝‍♂️","🧝‍♀️","🧞","🧞‍♂️","🧞‍♀️","🧟","🧟‍♂️","🧟‍♀️","🧌","💆","💆‍♂️","💆‍♀️","💇","💇‍♂️","💇‍♀️","🚶","🚶‍♂️","🚶‍♀️","🚶‍➡️","🚶‍♀️‍➡️","🚶‍♂️‍➡️","🧍","🧍‍♂️","🧍‍♀️","🧎","🧎‍♂️","🧎‍♀️","🧎‍➡️","🧎‍♀️‍➡️","🧎‍♂️‍➡️","🧑‍🦯","🧑‍🦯‍➡️","👨‍🦯","👨‍🦯‍➡️","👩‍🦯","👩‍🦯‍➡️","🧑‍🦼","🧑‍🦼‍➡️","👨‍🦼","👨‍🦼‍➡️","👩‍🦼","👩‍🦼‍➡️","🧑‍🦽","🧑‍🦽‍➡️","👨‍🦽","👨‍🦽‍➡️","👩‍🦽","👩‍🦽‍➡️","🏃","🏃‍♂️","🏃‍♀️","🏃‍➡️","🏃‍♀️‍➡️","🏃‍♂️‍➡️","💃","🕺","🕴️","👯","👯‍♂️","👯‍♀️","🧖","🧖‍♂️","🧖‍♀️","🧗","🧗‍♂️","🧗‍♀️","🤺","🏇","⛷️","🏂","🏌️","🏌️‍♂️","🏌️‍♀️","🏄","🏄‍♂️","🏄‍♀️","🚣","🚣‍♂️","🚣‍♀️","🏊","🏊‍♂️","🏊‍♀️","⛹️","⛹️‍♂️","⛹️‍♀️","🏋️","🏋️‍♂️","🏋️‍♀️","🚴","🚴‍♂️","🚴‍♀️","🚵","🚵‍♂️","🚵‍♀️","🤸","🤸‍♂️","🤸‍♀️","🤼","🤼‍♂️","🤼‍♀️","🤽","🤽‍♂️","🤽‍♀️","🤾","🤾‍♂️","🤾‍♀️","🤹","🤹‍♂️","🤹‍♀️","🧘","🧘‍♂️","🧘‍♀️","🛀","🛌","🧑‍🤝‍🧑","👭","👫","👬","💏","👩‍❤️‍💋‍👨","👨‍❤️‍💋‍👨","👩‍❤️‍💋‍👩","💑","👩‍❤️‍👨","👨‍❤️‍👨","👩‍❤️‍👩","👨‍👩‍👦","👨‍👩‍👧","👨‍👩‍👧‍👦","👨‍👩‍👦‍👦","👨‍👩‍👧‍👧","👨‍👨‍👦","👨‍👨‍👧","👨‍👨‍👧‍👦","👨‍👨‍👦‍👦","👨‍👨‍👧‍👧","👩‍👩‍👦","👩‍👩‍👧","👩‍👩‍👧‍👦","👩‍👩‍👦‍👦","👩‍👩‍👧‍👧","👨‍👦","👨‍👦‍👦","👨‍👧","👨‍👧‍👦","👨‍👧‍👧","👩‍👦","👩‍👦‍👦","👩‍👧","👩‍👧‍👦","👩‍👧‍👧","🗣️","👤","👥","🫂","👪","🧑‍🧑‍🧒","🧑‍🧑‍🧒‍🧒","🧑‍🧒","🧑‍🧒‍🧒","👣","🫆","🐵","🐒","🦍","🦧","🐶","🐕","🦮","🐕‍🦺","🐩","🐺","🦊","🦝","🐱","🐈","🐈‍⬛","🦁","🐯","🐅","🐆","🐴","🫎","🫏","🐎","🦄","🦓","🦌","🦬","🐮","🐂","🐃","🐄","🐷","🐖","🐗","🐽","🐏","🐑","🐐","🐪","🐫","🦙","🦒","🐘","🦣","🦏","🦛","🐭","🐁","🐀","🐹","🐰","🐇","🐿️","🦫","🦔","🦇","🐻","🐻‍❄️","🐨","🐼","🦥","🦦","🦨","🦘","🦡","🐾","🦃","🐔","🐓","🐣","🐤","🐥","🐦","🐧","🕊️","🦅","🦆","🦢","🦉","🦤","🪶","🦩","🦚","🦜","🪽","🐦‍⬛","🪿","🐦‍🔥","🐸","🐊","🐢","🦎","🐍","🐲","🐉","🦕","🦖","🐳","🐋","🐬","🦭","🐟","🐠","🐡","🦈","🐙","🐚","🪸","🪼","🦀","🦞","🦐","🦑","🦪","🐌","🦋","🐛","🐜","🐝","🪲","🐞","🦗","🪳","🕷️","🕸️","🦂","🦟","🪰","🪱","🦠","💐","🌸","💮","🪷","🏵️","🌹","🥀","🌺","🌻","🌼","🌷","🪻","🌱","🪴","🌲","🌳","🌴","🌵","🌾","🌿","☘️","🍀","🍁","🍂","🍃","🪹","🪺","🍄","🪾","🍇","🍈","🍉","🍊","🍋","🍋‍🟩","🍌","🍍","🥭","🍎","🍏","🍐","🍑","🍒","🍓","🫐","🥝","🍅","🫒","🥥","🥑","🍆","🥔","🥕","🌽","🌶️","🫑","🥒","🥬","🥦","🧄","🧅","🥜","🫘","🌰","🫚","🫛","🍄‍🟫","🫜","🍞","🥐","🥖","🫓","🥨","🥯","🥞","🧇","🧀","🍖","🍗","🥩","🥓","🍔","🍟","🍕","🌭","🥪","🌮","🌯","🫔","🥙","🧆","🥚","🍳","🥘","🍲","🫕","🥣","🥗","🍿","🧈","🧂","🥫","🍱","🍘","🍙","🍚","🍛","🍜","🍝","🍠","🍢","🍣","🍤","🍥","🥮","🍡","🥟","🥠","🥡","🍦","🍧","🍨","🍩","🍪","🎂","🍰","🧁","🥧","🍫","🍬","🍭","🍮","🍯","🍼","🥛","☕","🫖","🍵","🍶","🍾","🍷","🍸","🍹","🍺","🍻","🥂","🥃","🫗","🥤","🧋","🧃","🧉","🧊","🥢","🍽️","🍴","🥄","🔪","🫙","🏺","🌍","🌎","🌏","🌐","🗺️","🗾","🧭","🏔️","⛰️","🌋","🗻","🏕️","🏖️","🏜️","🏝️","🏞️","🏟️","🏛️","🏗️","🧱","🪨","🪵","🛖","🏘️","🏚️","🏠","🏡","🏢","🏣","🏤","🏥","🏦","🏨","🏩","🏪","🏫","🏬","🏭","🏯","🏰","💒","🗼","🗽","⛪","🕌","🛕","🕍","⛩️","🕋","⛲","⛺","🌁","🌃","🏙️","🌄","🌅","🌆","🌇","🌉","♨️","🎠","🛝","🎡","🎢","💈","🎪","🚂","🚃","🚄","🚅","🚆","🚇","🚈","🚉","🚊","🚝","🚞","🚋","🚌","🚍","🚎","🚐","🚑","🚒","🚓","🚔","🚕","🚖","🚗","🚘","🚙","🛻","🚚","🚛","🚜","🏎️","🏍️","🛵","🦽","🦼","🛺","🚲","🛴","🛹","🛼","🚏","🛣️","🛤️","🛢️","⛽","🛞","🚨","🚥","🚦","🛑","🚧","⚓","🛟","⛵","🛶","🚤","🛳️","⛴️","🛥️","🚢","✈️","🛩️","🛫","🛬","🪂","💺","🚁","🚟","🚠","🚡","🛰️","🚀","🛸","🛎️","🧳","⌛","⏳","⌚","⏰","⏱️","⏲️","🕰️","🕛","🕧","🕐","🕜","🕑","🕝","🕒","🕞","🕓","🕟","🕔","🕠","🕕","🕡","🕖","🕢","🕗","🕣","🕘","🕤","🕙","🕥","🕚","🕦","🌑","🌒","🌓","🌔","🌕","🌖","🌗","🌘","🌙","🌚","🌛","🌜","🌡️","☀️","🌝","🌞","🪐","⭐","🌟","🌠","🌌","☁️","⛅","⛈️","🌤️","🌥️","🌦️","🌧️","🌨️","🌩️","🌪️","🌫️","🌬️","🌀","🌈","🌂","☂️","☔","⛱️","⚡","❄️","☃️","⛄","☄️","🔥","💧","🌊","🎃","🎄","🎆","🎇","🧨","✨","🎈","🎉","🎊","🎋","🎍","🎎","🎏","🎐","🎑","🧧","🎀","🎁","🎗️","🎟️","🎫","🎖️","🏆","🏅","🥇","🥈","🥉","⚽","⚾","🥎","🏀","🏐","🏈","🏉","🎾","🥏","🎳","🏏","🏑","🏒","🥍","🏓","🏸","🥊","🥋","🥅","⛳","⛸️","🎣","🤿","🎽","🎿","🛷","🥌","🎯","🪀","🪁","🔫","🎱","🔮","🪄","🎮","🕹️","🎰","🎲","🧩","🧸","🪅","🪩","🪆","♠️","♥️","♦️","♣️","♟️","🃏","🀄","🎴","🎭","🖼️","🎨","🧵","🪡","🧶","🪢","👓","🕶️","🥽","🥼","🦺","👔","👕","👖","🧣","🧤","🧥","🧦","👗","👘","🥻","🩱","🩲","🩳","👙","👚","🪭","👛","👜","👝","🛍️","🎒","🩴","👞","👟","🥾","🥿","👠","👡","🩰","👢","🪮","👑","👒","🎩","🎓","🧢","🪖","⛑️","📿","💄","💍","💎","🔇","🔈","🔉","🔊","📢","📣","📯","🔔","🔕","🎼","🎵","🎶","🎙️","🎚️","🎛️","🎤","🎧","📻","🎷","🪗","🎸","🎹","🎺","🎻","🪕","🥁","🪘","🪇","🪈","🪉","📱","📲","☎️","📞","📟","📠","🔋","🪫","🔌","💻","🖥️","🖨️","⌨️","🖱️","🖲️","💽","💾","💿","📀","🧮","🎥","🎞️","📽️","🎬","📺","📷","📸","📹","📼","🔍","🔎","🕯️","💡","🔦","🏮","🪔","📔","📕","📖","📗","📘","📙","📚","📓","📒","📃","📜","📄","📰","🗞️","📑","🔖","🏷️","💰","🪙","💴","💵","💶","💷","💸","💳","🧾","💹","✉️","📧","📨","📩","📤","📥","📦","📫","📪","📬","📭","📮","🗳️","✏️","✒️","🖋️","🖊️","🖌️","🖍️","📝","💼","📁","📂","🗂️","📅","📆","🗒️","🗓️","📇","📈","📉","📊","📋","📌","📍","📎","🖇️","📏","📐","✂️","🗃️","🗄️","🗑️","🔒","🔓","🔏","🔐","🔑","🗝️","🔨","🪓","⛏️","⚒️","🛠️","🗡️","⚔️","💣","🪃","🏹","🛡️","🪚","🔧","🪛","🔩","⚙️","🗜️","⚖️","🦯","🔗","⛓️‍💥","⛓️","🪝","🧰","🧲","🪜","🪏","⚗️","🧪","🧫","🧬","🔬","🔭","📡","💉","🩸","💊","🩹","🩼","🩺","🩻","🚪","🛗","🪞","🪟","🛏️","🛋️","🪑","🚽","🪠","🚿","🛁","🪤","🪒","🧴","🧷","🧹","🧺","🧻","🪣","🧼","🫧","🪥","🧽","🧯","🛒","🚬","⚰️","🪦","⚱️","🧿","🪬","🗿","🪧","🪪","🏧","🚮","🚰","♿","🚹","🚺","🚻","🚼","🚾","🛂","🛃","🛄","🛅","⚠️","🚸","⛔","🚫","🚳","🚭","🚯","🚱","🚷","📵","🔞","☢️","☣️","⬆️","↗️","➡️","↘️","⬇️","↙️","⬅️","↖️","↕️","↔️","↩️","↪️","⤴️","⤵️","🔃","🔄","🔙","🔚","🔛","🔜","🔝","🛐","⚛️","🕉️","✡️","☸️","☯️","✝️","☦️","☪️","☮️","🕎","🔯","🪯","♈","♉","♊","♋","♌","♍","♎","♏","♐","♑","♒","♓","⛎","🔀","🔁","🔂","▶️","⏩","⏭️","⏯️","◀️","⏪","⏮️","🔼","⏫","🔽","⏬","⏸️","⏹️","⏺️","⏏️","🎦","🔅","🔆","📶","🛜","📳","📴","♀️","♂️","⚧️","✖️","➕","➖","➗","🟰","♾️","‼️","⁉️","❓","❔","❕","❗","〰️","💱","💲","⚕️","♻️","⚜️","🔱","📛","🔰","⭕","✅","☑️","✔️","❌","❎","➰","➿","〽️","✳️","✴️","❇️","©️","®️","™️","🫟","#️⃣","*️⃣","0️⃣","1️⃣","2️⃣","3️⃣","4️⃣","5️⃣","6️⃣","7️⃣","8️⃣","9️⃣","🔟","🔠","🔡","🔢","🔣","🔤","🅰️","🆎","🅱️","🆑","🆒","🆓","ℹ️","🆔","Ⓜ️","🆕","🆖","🅾️","🆗","🅿️","🆘","🆙","🆚","🈁","🈂️","🈷️","🈶","🈯","🉐","🈹","🈚","🈲","🉑","🈸","🈴","🈳","㊗️","㊙️","🈺","🈵","🔴","🟠","🟡","🟢","🔵","🟣","🟤","⚫","⚪","🟥","🟧","🟨","🟩","🟦","🟪","🟫","⬛","⬜","◼️","◻️","◾","◽","▪️","▫️","🔶","🔷","🔸","🔹","🔺","🔻","💠","🔘","🔳","🔲","🏁","🚩","🎌","🏴","🏳️","🏳️‍🌈","🏳️‍⚧️","🏴‍☠️","🇦🇨","🇦🇩","🇦🇪","🇦🇫","🇦🇬","🇦🇮","🇦🇱","🇦🇲","🇦🇴","🇦🇶","🇦🇷","🇦🇸","🇦🇹","🇦🇺","🇦🇼","🇦🇽","🇦🇿","🇧🇦","🇧🇧","🇧🇩","🇧🇪","🇧🇫","🇧🇬","🇧🇭","🇧🇮","🇧🇯","🇧🇱","🇧🇲","🇧🇳","🇧🇴","🇧🇶","🇧🇷","🇧🇸","🇧🇹","🇧🇻","🇧🇼","🇧🇾","🇧🇿","🇨🇦","🇨🇨","🇨🇩","🇨🇫","🇨🇬","🇨🇭","🇨🇮","🇨🇰","🇨🇱","🇨🇲","🇨🇳","🇨🇴","🇨🇵","🇨🇶","🇨🇷","🇨🇺","🇨🇻","🇨🇼","🇨🇽","🇨🇾","🇨🇿","🇩🇪","🇩🇬","🇩🇯","🇩🇰","🇩🇲","🇩🇴","🇩🇿","🇪🇦","🇪🇨","🇪🇪","🇪🇬","🇪🇭","🇪🇷","🇪🇸","🇪🇹","🇪🇺","🇫🇮","🇫🇯","🇫🇰","🇫🇲","🇫🇴","🇫🇷","🇬🇦","🇬🇧","🇬🇩","🇬🇪","🇬🇫","🇬🇬","🇬🇭","🇬🇮","🇬🇱","🇬🇲","🇬🇳","🇬🇵","🇬🇶","🇬🇷","🇬🇸","🇬🇹","🇬🇺","🇬🇼","🇬🇾","🇭🇰","🇭🇲","🇭🇳","🇭🇷","🇭🇹","🇭🇺","🇮🇨","🇮🇩","🇮🇪","🇮🇱","🇮🇲","🇮🇳","🇮🇴","🇮🇶","🇮🇷","🇮🇸","🇮🇹","🇯🇪","🇯🇲","🇯🇴","🇯🇵","🇰🇪","🇰🇬","🇰🇭","🇰🇮","🇰🇲","🇰🇳","🇰🇵","🇰🇷","🇰🇼","🇰🇾","🇰🇿","🇱🇦","🇱🇧","🇱🇨","🇱🇮","🇱🇰","🇱🇷","🇱🇸","🇱🇹","🇱🇺","🇱🇻","🇱🇾","🇲🇦","🇲🇨","🇲🇩","🇲🇪","🇲🇫","🇲🇬","🇲🇭","🇲🇰","🇲🇱","🇲🇲","🇲🇳","🇲🇴","🇲🇵","🇲🇶","🇲🇷","🇲🇸","🇲🇹","🇲🇺","🇲🇻","🇲🇼","🇲🇽","🇲🇾","🇲🇿","🇳🇦","🇳🇨","🇳🇪","🇳🇫","🇳🇬","🇳🇮","🇳🇱","🇳🇴","🇳🇵","🇳🇷","🇳🇺","🇳🇿","🇴🇲","🇵🇦","🇵🇪","🇵🇫","🇵🇬","🇵🇭","🇵🇰","🇵🇱","🇵🇲","🇵🇳","🇵🇷","🇵🇸","🇵🇹","🇵🇼","🇵🇾","🇶🇦","🇷🇪","🇷🇴","🇷🇸","🇷🇺","🇷🇼","🇸🇦","🇸🇧","🇸🇨","🇸🇩","🇸🇪","🇸🇬","🇸🇭","🇸🇮","🇸🇯","🇸🇰","🇸🇱","🇸🇲","🇸🇳","🇸🇴","🇸🇷","🇸🇸","🇸🇹","🇸🇻","🇸🇽","🇸🇾","🇸🇿","🇹🇦","🇹🇨","🇹🇩","🇹🇫","🇹🇬","🇹🇭","🇹🇯","🇹🇰","🇹🇱","🇹🇲","🇹🇳","🇹🇴","🇹🇷","🇹🇹","🇹🇻","🇹🇼","🇹🇿","🇺🇦","🇺🇬","🇺🇲","🇺🇳","🇺🇸","🇺🇾","🇺🇿","🇻🇦","🇻🇨","🇻🇪","🇻🇬","🇻🇮","🇻🇳","🇻🇺","🇼🇫","🇼🇸","🇽🇰","🇾🇪","🇾🇹","🇿🇦","🇿🇲","🇿🇼","🏴󠁧󠁢󠁥󠁮󠁧󠁿","🏴󠁧󠁢󠁳󠁣󠁴󠁿","🏴󠁧󠁢󠁷󠁬󠁳󠁿"];var import_discord2=__toESM(require_src2(),1);var modulename14="DiscordBot:cmd";var console22=console_default(modulename14);var allEmojis=new Set(data_ordered_emoji_default);var genericEmbed=(msg,ephemeral=false,color=null,emoji)=>{return{ephemeral,embeds:[new import_discord2.EmbedBuilder({description:emoji?`:${emoji}: ${msg}`:msg}).setColor(color)]}};var embedColors={info:"#1D76C9",success:"#0BA70B",warning:"#FFF100",danger:"#A70B28"};var embedder={generic:genericEmbed,info:(msg,ephemeral=false)=>genericEmbed(msg,ephemeral,embedColors.info,"information_source"),success:(msg,ephemeral=false)=>genericEmbed(msg,ephemeral,embedColors.success,"white_check_mark"),warning:(msg,ephemeral=false)=>genericEmbed(msg,ephemeral,embedColors.warning,"warning"),danger:(msg,ephemeral=false)=>genericEmbed(msg,ephemeral,embedColors.danger,"no_entry_sign")};var ensurePermission=async(interaction,reqPerm)=>{const admin=txCore.adminStore.getAdminByProviderUID(interaction.user.id);if(!admin){await interaction.reply(embedder.warning(`**Your account does not have txAdmin access.** :face_with_monocle:
If you are already registered in txAdmin, visit the Admin Manager page, and make sure the Discord ID for your user is set to \`${interaction.user.id}\`.`,true));return false}if(admin.master!==true&&!admin.permissions.includes("all_permissions")&&!admin.permissions.includes(reqPerm)){const permName=txCore.adminStore.registeredPermissions[reqPerm]??"Unknown";await interaction.reply(embedder.danger(`Your txAdmin account does not have the "${permName}" permissions required for this action.`,true));return false}return admin.name};var logDiscordAdminAction=async(adminName,message3)=>{txCore.logger.admin.write(adminName,message3)};var isValidEmbedUrl=url=>{return typeof url==="string"&&/^(https?|discord):\/\//.test(url)};var isValidButtonEmoji=emoji=>{if(typeof emoji!=="string")return false;if(/^\d{17,19}$/.test(emoji))return true;if(/^<a?:\w{2,32}:\d{17,19}>$/.test(emoji))return true;return allEmojis.has(emoji)};var invisibleChars=new Set([9,10,11,12,13,32,127,160,173,847,1564,4447,4448,6068,6069,6155,6156,6157,6158,7355,7356,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,8204,8205,8206,8207,8234,8235,8236,8237,8238,8239,8287,8288,8289,8290,8291,8292,8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,10240,12288,12644,65024,65025,65026,65027,65028,65029,65030,65031,65032,65033,65034,65035,65036,65037,65038,65039,65279,65440,65520,65521,65522,65523,65524,65525,65526,65527,65528,65532,78844,119155,119156,119157,119158,119159,119160,119161,119162,917504,917505,917506,917507,917508,917509,917510,917511,917512,917513,917514,917515,917516,917517,917518,917519,917520,917521,917522,917523,917524,917525,917526,917527,917528,917529,917530,917531,917532,917533,917534,917535,917536,917537,917538,917539,917540,917541,917542,917543,917544,917545,917546,917547,917548,917549,917550,917551,917552,917553,917554,917555,917556,917557,917558,917559,917560,917561,917562,917563,917564,917565,917566,917567,917568,917569,917570,917571,917572,917573,917574,917575,917576,917577,917578,917579,917580,917581,917582,917583,917584,917585,917586,917587,917588,917589,917590,917591,917592,917593,917594,917595,917596,917597,917598,917599,917600,917601,917602,917603,917604,917605,917606,917607,917608,917609,917610,917611,917612,917613,917614,917615,917616,917617,917618,917619,917620,917621,917622,917623,917624,917625,917626,917627,917628,917629,917630,917631,917760,917761,917762,917763,917764,917765,917766,917767,917768,917769,917770,917771,917772,917773,917774,917775,917776,917777,917778,917779,917780,917781,917782,917783,917784,917785,917786,917787,917788,917789,917790,917791,917792,917793,917794,917795,917796,917797,917798,917799,917800,917801,917802,917803,917804,917805,917806,917807,917808,917809,917810,917811,917812,917813,917814,917815,917816,917817,917818,917819,917820,917821,917822,917823,917824,917825,917826,917827,917828,917829,917830,917831,917832,917833,917834,917835,917836,917837,917838,917839,917840,917841,917842,917843,917844,917845,917846,917847,917848,917849,917850,917851,917852,917853,917854,917855,917856,917857,917858,917859,917860,917861,917862,917863,917864,917865,917866,917867,917868,917869,917870,917871,917872,917873,917874,917875,917876,917877,917878,917879,917880,917881,917882,917883,917884,917885,917886,917887,917888,917889,917890,917891,917892,917893,917894,917895,917896,917897,917898,917899,917900,917901,917902,917903,917904,917905,917906,917907,917908,917909,917910,917911,917912,917913,917914,917915,917916,917917,917918,917919,917920,917921,917922,917923,917924,917925,917926,917927,917928,917929,917930,917931,917932,917933,917934,917935,917936,917937,917938,917939,917940,917941,917942,917943,917944,917945,917946,917947,917948,917949,917950,917951,917952,917953,917954,917955,917956,917957,917958,917959,917960,917961,917962,917963,917964,917965,917966,917967,917968,917969,917970,917971,917972,917973,917974,917975,917976,917977,917978,917979,917980,917981,917982,917983,917984,917985,917986,917987,917988,917989,917990,917991,917992,917993,917994,917995,917996,917997,917998,917999]);var hexInvalidString=(str2,limit=35)=>{const hexArr=[...str2].map(c=>(c.codePointAt(0)??0).toString(16));const outArr=[];let charCountWithSpace=0;for(let i=0;i<hexArr.length;i++){if(outArr.includes(hexArr[i]))continue;if(charCountWithSpace+hexArr[i].length>limit)break;outArr.push(hexArr[i]);charCountWithSpace+=hexArr[i].length+1}return outArr};var isEmoji=char=>{const codePoint=char.codePointAt(0);return codePoint>=127744&&codePoint<=128511||codePoint>=128512&&codePoint<=128591||codePoint>=128640&&codePoint<=128767||codePoint>=128768&&codePoint<=128895||codePoint>=128896&&codePoint<=129023||codePoint>=129024&&codePoint<=129279||codePoint>=129280&&codePoint<=129535||codePoint>=129536&&codePoint<=129647||codePoint>=129648&&codePoint<=129791||codePoint>=9728&&codePoint<=9983||codePoint>=9984&&codePoint<=10175};var cleanTrimCodePoints=(str2,lenLimit=36)=>{let out="";let lastChar="";let lastCharCount=0;let pendingInvisibleChar="";let totalCodePoints=0;const chars=[...str2];for(let i=0;i<chars.length;i++){if(totalCodePoints>=lenLimit)break;const currChar=chars[i];const currCharCodePoint=currChar.codePointAt(0);const isCharInvible=invisibleChars.has(currCharCodePoint);if(!out.length&&isCharInvible)continue;const isCharRepeated=currChar===lastChar;if(isCharRepeated&&lastCharCount>=(isCharInvible?1:3)){continue}let isCurrentPending=false;if(isCharInvible){const isVariationSelector=(currCharCodePoint===65038||currCharCodePoint===65039)&&isEmoji(lastChar);if(!isVariationSelector){if(!pendingInvisibleChar){pendingInvisibleChar=currChar;isCurrentPending=true}continue}}if(!isCurrentPending&&pendingInvisibleChar){if(totalCodePoints>=lenLimit-1)break;out+=pendingInvisibleChar;totalCodePoints++;pendingInvisibleChar=""}lastChar=currChar;lastCharCount=isCharRepeated?lastCharCount+1:1;out+=currChar;totalCodePoints++}return out};var EMPTY_SET=String.fromCodePoint(8709,8203);var cleanPlayerName_default=originalName=>{if(!originalName){return{displayName:EMPTY_SET+"EMPTY NAME",displayNameEmpty:true,pureName:"emptyname",pureNameEmpty:true}}const displaySteps=[x=>x.substring(0,128),x=>x.replace(/~(HUD_\S+|HC_\S+|[a-z]|[a1]_\d+|bold|italic|ws|wanted_star|nrt|EX_R\*|BLIP_\S+|ACCEPT|CANCEL|PAD_\S+|INPUT_\S+|INPUTGROUP_\S+)~/ig,""),x=>x.replace(/\^\d/ig,""),x=>x.replace(/[\p{Control}\u200E\u2067]/ug,""),x=>x.replace(/[\uA980-\uA9DF\u239B-\u23AD\u534D\u5350\u1000-\u109F\u0B80-\u0BFF\uFDFD\u2E3B]/ug,""),x=>x.replace(/[\u{12000}-\u{123FF}\u{12400}-\u{1247F}\u{12480}-\u{1254F}\u{1D000}-\u{1D0FF}]/gu,""),x=>x.replace(new RegExp("(^\\p{Nonspacing_Mark}+)|(\\p{Nonspacing_Mark}{3,})","ug"),(match,leading,repeating)=>{if(leading)return"";if(repeating)return repeating.substring(0,2)}),cleanTrimCodePoints];let prevDisplayName=originalName;for(const step of displaySteps){const result2=step(prevDisplayName);if(!result2.length){const prevHex=hexInvalidString(prevDisplayName);return{displayName:`${EMPTY_SET}${prevHex.join(" ").toUpperCase()}`,displayNameEmpty:true,pureName:prevHex.join(""),pureNameEmpty:true}}else{prevDisplayName=result2}}const displayName=prevDisplayName;const pureSteps=[x=>x.normalize("NFKC"),x=>x.replace(/[^\p{Letter}\p{Number}]/gu,""),x=>x.toLocaleLowerCase()];let prevPureName=prevDisplayName;for(const step of pureSteps){const result2=step(prevPureName);if(!result2.length){const prevHex=hexInvalidString(prevPureName);return{displayName,displayNameEmpty:false,pureName:prevHex.join(""),pureNameEmpty:true}}else{prevPureName=result2}}const pureName=prevPureName;return{displayName,displayNameEmpty:false,pureName,pureNameEmpty:false}};var modulename15="Player";var console23=console_default(modulename15);var BasePlayer=class{constructor(uniqueId2){this.uniqueId=uniqueId2;this.displayName="unknown";this.pureName="unknown";this.idsOnline=[];this.hwidsOnline=[];this.license=null;this.dbData=false;this.isConnected=false}mutateDbData(srcData){if(!this.license)throw new Error(`cannot mutate database for a player that has no license`);this.dbData=txCore.database.players.update(this.license,srcData,this.uniqueId)}get idsOffline(){if(!this.dbData||!this.dbData.ids.length)return[];return this.dbData.ids.filter(x=>!this.idsOnline.includes(x))}get hwidsOffline(){if(!this.dbData||!this.dbData.hwids.length)return[];return this.dbData.hwids.filter(x=>!this.hwidsOnline.includes(x))}get allIdentifiers(){if(!this.dbData||!this.dbData.ids.length)return this.idsOnline;return union_default(this.idsOnline,this.dbData.ids)}get allHardwareIdentifiers(){if(!this.dbData||!this.dbData.hwids.length)return this.hwidsOnline;return union_default(this.hwidsOnline,this.dbData.hwids)}getHistory(){const allIdentifiers=this.allIdentifiers;const allHardwareIdentifiers=this.allHardwareIdentifiers;if(!allIdentifiers.length&&!allHardwareIdentifiers.length){return[]}return txCore.database.actions.findMany(allIdentifiers,allHardwareIdentifiers)}setNote(text,author){if(!this.license)throw new Error(`cannot save notes for a player that has no license`);this.mutateDbData({notes:{text,lastAdmin:author,tsLastEdit:now()}})}setWhitelist(enabled3){if(!this.license)throw new Error(`cannot set whitelist status for a player that has no license`);this.mutateDbData({tsWhitelisted:enabled3?now():void 0});const allIds=this.allIdentifiers;const allIdsFilter=x=>{return allIds.includes(x.identifier)};txCore.database.whitelist.removeManyApprovals(allIdsFilter);txCore.database.whitelist.removeManyRequests({license:this.license})}removeIds(idsToDelete){if(!this.dbData)throw new Error(`cannot remove ids for a player that has no dbData`);if(!this.license)throw new Error(`cannot remove ids for a player that has no license`);if(!Array.isArray(idsToDelete)||!idsToDelete.length)return;const newIds=this.dbData.ids.filter(x=>!idsToDelete.includes(x));const newHwids=this.dbData.hwids.filter(x=>!idsToDelete.includes(x));this.mutateDbData({ids:newIds,hwids:newHwids})}};var ServerPlayer=class extends BasePlayer{constructor(netid,playerData,fxPlayerlist){super(Symbol(`netid${netid}`));this.tsConnected=now();this.#fxPlayerlist=fxPlayerlist;this.netid=netid;this.isConnected=true;if(playerData===null||typeof playerData!=="object"||typeof playerData.name!=="string"||!Array.isArray(playerData.ids)||!Array.isArray(playerData.hwids)){throw new Error(`invalid player data`)}const{validIdsArray,validIdsObject}=parsePlayerIds(playerData.ids);this.license=validIdsObject.license;this.idsOnline=validIdsArray;this.hwidsOnline=playerData.hwids.filter(x=>{return typeof x==="string"&&consts_default.regexValidHwidToken.test(x)});const{displayName,pureName}=cleanPlayerName_default(playerData.name);this.displayName=displayName;this.pureName=pureName;if(this.license){this.#setupDatabaseData();this.isRegistered=!!this.dbData;this.#minuteCronInterval=setInterval(this.#minuteCron.bind(this),6e4)}else{this.isRegistered=false}}#fxPlayerlist;#minuteCronInterval;#setupDatabaseData(){if(!this.license||!this.isConnected)return;if(!txCore.database.isReady){console23.error(`Players database not yet ready, cannot read db status for player id ${this.displayName}.`);return}try{const dbPlayer=txCore.database.players.findOne(this.license);if(dbPlayer){this.dbData=dbPlayer;this.mutateDbData({displayName:this.displayName,pureName:this.pureName,tsLastConnection:this.tsConnected,ids:union_default(dbPlayer.ids,this.idsOnline),hwids:union_default(dbPlayer.hwids,this.hwidsOnline)})}else{const toRegister={license:this.license,ids:this.idsOnline,hwids:this.hwidsOnline,displayName:this.displayName,pureName:this.pureName,playTime:0,tsLastConnection:this.tsConnected,tsJoined:this.tsConnected};txCore.database.players.register(toRegister);this.dbData=toRegister;console23.verbose.ok(`Adding '${this.displayName}' to players database.`)}setImmediate(this.#sendInitialData.bind(this))}catch(error){console23.error(`Failed to load/register player ${this.displayName} from/to the database with error:`);console23.dir(error)}}#sendInitialData(){if(!this.isRegistered)return;if(!this.dbData)throw new Error(`cannot send initial data for a player that has no dbData`);let oldestPendingWarn;const actionHistory=this.getHistory();for(const action of actionHistory){if(action.type!=="warn"||action.revocation.timestamp!==null)continue;if(!action.acked){oldestPendingWarn=action;break}}if(oldestPendingWarn){this.#fxPlayerlist.dispatchInitialPlayerData(this.netid,oldestPendingWarn)}}syncUpstreamDbData(srcData){this.dbData=cloneDeep_default(srcData)}getDbData(){if(this.dbData){return cloneDeep_default(this.dbData)}else if(this.license&&this.isRegistered){const dbPlayer=txCore.database.players.findOne(this.license);if(!dbPlayer)return false;this.dbData=dbPlayer;return cloneDeep_default(this.dbData)}else{return false}}#minuteCron(){if(!this.dbData||!this.isConnected)return;try{this.mutateDbData({playTime:this.dbData.playTime+1})}catch(error){console23.warn(`Failed to update playtime for player ${this.displayName}:`);console23.dir(error)}}disconnect(){this.isConnected=false;this.idsOnline=[];this.hwidsOnline=[];clearInterval(this.#minuteCronInterval)}};var DatabasePlayer=class extends BasePlayer{constructor(license,srcPlayerData){super(Symbol(`db${license}`));this.isRegistered=true;if(typeof license!=="string"){throw new Error(`invalid player license`)}if(srcPlayerData){this.dbData=srcPlayerData}else{const foundData=txCore.database.players.findOne(license);if(!foundData){throw new Error(`player not found in database`)}else{this.dbData=foundData}}this.license=license;this.displayName=this.dbData.displayName;this.pureName=this.dbData.pureName}getDbData(){return cloneDeep_default(this.dbData)}};var findPlayersByIdentifier=identifier=>{if(typeof identifier!=="string"||!identifier.length)throw new Error(`invalid identifier`);const filter2=player=>player.ids.includes(identifier);const playersData=txCore.database.players.findMany(filter2);return playersData.map(dbData=>new DatabasePlayer(dbData.license,dbData))};var modulename16="DiscordBot:cmd:info";var console24=console_default(modulename16);var footer={iconURL:"https://cdn.discordapp.com/emojis/1062339910654246964.webp?size=96&quality=lossless",text:`txAdmin ${txEnv.txaVersion}`};var info_default=async interaction=>{var _a12;const tsToLocaleDate=ts=>{return new Date(ts*1e3).toLocaleDateString(txCore.translator.canonical,{dateStyle:"long"})};let includeAdminInfo=false;const adminInfoFlag=interaction.options.getBoolean("admininfo");if(adminInfoFlag){const admin=txCore.adminStore.getAdminByProviderUID(interaction.user.id);if(!admin){return await interaction.reply(embedder.danger("You cannot use the `admininfo` option if you are not a txAdmin admin."))}else{includeAdminInfo=true}}let searchId;const subcommand=interaction.options.getSubcommand();if(subcommand==="self"){const targetId=(_a12=interaction.member)==null?void 0:_a12.user.id;if(!targetId){return await interaction.reply(embedder.danger("Could not resolve your Discord ID."))}searchId=`discord:${targetId}`}else if(subcommand==="member"){const member=interaction.options.getMember("member");if(!member||!("user"in member)){return await interaction.reply(embedder.danger(`Failed to resolve member ID.`))}searchId=`discord:${member.user.id}`}else if(subcommand==="id"){const input=interaction.options.getString("id",true).trim();if(!input.length){return await interaction.reply(embedder.danger("Invalid identifier."))}const{isIdValid,idType,idValue,idlowerCased}=parsePlayerId(input);if(!isIdValid||!idType||!idValue||!idlowerCased){return await interaction.reply(embedder.danger(`The provided identifier (\`${input}\`) does not seem to be valid.`))}searchId=idlowerCased}else{throw new Error(`Subcommand ${subcommand} not found.`)}const players=findPlayersByIdentifier(searchId);if(!players.length){return await interaction.reply(embedder.warning(`Identifier (\`${searchId}\`) does not seem to be associated to any player in the txAdmin Database.`))}else if(players.length>10){return await interaction.reply(embedder.warning(`The identifier (\`${searchId}\`) is associated with more than 10 players, please use the txAdmin Web Panel to search for it.`))}const embeds=[];for(const player of players){const dbData=player.getDbData();if(!dbData)continue;const bodyText={"Play time":msToShortishDuration(dbData.playTime*60*1e3),"Join date":tsToLocaleDate(dbData.tsJoined),"Last connection":tsToLocaleDate(dbData.tsLastConnection),"Whitelisted":dbData.tsWhitelisted?tsToLocaleDate(dbData.tsWhitelisted):"not yet"};let fields;if(includeAdminInfo){const actionHistory=player.getHistory();const actionCount={ban:0,warn:0};for(const log2 of actionHistory){actionCount[log2.type]++}const banText=actionCount.ban===1?"1 ban":`${actionCount.ban} bans`;const warnText=actionCount.warn===1?"1 warn":`${actionCount.warn} warns`;bodyText["Log"]=`${banText}, ${warnText}`;const notesText=dbData.notes?dbData.notes.text:"nothing here";const idsText=dbData.ids.length?dbData.ids.join("\n"):"nothing here";fields=[{name:"• Notes:",value:`\`\`\`${notesText}\`\`\``},{name:"• Identifiers:",value:`\`\`\`${idsText}\`\`\``}]}const description=Object.entries(bodyText).map(([label,value])=>`**• ${label}:** \`${value}\``).join("\n");const embedData={title:player.displayName,fields,description,footer};embeds.push(new import_discord3.EmbedBuilder(embedData).setColor("#4262e2"))}return await interaction.reply({embeds})};var import_discord4=__toESM(require_src2(),1);var modulename17="DiscordBot:cmd:status";var console25=console_default(modulename17);var isValidButtonConfig=btn=>{const btnType=typeof btn;return btn!==null&&btnType==="object"&&typeof btn.label==="string"&&btn.label.length&&typeof btn.url==="string"&&(typeof btn.emoji==="string"||btn.emoji===void 0)};var invalidUrlMessage=`Every URL must start with one of (\`http://\`, \`https://\`, \`discord://\`).
URLs cannot be empty, if you do not want a URL then remove the URL line.`;var invalidPlaceholderMessage=`Your URL starts with \`{{\`, try removing it.
If you just tried to edit a placeholder like \`{{serverBrowserUrl}}\` or \`{{serverJoinUrl}}\`, remember that those placeholders are replaced automatically by txAdmin, meaning you do not need to edit them at all.`;var invalidEmojiMessage=`All emojis must be one of:
- UTF-8 emoji ('😄')
- Valid emoji ID ('1062339910654246964')
- Discord custom emoji (\`<:name:id>\` or \`<a:name:id>\`).
To get the full emoji code, insert it into discord, and add \`\\\` before it then send the message`;var generateStatusMessage=(rawEmbedJson=txConfig.discordBot.embedJson,rawEmbedConfigJson=txConfig.discordBot.embedConfigJson)=>{let embedJson2;try{embedJson2=JSON.parse(rawEmbedJson);if(!(embedJson2 instanceof Object))throw new Error(`not an Object`)}catch(error){throw new Error(`Embed JSON Error: ${error.message}`)}let embedConfigJson2;try{embedConfigJson2=JSON.parse(rawEmbedConfigJson);if(!(embedConfigJson2 instanceof Object))throw new Error(`not an Object`)}catch(error){throw new Error(`Embed Config JSON Error: ${error.message}`)}const serverCfxId=txCore.cacheStore.get("fxsRuntime:cfxId");const fxMonitorStatus=txCore.fxMonitor.status;const placeholders={serverName:txConfig.general.serverName,statusString:"Unknown",statusColor:"#4C3539",serverCfxId,serverBrowserUrl:`https://servers.fivem.net/servers/detail/${serverCfxId}`,serverJoinUrl:`https://cfx.re/join/${serverCfxId}`,serverMaxClients:txCore.cacheStore.get("fxsRuntime:maxClients")??"unknown",serverClients:txCore.fxPlayerlist.onlineCount,nextScheduledRestart:"unknown",uptime:fxMonitorStatus.uptime>0?msToShortishDuration(fxMonitorStatus.uptime):"--"};const schedule2=txCore.fxScheduler.getStatus();if(typeof schedule2.nextRelativeMs!=="number"){placeholders.nextScheduledRestart="not scheduled"}else if(schedule2.nextSkip){placeholders.nextScheduledRestart="skipped"}else{const tempFlag=schedule2.nextIsTemp?"(tmp)":"";const relativeTime=msToShortishDuration(schedule2.nextRelativeMs);const isLessThanMinute=schedule2.nextRelativeMs<6e4;if(isLessThanMinute){placeholders.nextScheduledRestart=`right now ${tempFlag}`}else{placeholders.nextScheduledRestart=`in ${relativeTime} ${tempFlag}`}}if(fxMonitorStatus.health==="ONLINE"){placeholders.statusString=(embedConfigJson2==null?void 0:embedConfigJson2.onlineString)??"🟢 Online";placeholders.statusColor=(embedConfigJson2==null?void 0:embedConfigJson2.onlineColor)??"#0BA70B"}else if(fxMonitorStatus.health==="PARTIAL"){placeholders.statusString=(embedConfigJson2==null?void 0:embedConfigJson2.partialString)??"🟡 Partial";placeholders.statusColor=(embedConfigJson2==null?void 0:embedConfigJson2.partialColor)??"#FFF100"}else if(fxMonitorStatus.health==="OFFLINE"){placeholders.statusString=(embedConfigJson2==null?void 0:embedConfigJson2.offlineString)??"🔴 Offline";placeholders.statusColor=(embedConfigJson2==null?void 0:embedConfigJson2.offlineColor)??"#A70B28"}function replacePlaceholders(inputString){Object.entries(placeholders).forEach(([key,value])=>{inputString=inputString.replaceAll(`{{${key}}}`,String(value))});return inputString}function processValue(inputValue){if(typeof inputValue==="string"){return replacePlaceholders(inputValue)}else if(Array.isArray(inputValue)){return inputValue.map(arrValue=>processValue(arrValue))}else if(inputValue!==null&&typeof inputValue==="object"){return processObject(inputValue)}else{return inputValue}}function processObject(inputData){const input=cloneDeep_default(inputData);const out={};for(const[key,value]of Object.entries(input)){const processed=processValue(value);if(key==="url"&&!isValidEmbedUrl(processed)){const messageHead=processed.length?`Invalid URL \`${processed}\`.`:`Empty URL.`;const badPlaceholderMessage=processed.startsWith("{{")?invalidPlaceholderMessage:"";throw new Error([messageHead,invalidUrlMessage,badPlaceholderMessage].join("\n"))}out[key]=processed}return out}const processedEmbedData=processObject(embedJson2);let embed;try{embed=new import_discord4.EmbedBuilder(processedEmbedData);embed.setColor(placeholders.statusColor);embed.setTimestamp();embed.setFooter({iconURL:"https://cdn.discordapp.com/emojis/1062339910654246964.webp?size=96&quality=lossless",text:`txAdmin ${txEnv.txaVersion} • Updated every minute`})}catch(error){throw new Error(`**Embed Class Error:** ${error.message}`)}let buttonsRow;try{if(Array.isArray(embedConfigJson2==null?void 0:embedConfigJson2.buttons)&&embedConfigJson2.buttons.length){if(embedConfigJson2.buttons.length>5){throw new Error(`Over limit of 5 buttons.`)}buttonsRow=new import_discord4.ActionRowBuilder;for(const cfgButton of embedConfigJson2.buttons){if(!isValidButtonConfig(cfgButton)){throw new Error(`Invalid button in Discord Status Embed Config.
                    All buttons must have:
                    - Label: string, not empty
                    - URL: string, not empty, valid URL`)}const processedUrl=processValue(cfgButton.url);if(!isValidEmbedUrl(processedUrl)){const messageHead=processedUrl.length?`Invalid URL \`${processedUrl}\``:`Empty URL`;const badPlaceholderMessage=processedUrl.startsWith("{{")?invalidPlaceholderMessage:"";throw new Error([`${messageHead} for button \`${cfgButton.label}\`.`,invalidUrlMessage,badPlaceholderMessage].join("\n"))}const btn=new import_discord4.ButtonBuilder({style:import_discord4.ButtonStyle.Link,label:processValue(cfgButton.label),url:processedUrl});if(cfgButton.emoji!==void 0){if(!isValidButtonEmoji(cfgButton.emoji)){throw new Error(`Invalid emoji for button \`${cfgButton.label}\`.
${invalidEmojiMessage}`)}btn.setEmoji(cfgButton.emoji)}buttonsRow.addComponents(btn)}}}catch(error){throw new Error(`**Embed Buttons Error:** ${error.message}`)}return{embeds:[embed],components:buttonsRow?[buttonsRow]:void 0}};var removeOldEmbed=async interaction=>{const oldChannelId=txCore.cacheStore.get("discord:status:channelId");const oldMessageId=txCore.cacheStore.get("discord:status:messageId");if(typeof oldChannelId==="string"&&typeof oldMessageId==="string"){const oldChannel=await interaction.client.channels.fetch(oldChannelId);if((oldChannel==null?void 0:oldChannel.type)===import_discord4.ChannelType.GuildText||(oldChannel==null?void 0:oldChannel.type)===import_discord4.ChannelType.GuildAnnouncement){await oldChannel.messages.delete(oldMessageId)}else{throw new Error(`oldChannel is not a guild text or announcement channel`)}}else{throw new Error(`no old message id saved, maybe was never sent, maybe it was removed`)}};var status_default=async interaction=>{var _a12,_b2;const adminName=await ensurePermission(interaction,"settings.write");if(typeof adminName!=="string")return;const isRemoveOnly=interaction.options.getSubcommand()==="remove";try{await removeOldEmbed(interaction);txCore.cacheStore.delete("discord:status:channelId");txCore.cacheStore.delete("discord:status:messageId");if(isRemoveOnly){const msg2=`Old status embed removed.`;logDiscordAdminAction(adminName,msg2);return await interaction.reply(embedder.success(msg2,true))}}catch(error){if(isRemoveOnly){return await interaction.reply(embedder.warning(`**Failed to remove old status embed:**
${error.message}`,true))}}let newStatusMessage;try{newStatusMessage=generateStatusMessage()}catch(error){return await interaction.reply(embedder.warning(`**Failed to generate new embed:**
${error.message}`,true))}try{if(((_a12=interaction.channel)==null?void 0:_a12.type)!==import_discord4.ChannelType.GuildText&&((_b2=interaction.channel)==null?void 0:_b2.type)!==import_discord4.ChannelType.GuildAnnouncement){throw new Error(`channel type not supported`)}const placeholderEmbed=new import_discord4.EmbedBuilder({description:"_placeholder message, attempting to edit with embed..._\n**Note:** If you are seeing this message, it probably means that something was wrong with the configured Embed JSONs and Discord's API rejected the request to replace this placeholder."});const newMessage=await interaction.channel.send({embeds:[placeholderEmbed]});await newMessage.edit(newStatusMessage);txCore.cacheStore.set("discord:status:channelId",interaction.channelId);txCore.cacheStore.set("discord:status:messageId",newMessage.id)}catch(error){let msg2;if(error.code===50013){msg2=`This bot does not have permission to send embed messages in this channel.
            Please change the channel permissions and give this bot the \`Embed Links\` and \`Send Messages\` permissions.`}else{msg2=error.message}return await interaction.reply(embedder.warning(`**Failed to send new embed:**
${msg2}`,true))}const msg=`Status embed saved.`;logDiscordAdminAction(adminName,msg);return await interaction.reply(embedder.success(msg,true))};var import_promises8=__toESM(require("node:fs/promises"),1);var non_secure_exports={};__export(non_secure_exports,{customAlphabet:()=>customAlphabet2,nanoid:()=>nanoid2});var urlAlphabet2="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var customAlphabet2=(alphabet2,defaultSize=21)=>{return(size2=defaultSize)=>{let id="";let i=size2;while(i--){id+=alphabet2[Math.random()*alphabet2.length|0]}return id}};var nanoid2=(size2=21)=>{let id="";let i=size2;while(i--){id+=urlAlphabet2[Math.random()*64|0]}return id};var modulename18="IDGen";var console26=console_default(modulename18);var maxAttempts=10;var noIdErrorMessage="Unnable to generate new Random ID possibly due to the decreased available entropy. Please send a screenshot of the detailed information in the terminal for the txAdmin devs.";var printDiagnostics=async()=>{let uptime;let entropy;try{uptime=msToDuration(process.uptime()*1e3);entropy=(await import_promises8.default.readFile("/proc/sys/kernel/random/entropy_avail","utf8")).trim()}catch(error){entropy=error.message}const secureStorage=new Set;for(let i=0;i<100;i++){const randID=customAlphabet(consts_default.actionIdAlphabet,4)();if(!secureStorage.has(randID))secureStorage.add(randID)}const nonsecureStorage=new Set;for(let i=0;i<100;i++){const randID=customAlphabet2(consts_default.actionIdAlphabet,4)();if(!nonsecureStorage.has(randID))nonsecureStorage.add(randID)}const osDistro=await getOsDistro_default();console26.error(noIdErrorMessage);console26.error(`Uptime: ${uptime}`);console26.error(`Entropy: ${entropy}`);console26.error(`Distro: ${osDistro}`);console26.error(`txAdmin: ${txEnv.txaVersion}`);console26.error(`FXServer: ${txEnv.fxsVersionTag}`);console26.error(`Provider: ${txHostConfig.providerName??"none"}`);console26.error(`Unique Test: secure ${secureStorage.size}/100, non-secure ${nonsecureStorage.size}/100`)};var checkUniqueness=(storage,id,lowdbTable)=>{if(storage instanceof Set){return!storage.has(id)}else{return!storage.chain.get(lowdbTable).find({id}).value()}};var genWhitelistRequestID=storage=>{let attempts=0;while(attempts<maxAttempts){attempts++;const randFunc=attempts<=5?nanoid_exports:non_secure_exports;const id="R"+randFunc.customAlphabet(consts_default.actionIdAlphabet,4)();if(checkUniqueness(storage,id,"whitelistRequests")){return id}}printDiagnostics().catch(e=>{});throw new Error(noIdErrorMessage)};var genActionID=(storage,actionType)=>{let attempts=0;while(attempts<maxAttempts){attempts++;const randFunc=attempts<=5?nanoid_exports:non_secure_exports;const id=actionType[0].toUpperCase()+randFunc.customAlphabet(consts_default.actionIdAlphabet,3)()+"-"+randFunc.customAlphabet(consts_default.actionIdAlphabet,4)();if(checkUniqueness(storage,id,"actions")){return id}}printDiagnostics().catch(e=>{});throw new Error(noIdErrorMessage)};var DuplicateKeyError=class extends Error{constructor(message3){super(message3);this.code="DUPLICATE_KEY"}};var modulename19="DiscordBot:cmd:whitelist";var console27=console_default(modulename19);var handleMemberSubcommand=async(interaction,adminName)=>{const member=interaction.options.getMember("member");if(!member||!("user"in member)){return await interaction.reply(embedder.danger(`Failed to resolve member ID.`))}const identifier=`discord:${member.id}`;const playerName=member.nickname??member.user.username;const avatarOptions={size:64,forceStatic:true};const playerAvatar=member.displayAvatarURL(avatarOptions)??member.user.displayAvatarURL(avatarOptions);try{txCore.database.whitelist.registerApproval({identifier,playerName,playerAvatar,tsApproved:now(),approvedBy:adminName});txCore.fxRunner.sendEvent("whitelistPreApproval",{action:"added",identifier,playerName,adminName})}catch(error){return await interaction.reply(embedder.danger(`Failed to save allowlist approval: ${error.message}`))}const msg=`Added allowlist approval for ${playerName}.`;logDiscordAdminAction(adminName,msg);return await interaction.reply(embedder.success(msg))};var handleRequestSubcommand=async(interaction,adminName)=>{const input=interaction.options.getString("id",true);const reqId=input.trim().toUpperCase();if(reqId.length!==5||reqId[0]!=="R"){return await interaction.reply(embedder.danger("Invalid request ID."))}const requests=txCore.database.whitelist.findManyRequests({id:reqId});if(!requests.length){return await interaction.reply(embedder.warning(`Allowlist request ID \`${reqId}\` not found.`))}const req=requests[0];const identifier=`license:${req.license}`;const playerName=req.discordTag??req.playerDisplayName;try{txCore.database.whitelist.registerApproval({identifier,playerName,playerAvatar:req.discordAvatar?req.discordAvatar:null,tsApproved:now(),approvedBy:adminName});txCore.fxRunner.sendEvent("whitelistRequest",{action:"approved",playerName,requestId:req.id,license:req.license,adminName})}catch(error){if(!(error instanceof DuplicateKeyError)){return await interaction.reply(embedder.danger(`Failed to save allowlist approval: ${error.message}`))}}try{txCore.database.whitelist.removeManyRequests({id:reqId})}catch(error){return await interaction.reply(embedder.danger(`Failed to remove allowlist request: ${error.message}`))}const msg=`Approved allowlist request \`${reqId}\` from ${playerName}.`;logDiscordAdminAction(adminName,msg);return await interaction.reply(embedder.success(msg))};var allowlist_default=async interaction=>{const adminName=await ensurePermission(interaction,"players.whitelist");if(typeof adminName!=="string")return;const subcommand=interaction.options.getSubcommand();if(subcommand==="member"){return await handleMemberSubcommand(interaction,adminName)}else if(subcommand==="request"){return await handleRequestSubcommand(interaction,adminName)}throw new Error(`Subcommand ${subcommand} not found.`)};var modulename20="DiscordBot:interactionHandler";var console28=console_default(modulename20);var handlers={status:status_default,allowlist:allowlist_default,info:info_default};var noHandlerResponse=async interaction=>{if(interaction.isRepliable()){const identifier=(interaction==null?void 0:interaction.commandName)??(interaction==null?void 0:interaction.customId)??"unknown";await interaction.reply({content:`No handler available for this interaction (${import_discord5.InteractionType[interaction.type]} > ${identifier})`,ephemeral:true})}};var interactionCreateHandler_default=async interaction=>{if(interaction.user.bot)return;if(interaction.isButton()){}if(interaction.isChatInputCommand()){if(interaction.commandName==="whitelist"){await interaction.reply({content:"The `/whitelist` command has been renamed to `/allowlist`.\nPlease use that instead.",ephemeral:true});return}const handler=handlers[interaction.commandName];if(!handler){noHandlerResponse(interaction).catch(e=>{});return}txCore.metrics.txRuntime.botCommands.count(interaction.commandName);try{await handler(interaction);return}catch(error){const msg=`Error executing ${interaction.commandName}: ${error.message}`;console28.error(msg);await interaction.reply(embedder.danger(msg,true));return}}noHandlerResponse(interaction).catch(e=>{})};var modulename21="DiscordBot";var console29=console_default(modulename21);var _clientOptions,_client,_lastDisallowedIntentsError,_lastGuildMembersCacheRefresh,_lastStatus,_lastExplicitStatus;var DiscordBot=class{constructor(){__privateAdd(this,_clientOptions,{intents:[import_discord6.GatewayIntentBits.Guilds,import_discord6.GatewayIntentBits.GuildMembers],allowedMentions:{parse:["users"],repliedUser:true}});this.cooldowns=new Map;__privateAdd(this,_client);__privateAdd(this,_lastDisallowedIntentsError,0);__privateAdd(this,_lastGuildMembersCacheRefresh,0);__privateAdd(this,_lastStatus,0);__privateAdd(this,_lastExplicitStatus,0);process.on("unhandledRejection",error=>{if(error.message==="Used disallowed intents"){__privateSet(this,_lastDisallowedIntentsError,Date.now())}});setImmediate(()=>{var _a12;if(txConfig.discordBot.enabled){(_a12=this.startBot())==null?void 0:_a12.catch(e=>{})}});setInterval(()=>{if(txConfig.discordBot.enabled){this.updateBotStatus().catch(e=>{})}},6e4);setInterval(()=>{this.refreshWsStatus()},7500)}handleConfigUpdate(updatedConfigs){return this.updateBotStatus()}async attemptBotReset(botCfg){__privateSet(this,_lastGuildMembersCacheRefresh,0);if(__privateGet(this,_client)){console29.warn("Stopping Discord Bot");__privateGet(this,_client).destroy();this.refreshWsStatus();setTimeout(()=>{if(!botCfg||!botCfg.enabled)__privateSet(this,_client,void 0)},1e3)}if(botCfg&&botCfg.enabled){return await this.startBot(botCfg)}else{return true}}get isClientReady(){return __privateGet(this,_client)?__privateGet(this,_client).isReady():false}get status(){var _a12;if(!txConfig.discordBot.enabled){return 0}else if(((_a12=__privateGet(this,_client))==null?void 0:_a12.ws.status)===import_discord6.default.Status.Ready){return 2}else{return __privateGet(this,_lastExplicitStatus)}}refreshWsStatus(){if(__privateGet(this,_lastStatus)!==this.status){__privateSet(this,_lastStatus,this.status);txCore.webServer.webSocket.pushRefresh("status")}}async sendAnnouncement(content){var _a12;if(!txConfig.discordBot.enabled)return;if(!txConfig.discordBot.warningsChannel||!((_a12=__privateGet(this,_client))==null?void 0:_a12.isReady())||!this.announceChannel){console29.verbose.warn("not ready yet to send announcement");return false}try{let title;if(content.title){title=typeof content.title==="string"?content.title:txCore.translator.t(content.title.key,content.title.data)}let description;if(content.description){description=typeof content.description==="string"?content.description:txCore.translator.t(content.description.key,content.description.data)}const embed=new import_discord6.EmbedBuilder({title,description}).setColor(embedColors[content.type]);await this.announceChannel.send({embeds:[embed]})}catch(error){console29.error(`Error sending Discord announcement: ${error.message}`)}}async updateBotStatus(){var _a12;if(!((_a12=__privateGet(this,_client))==null?void 0:_a12.isReady())||!__privateGet(this,_client).user){console29.verbose.warn("not ready yet to update status");return false}try{const serverClients=txCore.fxPlayerlist.onlineCount;const serverMaxClients=txCore.cacheStore.get("fxsRuntime:maxClients")??"??";const serverName2=txConfig.general.serverName;const message3=`[${serverClients}/${serverMaxClients}] on ${serverName2}`;__privateGet(this,_client).user.setActivity(message3,{type:import_discord6.ActivityType.Watching})}catch(error){console29.verbose.warn(`Failed to set bot activity: ${error.message}`)}try{const oldChannelId=txCore.cacheStore.get("discord:status:channelId");const oldMessageId=txCore.cacheStore.get("discord:status:messageId");if(typeof oldChannelId==="string"&&typeof oldMessageId==="string"){const oldChannel=await __privateGet(this,_client).channels.fetch(oldChannelId);if(!oldChannel)throw new Error(`oldChannel could not be resolved`);if(oldChannel.type!==import_discord6.ChannelType.GuildText&&oldChannel.type!==import_discord6.ChannelType.GuildAnnouncement){throw new Error(`oldChannel is not guild text or announcement channel`)}await oldChannel.messages.edit(oldMessageId,generateStatusMessage())}}catch(error){console29.verbose.warn(`Failed to update status embed: ${error.message}`)}}startBot(botCfg){const isConfigSaveAttempt=!!botCfg;botCfg??={enabled:txConfig.discordBot.enabled,token:txConfig.discordBot.token,guild:txConfig.discordBot.guild,warningsChannel:txConfig.discordBot.warningsChannel};if(!botCfg.enabled)return;return new Promise((resolve,reject2)=>{const sendError=(msg,data={})=>{var _a12;console29.error(msg);const e=new Error(msg);Object.assign(e,data);console29.warn("Stopping Discord Bot");(_a12=__privateGet(this,_client))==null?void 0:_a12.destroy();setImmediate(()=>{__privateSet(this,_lastExplicitStatus,3);this.refreshWsStatus();__privateSet(this,_client,void 0)});return reject2(e)};if(typeof botCfg.token!=="string"||!botCfg.token.length){return sendError("Discord bot enabled while token is not set.")}if(typeof botCfg.guild!=="string"||!botCfg.guild.length){return sendError("Discord bot enabled while guild id is not set.")}if(__privateGet(this,_client)&&__privateGet(this,_client).ws.status!==3&&__privateGet(this,_client).ws.status!==5){console29.verbose.warn("Destroying client before restart.");__privateGet(this,_client).destroy()}__privateSet(this,_lastExplicitStatus,1);this.refreshWsStatus();__privateSet(this,_client,new import_discord6.Client(__privateGet(this,_clientOptions)));const lastKnownDisallowedIntentsError=__privateGet(this,_lastDisallowedIntentsError);const disallowedIntentsWatcherId=setInterval(()=>{if(__privateGet(this,_lastDisallowedIntentsError)!==lastKnownDisallowedIntentsError){clearInterval(disallowedIntentsWatcherId);return sendError(`This bot does not have a required privileged intent.`,{code:"DisallowedIntents"})}},250);__privateGet(this,_client).on("ready",async()=>{var _a12,_b2,_c;clearInterval(disallowedIntentsWatcherId);if(!((_a12=__privateGet(this,_client))==null?void 0:_a12.isReady())||!__privateGet(this,_client).user)throw new Error(`ready event while not being ready`);const guild2=__privateGet(this,_client).guilds.cache.find(guild3=>guild3.id===botCfg.guild);if(!guild2){return sendError(`Discord bot could not resolve guild/server ID ${botCfg.guild}.`,{code:"CustomNoGuild",clientId:__privateGet(this,_client).user.id})}this.guild=guild2;this.guildName=guild2.name;const prohibitedPerms=["Administrator","BanMembers","KickMembers","ManageChannels","ManageGuildExpressions","ManageGuild","ManageMessages","ManageRoles","ManageThreads","ManageWebhooks","ViewCreatorMonetizationAnalytics"];const botPerms=(_b2=this.guild.members.me)==null?void 0:_b2.permissions.serialize();if(!botPerms){return sendError(`Discord bot could not detect its own permissions.`)}const prohibitedPermsInUse=Object.entries(botPerms).filter(([permName,permEnabled])=>prohibitedPerms.includes(permName)&&permEnabled).map(x=>x[0]);if(prohibitedPermsInUse.length){const name=__privateGet(this,_client).user.username;if(prohibitedPermsInUse.includes("Administrator")){return sendError(`This bot (\`${name}\`) has \`Administrator\` permission and for your safety the bot has been disabled.`,{code:"DangerousPermission"})}else{const permsList=prohibitedPermsInUse.map(x=>`\`${x}\``).join(", ");const plural=prohibitedPermsInUse.length>1?"has dangerous permissions":"has a dangerous permission";return sendError(`This bot (\`${name}\`) ${plural} (${permsList}) and for your safety the bot has been disabled.`,{code:"DangerousPermission"})}}if(botCfg.warningsChannel){const fetchedChannel=__privateGet(this,_client).channels.cache.find(x=>x.id===botCfg.warningsChannel);if(!fetchedChannel){return sendError(`Channel ${botCfg.warningsChannel} not found.`)}else if(fetchedChannel.type!==import_discord6.ChannelType.GuildText&&fetchedChannel.type!==import_discord6.ChannelType.GuildAnnouncement){return sendError(`Channel ${botCfg.warningsChannel} - ${fetchedChannel==null?void 0:fetchedChannel.name} is not a text or announcement channel.`)}else{this.announceChannel=fetchedChannel}}this.guild.commands.set(slash_default).catch(console29.dir);(_c=__privateGet(this,_client).application)==null?void 0:_c.commands.set([]).catch(console29.dir);if(!isConfigSaveAttempt){this.updateBotStatus().catch(e=>{})}const successMsg=`Discord bot running as \`${__privateGet(this,_client).user.tag}\` on \`${guild2.name}\`.`;console29.ok(successMsg);this.refreshWsStatus();return resolve(successMsg)});__privateGet(this,_client).on("error",error=>{this.refreshWsStatus();clearInterval(disallowedIntentsWatcherId);console29.error(`Error from Discord.js client: ${error.message}`);return reject2(error)});__privateGet(this,_client).on("resume",()=>{console29.verbose.ok("Connection with Discord API server resumed");this.updateBotStatus().catch(e=>{});this.refreshWsStatus()});__privateGet(this,_client).on("interactionCreate",interactionCreateHandler_default);__privateGet(this,_client).login(botCfg.token).catch(error=>{clearInterval(disallowedIntentsWatcherId);if(error.message==="Used disallowed intents"){return sendError(`This bot does not have a required privileged intent.`,{code:"DisallowedIntents"})}__privateSet(this,_lastExplicitStatus,3);this.refreshWsStatus();if(!("message"in error)||!error.message){error.message="no reason available - "+JSON.stringify(error)}console29.error(`Discord login failed with error: ${error.message}`);return reject2(error)})})}async refreshMemberCache(){var _a12;if(!txConfig.discordBot.enabled)throw new Error(`discord bot is disabled`);if(!((_a12=__privateGet(this,_client))==null?void 0:_a12.isReady()))throw new Error(`discord bot not ready yet`);if(!this.guild)throw new Error(`guild not resolved`);const currTs=Date.now();if(currTs-__privateGet(this,_lastGuildMembersCacheRefresh)>6e4){try{await this.guild.members.fetch();__privateSet(this,_lastGuildMembersCacheRefresh,currTs);return true}catch(error){return false}}return false}async resolveMemberRoles(uid){var _a12;if(!txConfig.discordBot.enabled)throw new Error(`discord bot is disabled`);if(!((_a12=__privateGet(this,_client))==null?void 0:_a12.isReady()))throw new Error(`discord bot not ready yet`);if(!this.guild)throw new Error(`guild not resolved`);let member=this.guild.members.cache.find(m=>m.id===uid);if(!member&&await this.refreshMemberCache()){member=this.guild.members.cache.find(m=>m.id===uid)}if(member){return{isMember:true,memberRoles:member.roles.cache.map(role=>role.id)}}else{return{isMember:false}}}async resolveMemberProfile(uid){var _a12;if(!((_a12=__privateGet(this,_client))==null?void 0:_a12.isReady()))throw new Error(`discord bot not ready yet`);const avatarOptions={size:64,forceStatic:true};if(this.guild){let member=this.guild.members.cache.find(m=>m.id===uid);if(!member&&await this.refreshMemberCache()){member=this.guild.members.cache.find(m=>m.id===uid)}if(member){return{tag:member.nickname??member.user.username,avatar:member.displayAvatarURL(avatarOptions)??member.user.displayAvatarURL(avatarOptions)}}}const user=await __privateGet(this,_client).users.fetch(uid);if(user){return{tag:user.username,avatar:user.displayAvatarURL(avatarOptions)}}else{throw new Error(`could not resolve discord user`)}}};_clientOptions=new WeakMap;_client=new WeakMap;_lastDisallowedIntentsError=new WeakMap;_lastGuildMembersCacheRefresh=new WeakMap;_lastStatus=new WeakMap;_lastExplicitStatus=new WeakMap;DiscordBot.configKeysWatched=["discordBot.embedJson","discordBot.embedConfigJson"];var import_node_child_process=require("node:child_process");var import_promises11=require("node:timers/promises");var import_StreamValues=__toESM(require_StreamValues(),1);var import_nolookalikes=__toESM(require_nolookalikes(),1);var import_node_fs7=__toESM(require("node:fs"),1);var import_promises9=__toESM(require("node:fs/promises"),1);var import_node_path9=__toESM(require("node:path"),1);var import_is_localhost_ip=__toESM(require_is_localhost_ip(),1);var console30=console_default();var detectNewline=str2=>{if(typeof str2!=="string"){throw new TypeError("Expected a string")}const newlines=str2.match(/(?:\r?\n)/g)||[];if(newlines.length===0){return}const crlf=newlines.filter(newline=>newline==="\r\n").length;const lf=newlines.length-crlf;return crlf>lf?"\r\n":"\n"};var Command=class{constructor(tokens,filePath,fileLine){if(!Array.isArray(tokens)||tokens.length<1){throw new Error("Invalid command format")}if(typeof tokens[0]==="string"&&tokens[0].length){this.command=tokens[0].toLocaleLowerCase()}else{this.command="invalid_empty_command"}this.args=tokens.slice(1);this.file=filePath;this.line=fileLine}isConvarSetterFor(varname){if(["set","sets","setr"].includes(this.command)&&this.args.length===2&&this.args[0].toLowerCase()===varname.toLowerCase()){return this.args[1]}if(this.command===varname.toLowerCase()&&this.args.length===1){return this.args[0]}return false}};var ExecRecursionError=class{constructor(file,message3,line){this.file=file;this.message=message3;this.line=line}};var FilesInfoList=class{constructor(){this.store={}}add(file,line,msg){if(Array.isArray(this.store[file])){this.store[file].push([line,msg])}else{this.store[file]=[[line,msg]]}}count(){return Object.keys(this.store).length}toJSON(){return this.store}toMarkdown(hasHostConfig=false){const files=Object.keys(this.store);if(!files)return null;const msgLines=[];for(const file of files){const fileInfos=this.store[file];msgLines.push(`\`${file}\`:`);for(const[line,msg]of fileInfos){const linePrefix=line?`Line ${line}: `:"";const indentedMsg=msg.replaceAll(/\n\t/gm,"\n	- ");msgLines.push(`- ${linePrefix}${indentedMsg}`)}}if(hasHostConfig){msgLines.push("");msgLines.push(`**Some of the configuration above is controlled by ${txHostConfig.sourceName}.**`)}return msgLines.join("\n")}};var findLikelyCFGPath=serverDataPath=>{const commonCfgFileNames=["server.cfg","server.cfg.txt","server.cfg.cfg","server.txt","server"];for(const cfgFileName of commonCfgFileNames){const absoluteCfgPath=import_node_path9.default.join(serverDataPath,cfgFileName);try{if(import_node_fs7.default.lstatSync(absoluteCfgPath).isFile()){return cfgFileName}}catch(error){}}return false};var resolveCFGFilePath=(cfgPath2,dataPath3)=>{return import_node_path9.default.isAbsolute(cfgPath2)?import_node_path9.default.normalize(cfgPath2):import_node_path9.default.resolve(dataPath3,cfgPath2)};var readRawCFGFile=async cfgPath2=>{if(!import_node_path9.default.isAbsolute(cfgPath2)){throw new Error("File path must be absolute.")}if(!import_node_fs7.default.existsSync(cfgPath2)){throw new Error("File doesn't exist or its unreadable.")}if(!import_node_fs7.default.lstatSync(cfgPath2).isFile()){throw new Error("File doesn't exist or its unreadable. Make sure to include the CFG file in the path, and not just the directory that contains it.")}try{return await import_promises9.default.readFile(cfgPath2,"utf8")}catch(error){throw new Error("Cannot read CFG file.")}};var readLineCommands=input=>{let inQuote=false;let inEscape=false;const prevCommands=[];let currCommand=[];let currToken="";for(let i=0;i<input.length;i++){if(inEscape){if(input[i]==='"'||input[i]==="\\"){currToken+=input[i]}inEscape=false;continue}if(!currToken.length){if(input.slice(i,i+2)==="//"||input[i]==="#"){break}}if(!inQuote&&input.charCodeAt(i)<=32){if(currToken.length){currCommand.push(currToken);currToken=""}continue}if(input[i]==='"'){if(inQuote){currCommand.push(currToken);currToken="";inQuote=false}else{inQuote=true}continue}if(input[i]==="\\"){inEscape=true;continue}if(!inQuote&&input[i]===";"){if(currToken.length){currCommand.push(currToken);currToken=""}prevCommands.push(currCommand);currCommand=[];continue};currToken+=input[i]}if(currToken.length){currCommand.push(currToken)}prevCommands.push(currCommand);return prevCommands};var parseRecursiveConfig=async(cfgInputString,cfgAbsolutePath,serverDataPath,stack2)=>{if(typeof cfgInputString!=="string"&&cfgInputString!==null){throw new Error("cfgInputString expected to be string or null")}const MAX_DEPTH2=5;if(!Array.isArray(stack2)){stack2=[]}else if(stack2.length>=MAX_DEPTH2){throw new Error(`cfg 'exec' command depth above ${MAX_DEPTH2}`)}else if(stack2.includes(cfgAbsolutePath)){throw new Error(`cfg cyclical 'exec' command detected to file ${cfgAbsolutePath}`)}stack2.push(cfgAbsolutePath);const cfgData=cfgInputString??await readRawCFGFile(cfgAbsolutePath);const cfgLines=cfgData.split("\n");const parsedCommands=[];for(let i=0;i<cfgLines.length;i++){const lineString=cfgLines[i].trim();const lineNumber=i+1;const lineCommands=readLineCommands(lineString);for(const cmdTokens of lineCommands){if(!cmdTokens.length)continue;const cmdObject=new Command(cmdTokens,cfgAbsolutePath,lineNumber);parsedCommands.push(cmdObject);if(cmdObject.command==="exec"&&typeof cmdObject.args[0]==="string"){if(!cmdObject.args[0].startsWith("@")){const recursiveCfgAbsolutePath=resolveCFGFilePath(cmdObject.args[0],serverDataPath);try{const extractedCommands=await parseRecursiveConfig(null,recursiveCfgAbsolutePath,serverDataPath,stack2);parsedCommands.push(...extractedCommands)}catch(error){parsedCommands.push(new ExecRecursionError(cfgAbsolutePath,error.message,lineNumber))}}}}}stack2.pop();return parsedCommands};var validateCommands=async parsedCommands=>{var _a12;const checkedInterfaces=new Map;let detectedGameName;const requiredGameName=txHostConfig.forceGameName?txHostConfig.forceGameName==="fivem"?"gta5":"rdr3":void 0;let hasHostConfigMessage=false;let hasEndpointCommand=false;const endpoints={};const errors2=new FilesInfoList;const warnings=new FilesInfoList;const toCommentOut=new FilesInfoList;for(const cmd of parsedCommands){if(cmd instanceof ExecRecursionError){warnings.add(cmd.file,cmd.line,cmd.message);continue}if(["+set","+setr","+setr"].includes(cmd.command)){const msg=`Line ${cmd.line}: remove the '+' from '${cmd.command}', as this is not an launch parameter.`;warnings.add(cmd.file,cmd.line,msg);continue}if(["start","stop","ensure"].includes(cmd.command)&&cmd.args.length>=1&&["txadmin","txadminclient","monitor"].includes(cmd.args[0].toLowerCase())){toCommentOut.add(cmd.file,cmd.line,"you MUST NOT start/stop/ensure txadmin resources.");continue}const isMaxClientsString=cmd.isConvarSetterFor("sv_maxclients");if(txHostConfig.forceMaxClients&&isMaxClientsString){const maxClients=parseInt(isMaxClientsString);if(maxClients>txHostConfig.forceMaxClients){hasHostConfigMessage=true;errors2.add(cmd.file,cmd.line,`your 'sv_maxclients' MUST be <= ${txHostConfig.forceMaxClients}.`);continue}}const isGameNameString=cmd.isConvarSetterFor("gamename");if(isGameNameString&&detectedGameName){errors2.add(cmd.file,cmd.line,`you already set the 'gamename' to '${detectedGameName}', please remove this line.`);continue}if(txHostConfig.forceGameName&&isGameNameString){detectedGameName=isGameNameString;if(isGameNameString!==requiredGameName){hasHostConfigMessage=true;errors2.add(cmd.file,cmd.line,`your 'gamename' MUST be '${requiredGameName}'.`);continue}}if(cmd.isConvarSetterFor("onesync")){toCommentOut.add(cmd.file,cmd.line,"onesync MUST only be set in the txAdmin settings page.");continue}if(cmd.isConvarSetterFor("sv_allowlistInstructions")||cmd.isConvarSetterFor("sv_appearAllowlisted")){toCommentOut.add(cmd.file,cmd.line,"The allowlist convars are overwritten by the txAdmin settings page.");continue}if(cmd.command==="endpoint_add_tcp"||cmd.command==="endpoint_add_udp"){hasEndpointCommand=true;if(cmd.args.length!==1){warnings.add(cmd.file,cmd.line,`the \`endpoint_add_*\` commands MUST have exactly 1 argument (received ${cmd.args.length})`);continue}const endpointsRegex=/^\[?(([0-9.]{7,15})|([a-z0-9:]{2,29}))\]?:(\d{1,5})$/gi;const matches2=[...cmd.args[0].matchAll(endpointsRegex)];if(!Array.isArray(matches2)||!matches2.length){errors2.add(cmd.file,cmd.line,`the \`${cmd.args[0]}\` is not in a valid \`ip:port\` format.`);continue}const[_matchedString,iface,ipv4,ipv6,portString]=matches2[0];let canBind=checkedInterfaces.get(iface);if(typeof canBind==="undefined"){canBind=await(0,import_is_localhost_ip.default)(iface,true);checkedInterfaces.set(iface,canBind)}if(canBind===false){errors2.add(cmd.file,cmd.line,`the \`${cmd.command}\` interface \`${iface}\` is not available for this host.`);continue}if(txHostConfig.netInterface&&iface!==txHostConfig.netInterface){hasHostConfigMessage=true;errors2.add(cmd.file,cmd.line,`the \`${cmd.command}\` interface MUST be \`${txHostConfig.netInterface}\`.`);continue}const port=parseInt(portString);if(port>=40120&&port<=40150){errors2.add(cmd.file,cmd.line,`the \`${cmd.command}\` port \`${port}\` is dedicated for txAdmin and CAN NOT be used for FXServer.`);continue}if(port===txHostConfig.txaPort){errors2.add(cmd.file,cmd.line,`the \`${cmd.command}\` port \`${port}\` is being used by txAdmin and CAN NOT be used for FXServer at the same time.`);continue}if(txHostConfig.fxsPort&&port!==txHostConfig.fxsPort){hasHostConfigMessage=true;errors2.add(cmd.file,cmd.line,`the \`${cmd.command}\` port MUST be \`${txHostConfig.fxsPort}\`.`);continue}const endpoint=ipv4?`${ipv4}:${port}`:`[${ipv6}]:${port}`;const protocol=cmd.command==="endpoint_add_tcp"?"tcp":"udp";if(typeof endpoints[endpoint]==="undefined"){endpoints[endpoint]={}}if(endpoints[endpoint][protocol]){errors2.add(cmd.file,cmd.line,`you CANNOT execute \`${cmd.command}\` twice for the interface \`${endpoint}\`.`);continue}else{endpoints[endpoint][protocol]=true}}}if(txHostConfig.forceGameName==="redm"&&detectedGameName!=="rdr3"){const initFile=((_a12=parsedCommands[0])==null?void 0:_a12.file)??"unknown";hasHostConfigMessage=true;errors2.add(initFile,false,`your config MUST have a 'gamename' set to '${requiredGameName}'.`)}return{endpoints,hasEndpointCommand,hasHostConfigMessage,errors:errors2,warnings,toCommentOut}};var getConnectEndpoint=(endpoints,hasEndpointCommand)=>{if(!Object.keys(endpoints).length){const instruction=hasEndpointCommand?"Please delete all `endpoint_add_*` lines and":"Please";const suggestedPort=txHostConfig.fxsPort??30120;const suggestedInterface=txHostConfig.netInterface??"0.0.0.0";const desidredEndpoint=`${suggestedInterface}:${suggestedPort}`;const msg=[`Your config file does not specify a valid endpoints for FXServer to use. ${instruction} add the following to the start of the file:`,`	\`endpoint_add_tcp "${desidredEndpoint}"\``,`	\`endpoint_add_udp "${desidredEndpoint}"\``].join("\n");throw new Error(msg)}const tcpudpEndpoint=Object.keys(endpoints).find(ep=>{return endpoints[ep].tcp&&endpoints[ep].udp});if(!tcpudpEndpoint){throw new Error("Your config file does not not contain a ip:port used in both `endpoint_add_tcp` and `endpoint_add_udp` commands. Players would not be able to connect.")}return tcpudpEndpoint.replace(/(0\.0\.0\.0|\[::\])/,"127.0.0.1")};var validateFixServerConfig=async(cfgPath2,serverDataPath)=>{const cfgAbsolutePath=resolveCFGFilePath(cfgPath2,serverDataPath);const parsedCommands=await parseRecursiveConfig(null,cfgAbsolutePath,serverDataPath);const{endpoints,hasEndpointCommand,hasHostConfigMessage,errors:errors2,warnings,toCommentOut}=await validateCommands(parsedCommands);let connectEndpoint=null;try{connectEndpoint=getConnectEndpoint(endpoints,hasEndpointCommand)}catch(error){errors2.add(cfgAbsolutePath,false,error.message)}for(const targetCfgPath in toCommentOut.store){const actions=toCommentOut.store[targetCfgPath];try{const cfgRaw=await import_promises9.default.readFile(targetCfgPath,"utf8");const fileEOL=detectNewline(cfgRaw);const cfgLines=cfgRaw.split(/\r?\n/);for(const[ln,reason]of actions){if(ln===false)continue;if(typeof cfgLines[ln-1]!=="string"){throw new Error(`Line ${ln} not found.`)}cfgLines[ln-1]=`## [txAdmin CFG validator]: ${reason}${fileEOL}# ${cfgLines[ln-1]}`;warnings.add(targetCfgPath,ln,`Commented out: ${reason}`)}const newCfg=cfgLines.join(fileEOL);console30.warn(`Saving modified file '${targetCfgPath}'`);await import_promises9.default.writeFile(targetCfgPath,newCfg,"utf8")}catch(error){console30.verbose.error(error);for(const[ln,reason]of actions){errors2.add(targetCfgPath,ln,`Please comment out this line: ${reason}`)}}}return{connectEndpoint,errors:errors2.toMarkdown(hasHostConfigMessage),warnings:warnings.toMarkdown(hasHostConfigMessage)}};var validateModifyServerConfig=async(cfgInputString,cfgPath2,serverDataPath)=>{if(typeof cfgInputString!=="string"){throw new Error("cfgInputString expected to be string.")}const cfgAbsolutePath=resolveCFGFilePath(cfgPath2,serverDataPath);const parsedCommands=await parseRecursiveConfig(cfgInputString,cfgAbsolutePath,serverDataPath);const{endpoints,hasEndpointCommand,hasHostConfigMessage,errors:errors2,warnings,toCommentOut}=await validateCommands(parsedCommands);try{const _connectEndpoint=getConnectEndpoint(endpoints,hasEndpointCommand)}catch(error){errors2.add(cfgAbsolutePath,false,error.message)}if(errors2.count()){return{success:false,errors:errors2.toMarkdown(hasHostConfigMessage),warnings:warnings.toMarkdown(hasHostConfigMessage)}}try{console30.warn(`Saving modified file '${cfgAbsolutePath}'`);await import_promises9.default.copyFile(cfgAbsolutePath,`${cfgAbsolutePath}.bkp`);await import_promises9.default.writeFile(cfgAbsolutePath,cfgInputString,"utf8")}catch(error){throw new Error(`Failed to edit 'server.cfg' with error: ${error.message}`)}return{success:true,warnings:warnings.toMarkdown()}};var import_promises10=__toESM(require("node:fs/promises"),1);var import_node_stream6=require("node:stream");var import_path=__toESM(require("path"),1);var lastBlackHoleSpewTime=0;var blackHoleSpillMaxInterval=5e3;var childProcessEventBlackHole=(...args2)=>{const currentTime=Date.now();if(currentTime-lastBlackHoleSpewTime>blackHoleSpillMaxInterval){console.verbose.error("ChildProcess unexpected event:");console.verbose.dir(args2);lastBlackHoleSpewTime=currentTime}};var getMutableConvars=(isCmdLine=false)=>{const checkPlayerJoin=txConfig.banlist.enabled||txConfig.whitelist.mode!=="disabled"&&txConfig.whitelist.mode!=="external";const convars=[["setr","locale",txConfig.general.language??"en"],["set","serverName",txConfig.general.serverName??"txAdmin"],["set","checkPlayerJoin",checkPlayerJoin],["set","menuAlignRight",txConfig.gameFeatures.menuAlignRight],["set","menuPageKey",txConfig.gameFeatures.menuPageKey],["set","playerModePtfx",txConfig.gameFeatures.playerModePtfx],["set","hideAdminInPunishments",txConfig.gameFeatures.hideAdminInPunishments],["set","hideAdminInMessages",txConfig.gameFeatures.hideAdminInMessages],["set","hideDefaultAnnouncement",txConfig.gameFeatures.hideDefaultAnnouncement],["set","hideDefaultDirectMessage",txConfig.gameFeatures.hideDefaultDirectMessage],["set","hideDefaultWarning",txConfig.gameFeatures.hideDefaultWarning],["set","hideDefaultScheduledRestartWarning",txConfig.gameFeatures.hideDefaultScheduledRestartWarning],["sets","sv_appearAllowlisted",txConfig.whitelist.mode!=="disabled"]];if(txConfig.whitelist.mode!=="disabled"&&txConfig.whitelist.mode!=="adminOnly"&&txConfig.whitelist.rejectionMessage){const instructions=isCmdLine?txConfig.whitelist.rejectionMessage.replaceAll("\n","\\n"):txConfig.whitelist.rejectionMessage;convars.push(["sets","sv_allowlistInstructions",instructions])}else{convars.push(["sets","sv_allowlistInstructions",""])}return convars.map(c=>polishConvarSetTuple(c,isCmdLine))};var polishConvarSetTuple=([setter,name,value],isCmdLine=false)=>{return[isCmdLine?`+${setter}`:setter,name.startsWith("sv_")?name:"txAdmin-"+name,value.toString()]};var mutableConvarConfigDependencies=["general.*","gameFeatures.*","banlist.enabled","whitelist.mode","whitelist.rejectionMessage"];var txCoreEndpoint=txHostConfig.netInterface?`${txHostConfig.netInterface}:${txHostConfig.txaPort}`:`127.0.0.1:${txHostConfig.txaPort}`;var osSpawnVars;if(txEnv.isWindows){osSpawnVars={bin:`${txEnv.fxsPath}/FXServer.exe`,args:[]}}else{const alpinePath=import_path.default.resolve(txEnv.fxsPath,"../../");osSpawnVars={bin:`${alpinePath}/opt/cfx-server/ld-musl-x86_64.so.1`,args:["--library-path",`${alpinePath}/usr/lib/v8/:${alpinePath}/lib/:${alpinePath}/usr/lib/`,"--",`${alpinePath}/opt/cfx-server/FXServer`,"+set","citizen_dir",`${alpinePath}/opt/cfx-server/citizen/`]}}var getFxSpawnVariables=()=>{if(!txConfig.server.dataPath)throw new Error("Missing server data path");const cmdArgs=[...osSpawnVars.args,getMutableConvars(true),txConfig.server.startupArgs,"+set","onesync",txConfig.server.onesync,"+sets","txAdmin-version",txEnv.txaVersion,"+setr","txAdmin-menuEnabled",txConfig.gameFeatures.menuEnabled,"+set","txAdmin-luaComHost",txCoreEndpoint,"+set","txAdmin-luaComToken",txCore.webServer.luaComToken,"+set","txAdminServerMode","true","+exec",txConfig.server.cfgPath].flat(2).map(String);return{bin:osSpawnVars.bin,args:cmdArgs,serverName:txConfig.general.serverName,dataPath:txConfig.server.dataPath,cfgPath:txConfig.server.cfgPath}};var isValidChildProcess=p=>{if(!p)return false;if(typeof p.pid!=="number")return false;if(!Array.isArray(p.stdio))return false;if(p.stdio.length<4)return false;if(!(p.stdio[3]instanceof import_node_stream6.Readable))return false;return true};var sanitizeConsoleArgString=arg=>{if(typeof arg!=="string")throw new Error("unexpected type");return arg.replaceAll(/(?<!\\)"/g,'"').replaceAll(/;/g,";").replaceAll(/\n/g," ")};var stringifyConsoleArgs=args2=>{const cleanArgs=[];for(const arg of args2){if(typeof arg==="string"){cleanArgs.push(sanitizeConsoleArgString(JSON.stringify(arg)))}else if(typeof arg==="number"){cleanArgs.push(sanitizeConsoleArgString(JSON.stringify(arg.toString())))}else if(typeof arg==="object"&&arg!==null){const json2=JSON.stringify(arg);const escaped=json2.replaceAll(/"/g,'\\"');cleanArgs.push(`"${sanitizeConsoleArgString(escaped)}"`)}else{throw new Error("arg expected to be string or object")}}return cleanArgs.join(" ")};var setupCustomLocaleFile=async()=>{if(txConfig.general.language!=="custom")return;const srcPath=txCore.translator.customLocalePath;const destRuntimePath=import_path.default.resolve(txEnv.txaPath,".runtime");const destFilePath=import_path.default.resolve(destRuntimePath,"locale.json");try{await import_promises10.default.mkdir(destRuntimePath,{recursive:true});await import_promises10.default.copyFile(srcPath,destFilePath)}catch(error){console.tag("FXRunner").error(`Failed to copy custom locale file: ${error.message}`)}};var getFxChildCodeSignalString=(code,signal)=>{const details=[];if(typeof code==="number"){details.push(`0x${code.toString(16).toUpperCase()}`)}if(typeof signal==="string"){details.push(signal.toUpperCase())}if(!details.length)return"--";return details.join(", ")};var ProcessManager=class{constructor(fxs,props){this.tsStart=Date.now();var _a12;if(!((_a12=fxs==null?void 0:fxs.stdin)==null?void 0:_a12.writable))throw new Error(`Child process stdin is not writable.`);if(!props.mutex)throw new Error(`Invalid mutex.`);if(!props.netEndpoint)throw new Error(`Invalid netEndpoint.`);if(!props.onStatusUpdate)throw new Error(`Invalid status callback.`);this.pid=fxs.pid;this.fxs=fxs;this.mutex=props.mutex;this.netEndpoint=props.netEndpoint;this.statusCallback=props.onStatusUpdate;const console127=console_default(`FXProc][${this.pid}`);this.fxs.once("exit",(code,signal)=>{this.tsExit=Date.now();const info=getFxChildCodeSignalString(code,signal);processStdioEnsureEol();console127.warn(`FXServer Exited (${info}).`);this.exitCallback&&this.exitCallback();this.triggerStatusUpdate();if(this.tsExit-this.tsStart<=5e3){console127.defer(500).warn("FXServer didn't start. This is not an issue with txAdmin.")}});this.fxs.once("close",(code,signal)=>{this.tsClose=Date.now();const info=getFxChildCodeSignalString(code,signal);processStdioEnsureEol();console127.warn(`FXServer Closed (${info}).`);this.destroy()});this.fxs.on("error",err=>{console127.error(`FXServer Error Event:`);console127.dir(err)});console127.ok(`FXServer Started!`);this.triggerStatusUpdate()}triggerStatusUpdate(){try{this.statusCallback()}catch(error){childProcessEventBlackHole("ProcessManager:statusCallback",error)}}destroy(){var _a12;if(!this.fxs)return;try{this.tsKill=Date.now();(_a12=this.fxs)==null?void 0:_a12.kill()}catch(error){childProcessEventBlackHole("ProcessManager:destroy",error)}finally{this.fxs=null;this.triggerStatusUpdate()}}onExit(callback){this.exitCallback=callback}get stateInfo(){return{pid:this.pid,mutex:this.mutex,netEndpoint:this.netEndpoint,tsStart:this.tsStart,tsKill:this.tsKill,tsExit:this.tsExit,tsClose:this.tsClose,isAlive:this.isAlive,status:this.status,uptime:this.uptime}}get isAlive(){return!!this.fxs&&!this.tsExit&&!this.tsClose}get status(){if(!this.fxs)return"DESTROYED";if(this.tsExit)return"EXITED";return"ALIVE"}get uptime(){const now3=Date.now();return Math.min(this.tsKill??now3,this.tsExit??now3,this.tsClose??now3)-this.tsStart}get stdin(){var _a12;return(_a12=this.fxs)==null?void 0:_a12.stdin}};var console31=console_default("FXProc:FD3");var handleBridgedCommands=payload=>{if(payload.command==="announcement"){try{if(typeof payload.author!=="string")throw new Error(`invalid author`);if(typeof payload.message!=="string")throw new Error(`invalid message`);const message3=(payload.message??"").trim();if(!message3.length)throw new Error(`empty message`);const author=payload.author;txCore.logger.admin.write(author,`Sending announcement: ${message3}`);txCore.fxRunner.sendEvent("announcement",{message:message3,author});const publicAuthor=txCore.adminStore.getAdminPublicName(payload.author,"message");txCore.discordBot.sendAnnouncement({type:"info",title:{key:"nui_menu.misc.announcement_title",data:{author:publicAuthor}},description:message3})}catch(error){console31.verbose.warn(`handleBridgedCommands handler error:`);console31.verbose.dir(error)}}else{console31.warn(`Command bridge received invalid command:`);console31.dir(payload)}};var handleFd3Messages=(mutex,trace)=>{var _a12;if(!mutex||mutex!==((_a12=txCore.fxRunner.child)==null?void 0:_a12.mutex))return;if(anyUndefined(trace,trace.value,trace.value.data,trace.value.channel))return;const{channel,data}=trace.value;if(channel==="citizen-server-impl"&&(data==null?void 0:data.type)==="bind_error"){try{const newDelayBackoffMs=txCore.fxRunner.signalSpawnBackoffRequired(true);const[_ip,port]=data.address.split(":");const secs=Math.floor(newDelayBackoffMs/1e3);console31.defer().error(`Detected FXServer error: Port ${port} is busy! Setting backoff delay to ${secs}s.`)}catch(e){}return}if(channel==="citizen-server-impl"&&data.type==="nucleus_connected"){if(typeof data.url!=="string"){console31.error(`FD3 nucleus_connected event without URL.`)}else{try{const matches2=/^(https:\/\/)?.*-([0-9a-z]{6,})\.users\.cfx\.re\/?$/.exec(data.url);if(!matches2||!matches2[2])throw new Error(`invalid cfxid`);txCore.cacheStore.set("fxsRuntime:cfxId",matches2[2])}catch(error){console31.error(`Error decoding server nucleus URL.`)}}return}if(channel==="citizen-server-impl"&&data.type==="watchdog_bark"){setTimeout(()=>{const thread=(data==null?void 0:data.thread)??"UNKNOWN";if(!(data==null?void 0:data.stack)||data.stack.trim()==="root"){console31.error(`Detected server thread ${thread} hung without a stack trace.`)}else{console31.error(`Detected server thread ${thread} hung with stack:`);console31.error(`- ${data.stack}`);console31.error("Please check the resource above to prevent server restarts.")}},250);return}if(channel==="citizen-server-impl"&&data.type==="script_structured_trace"&&data.resource==="monitor"){if(data.payload.type==="txAdminHeartBeat"){txCore.fxMonitor.handleHeartBeat("fd3")}else if(data.payload.type==="txAdminLogData"){txCore.logger.server.write(data.payload.logs,mutex)}else if(data.payload.type==="txAdminLogNodeHeap"){txCore.metrics.svRuntime.logServerNodeMemory(data.payload)}else if(data.payload.type==="txAdminResourceEvent"){txCore.fxResources.handleServerEvents(data.payload,mutex)}else if(data.payload.type==="txAdminPlayerlistEvent"){txCore.fxPlayerlist.handleServerEvents(data.payload,mutex)}else if(data.payload.type==="txAdminCommandBridge"){handleBridgedCommands(data.payload)}else if(data.payload.type==="txAdminAckWarning"){txCore.database.actions.ackWarn(data.payload.actionId)}}};var handleFd3Messages_default=(mutex,trace)=>{try{handleFd3Messages(mutex,trace)}catch(error){console31.verbose.error("Error processing FD3 stream output:");console31.verbose.dir(error)}};var ConsoleLineEnum=(ConsoleLineEnum2=>{ConsoleLineEnum2[ConsoleLineEnum2["StdOut"]=0]="StdOut";ConsoleLineEnum2[ConsoleLineEnum2["StdErr"]=1]="StdErr";ConsoleLineEnum2[ConsoleLineEnum2["MarkerAdminCmd"]=2]="MarkerAdminCmd";ConsoleLineEnum2[ConsoleLineEnum2["MarkerSystemCmd"]=3]="MarkerSystemCmd";ConsoleLineEnum2[ConsoleLineEnum2["MarkerInfo"]=4]="MarkerInfo";return ConsoleLineEnum2})(ConsoleLineEnum||{});var ConsoleLineEnum_default=ConsoleLineEnum;var import_node_path10=__toESM(require("node:path"),1);var console32=console_default("FxRunner");var genMutex=customAlphabet2(import_nolookalikes.default,5);var MIN_KILL_DELAY=250;var FxRunner=class{constructor(){this.history=[];this.proc=null;this.isAwaitingShutdownNoticeDelay=false;this.isAwaitingRestartSpawnDelay=false;this.restartSpawnBackoffDelay=0}handleConfigUpdate(updatedConfigs){this.updateMutableConvars().catch(()=>{})}handleShutdown(){var _a12;if(!((_a12=this.proc)==null?void 0:_a12.isAlive)||!this.proc.stdin)return null;this.proc.stdin.write('quit "host shutting down"\n');return new Promise(resolve=>{var _a13;(_a13=this.proc)==null?void 0:_a13.onExit(resolve)})}signalStartReady(){if(!txConfig.server.autoStart)return;if(!this.isConfigured){return console32.warn("Please open txAdmin on the browser to configure your server.")}if(!txCore.adminStore.hasAdmins()){return console32.warn("The server will not auto start because there are no admins configured.")}if(txConfig.server.quiet||txHostConfig.forceQuietMode){console32.defer(1e3).warn("FXServer Quiet mode is enabled. Access the Live Console to see the logs.")}this.spawnServer(true)}signalSpawnBackoffRequired(required){if(required){this.restartSpawnBackoffDelay=Math.min(this.restartSpawnBackoffDelay+5e3,45e3)}else{if(this.restartSpawnBackoffDelay){console32.verbose.debug("Server booted successfully, resetting spawn backoff delay.")}this.restartSpawnBackoffDelay=0}return this.restartSpawnBackoffDelay}async spawnServer(shouldAnnounce=false){if(txManager.isShuttingDown){const msg=`Cannot start the server while txAdmin is shutting down.`;console32.error(msg);return msg}if(this.proc!==null){const msg=`The server has already started.`;console32.error(msg);return msg}let fxSpawnVars;const newServerMutex=genMutex();try{txCore.webServer.resetToken();fxSpawnVars=getFxSpawnVariables()}catch(error){const errMsg=`Error setting up spawn variables: ${error.message}`;console32.error(errMsg);return errMsg}try{await setupCustomLocaleFile()}catch(error){const errMsg=`Error copying custom locale: ${error.message}`;console32.error(errMsg);return errMsg}if(!this.isConfigured){const msg=`Cannot start the server with missing configuration (serverDataPath || cfgPath).`;console32.error(msg);return msg}let netEndpointDetected;try{const result2=await validateFixServerConfig(fxSpawnVars.cfgPath,fxSpawnVars.dataPath);if(result2.errors||!result2.connectEndpoint){const msg=`**Unable to start the server due to error(s) in your config file(s):**
${result2.errors}`;console32.error(msg);return msg}if(result2.warnings){const msg=`**Warning regarding your configuration file(s):**
${result2.warnings}`;console32.warn(msg)}netEndpointDetected=result2.connectEndpoint}catch(error){const errMsg=`server.cfg error: ${error.message}`;console32.error(errMsg);if(error.message.includes("unreadable")){console32.error("That is the file where you configure your server and start resources.");console32.error("You likely moved/deleted your server files or copied the txData folder from another server.");console32.error('To fix this issue, open the txAdmin web interface then go to "Settings > FXServer" and fix the "Server Data Folder" and "CFG File Path".')}return errMsg}txCore.fxMonitor.resetState();txCore.webServer.webSocket.buffer("playerlist",{mutex:newServerMutex,type:"fullPlayerlist",playerlist:[]});if(shouldAnnounce){txCore.discordBot.sendAnnouncement({type:"success",description:{key:"server_actions.spawning_discord",data:{servername:fxSpawnVars.serverName}}})}const childProc=(0,import_node_child_process.spawn)(fxSpawnVars.bin,fxSpawnVars.args,{cwd:fxSpawnVars.dataPath,stdio:["pipe","pipe","pipe","pipe"]});if(!isValidChildProcess(childProc)){const errMsg=`Failed to run 
${fxSpawnVars.bin}`;console32.error(errMsg);return errMsg}this.proc=new ProcessManager(childProc,{mutex:newServerMutex,netEndpoint:netEndpointDetected,onStatusUpdate:()=>{txCore.webServer.webSocket.pushRefresh("status")}});txCore.logger.fxserver.logFxserverSpawn(this.proc.pid.toString());childProc.stdout.setEncoding("utf8");childProc.stdout.on("data",txCore.logger.fxserver.writeFxsOutput.bind(txCore.logger.fxserver,ConsoleLineEnum_default.StdOut));childProc.stderr.on("data",txCore.logger.fxserver.writeFxsOutput.bind(txCore.logger.fxserver,ConsoleLineEnum_default.StdErr));const jsoninPipe=childProc.stdio[3].pipe(import_StreamValues.default.withParser());jsoninPipe.on("data",handleFd3Messages_default.bind(null,newServerMutex));childProc.stdin.on("error",childProcessEventBlackHole);childProc.stdin.on("data",childProcessEventBlackHole);childProc.stdout.on("error",childProcessEventBlackHole);childProc.stderr.on("error",childProcessEventBlackHole);childProc.stdio[3].on("error",childProcessEventBlackHole);return null}async restartServer(reason,author){const respawnDelay=this.restartSpawnDelay;if(this.isAwaitingRestartSpawnDelay){const durationStr=msToShortishDuration(respawnDelay.ms,{units:["m","s","ms"]});return`A restart is already in progress, with a delay of ${durationStr}.`}try{const killError=await this.killServer(reason,author,true);if(killError)return killError;if(respawnDelay.isBackoff){console32.warn(`Restarting the fxserver with backoff delay of ${respawnDelay.ms}ms`)}this.isAwaitingRestartSpawnDelay=true;await(0,import_promises11.setTimeout)(respawnDelay.ms);this.isAwaitingRestartSpawnDelay=false;return await this.spawnServer()}catch(error){const errMsg=`Couldn't restart the server.`;console32.error(errMsg);console32.verbose.dir(error);return errMsg}finally{this.isAwaitingRestartSpawnDelay=false}}async killServer(reason,author,isRestarting=false){if(!this.proc)return null;const shutdownDelay=Math.max(txConfig.server.shutdownNoticeDelayMs,MIN_KILL_DELAY);const reasonString=reason??"no reason provided";const messageType=isRestarting?"restarting":"stopping";const messageColor=isRestarting?"warning":"danger";const tOptions={servername:txConfig.general.serverName,reason:reasonString};if(this.isAwaitingShutdownNoticeDelay){const durationStr=msToShortishDuration(shutdownDelay,{units:["m","s","ms"]});return`A shutdown is already in progress, with a delay of ${durationStr}.`}try{if(this.proc.isAlive){this.sendEvent("serverShuttingDown",{delay:txConfig.server.shutdownNoticeDelayMs,author:typeof author==="string"?author:"txAdmin",message:txCore.translator.t(`server_actions.${messageType}`,tOptions)});this.isAwaitingShutdownNoticeDelay=true;await(0,import_promises11.setTimeout)(shutdownDelay);this.isAwaitingShutdownNoticeDelay=false}this.proc.destroy();const debugInfo=this.proc.stateInfo;this.history.push(debugInfo);this.proc=null;txCore.fxScheduler.handleServerClose();txCore.fxResources.handleServerClose();txCore.fxPlayerlist.handleServerClose(debugInfo.mutex);txCore.metrics.svRuntime.logServerClose(reasonString);txCore.discordBot.sendAnnouncement({type:messageColor,description:{key:`server_actions.${messageType}_discord`,data:tOptions}}).catch(()=>{});return null}catch(error){const msg=`Couldn't kill the server. Perhaps What Is Dead May Never Die.`;console32.error(msg);console32.verbose.dir(error);this.proc=null;return msg}finally{this.isAwaitingShutdownNoticeDelay=false}}async updateMutableConvars(){console32.log("Updating FXServer ConVars.");try{await setupCustomLocaleFile();const convarList=getMutableConvars(false);for(const[set3,convar,value]of convarList){this.sendCommand(set3,[convar,value],SYM_SYSTEM_AUTHOR)}this.sendEvent("configChanged");return convarList}catch(error){console32.verbose.error("Error updating FXServer ConVars");console32.verbose.dir(error);return null}}sendEvent(eventType,data={}){if(typeof eventType!=="string"||!eventType)throw new Error("invalid eventType");try{return this.sendCommand("txaEvent",[eventType,data],SYM_SYSTEM_AUTHOR)}catch(error){console32.verbose.error(`Error writing firing server event ${eventType}`);console32.verbose.dir(error);return false}}sendCommand(cmdName,cmdArgs,author){var _a12;if(!((_a12=this.proc)==null?void 0:_a12.isAlive))return false;if(typeof cmdName!=="string"||!cmdName.length)throw new Error("cmdName is empty");if(!Array.isArray(cmdArgs))throw new Error("cmdArgs is not an array");if(!/^\w+$/.test(cmdName)){throw new Error("invalid cmdName string")}const rawInput=`${cmdName} ${stringifyConsoleArgs(cmdArgs)}`;return this.sendRawCommand(rawInput,author)}sendRawCommand(command,author){var _a12,_b2;if(!((_a12=this.proc)==null?void 0:_a12.isAlive))return false;if(typeof command!=="string")throw new Error("Expected command as String!");if(author!==SYM_SYSTEM_AUTHOR&&(typeof author!=="string"||!author.length)){throw new Error("Expected non-empty author as String or Symbol!")}try{const success=(_b2=this.proc.stdin)==null?void 0:_b2.write(command+"\n");if(author===SYM_SYSTEM_AUTHOR){txCore.logger.fxserver.logSystemCommand(command)}else{txCore.logger.fxserver.logAdminCommand(author,command)}return success}catch(error){console32.error("Error writing to fxChild's stdin.");console32.verbose.dir(error);return false}}get child(){var _a12;return(_a12=this.proc)==null?void 0:_a12.stateInfo}get isIdle(){return!this.proc&&!this.isAwaitingRestartSpawnDelay}get isConfigured(){return typeof txConfig.server.dataPath==="string"&&txConfig.server.dataPath.length>0&&typeof txConfig.server.cfgPath==="string"&&txConfig.server.cfgPath.length>0}get serverPaths(){if(!this.isConfigured)return;return{dataPath:import_node_path10.default.normalize(txConfig.server.dataPath),cfgPath:resolveCFGFilePath(txConfig.server.cfgPath,txConfig.server.dataPath)}}get restartSpawnDelay(){let ms=txConfig.server.restartSpawnDelayMs;let isBackoff=false;if(this.restartSpawnBackoffDelay>=ms){ms=this.restartSpawnBackoffDelay;isBackoff=true}return{ms,isBackoff}}};FxRunner.configKeysWatched=[...mutableConvarConfigDependencies];var import_promises14=__toESM(require("node:fs/promises"),1);var import_node_path13=__toESM(require("node:path"),1);var import_promises12=__toESM(require("node:fs/promises"),1);var import_node_path11=__toESM(require("node:path"),1);var import_bytes2=__toESM(require_bytes(),1);var getLogSizes=async(basePath2,filterRegex)=>{const files=await import_promises12.default.readdir(basePath2,{withFileTypes:true});const statOps=[];const statNames=[];for(let i=0;i<files.length;i++){const file=files[i];const filePath=import_node_path11.default.join(basePath2,file.name);if(!filterRegex.test(file.name)||!file.isFile())continue;statNames.push(file.name);statOps.push(import_promises12.default.stat(filePath))}let totalBytes=0;const fileStatsSizes=await Promise.allSettled(statOps);const fileStatsArray=fileStatsSizes.map((op,index)=>{if(op.status==="fulfilled"){totalBytes+=op.value.size;return[statNames[index],(0,import_bytes2.default)(op.value.size)]}else{return[statNames[index],false]}});return{totalBytes:(0,import_bytes2.default)(totalBytes),fileCount:statNames.length}};var getLogDivider=msg=>{const sepLine="=".repeat(64);const timestamp2=new Date().toLocaleString();let out=sepLine+"\n";out+=`======== ${msg} - ${timestamp2}`.padEnd(64," ")+"\n";out+=sepLine+"\n";return out};var getBootDivider=()=>{return getLogDivider(`txAdmin v${txEnv.txaVersion} atop fxserver ${txEnv.fxsVersion} Starting`)};var import_node_fs8=__toESM(require("node:fs"),1);var import_node_path12=__toESM(require("node:path"),1);var import_child_process=require("child_process");var import_zlib=require("zlib");var import_stream=require("stream");var import_fs2=require("fs");var import_promises13=require("fs/promises");var import_path2=require("path");var import_util4=require("util");var import_timers=require("timers");async function exists(filename){return new Promise(resolve=>(0,import_fs2.access)(filename,import_fs2.constants.F_OK,error=>resolve(!error)))}var RotatingFileStreamError=class extends Error{code="RFS-TOO-MANY";constructor(){super("Too many destination file attempts")}};var RotatingFileStream=class extends import_stream.Writable{createGzip;exec;file;filename;finished;fsCreateReadStream;fsCreateWriteStream;fsOpen;fsReadFile;fsStat;fsUnlink;generator;initPromise;last;maxTimeout;next;options;prev;rotation;size;stdout;timeout;timeoutPromise;constructor(generator,options){const{encoding,history,maxFiles,maxSize,path:path27}=options;super({decodeStrings:true,defaultEncoding:encoding});this.createGzip=import_zlib.createGzip;this.exec=import_child_process.exec;this.filename=path27+generator(null);this.fsCreateReadStream=import_fs2.createReadStream;this.fsCreateWriteStream=import_fs2.createWriteStream;this.fsOpen=import_promises13.open;this.fsReadFile=import_promises13.readFile;this.fsStat=import_promises13.stat;this.fsUnlink=import_promises13.unlink;this.generator=generator;this.maxTimeout=2147483640;this.options=options;this.stdout=process.stdout;if(maxFiles||maxSize)options.history=path27+(history?history:this.generator(null)+".txt");this.on("close",()=>this.finished?null:this.emit("finish"));this.on("finish",()=>this.finished=this.clear());(async()=>{try{this.initPromise=this.init();await this.initPromise;delete this.initPromise}catch(e){}})()}_destroy(error,callback){this.refinal(error,callback)}_final(callback){this.refinal(void 0,callback)}_write(chunk2,encoding,callback){this.rewrite([{chunk:chunk2,encoding}],0,callback)}_writev(chunks,callback){this.rewrite(chunks,0,callback)}async refinal(error,callback){try{this.clear();if(this.initPromise)await this.initPromise;if(this.timeoutPromise)await this.timeoutPromise;await this.reclose()}catch(e){return callback(error||e)}callback(error)}async rewrite(chunks,index,callback){const{size:size2,teeToStdout}=this.options;try{if(this.initPromise)await this.initPromise;for(let i=0;i<chunks.length;++i){const{chunk:chunk2}=chunks[i];this.size+=chunk2.length;if(this.timeoutPromise)await this.timeoutPromise;await this.file.write(chunk2);if(teeToStdout&&!this.stdout.destroyed)this.stdout.write(chunk2);if(size2&&this.size>=size2)await this.rotate()}}catch(e){return callback(e)}callback()}async init(){const{immutable,initialRotation,interval,size:size2}=this.options;if(immutable)return new Promise((resolve,reject2)=>process.nextTick(()=>this.immutate(true).then(resolve).catch(reject2)));let stats;try{stats=await(0,import_promises13.stat)(this.filename)}catch(e){if(e.code!=="ENOENT")throw e;return this.reopen(0)}if(!stats.isFile())throw new Error(`Can't write on: ${this.filename} (it is not a file)`);if(initialRotation){this.intervalBounds(this.now());const prev=this.prev;this.intervalBounds(new Date(stats.mtime.getTime()));if(prev!==this.prev)return this.rotate()}this.size=stats.size;if(!size2||stats.size<size2)return this.reopen(stats.size);if(interval)this.intervalBounds(this.now());return this.rotate()}async makePath(name){return(0,import_promises13.mkdir)(name.split(import_path2.sep).slice(0,-1).join(import_path2.sep),{recursive:true})}async reopen(size2){let file;try{file=await(0,import_promises13.open)(this.filename,"a",this.options.mode)}catch(e){if(e.code!=="ENOENT")throw e;await this.makePath(this.filename);file=await(0,import_promises13.open)(this.filename,"a",this.options.mode)}this.file=file;this.size=size2;this.interval();this.emit("open",this.filename)}async reclose(){const{file}=this;if(!file)return;delete this.file;return file.close()}now(){return new Date}async rotate(){const{immutable,rotate}=this.options;this.size=0;this.rotation=this.now();this.clear();this.emit("rotation");await this.reclose();if(rotate)return this.classical();if(immutable)return this.immutate(false);return this.move()}async findName(){const{interval,path:path27,intervalBoundary}=this.options;for(let index=1;index<1e3;++index){const filename=path27+this.generator(interval&&intervalBoundary?new Date(this.prev):this.rotation,index);if(!await exists(filename))return filename}throw new RotatingFileStreamError}async move(){const{compress}=this.options;const filename=await this.findName();await this.touch(filename);if(compress)await this.compress(filename);else await(0,import_promises13.rename)(this.filename,filename);return this.rotated(filename)}async touch(filename){let file;try{file=await this.fsOpen(filename,"a")}catch(e){if(e.code!=="ENOENT")throw e;await this.makePath(filename);file=await(0,import_promises13.open)(filename,"a")}await file.close();return this.unlink(filename)}async classical(){const{compress,path:path27,rotate}=this.options;let rotatedName="";for(let count=rotate;count>0;--count){const currName=path27+this.generator(count);const prevName=count===1?this.filename:path27+this.generator(count-1);if(!await exists(prevName))continue;if(!rotatedName)rotatedName=currName;if(count===1&&compress)await this.compress(currName);else{try{await(0,import_promises13.rename)(prevName,currName)}catch(e){if(e.code!=="ENOENT")throw e;await this.makePath(currName);await(0,import_promises13.rename)(prevName,currName)}}}return this.rotated(rotatedName)}clear(){if(this.timeout){clearTimeout(this.timeout);this.timeout=null}return true}intervalBoundsBig(now3){const year=this.options.intervalUTC?now3.getUTCFullYear():now3.getFullYear();let month=this.options.intervalUTC?now3.getUTCMonth():now3.getMonth();let day=this.options.intervalUTC?now3.getUTCDate():now3.getDate();let hours=this.options.intervalUTC?now3.getUTCHours():now3.getHours();const{num,unit}=this.options.interval;if(unit==="M"){day=1;hours=0}else if(unit==="d")hours=0;else hours=parseInt(hours/num,10)*num;this.prev=new Date(year,month,day,hours,0,0,0).getTime();if(unit==="M")month+=num;else if(unit==="d")day+=num;else hours+=num;this.next=new Date(year,month,day,hours,0,0,0).getTime()}intervalBounds(now3){const unit=this.options.interval.unit;if(unit==="M"||unit==="d"||unit==="h")this.intervalBoundsBig(now3);else{let period=1e3*this.options.interval.num;if(unit==="m")period*=60;this.prev=parseInt(now3.getTime()/period,10)*period;this.next=this.prev+period}return new Date(this.prev)}interval(){if(!this.options.interval)return;this.intervalBounds(this.now());const set3=async()=>{const time=this.next-this.now().getTime();if(time<=0){try{this.timeoutPromise=this.rotate();await this.timeoutPromise;delete this.timeoutPromise}catch(e){}}else{this.timeout=(0,import_timers.setTimeout)(set3,time>this.maxTimeout?this.maxTimeout:time);this.timeout.unref()}};set3()}async compress(filename){const{compress}=this.options;if(typeof compress==="function"){await new Promise((resolve,reject2)=>{this.exec(compress(this.filename,filename),(error,stdout,stderr)=>{this.emit("external",stdout,stderr);error?reject2(error):resolve()})})}else await this.gzip(filename);return this.unlink(this.filename)}async gzip(filename){const{mode:mode2}=this.options;const options=mode2?{mode:mode2}:{};const inp=this.fsCreateReadStream(this.filename,{});const out=this.fsCreateWriteStream(filename,options);const zip2=this.createGzip();return new Promise((resolve,reject2)=>{[inp,out,zip2].map(stream3=>stream3.once("error",reject2));out.once("finish",resolve);inp.pipe(zip2).pipe(out)})}async rotated(filename){const{maxFiles,maxSize}=this.options;if(maxFiles||maxSize)await this.history(filename);this.emit("rotated",filename);return this.reopen(0)}async history(filename){const{history,maxFiles,maxSize}=this.options;const res=[];let files=[filename];try{const content=await this.fsReadFile(history,"utf8");files=[...content.toString().split("\n"),filename]}catch(e){if(e.code!=="ENOENT")throw e}for(const file of files){if(file){try{const stats=await this.fsStat(file);if(stats.isFile()){res.push({name:file,size:stats.size,time:stats.mtime.getTime()})}else this.emit("warning",new Error(`File '${file}' contained in history is not a regular file`))}catch(e){if(e.code!=="ENOENT")throw e}}}res.sort((a,b)=>a.time-b.time);if(maxFiles){while(res.length>maxFiles){const file=res.shift();await this.unlink(file.name);this.emit("removed",file.name,true)}}if(maxSize){while(res.reduce((size2,file)=>size2+file.size,0)>maxSize){const file=res.shift();await this.unlink(file.name);this.emit("removed",file.name,false)}}await(0,import_promises13.writeFile)(history,res.map(e=>e.name).join("\n")+"\n","utf-8");this.emit("history")}async immutate(first){const{size:size2}=this.options;const now3=this.now();for(let index=1;index<1e3;++index){let fileSize=0;let stats=void 0;this.filename=this.options.path+this.generator(now3,index);try{stats=await this.fsStat(this.filename)}catch(e){if(e.code!=="ENOENT")throw e}if(stats){fileSize=stats.size;if(!stats.isFile())throw new Error(`Can't write on: '${this.filename}' (it is not a file)`);if(size2&&fileSize>=size2)continue}if(first){this.last=this.filename;return this.reopen(fileSize)}await this.rotated(this.last);this.last=this.filename;return}throw new RotatingFileStreamError}async unlink(filename){try{await this.fsUnlink(filename)}catch(e){if(e.code!=="ENOENT")throw e;this.emit("warning",e)}}};function buildNumberCheck(field){return(type2,options,value)=>{const converted=parseInt(value,10);if(type2!=="number"||converted!==value||converted<=0)throw new Error(`'${field}' option must be a positive integer number`)}}function buildStringCheck(field,check){return(type2,options,value)=>{if(type2!=="string")throw new Error(`Don't know how to handle 'options.${field}' type: ${type2}`);options[field]=check(value)}}function checkMeasure(value,what,units){const ret={};ret.num=parseInt(value,10);if(isNaN(ret.num))throw new Error(`Unknown 'options.${what}' format: ${value}`);if(ret.num<=0)throw new Error(`A positive integer number is expected for 'options.${what}'`);ret.unit=value.replace(/^[ 0]*/g,"").substr((ret.num+"").length,1);if(ret.unit.length===0)throw new Error(`Missing unit for 'options.${what}'`);if(!units[ret.unit])throw new Error(`Unknown 'options.${what}' unit: ${ret.unit}`);return ret}var intervalUnits={M:true,d:true,h:true,m:true,s:true};function checkIntervalUnit(ret,unit,amount){if(parseInt(amount/ret.num,10)*ret.num!==amount)throw new Error(`An integer divider of ${amount} is expected as ${unit} for 'options.interval'`)}function checkInterval(value){const ret=checkMeasure(value,"interval",intervalUnits);switch(ret.unit){case"h":checkIntervalUnit(ret,"hours",24);break;case"m":checkIntervalUnit(ret,"minutes",60);break;case"s":checkIntervalUnit(ret,"seconds",60);break}return ret}var sizeUnits={B:true,G:true,K:true,M:true};function checkSize(value){const ret=checkMeasure(value,"size",sizeUnits);if(ret.unit==="K")return ret.num*1024;if(ret.unit==="M")return ret.num*1048576;if(ret.unit==="G")return ret.num*1073741824;return ret.num}var checks={encoding:(type2,options,value)=>new import_util4.TextDecoder(value),immutable:()=>{},initialRotation:()=>{},interval:buildStringCheck("interval",checkInterval),intervalBoundary:()=>{},intervalUTC:()=>{},maxFiles:buildNumberCheck("maxFiles"),maxSize:buildStringCheck("maxSize",checkSize),mode:()=>{},omitExtension:()=>{},rotate:buildNumberCheck("rotate"),size:buildStringCheck("size",checkSize),teeToStdout:()=>{},...{compress:(type2,options,value)=>{if(!value)throw new Error("A value for 'options.compress' must be specified");if(type2==="boolean")return options.compress=(source,dest)=>`cat ${source} | gzip -c9 > ${dest}`;if(type2==="function")return;if(type2!=="string")throw new Error(`Don't know how to handle 'options.compress' type: ${type2}`);if(value!=="gzip")throw new Error(`Don't know how to handle compression method: ${value}`)},history:type2=>{if(type2!=="string")throw new Error(`Don't know how to handle 'options.history' type: ${type2}`)},path:(type2,options,value)=>{if(type2!=="string")throw new Error(`Don't know how to handle 'options.path' type: ${type2}`);if(value[value.length-1]!==import_path2.sep)options.path=value+import_path2.sep}}};function checkOpts(options){const ret={};let opt;for(opt in options){const value=options[opt];const type2=typeof value;if(!(opt in checks))throw new Error(`Unknown option: ${opt}`);ret[opt]=options[opt];checks[opt](type2,ret,value)}if(!ret.path)ret.path="";if(!ret.interval){delete ret.immutable;delete ret.initialRotation;delete ret.intervalBoundary;delete ret.intervalUTC}if(ret.rotate){delete ret.history;delete ret.immutable;delete ret.maxFiles;delete ret.maxSize;delete ret.intervalBoundary;delete ret.intervalUTC}if(ret.immutable)delete ret.compress;if(!ret.intervalBoundary)delete ret.initialRotation;return ret}function createClassical(filename,compress,omitExtension){return index=>index?`${filename}.${index}${compress&&!omitExtension?".gz":""}`:filename}function createGenerator(filename,compress,omitExtension){const pad4=num=>(num>9?"":"0")+num;return(time,index)=>{if(!time)return filename;const month=time.getFullYear()+""+pad4(time.getMonth()+1);const day=pad4(time.getDate());const hour=pad4(time.getHours());const minute=pad4(time.getMinutes());return month+day+"-"+hour+minute+"-"+pad4(index)+"-"+filename+(compress&&!omitExtension?".gz":"")}}function createStream(filename,options){if(typeof options==="undefined")options={};else if(typeof options!=="object")throw new Error(`The "options" argument must be of type object. Received type ${typeof options}`);const opts=checkOpts(options);const{compress,omitExtension}=opts;let generator;if(typeof filename==="string")generator=options.rotate?createClassical(filename,compress!==void 0,omitExtension):createGenerator(filename,compress!==void 0,omitExtension);else if(typeof filename==="function")generator=filename;else throw new Error(`The "filename" argument must be one of type string or function. Received type ${typeof filename}`);return new RotatingFileStream(generator,opts)}var modulename22="Logger:Base";var console33=console_default(modulename22);var LoggerBase=class{constructor(basePath2,logName,lrDefaultOptions,lrProfileConfig=false){this.lrErrors=0;if(!basePath2||!logName)throw new Error("Missing constructor parameters");this.basePath=basePath2;this.activeFilePath=import_node_path12.default.join(basePath2,`${logName}.log`);this.logNameRegex=new RegExp(`^${logName}(_\\d{4}-\\d{2}-\\d{2}_\\d{2}-\\d{2}-\\d{2}(_\\d+)?)?.log$`);if(lrProfileConfig===false){console33.warn("persistent logging disabled for:",logName);this.lrStream={write:()=>{}};return}const lrOptions=cloneDeep_default(lrProfileConfig);if(typeof lrProfileConfig==="object"){defaultsDeep_default(lrOptions,lrDefaultOptions)}const filenameGenerator=(time,index)=>{return time?`${logName}_${getTimeFilename(time)}_${index}.log`:`${logName}.log`};this.lrStream=createStream(filenameGenerator,lrOptions);this.lrStream.on("rotated",filename=>{this.lrStream.write(getLogDivider("Log Rotated"));console33.verbose.log(`Rotated file ${filename}`)});this.lrStream.on("error",error=>{if(error.code!=="ERR_STREAM_DESTROYED"){console33.verbose.error(error,logName);this.lrErrors++;this.lrLastError=error.message}})}listLogFiles(){return getLogSizes(this.basePath,this.logNameRegex)}getLogFile(fileName){if(!this.logNameRegex.test(fileName))throw new Error("fileName doesn't match regex");return import_node_fs8.default.createReadStream(import_node_path12.default.join(this.basePath,fileName))}};var modulename23="Logger:Admin";var console34=console_default(modulename23);var AdminLogger=class extends LoggerBase{constructor(basePath2,lrProfileConfig){const lrDefaultOptions={path:basePath2,intervalBoundary:true,initialRotation:true,history:"admin.history",interval:"7d"};super(basePath2,"admin",lrDefaultOptions,lrProfileConfig);this.lrStream.write(getBootDivider());this.writeCounter=0}getUsageStats(){return{writes:this.writeCounter,lrErrors:this.lrErrors}}async getRecentBuffer(){try{return await import_promises14.default.readFile(import_node_path13.default.join(this.basePath,"admin.log"),"utf8")}catch(error){return false}}writeSystem(author,message3){const timestamp2=getTimeHms();this.lrStream.write(`[${timestamp2}][${author}] ${message3}
`);this.writeCounter++}write(author,action,type2="default"){let saveMsg;const prefix=`[${author}]`;if(type2==="command"){saveMsg=`executed "${action}"`;console34.log(prefix,`executed `+chalkInversePad(action))}else{saveMsg=action;console34.log(prefix,saveMsg)}this.writeSystem(author,saveMsg)}};var import_bytes3=__toESM(require_bytes(),1);var splitFirstLine=str2=>{const firstEolIndex=str2.indexOf("\n");if(firstEolIndex===-1){return{first:str2,rest:void 0,eol:false}}const isEolCrLf=firstEolIndex>0&&str2[firstEolIndex-1]==="\r";const foundEolLength=isEolCrLf?2:1;const firstEolAtEnd=firstEolIndex===str2.length-foundEolLength;if(firstEolAtEnd){return{first:str2,rest:void 0,eol:true}}const first=str2.substring(0,firstEolIndex+foundEolLength);const rest2=str2.substring(firstEolIndex+foundEolLength);const eol=rest2[rest2.length-1]==="\n";return{first,rest:rest2,eol}};var stripLastEol=str2=>{if(str2.endsWith("\r\n")){return{str:str2.slice(0,-2),eol:"\r\n"}}else if(str2.endsWith("\n")){return{str:str2.slice(0,-1),eol:"\n"}}return{str:str2,eol:""}};var prefixMultiline=(str2,prefix)=>{if(str2.length===0||str2==="\n")return"";let newlineIndex=str2.indexOf("\n");if(newlineIndex===-1||newlineIndex===str2.length-1){return prefix+str2}let result2=prefix;let start=0;while(newlineIndex!==-1&&newlineIndex!==str2.length-1){result2+=str2.substring(start,newlineIndex+1)+prefix;start=newlineIndex+1;newlineIndex=str2.indexOf("\n",start)}return result2+str2.substring(start)};var chalkToStr=color=>color("\0").split("\0")[0];var precalcMarkerAdminCmd=chalkToStr(source_default.bgAnsi256(180).black);var precalcMarkerSystemCmd=chalkToStr(source_default.bgAnsi256(237).ansi256(252));var precalcMarkerInfo=chalkToStr(source_default.bgBlueBright.black);var ANSI_RESET="\x1B[0m";var ANSI_ERASE_LINE="\x1B[K";var STYLES={[ConsoleLineEnum_default.StdOut]:null,[ConsoleLineEnum_default.StdErr]:{web:{prefix:source_default.bgRedBright.bold.black,line:source_default.bold.redBright},stdout:{prefix:source_default.bgRedBright.bold.black,line:source_default.bold.redBright}},[ConsoleLineEnum_default.MarkerAdminCmd]:{web:{prefix:source_default.bold,line:x=>`${precalcMarkerAdminCmd}${x}${ANSI_ERASE_LINE}${ANSI_RESET}`},stdout:false},[ConsoleLineEnum_default.MarkerSystemCmd]:{web:{prefix:source_default.bold,line:x=>`${precalcMarkerSystemCmd}${x}${ANSI_ERASE_LINE}${ANSI_RESET}`},stdout:false},[ConsoleLineEnum_default.MarkerInfo]:{web:{prefix:source_default.bold,line:x=>`${precalcMarkerInfo}${x}${ANSI_ERASE_LINE}${ANSI_RESET}`},stdout:{prefix:source_default.bgBlueBright.black,line:source_default.bgBlueBright.black}}};var FORCED_EOL="↩\n";var prefixChar="║";var getConsoleLinePrefix=prefix=>prefixChar+prefix.padStart(20," ")+prefixChar;var colorLines=(str2,color)=>{if(!color)return str2;const stripped=stripLastEol(str2);return color(stripped.str)+stripped.eol};var ConsoleTransformer=class{constructor(){this.lastEol=true;this.lastSrc="0:undefined";this.lastMarkerTs=0;this.STYLES=STYLES;this.PREFIX_SYSTEM=getConsoleLinePrefix("TXADMIN");this.PREFIX_STDERR=getConsoleLinePrefix("STDERR")}process(type2,data,context){if(!data.length)return{webBuffer:"",stdoutBuffer:"",fileBuffer:""};const src=`${type2}:${context}`;if(data==="\n"||data==="\r\n"){this.lastEol=true;this.lastSrc=src;return{webBuffer:"\n",stdoutBuffer:"\n",fileBuffer:"\n"}}let webBuffer="";let stdoutBuffer="";let fileBuffer="";if(!this.lastEol){if(src!==this.lastSrc){webBuffer+=FORCED_EOL;stdoutBuffer+=FORCED_EOL;fileBuffer+=FORCED_EOL;const prefixed2=this.prefixChunk(type2,data,context);webBuffer+=this.getTimeMarker()+prefixed2.webBuffer;stdoutBuffer+=prefixed2.stdoutBuffer;fileBuffer+=prefixed2.fileBuffer;this.lastEol=data[data.length-1]==="\n";this.lastSrc=src;return{webBuffer,stdoutBuffer,fileBuffer}}const parts=splitFirstLine(data);fileBuffer+=parts.first;const style=this.STYLES[type2];if(style===null){webBuffer+=parts.first;stdoutBuffer+=parts.first}else{webBuffer+=colorLines(parts.first,style.web.line);stdoutBuffer+=style.stdout?colorLines(parts.first,style.stdout.line):""}if(parts.rest){const prefixed2=this.prefixChunk(type2,parts.rest,context);webBuffer+=this.getTimeMarker()+prefixed2.webBuffer;stdoutBuffer+=prefixed2.stdoutBuffer;fileBuffer+=prefixed2.fileBuffer}this.lastEol=parts.eol;return{webBuffer,stdoutBuffer,fileBuffer}}const prefixed=this.prefixChunk(type2,data,context);webBuffer+=this.getTimeMarker()+prefixed.webBuffer;stdoutBuffer+=prefixed.stdoutBuffer;fileBuffer+=prefixed.fileBuffer;this.lastEol=data[data.length-1]==="\n";this.lastSrc=src;return{webBuffer,stdoutBuffer,fileBuffer}}getTimeMarker(){const currMarkerTs=Math.floor(Date.now()/1e3);if(currMarkerTs!==this.lastMarkerTs){this.lastMarkerTs=currMarkerTs;return`{§${currMarkerTs.toString(16)}}`}return""}prefixChunk(type2,chunk2,context){const style=this.STYLES[type2];if(style===null){return{webBuffer:chunk2,stdoutBuffer:chunk2,fileBuffer:chunk2}}let prefix="";if(type2===ConsoleLineEnum_default.StdErr){prefix=this.PREFIX_STDERR}else if(type2===ConsoleLineEnum_default.MarkerAdminCmd){prefix=getConsoleLinePrefix(context??"?")}else if(type2===ConsoleLineEnum_default.MarkerSystemCmd){prefix=this.PREFIX_SYSTEM}else if(type2===ConsoleLineEnum_default.MarkerInfo){prefix=this.PREFIX_SYSTEM}const webPrefix=style.web.prefix?style.web.prefix(prefix):prefix;const webBuffer=colorLines(prefixMultiline(chunk2,webPrefix+" "),style.web.line);let stdoutBuffer="";if(style.stdout){const stdoutPrefix=style.stdout.prefix?style.stdout.prefix(prefix):prefix;stdoutBuffer=colorLines(prefixMultiline(chunk2,stdoutPrefix+" "),style.stdout.line)}const fileBuffer=prefixMultiline(chunk2,prefix+" ");return{webBuffer,stdoutBuffer,fileBuffer}}};var modulename24="Logger:FXServer";var console35=console_default(modulename24);var regexControls=/[\x00-\x08\x0B-\x1A\x1C-\x1F\x7F]|(?:\x1B\[|\x9B)[\d;]+[@-K]/g;var regexColors=/\x1B[^m]*?m/g;var FXServerLogger=class extends LoggerBase{constructor(basePath2,lrProfileConfig){const lrDefaultOptions={path:basePath2,intervalBoundary:true,initialRotation:true,history:"fxserver.history",interval:"1d",maxFiles:7,maxSize:"5G"};super(basePath2,"fxserver",lrDefaultOptions,lrProfileConfig);this.transformer=new ConsoleTransformer;this.fileBuffer="";this.recentBuffer="";this.recentBufferMaxSize=256*1024;this.recentBufferTrimSliceSize=32*1024;setInterval(()=>{this.flushFileBuffer()},5e3)}getUsageStats(){return{buffer:(0,import_bytes3.default)(this.recentBuffer.length),lrErrors:this.lrErrors}}getRecentBuffer(){return this.recentBuffer}flushFileBuffer(){this.lrStream.write(this.fileBuffer.replace(regexColors,""));this.fileBuffer=""}ingest(type2,data,context){const{webBuffer,stdoutBuffer,fileBuffer}=this.transformer.process(type2,data,context);this.fileBuffer+=fileBuffer;if(!txConfig.server.quiet&&!txHostConfig.forceQuietMode){processStdioWriteRaw(stdoutBuffer)}txCore.webServer.webSocket.buffer("liveconsole",webBuffer);this.appendRecent(webBuffer)}logInformational(msg){this.ingest(ConsoleLineEnum_default.MarkerInfo,msg+"\n")}logFxserverSpawn(pid){if(this.recentBuffer.length){const lineBreak=this.transformer.lastEol?"\n":"\n\n";this.ingest(ConsoleLineEnum_default.MarkerInfo,lineBreak)}const multiline=getLogDivider(`[${pid}] FXServer Starting`);for(const line of multiline.split("\n")){if(!line.length)break;this.ingest(ConsoleLineEnum_default.MarkerInfo,line+"\n")}}logAdminCommand(author,cmd){this.ingest(ConsoleLineEnum_default.MarkerAdminCmd,cmd+"\n",author)}logSystemCommand(cmd){if(cmd.startsWith('txaEvent "consoleCommand"'))return;this.ingest(ConsoleLineEnum_default.MarkerSystemCmd,cmd+"\n")}writeFxsOutput(source,data){if(typeof data!=="string"){data=data.toString()}this.ingest(source,data.replace(regexControls,""))}appendRecent(data){this.recentBuffer+=data;if(this.recentBuffer.length>this.recentBufferMaxSize){this.recentBuffer=this.recentBuffer.slice(this.recentBufferTrimSliceSize-this.recentBufferMaxSize);this.recentBuffer=this.recentBuffer.substring(this.recentBuffer.indexOf("\n"))}}};var import_node_util5=require("node:util");var import_circular_buffer=__toESM(require_circular_buffer(),1);var MultipleCounter=class _MultipleCounter extends Map{constructor(initialData,locked=false){let initialDataIterable;if(initialData!==void 0&&initialData!==null||typeof initialData==="object"){if(Array.isArray(initialData)){initialDataIterable=initialData}else{initialDataIterable=Object.entries(initialData);if(initialDataIterable.some(([k,v])=>typeof k!=="string"||typeof v!=="number")){throw new Error(`Initial data must be an object with only integer values.`)}}}super(initialDataIterable??initialData);this.locked=locked;this._clear=super.clear}clear(){if(this.locked)throw new Error(`This MultipleCounter is locked to modifications.`);this._clear()}sum(){return[...this.values()].reduce((a,b)=>a+b,0)}count(key,val=1){if(this.locked)throw new Error(`This MultipleCounter is locked to modifications.`);const currentValue=this.get(key);if(currentValue!==void 0){const newVal=currentValue+val;this.set(key,newVal);return newVal}else{this.set(key,val);return val}}merge(newData){if(this.locked)throw new Error(`This MultipleCounter is locked to modifications.`);let iterable;if(newData instanceof _MultipleCounter||Array.isArray(newData)){iterable=newData}else if(typeof newData==="object"&&newData!==null){iterable=Object.entries(newData)}else{throw new Error(`Invalid data type for merge`)}for(const[key,value]of iterable){this.count(key,value)}}toSortedKeysArray(desc){return[...this.entries()].sort((a,b)=>desc?b[0].localeCompare(a[0]):a[0].localeCompare(b[0]))}toSortedValuesArray(desc){return[...this.entries()].sort((a,b)=>desc?b[1]-a[1]:a[1]-b[1])}toSortedKeyObject(desc){return Object.fromEntries(this.toSortedKeysArray(desc))}toSortedValuesObject(desc){return Object.fromEntries(this.toSortedValuesArray(desc))}toArray(){return[...this]}toJSON(){return Object.fromEntries(this)}[import_node_util5.inspect.custom](){return this.toSortedKeyObject()}};var QuantileArray=class{#cache;#minSize;constructor(sizeLimit,minSize=1){if(typeof sizeLimit!=="number"||!Number.isInteger(sizeLimit)||sizeLimit<1){throw new Error(`sizeLimit must be a positive integer over 1.`)}if(typeof minSize!=="number"||!Number.isInteger(minSize)||minSize<1){throw new Error(`minSize must be a positive integer or one.`)}this.#cache=new import_circular_buffer.default(Array,sizeLimit);this.#minSize=minSize}clear(){this.#cache.clear()}count(value){if(typeof value!=="number")throw new Error(`value must be a number`);this.#cache.push(value)}result(round2=false){if(this.#cache.size<this.#minSize){return{enoughData:false}}else{const p5=quantile(this.#cache.values(),.05);const p25=quantile(this.#cache.values(),.25);const p50=quantile(this.#cache.values(),.5);const p75=quantile(this.#cache.values(),.75);const p95=quantile(this.#cache.values(),.95);return{enoughData:true,count:this.#cache.size,p5:round2?Math.round(p5):p5,p25:round2?Math.round(p25):p25,p50:round2?Math.round(p50):p50,p75:round2?Math.round(p75):p75,p95:round2?Math.round(p95):p95}}}resultSummary(unit=""){const result2=this.result();if(!result2.enoughData){return{...result2,summary:"not enough data available"}}const percentiles=Object.entries(result2).filter(el=>el[0].startsWith("p")).map(([key,val])=>`${key}:${Math.ceil(val)}${unit}`);return{...result2,summary:percentiles.join("/")+` (x${this.#cache.size})`}}toJSON(){return this.result(false)}[import_node_util5.inspect.custom](){return this.result(true)}};var TimeCounter=class{#timeStart;#timeEnd;constructor(){this.#timeStart=process.hrtime.bigint()}stop(){this.#timeEnd=process.hrtime.bigint();const nanoseconds=this.#timeEnd-this.#timeStart;const asNumber=Number(nanoseconds);this.duration={nanoseconds:asNumber,seconds:asNumber/1e9,milliseconds:asNumber/1e6};return this.duration}toJSON(){return this.duration}[import_node_util5.inspect.custom](){return this.toJSON()}};var estimateArrayJsonSize=(srcArray,minLength)=>{if(srcArray.length<=minLength){return{enoughData:false}}const sourceArrayLength=srcArray.length;const sampleSize2=Math.min(1e3,Math.max(100,Math.floor(sourceArrayLength*.1)));const sampleArray=[];for(let i=0;i<sampleSize2;i++){const randomIndex=Math.floor(Math.random()*sourceArrayLength);sampleArray.push(srcArray[randomIndex])}const jsonString=JSON.stringify(sampleArray);const sampleSizeBytes=Buffer.byteLength(jsonString,"utf-8");const estimatedTotalBytes=sampleSizeBytes/sampleSize2*sourceArrayLength;const bytesPerElement=estimatedTotalBytes/sourceArrayLength;return{enoughData:true,bytesTotal:Math.round(estimatedTotalBytes),bytesPerElement:Math.ceil(bytesPerElement)}};var import_bytes4=__toESM(require_bytes(),1);var modulename25="Logger:Server";var console36=console_default(modulename25);var ServerLogger=class extends LoggerBase{constructor(basePath2,lrProfileConfig){const lrDefaultOptions={path:basePath2,intervalBoundary:true,initialRotation:true,history:"server.history",interval:"1d",maxFiles:7,maxSize:"10G"};super(basePath2,"server",lrDefaultOptions,lrProfileConfig);this.lrStream.write(getBootDivider());this.recentBuffer=[];this.recentBufferMaxSize=32e3;this.eventsPerMinute=new QuantileArray(24*60,6*60);this.eventsThisMinute=0;setInterval(()=>{this.eventsPerMinute.count(this.eventsThisMinute);this.eventsThisMinute=0},6e4)}getUsageStats(){const eventsPerMinRes=this.eventsPerMinute.resultSummary();const eventsPerMinStr=eventsPerMinRes.enoughData?eventsPerMinRes.summary:"LowCount";const bufferJsonSizeRes=estimateArrayJsonSize(this.recentBuffer,4e3);const bufferJsonSizeStr=bufferJsonSizeRes.enoughData?`${(0,import_bytes4.default)(bufferJsonSizeRes.bytesPerElement)}/e`:"LowCount";return{buffer:this.recentBuffer.length,lrErrors:this.lrErrors,mem:bufferJsonSizeStr,rate:eventsPerMinStr}}getRecentBuffer(lastN=void 0){return lastN?this.recentBuffer.slice(-lastN):this.recentBuffer}write(data,mutex){if(!Array.isArray(data)){console36.verbose.warn(`write() expected array, got ${typeof data}`);return false}mutex??=txCore.fxRunner.child.mutex??"UNKNW";for(let i=0;i<data.length;i++){try{const{eventObject,eventString}=this.processEvent(data[i],mutex);if(!eventObject||!eventString){console36.verbose.warn("Failed to parse event:");console36.verbose.dir(data[i]);continue}this.eventsThisMinute++;this.recentBuffer.push(eventObject);if(this.recentBuffer.length>this.recentBufferMaxSize)this.recentBuffer.shift();txCore.webServer.webSocket.buffer("serverlog",eventObject);this.lrStream.write(`${eventString}
`)}catch(error){console36.verbose.error("Error processing FD3 txAdminLogData:");console36.verbose.dir(error)}}}processEvent(eventData,mutex){var _a12,_b2,_c;let srcObject;let srcString;if(eventData.src==="tx"){srcObject={id:false,name:"txAdmin"};srcString="txAdmin"}else if(typeof eventData.src==="number"&&eventData.src>0){const player=txCore.fxPlayerlist.getPlayerById(eventData.src);if(player){const playerID=`${mutex}#${eventData.src}`;srcObject={id:playerID,name:player.displayName};srcString=`[${playerID}] ${player.displayName}`}else{srcObject={id:false,name:"UNKNOWN PLAYER"};srcString="UNKNOWN PLAYER";console36.verbose.warn("Unknown numeric event source from object:");console36.verbose.dir(eventData)}}else{srcObject={id:false,name:"UNKNOWN"};srcString="UNKNOWN"}let eventMessage;if(eventData.type==="playerJoining"){const idsString=summarizeIdsArray((_a12=eventData==null?void 0:eventData.data)==null?void 0:_a12.ids);eventMessage=`joined with identifiers ${idsString}`}else if(eventData.type==="playerDropped"){const reason=eventData.data.reason||"UNKNOWN REASON";eventMessage=`disconnected (${reason})`}else if(eventData.type==="playerJoinDenied"){const reason=eventData.data.reason??"UNKNOWN REASON";eventMessage=`player join denied due to ${reason}`}else if(eventData.type==="ChatMessage"){const text=typeof eventData.data.text==="string"?eventData.data.text.replace(/\^([0-9])/g,""):"unknown message";eventMessage=typeof eventData.data.author==="string"&&eventData.data.author!==srcObject.name?`(${eventData.data.author}): said "${text}"`:`said "${text}"`}else if(eventData.type==="DeathNotice"){const cause=eventData.data.cause||"unknown";if(typeof eventData.data.killer==="number"&&eventData.data.killer>0){const killer=txCore.fxPlayerlist.getPlayerById(eventData.data.killer);if(killer){eventMessage=`died from ${cause} by ${killer.displayName}`}else{eventMessage=`died from ${cause} by unknown killer`}}else{eventMessage=`died from ${cause}`}}else if(eventData.type==="explosionEvent"){const expType=eventData.data.explosionType||"UNKNOWN";eventMessage=`caused an explosion (${expType})`}else if(eventData.type==="CommandExecuted"){const command=eventData.data||"unknown";eventMessage=`executed: /${command}`}else if(eventData.type==="LoggerStarted"){eventMessage="Logger started";txCore.metrics.playerDrop.handleServerBootData(eventData.data);if(typeof((_b2=eventData.data)==null?void 0:_b2.gameName)==="string"&&eventData.data.gameName.length){if(eventData.data.gameName==="gta5"){txCore.cacheStore.set("fxsRuntime:gameName","fivem")}else if(eventData.data.gameName==="rdr3"){txCore.cacheStore.set("fxsRuntime:gameName","redm")}else{txCore.cacheStore.delete("fxsRuntime:gameName")}}}else if(eventData.type==="DebugMessage"){eventMessage=typeof eventData.data==="string"?`Debug Message: ${eventData.data}`:"Debug Message: unknown"}else if(eventData.type==="MenuEvent"){txCore.metrics.txRuntime.menuCommands.count(((_c=eventData.data)==null?void 0:_c.action)??"unknown");eventMessage=typeof eventData.data.message==="string"?`${eventData.data.message}`:"did unknown action"}else{console36.verbose.warn(`Unrecognized event: ${eventData.type}`);console36.verbose.dir(eventData);eventMessage=eventData.type}const localeTime=new Date(eventData.ts).toLocaleTimeString();eventMessage=eventMessage.replace(/\n/g,"	");return{eventObject:{ts:eventData.ts,type:eventData.type,src:srcObject,msg:eventMessage},eventString:`[${localeTime}] ${srcString}: ${eventMessage}`}}readPartialNewer(timestamp2,sliceLength){const limitIndex=this.recentBuffer.findIndex(x=>x.ts>timestamp2);return this.recentBuffer.slice(limitIndex,limitIndex+sliceLength)}readPartialOlder(timestamp2,sliceLength){const limitIndex=this.recentBuffer.findIndex(x=>x.ts>=timestamp2);if(limitIndex===-1){return this.recentBuffer.slice(-sliceLength)}else{return this.recentBuffer.slice(Math.max(0,limitIndex-sliceLength),limitIndex)}}readFiltered(){throw new Error("Not yet implemented.")}};var modulename26="Logger";var console37=console_default(modulename26);var Logger=class{constructor(){this.basePath=`${txEnv.profilePath}/logs/`;this.admin=new AdminLogger(this.basePath,txConfig.logger.admin);this.fxserver=new FXServerLogger(this.basePath,txConfig.logger.fxserver);this.server=new ServerLogger(this.basePath,txConfig.logger.server)}getUsageStats(){throw new Error("Not yet implemented.")}async getStorageSize(){return await getLogSizes(this.basePath,/^(admin|fxserver|server)(_\d{4}-\d{2}-\d{2}_\d{2}-\d{2}-\d{2}(_\d+)?)?.log$/)}};var import_node_crypto4=__toESM(require("node:crypto"),1);var import_bytes5=__toESM(require_bytes(),1);var Stopwatch=class{constructor(autoStart2){this.autoStart=false;this.tsStart=null;if(autoStart2){this.autoStart=true;this.restart()}}reset(){if(this.autoStart){this.restart()}else{this.tsStart=null}}restart(){this.tsStart=Date.now()}isOver(secs){const elapsed=this.elapsed;if(elapsed===Infinity){return false}else{return elapsed>=secs}}get started(){return this.tsStart!==null}get elapsed(){if(this.tsStart===null){return Infinity}else{const elapsedMs=Date.now()-this.tsStart;return Math.floor(elapsedMs/1e3)}}get elapsedMs(){if(this.tsStart===null){return Infinity}else{return Date.now()-this.tsStart}}};var HealthEventMonitor=class{constructor(delayLimit,fatalLimit){this.delayLimit=delayLimit;this.fatalLimit=fatalLimit;this.swLastHealthyEvent=new Stopwatch}reset(){this.swLastHealthyEvent.reset();this.firstHealthyEvent=void 0}markHealthy(){this.swLastHealthyEvent.restart();this.firstHealthyEvent??=Date.now()}get status(){let state;if(!this.swLastHealthyEvent.started){state="PENDING"}else if(this.swLastHealthyEvent.isOver(this.fatalLimit)){state="FATAL"}else if(this.swLastHealthyEvent.isOver(this.delayLimit)){state="DELAYED"}else{state="HEALTHY"}return{state,secsSinceLast:this.swLastHealthyEvent.elapsed,secsSinceFirst:this.firstHealthyEvent?Math.floor((Date.now()-this.firstHealthyEvent)/1e3):Infinity}}};var getMonitorTimeTags=(heartBeat,healthCheck,processUptime)=>{const secs=s=>Number.isFinite(s)?secsToShortestDuration(s,{round:false}):"--";const procTime=secsToShortestDuration(processUptime);const hbTime=secs(heartBeat.secsSinceLast);const hcTime=secs(healthCheck.secsSinceLast);return{simple:`(HB:${hbTime}|HC:${hcTime})`,withProc:`(P:${procTime}|HB:${hbTime}|HC:${hcTime})`}};var cleanMonitorIssuesArray=issues=>{if(!issues||!Array.isArray(issues))return[];let cleanIssues=[];for(const issue of issues){if(!issue)continue;if(typeof issue==="string"){cleanIssues.push(issue)}else{cleanIssues.push(...issue.all.filter(Boolean))}}return cleanIssues};var MonitorIssue=class{constructor(title){this.title=title;this.infos=[];this.details=[]}setTitle(title){this.title=title}addInfo(info){if(!info)return;this.infos.push(info)}addDetail(detail){if(!detail)return;this.details.push(detail)}get all(){return[this.title,...this.infos,...this.details]}};var getRespDebugData=resp=>{var _a12,_b2,_c,_d,_e;if(!resp)return{error:"Response object is undefined."};try{let truncatedBody="[resp.body is not a string]";if(typeof(resp==null?void 0:resp.body)==="string"){const bodyCutoff=512;truncatedBody=resp.body.length>bodyCutoff?resp.body.slice(0,bodyCutoff)+"[...]":resp.body}return{URL:String(resp==null?void 0:resp.url),Status:`${resp==null?void 0:resp.statusCode} ${resp==null?void 0:resp.statusMessage}`,Server:String((_a12=resp==null?void 0:resp.headers)==null?void 0:_a12["server"]),Location:String((_b2=resp==null?void 0:resp.headers)==null?void 0:_b2["location"]),ContentType:String((_c=resp==null?void 0:resp.headers)==null?void 0:_c["content-type"]),ContentLength:String((_d=resp==null?void 0:resp.headers)==null?void 0:_d["content-length"]),BodyLength:(0,import_bytes5.default)((_e=resp==null?void 0:resp.body)==null?void 0:_e.length),Body:truncatedBody}}catch(error){return{error:`Error getting debug data: ${error.message}`}}};var fetchDynamicJson=async(netEndpoint,timeout)=>{let resp;try{resp=await got_default.get({url:`http://${netEndpoint}/dynamic.json`,maxRedirects:0,timeout:{request:timeout},retry:{limit:0},throwHttpErrors:false})}catch(error){let msg,code;if(error instanceof RequestError){msg=error.message;code=error.code}else if(error instanceof TimeoutError){msg=error.message;code=error.code}else{const err=error;msg=(err==null?void 0:err.message)??"";code=(err==null?void 0:err.code)??""}return{success:false,error:`HealthCheck Request error: ${msg}`,debugData:{message:msg,code,...getRespDebugData(resp)}}}const debugData=getRespDebugData(resp);if(resp.statusCode!==200){return{success:false,error:`HealthCheck HTTP status: ${debugData.Status}`,debugData}}if(typeof resp.body!=="string"){return{success:false,error:`HealthCheck response body is not a string.`,debugData}}if(!resp.body.length){return{success:false,error:`HealthCheck response body is empty.`,debugData}}if(resp.body.toLocaleLowerCase().includes("<html")){return{success:false,error:`HealthCheck response body is HTML instead of JSON.`,debugData}}let jsonData;try{jsonData=JSON.parse(resp.body)}catch(error){return{success:false,error:`HealthCheck response body is not valid JSON.`,debugData}}const schemaRes=dynamicJsonSchema.safeParse(jsonData);if(!schemaRes.success){return{success:false,error:fromZodError(schemaRes.error,{prefix:"HealthCheck JSON invalid data"}).message,debugData}}return{success:true,data:schemaRes.data}};var dynamicJsonSchema=z.object({clients:z.number().int().nonnegative(),sv_maxclients:z.coerce.number().int().positive().optional()});var fetchInfoJson=async netEndpoint=>{var _a12,_b2,_c,_d,_e,_f,_g,_h,_i,_j,_k,_l,_m;let info;try{info=await got_default.get({url:`http://${netEndpoint}/info.json`,maxRedirects:0,timeout:{request:15e3},retry:{limit:6}}).json()}catch(error){return}const schemas={icon:z.string().base64(),locale:z.string().nonempty(),projectName:z.string().nonempty(),projectDesc:z.string().nonempty(),bannerConnecting:z.string().url(),bannerDetail:z.string().url(),tags:z.string().nonempty()};return{icon:(_a12=schemas.icon.safeParse(info.icon))==null?void 0:_a12.data,locale:(_c=schemas.locale.safeParse((_b2=info.vars)==null?void 0:_b2.locale))==null?void 0:_c.data,projectName:(_e=schemas.projectName.safeParse((_d=info.vars)==null?void 0:_d.sv_projectName))==null?void 0:_e.data,projectDesc:(_g=schemas.projectDesc.safeParse((_f=info.vars)==null?void 0:_f.sv_projectDesc))==null?void 0:_g.data,bannerConnecting:(_i=schemas.bannerConnecting.safeParse((_h=info.vars)==null?void 0:_h.banner_connecting))==null?void 0:_i.data,bannerDetail:(_k=schemas.bannerDetail.safeParse((_j=info.vars)==null?void 0:_j.banner_detail))==null?void 0:_k.data,tags:(_m=schemas.tags.safeParse((_l=info.vars)==null?void 0:_l.tags))==null?void 0:_m.data}};var import_node_path14=__toESM(require("node:path"),1);var import_promises15=__toESM(require("node:fs/promises"),1);var setRuntimeFile=async(fileName,fileData)=>{const destRuntimePath=import_node_path14.default.resolve(txEnv.txaPath,".runtime");const destFilePath=import_node_path14.default.resolve(destRuntimePath,fileName);try{await import_promises15.default.mkdir(destRuntimePath,{recursive:true})}catch(error){console.error(`Failed to create .runtime folder: ${error.message}`);return false}if(fileData===null){try{await import_promises15.default.unlink(destFilePath)}catch(error){const msg=error.message??"Unknown error";if(!msg.includes("ENOENT")){console.error(`Failed to delete runtime file: ${msg}`);return false}}return true}try{await import_promises15.default.writeFile(destFilePath,fileData);return true}catch(error){console.error(`Failed to write runtime file: ${error.message}`)}return false};var modulename27="FxMonitor";var console38=console_default(modulename27);var HC_CONFIG={bootInitAfterHbLimit:45,delayLimit:10,fatalLimit:180,requestTimeout:1500,requestInterval:1e3};var HB_CONFIG={bootNoEventLimit:30,bootResEventGapLimit:45,bootResNominalStartTime:10,delayLimit:10,fatalLimit:60};var MAX_LOG_ENTRIES=300;var MIN_WARNING_INTERVAL=10;var LimitedArray=class extends Array{constructor(limit){super();this.limit=limit}push(...items){while(this.length+items.length>this.limit){this.shift()}return super.push(...items)}};var FxMonitor=class{constructor(){this.timers=[];this.statusLog=new LimitedArray(MAX_LOG_ENTRIES);this.currentStatus="OFFLINE";this.lastHealthCheckError=null;this.isAwaitingRestart=false;this.tsServerBooted=null;this.swLastStatusUpdate=new Stopwatch(false);this.swLastPartialHangRestartWarning=new Stopwatch(true);this.swLastStatusWarning=new Stopwatch(true);this.heartBeatMonitor=new HealthEventMonitor(HB_CONFIG.delayLimit,HB_CONFIG.fatalLimit);this.healthCheckMonitor=new HealthEventMonitor(HC_CONFIG.delayLimit,HC_CONFIG.fatalLimit);this.swLastFD3=new Stopwatch;this.swLastHTTP=new Stopwatch;this.timers.push(setInterval(()=>this.performHealthCheck(),HC_CONFIG.requestInterval));this.timers.push(setInterval(()=>this.updateStatus(),1e3))}setCurrentStatus(newStatus){if(newStatus===this.currentStatus)return;this.currentStatus=newStatus;txCore.discordBot.updateBotStatus().catch(e=>{});txCore.webServer.webSocket.pushRefresh("status")}resetState(){this.setCurrentStatus("OFFLINE");this.lastHealthCheckError=null;this.isAwaitingRestart=false;this.tsServerBooted=null;this.swLastStatusUpdate.reset();this.swLastStatusWarning.reset();this.swLastPartialHangRestartWarning.reset();this.heartBeatMonitor.reset();this.healthCheckMonitor.reset();this.swLastFD3.reset();this.swLastHTTP.reset()}updateStatus(){const result2=this.calculateMonitorStatus();const cleanIssues="issues"in result2?cleanMonitorIssuesArray(result2.issues):[];if(result2.reason.endsWith(".")){result2.reason=result2.reason.slice(0,-1)}const lastEntry=this.statusLog.at(-1);if(lastEntry&&lastEntry.action===result2.action&&lastEntry.reason===result2.reason){lastEntry.x=(lastEntry.x??1)+1;if("times"in lastEntry&&"times"in result2)lastEntry.times=result2.times;if("issues"in lastEntry&&cleanIssues.length)lastEntry.issues=cleanIssues}else{this.statusLog.push(result2)}if(result2.action!=="WARN"&&result2.action!=="RESTART")return;if(!result2.reason){console38.error("Missing reason in status update.");return}const styledIssues=cleanIssues.map(i=>source_default.dim("- "+i));if(result2.action==="WARN"){if(this.swLastStatusWarning.isOver(MIN_WARNING_INTERVAL)){this.swLastStatusWarning.restart();const timesPrefix=result2.times?`${result2.times} `:"";console38.warn(timesPrefix+result2.reason+".");for(const line of styledIssues){console38.warn(line)}}return}if(result2.action==="RESTART"){if(txCore.fxRunner.isIdle)return;const timesSuffix=result2.times?` ${result2.times}.`:".";const logMessage=`Restarting server: ${result2.reason}`+timesSuffix;console38.error(logMessage);txCore.logger.admin.writeSystem("MONITOR",logMessage);txCore.logger.fxserver.logInformational(logMessage);for(const line of styledIssues){txCore.logger.fxserver.logInformational(line);console38.error(line)}if(this.lastHealthCheckError){console38.verbose.debug("Last HealthCheck error debug data:");console38.verbose.dir(this.lastHealthCheckError.debugData);console38.verbose.debug("-".repeat(40))}this.resetState();this.isAwaitingRestart=true;txCore.fxRunner.restartServer(txCore.translator.t("restarter.server_unhealthy_kick_reason"),SYM_SYSTEM_AUTHOR);txCore.metrics.txRuntime.registerFxserverRestart(result2.cause)}}calculateMonitorStatus(){var _a12,_b2,_c,_d,_e;if(txCore.fxRunner.isIdle){this.resetState();return{action:"SKIP",reason:"Server is idle"}}if(this.isAwaitingRestart){return{action:"SKIP",reason:"Server is restarting"}}if(this.swLastStatusUpdate.isOver(10)){console38.error(`txAdmin was frozen for ${this.swLastStatusUpdate.elapsed-1} seconds for unknown reason (random issue, VPS Lag, DDoS, etc).`);this.swLastStatusUpdate.restart();return{action:"SKIP",reason:"txAdmin was frozen"}}this.swLastStatusUpdate.restart();const heartBeat=this.heartBeatMonitor.status;const healthCheck=this.healthCheckMonitor.status;const processUptime=Math.floor((((_a12=txCore.fxRunner.child)==null?void 0:_a12.uptime)??0)/1e3);const timeTags=getMonitorTimeTags(heartBeat,healthCheck,processUptime);const secs=s=>Number.isFinite(s)?secsToShortestDuration(s,{round:false}):"--";if(((_b2=txCore.fxRunner.child)==null?void 0:_b2.status)==="DESTROYED"){return{action:"RESTART",reason:"Server process close detected",cause:"close"}}if(heartBeat.state==="HEALTHY"&&healthCheck.state==="HEALTHY"){this.setCurrentStatus("ONLINE");if(!this.tsServerBooted){this.tsServerBooted=Date.now();this.handleBootCompleted(processUptime).catch(()=>{})}return{action:"SKIP",reason:"Server is healthy"}}const currentStatusString=heartBeat.state!=="HEALTHY"&&healthCheck.state!=="HEALTHY"?"OFFLINE":"PARTIAL";this.setCurrentStatus(currentStatusString);if(processUptime<txConfig.restarter.bootGracePeriod){return{action:"SKIP",reason:`FXServer is ${currentStatusString}, still in grace period of ${txConfig.restarter.bootGracePeriod}s.`}}let heartBeatIssue;let healthCheckIssue;if(healthCheck.state!=="HEALTHY"){healthCheckIssue=new MonitorIssue("Impossible HealthCheck failure.");healthCheckIssue.addDetail((_c=this.lastHealthCheckError)==null?void 0:_c.error);if(healthCheck.state==="PENDING"){healthCheckIssue.setTitle("No successful HealthCheck yet.");if(heartBeat.state!=="PENDING"){healthCheckIssue.addInfo(`Resources started ${secs(heartBeat.secsSinceFirst)} ago but the HTTP endpoint is still unresponsive.`);if(heartBeat.secsSinceFirst>HC_CONFIG.bootInitAfterHbLimit){return{action:"RESTART",times:timeTags.withProc,reason:"Server boot timed out",issues:[healthCheckIssue],cause:"bootTimeout"}}}}else if(healthCheck.state==="DELAYED"||healthCheck.state==="FATAL"){healthCheckIssue.setTitle(`HealthChecks failing for the past ${secs(healthCheck.secsSinceLast)}.`)}else{throw new Error(`Unexpected HealthCheck state: ${healthCheck.state}`)}}if(heartBeat.state!=="HEALTHY"){heartBeatIssue=new MonitorIssue("Impossible HeartBeat failure.");if(heartBeat.state==="PENDING"){heartBeatIssue.setTitle("No successful HeartBeat yet.");const resBoot=txCore.fxResources.bootStatus;if((_d=resBoot.current)==null?void 0:_d.time.isOver(txConfig.restarter.resourceStartingTolerance)){return{action:"RESTART",times:timeTags.withProc,reason:`Resource "${resBoot.current.name}" failed to start within the ${secs(txConfig.restarter.resourceStartingTolerance)} time limit`,cause:"bootTimeout"}}else if((_e=resBoot.current)==null?void 0:_e.time.isOver(HB_CONFIG.bootResNominalStartTime)){heartBeatIssue.addInfo(`Resource "${resBoot.current.name}" has been loading for ${secs(resBoot.current.time.elapsed)}.`)}else if(resBoot.current){heartBeatIssue.addInfo(`Resources are still booting at nominal time.`)}else{heartBeatIssue.addInfo(`No resource currently loading.`);if(resBoot.elapsedSinceLast===null){if(processUptime>HB_CONFIG.bootNoEventLimit){heartBeatIssue.addInfo(`No resource event received within the ${secs(HB_CONFIG.bootNoEventLimit)} limit.`);return{action:"RESTART",times:timeTags.withProc,reason:"Server boot timed out",issues:[heartBeatIssue],cause:"bootTimeout"}}else{heartBeatIssue.addInfo(`No resource event received yet.`)}}else{heartBeatIssue.addInfo(`Last resource finished loading ${secs(resBoot.elapsedSinceLast)} ago.`);if(resBoot.elapsedSinceLast>HB_CONFIG.bootResEventGapLimit){return{action:"RESTART",times:timeTags.withProc,reason:"Server boot timed out",issues:[heartBeatIssue],cause:"bootTimeout"}}}}}else if(heartBeat.state==="DELAYED"||heartBeat.state==="FATAL"){heartBeatIssue.setTitle(`Stopped receiving HeartBeats ${secs(heartBeat.secsSinceLast)} ago.`)}else{throw new Error(`Unexpected HeartBeat state: ${heartBeat.state}`)}}if(heartBeat.state==="FATAL"||healthCheck.state==="FATAL"){let cause;if(heartBeat.state==="FATAL"&&healthCheck.state==="FATAL"){cause="both"}else if(heartBeat.state==="FATAL"){cause="heartBeat"}else if(healthCheck.state==="FATAL"){cause="healthCheck"}else{throw new Error(`Unexpected fatal state: HB:${heartBeat.state} HC:${healthCheck.state}`)}return{action:"RESTART",cause,times:timeTags.simple,reason:"Server is not responding",issues:[heartBeatIssue,healthCheckIssue]}}if(heartBeat.state==="HEALTHY"&&this.swLastPartialHangRestartWarning.isOver(120)&&healthCheck.secsSinceLast>HC_CONFIG.fatalLimit-60){this.swLastPartialHangRestartWarning.restart();txCore.discordBot.sendAnnouncement({type:"danger",description:{key:"restarter.partial_hang_warn_discord",data:{servername:txConfig.general.serverName}}});txCore.fxRunner.sendEvent("announcement",{author:"txAdmin",message:txCore.translator.t("restarter.partial_hang_warn")})}const isStillBooting=heartBeat.state==="PENDING"||healthCheck.state==="PENDING";return{action:"WARN",times:isStillBooting?timeTags.withProc:timeTags.simple,reason:isStillBooting?"Server is taking too long to start":"Server is not responding",issues:[heartBeatIssue,healthCheckIssue]}}async performHealthCheck(){const childState=txCore.fxRunner.child;if(!(childState==null?void 0:childState.isAlive)||!(childState==null?void 0:childState.netEndpoint))return;const reqResult=await fetchDynamicJson(childState.netEndpoint,HC_CONFIG.requestTimeout);if(!reqResult.success){this.lastHealthCheckError=reqResult;return}const dynamicJson=reqResult.data;this.lastHealthCheckError=null;this.healthCheckMonitor.markHealthy();if(dynamicJson.sv_maxclients){const maxClients=dynamicJson.sv_maxclients;txCore.cacheStore.set("fxsRuntime:maxClients",maxClients);if(txHostConfig.forceMaxClients&&maxClients>txHostConfig.forceMaxClients){txCore.fxRunner.sendCommand("sv_maxclients",[txHostConfig.forceMaxClients],SYM_SYSTEM_AUTHOR);console38.error(`${txHostConfig.sourceName}: Detected that the server has sv_maxclients above the limit (${txHostConfig.forceMaxClients}). Changing back to the limit.`);txCore.logger.admin.writeSystem("SYSTEM",`changing sv_maxclients back to ${txHostConfig.forceMaxClients}`)}}}handleHeartBeat(source){this.heartBeatMonitor.markHealthy();if(source==="fd3"){if(this.swLastHTTP.started&&this.swLastHTTP.elapsed>15&&this.swLastFD3.elapsed<5){txCore.metrics.txRuntime.registerFxserverHealthIssue("http")}this.swLastFD3.restart()}else if(source==="http"){if(this.swLastFD3.started&&this.swLastFD3.elapsed>15&&this.swLastHTTP.elapsed<5){txCore.metrics.txRuntime.registerFxserverHealthIssue("fd3")}this.swLastHTTP.restart()}}async handleBootCompleted(bootDuration){const childState=txCore.fxRunner.child;if(!(childState==null?void 0:childState.isAlive)||!(childState==null?void 0:childState.netEndpoint))return;txCore.metrics.txRuntime.registerFxserverBoot(bootDuration);txCore.metrics.svRuntime.logServerBoot(bootDuration);txCore.fxRunner.signalSpawnBackoffRequired(false);const infoJson=await fetchInfoJson(childState.netEndpoint);if(!infoJson)return;const iconCacheKey="fxsRuntime:iconFilename";if(infoJson.icon){try{const iconHash=import_node_crypto4.default.createHash("shake256",{outputLength:8}).update(infoJson.icon).digest("hex").padStart(16,"0");const iconFilename=`icon-${iconHash}.png`;await setRuntimeFile(iconFilename,Buffer.from(infoJson.icon,"base64"));txCore.cacheStore.set(iconCacheKey,iconFilename)}catch(error){console38.error(`Failed to save server icon: ${error.message??"Unknown error"}`)}}else{txCore.cacheStore.delete(iconCacheKey)}txCore.cacheStore.upsert("fxsRuntime:bannerConnecting",infoJson.bannerConnecting);txCore.cacheStore.upsert("fxsRuntime:bannerDetail",infoJson.bannerDetail);txCore.cacheStore.upsert("fxsRuntime:locale",infoJson.locale);txCore.cacheStore.upsert("fxsRuntime:projectDesc",infoJson.projectDesc);if(infoJson.projectName){txCore.cacheStore.set("fxsRuntime:projectName",cleanPlayerName_default(infoJson.projectName).displayName)}else{txCore.cacheStore.delete("fxsRuntime:projectName")}txCore.cacheStore.upsert("fxsRuntime:tags",infoJson.tags)}get status(){let healthReason="Unknown - no log entries.";const lastEntry=this.statusLog.at(-1);if(lastEntry){const healthReasonLines=[lastEntry.reason+"."];if("issues"in lastEntry){const cleanIssues=cleanMonitorIssuesArray(lastEntry.issues);healthReasonLines.push(...cleanIssues)}healthReason=healthReasonLines.join("\n")}return{health:this.currentStatus,healthReason,uptime:this.tsServerBooted?Date.now()-this.tsServerBooted:0}}};var modulename28="FxScheduler";var console39=console_default(modulename28);var scheduleWarnings=[30,15,10,5,4,3,2,1];var getNextScheduled=parsedSchedule=>{const thisMinuteTs=new Date().setSeconds(0,0);const processed=parsedSchedule.map(t=>{const nextDate=new Date;let minuteFloorTs=nextDate.setHours(t.hours,t.minutes,0,0);if(minuteFloorTs<thisMinuteTs){minuteFloorTs=nextDate.setHours(t.hours+24,t.minutes,0,0)}return{string:t.string,minuteFloorTs}});return processed.sort((a,b)=>a.minuteFloorTs-b.minuteFloorTs)[0]};var FxScheduler=class{constructor(){this.nextTempSchedule=false;this.calculatedNextRestartMinuteFloorTs=false;this.nextSkip=false;setImmediate(()=>{this.checkSchedule()});setInterval(()=>{this.checkSchedule();txCore.webServer.webSocket.pushRefresh("status")},60*1e3)}handleConfigUpdate(updatedConfigs){this.nextSkip=false;this.nextTempSchedule=false;this.checkSchedule();txCore.webServer.webSocket.pushRefresh("status")}handleServerClose(){if(this.nextTempSchedule)this.nextTempSchedule=false;this.checkSchedule(true);const inTwoHours=Date.now()+2*60*60*1e3;if(this.calculatedNextRestartMinuteFloorTs&&this.calculatedNextRestartMinuteFloorTs<inTwoHours&&this.nextSkip!==this.calculatedNextRestartMinuteFloorTs){console39.warn("Server closed, skipping next scheduled restart because it's in less than 2 hours.");this.nextSkip=this.calculatedNextRestartMinuteFloorTs}this.checkSchedule(true);txCore.webServer.webSocket.pushRefresh("status")}getStatus(){if(this.calculatedNextRestartMinuteFloorTs){const thisMinuteTs=new Date().setSeconds(0,0);return{nextRelativeMs:this.calculatedNextRestartMinuteFloorTs-thisMinuteTs,nextSkip:this.nextSkip===this.calculatedNextRestartMinuteFloorTs,nextIsTemp:!!this.nextTempSchedule}}else{return{nextRelativeMs:false,nextSkip:false,nextIsTemp:false}}}setNextSkip(enabled3,author){if(enabled3){let prevMinuteFloorTs,temporary;if(this.nextTempSchedule){prevMinuteFloorTs=this.nextTempSchedule.minuteFloorTs;temporary=true;this.nextTempSchedule=false}else if(this.calculatedNextRestartMinuteFloorTs){prevMinuteFloorTs=this.calculatedNextRestartMinuteFloorTs;temporary=false;this.nextSkip=this.calculatedNextRestartMinuteFloorTs}if(prevMinuteFloorTs){txCore.fxRunner.sendEvent("scheduledRestartSkipped",{secondsRemaining:Math.floor((prevMinuteFloorTs-Date.now())/1e3),temporary,author});txCore.fxRunner.sendEvent("skippedNextScheduledRestart",{secondsRemaining:Math.floor((prevMinuteFloorTs-Date.now())/1e3),temporary})}}else{this.nextSkip=false}this.checkSchedule();txCore.webServer.webSocket.pushRefresh("status")}setNextTempSchedule(timeString){if(typeof timeString!=="string")throw new Error("expected string");const thisMinuteTs=new Date().setSeconds(0,0);let scheduledString,scheduledMinuteFloorTs;if(timeString.startsWith("+")){const minutes=parseInt(timeString.slice(1));if(isNaN(minutes)||minutes<1||minutes>=1440){throw new Error("invalid minutes")}const nextDate=new Date(thisMinuteTs+minutes*60*1e3);scheduledMinuteFloorTs=nextDate.getTime();scheduledString=nextDate.getHours().toString().padStart(2,"0")+":"+nextDate.getMinutes().toString().padStart(2,"0")}else{const[hours,minutes]=timeString.split(":",2).map(x=>parseInt(x));if(typeof hours==="undefined"||isNaN(hours)||hours<0||hours>23)throw new Error("invalid hours");if(typeof minutes==="undefined"||isNaN(minutes)||minutes<0||minutes>59)throw new Error("invalid minutes");const nextDate=new Date;scheduledMinuteFloorTs=nextDate.setHours(hours,minutes,0,0);if(scheduledMinuteFloorTs===thisMinuteTs){throw new Error("Due to the 1 minute precision of the restart scheduler, you cannot schedule a restart in the same minute.")}if(scheduledMinuteFloorTs<thisMinuteTs){scheduledMinuteFloorTs=nextDate.setHours(hours+24,minutes,0,0)}scheduledString=hours.toString().padStart(2,"0")+":"+minutes.toString().padStart(2,"0")}if(Array.isArray(txConfig.restarter.schedule)&&txConfig.restarter.schedule.length){const{valid}=parseSchedule(txConfig.restarter.schedule);const nextSettingRestart=getNextScheduled(valid);if(nextSettingRestart.minuteFloorTs<scheduledMinuteFloorTs){throw new Error(`You already have one restart scheduled for ${nextSettingRestart.string}, which is before the time you specified.`)}}this.nextTempSchedule={string:scheduledString,minuteFloorTs:scheduledMinuteFloorTs};this.checkSchedule();txCore.webServer.webSocket.pushRefresh("status")}async checkSchedule(calculateOnly=false){var _a12;let nextRestart;if(this.nextTempSchedule){nextRestart=this.nextTempSchedule}else if(Array.isArray(txConfig.restarter.schedule)&&txConfig.restarter.schedule.length){const{valid}=parseSchedule(txConfig.restarter.schedule);nextRestart=getNextScheduled(valid)}else{this.calculatedNextRestartMinuteFloorTs=false;return}this.calculatedNextRestartMinuteFloorTs=nextRestart.minuteFloorTs;if(calculateOnly)return;if(this.nextSkip===this.calculatedNextRestartMinuteFloorTs){console39.verbose.log(`Skipping next scheduled restart`);return}const thisMinuteTs=new Date().setSeconds(0,0);const nextDistMs=nextRestart.minuteFloorTs-thisMinuteTs;const nextDistMins=Math.floor(nextDistMs/6e4);if(nextDistMins===0){this.triggerServerRestart(`scheduled restart at ${nextRestart.string}`,txCore.translator.t("restarter.schedule_reason",{time:nextRestart.string}));const processUptime=Math.floor((((_a12=txCore.fxRunner.child)==null?void 0:_a12.uptime)??0)/1e3);if(processUptime<txConfig.restarter.bootGracePeriod){console39.verbose.log(`Server is in boot cooldown, skipping scheduled restart.`);return}this.nextTempSchedule=false}else if(scheduleWarnings.includes(nextDistMins)){const tOptions={smart_count:nextDistMins,servername:txConfig.general.serverName};txCore.discordBot.sendAnnouncement({type:"warning",description:{key:"restarter.schedule_warn_discord",data:tOptions}});txCore.fxRunner.sendEvent("scheduledRestart",{secondsRemaining:nextDistMins*60,translatedMessage:txCore.translator.t("restarter.schedule_warn",tOptions)})}}async triggerServerRestart(reasonInternal,reasonTranslated){var _a12;if(txCore.fxRunner.isIdle||!((_a12=txCore.fxRunner.child)==null?void 0:_a12.isAlive)){console39.verbose.warn("Server not running, skipping scheduled restart.");return false}const logMessage=`Restarting server: ${reasonInternal}`;txCore.logger.admin.write("SCHEDULER",logMessage);txCore.logger.fxserver.logInformational(logMessage);txCore.fxRunner.restartServer(reasonTranslated,SYM_SYSTEM_AUTHOR)}};FxScheduler.configKeysWatched=["restarter.schedule"];var import_promises16=__toESM(require("node:fs/promises"),1);var minutesMs=60*1e3;var hoursMs=60*minutesMs;var PERF_DATA_BUCKET_COUNT=15;var PERF_DATA_MIN_TICKS=600;var PERF_DATA_INITIAL_RESOLUTION=5*minutesMs;var STATS_RESOLUTION_TABLE=[{maxAge:12*hoursMs,resolution:PERF_DATA_INITIAL_RESOLUTION},{maxAge:24*hoursMs,resolution:15*minutesMs},{maxAge:96*hoursMs,resolution:30*minutesMs}];var STATS_LOG_SIZE_LIMIT=720;var PERF_DATA_THREAD_NAMES=["svNetwork","svSync","svMain"];var isValidPerfThreadName=threadName=>{return PERF_DATA_THREAD_NAMES.includes(threadName)};var isSvRtLogDataType=log2=>{return log2.type==="data"};var zIntNonNegative=numberType().int().nonnegative();var zNumberNonNegative=numberType().nonnegative();var SvRtPerfBoundariesSchema=arrayType(unionType([zNumberNonNegative,literalType("+Inf")]));var SvRtPerfCountsThreadSchema=objectType({count:zIntNonNegative,buckets:arrayType(zIntNonNegative).length(PERF_DATA_BUCKET_COUNT),sum:zNumberNonNegative});var SvRtPerfCountsSchema=objectType({svSync:SvRtPerfCountsThreadSchema,svNetwork:SvRtPerfCountsThreadSchema,svMain:SvRtPerfCountsThreadSchema});var SvRtLogDataSchema=objectType({ts:zIntNonNegative,type:literalType("data"),players:zIntNonNegative,fxsMemory:zNumberNonNegative.nullable(),nodeMemory:zNumberNonNegative.nullable(),perf:SvRtPerfCountsSchema});var SvRtLogSvBootSchema=objectType({ts:zIntNonNegative,type:literalType("svBoot"),duration:zIntNonNegative});var SvRtLogSvCloseSchema=objectType({ts:zIntNonNegative,type:literalType("svClose"),reason:stringType()});var SvRtFileSchema=objectType({version:literalType(1),lastPerfBoundaries:SvRtPerfBoundariesSchema.optional(),log:arrayType(unionType([SvRtLogDataSchema,SvRtLogSvBootSchema,SvRtLogSvCloseSchema]))});var SvRtNodeMemorySchema=objectType({used:zNumberNonNegative,limit:zNumberNonNegative});var import_pidusage2=__toESM(require_pidusage(),1);var REGEX_BUCKET_BOUNDARIE=/le="(\d+(\.\d+)?|\+Inf)"/;var REGEX_PERF_LINE=/tickTime_(count|sum|bucket)\{name="(svSync|svNetwork|svMain)"(,le="(\d+(\.\d+)?|\+Inf)")?\}\s(\S+)/;var arePerfBoundariesValid=boundaries=>{if(boundaries.length!==PERF_DATA_BUCKET_COUNT){return false}if(boundaries[boundaries.length-1]!=="+Inf"){return false}if(boundaries.slice(0,-1).some(val=>typeof val==="string")){return false}for(let i=1;i<boundaries.length-1;i++){if(boundaries[i]<=boundaries[i-1]){return false}}return true};var revertCumulativeBuckets=cumulativeCounts=>{const individualCounts=[];for(let i=0;i<cumulativeCounts.length;i++){const currCount=cumulativeCounts[i];if(typeof currCount!=="number")throw new Error("number expected");if(!Number.isInteger(currCount))throw new Error("integer expected");if(!Number.isFinite(currCount))throw new Error("finite number expected");if(i===0){individualCounts.push(currCount)}else{const lastCount=cumulativeCounts[i-1];if(lastCount>currCount)throw new Error("retrograde cumulative count");individualCounts.push(currCount-lastCount)}}return individualCounts};var parseRawPerf=rawData=>{if(typeof rawData!=="string")throw new Error("string expected");const lines=rawData.trim().split("\n");const perfMetrics={svSync:{count:0,sum:0,buckets:[]},svNetwork:{count:0,sum:0,buckets:[]},svMain:{count:0,sum:0,buckets:[]}};if(!rawData.includes("tickTime_")){throw new Error("missing tickTime_ in /perf/")}if(!rawData.includes("svMain")||!rawData.includes("svNetwork")||!rawData.includes("svSync")){throw new Error("missing threads in /perf/")}const perfBoundaries=lines.filter(line=>line.startsWith('tickTime_bucket{name="svMain"')).map(line=>{const parsed=line.match(REGEX_BUCKET_BOUNDARIE);if(parsed===null){return void 0}else if(parsed[1]==="+Inf"){return"+Inf"}else{return parseFloat(parsed[1])};}).filter(val=>{return val!==void 0&&(val==="+Inf"||isFinite(val))});if(!arePerfBoundariesValid(perfBoundaries)){throw new Error("invalid bucket boundaries")}for(const line of lines){const parsed=line.match(REGEX_PERF_LINE);if(parsed===null)continue;const regType=parsed[1];const thread=parsed[2];const bucket=parsed[4];const value=parsed[6];if(!isValidPerfThreadName(thread))continue;if(regType=="count"){const count=parseInt(value);if(!isNaN(count))perfMetrics[thread].count=count}else if(regType=="sum"){const sum2=parseFloat(value);if(!isNaN(sum2))perfMetrics[thread].sum=sum2}else if(regType=="bucket"){const currBucketIndex=perfMetrics[thread].buckets.length;const lastBucketIndex=PERF_DATA_BUCKET_COUNT-1;if(currBucketIndex===lastBucketIndex){if(bucket!=="+Inf"){throw new Error(`unexpected last bucket to be +Inf and got ${bucket}`)}}else if(parseFloat(bucket)!==perfBoundaries[currBucketIndex]){throw new Error(`unexpected bucket ${bucket} at position ${currBucketIndex}`)}perfMetrics[thread].buckets.push(parseInt(value))}}const invalid=Object.values(perfMetrics).filter(thread=>{return!Number.isInteger(thread.count)||thread.count===0||!Number.isFinite(thread.sum)||thread.sum===0||thread.buckets.length!==PERF_DATA_BUCKET_COUNT});if(invalid.length){throw new Error(`${invalid.length} invalid threads in /perf/`)}perfMetrics.svSync.buckets=revertCumulativeBuckets(perfMetrics.svSync.buckets);perfMetrics.svNetwork.buckets=revertCumulativeBuckets(perfMetrics.svNetwork.buckets);perfMetrics.svMain.buckets=revertCumulativeBuckets(perfMetrics.svMain.buckets);return{perfBoundaries,perfMetrics}};var perfDataRawThreadsTemplate={svSync:{count:0,sum:0,buckets:Array(PERF_DATA_BUCKET_COUNT).fill(0)},svNetwork:{count:0,sum:0,buckets:Array(PERF_DATA_BUCKET_COUNT).fill(0)},svMain:{count:0,sum:0,buckets:Array(PERF_DATA_BUCKET_COUNT).fill(0)}};var diffPerfs=(newPerf,oldPerf)=>{const basePerf=oldPerf??cloneDeep_default(perfDataRawThreadsTemplate);return{svSync:{count:newPerf.svSync.count-basePerf.svSync.count,sum:newPerf.svSync.sum-basePerf.svSync.sum,buckets:newPerf.svSync.buckets.map((bucket,i)=>bucket-basePerf.svSync.buckets[i])},svNetwork:{count:newPerf.svNetwork.count-basePerf.svNetwork.count,sum:newPerf.svNetwork.sum-basePerf.svNetwork.sum,buckets:newPerf.svNetwork.buckets.map((bucket,i)=>bucket-basePerf.svNetwork.buckets[i])},svMain:{count:newPerf.svMain.count-basePerf.svMain.count,sum:newPerf.svMain.sum-basePerf.svMain.sum,buckets:newPerf.svMain.buckets.map((bucket,i)=>bucket-basePerf.svMain.buckets[i])}}};var didPerfReset=(newPerf,oldPerf)=>{return oldPerf.svSync.count>newPerf.svSync.count||oldPerf.svSync.sum>newPerf.svSync.sum||oldPerf.svNetwork.count>newPerf.svNetwork.count||oldPerf.svNetwork.sum>newPerf.svNetwork.sum||oldPerf.svMain.count>newPerf.svMain.count||oldPerf.svMain.sum>newPerf.svMain.sum};var fetchRawPerfData=async netEndpoint=>{const currPerfRaw=await got_default(`http://${netEndpoint}/perf/`).text();return parseRawPerf(currPerfRaw)};var fetchFxsMemory=async fxsPid=>{var _a12;if(!fxsPid)return;try{const pidUsage=await(0,import_pidusage2.default)(fxsPid);const memoryMb=pidUsage.memory/1024/1024;return parseFloat(memoryMb.toFixed(2))}catch(error){if(error.code="ENOENT"){console.error("Failed to get processes tree usage data.");if(!((_a12=txCore.fxRunner.child)==null?void 0:_a12.isAlive)){console.error("The server process is not running.")}if(txEnv.isWindows){console.error("This is probably because the `wmic` command is not available in your system.");console.error('If you are on Windows 11 or Windows Server 2025, you can enable it in the "Windows Features" settings.')}else{console.error("This is probably because the `ps` command is not available in your system.");console.error("This command is part of the `procps` package in most Linux distributions.")}return}else{throw error}}};var YIELD_INTERVAL=100;var optimizeSvRuntimeLog=async statsLog=>{statsLog.splice(0,statsLog.length-STATS_LOG_SIZE_LIMIT);for(let i=0;i<statsLog.length;i++){if(i%YIELD_INTERVAL===0){await new Promise(resolve=>setImmediate(resolve))}}};function throttle2(delay3,callback,options){var _ref=options||{},_ref$noTrailing=_ref.noTrailing,noTrailing=_ref$noTrailing===void 0?false:_ref$noTrailing,_ref$noLeading=_ref.noLeading,noLeading=_ref$noLeading===void 0?false:_ref$noLeading,_ref$debounceMode=_ref.debounceMode,debounceMode=_ref$debounceMode===void 0?void 0:_ref$debounceMode;var timeoutID;var cancelled=false;var lastExec=0;function clearExistingTimeout(){if(timeoutID){clearTimeout(timeoutID)}}function cancel(options2){var _ref2=options2||{},_ref2$upcomingOnly=_ref2.upcomingOnly,upcomingOnly=_ref2$upcomingOnly===void 0?false:_ref2$upcomingOnly;clearExistingTimeout();cancelled=!upcomingOnly}function wrapper(){for(var _len=arguments.length,arguments_=new Array(_len),_key=0;_key<_len;_key++){arguments_[_key]=arguments[_key]}var self2=this;var elapsed=Date.now()-lastExec;if(cancelled){return}function exec3(){lastExec=Date.now();callback.apply(self2,arguments_)}function clear(){timeoutID=void 0}if(!noLeading&&debounceMode&&!timeoutID){exec3()}clearExistingTimeout();if(debounceMode===void 0&&elapsed>delay3){if(noLeading){lastExec=Date.now();if(!noTrailing){timeoutID=setTimeout(debounceMode?clear:exec3,delay3)}}else{exec3()}}else if(noTrailing!==true){timeoutID=setTimeout(debounceMode?clear:exec3,debounceMode===void 0?delay3-elapsed:delay3)}}wrapper.cancel=cancel;return wrapper}var modulename29="SvRuntimeMetrics";var console40=console_default(modulename29);var LOG_DATA_FILE_VERSION=1;var LOG_DATA_FILE_NAME="stats_svRuntime.json";var SvRuntimeMetrics=class{constructor(){this.logFilePath=`${txEnv.profilePath}/data/${LOG_DATA_FILE_NAME}`;this.statsLog=[];this.queueSaveStatsHistory=throttle2(15e3,this.saveStatsHistory.bind(this),{noLeading:true});setImmediate(()=>{this.loadStatsHistory()});setInterval(()=>{this.collectStats().catch(error=>{console40.verbose.warn("Error while collecting server stats.");console40.verbose.dir(error)})},60*1e3)}resetPerfState(){this.lastRawPerfData=void 0;this.lastDiffPerfData=void 0;this.lastRawPerfSaved=void 0}resetMemoryState(){this.lastNodeMemory=void 0;this.lastFxsMemory=void 0}logServerBoot(duration){this.resetPerfState();this.resetMemoryState();txCore.webServer.webSocket.pushRefresh("dashboard");if(this.statsLog.length&&this.statsLog.at(-1).type==="svBoot"){this.statsLog.pop()}this.statsLog.push({ts:Date.now(),type:"svBoot",duration});this.queueSaveStatsHistory()}logServerClose(reason){this.resetPerfState();this.resetMemoryState();txCore.webServer.webSocket.pushRefresh("dashboard");if(this.statsLog.length){if(this.statsLog.at(-1).type==="svClose"){return}else if(this.statsLog.at(-1).type==="svBoot"){this.statsLog.pop();return}}this.statsLog.push({ts:Date.now(),type:"svClose",reason});this.queueSaveStatsHistory()}logServerNodeMemory(payload){const validation=SvRtNodeMemorySchema.safeParse(payload);if(!validation.success){console40.verbose.warn("Invalid LogNodeHeapEvent payload:");console40.verbose.dir(validation.error.errors);return}this.lastNodeMemory={used:payload.used,limit:payload.limit};txCore.webServer.webSocket.pushRefresh("dashboard")}getRecentStats(){return{fxsMemory:this.lastFxsMemory,nodeMemory:this.lastNodeMemory,perfBoundaries:this.lastPerfBoundaries,perfBucketCounts:this.lastDiffPerfData?{svMain:this.lastDiffPerfData.svMain.buckets,svNetwork:this.lastDiffPerfData.svNetwork.buckets,svSync:this.lastDiffPerfData.svSync.buckets}:void 0}}async collectStats(){var _a12,_b2;const monitorStatus=txCore.fxMonitor.status;if(monitorStatus.health==="OFFLINE")return;if(monitorStatus.uptime<3e4)return;if(!((_a12=txCore.fxRunner.child)==null?void 0:_a12.isAlive))return;const netEndpoint=txDevEnv.EXT_STATS_HOST??txCore.fxRunner.child.netEndpoint;if(!netEndpoint)throw new Error(`Invalid netEndpoint: ${netEndpoint}`);const stopwatch=new TimeCounter;const[fetchRawPerfDataRes,fetchFxsMemoryRes]=await Promise.allSettled([fetchRawPerfData(netEndpoint),fetchFxsMemory(txCore.fxRunner.child.pid)]);const collectionTime=stopwatch.stop();if(fetchFxsMemoryRes.status==="fulfilled"){this.lastFxsMemory=fetchFxsMemoryRes.value}else{this.lastFxsMemory=void 0}if(fetchRawPerfDataRes.status==="rejected")throw fetchRawPerfDataRes.reason;const{perfBoundaries,perfMetrics}=fetchRawPerfDataRes.value;txCore.metrics.txRuntime.perfCollectionTime.count(collectionTime.milliseconds);if(perfMetrics.svMain.count<PERF_DATA_MIN_TICKS||perfMetrics.svNetwork.count<PERF_DATA_MIN_TICKS||perfMetrics.svSync.count<PERF_DATA_MIN_TICKS){console40.verbose.warn("Not enough ticks to log. Skipping this collection.");return}if(!this.lastPerfBoundaries){console40.verbose.debug("First perf collection.");this.lastPerfBoundaries=perfBoundaries;this.resetPerfState()}else if(JSON.stringify(perfBoundaries)!==JSON.stringify(this.lastPerfBoundaries)){console40.warn("Performance boundaries changed. Resetting history.");this.statsLog=[];this.lastPerfBoundaries=perfBoundaries;this.resetPerfState()}if(this.lastRawPerfData&&didPerfReset(perfMetrics,this.lastRawPerfData)){console40.warn("Performance counter reset. Resetting lastPerfCounts/lastPerfSaved.");this.resetPerfState()}else if(this.lastRawPerfSaved&&didPerfReset(perfMetrics,this.lastRawPerfSaved.data)){console40.warn("Performance counter reset. Resetting lastPerfSaved.");this.lastRawPerfSaved=void 0}this.lastDiffPerfData=diffPerfs(perfMetrics,this.lastRawPerfData);this.lastRawPerfData=perfMetrics;txCore.webServer.webSocket.pushRefresh("dashboard");const now3=Date.now();let perfToSave;if(!this.lastRawPerfSaved){perfToSave=this.lastDiffPerfData}else if(now3-this.lastRawPerfSaved.ts>=PERF_DATA_INITIAL_RESOLUTION){perfToSave=diffPerfs(perfMetrics,this.lastRawPerfSaved.data)}if(!perfToSave)return;let playerCount=txCore.fxPlayerlist.onlineCount;if(txDevEnv.EXT_STATS_HOST){try{const playerCountResp=await got_default(`http://${netEndpoint}/players.json`).json();playerCount=playerCountResp.length}catch(error){}}this.lastRawPerfSaved={ts:now3,data:perfMetrics};const currSnapshot={ts:now3,type:"data",players:playerCount,fxsMemory:this.lastFxsMemory??null,nodeMemory:((_b2=this.lastNodeMemory)==null?void 0:_b2.used)??null,perf:perfToSave};this.statsLog.push(currSnapshot);this.queueSaveStatsHistory.cancel({upcomingOnly:true});this.saveStatsHistory()}async loadStatsHistory(){try{const rawFileData=await import_promises16.default.readFile(this.logFilePath,"utf8");const fileData=JSON.parse(rawFileData);if((fileData==null?void 0:fileData.version)!==LOG_DATA_FILE_VERSION)throw new Error("invalid version");const statsData=SvRtFileSchema.parse(fileData);this.lastPerfBoundaries=statsData.lastPerfBoundaries;this.statsLog=statsData.log;this.resetPerfState();console40.verbose.ok(`Loaded ${this.statsLog.length} performance snapshots from cache`);await optimizeSvRuntimeLog(this.statsLog)}catch(error){if((error==null?void 0:error.code)==="ENOENT"){console40.verbose.debug(`${LOG_DATA_FILE_NAME} not found, starting with empty stats.`);return}if(error instanceof ZodError){console40.warn(`Failed to load ${LOG_DATA_FILE_NAME} due to invalid data.`)}else{console40.warn(`Failed to load ${LOG_DATA_FILE_NAME} with message: ${error.message}`)}console40.warn("Since this is not a critical file, it will be reset.")}}async saveStatsHistory(){try{await optimizeSvRuntimeLog(this.statsLog);const savePerfData={version:LOG_DATA_FILE_VERSION,lastPerfBoundaries:this.lastPerfBoundaries,log:this.statsLog};await import_promises16.default.writeFile(this.logFilePath,JSON.stringify(savePerfData))}catch(error){console40.warn(`Failed to save ${LOG_DATA_FILE_NAME} with message: ${error.message}`)}}getChartData(threadName){var _a12;if(!isValidPerfThreadName(threadName))return{fail_reason:"invalid_thread_name"};if(!this.statsLog.length||!((_a12=this.lastPerfBoundaries)==null?void 0:_a12.length))return{fail_reason:"data_unavailable"};return{boundaries:this.lastPerfBoundaries,threadPerfLog:this.statsLog.map(log2=>{if(!isSvRtLogDataType(log2))return log2;return{...log2,perf:log2.perf[threadName]}})}}getServerPerfSummary(){const minSnapshots=36;const tsScanWindowStart=Date.now()-6*60*60*1e3;const cumBuckets=Array(PERF_DATA_BUCKET_COUNT).fill(0);let cumTicks=0;let totalSnapshots=0;const players=[];const fxsMemory=[];const nodeMemory=[];for(const log2 of this.statsLog){if(log2.ts<tsScanWindowStart)continue;if(!isSvRtLogDataType(log2))continue;if(log2.perf.svMain.count<PERF_DATA_MIN_TICKS)continue;totalSnapshots++;players.push(log2.players);fxsMemory.push(log2.fxsMemory);nodeMemory.push(log2.nodeMemory);for(let bIndex=0;bIndex<PERF_DATA_BUCKET_COUNT;bIndex++){const tickCount=log2.perf.svMain.buckets[bIndex];cumTicks+=tickCount;cumBuckets[bIndex]+=tickCount}}if(totalSnapshots<minSnapshots){return null}return{snaps:totalSnapshots,freqs:cumBuckets.map(cumAvg=>cumAvg/cumTicks),players:median(players),fxsMemory:median(fxsMemory),nodeMemory:median(nodeMemory)}}};var import_buffer=require("buffer");var import_crypto2=require("crypto");var digest=(algorithm,data)=>(0,import_crypto2.createHash)(algorithm).update(data).digest();var digest_default=digest;var encoder=new TextEncoder;var decoder=new TextDecoder;var MAX_INT32=2**32;function concat2(...buffers){const size2=buffers.reduce((acc,{length})=>acc+length,0);const buf=new Uint8Array(size2);let i=0;buffers.forEach(buffer=>{buf.set(buffer,i);i+=buffer.length});return buf}function p2s(alg,p2sInput){return concat2(encoder.encode(alg),new Uint8Array([0]),p2sInput)}function writeUInt32BE(buf,value,offset){if(value<0||value>=MAX_INT32){throw new RangeError(`value must be >= 0 and <= ${MAX_INT32-1}. Received ${value}`)}buf.set([value>>>24,value>>>16,value>>>8,value&255],offset)}function uint64be(value){const high=Math.floor(value/MAX_INT32);const low=value%MAX_INT32;const buf=new Uint8Array(8);writeUInt32BE(buf,high,0);writeUInt32BE(buf,low,4);return buf}function uint32be(value){const buf=new Uint8Array(4);writeUInt32BE(buf,value);return buf}function lengthAndInput(input){return concat2(uint32be(input.length),input)}async function concatKdf(secret,bits,value){const iterations=Math.ceil((bits>>3)/32);const res=new Uint8Array(iterations*32);for(let iter=0;iter<iterations;iter++){const buf=new Uint8Array(4+secret.length+value.length);buf.set(uint32be(iter+1));buf.set(secret,4);buf.set(value,4+secret.length);res.set(await digest_default("sha256",buf),iter*32)}return res.slice(0,bits>>3)}var encode;if(import_buffer.Buffer.isEncoding("base64url")){encode=input=>import_buffer.Buffer.from(input).toString("base64url")}else{encode=input=>import_buffer.Buffer.from(input).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}var JOSEError=class extends Error{static get code(){return"ERR_JOSE_GENERIC"}constructor(message3){var _a12;super(message3);this.code="ERR_JOSE_GENERIC";this.name=this.constructor.name;(_a12=Error.captureStackTrace)===null||_a12===void 0?void 0:_a12.call(Error,this,this.constructor)}};var JOSENotSupported=class extends JOSEError{constructor(){super(...arguments);this.code="ERR_JOSE_NOT_SUPPORTED"}static get code(){return"ERR_JOSE_NOT_SUPPORTED"}};var JWEInvalid=class extends JOSEError{constructor(){super(...arguments);this.code="ERR_JWE_INVALID"}static get code(){return"ERR_JWE_INVALID"}};var import_crypto3=require("crypto");function bitLength(alg){switch(alg){case"A128GCM":case"A128GCMKW":case"A192GCM":case"A192GCMKW":case"A256GCM":case"A256GCMKW":return 96;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return 128;default:throw new JOSENotSupported(`Unsupported JWE Algorithm: ${alg}`)}}var iv_default=alg=>(0,import_crypto3.randomFillSync)(new Uint8Array(bitLength(alg)>>3));var checkIvLength=(enc,iv)=>{if(iv.length<<3!==bitLength(enc)){throw new JWEInvalid("Invalid Initialization Vector length")}};var check_iv_length_default=checkIvLength;var import_crypto4=require("crypto");var util2=__toESM(require("util"),1);var is_key_object_default=util2.types.isKeyObject?obj=>util2.types.isKeyObject(obj):obj=>obj!=null&&obj instanceof import_crypto4.KeyObject;var checkCekLength=(enc,cek)=>{let expected;switch(enc){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":expected=parseInt(enc.slice(-3),10);break;case"A128GCM":case"A192GCM":case"A256GCM":expected=parseInt(enc.slice(1,4),10);break;default:throw new JOSENotSupported(`Content Encryption Algorithm ${enc} is not supported either by JOSE or your javascript runtime`)}if(cek instanceof Uint8Array){const actual=cek.byteLength<<3;if(actual!==expected){throw new JWEInvalid(`Invalid Content Encryption Key length. Expected ${expected} bits, got ${actual} bits`)}return}if(is_key_object_default(cek)&&cek.type==="secret"){const actual=cek.symmetricKeySize<<3;if(actual!==expected){throw new JWEInvalid(`Invalid Content Encryption Key length. Expected ${expected} bits, got ${actual} bits`)}return}throw new TypeError("Invalid Content Encryption Key type")};var check_cek_length_default=checkCekLength;var import_crypto5=require("crypto");function cbcTag(aad,iv,ciphertext,macSize,macKey,keySize){const macData=concat2(aad,iv,ciphertext,uint64be(aad.length<<3));const hmac=(0,import_crypto5.createHmac)(`sha${macSize}`,macKey);hmac.update(macData);return hmac.digest().slice(0,keySize>>3)}var crypto4=__toESM(require("crypto"),1);var util3=__toESM(require("util"),1);var webcrypto2=crypto4.webcrypto;var webcrypto_default=webcrypto2;var isCryptoKey=util3.types.isCryptoKey?key=>util3.types.isCryptoKey(key):key=>false;function unusable(name,prop="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${prop} must be ${name}`)}function isAlgorithm(algorithm,name){return algorithm.name===name}function getHashLength(hash){return parseInt(hash.name.slice(4),10)}function checkUsage(key,usages){if(usages.length&&!usages.some(expected=>key.usages.includes(expected))){let msg="CryptoKey does not support this operation, its usages must include ";if(usages.length>2){const last2=usages.pop();msg+=`one of ${usages.join(", ")}, or ${last2}.`}else if(usages.length===2){msg+=`one of ${usages[0]} or ${usages[1]}.`}else{msg+=`${usages[0]}.`}throw new TypeError(msg)}}function checkEncCryptoKey(key,alg,...usages){switch(alg){case"A128GCM":case"A192GCM":case"A256GCM":{if(!isAlgorithm(key.algorithm,"AES-GCM"))throw unusable("AES-GCM");const expected=parseInt(alg.slice(1,4),10);const actual=key.algorithm.length;if(actual!==expected)throw unusable(expected,"algorithm.length");break}case"A128KW":case"A192KW":case"A256KW":{if(!isAlgorithm(key.algorithm,"AES-KW"))throw unusable("AES-KW");const expected=parseInt(alg.slice(1,4),10);const actual=key.algorithm.length;if(actual!==expected)throw unusable(expected,"algorithm.length");break}case"ECDH":{switch(key.algorithm.name){case"ECDH":case"X25519":case"X448":break;default:throw unusable("ECDH, X25519, or X448")}break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":if(!isAlgorithm(key.algorithm,"PBKDF2"))throw unusable("PBKDF2");break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(!isAlgorithm(key.algorithm,"RSA-OAEP"))throw unusable("RSA-OAEP");const expected=parseInt(alg.slice(9),10)||1;const actual=getHashLength(key.algorithm.hash);if(actual!==expected)throw unusable(`SHA-${expected}`,"algorithm.hash");break}default:throw new TypeError("CryptoKey does not support this operation")}checkUsage(key,usages)}function message2(msg,actual,...types6){if(types6.length>2){const last2=types6.pop();msg+=`one of type ${types6.join(", ")}, or ${last2}.`}else if(types6.length===2){msg+=`one of type ${types6[0]} or ${types6[1]}.`}else{msg+=`of type ${types6[0]}.`}if(actual==null){msg+=` Received ${actual}`}else if(typeof actual==="function"&&actual.name){msg+=` Received function ${actual.name}`}else if(typeof actual==="object"&&actual!=null){if(actual.constructor&&actual.constructor.name){msg+=` Received an instance of ${actual.constructor.name}`}}return msg}var invalid_key_input_default=(actual,...types6)=>{return message2("Key must be ",actual,...types6)};function withAlg(alg,actual,...types6){return message2(`Key for the ${alg} algorithm must be `,actual,...types6)}var import_crypto6=require("crypto");var ciphers;var ciphers_default=algorithm=>{ciphers||(ciphers=new Set((0,import_crypto6.getCiphers)()));return ciphers.has(algorithm)};var is_key_like_default=key=>is_key_object_default(key)||isCryptoKey(key);var types5=["KeyObject"];if(globalThis.CryptoKey||(webcrypto_default===null||webcrypto_default===void 0?void 0:webcrypto_default.CryptoKey)){types5.push("CryptoKey")}var import_util5=require("util");var import_zlib2=require("zlib");var inflateRaw=(0,import_util5.promisify)(import_zlib2.inflateRaw);var deflateRaw=(0,import_util5.promisify)(import_zlib2.deflateRaw);var deflate=input=>deflateRaw(input);var isDisjoint=(...headers)=>{const sources=headers.filter(Boolean);if(sources.length===0||sources.length===1){return true}let acc;for(const header2 of sources){const parameters=Object.keys(header2);if(!acc||acc.size===0){acc=new Set(parameters);continue}for(const parameter of parameters){if(acc.has(parameter)){return false}acc.add(parameter)}}return true};var is_disjoint_default=isDisjoint;var import_buffer2=require("buffer");var import_crypto7=require("crypto");function checkKeySize(key,alg){if(key.symmetricKeySize<<3!==parseInt(alg.slice(1,4),10)){throw new TypeError(`Invalid key size for alg: ${alg}`)}}function ensureKeyObject(key,alg,usage){if(is_key_object_default(key)){return key}if(key instanceof Uint8Array){return(0,import_crypto7.createSecretKey)(key)}if(isCryptoKey(key)){checkEncCryptoKey(key,alg,usage);return import_crypto7.KeyObject.from(key)}throw new TypeError(invalid_key_input_default(key,...types5,"Uint8Array"))}var wrap2=(alg,key,cek)=>{const size2=parseInt(alg.slice(1,4),10);const algorithm=`aes${size2}-wrap`;if(!ciphers_default(algorithm)){throw new JOSENotSupported(`alg ${alg} is not supported either by JOSE or your javascript runtime`)}const keyObject=ensureKeyObject(key,alg,"wrapKey");checkKeySize(keyObject,alg);const cipher=(0,import_crypto7.createCipheriv)(algorithm,keyObject,import_buffer2.Buffer.alloc(8,166));return concat2(cipher.update(cek),cipher.final())};var import_crypto9=require("crypto");var import_util6=require("util");var import_buffer3=require("buffer");var import_crypto8=require("crypto");var p256=import_buffer3.Buffer.from([42,134,72,206,61,3,1,7]);var p384=import_buffer3.Buffer.from([43,129,4,0,34]);var p521=import_buffer3.Buffer.from([43,129,4,0,35]);var secp256k1=import_buffer3.Buffer.from([43,129,4,0,10]);var weakMap=new WeakMap;var namedCurveToJOSE=namedCurve=>{switch(namedCurve){case"prime256v1":return"P-256";case"secp384r1":return"P-384";case"secp521r1":return"P-521";case"secp256k1":return"secp256k1";default:throw new JOSENotSupported("Unsupported key curve for this operation")}};var getNamedCurve=(kee,raw)=>{var _a12;let key;if(isCryptoKey(kee)){key=import_crypto8.KeyObject.from(kee)}else if(is_key_object_default(kee)){key=kee}else{throw new TypeError(invalid_key_input_default(kee,...types5))}if(key.type==="secret"){throw new TypeError('only "private" or "public" type keys can be used for this operation')}switch(key.asymmetricKeyType){case"ed25519":case"ed448":return`Ed${key.asymmetricKeyType.slice(2)}`;case"x25519":case"x448":return`X${key.asymmetricKeyType.slice(1)}`;case"ec":{if(weakMap.has(key)){return weakMap.get(key)}let namedCurve=(_a12=key.asymmetricKeyDetails)===null||_a12===void 0?void 0:_a12.namedCurve;if(!namedCurve&&key.type==="private"){namedCurve=getNamedCurve((0,import_crypto8.createPublicKey)(key),true)}else if(!namedCurve){const buf=key.export({format:"der",type:"spki"});const i=buf[1]<128?14:15;const len=buf[i];const curveOid=buf.slice(i+1,i+1+len);if(curveOid.equals(p256)){namedCurve="prime256v1"}else if(curveOid.equals(p384)){namedCurve="secp384r1"}else if(curveOid.equals(p521)){namedCurve="secp521r1"}else if(curveOid.equals(secp256k1)){namedCurve="secp256k1"}else{throw new JOSENotSupported("Unsupported key curve for this operation")}}if(raw)return namedCurve;const curve=namedCurveToJOSE(namedCurve);weakMap.set(key,curve);return curve}default:throw new TypeError("Invalid asymmetric key type for this operation")}};var get_named_curve_default=getNamedCurve;var generateKeyPair=(0,import_util6.promisify)(import_crypto9.generateKeyPair);async function deriveKey(publicKee,privateKee,algorithm,keyLength,apu=new Uint8Array(0),apv=new Uint8Array(0)){let publicKey;if(isCryptoKey(publicKee)){checkEncCryptoKey(publicKee,"ECDH");publicKey=import_crypto9.KeyObject.from(publicKee)}else if(is_key_object_default(publicKee)){publicKey=publicKee}else{throw new TypeError(invalid_key_input_default(publicKee,...types5))}let privateKey;if(isCryptoKey(privateKee)){checkEncCryptoKey(privateKee,"ECDH","deriveBits");privateKey=import_crypto9.KeyObject.from(privateKee)}else if(is_key_object_default(privateKee)){privateKey=privateKee}else{throw new TypeError(invalid_key_input_default(privateKee,...types5))}const value=concat2(lengthAndInput(encoder.encode(algorithm)),lengthAndInput(apu),lengthAndInput(apv),uint32be(keyLength));const sharedSecret=(0,import_crypto9.diffieHellman)({privateKey,publicKey});return concatKdf(sharedSecret,keyLength,value)}async function generateEpk(kee){let key;if(isCryptoKey(kee)){key=import_crypto9.KeyObject.from(kee)}else if(is_key_object_default(kee)){key=kee}else{throw new TypeError(invalid_key_input_default(kee,...types5))}switch(key.asymmetricKeyType){case"x25519":return generateKeyPair("x25519");case"x448":{return generateKeyPair("x448")}case"ec":{const namedCurve=get_named_curve_default(key);return generateKeyPair("ec",{namedCurve})}default:throw new JOSENotSupported("Invalid or unsupported EPK")}}var ecdhAllowed=key=>["P-256","P-384","P-521","X25519","X448"].includes(get_named_curve_default(key));var import_util7=require("util");var import_crypto10=require("crypto");function checkP2s(p2s2){if(!(p2s2 instanceof Uint8Array)||p2s2.length<8){throw new JWEInvalid("PBES2 Salt Input must be 8 or more octets")}}var pbkdf2=(0,import_util7.promisify)(import_crypto10.pbkdf2);function getPassword(key,alg){if(is_key_object_default(key)){return key.export()}if(key instanceof Uint8Array){return key}if(isCryptoKey(key)){checkEncCryptoKey(key,alg,"deriveBits","deriveKey");return import_crypto10.KeyObject.from(key).export()}throw new TypeError(invalid_key_input_default(key,...types5,"Uint8Array"))}var encrypt=async(alg,key,cek,p2c=2048,p2s2=(0,import_crypto3.randomFillSync)(new Uint8Array(16)))=>{checkP2s(p2s2);const salt=p2s(alg,p2s2);const keylen=parseInt(alg.slice(13,16),10)>>3;const password=getPassword(key,alg);const derivedKey=await pbkdf2(password,salt,p2c,keylen,`sha${alg.slice(8,11)}`);const encryptedKey=await wrap2(alg.slice(-6),derivedKey,cek);return{encryptedKey,p2c,p2s:encode(p2s2)}};var import_crypto11=require("crypto");var weakMap2=new WeakMap;var getLength=(buf,index)=>{let len=buf.readUInt8(1);if((len&128)===0){if(index===0){return len}return getLength(buf.subarray(2+len),index-1)}const num=len&127;len=0;for(let i=0;i<num;i++){len<<=8;const j=buf.readUInt8(2+i);len|=j}if(index===0){return len}return getLength(buf.subarray(2+len),index-1)};var getLengthOfSeqIndex=(sequence,index)=>{const len=sequence.readUInt8(1);if((len&128)===0){return getLength(sequence.subarray(2),index)}const num=len&127;return getLength(sequence.subarray(2+num),index)};var getModulusLength=key=>{var _a12,_b2;if(weakMap2.has(key)){return weakMap2.get(key)}const modulusLength=(_b2=(_a12=key.asymmetricKeyDetails)===null||_a12===void 0?void 0:_a12.modulusLength)!==null&&_b2!==void 0?_b2:getLengthOfSeqIndex(key.export({format:"der",type:"pkcs1"}),key.type==="private"?1:0)-1<<3;weakMap2.set(key,modulusLength);return modulusLength};var check_modulus_length_default=(key,alg)=>{if(getModulusLength(key)<2048){throw new TypeError(`${alg} requires key modulusLength to be 2048 bits or larger`)}};var checkKey=(key,alg)=>{if(key.asymmetricKeyType!=="rsa"){throw new TypeError("Invalid key for this operation, its asymmetricKeyType must be rsa")}check_modulus_length_default(key,alg)};var resolvePadding=alg=>{switch(alg){case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":return import_crypto11.constants.RSA_PKCS1_OAEP_PADDING;case"RSA1_5":return import_crypto11.constants.RSA_PKCS1_PADDING;default:return void 0}};var resolveOaepHash=alg=>{switch(alg){case"RSA-OAEP":return"sha1";case"RSA-OAEP-256":return"sha256";case"RSA-OAEP-384":return"sha384";case"RSA-OAEP-512":return"sha512";default:return void 0}};function ensureKeyObject2(key,alg,...usages){if(is_key_object_default(key)){return key}if(isCryptoKey(key)){checkEncCryptoKey(key,alg,...usages);return import_crypto11.KeyObject.from(key)}throw new TypeError(invalid_key_input_default(key,...types5))}var encrypt2=(alg,key,cek)=>{const padding=resolvePadding(alg);const oaepHash=resolveOaepHash(alg);const keyObject=ensureKeyObject2(key,alg,"wrapKey","encrypt");checkKey(keyObject,alg);return(0,import_crypto11.publicEncrypt)({key:keyObject,oaepHash,padding},cek)};function bitLength2(alg){switch(alg){case"A128GCM":return 128;case"A192GCM":return 192;case"A256GCM":case"A128CBC-HS256":return 256;case"A192CBC-HS384":return 384;case"A256CBC-HS512":return 512;default:throw new JOSENotSupported(`Unsupported JWE Algorithm: ${alg}`)}}var cek_default=alg=>(0,import_crypto3.randomFillSync)(new Uint8Array(bitLength2(alg)>>3));var import_crypto12=require("crypto");var import_buffer4=require("buffer");var fromSPKI=pem=>(0,import_crypto12.createPublicKey)({key:import_buffer4.Buffer.from(pem.replace(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,""),"base64"),type:"spki",format:"der"});var[major2,minor2]=process.versions.node.split(".").map(str2=>parseInt(str2,10));var oneShotCallback=major2>=16||major2===15&&minor2>=13;var rsaPssParams=!("electron"in process.versions)&&(major2>=17||major2===16&&minor2>=9);var jwkExport=major2>=16||major2===15&&minor2>=9;var jwkImport=major2>=16||major2===15&&minor2>=12;async function importSPKI(spki,alg,options){if(typeof spki!=="string"||spki.indexOf("-----BEGIN PUBLIC KEY-----")!==0){throw new TypeError('"spki" must be SPKI formatted string')}return fromSPKI(spki,alg,options)}var symmetricTypeCheck=(alg,key)=>{if(key instanceof Uint8Array)return;if(!is_key_like_default(key)){throw new TypeError(withAlg(alg,key,...types5,"Uint8Array"))}if(key.type!=="secret"){throw new TypeError(`${types5.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}};var asymmetricTypeCheck=(alg,key,usage)=>{if(!is_key_like_default(key)){throw new TypeError(withAlg(alg,key,...types5))}if(key.type==="secret"){throw new TypeError(`${types5.join(" or ")} instances for asymmetric algorithms must not be of type "secret"`)}if(usage==="sign"&&key.type==="public"){throw new TypeError(`${types5.join(" or ")} instances for asymmetric algorithm signing must be of type "private"`)}if(usage==="decrypt"&&key.type==="public"){throw new TypeError(`${types5.join(" or ")} instances for asymmetric algorithm decryption must be of type "private"`)}if(key.algorithm&&usage==="verify"&&key.type==="private"){throw new TypeError(`${types5.join(" or ")} instances for asymmetric algorithm verifying must be of type "public"`)}if(key.algorithm&&usage==="encrypt"&&key.type==="private"){throw new TypeError(`${types5.join(" or ")} instances for asymmetric algorithm encryption must be of type "public"`)}};var checkKeyType=(alg,key,usage)=>{const symmetric=alg.startsWith("HS")||alg==="dir"||alg.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(alg);if(symmetric){symmetricTypeCheck(alg,key)}else{asymmetricTypeCheck(alg,key,usage)}};var check_key_type_default=checkKeyType;var import_crypto13=require("crypto");function cbcEncrypt(enc,plaintext,cek,iv,aad){const keySize=parseInt(enc.slice(1,4),10);if(is_key_object_default(cek)){cek=cek.export()}const encKey=cek.subarray(keySize>>3);const macKey=cek.subarray(0,keySize>>3);const algorithm=`aes-${keySize}-cbc`;if(!ciphers_default(algorithm)){throw new JOSENotSupported(`alg ${enc} is not supported by your javascript runtime`)}const cipher=(0,import_crypto13.createCipheriv)(algorithm,encKey,iv);const ciphertext=concat2(cipher.update(plaintext),cipher.final());const macSize=parseInt(enc.slice(-3),10);const tag=cbcTag(aad,iv,ciphertext,macSize,macKey,keySize);return{ciphertext,tag}}function gcmEncrypt(enc,plaintext,cek,iv,aad){const keySize=parseInt(enc.slice(1,4),10);const algorithm=`aes-${keySize}-gcm`;if(!ciphers_default(algorithm)){throw new JOSENotSupported(`alg ${enc} is not supported by your javascript runtime`)}const cipher=(0,import_crypto13.createCipheriv)(algorithm,cek,iv,{authTagLength:16});if(aad.byteLength){cipher.setAAD(aad,{plaintextLength:plaintext.length})}const ciphertext=cipher.update(plaintext);cipher.final();const tag=cipher.getAuthTag();return{ciphertext,tag}}var encrypt3=(enc,plaintext,cek,iv,aad)=>{let key;if(isCryptoKey(cek)){checkEncCryptoKey(cek,enc,"encrypt");key=import_crypto13.KeyObject.from(cek)}else if(cek instanceof Uint8Array||is_key_object_default(cek)){key=cek}else{throw new TypeError(invalid_key_input_default(cek,...types5,"Uint8Array"))}check_cek_length_default(enc,key);check_iv_length_default(enc,iv);switch(enc){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return cbcEncrypt(enc,plaintext,key,iv,aad);case"A128GCM":case"A192GCM":case"A256GCM":return gcmEncrypt(enc,plaintext,key,iv,aad);default:throw new JOSENotSupported("Unsupported JWE Content Encryption Algorithm")}};var encrypt_default=encrypt3;async function wrap3(alg,key,cek,iv){const jweAlgorithm=alg.slice(0,7);iv||(iv=iv_default(jweAlgorithm));const{ciphertext:encryptedKey,tag}=await encrypt_default(jweAlgorithm,cek,key,iv,new Uint8Array(0));return{encryptedKey,iv:encode(iv),tag:encode(tag)}}function validateCrit(Err,recognizedDefault,recognizedOption,protectedHeader,joseHeader){if(joseHeader.crit!==void 0&&protectedHeader.crit===void 0){throw new Err('"crit" (Critical) Header Parameter MUST be integrity protected')}if(!protectedHeader||protectedHeader.crit===void 0){return new Set}if(!Array.isArray(protectedHeader.crit)||protectedHeader.crit.length===0||protectedHeader.crit.some(input=>typeof input!=="string"||input.length===0)){throw new Err('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present')}let recognized;if(recognizedOption!==void 0){recognized=new Map([...Object.entries(recognizedOption),...recognizedDefault.entries()])}else{recognized=recognizedDefault}for(const parameter of protectedHeader.crit){if(!recognized.has(parameter)){throw new JOSENotSupported(`Extension Header Parameter "${parameter}" is not recognized`)}if(joseHeader[parameter]===void 0){throw new Err(`Extension Header Parameter "${parameter}" is missing`)}else if(recognized.get(parameter)&&protectedHeader[parameter]===void 0){throw new Err(`Extension Header Parameter "${parameter}" MUST be integrity protected`)}}return new Set(protectedHeader.crit)}var validate_crit_default=validateCrit;var import_crypto14=require("crypto");var tagInteger=2;var tagSequence=48;var Asn1SequenceDecoder=class{constructor(buffer){if(buffer[0]!==tagSequence){throw new TypeError}this.buffer=buffer;this.offset=1;const len=this.decodeLength();if(len!==buffer.length-this.offset){throw new TypeError}}decodeLength(){let length=this.buffer[this.offset++];if(length&128){const nBytes=length&~128;length=0;for(let i=0;i<nBytes;i++)length=length<<8|this.buffer[this.offset+i];this.offset+=nBytes}return length}unsignedInteger(){if(this.buffer[this.offset++]!==tagInteger){throw new TypeError}let length=this.decodeLength();if(this.buffer[this.offset]===0){this.offset++;length--}const result2=this.buffer.slice(this.offset,this.offset+length);this.offset+=length;return result2}end(){if(this.offset!==this.buffer.length){throw new TypeError}}};var keyToJWK=key=>{let keyObject;if(isCryptoKey(key)){if(!key.extractable){throw new TypeError("CryptoKey is not extractable")}keyObject=import_crypto14.KeyObject.from(key)}else if(is_key_object_default(key)){keyObject=key}else if(key instanceof Uint8Array){return{kty:"oct",k:encode(key)}}else{throw new TypeError(invalid_key_input_default(key,...types5,"Uint8Array"))}if(jwkExport){if(keyObject.type!=="secret"&&!["rsa","ec","ed25519","x25519","ed448","x448"].includes(keyObject.asymmetricKeyType)){throw new JOSENotSupported("Unsupported key asymmetricKeyType")}return keyObject.export({format:"jwk"})}switch(keyObject.type){case"secret":return{kty:"oct",k:encode(keyObject.export())};case"private":case"public":{switch(keyObject.asymmetricKeyType){case"rsa":{const der=keyObject.export({format:"der",type:"pkcs1"});const dec=new Asn1SequenceDecoder(der);if(keyObject.type==="private"){dec.unsignedInteger()}const n=encode(dec.unsignedInteger());const e=encode(dec.unsignedInteger());let jwk;if(keyObject.type==="private"){jwk={d:encode(dec.unsignedInteger()),p:encode(dec.unsignedInteger()),q:encode(dec.unsignedInteger()),dp:encode(dec.unsignedInteger()),dq:encode(dec.unsignedInteger()),qi:encode(dec.unsignedInteger())}}dec.end();return{kty:"RSA",n,e,...jwk}}case"ec":{const crv=get_named_curve_default(keyObject);let len;let offset;let correction;switch(crv){case"secp256k1":len=64;offset=31+2;correction=-1;break;case"P-256":len=64;offset=34+2;correction=-1;break;case"P-384":len=96;offset=33+2;correction=-3;break;case"P-521":len=132;offset=33+2;correction=-3;break;default:throw new JOSENotSupported("Unsupported curve")}if(keyObject.type==="public"){const der2=keyObject.export({type:"spki",format:"der"});return{kty:"EC",crv,x:encode(der2.subarray(-len,-len/2)),y:encode(der2.subarray(-len/2))}}const der=keyObject.export({type:"pkcs8",format:"der"});if(der.length<100){offset+=correction}return{...keyToJWK((0,import_crypto14.createPublicKey)(keyObject)),d:encode(der.subarray(offset,offset+len/2))}}case"ed25519":case"x25519":{const crv=get_named_curve_default(keyObject);if(keyObject.type==="public"){const der2=keyObject.export({type:"spki",format:"der"});return{kty:"OKP",crv,x:encode(der2.subarray(-32))}}const der=keyObject.export({type:"pkcs8",format:"der"});return{...keyToJWK((0,import_crypto14.createPublicKey)(keyObject)),d:encode(der.subarray(-32))}}case"ed448":case"x448":{const crv=get_named_curve_default(keyObject);if(keyObject.type==="public"){const der2=keyObject.export({type:"spki",format:"der"});return{kty:"OKP",crv,x:encode(der2.subarray(crv==="Ed448"?-57:-56))}}const der=keyObject.export({type:"pkcs8",format:"der"});return{...keyToJWK((0,import_crypto14.createPublicKey)(keyObject)),d:encode(der.subarray(crv==="Ed448"?-57:-56))}}default:throw new JOSENotSupported("Unsupported key asymmetricKeyType")}}default:throw new JOSENotSupported("Unsupported key type")}};var key_to_jwk_default=keyToJWK;async function exportJWK(key){return key_to_jwk_default(key)}async function encryptKeyManagement(alg,enc,key,providedCek,providedParameters={}){let encryptedKey;let parameters;let cek;check_key_type_default(alg,key,"encrypt");switch(alg){case"dir":{cek=key;break}case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!ecdhAllowed(key)){throw new JOSENotSupported("ECDH with the provided key is not allowed or not supported by your javascript runtime")}const{apu,apv}=providedParameters;let{epk:ephemeralKey}=providedParameters;ephemeralKey||(ephemeralKey=(await generateEpk(key)).privateKey);const{x,y,crv,kty}=await exportJWK(ephemeralKey);const sharedSecret=await deriveKey(key,ephemeralKey,alg==="ECDH-ES"?enc:alg,alg==="ECDH-ES"?bitLength2(enc):parseInt(alg.slice(-5,-2),10),apu,apv);parameters={epk:{x,crv,kty}};if(kty==="EC")parameters.epk.y=y;if(apu)parameters.apu=encode(apu);if(apv)parameters.apv=encode(apv);if(alg==="ECDH-ES"){cek=sharedSecret;break}cek=providedCek||cek_default(enc);const kwAlg=alg.slice(-6);encryptedKey=await wrap2(kwAlg,sharedSecret,cek);break}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{cek=providedCek||cek_default(enc);encryptedKey=await encrypt2(alg,key,cek);break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{cek=providedCek||cek_default(enc);const{p2c,p2s:p2s2}=providedParameters;({encryptedKey,...parameters}=await encrypt(alg,key,cek,p2c,p2s2));break}case"A128KW":case"A192KW":case"A256KW":{cek=providedCek||cek_default(enc);encryptedKey=await wrap2(alg,key,cek);break}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{cek=providedCek||cek_default(enc);const{iv}=providedParameters;({encryptedKey,...parameters}=await wrap3(alg,key,cek,iv));break}default:{throw new JOSENotSupported('Invalid or unsupported "alg" (JWE Algorithm) header value')}}return{cek,encryptedKey,parameters}}var encrypt_key_management_default=encryptKeyManagement;var unprotected=Symbol();var FlattenedEncrypt=class{constructor(plaintext){if(!(plaintext instanceof Uint8Array)){throw new TypeError("plaintext must be an instance of Uint8Array")}this._plaintext=plaintext}setKeyManagementParameters(parameters){if(this._keyManagementParameters){throw new TypeError("setKeyManagementParameters can only be called once")}this._keyManagementParameters=parameters;return this}setProtectedHeader(protectedHeader){if(this._protectedHeader){throw new TypeError("setProtectedHeader can only be called once")}this._protectedHeader=protectedHeader;return this}setSharedUnprotectedHeader(sharedUnprotectedHeader){if(this._sharedUnprotectedHeader){throw new TypeError("setSharedUnprotectedHeader can only be called once")}this._sharedUnprotectedHeader=sharedUnprotectedHeader;return this}setUnprotectedHeader(unprotectedHeader){if(this._unprotectedHeader){throw new TypeError("setUnprotectedHeader can only be called once")}this._unprotectedHeader=unprotectedHeader;return this}setAdditionalAuthenticatedData(aad){this._aad=aad;return this}setContentEncryptionKey(cek){if(this._cek){throw new TypeError("setContentEncryptionKey can only be called once")}this._cek=cek;return this}setInitializationVector(iv){if(this._iv){throw new TypeError("setInitializationVector can only be called once")}this._iv=iv;return this}async encrypt(key,options){if(!this._protectedHeader&&!this._unprotectedHeader&&!this._sharedUnprotectedHeader){throw new JWEInvalid("either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()")}if(!is_disjoint_default(this._protectedHeader,this._unprotectedHeader,this._sharedUnprotectedHeader)){throw new JWEInvalid("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint")}const joseHeader={...this._protectedHeader,...this._unprotectedHeader,...this._sharedUnprotectedHeader};validate_crit_default(JWEInvalid,new Map,options===null||options===void 0?void 0:options.crit,this._protectedHeader,joseHeader);if(joseHeader.zip!==void 0){if(!this._protectedHeader||!this._protectedHeader.zip){throw new JWEInvalid('JWE "zip" (Compression Algorithm) Header MUST be integrity protected')}if(joseHeader.zip!=="DEF"){throw new JOSENotSupported('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}}const{alg,enc}=joseHeader;if(typeof alg!=="string"||!alg){throw new JWEInvalid('JWE "alg" (Algorithm) Header Parameter missing or invalid')}if(typeof enc!=="string"||!enc){throw new JWEInvalid('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid')}let encryptedKey;if(alg==="dir"){if(this._cek){throw new TypeError("setContentEncryptionKey cannot be called when using Direct Encryption")}}else if(alg==="ECDH-ES"){if(this._cek){throw new TypeError("setContentEncryptionKey cannot be called when using Direct Key Agreement")}}let cek;{let parameters;({cek,encryptedKey,parameters}=await encrypt_key_management_default(alg,enc,key,this._cek,this._keyManagementParameters));if(parameters){if(options&&unprotected in options){if(!this._unprotectedHeader){this.setUnprotectedHeader(parameters)}else{this._unprotectedHeader={...this._unprotectedHeader,...parameters}}}else{if(!this._protectedHeader){this.setProtectedHeader(parameters)}else{this._protectedHeader={...this._protectedHeader,...parameters}}}}}this._iv||(this._iv=iv_default(enc));let additionalData;let protectedHeader;let aadMember;if(this._protectedHeader){protectedHeader=encoder.encode(encode(JSON.stringify(this._protectedHeader)))}else{protectedHeader=encoder.encode("")}if(this._aad){aadMember=encode(this._aad);additionalData=concat2(protectedHeader,encoder.encode("."),encoder.encode(aadMember))}else{additionalData=protectedHeader}let ciphertext;let tag;if(joseHeader.zip==="DEF"){const deflated=await((options===null||options===void 0?void 0:options.deflateRaw)||deflate)(this._plaintext);({ciphertext,tag}=await encrypt_default(enc,deflated,cek,this._iv,additionalData))}else{;({ciphertext,tag}=await encrypt_default(enc,this._plaintext,cek,this._iv,additionalData))}const jwe={ciphertext:encode(ciphertext),iv:encode(this._iv),tag:encode(tag)};if(encryptedKey){jwe.encrypted_key=encode(encryptedKey)}if(aadMember){jwe.aad=aadMember}if(this._protectedHeader){jwe.protected=decoder.decode(protectedHeader)}if(this._sharedUnprotectedHeader){jwe.unprotected=this._sharedUnprotectedHeader}if(this._unprotectedHeader){jwe.header=this._unprotectedHeader}return jwe}};var CompactEncrypt=class{constructor(plaintext){this._flattened=new FlattenedEncrypt(plaintext)}setContentEncryptionKey(cek){this._flattened.setContentEncryptionKey(cek);return this}setInitializationVector(iv){this._flattened.setInitializationVector(iv);return this}setProtectedHeader(protectedHeader){this._flattened.setProtectedHeader(protectedHeader);return this}setKeyManagementParameters(parameters){this._flattened.setKeyManagementParameters(parameters);return this}async encrypt(key,options){const jwe=await this._flattened.encrypt(key,options);return[jwe.protected,jwe.encrypted_key,jwe.iv,jwe.ciphertext,jwe.tag].join(".")}};var modulename30="TxRuntimeMetrics";var console41=console_default(modulename30);var JWE_VERSION=13;var statsPublicKeyPem=`-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2NCbB5DvpR7F8qHF9SyA
xJKv9lpGO2PiU5wYUmEQaa0IUrUZmQ8ivsoOyCZOGKN9PESsVyqZPx37fhtAIqNo
AXded6K6ortngEghqQloK3bi3hk8mclGXKmUhwimfrw77EIzd8dycSFQTwV+hiy6
osF2150yfeGRnD1vGbc6iS7Ewer0Zh9rwghXnl/jTupVprQggrhVIg62ZxmrQ0Gd
lj9pVXSu6QV/rjNbAVIiLFBGTjsHIKORQWV32oCguXu5krNvI+2lCBpOowY2dTO/
+TX0xXHgkGAQIdL0SdpD1SIe57hZsA2mOVitNwztE+KAhYsVBSqasGbly0lu7NDJ
oQIDAQAB
-----END PUBLIC KEY-----`;var jweHeader={alg:"RSA-OAEP-256",enc:"A256GCM",kid:"2023-05-21_stats"};var TxRuntimeMetrics=class{constructor(){this.#fxServerBootSeconds=false;this.loginOrigins=new MultipleCounter;this.loginMethods=new MultipleCounter;this.botCommands=new MultipleCounter;this.menuCommands=new MultipleCounter;this.banCheckTime=new QuantileArray(5e3,50);this.whitelistCheckTime=new QuantileArray(5e3,50);this.playersTableSearchTime=new QuantileArray(5e3,50);this.historyTableSearchTime=new QuantileArray(5e3,50);this.databaseSaveTime=new QuantileArray(1440,60);this.perfCollectionTime=new QuantileArray(1440,60);this.currHbData='{"error": "not yet initialized in TxRuntimeMetrics"}';this.monitorStats={healthIssues:{fd3:0,http:0},restartReasons:{bootTimeout:0,close:0,heartBeat:0,healthCheck:0,both:0}};setImmediate(()=>{this.loadStatsPublicKey()});setTimeout(()=>{this.refreshHbData().catch(e=>{})},15e3);setInterval(()=>{this.refreshHbData().catch(e=>{})},6e4)}#publicKey;#fxServerBootSeconds;async loadStatsPublicKey(){try{this.#publicKey=await importSPKI(statsPublicKeyPem,"RS256")}catch(error){fatalError_default.StatsTxRuntime(0,"Failed to load stats public key.",error)}}registerFxserverBoot(seconds){if(!Number.isInteger(seconds)||seconds<0){this.#fxServerBootSeconds=false}this.#fxServerBootSeconds=seconds;console41.verbose.debug(`FXServer booted in ${seconds} seconds.`)}registerFxserverRestart(reason){if(!(reason in this.monitorStats.restartReasons))return;this.monitorStats.restartReasons[reason]++}registerFxserverHealthIssue(type2){if(!(type2 in this.monitorStats.healthIssues))return;this.monitorStats.healthIssues[type2]++}async refreshHbData(){if(!this.#publicKey){console41.verbose.warn("Cannot refreshHbData because this.#publicKey is not set.");return}try{const hostData=getHostStaticData();const statsData={providerName:txHostConfig.providerName,isZapHosting:txEnv.isZapHosting,isPterodactyl:txEnv.isPterodactyl,osDistro:hostData.osDistro,hostCpuModel:`${hostData.cpu.manufacturer} ${hostData.cpu.brand}`,fxServerBootSeconds:this.#fxServerBootSeconds,loginOrigins:this.loginOrigins,loginMethods:this.loginMethods,botCommands:txConfig.discordBot.enabled?this.botCommands:false,menuCommands:txConfig.gameFeatures.menuEnabled?this.menuCommands:false,banCheckTime:txConfig.banlist.enabled?this.banCheckTime:false,whitelistCheckTime:txConfig.whitelist.mode!=="disabled"?this.whitelistCheckTime:false,playersTableSearchTime:this.playersTableSearchTime,historyTableSearchTime:this.historyTableSearchTime,adminCount:Array.isArray(txCore.adminStore.admins)?txCore.adminStore.admins.length:1,banCheckingEnabled:txConfig.banlist.enabled,whitelistMode:txConfig.whitelist.mode,recipeName:txCore.cacheStore.get("deployer:recipe")??"not_in_cache",tmpConfigFlags:Object.entries(txConfig.gameFeatures).filter(([key,value])=>value).map(([key])=>key),playerDb:txCore.database.stats.getDatabaseStats(),perfSummary:txCore.metrics.svRuntime.getServerPerfSummary()};const encodedHbData=new TextEncoder().encode(JSON.stringify(statsData));const jwe=await new CompactEncrypt(encodedHbData).setProtectedHeader(jweHeader).encrypt(this.#publicKey);this.currHbData=JSON.stringify({"$statsVersion":JWE_VERSION,jwe})}catch(error){console41.verbose.error("Error while updating stats data.");console41.verbose.dir(error);this.currHbData=JSON.stringify({error:error.message})}}};var import_promises17=__toESM(require("node:fs/promises"),1);var zIntNonNegative2=numberType().int().nonnegative();var PDLServerBootDataSchema=objectType({gameName:stringType().min(1).default("unknown"),gameBuild:stringType().min(1).default("unknown"),fxsVersion:stringType().min(1).default("unknown"),resources:arrayType(stringType().min(1)),projectName:stringType().optional()});var PDLFxsChangedEventSchema=objectType({ts:zIntNonNegative2,type:literalType("fxsChanged"),oldVersion:stringType(),newVersion:stringType()});var PDLGameChangedEventSchema=objectType({ts:zIntNonNegative2,type:literalType("gameChanged"),oldVersion:stringType(),newVersion:stringType()});var PDLResourcesChangedEventSchema=objectType({ts:zIntNonNegative2,type:literalType("resourcesChanged"),resAdded:arrayType(stringType().min(1)),resRemoved:arrayType(stringType().min(1))});var PDLHourlyRawSchema=objectType({hour:stringType(),changes:arrayType(unionType([PDLFxsChangedEventSchema,PDLGameChangedEventSchema,PDLResourcesChangedEventSchema])),crashTypes:arrayType(tupleType([stringType(),numberType()])),dropTypes:arrayType(tupleType([stringType(),numberType()])),resKicks:arrayType(tupleType([stringType(),numberType()]))});var PDLFileSchema=objectType({version:literalType(2),emptyReason:stringType().optional(),lastGameVersion:stringType(),lastServerVersion:stringType(),lastResourceList:arrayType(stringType()),lastUnknownReasons:arrayType(stringType()),log:arrayType(PDLHourlyRawSchema)});var PDLFxsChangedEventSchema_v1=PDLFxsChangedEventSchema.omit({oldVersion:true});var PDLGameChangedEventSchema_v1=PDLGameChangedEventSchema.omit({oldVersion:true});var PDLHourlyRawSchema_v1=PDLHourlyRawSchema.extend({changes:arrayType(unionType([PDLFxsChangedEventSchema_v1,PDLGameChangedEventSchema_v1,PDLResourcesChangedEventSchema]))}).omit({resKicks:true});var PDLFileSchema_v1=PDLFileSchema.extend({version:literalType(1),log:arrayType(PDLHourlyRawSchema_v1)});var daysMs2=24*60*60*1e3;var PDL_CRASH_REASON_CHAR_LIMIT=512;var PDL_UNKNOWN_REASON_CHAR_LIMIT=320;var PDL_UNKNOWN_LIST_SIZE_LIMIT=200;var PDL_RETENTION=14*daysMs2;var playerInitiatedRules=[`exiting`,`disconnected.`,`connecting to another server`,`could not find requested level`,`entering rockstar editor`,`quit:`,`reconnecting`,`reloading game`];var serverInitiatedRules=[`disconnected by server:`,`server shutting down:`,`[txadmin]`];var timeoutRules=[`server->client connection timed out`,`connection timed out`,`timed out after 60 seconds`];var securityRules=[`reliable network event overflow`,`reliable network event size overflow:`,`reliable server command overflow`,`reliable state bag packet overflow`,`unreliable network event overflow`,`connection to cnl timed out`,`server command overflow`,`invalid client configuration. restart your game and reconnect`];var crashRulesIntl=[`game crashed: `,`o jogo crashou: `,`le jeu a cessé de fonctionner : `,`spielabsturz: `,`el juego crasheó: `,`تعطلت العبة: `,`spel werkt niet meer: `,`oyun çöktü: `,`a játék összeomlott: `,`il gioco ha smesso di funzionare: `,`游戏发生崩溃：`,`遊戲已崩潰: `,`pád hry: `,`spelet kraschade: `];var exceptionPrefixesIntl=[`unhandled exception: `,`exceção não tratada: `,`exception non-gérée : `,`unbehandelte ausnahme: `,`excepción no manejada: `,`استثناء غير معالج: `,`i̇şlenemeyen özel durum: `,`nem kezelt kivétel: `,`eccezione non gestita: `,`未处理的异常：`,`未處理的異常： `,`neošetřená výjimka: `,`okänt fel: `];var truncateReason=(reason,maxLength,prefix)=>{prefix=prefix?`${prefix} `:"";if(prefix){maxLength-=prefix.length}const truncationSuffix="[truncated]";if(!reason.length){return prefix+"[tx:empty-reason]"}else if(reason.length>maxLength){return prefix+reason.slice(0,maxLength-truncationSuffix.length)+truncationSuffix}else{return prefix+reason}};var cleanCrashReason=reason=>{const cutoffIdx=reason.indexOf(": ")+2;const msg=reason.slice(cutoffIdx);const exceptionPrefix=exceptionPrefixesIntl.find(prefix=>msg.toLocaleLowerCase().startsWith(prefix));const saveMsg=exceptionPrefix?"Unhandled exception: "+msg.slice(exceptionPrefix.length):msg;return truncateReason(saveMsg,PDL_CRASH_REASON_CHAR_LIMIT)};var guessDropReasonCategory=reason=>{if(typeof reason!=="string"){return{category:"unknown",cleanReason:"[tx:invalid-reason]"}}const reasonToMatch=reason.trim().toLocaleLowerCase();if(!reasonToMatch.length){return{category:"unknown",cleanReason:"[tx:empty-reason]"}}else if(playerInitiatedRules.some(rule=>reasonToMatch.startsWith(rule))){return{category:"player"}}else if(serverInitiatedRules.some(rule=>reasonToMatch.startsWith(rule))){return{category:false}}else if(timeoutRules.some(rule=>reasonToMatch.includes(rule))){return{category:"timeout"}}else if(securityRules.some(rule=>reasonToMatch.includes(rule))){return{category:"security"}}else if(crashRulesIntl.some(rule=>reasonToMatch.includes(rule))){return{category:"crash",cleanReason:cleanCrashReason(reason)}}else{return{category:"unknown",cleanReason:truncateReason(reason,PDL_UNKNOWN_REASON_CHAR_LIMIT)}}};var timeoutCategory=[5,6,12];var securityCategory=[3,4,8,9,10,11];var classifyDrop=payload=>{if(typeof payload.reason!=="string"){return{category:"unknown",cleanReason:"[tx:invalid-reason]"}}else if(payload.category===void 0||payload.resource===void 0){return guessDropReasonCategory(payload.reason)}if(typeof payload.category!=="number"||payload.category<=0){return{category:"unknown",cleanReason:truncateReason(payload.reason,PDL_UNKNOWN_REASON_CHAR_LIMIT,"[tx:invalid-category]")}}else if(payload.category===1){if(payload.resource==="monitor"){if(payload.reason==="server_shutting_down"){return{category:false}}else{return{category:"resource",resource:"txAdmin"}}}else{return{category:"resource",resource:payload.resource?payload.resource:"unknown"}}}else if(payload.category===2){const reasonToMatch=payload.reason.trim().toLocaleLowerCase();if(crashRulesIntl.some(rule=>reasonToMatch.includes(rule))){return{category:"crash",cleanReason:cleanCrashReason(payload.reason)}}else{return{category:"player"}}}else if(timeoutCategory.includes(payload.category)){return{category:"timeout"}}else if(securityCategory.includes(payload.category)){return{category:"security"}}else if(payload.category===7){return{category:false}}else{return{category:"unknown",cleanReason:truncateReason(payload.reason,PDL_UNKNOWN_REASON_CHAR_LIMIT,"[tx:unknown-category]")}}};var getDateHourEnc=()=>{const now3=new Date;const dateHourTs=now3.setUTCMinutes(0,0,0);return{dateHourTs,dateHourStr:now3.toISOString()}};var parseDateHourEnc=dateHourStr=>{const date=new Date(dateHourStr);const dateHourTs=date.setUTCMinutes(0,0,0);return{dateHourTs,dateHourStr}};var migratePlayerDropsFile=async fileData=>{if(fileData.version===1){console.warn("Migrating your player drops stats v1 to v2.");const data=PDLFileSchema_v1.parse(fileData);const crashPrefix="Game crashed: ";let lastFxsVersion="unknown";let lastGameVersion="unknown";for(const log2 of data.log){for(const event of log2.changes){if(event.type==="fxsChanged"){event.oldVersion=lastFxsVersion;lastFxsVersion=event.newVersion}else if(event.type==="gameChanged"){event.oldVersion=lastGameVersion;lastGameVersion=event.newVersion}}log2.crashTypes=log2.crashTypes.map(([reason,count])=>{const newReason=reason.startsWith(crashPrefix)?reason.slice(crashPrefix.length):reason;return[newReason,count]});log2.dropTypes=log2.dropTypes.map(([type2,count])=>{if(type2==="user-initiated"){return["player",count]}else if(type2==="server-initiated"){return false}else{return[type2,count]}}).filter(Array.isArray);log2.resKicks=[]}fileData={...data,version:LOG_DATA_FILE_VERSION2}}if(fileData.version===LOG_DATA_FILE_VERSION2){return PDLFileSchema.parse(fileData)}else{throw new Error(`Unknown file version: ${fileData.version}`)}};var modulename31="PlayerDropMetrics";var console42=console_default(modulename31);var LOG_DATA_FILE_VERSION2=2;var LOG_DATA_FILE_NAME2="stats_playerDrop.json";var PlayerDropMetrics=class{constructor(){this.logFilePath=`${txEnv.profilePath}/data/${LOG_DATA_FILE_NAME2}`;this.eventLog=[];this.lastUnknownReasons=[];this.queueSaveEventLog=throttle2(15e3,this.saveEventLog.bind(this),{noLeading:true});setImmediate(()=>{this.loadEventLog()})}getRecentDropTally(windowHours){const logCutoff=new Date().setUTCMinutes(0,0,0)-windowHours*60*60*1e3-1;const flatCounts=this.eventLog.filter(entry=>entry.hour.dateHourTs>=logCutoff).map(entry=>entry.dropTypes.toSortedValuesArray()).flat();const cumulativeCounter=new MultipleCounter;cumulativeCounter.merge(flatCounts);return cumulativeCounter.toSortedValuesArray()}getRecentSummary(windowHours){const logCutoff=new Date().setUTCMinutes(0,0,0)-windowHours*60*60*1e3;const windowSummary=this.eventLog.filter(entry=>entry.hour.dateHourTs>=logCutoff).map(entry=>({hour:entry.hour.dateHourStr,changes:entry.changes.length,dropTypes:entry.dropTypes.toSortedValuesArray()}));return windowSummary}getWindowData(windowStart,windowEnd){const allChanges=[];const crashTypes=new MultipleCounter;const dropTypes=new MultipleCounter;const resKicks=new MultipleCounter;const filteredLogs=this.eventLog.filter(entry=>{return entry.hour.dateHourTs>=windowStart&&entry.hour.dateHourTs<=windowEnd});for(const log2 of filteredLogs){allChanges.push(...log2.changes);crashTypes.merge(log2.crashTypes);dropTypes.merge(log2.dropTypes);resKicks.merge(log2.resKicks)}return{changes:allChanges,crashTypes:crashTypes.toSortedValuesArray(true),dropTypes:dropTypes.toSortedValuesArray(true),resKicks:resKicks.toSortedValuesArray(true)}}getCurrentLogHourRef(){const{dateHourTs,dateHourStr}=getDateHourEnc();const currentHourLog=this.eventLog.find(entry=>entry.hour.dateHourStr===dateHourStr);if(currentHourLog)return currentHourLog;const newHourLog={hour:{dateHourTs,dateHourStr},changes:[],crashTypes:new MultipleCounter,dropTypes:new MultipleCounter,resKicks:new MultipleCounter};this.eventLog.push(newHourLog);return newHourLog}handleServerBootData(rawPayload){const logRef=this.getCurrentLogHourRef();const validation=PDLServerBootDataSchema.safeParse(rawPayload);if(!validation.success){console42.warn(`Invalid server boot data: ${validation.error.errors}`);return}const{gameName,gameBuild,fxsVersion:fxsVersion2,resources}=validation.data;let shouldSave=false;const gameString=`${gameName}:${gameBuild}`;if(gameString){if(!this.lastGameVersion){shouldSave=true}else if(gameString!==this.lastGameVersion){shouldSave=true;logRef.changes.push({ts:Date.now(),type:"gameChanged",oldVersion:this.lastGameVersion,newVersion:gameString})}this.lastGameVersion=gameString}let{build:serverBuild,platform:serverPlatform}=parseFxserverVersion(fxsVersion2);const fxsVersionString=`${serverPlatform}:${serverBuild}`;if(fxsVersionString){if(!this.lastServerVersion){shouldSave=true}else if(fxsVersionString!==this.lastServerVersion){shouldSave=true;logRef.changes.push({ts:Date.now(),type:"fxsChanged",oldVersion:this.lastServerVersion,newVersion:fxsVersionString})}this.lastServerVersion=fxsVersionString}if(resources.length){if(!this.lastResourceList||!this.lastResourceList.length){shouldSave=true}else{const resAdded=resources.filter(r=>!this.lastResourceList.includes(r));const resRemoved=this.lastResourceList.filter(r=>!resources.includes(r));if(resAdded.length||resRemoved.length){shouldSave=true;logRef.changes.push({ts:Date.now(),type:"resourcesChanged",resAdded,resRemoved})}}this.lastResourceList=resources}if(shouldSave){this.queueSaveEventLog()}}handlePlayerDrop(event){const drop2=classifyDrop(event);if(drop2.category===false)return false;const logRef=this.getCurrentLogHourRef();logRef.dropTypes.count(drop2.category);if(drop2.category==="resource"&&drop2.resource){logRef.resKicks.count(drop2.resource)}else if(drop2.category==="crash"&&drop2.cleanReason){logRef.crashTypes.count(drop2.cleanReason)}else if(drop2.category==="unknown"&&drop2.cleanReason){if(!this.lastUnknownReasons.includes(drop2.cleanReason)){this.lastUnknownReasons.push(drop2.cleanReason)}}this.queueSaveEventLog();return drop2.category}resetLog(reason){if(typeof reason!=="string"||!reason)throw new Error(`reason required`);this.eventLog=[];this.lastGameVersion=void 0;this.lastServerVersion=void 0;this.lastResourceList=void 0;this.lastUnknownReasons=[];this.queueSaveEventLog.cancel({upcomingOnly:true});this.saveEventLog(reason)}async loadEventLog(){try{const rawFileData=await import_promises17.default.readFile(this.logFilePath,"utf8");const fileData=JSON.parse(rawFileData);let statsData;if(fileData.version===LOG_DATA_FILE_VERSION2){statsData=PDLFileSchema.parse(fileData)}else{try{statsData=await migratePlayerDropsFile(fileData)}catch(error){throw new Error(`Failed to migrate ${LOG_DATA_FILE_NAME2} from ${fileData==null?void 0:fileData.version} to ${LOG_DATA_FILE_VERSION2}: ${error.message}`)}}this.lastGameVersion=statsData.lastGameVersion;this.lastServerVersion=statsData.lastServerVersion;this.lastResourceList=statsData.lastResourceList;this.lastUnknownReasons=statsData.lastUnknownReasons;this.eventLog=statsData.log.map(entry=>{return{hour:parseDateHourEnc(entry.hour),changes:entry.changes,crashTypes:new MultipleCounter(entry.crashTypes),dropTypes:new MultipleCounter(entry.dropTypes),resKicks:new MultipleCounter(entry.resKicks)}});console42.verbose.ok(`Loaded ${this.eventLog.length} log entries from cache`);this.optimizeStatsLog()}catch(error){if((error==null?void 0:error.code)==="ENOENT"){console42.verbose.debug(`${LOG_DATA_FILE_NAME2} not found, starting with empty stats.`);this.resetLog("File was just created, no data yet");return}if(error instanceof ZodError){console42.warn(`Failed to load ${LOG_DATA_FILE_NAME2} due to invalid data.`);this.resetLog("Failed to load log file due to invalid data")}else{console42.warn(`Failed to load ${LOG_DATA_FILE_NAME2} with message: ${error.message}`);this.resetLog("Failed to load log file due to unknown error")}console42.warn("Since this is not a critical file, it will be reset.")}}optimizeStatsLog(){if(this.lastUnknownReasons.length>PDL_UNKNOWN_LIST_SIZE_LIMIT){this.lastUnknownReasons=this.lastUnknownReasons.slice(-PDL_UNKNOWN_LIST_SIZE_LIMIT)}const maxAge=Date.now()-PDL_RETENTION;const cutoffIdx=this.eventLog.findIndex(entry=>entry.hour.dateHourTs>maxAge);if(cutoffIdx>0){this.eventLog=this.eventLog.slice(cutoffIdx)}}async saveEventLog(emptyReason){try{const sizeBefore=this.eventLog.length;this.optimizeStatsLog();if(!this.eventLog.length){if(sizeBefore){emptyReason??="Cleared due to retention policy"}}else{emptyReason=void 0}const savePerfData={version:LOG_DATA_FILE_VERSION2,emptyReason,lastGameVersion:this.lastGameVersion??"unknown",lastServerVersion:this.lastServerVersion??"unknown",lastResourceList:this.lastResourceList??[],lastUnknownReasons:this.lastUnknownReasons,log:this.eventLog.map(entry=>{return{hour:entry.hour.dateHourStr,changes:entry.changes,crashTypes:entry.crashTypes.toArray(),dropTypes:entry.dropTypes.toArray(),resKicks:entry.resKicks.toArray()}})};await import_promises17.default.writeFile(this.logFilePath,JSON.stringify(savePerfData))}catch(error){console42.warn(`Failed to save ${LOG_DATA_FILE_NAME2} with message: ${error.message}`)}}};var modulename32="Metrics";var console43=console_default(modulename32);var Metrics=class{constructor(){this.svRuntime=new SvRuntimeMetrics;this.txRuntime=new TxRuntimeMetrics;this.playerDrop=new PlayerDropMetrics}handleConfigUpdate(updatedConfigs){if(updatedConfigs.hasMatch("whitelist.mode")){txCore.metrics.txRuntime.whitelistCheckTime.clear()}const hasServerDataChanged=updatedConfigs.hasMatch("server.dataPath");const hasServerCfgChanged=updatedConfigs.hasMatch("server.cfgPath");let pdlResetMsgPart;if(hasServerDataChanged&&hasServerCfgChanged){pdlResetMsgPart="Data Path and CFG Path"}else if(hasServerDataChanged){pdlResetMsgPart="Data Path"}else if(hasServerCfgChanged){pdlResetMsgPart="CFG Path"}if(pdlResetMsgPart){this.playerDrop.resetLog(`Server ${pdlResetMsgPart} changed.`)}}};Metrics.configKeysWatched=["server.dataPath","server.cfgPath","whitelist.mode"];var import_node_fs9=__toESM(require("node:fs"),1);var import_node_polyglot=__toESM(require_node_polyglot(),1);var import_humanize_duration2=__toESM(require_humanize_duration(),1);var modulename33="Translator";var console44=console_default(modulename33);var localeFileSchema=z.object({$meta:z.object({label:z.string().min(1),humanizer_language:z.string().min(1)})}).passthrough();var _polyglot;var Translator=class{constructor(){this.customLocalePath=txHostConfig.dataSubPath("locale.json");this.canonical="en-GB";__privateAdd(this,_polyglot,null);this.setupTranslator(true)}handleConfigUpdate(updatedConfigs){this.setupTranslator(false)}setupTranslator(isFirstTime=false){try{this.canonical=Intl.getCanonicalLocales(txConfig.general.language.replace(/_/g,"-"))[0]}catch(error){this.canonical="en-GB"}try{const phrases=this.getLanguagePhrases(txConfig.general.language);const polyglotOptions={allowMissing:false,onMissingKey:key=>{console44.error(`Missing key '${key}' from translation file.`,"Translator");return key},phrases};__privateSet(this,_polyglot,new import_node_polyglot.default(polyglotOptions))}catch(error){if(isFirstTime){fatalError_default.Translator(0,"Failed to load initial language file",error)}else{console44.dir(error)}}}getLanguagePhrases(lang){var _a12;if((_a12=localeMap_default[lang])==null?void 0:_a12.$meta){return localeMap_default[lang]}else if(lang==="custom"){try{return JSON.parse(import_node_fs9.default.readFileSync(this.customLocalePath,"utf8"))}catch(error){throw new Error(`Failed to load '${this.customLocalePath}'. (${error.message})`)}}else{throw new Error(`Language '${lang}' not found.`)}}t(key,options={}){if(!__privateGet(this,_polyglot))throw new Error(`polyglot not yet loaded`);try{return __privateGet(this,_polyglot).t(key,options)}catch(error){console44.error(`Error performing a translation with key '${key}'`);return key}}tDuration(ms,options={}){if(!__privateGet(this,_polyglot))throw new Error(`polyglot not yet loaded`);try{const lang=__privateGet(this,_polyglot).t("$meta.humanizer_language");return msToDuration(ms,{...options,language:lang})}catch(error){console44.error(`Error humanizing duration`,error);return String(ms)+"ms"}}};_polyglot=new WeakMap;Translator.configKeysWatched=["general.language"];Translator.humanizerLanguages=import_humanize_duration2.default.getSupportedLanguages();var import_node_crypto8=__toESM(require("node:crypto"),1);var import_node_path22=__toESM(require("node:path"),1);var import_node_http3=__toESM(require("node:http"),1);var import_application=__toESM(require_application3(),1);var koa_default=import_application.default;var HttpError=import_application.default.HttpError;var import_koa_bodyparser=__toESM(require_koa_bodyparser(),1);var import_cors=__toESM(require_cors(),1);var import_dist=__toESM(require_dist11(),1);var{Server,Namespace,Socket}=import_dist.default;var status_default2={permission:true,eventName:"status",cumulativeBuffer:false,outBuffer:null,initialData:()=>{return txManager.globalStatus}};var getInitialData=()=>{const svRuntimeStats=txCore.metrics.svRuntime.getRecentStats();return{playerDrop:{summaryLast6h:txCore.metrics.playerDrop.getRecentDropTally(6)},svRuntime:{fxsMemory:svRuntimeStats.fxsMemory,nodeMemory:svRuntimeStats.nodeMemory,perfBoundaries:svRuntimeStats.perfBoundaries,perfBucketCounts:svRuntimeStats.perfBucketCounts}}};var dashboard_default={permission:true,eventName:"dashboard",cumulativeBuffer:false,outBuffer:null,initialData:()=>{return getInitialData()}};var playerlist_default={permission:true,eventName:"playerlist",cumulativeBuffer:true,outBuffer:[],initialData:()=>{var _a12;return[{mutex:((_a12=txCore.fxRunner.child)==null?void 0:_a12.mutex)??null,type:"fullPlayerlist",playerlist:txCore.fxPlayerlist.getPlayerList()}]}};var liveconsole_default={permission:"console.view",eventName:"consoleData",cumulativeBuffer:true,outBuffer:"",initialData:()=>txCore.logger.fxserver.getRecentBuffer(),commands:{consoleCommand:{permission:"console.write",handler:(admin,command)=>{if(typeof command!=="string"||!command)return;const sanitized=command.replaceAll(/\n/g," ");admin.logCommand(sanitized);txCore.fxRunner.sendRawCommand(sanitized,admin.name);txCore.fxRunner.sendEvent("consoleCommand",{channel:"txAdmin",command:sanitized,author:admin.name})}}}};var serverlog_default={permission:"server.log.view",eventName:"logData",cumulativeBuffer:true,outBuffer:[],initialData:()=>txCore.logger.server.getRecentBuffer(500),commands:{}};var modulename34="WebServer:AuthLogic";var console45=console_default(modulename34);var AuthedAdmin=class{constructor(vaultAdmin,csrfToken){this.name=vaultAdmin.name;this.isMaster=vaultAdmin.master;this.permissions=vaultAdmin.permissions;this.isTempPassword=typeof vaultAdmin.password_temporary!=="undefined";this.csrfToken=csrfToken;const cachedPfp=txCore.cacheStore.get(`admin:picture:${vaultAdmin.name}`);this.profilePicture=typeof cachedPfp==="string"?cachedPfp:void 0}logAction(action){txCore.logger.admin.write(this.name,action)}logCommand(data){txCore.logger.admin.write(this.name,data,"command")}hasPermission(perm){try{if(perm==="master"){return this.isMaster}return this.isMaster||this.permissions.includes("all_permissions")||this.permissions.includes(perm)}catch(error){console45.verbose.warn(`Error validating permission '${perm}' denied.`);return false}}testPermission(perm,fromCtx){if(!this.hasPermission(perm)){console45.verbose.warn(`[${this.name}] Permission '${perm}' denied.`,fromCtx);return false}return true}getAuthData(){return{name:this.name,permissions:this.isMaster?["all_permissions"]:this.permissions,isMaster:this.isMaster,isTempPassword:this.isTempPassword,profilePicture:this.profilePicture,csrfToken:this.csrfToken??"not_set"}}};var successResp=(vaultAdmin,csrfToken)=>({success:true,admin:new AuthedAdmin(vaultAdmin,csrfToken)});var failResp=reason=>({success:false,rejectReason:reason});var validPassSessAuthSchema=z.object({type:z.literal("password"),username:z.string(),csrfToken:z.string(),expiresAt:z.literal(false),password_hash:z.string()});var validCfxreSessAuthSchema=z.object({type:z.literal("cfxre"),username:z.string(),csrfToken:z.string(),expiresAt:z.number(),identifier:z.string()});var validSessAuthSchema=z.discriminatedUnion("type",[validPassSessAuthSchema,validCfxreSessAuthSchema]);var checkRequestAuth=(reqHeader,reqIp,isLocalRequest,sessTools)=>{return typeof reqHeader["x-txadmin-token"]==="string"?nuiAuthLogic(reqIp,isLocalRequest,reqHeader):normalAuthLogic(sessTools)};var normalAuthLogic=sessTools=>{var _a12;try{const sess=sessTools.get();if(!sess){return failResp()}const validationResult=validSessAuthSchema.safeParse(sess==null?void 0:sess.auth);if(!validationResult.success){return failResp()}const sessAuth=validationResult.data;if(sessAuth.expiresAt!==false&&Date.now()>sessAuth.expiresAt){return failResp(`Expired session from '${(_a12=sess.auth)==null?void 0:_a12.username}'.`)}const vaultAdmin=txCore.adminStore.getAdminByName(sessAuth.username);if(!vaultAdmin){return failResp(`Admin '${sessAuth.username}' not found.`)}if(sessAuth.type==="password"){if(vaultAdmin.password_hash!==sessAuth.password_hash){return failResp(`Password hash doesn't match for '${sessAuth.username}'.`)}return successResp(vaultAdmin,sessAuth.csrfToken)}else if(sessAuth.type==="cfxre"){if(typeof vaultAdmin.providers.citizenfx!=="object"||vaultAdmin.providers.citizenfx.identifier!==sessAuth.identifier){return failResp(`Cfxre identifier doesn't match for '${sessAuth.username}'.`)}return successResp(vaultAdmin,sessAuth.csrfToken)}else{return failResp("Invalid auth type.")}}catch(error){console45.debug(`Error validating session data: ${error.message}`);return failResp("Error validating session data.")}};var nuiAuthLogic=(reqIp,isLocalRequest,reqHeader)=>{try{if(!isLocalRequest&&!txEnv.isZapHosting&&!txConfig.webServer.disableNuiSourceCheck){console45.verbose.warn(`NUI Auth Failed: reqIp "${reqIp}" not a local or allowed address.`);return failResp("Invalid Request: source")}if(typeof reqHeader["x-txadmin-token"]!=="string"){return failResp("Invalid Request: token header")}if(typeof reqHeader["x-txadmin-identifiers"]!=="string"){return failResp("Invalid Request: identifiers header")}if(reqHeader["x-txadmin-token"]!==txCore.webServer.luaComToken){const expected=txCore.webServer.luaComToken;const censoredExpected=expected.slice(0,6)+"..."+expected.slice(-6);console45.verbose.warn(`NUI Auth Failed: token received '${reqHeader["x-txadmin-token"]}' !== expected '${censoredExpected}'.`);return failResp("Unauthorized: token value")}const identifiers=reqHeader["x-txadmin-identifiers"].split(",").filter(i=>i.length);if(!identifiers.length){return failResp("Unauthorized: empty identifier array")}const vaultAdmin=txCore.adminStore.getAdminByIdentifiers(identifiers);if(!vaultAdmin){if(!reqHeader["x-txadmin-identifiers"].includes("license:")){return failResp("Unauthorized: you do not have a license identifier, which means the server probably has sv_lan enabled. Please disable sv_lan and restart the server to use the in-game menu.")}else{return failResp("nui_admin_not_found")}}return successResp(vaultAdmin,void 0)}catch(error){console45.debug(`Error validating session data: ${error.message}`);return failResp("Error validating auth header")}};var modulename35="WebSocket";var console46=console_default(modulename35);var VALID_ROOMS=["status","dashboard","liveconsole","serverlog","playerlist"];var getIP=socket=>{var _a12,_b2;return((_b2=(_a12=socket==null?void 0:socket.request)==null?void 0:_a12.socket)==null?void 0:_b2.remoteAddress)??"unknown"};var terminateSession=(socket,reason,shouldLog=true)=>{try{socket.emit("logout",reason);socket.disconnect();if(shouldLog){console46.verbose.warn("SocketIO","dropping new connection:",reason)}}catch(error){}};var forceUiReload=socket=>{try{socket.emit("refreshToUpdate");socket.disconnect()}catch(error){}};var sendShutdown=socket=>{try{socket.emit("txAdminShuttingDown");socket.disconnect()}catch(error){}};var WebSocket=class{#io;#rooms;#eventBuffer=[];constructor(io2){this.#io=io2;this.#rooms={status:status_default2,dashboard:dashboard_default,playerlist:playerlist_default,liveconsole:liveconsole_default,serverlog:serverlog_default};setInterval(this.flushBuffers.bind(this),250)}async handleShutdown(){const sockets=await this.#io.fetchSockets();for(const socket of sockets){sendShutdown(socket)}}async reCheckAdminAuths(){const sockets=await this.#io.fetchSockets();console46.verbose.warn(`SocketIO`,`AdminStore changed, refreshing auth for ${sockets.length} sockets.`);for(const socket of sockets){const reqIp=getIP(socket);const authResult=checkRequestAuth(socket.handshake.headers,reqIp,isIpAddressLocal(reqIp),socket.sessTools);if(!authResult.success){return terminateSession(socket,"session invalidated by websocket.reCheckAdminAuths()",true)}const{admin:authedAdmin}=authResult;socket.emit("updateAuthData",authedAdmin.getAuthData());for(const roomName of socket.rooms){if(roomName===socket.id)continue;const roomData=this.#rooms[roomName];if(roomData.permission!==true&&!authedAdmin.hasPermission(roomData.permission)){socket.leave(roomName)}}}}handleConnection(socket){if(socket.handshake.query.uiVersion&&socket.handshake.query.uiVersion!==txEnv.txaVersion){return forceUiReload(socket)}try{const reqIp=getIP(socket);const authResult=checkRequestAuth(socket.handshake.headers,reqIp,isIpAddressLocal(reqIp),socket.sessTools);if(!authResult.success){return terminateSession(socket,"invalid session",false)}const{admin:authedAdmin}=authResult;if(typeof socket.handshake.query.rooms!=="string"){return terminateSession(socket,"no query.rooms")}const requestedRooms=socket.handshake.query.rooms.split(",").filter((v,i,arr)=>arr.indexOf(v)===i).filter(r=>VALID_ROOMS.includes(r));if(!requestedRooms.length){return terminateSession(socket,"no valid room requested")}this.flushBuffers();for(const requestedRoomName of requestedRooms){const room=this.#rooms[requestedRoomName];if(room.permission!==true&&!authedAdmin.hasPermission(room.permission)){continue}for(const[commandName,commandData]of Object.entries(room.commands??[])){if(commandData.permission===true||authedAdmin.hasPermission(commandData.permission)){socket.on(commandName,(...args2)=>{if(socket.rooms.has(requestedRoomName)){commandData.handler(authedAdmin,...args2)}else{console46.verbose.debug("SocketIO",`Command '${requestedRoomName}#${commandName}' was ignored due to admin not being in the room.`)}})}}socket.join(requestedRoomName);socket.emit(room.eventName,room.initialData())}socket.on("disconnect",reason=>{});socket.on("error",error=>{console46.verbose.debug("SocketIO",`Socket error with message: ${error.message}`)})}catch(error){console46.error("SocketIO",`Error handling new connection: ${error.message}`);socket.disconnect()}}buffer(roomName,data){const room=this.#rooms[roomName];if(!room)throw new Error("Room not found");if(room.cumulativeBuffer){if(Array.isArray(room.outBuffer)){room.outBuffer.push(data)}else if(typeof room.outBuffer==="string"){room.outBuffer+=data}else{throw new Error(`cumulative buffers can only be arrays or strings`)}}else{room.outBuffer=data}}flushBuffers(){for(const[roomName,room]of Object.entries(this.#rooms)){if(room.cumulativeBuffer&&room.outBuffer.length){this.#io.to(roomName).emit(room.eventName,room.outBuffer);if(Array.isArray(room.outBuffer)){room.outBuffer=[]}else if(typeof room.outBuffer==="string"){room.outBuffer=""}else{throw new Error(`cumulative buffers can only be arrays or strings`)}}else if(!room.cumulativeBuffer&&room.outBuffer!==null){this.#io.to(roomName).emit(room.eventName,room.outBuffer);room.outBuffer=null}}for(const event of this.#eventBuffer){this.#io.emit(event.name,event.data)}this.#eventBuffer=[]}pushRefresh(roomName){if(!VALID_ROOMS.includes(roomName))throw new Error(`Invalid room '${roomName}'.`);const room=this.#rooms[roomName];if(room.cumulativeBuffer)throw new Error(`The room '${roomName}' has a cumulative buffer.`);setImmediate(()=>{room.outBuffer=room.initialData()})}pushEvent(name,data){this.#eventBuffer.push({name,data})}};var import_nolookalikes3=__toESM(require_nolookalikes(),1);var import_router=__toESM(require_router(),1);var import_koa_ratelimit=__toESM(require_koa_ratelimit(),1);var fsp15=__toESM(require("node:fs/promises"),1);var path16=__toESM(require("node:path"),1);var IGNORED_DIRS=["cache","db","node_modules",".git",".idea",".vscode"];var MANIFEST_FILES=["fxmanifest.lua","__resource.lua"];var RES_CATEGORIES_LIMIT=250;var CFG_SIZE_LIMIT=32*1024;var getServerDataContent=async serverDataPath=>{let resourcesInRoot=false;const content=[];let resourceCategories=0;const rootEntries=await fsp15.readdir(serverDataPath,{withFileTypes:true});for(const entry of rootEntries){if(entry.isDirectory()){content.push([entry.name,false]);if(entry.name==="resources"){resourcesInRoot=true}}else if(entry.isFile()){const stat3=await fsp15.stat(path16.join(serverDataPath,entry.name));content.push([entry.name,stat3.size])}}if(!resourcesInRoot)return content;const categoriesToScan=[path16.join(serverDataPath,"resources")];while(categoriesToScan.length){if(resourceCategories>=RES_CATEGORIES_LIMIT){throw new Error(`Scanning above the limit of ${RES_CATEGORIES_LIMIT} resource categories.`)}resourceCategories++;const currCategory=categoriesToScan.shift();const currCatDirEntries=await fsp15.readdir(currCategory,{withFileTypes:true});for(const catDirEntry of currCatDirEntries){const catDirEntryFullPath=path16.join(currCategory,catDirEntry.name);const catDirEntryRelativePath=path16.relative(serverDataPath,catDirEntryFullPath);if(catDirEntry.isDirectory()){content.push([path16.relative(serverDataPath,catDirEntryFullPath),false]);if(!catDirEntry.name.length||IGNORED_DIRS.includes(catDirEntry.name))continue;if(catDirEntry.name[0]==="["&&catDirEntry.name[catDirEntry.name.length-1]==="]"){categoriesToScan.push(catDirEntryFullPath)}else{const resourceFullPath=catDirEntryFullPath;const resourceRelativePath=catDirEntryRelativePath;let resourceHasManifest=false;const resDirEntries=await fsp15.readdir(resourceFullPath,{withFileTypes:true});for(const resDirEntry of resDirEntries){const resEntryFullPath=path16.join(resourceFullPath,resDirEntry.name);const resEntryRelativePath=path16.join(resourceRelativePath,resDirEntry.name);if(resDirEntry.isDirectory()){content.push([resEntryRelativePath,false])}else if(resDirEntry.isFile()){const stat3=await fsp15.stat(resEntryFullPath);content.push([resEntryRelativePath,stat3.size]);if(!resourceHasManifest&&MANIFEST_FILES.includes(resDirEntry.name)){resourceHasManifest=true}}};}}else if(catDirEntry.isFile()){const stat3=await fsp15.stat(catDirEntryFullPath);content.push([catDirEntryRelativePath,stat3.size])}}}content.sort(([aName,aSize],[bName,bSize])=>{const aDir=path16.parse(aName).dir;const bDir=path16.parse(bName).dir;if(aDir!==bDir){return aName.localeCompare(bName)}else if(aSize===false&&bSize!==false){return-1}else if(aSize!==false&&bSize===false){return 1}else{return aName.localeCompare(bName)}});return content};var getServerDataConfigs=async(serverDataPath,serverDataContent)=>{const configs=[];for(const[entryPath,entrySize]of serverDataContent){if(typeof entrySize!=="number"||!entryPath.endsWith(".cfg"))continue;if(entrySize>CFG_SIZE_LIMIT){configs.push([entryPath,"file is too big"])}try{const rawData=await fsp15.readFile(path16.join(serverDataPath,entryPath),"utf8");configs.push([entryPath,rawData])}catch(error){configs.push([entryPath,error.message])}}return configs};var isValidServerDataPath=async dataPath3=>{var _a12,_b2,_c;try{const rootEntries=await getPathSubdirs(dataPath3);if(!rootEntries.some(e=>e.name==="resources")){throw new Error("The provided directory does not contain a `resources` subdirectory.")}}catch(err){const error=err;let msg=getFsErrorMdMessage(error,dataPath3);if(dataPath3.includes("resources")){msg=`Looks like this path is the \`resources\` folder, but the server data path must be the folder that contains the resources folder instead of the resources folder itself.
**Try removing the \`resources\` part at the end of the path.**`}throw new Error(msg)}try{const resourceEntries=await getPathSubdirs(path16.join(dataPath3,"resources"));if(!resourceEntries.length){throw new Error("The `resources` directory is empty.")}}catch(err){const error=err;let msg=error.message;if((_a12=error.message)==null?void 0:_a12.includes("ENOENT")){msg=`The \`resources\` directory does not exist inside the provided Server Data Folder:
\`${dataPath3}\``}else if(((_b2=error.message)==null?void 0:_b2.includes("EACCES"))||((_c=error.message)==null?void 0:_c.includes("EPERM"))){msg=`The \`resources\` directory is not accessible inside the provided Server Data Folder:
\`${dataPath3}\``}throw new Error(msg)}return true};var findPotentialServerDataPaths=async initialPath=>{const checkTarget=async target=>{try{return await isValidServerDataPath(target)}catch(error){return false}};const parentPath=path16.join(initialPath,"..");const isParentPath=await checkTarget(parentPath);if(isParentPath)return parentPath;try{const siblingPaths=await getPathSubdirs(parentPath);for(const sibling of siblingPaths){const siblingPath=path16.join(parentPath,sibling.name);if(siblingPath===initialPath)continue;if(await checkTarget(siblingPath))return siblingPath}}catch(error){}try{const childPaths=await getPathSubdirs(initialPath);for(const child of childPaths){const childPath=path16.join(initialPath,child.name);if(await checkTarget(childPath))return childPath}}catch(error){}const resourceSplitAttempt=initialPath.split(/[/\\]resources(?:[/\\]?|$)/,2);if(resourceSplitAttempt.length===2){const potentialServerDataPath=resourceSplitAttempt[0];if(await checkTarget(potentialServerDataPath))return potentialServerDataPath}return false};var MemCache=class{constructor(ttlSeconds=60){this.ttl=ttlSeconds*1e3}isValid(){if(this.dataTimestamp===void 0)return false;if(this.dataTimestamp<Date.now()-this.ttl){this.dataTimestamp=void 0;this.data=void 0;return false}return true}set(data){this.dataTimestamp=Date.now();this.data=data}get(){if(this.dataTimestamp===void 0||this.data===void 0){return void 0}if(this.isValid()){return cloneDeep_default(this.data)}else{return void 0}}};var import_promises18=__toESM(require("node:fs/promises"),1);var import_node_path15=__toESM(require("node:path"),1);var import_node_crypto5=require("node:crypto");var hashFile=async filePath=>{const rawFile=await import_promises18.default.readFile(filePath,"utf8");const normalized=rawFile.normalize("NFKC").replace(/\r\n/g,"\n").replace(/^\uFEFF/,"");return(0,import_node_crypto5.createHash)("sha1").update(normalized).digest("hex")};var MAX_FILES=300;var MAX_TOTAL_SIZE=52428800;var MAX_FILE_SIZE=20971520;var MAX_DEPTH=10;var MAX_EXECUTION_TIME=30*1e3;var IGNORED_FOLDERS=["db","cache","dist",".reports","license_report","tmp_core_tsc","node_modules","txData"];async function scanMonitorFiles(){const rootPath=txEnv.txaPath;const allFiles=[];let totalFiles=0;let totalSize=0;try{const tsStart=Date.now();const scanDir=async(dir,depth=0)=>{if(depth>MAX_DEPTH){throw new Error("MAX_DEPTH")}let filesFound=0;const entries2=await import_promises18.default.readdir(dir,{withFileTypes:true});for(const entry of entries2){if(totalFiles>=MAX_FILES){throw new Error("MAX_FILES")}else if(totalSize>=MAX_TOTAL_SIZE){throw new Error("MAX_TOTAL_SIZE")}else if(Date.now()-tsStart>MAX_EXECUTION_TIME){throw new Error("MAX_EXECUTION_TIME")}const entryPath=import_node_path15.default.join(dir,entry.name);let relativeEntryPath=import_node_path15.default.relative(rootPath,entryPath);relativeEntryPath="./"+relativeEntryPath.split(import_node_path15.default.sep).join(import_node_path15.default.posix.sep);if(entry.isDirectory()){if(IGNORED_FOLDERS.includes(entry.name)){continue}await scanDir(entryPath,depth+1)}else if(entry.isFile()){const stats=await import_promises18.default.stat(entryPath);if(stats.size>MAX_FILE_SIZE){throw new Error("MAX_SIZE")}allFiles.push({path:relativeEntryPath,size:stats.size,hash:await hashFile(entryPath)});filesFound++;totalFiles++;totalSize+=stats.size}}return filesFound};await scanDir(rootPath);allFiles.sort((a,b)=>a.path.localeCompare(b.path));return{totalFiles,totalSize,allFiles}}catch(error){return{error:error.message,totalFiles,totalSize,allFiles}}}var modulename36="WebServer:SendDiagnosticsReport";var console47=console_default(modulename36);var reportIdCache=new MemCache(60);var maskedKeywords=["key","license","pass","private","secret","token","webhook"];var maskString=input=>input.replace(/\w/gi,"x");var maskIps=input=>input.replace(/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/gi,"x.x.x.x");async function SendDiagnosticsReport(ctx){var _a12,_b2,_c,_d;const sendTypedResp2=data=>ctx.send(data);return sendTypedResp2({error:"The diagnostics report feature is temporarily disabled. Please check back later."});const cachedReportId=reportIdCache.get();if(cachedReportId){return sendTypedResp2({error:`You can send at most one report per minute. Your last report ID was ${cachedReportId}.`})}let diagnostics;try{const[host,txadmin,proccesses]=await Promise.all([getHostData(),getRuntimeData(),getProcessesData()]);diagnostics={host,txadmin,proccesses}}catch(error){}const adminList=txCore.adminStore.getRawAdminsList().map(a=>({...a,password_hash:"[REDACTED]"}));const storedConfigs=txCore.configStore.getStoredConfig();if((_a12=storedConfigs==null?void 0:storedConfigs.discordBot)==null?void 0:_a12.token){storedConfigs.discordBot.token="[REDACTED]"}if((_b2=storedConfigs==null?void 0:storedConfigs.server)==null?void 0:_b2.startupArgs){storedConfigs.server.startupArgs=redactStartupSecrets(storedConfigs.server.startupArgs)}const envVars={};for(const[envKey,envValue]of Object.entries(process.env)){if(!envValue)continue;if(maskedKeywords.some(kw=>envKey.toLowerCase().includes(kw))){envVars[envKey]=maskString(envValue)}else{envVars[envKey]=envValue}}const txSystemLog=maskIps(getLogBuffer());const rawTxActionLog=await txCore.logger.admin.getRecentBuffer();const txActionLog=typeof rawTxActionLog!=="string"?"error reading log file":maskIps(rawTxActionLog).split("\n").slice(-500).join("\n");const serverLog=txCore.logger.server.getRecentBuffer(500).map(l=>({...l,msg:maskIps(l.msg)}));const fxserverLog=maskIps(txCore.logger.fxserver.getRecentBuffer());let serverDataContent=[];let cfgFiles=[];if((_c=storedConfigs.server)==null?void 0:_c.dataPath){serverDataContent=await getServerDataContent(storedConfigs.server.dataPath);const rawCfgFiles=await getServerDataConfigs(storedConfigs.server.dataPath,serverDataContent);cfgFiles=rawCfgFiles.map(([fName,fData])=>[fName,redactApiKeys(fData)])}let dbStats={};try{dbStats=txCore.database.stats.getDatabaseStats()}catch(error){}let perfSvMain=null;try{perfSvMain=txCore.metrics.svRuntime.getServerPerfSummary()}catch(error){}let monitorContent=null;try{monitorContent=await scanMonitorFiles()}catch(error){}const reportData={$schemaVersion:2,$txVersion:txEnv.txaVersion,$fxVersion:txEnv.fxsVersion,$provider:String(txHostConfig.providerName),diagnostics,txSystemLog,txActionLog,serverLog,fxserverLog,envVars,perfSvMain,dbStats,settings:storedConfigs,adminList,serverDataContent,cfgFiles,monitorContent};const requestOptions={url:`https://txapi.cfx-services.net/public/submit`,retry:{limit:1},json:reportData};try{const apiResp=await got_default.post(requestOptions).json();if("reportId"in apiResp){reportIdCache.set(apiResp.reportId);console47.warn(`Diagnostics data report ID ${apiResp.reportId} sent by ${ctx.admin.name}`);return sendTypedResp2({reportId:apiResp.reportId})}else{console47.verbose.dir(apiResp);return sendTypedResp2({error:`Report failed: ${apiResp.message??apiResp.error}`})}}catch(error){try{const apiErrorResp=JSON.parse((_d=error==null?void 0:error.response)==null?void 0:_d.body);const reason=apiErrorResp.message??apiErrorResp.error??error.message;return sendTypedResp2({error:`Report failed: ${reason}`})}catch(error2){return sendTypedResp2({error:`Report failed: ${error.message}`})}}}var modulename37="WebServer:Diagnostics";var console48=console_default(modulename37);var cache=new MemCache(5);var perfQuantiles=perfData=>{const result2=perfData.result(true);if(!result2.enoughData)return"not enough data available";return{p5:`${result2.p5}ms`,p25:`${result2.p25}ms`,p50:`${result2.p50}ms`,p75:`${result2.p75}ms`,p95:`${result2.p95}ms`,n:result2.count}};async function GetDiagnosticsData(ctx){var _a12;const sendTypedResp2=data2=>ctx.send(data2);const cachedData=cache.get();if(cachedData)return sendTypedResp2(cachedData);const timeStart=Date.now();const[runtimeData,databaseStats,hostData,processesData]=await Promise.all([getRuntimeData(),txCore.database.stats.getDatabaseStats(),getHostData(),getProcessesData()]);const data={runtime:{},host:{},server:{},processes:[],loadTime:Date.now()-timeStart};data.runtime={"Overview":{"Uptime":runtimeData.uptime,"Runtime":runtimeData.runtime,"Versions":{tx:runtimeData.txEnv.txaVersion,fx:runtimeData.txEnv.fxsVersionTag},"Database":{file:runtimeData.databaseFileSize??"--",players:databaseStats.players,bans:databaseStats.bans,warns:databaseStats.warns}},"Env Config":{"FXServer":runtimeData.txEnv.fxsPath,"Profile":runtimeData.txEnv.profilePath,"Defaults":runtimeData.txHostConfig.defaults.length>0?runtimeData.txHostConfig.defaults.join(", "):"--","Interface":runtimeData.txHostConfig.netInterface??"--","Provider":runtimeData.txHostConfig.providerName??"--"},"Performance":{"BanCheck":perfQuantiles(runtimeData.performance.banCheck),"WhitelistCheck":perfQuantiles(runtimeData.performance.whitelistCheck),"PlayersTable":perfQuantiles(runtimeData.performance.playersTableSearch),"HistoryTable":perfQuantiles(runtimeData.performance.historyTableSearch),"DatabaseSave":perfQuantiles(runtimeData.performance.databaseSave),"PerfCollection":perfQuantiles(runtimeData.performance.perfCollection)},"Monitor":{"HB Fails":{HTTP:runtimeData.monitor.hbFails.http,FD3:runtimeData.monitor.hbFails.fd3},"Restarts":{BT:runtimeData.monitor.restarts.bootTimeout,CL:runtimeData.monitor.restarts.close,HB:runtimeData.monitor.restarts.heartBeat,HC:runtimeData.monitor.restarts.healthCheck,BO:runtimeData.monitor.restarts.both}},"Memory":{"Heap Used":`${runtimeData.memoryUsage.heap_used} (${runtimeData.memoryUsage.heap_pct}%)`,"Heap Limit":runtimeData.memoryUsage.heap_limit,"Physical":runtimeData.memoryUsage.physical,"Peak Alloc":runtimeData.memoryUsage.peak_malloced},"Logger":{"Storage":{"Size":runtimeData.logger.storageSize.totalBytes,"Files":runtimeData.logger.storageSize.fileCount},"Admin":runtimeData.logger.statusAdmin,"FXServer":runtimeData.logger.statusFXServer,"Server":runtimeData.logger.statusServer}};if("error"in hostData){data.host={"Error":hostData.error??"unknown error"}}else{data.host={"OS Distro":hostData.static.osDistro,"Username":hostData.static.username,"CPU Model":hostData.static.cpu.brand,"CPU Stats":`${hostData.static.cpu.physicalCores}c/${hostData.static.cpu.cores}t - ${hostData.static.cpu.speedMin} GHz`};if(hostData.dynamic){data.host["CPU Usage"]=`${hostData.dynamic.cpuUsage}%`;data.host["RAM Usage"]=`${hostData.dynamic.memory.usage}% (${hostData.dynamic.memory.used.toFixed(2)}/${hostData.dynamic.memory.total.toFixed(2)})`}}const managerData=txManager.hostStatus;data.server={"HashID":managerData.cfxId??"--","Join Link":managerData.joinLink??"--","CFG Path":managerData.cfgPath??"--","Data Path":managerData.dataPath??"--","Endpoint":((_a12=txCore.fxRunner.child)==null?void 0:_a12.netEndpoint)??"--","Proj Name":managerData.projectName??"--"};data.processes=processesData;cache.set(data);return sendTypedResp2(data)}var modulename38="WebServer:Intercom";var console49=console_default(modulename38);async function Intercom(ctx){if(typeof ctx.params.scope!=="string"||ctx.request.body===void 0){return ctx.utils.error(400,"Invalid Request")}const scope=ctx.params.scope;const postData=cloneDeep_default(ctx.request.body);postData.txAdminToken=true;if(scope=="monitor"){try{txCore.fxMonitor.handleHeartBeat("http");return ctx.send(txCore.metrics.txRuntime.currHbData)}catch(error){return ctx.send({txAdminVersion:txEnv.txaVersion,success:false})}}else if(scope=="resources"){if(!Array.isArray(postData.resources)){return ctx.utils.error(400,"Invalid Request")}txCore.fxResources.tmpUpdateResourceList(postData.resources)}else{return ctx.send({type:"danger",message:"Unknown intercom scope."})}return ctx.send({txAdminVersion:txEnv.txaVersion,success:false})}var import_node_path16=__toESM(require("node:path"),1);var import_slug=__toESM(require_slug(),1);var modulename39="WebServer:Resources";var console50=console_default(modulename39);var isUndefined2=x=>x===void 0;var breakPath=inPath=>slash(import_node_path16.default.normalize(inPath)).split("/").filter(String);var dynamicSort=prop=>{let sortOrder=1;if(prop[0]==="-"){sortOrder=-1;prop=prop.substr(1)}return function(a,b){const result2=a[prop]<b[prop]?-1:a[prop]>b[prop]?1:0;return result2*sortOrder}};var getResourceSubPath=resPath=>{if(resPath.indexOf("system_resources")>=0)return"system_resources";if(!import_node_path16.default.isAbsolute(resPath))return resPath;let serverDataPathArr=breakPath(`${txConfig.server.dataPath}/resources`);let resPathArr=breakPath(resPath);for(let i=0;i<serverDataPathArr.length;i++){if(isUndefined2(resPathArr[i]))break;if(serverDataPathArr[i].toLowerCase()==resPathArr[i].toLowerCase()){delete resPathArr[i]}}resPathArr.pop();resPathArr=resPathArr.filter(String);if(resPathArr.length){return resPathArr.join("/")}else{return"root"}};async function Resources(ctx){var _a12;if(!((_a12=txCore.fxRunner.child)==null?void 0:_a12.isAlive)){return ctx.utils.renderMessage("The resources list is only available when the server is running.")}const timeoutMessage=`<strong>Couldn't load the resources list.</strong> <br>
    - Make sure the server is online (try to join it). <br>
    - Make sure you don't have more than 1000 resources. <br>
    - Make sure you are not running the FXServer outside of txAdmin. <br>
    - Check the <strong>Live Console</strong> for any errors which may indicate that some resource has a malformed <code>fxmanifest.lua</code> file.`;const cmdSuccess=txCore.fxRunner.sendCommand("txaReportResources",[],SYM_SYSTEM_AUTHOR);if(!cmdSuccess){return ctx.utils.renderMessage(timeoutMessage)}let tListTimer;let tErrorTimer;const tList=new Promise((resolve,reject2)=>{tListTimer=setInterval(()=>{if(txCore.fxResources.resourceReport&&new Date-txCore.fxResources.resourceReport.ts<=1e3&&Array.isArray(txCore.fxResources.resourceReport.resources)){clearTimeout(tListTimer);clearTimeout(tErrorTimer);const resGroups=processResources(txCore.fxResources.resourceReport.resources);const renderData2={headerTitle:"Resources",resGroupsJS:JSON.stringify(resGroups),resGroups,disableActions:ctx.admin.hasPermission("commands.resources")?"":"disabled"};resolve({renderData:renderData2})}},100)});const tError=new Promise((resolve,reject2)=>{tErrorTimer=setTimeout(()=>{clearTimeout(tListTimer);resolve({renderMessage:timeoutMessage})},1e3)});const{renderMessage,renderData}=await Promise.race([tList,tError]);if(renderMessage){return ctx.utils.renderMessage(renderMessage)}else if(renderData){return ctx.utils.render("main/resources",renderData)}else{return ctx.utils.error(500,"Invalid response from Promise.race")}}function processResources(resList){const resGroupList={};resList.forEach(resource=>{if(isUndefined2(resource.name)||isUndefined2(resource.status)||isUndefined2(resource.path)||resource.path===""){return}const subPath=getResourceSubPath(resource.path);const resData={name:resource.name,divName:(0,import_slug.default)(resource.name),status:resource.status,statusClass:resource.status==="started"?"success":"danger",version:resource.version?`(${resource.version.trim()})`:"",author:resource.author?`${resource.author.trim()}`:"",description:resource.description?resource.description.trim():""};if(resGroupList.hasOwnProperty(subPath)){resGroupList[subPath].push(resData)}else{resGroupList[subPath]=[resData]}});const finalList=[];Object.keys(resGroupList).forEach(subPath=>{const subPathData={subPath,divName:(0,import_slug.default)(subPath),resources:resGroupList[subPath].sort(dynamicSort("name"))};finalList.push(subPathData)});return finalList}var modulename40="WebServer:PerfChart";var console51=console_default(modulename40);var paramsSchema=z.object({thread:z.string()});var requiredMinDataAge=30*60*1e3;var chartWindow30h=30*60*60*1e3;async function perfChart(ctx){const sendTypedResp2=data=>ctx.send(data);const schemaRes=paramsSchema.safeParse(ctx.request.params);if(!schemaRes.success){return sendTypedResp2({fail_reason:"bad_request"})}const chartData=txCore.metrics.svRuntime.getChartData(schemaRes.data.thread);if("fail_reason"in chartData){return sendTypedResp2(chartData)}const{threadPerfLog,boundaries}=chartData;const windowCutoffTs=Date.now()-chartWindow30h;const filteredThreadPerfLog=threadPerfLog.filter(log2=>log2.ts>=windowCutoffTs);const oldestDataLogged=filteredThreadPerfLog.find(log2=>log2.type==="data");if(!oldestDataLogged){return sendTypedResp2({fail_reason:"not_enough_data"})}else if(oldestDataLogged.ts>Date.now()-requiredMinDataAge){return sendTypedResp2({fail_reason:"not_enough_data"})}return sendTypedResp2({boundaries,threadPerfLog:filteredThreadPerfLog})}var modulename41="WebServer:PlayerDrops";var console52=console_default(modulename41);var querySchema=z.object({detailedWindow:z.string().optional(),detailedDaysAgo:z.string().optional()});var SUMMARY_DEFAULT_HOURS=14*24;var DETAILED_DEFAULT_HOURS=7*24;async function playerDrops(ctx){const sendTypedResp2=data=>ctx.send(data);const schemaRes=querySchema.safeParse(ctx.request.query);if(!schemaRes.success){return sendTypedResp2({fail_reason:`Invalid request query: ${schemaRes.error.message}`})}const{detailedWindow,detailedDaysAgo}=schemaRes.data;const lookupTs=Date.now();const summary=txCore.metrics.playerDrop.getRecentSummary(SUMMARY_DEFAULT_HOURS);let detailedWindowStart,detailedWindowEnd;if(detailedWindow){try{const[windowStartStr,windowEndStr]=detailedWindow.split(",");detailedWindowStart=new Date(windowStartStr).getTime();detailedWindowEnd=Math.min(lookupTs,new Date(windowEndStr).getTime())}catch(error){return sendTypedResp2({fail_reason:`Invalid date format: ${error.message}`})}}else{let windowHours=DETAILED_DEFAULT_HOURS;if(detailedDaysAgo){const daysAgo=parseInt(detailedDaysAgo);if(!isNaN(daysAgo)&&daysAgo>=1&&daysAgo<=14){windowHours=daysAgo*24}}const startDate=new Date;detailedWindowStart=startDate.setHours(startDate.getHours()-windowHours,0,0,0);detailedWindowEnd=lookupTs}const detailed=txCore.metrics.playerDrop.getWindowData(detailedWindowStart,detailedWindowEnd);return sendTypedResp2({ts:lookupTs,summary,detailed:{windowStart:new Date(detailedWindowStart).toISOString(),windowEnd:new Date(detailedWindowEnd).toISOString(),windowData:detailed}})}async function SystemLogs(ctx){const{scope}=ctx.params;const sendTypedResp2=data=>ctx.send(data);if(!ctx.admin.hasPermission("txadmin.log.view")){return sendTypedResp2({error:"You don't have permission to call this endpoint."})}if(scope==="console"){return sendTypedResp2({data:getLogBuffer()})}else if(scope==="action"){const rawActions=await txCore.logger.admin.getRecentBuffer();if(!rawActions)return sendTypedResp2({error:"Error fetching actions"});return sendTypedResp2({data:rawActions})}else{return sendTypedResp2({error:"Invalid scope"})}}var import_node_crypto6=require("node:crypto");var modulename42="WebServer:OauthMethods";var console53=console_default(modulename42);var getOauthRedirectUrl=(ctx,purpose,origin)=>{const callbackUrl=origin+`/${purpose}/callback`;const sessData={tmpOauthLoginStateKern:(0,import_node_crypto6.randomUUID)(),tmpOauthLoginCallbackUri:callbackUrl};ctx.sessTools.set(sessData);const idmsAuthUrl=txCore.adminStore.providers.citizenfx.getAuthURL(callbackUrl,sessData.tmpOauthLoginStateKern);return idmsAuthUrl};var handleOauthCallback=async(ctx,redirectUri)=>{const inboundSession=ctx.sessTools.get();if(!inboundSession||!(inboundSession==null?void 0:inboundSession.tmpOauthLoginStateKern)||!(inboundSession==null?void 0:inboundSession.tmpOauthLoginCallbackUri)){return{errorCode:"invalid_session"}}let tokenSet;try{tokenSet=await txCore.adminStore.providers.citizenfx.processCallback(inboundSession.tmpOauthLoginCallbackUri,inboundSession.tmpOauthLoginStateKern,redirectUri);if(!tokenSet)throw new Error("tokenSet is undefined");if(!tokenSet.access_token)throw new Error("tokenSet.access_token is undefined")}catch(e){const error=e;console53.warn(`Code Exchange error: ${error.message}`);if(error.tolerance!==void 0){return{errorCode:"clock_desync"}}else if(error.code==="ETIMEDOUT"){return{errorCode:"timeout"}}else if(error.message.startsWith("state mismatch")){return{errorCode:"invalid_state"}}else{return{errorTitle:"Code Exchange error:",errorMessage:error.message}}}try{return await txCore.adminStore.providers.citizenfx.getUserInfo(tokenSet.access_token)}catch(error){console53.verbose.error(`Get UserInfo error: ${error.message}`);return{errorTitle:"Get UserInfo error:",errorMessage:error.message}}};var modulename43="WebServer:AuthAddMasterPin";var console54=console_default(modulename43);var bodySchema=z.object({pin:z.string().trim(),origin:z.string()});async function AuthAddMasterPin(ctx){const schemaRes=bodySchema.safeParse(ctx.request.body);if(!schemaRes.success){return ctx.send({error:`Invalid request body: ${schemaRes.error.message}`})}const{pin,origin}=schemaRes.data;if(txCore.adminStore.hasAdmins()){return ctx.send({error:`master_already_set`})}if(!pin.length||pin!==txCore.adminStore.addMasterPin){return ctx.send({error:`Wrong PIN.`})}return ctx.send({authUrl:getOauthRedirectUrl(ctx,"addMaster",origin)})}var modulename44="WebServer:AuthAddMasterCallback";var console55=console_default(modulename44);var bodySchema2=z.object({redirectUri:z.string()});async function AuthAddMasterCallback(ctx){const schemaRes=bodySchema2.safeParse(ctx.request.body);if(!schemaRes.success){return ctx.send({errorTitle:"Invalid request body",errorMessage:schemaRes.error.message})}const{redirectUri}=schemaRes.data;if(txCore.adminStore.hasAdmins()){return ctx.send({errorTitle:`Master account already set.`,errorMessage:`Please return to the login page.`})}const callbackResp=await handleOauthCallback(ctx,redirectUri);if("errorCode"in callbackResp||"errorTitle"in callbackResp){return ctx.send(callbackResp)}const userInfo=callbackResp;const fivemIdentifier=getIdFromOauthNameid(userInfo.nameid);if(!fivemIdentifier){return ctx.send({errorTitle:"Invalid nameid identifier.",errorMessage:`Could not extract the user identifier from the URL below. Please report this to the txAdmin dev team.
${userInfo.nameid.toString()}`})}ctx.sessTools.set({tmpAddMasterUserInfo:userInfo});return ctx.send({fivemName:userInfo.name,fivemId:fivemIdentifier,profilePicture:userInfo.picture})}var modulename45="WebServer:AuthAddMasterSave";var console56=console_default(modulename45);var bodySchema3=z.object({password:z.string().min(consts_default.adminPasswordMinLength).max(consts_default.adminPasswordMaxLength),discordId:z.string().optional()});async function AuthAddMasterSave(ctx){const schemaRes=bodySchema3.safeParse(ctx.request.body);if(!schemaRes.success){return ctx.send({error:`Invalid request body: ${schemaRes.error.message}`})}const{password,discordId}=schemaRes.data;if(txCore.adminStore.hasAdmins()){return ctx.send({error:`master_already_set`})}if(typeof discordId==="string"&&!consts_default.validIdentifierParts.discord.test(discordId)){return ctx.send({error:`Invalid Discord ID.`})}const inboundSession=ctx.sessTools.get();if(!inboundSession||!(inboundSession==null?void 0:inboundSession.tmpAddMasterUserInfo)){return ctx.send({error:`invalid_session`})}const userInfo=inboundSession.tmpAddMasterUserInfo;const fivemIdentifier=getIdFromOauthNameid(userInfo.nameid);if(!fivemIdentifier){return ctx.send({error:`Could not extract the user identifier from userInfo.nameid.
Please report this to the txAdmin dev team.
${userInfo.nameid.toString()}`})}try{const vaultAdmin=txCore.adminStore.createAdminsFile(userInfo.name,fivemIdentifier,discordId,password,true);if(userInfo.picture){txCore.cacheStore.set(`admin:picture:${userInfo.name}`,userInfo.picture)}const sessData={type:"cfxre",username:userInfo.name,csrfToken:txCore.adminStore.genCsrfToken(),expiresAt:Date.now()+864e5,identifier:fivemIdentifier};ctx.sessTools.set({auth:sessData});const authedAdmin=new AuthedAdmin(vaultAdmin,sessData.csrfToken);authedAdmin.logAction(`created admins file`);return ctx.send(authedAdmin.getAuthData())}catch(error){ctx.sessTools.destroy();console56.error(`Failed to create session: ${error.message}`);return ctx.send({error:`Failed to create session: ${error.message}`})}}var modulename46="WebServer:AuthProviderRedirect";var console57=console_default(modulename46);var querySchema2=z.object({origin:z.string()});async function AuthProviderRedirect(ctx){const schemaRes=querySchema2.safeParse(ctx.request.query);if(!schemaRes.success){return ctx.send({error:`Invalid request query: ${schemaRes.error.message}`})}const{origin}=schemaRes.data;if(!txCore.adminStore.hasAdmins()){return ctx.send({error:`no_admins_setup`})}return ctx.send({authUrl:getOauthRedirectUrl(ctx,"login",origin)})}var modulename47="WebServer:AuthProviderCallback";var console58=console_default(modulename47);var bodySchema4=z.object({redirectUri:z.string()});async function AuthProviderCallback(ctx){const schemaRes=bodySchema4.safeParse(ctx.request.body);if(!schemaRes.success){return ctx.send({errorTitle:"Invalid request body",errorMessage:schemaRes.error.message})}const{redirectUri}=schemaRes.data;const callbackResp=await handleOauthCallback(ctx,redirectUri);if("errorCode"in callbackResp||"errorTitle"in callbackResp){return ctx.send(callbackResp)}const userInfo=callbackResp;const fivemIdentifier=getIdFromOauthNameid(userInfo.nameid);if(!fivemIdentifier){return ctx.send({errorTitle:"Invalid nameid identifier.",errorMessage:`Could not extract the user identifier from the URL below. Please report this to the txAdmin dev team.
${userInfo.nameid.toString()}`})}try{const vaultAdmin=txCore.adminStore.getAdminByIdentifiers([fivemIdentifier]);if(!vaultAdmin){ctx.sessTools.destroy();return ctx.send({errorCode:"not_admin",errorContext:{identifier:fivemIdentifier,name:userInfo.name,profile:userInfo.profile}})}const sessData={type:"cfxre",username:vaultAdmin.name,csrfToken:txCore.adminStore.genCsrfToken(),expiresAt:Date.now()+864e5,identifier:fivemIdentifier};ctx.sessTools.set({auth:sessData});if(userInfo.picture){txCore.cacheStore.set(`admin:picture:${vaultAdmin.name}`,userInfo.picture)}const authedAdmin=new AuthedAdmin(vaultAdmin,sessData.csrfToken);authedAdmin.logAction(`logged in from ${ctx.ip} via cfxre auth`);txCore.metrics.txRuntime.loginOrigins.count(ctx.txVars.hostType);txCore.metrics.txRuntime.loginMethods.count("citizenfx");return ctx.send(authedAdmin.getAuthData())}catch(error){ctx.sessTools.destroy();console58.verbose.error(`Failed to login: ${error.message}`);return ctx.send({errorTitle:"Failed to login:",errorMessage:error.message})}}var modulename48="WebServer:AuthVerifyPassword";var console59=console_default(modulename48);var bodySchema5=z.object({username:z.string().trim(),password:z.string().trim()});async function AuthVerifyPassword(ctx){const{uiVersion}=ctx.request.query;if(uiVersion&&uiVersion!==txEnv.txaVersion){return ctx.send({error:`refreshToUpdate`})}const schemaRes=bodySchema5.safeParse(ctx.request.body);if(!schemaRes.success){return ctx.send({error:`Invalid request body: ${schemaRes.error.message}`})}const postBody=schemaRes.data;if(!txCore.adminStore.hasAdmins()){return ctx.send({error:`no_admins_setup`})}try{const vaultAdmin=txCore.adminStore.getAdminByName(postBody.username);if(!vaultAdmin){console59.warn(`Wrong username from: ${ctx.ip}`);return ctx.send({error:"Wrong username or password!"})}if(!VerifyPasswordHash(postBody.password,vaultAdmin.password_hash)){console59.warn(`Wrong password from: ${ctx.ip}`);return ctx.send({error:"Wrong username or password!"})}const sessData={type:"password",username:vaultAdmin.name,password_hash:vaultAdmin.password_hash,expiresAt:false,csrfToken:txCore.adminStore.genCsrfToken()};ctx.sessTools.set({auth:sessData});const authedAdmin=new AuthedAdmin(vaultAdmin,sessData.csrfToken);authedAdmin.logAction(`logged in from ${ctx.ip} via password auth`);txCore.metrics.txRuntime.loginOrigins.count(ctx.txVars.hostType);txCore.metrics.txRuntime.loginMethods.count("password");return ctx.send(authedAdmin.getAuthData())}catch(error){console59.warn(`Failed to authenticate ${postBody.username} with error: ${error.message}`);console59.verbose.dir(error);return ctx.send({error:"Error autenticating admin."})}}var modulename49="WebServer:AuthChangePassword";var console60=console_default(modulename49);var bodySchema6=z.object({oldPassword:z.string().optional(),newPassword:z.string()});async function AuthChangePassword(ctx){var _a12;const schemaRes=bodySchema6.safeParse(ctx.request.body);if(!schemaRes.success){return ctx.send({error:`Invalid request body: ${schemaRes.error.message}`})}const{newPassword,oldPassword}=schemaRes.data;if(newPassword.trim()!==newPassword){return ctx.send({error:"Your password either starts or ends with a space, which was likely an accident. Please remove it and try again."})}if(newPassword.length<consts_default.adminPasswordMinLength||newPassword.length>consts_default.adminPasswordMaxLength){return ctx.send({error:"Invalid new password length."})}const vaultAdmin=txCore.adminStore.getAdminByName(ctx.admin.name);if(!vaultAdmin)throw new Error("Wait, what? Where is that admin?");if(!ctx.admin.isTempPassword){if(!oldPassword||!VerifyPasswordHash(oldPassword,vaultAdmin.password_hash)){return ctx.send({error:"Wrong current password."})}}try{const newHash=await txCore.adminStore.editAdmin(ctx.admin.name,newPassword);const currSess=ctx.sessTools.get();if(((_a12=currSess==null?void 0:currSess.auth)==null?void 0:_a12.type)==="password"){ctx.sessTools.set({auth:{...currSess.auth,password_hash:newHash}})}ctx.admin.logAction("Changing own password.");return ctx.send({success:true})}catch(error){return ctx.send({error:error.message})}}var modulename50="WebServer:AuthSelf";var console61=console_default(modulename50);async function AuthSelf(ctx){ctx.send(ctx.admin.getAuthData())}var modulename51="WebServer:AuthLogout";var console62=console_default(modulename51);async function AuthLogout(ctx){ctx.sessTools.destroy();return ctx.send({logout:true})}var modulename52="WebServer:AuthGetIdentifiers";var console63=console_default(modulename52);var bodySchema7=z.object({oldPassword:z.string().optional(),newPassword:z.string()});async function AuthGetIdentifiers(ctx){const vaultAdmin=txCore.adminStore.getAdminByName(ctx.admin.name);if(!vaultAdmin)throw new Error("Wait, what? Where is that admin?");return ctx.send({cfxreId:vaultAdmin.providers.citizenfx?vaultAdmin.providers.citizenfx.identifier:"",discordId:vaultAdmin.providers.discord?vaultAdmin.providers.discord.identifier:""})}var modulename53="WebServer:AuthChangeIdentifiers";var console64=console_default(modulename53);var cfxHttpReqOptions={timeout:{request:6e3}};var bodySchema8=z.object({cfxreId:z.string().trim(),discordId:z.string().trim()});async function AuthChangeIdentifiers(ctx){var _a12,_b2;const schemaRes=bodySchema8.safeParse(ctx.request.body);if(!schemaRes.success){return ctx.send({error:`Invalid request body: ${schemaRes.error.message}`})}const{cfxreId,discordId}=schemaRes.data;let citizenfxData=false;if(cfxreId.length){try{if(consts_default.validIdentifiers.fivem.test(cfxreId)){const id=cfxreId.split(":")[1];const res=await got_default(`https://policy-live.fivem.net/api/getUserInfo/${id}`,cfxHttpReqOptions).json();if(!res.username||!res.username.length){return ctx.send({error:`(ERR1) Invalid CitizenFX ID`})}citizenfxData={id:res.username,identifier:cfxreId}}else{return ctx.send({error:`(ERR3) Invalid CitizenFX ID`})}}catch(error){return ctx.send({error:`Failed to resolve CitizenFX ID to game identifier with error: ${error.message}`})}}let discordData=false;if(discordId.length){if(!consts_default.validIdentifiers.discord.test(discordId)){return ctx.send({error:`The Discord ID needs to be the numeric "User ID" instead of the username.
 You can also leave it blank.`})}discordData={id:discordId.substring(8),identifier:discordId}}const vaultAdmin=txCore.adminStore.getAdminByName(ctx.admin.name);if(!vaultAdmin)throw new Error("Wait, what? Where is that admin?");const changes=[];const oldCfx=(_a12=vaultAdmin.providers.citizenfx)==null?void 0:_a12.identifier;const newCfx=citizenfxData?citizenfxData.identifier:void 0;if(oldCfx!==newCfx){if(!oldCfx&&newCfx){changes.push(`added ${newCfx}`)}else if(oldCfx&&!newCfx){changes.push(`removed ${oldCfx}`)}else if(oldCfx&&newCfx){changes.push(`changed ${oldCfx} → ${newCfx}`)}}const oldDiscord=(_b2=vaultAdmin.providers.discord)==null?void 0:_b2.identifier;const newDiscord=discordData?discordData.identifier:void 0;if(oldDiscord!==newDiscord){if(!oldDiscord&&newDiscord){changes.push(`added ${newDiscord}`)}else if(oldDiscord&&!newDiscord){changes.push(`removed ${oldDiscord}`)}else if(oldDiscord&&newDiscord){changes.push(`changed ${oldDiscord} → ${newDiscord}`)}}const logMessage=changes.length?`Modified own identifiers: ${changes.join(", ")}`:"Modified own identifiers: No changes detected.";try{await txCore.adminStore.editAdmin(ctx.admin.name,null,citizenfxData,discordData);ctx.admin.logAction(logMessage);return ctx.send({success:true})}catch(error){return ctx.send({error:error.message})}}var modulename54="WebServer:AdminManagerPage";var console65=console_default(modulename54);async function AdminManagerPage(ctx){if(!ctx.admin.hasPermission("manage.admins")){return ctx.utils.renderMessage("You don't have permission to view this page.")}const admins=txCore.adminStore.getAdminsList().map(admin=>{var _a12,_b2;let perms;if(admin.master==true){perms="master account"}else if(admin.permissions.includes("all_permissions")){perms="all permissions"}else if(admin.permissions.length!==1){perms=`${admin.permissions.length} permissions`}else{perms="1 permission"}const isSelf=ctx.admin.name.toLowerCase()===admin.name.toLowerCase();let identifiers=[];if("citizenfx"in admin.providers&&typeof((_a12=admin.providers.citizenfx)==null?void 0:_a12.identifier)==="string"){identifiers.push(admin.providers.citizenfx.identifier)}if("discord"in admin.providers&&typeof((_b2=admin.providers.discord)==null?void 0:_b2.identifier)==="string"){identifiers.push(admin.providers.discord.identifier)}return{name:admin.name,identifiers,perms,isSelf,disableEdit:!ctx.admin.isMaster&&admin.master,disableDelete:admin.master||isSelf}});const renderData={headerTitle:"Admin Manager",admins};return ctx.utils.render("main/adminManager",renderData)}var modulename55="WebServer:AdminManagerGetModal";var console66=console_default(modulename55);var dangerousPerms=["all_permissions","manage.admins","console.write","settings.write"];var getPerms=(checkPerms,allPermissions)=>{const permsGeneral=[];const permsMenu=[];for(const[id,desc]of allPermissions){const bucket=id.startsWith("players.")||id.startsWith("menu.")?permsGeneral:permsMenu;bucket.push({id,desc,checked:checkPerms.includes(id)?"checked":"",dangerous:dangerousPerms.includes(id)})}return[permsGeneral,permsMenu]};async function AdminManagerGetModal(ctx){if(typeof ctx.params.modalType!=="string"){return ctx.utils.error(400,"Invalid Request")}const modalType=ctx.params.modalType;if(!ctx.admin.testPermission("manage.admins",modulename55)){return ctx.send({type:"danger",message:"You don't have permission to execute this action."})}let isNewAdmin;if(modalType=="add"){isNewAdmin=true}else if(modalType=="edit"){isNewAdmin=false}else{return ctx.send({type:"danger",message:"Unknown modalType."})}const allPermissions=Object.entries(txCore.adminStore.getPermissionsList());if(isNewAdmin){const[permsGeneral2,permsMenu2]=getPerms([],allPermissions);const renderData2={isNewAdmin:true,username:"",citizenfx_id:"",discord_id:"",permsGeneral:permsGeneral2,permsMenu:permsMenu2};return ctx.utils.render("parts/adminModal",renderData2)}if(typeof ctx.request.body.name!=="string"){return ctx.utils.error(400,"Invalid Request - missing parameters")}const name=ctx.request.body.name.trim();const admin=txCore.adminStore.getAdminByName(name);if(!admin)return ctx.send("Admin not found");if(!ctx.admin.isMaster&&admin.master){return ctx.send("You cannot edit an admin master.")}const[permsGeneral,permsMenu]=getPerms(admin.permissions,allPermissions);const renderData={isNewAdmin:false,username:admin.name,citizenfx_id:admin.providers.citizenfx?admin.providers.citizenfx.id:"",discord_id:admin.providers.discord?admin.providers.discord.id:"",permsGeneral,permsMenu};return ctx.utils.render("parts/adminModal",renderData)}var import_nolookalikes2=__toESM(require_nolookalikes(),1);var modulename56="WebServer:AdminManagerActions";var console67=console_default(modulename56);var nanoid3=customAlphabet(import_nolookalikes2.default,20);var nameRegexDesc="up to 20 characters containing only letters, numbers and the characters `_.-`";var cfxHttpReqOptions2={timeout:{request:6e3}};async function AdminManagerActions(ctx){var _a12;if(typeof((_a12=ctx.params)==null?void 0:_a12.action)!=="string"){return ctx.utils.error(400,"Invalid Request")}const action=ctx.params.action;if(!ctx.admin.testPermission("manage.admins",modulename56)){return ctx.send({type:"danger",message:"You don't have permission to execute this action."})}if(action=="add"){return await handleAdd(ctx)}else if(action=="edit"){return await handleEdit(ctx)}else if(action=="delete"){return await handleDelete(ctx)}else{return ctx.send({type:"danger",message:"Unknown action."})}}async function handleAdd(ctx){if(typeof ctx.request.body.name!=="string"||typeof ctx.request.body.citizenfxID!=="string"||typeof ctx.request.body.discordID!=="string"||ctx.request.body.permissions===void 0){return ctx.utils.error(400,"Invalid Request - missing parameters")}const name=ctx.request.body.name.trim();const password=nanoid3();const citizenfxID=ctx.request.body.citizenfxID.trim();const discordID=ctx.request.body.discordID.trim();let permissions=Array.isArray(ctx.request.body.permissions)?ctx.request.body.permissions:[];permissions=permissions.filter(x=>typeof x==="string");if(permissions.includes("all_permissions"))permissions=["all_permissions"];if(!consts_default.regexValidFivemUsername.test(name)){return ctx.send({type:"danger",markdown:true,message:`**Invalid username, it must follow the rule:**
${nameRegexDesc}`})}let citizenfxData=false;if(citizenfxID.length){try{if(consts_default.validIdentifiers.fivem.test(citizenfxID)){const id=citizenfxID.split(":")[1];const res=await got_default(`https://policy-live.fivem.net/api/getUserInfo/${id}`,cfxHttpReqOptions2).json();if(!res.username||!res.username.length){return ctx.send({type:"danger",message:"Invalid CitizenFX ID1"})}citizenfxData={id:res.username,identifier:citizenfxID}}else if(consts_default.regexValidFivemUsername.test(citizenfxID)){const res=await got_default(`https://forum.cfx.re/u/${citizenfxID}.json`,cfxHttpReqOptions2).json();if(!res.user||typeof res.user.id!=="number"){return ctx.send({type:"danger",message:"Invalid CitizenFX ID2"})}citizenfxData={id:citizenfxID,identifier:`fivem:${res.user.id}`}}else{return ctx.send({type:"danger",message:"Invalid CitizenFX ID3"})}}catch(error){console67.error(`Failed to resolve CitizenFX ID to game identifier with error: ${error.message}`)}}let discordData=false;if(discordID.length){if(!consts_default.validIdentifierParts.discord.test(discordID)){return ctx.send({type:"danger",message:"Invalid Discord ID"})}discordData={id:discordID,identifier:`discord:${discordID}`}}if(!ctx.admin.isMaster&&!ctx.admin.permissions.includes("all_permissions")){const deniedPerms=permissions.filter(x=>!ctx.admin.permissions.includes(x));if(deniedPerms.length){return ctx.send({type:"danger",message:`You cannot give permissions you do not have:<br>${deniedPerms.join(", ")}`})}}const changes={cfxId:citizenfxData?citizenfxData.identifier:void 0,discordId:discordData?discordData.identifier:void 0,permissions};try{await txCore.adminStore.addAdmin(name,citizenfxData,discordData,password,permissions);ctx.admin.logAction(`Adding user '${name}' with ${JSON.stringify(changes)}`);return ctx.send({type:"showPassword",password})}catch(error){return ctx.send({type:"danger",message:error.message})}}async function handleEdit(ctx){var _a12,_b2,_c,_d;if(typeof ctx.request.body.name!=="string"||typeof ctx.request.body.citizenfxID!=="string"||typeof ctx.request.body.discordID!=="string"||ctx.request.body.permissions===void 0){return ctx.utils.error(400,"Invalid Request - missing parameters")}const name=ctx.request.body.name.trim();const citizenfxID=ctx.request.body.citizenfxID.trim();const discordID=ctx.request.body.discordID.trim();if(ctx.admin.name.toLowerCase()===name.toLowerCase()){return ctx.send({type:"danger",message:"(ERR0) You cannot edit yourself."})}let permissions=[];if(Array.isArray(ctx.request.body.permissions)){permissions=ctx.request.body.permissions.filter(x=>typeof x==="string");if(permissions.includes("all_permissions")){permissions=["all_permissions"]}}let citizenfxData=false;if(citizenfxID.length){try{if(consts_default.validIdentifiers.fivem.test(citizenfxID)){const id=citizenfxID.split(":")[1];const res=await got_default(`https://policy-live.fivem.net/api/getUserInfo/${id}`,cfxHttpReqOptions2).json();if(!res.username||!res.username.length){return ctx.send({type:"danger",message:"(ERR1) Invalid CitizenFX ID"})}citizenfxData={id:res.username,identifier:citizenfxID}}else if(consts_default.regexValidFivemUsername.test(citizenfxID)){const res=await got_default(`https://forum.cfx.re/u/${citizenfxID}.json`,cfxHttpReqOptions2).json();if(!res.user||typeof res.user.id!=="number"){return ctx.send({type:"danger",message:"(ERR2) Invalid CitizenFX ID"})}citizenfxData={id:citizenfxID,identifier:`fivem:${res.user.id}`}}else{return ctx.send({type:"danger",message:"(ERR3) Invalid CitizenFX ID"})}}catch(error){console67.error(`Failed to resolve CitizenFX ID to game identifier with error: ${error.message}`)}}let discordData=false;if(discordID.length){if(!consts_default.validIdentifierParts.discord.test(discordID)){return ctx.send({type:"danger",message:"Invalid Discord ID"})}discordData={id:discordID,identifier:`discord:${discordID}`}}const admin=txCore.adminStore.getAdminByName(name);if(!admin)return ctx.send({type:"danger",message:"Admin not found."});if(!ctx.admin.isMaster&&admin.master){return ctx.send({type:"danger",message:"You cannot edit an admin master."})}if(permissions&&!ctx.admin.isMaster&&!ctx.admin.permissions.includes("all_permissions")){const deniedPerms=permissions.filter(x=>!ctx.admin.permissions.includes(x));if(deniedPerms.length){return ctx.send({type:"danger",message:`You cannot give permissions you do not have:<br>${deniedPerms.join(", ")}`})}}const permsAdded=permissions.filter(x=>!admin.permissions.includes(x));const permsRemoved=admin.permissions.filter(x=>!permissions.includes(x));const changes=[];if(permsAdded.includes("all_permissions")){changes.push("Added all permissions.")}else{if(permsAdded.length){changes.push(`Added permissions: ${JSON.stringify(permsAdded)}.`)}if(permsRemoved.length){changes.push(`Removed permissions: ${JSON.stringify(permsRemoved)}.`)}}const prevCfxId=(_b2=(_a12=admin.providers)==null?void 0:_a12.citizenfx)==null?void 0:_b2.identifier;if(!prevCfxId&&citizenfxData){changes.push(`Added Cfx.re ID: ${citizenfxData.identifier}.`)}else if(prevCfxId&&!citizenfxData){changes.push(`Removed Cfx.re ID: ${prevCfxId}.`)}else if(prevCfxId&&citizenfxData&&prevCfxId!==citizenfxData.identifier){changes.push(`Changed Cfx.re ID from ${prevCfxId} to ${citizenfxData.identifier}.`)}const prevDiscordId=(_d=(_c=admin.providers)==null?void 0:_c.discord)==null?void 0:_d.identifier;if(!prevDiscordId&&discordData){changes.push(`Added Discord ID: ${discordData.identifier}.`)}else if(prevDiscordId&&!discordData){changes.push(`Removed Discord ID: ${prevDiscordId}.`)}else if(prevDiscordId&&discordData&&prevDiscordId!==discordData.identifier){changes.push(`Changed Discord ID from ${prevDiscordId} to ${discordData.identifier}.`)}try{let logMessage=`Editing user '${name}'`;if(changes.length){logMessage+=`: ${changes.join(" ")}`}else{logMessage+=". No changes were made."}await txCore.adminStore.editAdmin(name,null,citizenfxData,discordData,permissions);ctx.admin.logAction(logMessage);return ctx.send({type:"success",refresh:true})}catch(error){return ctx.send({type:"danger",message:error.message})}}async function handleDelete(ctx){if(typeof ctx.request.body.name!=="string"){return ctx.utils.error(400,"Invalid Request - missing parameters")}const name=ctx.request.body.name.trim();if(ctx.admin.name.toLowerCase()===name.toLowerCase()){return ctx.send({type:"danger",message:"You can't delete yourself."})}const admin=txCore.adminStore.getAdminByName(name);if(!admin)return ctx.send({type:"danger",message:"Admin not found."});if(admin.master){return ctx.send({type:"danger",message:"You cannot delete an admin master."})}try{await txCore.adminStore.deleteAdmin(name);ctx.admin.logAction(`Deleting user '${name}'.`);return ctx.send({type:"success",refresh:true})}catch(error){return ctx.send({type:"danger",message:error.message})}}var modulename57="WebServer:CFGEditorPage";var console68=console_default(modulename57);async function CFGEditorPage(ctx){if(!ctx.admin.hasPermission("server.cfg.editor")){return ctx.utils.renderMessage("You don't have permission to view this page.")}if(!txCore.fxRunner.isConfigured){let message3="You need to configure your server data path before being able to edit the CFG file.";return ctx.utils.renderMessage(message3)}let rawFile;try{let cfgFilePath=resolveCFGFilePath(txConfig.server.cfgPath,txConfig.server.dataPath);rawFile=await readRawCFGFile(cfgFilePath)}catch(error){let message3=`Failed to read CFG File with error: ${error.message}`;return ctx.utils.renderMessage(message3)}return ctx.utils.render("main/cfgEditor",{headerTitle:"CFG Editor",rawFile,disableRestart:ctx.admin.hasPermission("control.server")?"":"disabled"})}var modulename58="WebServer:CFGEditorSave";var console69=console_default(modulename58);var isUndefined3=x=>x===void 0;async function CFGEditorSave(ctx){if(isUndefined3(ctx.request.body.cfgData)||typeof ctx.request.body.cfgData!=="string"){return ctx.utils.error(400,"Invalid Request")}if(!ctx.admin.testPermission("server.cfg.editor",modulename58)){return ctx.send({type:"danger",message:"You don't have permission to execute this action."})}if(!txCore.fxRunner.isConfigured){const message3="CFG or Server Data Path not defined. Configure it in the settings page first.";return ctx.send({type:"danger",message:message3})}let result2;try{result2=await validateModifyServerConfig(ctx.request.body.cfgData,txConfig.server.cfgPath,txConfig.server.dataPath)}catch(error){return ctx.send({type:"danger",markdown:true,message:`**Failed to save \`server.cfg\` with error:**
${error.message}`})}if(result2.errors){return ctx.send({type:"danger",markdown:true,message:`**Cannot save \`server.cfg\` due to error(s) in your config file(s):**
${result2.errors}`})}if(result2.warnings){return ctx.send({type:"warning",markdown:true,message:`**File saved, but there are warnings you should pay attention to:**
${result2.warnings}`})}return ctx.send({type:"success",markdown:true,message:"**File saved.**"})}var import_fs_extra3=__toESM(require_lib2(),1);var import_xss=__toESM(require_lib14(),1);var HTML_ATTR_ESCAPE_MAP={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","`":"&#96;"};var RAW_TEXT_ESCAPE_MAP={"<":"\\u003c",">":"\\u003e","&":"\\u0026","\u2028":"\\u2028","\u2029":"\\u2029"};var HTML_ATTR_ESCAPE_REGEX=/[&<>"'`]/g;var HTML_CONTENT_ESCAPE_MAP={"&":"&amp;","<":"&lt;",">":"&gt;"};var HTML_CONTENT_ESCAPE_REGEX=/[&<>]/g;var RAW_TEXT_BREAKOUT_REGEX=/[<>&\u2028\u2029]/g;var CSS_SAFE_TOKEN_REGEX=/[^A-Za-z0-9_-]/g;var escapeHtmlAttribute=value=>{return String(value).replace(HTML_ATTR_ESCAPE_REGEX,char=>HTML_ATTR_ESCAPE_MAP[char])};var escapeHtmlContent=value=>{return String(value).replace(HTML_CONTENT_ESCAPE_REGEX,char=>HTML_CONTENT_ESCAPE_MAP[char])};var escapeHtmlRawText=value=>{return value.replace(RAW_TEXT_BREAKOUT_REGEX,char=>RAW_TEXT_ESCAPE_MAP[char])};var sanitizeClassToken=value=>{return value.split(/\s+/g).map(token3=>token3.replace(CSS_SAFE_TOKEN_REGEX,"")).filter(token3=>token3.length).join(" ")};var sanitizeCssVarName=value=>{return value.replace(CSS_SAFE_TOKEN_REGEX,"")};var sanitizeCssVarValue=value=>{return value.replace(RAW_TEXT_BREAKOUT_REGEX,"")};var simpleHtmlSanitizer=new import_xss.FilterXSS({whiteList:{strong:[],br:[],code:[]}});var sanitizeSimpleHtml=value=>{return simpleHtmlSanitizer.process(value)};var modulename59="WebServer:DeployerStepper";var console70=console_default(modulename59);async function DeployerStepper(ctx){var _a12;if(!ctx.admin.hasPermission("master")){return ctx.utils.renderMessage("You need to be the admin master to use the deployer.")}if(txManager.configState==="setup"){return ctx.utils.legacyNavigateToPage("/server/setup")}else if(txManager.configState!=="deployer"){return ctx.utils.legacyNavigateToPage("/")}else if(!((_a12=txManager.deployer)==null?void 0:_a12.step)){throw new Error(`txManager.configState is Deployer but txManager.deployer is not defined`)}const renderData={step:txManager.deployer.step,deploymentID:txManager.deployer.deploymentID,requireDBConfig:false,defaultLicenseKey:"",recipe:void 0,defaults:{}};if(txManager.deployer.step==="review"){renderData.recipe={isTrustedSource:txManager.deployer.isTrustedSource,name:txManager.deployer.recipe.name,author:txManager.deployer.recipe.author,description:txManager.deployer.recipe.description,raw:txManager.deployer.recipe.raw}}else if(txManager.deployer.step==="input"){renderData.defaultLicenseKey=txHostConfig.defaults.cfxKey??"";renderData.requireDBConfig=txManager.deployer.recipe.requireDBConfig;renderData.defaults={autofilled:Object.values(txHostConfig.defaults).some(Boolean),license:txHostConfig.defaults.cfxKey??"",mysqlHost:txHostConfig.defaults.dbHost??"localhost",mysqlPort:txHostConfig.defaults.dbPort??"3306",mysqlUser:txHostConfig.defaults.dbUser??"root",mysqlPassword:txHostConfig.defaults.dbPass??"",mysqlDatabase:txHostConfig.defaults.dbName??txManager.deployer.deploymentID};const knownVarDescriptions={steam_webApiKey:"The Steam Web API Key is used to authenticate players when they join.<br/>\nYou can get one at https://steamcommunity.com/dev/apikey."};const recipeVars=txManager.deployer.getRecipeVars();renderData.inputVars=Object.keys(recipeVars).map(name=>{return{name,value:recipeVars[name],description:sanitizeSimpleHtml(knownVarDescriptions[name]||"")}})}else if(txManager.deployer.step==="run"){renderData.deployPath=txManager.deployer.deployPath}else if(txManager.deployer.step==="configure"){const errorMessage=`# server.cfg Not Found!
# This probably means you deleted it before pressing "Next".
# Press cancel and start the deployer again,
# or insert here the server.cfg contents.
# (╯°□°）╯︵ ┻━┻`;try{renderData.serverCFG=await import_fs_extra3.default.readFile(`${txManager.deployer.deployPath}/server.cfg`,"utf8");if(renderData.serverCFG=="#save_attempt_please_ignore"||!renderData.serverCFG.length){renderData.serverCFG=errorMessage}else if(renderData.serverCFG.length>10240){renderData.serverCFG=`# This recipe created a ./server.cfg above 10kb, meaning its probably the wrong data. 
Make sure everything is correct in the recipe and try again.`}}catch(error){console70.verbose.dir(error);renderData.serverCFG=errorMessage}}else{return ctx.utils.renderMessage("Unknown Deployer step, please report this bug and restart txAdmin.")}return ctx.utils.render("standalone/deployer",renderData)}var modulename60="WebServer:DeployerStatus";var console71=console_default(modulename60);async function DeployerStatus(ctx){if(!ctx.admin.hasPermission("all_permissions")){return ctx.send({success:false,refresh:true})}if(txManager.deployer==null){return ctx.send({success:false,refresh:true})}const outData={progress:txManager.deployer.progress,log:txManager.deployer.getDeployerLog()};if(txManager.deployer.step=="configure"){outData.status="done"}else if(txManager.deployer.deployFailed){outData.status="failed"}else{outData.status="running"}return ctx.send(outData)}var import_node_path17=__toESM(require("node:path"),1);var import_promise2=__toESM(require_promise2(),1);var modulename61="WebServer:DeployerActions";var console72=console_default(modulename61);var isUndefined4=x=>x===void 0;async function DeployerActions(ctx){if(isUndefined4(ctx.params.action)){return ctx.utils.error(400,"Invalid Request")}const action=ctx.params.action;if(!ctx.admin.testPermission("master",modulename61)){return ctx.send({success:false,refresh:true})}if(txManager.deployer==null){return ctx.send({success:false,refresh:true})}if(action=="confirmRecipe"){return await handleConfirmRecipe(ctx)}else if(action=="setVariables"){return await handleSetVariables(ctx)}else if(action=="commit"){return await handleSaveConfig(ctx)}else if(action=="cancel"){return await handleCancel(ctx)}else{return ctx.send({type:"danger",message:"Unknown setup action."})}}async function handleConfirmRecipe(ctx){if(isUndefined4(ctx.request.body.recipe)){return ctx.utils.error(400,"Invalid Request - missing parameters")}const userEditedRecipe=ctx.request.body.recipe;try{ctx.admin.logAction("Setting recipe.");await txManager.deployer.confirmRecipe(userEditedRecipe)}catch(error){return ctx.send({type:"danger",message:error.message})}return ctx.send({success:true})}async function handleSetVariables(ctx){var _a12;if(isUndefined4(ctx.request.body.svLicense)){return ctx.utils.error(400,"Invalid Request - missing parameters")}const userVars=cloneDeep_default(ctx.request.body);if(!consts_default.regexSvLicenseNew.test(userVars.svLicense)&&!consts_default.regexSvLicenseOld.test(userVars.svLicense)){return ctx.send({type:"danger",message:"The Server License does not appear to be valid."})}if(txManager.deployer.recipe.steamRequired&&(typeof userVars.steam_webApiKey!=="string"||userVars.steam_webApiKey.length<24)){return ctx.send({type:"danger",message:"This recipe requires steam_webApiKey to be set and valid."})}if(typeof userVars.dbDelete!=="undefined"){try{userVars.dbPort=parseInt(userVars.dbPort);if(isNaN(userVars.dbPort)){return ctx.send({type:"danger",message:"The database port is invalid (non-integer). The default is 3306."})}const mysqlOptions={host:userVars.dbHost,port:userVars.dbPort,user:userVars.dbUsername,password:userVars.dbPassword,connectTimeout:5e3};await import_promise2.default.createConnection(mysqlOptions)}catch(error){let outMessage=(error==null?void 0:error.message)??"Unknown error occurred.";if((error==null?void 0:error.code)==="ECONNREFUSED"){let specificError=txEnv.isWindows?"If you do not have a database installed, you can download and run XAMPP.":"If you do not have a database installed, you must download and run MySQL or MariaDB.";if(userVars.dbPort!==3306){specificError+="<br>\n<b>You are not using the default DB port 3306, make sure it is correct!</b>"}outMessage=`${error==null?void 0:error.message}<br>
${specificError}`}else if((_a12=error.message)==null?void 0:_a12.includes("auth_gssapi_client")){outMessage=`Your database does not accept the required authentication method. Please update your MySQL/MariaDB server and try again.`}return ctx.send({type:"danger",message:`<b>Database connection failed:</b> ${outMessage}`})}userVars.dbDelete=userVars.dbDelete==="true";const dbFullHost=userVars.dbPort===3306?userVars.dbHost:`${userVars.dbHost}:${userVars.dbPort}`;userVars.dbConnectionString=userVars.dbPassword.length?`mysql://${userVars.dbUsername}:${userVars.dbPassword}@${dbFullHost}/${userVars.dbName}?charset=utf8mb4`:`mysql://${userVars.dbUsername}@${dbFullHost}/${userVars.dbName}?charset=utf8mb4`}userVars.maxClients=txHostConfig.forceMaxClients?txHostConfig.forceMaxClients:48;if(txHostConfig.netInterface||txHostConfig.fxsPort){const comment=`# ${txHostConfig.sourceName}: do not modify!`;const endpointIface=txHostConfig.netInterface??"0.0.0.0";const endpointPort=txHostConfig.fxsPort??30120;userVars.serverEndpoints=[`endpoint_add_tcp "${endpointIface}:${endpointPort}" ${comment}`,`endpoint_add_udp "${endpointIface}:${endpointPort}" ${comment}`].join("\n")}else{userVars.serverEndpoints=['endpoint_add_tcp "0.0.0.0:30120"','endpoint_add_udp "0.0.0.0:30120"'].join("\n")}const admin=txCore.adminStore.getAdminByName(ctx.admin.name);if(!admin)return ctx.send({type:"danger",message:"Admin not found."});const addPrincipalLines=[];Object.keys(admin.providers).forEach(providerName2=>{if(admin.providers[providerName2].identifier){addPrincipalLines.push(`add_principal identifier.${admin.providers[providerName2].identifier} group.admin #${ctx.admin.name}`)}});userVars.addPrincipalsMaster=addPrincipalLines.length?addPrincipalLines.join("\n"):"# Deployer Note: this admin master has no identifiers to be automatically added.\n# add_principal identifier.discord:111111111111111111 group.admin #example";try{ctx.admin.logAction("Running recipe.");txManager.deployer.start(userVars)}catch(error){return ctx.send({type:"danger",message:error.message})}return ctx.send({success:true})}async function handleSaveConfig(ctx){var _a12,_b2,_c,_d;if(isUndefined4(ctx.request.body.serverCFG)){return ctx.utils.error(400,"Invalid Request - missing parameters")}const serverCFG=ctx.request.body.serverCFG;const cfgFilePath=import_node_path17.default.join(txManager.deployer.deployPath,"server.cfg");txCore.cacheStore.set("deployer:recipe",((_b2=(_a12=txManager.deployer)==null?void 0:_a12.recipe)==null?void 0:_b2.name)??"unknown");try{const result2=await validateModifyServerConfig(serverCFG,cfgFilePath,txManager.deployer.deployPath);if(result2.errors){return ctx.send({type:"danger",success:false,markdown:true,message:`**Cannot save \`server.cfg\` due to error(s) in your config file(s):**
${result2.errors}`})}}catch(error){return ctx.send({type:"danger",success:false,markdown:true,message:`**Failed to save \`server.cfg\` with error:**
${error.message}`})}let onesync2=SYM_RESET_CONFIG;if(typeof((_d=(_c=txManager.deployer)==null?void 0:_c.recipe)==null?void 0:_d.onesync)==="string"&&txManager.deployer.recipe.onesync.length){onesync2=txManager.deployer.recipe.onesync}try{txCore.configStore.saveConfigs({server:{dataPath:slash(import_node_path17.default.normalize(txManager.deployer.deployPath)),cfgPath:"server.cfg",onesync:onesync2}},ctx.admin.name)}catch(error){console72.warn(`[${ctx.admin.name}] Error changing fxserver settings via deployer.`);console72.verbose.dir(error);return ctx.send({type:"danger",markdown:true,message:`**Error saving the configuration file:** ${error.message}`})}ctx.admin.logAction("Completed and committed server deploy.");if(!txCore.fxRunner.isIdle){ctx.admin.logCommand("STOP SERVER");await txCore.fxRunner.killServer("new server deployed",ctx.admin.name,true)}const spawnError=await txCore.fxRunner.spawnServer(false);if(spawnError!==null){return ctx.send({type:"danger",markdown:true,message:`Config file saved, but failed to start server with error:
${spawnError}`})}else{txManager.deployer=null;txCore.webServer.webSocket.pushRefresh("status");return ctx.send({success:true})}}async function handleCancel(ctx){txManager.deployer=null;txCore.webServer.webSocket.pushRefresh("status");return ctx.send({success:true})}var modulename62="WebServer:GetSettingsConfigs";var console73=console_default(modulename62);async function GetSettingsConfigs(ctx){var _a12,_b2;const sendTypedResp2=data=>ctx.send(data);if(!ctx.admin.testPermission("settings.view",modulename62)){return sendTypedResp2({error:"You do not have permission to view the settings."})}const locales=Object.keys(localeMap_default).map(code=>({code,label:localeMap_default[code].$meta.label}));locales.sort((a,b)=>a.label.localeCompare(b.label));const outData={locales,dataPath:txHostConfig.dataPath,hasCustomDataPath:txHostConfig.hasCustomDataPath,changelog:txCore.configStore.getChangelog(),storedConfigs:txCore.configStore.getStoredConfig(),defaultConfigs:ConfigStore.SchemaDefaults,forceQuietMode:txHostConfig.forceQuietMode};if(!ctx.admin.hasPermission("settings.write")){const toRedact=outData.storedConfigs;if((_a12=outData.storedConfigs.server)==null?void 0:_a12.startupArgs){toRedact.server.startupArgs=redactStartupSecrets(outData.storedConfigs.server.startupArgs)}if((_b2=outData.storedConfigs.discordBot)==null?void 0:_b2.token){toRedact.discordBot.token="[redacted by txAdmin]"}}return sendTypedResp2(outData)}var import_promises19=__toESM(require("node:fs/promises"),1);var import_node_path18=__toESM(require("node:path"),1);var modulename63="WebServer:SettingsPage";var console74=console_default(modulename63);var cardNamesMap={general:"General",fxserver:"FXServer",bans:"Bans",whitelist:"Whitelist",discord:"Discord","game-menu":"Game Menu","game-notifications":"Game Notifications"};var validCardIds=Object.keys(cardNamesMap);var paramsSchema2=z.object({card:z.enum(validCardIds)});var bodySchema9=z.object({resetKeys:z.array(z.string()),changes:z.object({}).passthrough()});var cleanPath3=x=>slash(import_node_path18.default.normalize(x));async function SaveSettingsConfigs(ctx){const sendTypedResp2=data=>ctx.send(data);if(!ctx.admin.testPermission("settings.write",modulename63)){return sendTypedResp2({type:"error",msg:"You don't have permission to execute this action."})}const paramsSchemaRes=paramsSchema2.safeParse(ctx.params);const bodySchemaRes=bodySchema9.safeParse(ctx.request.body);if(!paramsSchemaRes.success||!bodySchemaRes.success){return sendTypedResp2({type:"error",md:true,title:"Invalid Request",msg:fromError(paramsSchemaRes.error??bodySchemaRes.error,{prefix:null}).message})}const cardId=paramsSchemaRes.data.card;const{resetKeys,changes:inputConfig}=bodySchemaRes.data;const cardName=cardNamesMap[ctx.params.card]??"UNKNOWN";const displayCardName=cardName==="Whitelist"?"Allowlist":cardName;let handlerResp={processedConfig:inputConfig};try{if(cardId==="general"){handlerResp=await handleGeneralCard(inputConfig,sendTypedResp2)}else if(cardId==="fxserver"){handlerResp=await handleFxserverCard(inputConfig,sendTypedResp2)}else if(cardId==="discord"){handlerResp=await handleDiscordCard(inputConfig,sendTypedResp2)}}catch(error){return sendTypedResp2({type:"error",md:true,title:`Error processing the ${displayCardName} changes.`,msg:error.message})}if(!handlerResp)return;const configChanges=handlerResp.processedConfig;try{for(const config of resetKeys){const[scope,key]=config.split(".");if(!scope||!key)throw new Error(`Invalid reset key: \`${config}\``);confx(configChanges).set(scope,key,SYM_RESET_CONFIG)}}catch(error){return sendTypedResp2({type:"error",md:true,title:`Error processing the ${displayCardName} changes.`,msg:error.message})}try{const changes=txCore.configStore.saveConfigs(configChanges,ctx.admin.name);if(changes.hasMatch(["server.dataPath","server.cfgPath"])){txCore.webServer.webSocket.pushRefresh("status")}return sendTypedResp2({type:"success",msg:`${displayCardName} Settings saved!`,...(handlerResp==null?void 0:handlerResp.successToast)??{},stored:txCore.configStore.getStoredConfig(),changelog:txCore.configStore.getChangelog()})}catch(error){const cardName2=cardNamesMap[ctx.params.card]??"UNKNOWN";return sendTypedResp2({type:"error",md:true,title:`Error saving the ${displayCardName} changes.`,msg:error.message})}}var handleGeneralCard=async(inputConfig,sendTypedResp2)=>{var _a12;if(((_a12=inputConfig.general)==null?void 0:_a12.language)===void 0)throw new Error(`Unexpected data for the 'general' card.`);if(inputConfig.general.language==="custom"){try{const raw=await import_promises19.default.readFile(txCore.translator.customLocalePath,"utf8");if(!raw.length)throw new Error("The `locale.json` file is empty.");const parsed=JSON.parse(raw);const locale=localeFileSchema.parse(parsed);if(!Translator.humanizerLanguages.includes(locale.$meta.humanizer_language)){throw new Error(`Invalid humanizer language: \`${locale.$meta.humanizer_language}\`.`)}}catch(error){let msg=error.message;if(error instanceof Error){if(error.message.includes("ENOENT")){msg=`Could not find the custom language file:
\`${txCore.translator.customLocalePath}\``}else if(error.message.includes("JSON")){msg="The custom language file contains invalid JSON."}else if(error instanceof z.ZodError){msg=fromError(error,{prefix:"Invalid Locale Metadata"}).message}}return sendTypedResp2({type:"error",title:"Custom Language Error",md:true,msg})}}return{processedConfig:inputConfig}};var handleFxserverCard=async(inputConfig,sendTypedResp2)=>{var _a12,_b2,_c,_d,_e;if(typeof((_a12=inputConfig.server)==null?void 0:_a12.dataPath)!=="string"||!((_b2=inputConfig.server)==null?void 0:_b2.dataPath.length)){throw new Error(`Unexpected data for the 'fxserver' card.`)}const dataPath3=inputConfig.server.dataPath;try{const isValid2=await isValidServerDataPath(dataPath3);if(!isValid2)throw new Error(`unexpected isValidServerDataPath response`)}catch(error){try{const potentialFix=await findPotentialServerDataPaths(dataPath3);if(potentialFix){return sendTypedResp2({type:"error",title:"Server Data Folder Error",md:true,msg:`The path provided is not valid.

Did you mean this path?
\`${cleanPath3(potentialFix)}\``})}}catch(error2){}return sendTypedResp2({type:"error",title:"Server Data Folder Error",md:true,msg:error.message})}let cfgPath2=txConfig.server.cfgPath;if(((_c=inputConfig.server)==null?void 0:_c.cfgPath)!==void 0){const res=ConfigStore.Schema.server.cfgPath.validator.safeParse(inputConfig.server.cfgPath);if(!res.success){return sendTypedResp2({type:"error",title:"Invalid CFG Path",md:true,msg:fromError(res.error,{prefix:null}).message})}cfgPath2=res.data}try{cfgPath2=resolveCFGFilePath(cfgPath2,dataPath3);const cfgFileStat=await import_promises19.default.stat(cfgPath2);if(!cfgFileStat.isFile()){throw new Error("The path provided is not a file")}}catch(error){return sendTypedResp2({type:"error",title:"CFG Path Error",md:true,msg:getFsErrorMdMessage(error,cleanPath3(cfgPath2))})}if(typeof((_d=inputConfig.server)==null?void 0:_d.dataPath)==="string"){inputConfig.server.dataPath=cleanPath3(inputConfig.server.dataPath)}if(typeof((_e=inputConfig.server)==null?void 0:_e.cfgPath)==="string"){inputConfig.server.cfgPath=cleanPath3(inputConfig.server.cfgPath)}return{processedConfig:inputConfig,successToast:{type:"success",title:"FXServer Settings Saved!",msg:"You need to restart the server for the changes to take effect."}}};var handleDiscordCard=async(inputConfig,sendTypedResp2)=>{var _a12;if(!inputConfig.discordBot)throw new Error(`Unexpected data for the 'discord' card.`);if(typeof inputConfig.discordBot.embedJson==="string"||typeof inputConfig.discordBot.embedConfigJson==="string"){try{generateStatusMessage(inputConfig.discordBot.embedJson??txConfig.discordBot.embedJson,inputConfig.discordBot.embedConfigJson??txConfig.discordBot.embedConfigJson)}catch(error){return sendTypedResp2({type:"error",title:"Embed validation failed:",md:true,msg:error.message})}}if(!((_a12=inputConfig.discordBot)==null?void 0:_a12.enabled)){await txCore.discordBot.attemptBotReset(false);return{processedConfig:inputConfig}}const baseError={type:"error",title:"Discord Bot Error",md:true};const schemas=ConfigStore.Schema.discordBot;const validationError=getSchemaChainError([[schemas.enabled,inputConfig.discordBot.enabled],[schemas.token,inputConfig.discordBot.token],[schemas.guild,inputConfig.discordBot.guild],[schemas.warningsChannel,inputConfig.discordBot.warningsChannel]]);if(validationError){return sendTypedResp2({...baseError,msg:validationError})}if(!inputConfig.discordBot.token||!inputConfig.discordBot.guild){return sendTypedResp2({...baseError,msg:"Missing required fields to enable the bot."})}let successMsg;try{successMsg=await txCore.discordBot.attemptBotReset({enabled:true,token:inputConfig.discordBot.token,guild:inputConfig.discordBot.guild,warningsChannel:inputConfig.discordBot.warningsChannel})}catch(error){const errorCode=error.code;let extraContext="";if(errorCode==="DisallowedIntents"||errorCode===4014){extraContext=`**The bot requires the \`GUILD_MEMBERS\` intent.**
            - Go to the [Discord Dev Portal](https://discord.com/developers/applications)
            - Navigate to \`Bot > Privileged Gateway Intents\`.
            - Enable the \`GUILD_MEMBERS\` intent.
            - Press save on the developer portal.
            - Go to the \`txAdmin > Settings > Discord Bot\` and press save.`}else if(errorCode==="CustomNoGuild"){const inviteUrl="clientId"in error?`https://discord.com/oauth2/authorize?client_id=${error.clientId}&scope=bot&permissions=0`:`https://discordapi.com/permissions.html#0`;extraContext=`**This usually mean one of the issues below:**
            - **Wrong server ID:** read the description of the server ID setting for more information.
            - **Bot is not in the server:** you need to [INVITE THE BOT](${inviteUrl}) to join the server.
            - **Wrong bot:** you may be using the token of another discord bot.`}else if(errorCode==="DangerousPermission"){extraContext=`To enable the bot, you need to remove the permissions listed above, which can be done in the Discord Server role configuration page. Please check every single role that the bot has, including the \`@everyone\` role.
            **Please keep in mind that:**
            - These permissions are dangerous because if the bot token leaks, an attacker can cause permanent damage to your server.
            - No bot should have more permissions than strictly needed, especially \`Administrator\`.
            - You should never have multiple bots using the same token, create a new one for each bot.`}return sendTypedResp2({...baseError,title:"Error starting the bot:",msg:`${error.message}
${extraContext}`.trim()})}return{processedConfig:inputConfig,successToast:{type:"success",md:true,title:"Discord Bot Settings Saved!",msg:`${successMsg}
If _(and only if)_ the status embed is not being updated, check the [System > Console Log](/system/console-log) page to look for embed errors.`}}};var modulename64="WebServer:GetBanTemplates";var console75=console_default(modulename64);async function GetBanTemplates(ctx){const sendTypedResp2=data=>ctx.send(data);return sendTypedResp2(txConfig.banlist.templates)}var modulename65="WebServer:SaveBanTemplates";var console76=console_default(modulename65);var bodySchema10=z.any().array();async function SaveBanTemplates(ctx){const sendTypedResp2=data=>ctx.send(data);if(!ctx.admin.testPermission("settings.write",modulename65)){return sendTypedResp2({error:"You do not have permission to change the settings."})}const schemaRes=bodySchema10.safeParse(ctx.request.body);if(!schemaRes.success){return sendTypedResp2({error:`Invalid request body: ${schemaRes.error.message}`})}const banTemplates=schemaRes.data;try{txCore.configStore.saveConfigs({banlist:{templates:banTemplates}},ctx.admin.name)}catch(error){console76.warn(`[${ctx.admin.name}] Error changing banTemplates settings.`);console76.verbose.dir(error);return sendTypedResp2({error:`Error saving the configuration file: ${error.message}`})}return sendTypedResp2({success:true})}var modulename66="WebServer:SettingsPage";var console77=console_default(modulename66);async function ResetServerDataPath(ctx){const sendTypedResp2=data=>ctx.send(data);if(!ctx.admin.testPermission("all_permissions",modulename66)){return sendTypedResp2({type:"error",msg:"You don't have permission to execute this action."})}if(!txCore.fxRunner.isIdle){ctx.admin.logCommand("STOP SERVER");txCore.fxRunner.killServer("new server set up",ctx.admin.name,false).catch(e=>{})}txManager.deployer=null;try{txCore.configStore.saveConfigs({server:{dataPath:SYM_RESET_CONFIG,cfgPath:SYM_RESET_CONFIG}},ctx.admin.name)}catch(error){console77.warn(`[${ctx.admin.name}] Error resetting server data settings.`);console77.verbose.dir(error);return sendTypedResp2({type:"error",md:true,title:`Error resetting the server data path.`,msg:error.message})}txCore.webServer.webSocket.pushRefresh("status");ctx.admin.logAction("Resetting server data settings.");return sendTypedResp2({type:"success",msg:"Server data path reset."})}var modulename67="WebServer:MasterActions:Page";var console78=console_default(modulename67);async function MasterActionsPage(ctx){const isMasterAdmin=ctx.admin.hasPermission("master");return ctx.utils.render("main/masterActions",{headerTitle:"Master Actions",isMasterAdmin,disableActions:isMasterAdmin&&ctx.txVars.isWebInterface?"":"disabled"})}var import_promises20=__toESM(require("node:fs/promises"),1);var modulename68="WebServer:MasterActions:GetBackup";var console79=console_default(modulename68);async function MasterActionsGet(ctx){if(!ctx.admin.testPermission("master",modulename68)){return ctx.utils.renderMessage("Only the master account has permission to view/use this page.")}if(!ctx.txVars.isWebInterface){return ctx.utils.renderMessage("This functionality cannot be used by the in-game menu, please use the web version of txAdmin.")}const dbPath=`${txEnv.profilePath}/data/playersDB.json`;let readFile4;try{readFile4=await import_promises20.default.readFile(dbPath)}catch(error){console79.error(`Could not read database file ${dbPath}.`);return ctx.utils.renderMessage(`Failed to generate backup file with error: ${error.message}`)}ctx.attachment(`playersDB_${getTimeFilename()}.json`);ctx.body=readFile4;console79.log(`[${ctx.admin.name}] Downloading player database.`)}var modulename69="WebServer:MasterActions:Action";var console80=console_default(modulename69);async function MasterActionsAction(ctx){if(typeof ctx.params.action!=="string"){return ctx.send({error:"Invalid Request"})}const action=ctx.params.action;if(!ctx.admin.testPermission("master",modulename69)){return ctx.send({error:"Only the master account has permission to view/use this page."})}if(!ctx.txVars.isWebInterface){return ctx.send({error:"This functionality cannot be used by the in-game menu, please use the web version of txAdmin."})}if(action=="cleanDatabase"){return handleCleanDatabase(ctx)}else if(action=="revokeWhitelists"){return handleRevokeWhitelists(ctx)}else{return ctx.send({error:"Unknown settings action."})}}async function handleCleanDatabase(ctx){const sendTypedResp2=data=>ctx.send(data);if(typeof ctx.request.body.players!=="string"||typeof ctx.request.body.bans!=="string"||typeof ctx.request.body.warns!=="string"||typeof ctx.request.body.hwids!=="string"){return sendTypedResp2({error:"Invalid Request"})}const{players,bans,warns,hwids}=ctx.request.body;const daySecs=86400;const currTs=now();let playersFilter;if(players==="none"){playersFilter=x=>false}else if(players==="60d"){playersFilter=x=>x.tsLastConnection<currTs-60*daySecs&&!x.notes}else if(players==="30d"){playersFilter=x=>x.tsLastConnection<currTs-30*daySecs&&!x.notes}else if(players==="15d"){playersFilter=x=>x.tsLastConnection<currTs-15*daySecs&&!x.notes}else{return sendTypedResp2({error:"Invalid players filter type."})}let bansFilter;if(bans==="none"){bansFilter=x=>false}else if(bans==="revoked"){bansFilter=x=>x.type==="ban"&&x.revocation.timestamp}else if(bans==="revokedExpired"){bansFilter=x=>x.type==="ban"&&(x.revocation.timestamp||x.expiration&&x.expiration<currTs)}else if(bans==="all"){bansFilter=x=>x.type==="ban"}else{return sendTypedResp2({error:"Invalid bans filter type."})}let warnsFilter;if(warns==="none"){warnsFilter=x=>false}else if(warns==="revoked"){warnsFilter=x=>x.type==="warn"&&x.revocation.timestamp}else if(warns==="30d"){warnsFilter=x=>x.type==="warn"&&x.timestamp<currTs-30*daySecs}else if(warns==="15d"){warnsFilter=x=>x.type==="warn"&&x.timestamp<currTs-15*daySecs}else if(warns==="7d"){warnsFilter=x=>x.type==="warn"&&x.timestamp<currTs-7*daySecs}else if(warns==="all"){warnsFilter=x=>x.type==="warn"}else{return sendTypedResp2({error:"Invalid warns filter type."})}const actionsFilter=x=>{return bansFilter(x)||warnsFilter(x)};let hwidsWipePlayers;let hwidsWipeBans;if(hwids==="none"){hwidsWipePlayers=false;hwidsWipeBans=false}else if(hwids==="players"){hwidsWipePlayers=true;hwidsWipeBans=false}else if(hwids==="bans"){hwidsWipePlayers=false;hwidsWipeBans=true}else if(hwids==="all"){hwidsWipePlayers=true;hwidsWipeBans=true}else{return sendTypedResp2({error:"Invalid HWIDs filter type."})}const tsStart=Date.now();let playersRemoved=0;try{playersRemoved=txCore.database.cleanup.bulkRemove("players",playersFilter)}catch(error){return sendTypedResp2({error:`<b>Failed to clean players with error:</b><br>${error.message}`})}let actionsRemoved=0;try{actionsRemoved=txCore.database.cleanup.bulkRemove("actions",actionsFilter)}catch(error){return sendTypedResp2({error:`<b>Failed to clean actions with error:</b><br>${error.message}`})}let hwidsRemoved=0;try{hwidsRemoved=txCore.database.cleanup.wipeHwids(hwidsWipePlayers,hwidsWipeBans)}catch(error){return sendTypedResp2({error:`<b>Failed to clean HWIDs with error:</b><br>${error.message}`})}const msElapsed=Date.now()-tsStart;return sendTypedResp2({msElapsed,playersRemoved,actionsRemoved,hwidsRemoved})}async function handleRevokeWhitelists(ctx){const sendTypedResp2=data=>ctx.send(data);if(typeof ctx.request.body.filter!=="string"){return sendTypedResp2({error:"Invalid Request"})}const filterInput=ctx.request.body.filter;const daySecs=86400;const currTs=now();let filterFunc;if(filterInput==="all"){filterFunc=p=>true}else if(filterInput==="30d"){filterFunc=p=>p.tsLastConnection<currTs-30*daySecs}else if(filterInput==="15d"){filterFunc=p=>p.tsLastConnection<currTs-15*daySecs}else if(filterInput==="7d"){filterFunc=p=>p.tsLastConnection<currTs-7*daySecs}else{return sendTypedResp2({error:"Invalid whitelists filter type."})}try{const tsStart=Date.now();const cntRemoved=txCore.database.players.bulkRevokeWhitelist(filterFunc);const msElapsed=Date.now()-tsStart;return sendTypedResp2({msElapsed,cntRemoved})}catch(error){return sendTypedResp2({error:`<b>Failed to clean players with error:</b><br>${error.message}`})}}var modulename70="WebServer:SetupGet";var console81=console_default(modulename70);async function SetupGet(ctx){var _a12;if(!ctx.admin.hasPermission("master")){return ctx.utils.renderMessage("You need to be the admin master to use the setup page.")}if(txManager.configState==="deployer"){return ctx.utils.legacyNavigateToPage("/server/deployer")}else if(txManager.configState!=="setup"){return ctx.utils.legacyNavigateToPage("/")}const storedConfig=txCore.configStore.getStoredConfig();const renderData={headerTitle:"Setup",skipServerName:!!((_a12=storedConfig.general)==null?void 0:_a12.serverName),deployerEngineVersion:RECIPE_DEPLOYER_VERSION,forceGameName:txHostConfig.forceGameName??"",dataPath:txHostConfig.dataPath,hasCustomDataPath:txHostConfig.hasCustomDataPath};return ctx.utils.render("standalone/setup",renderData)}var import_node_path19=__toESM(require("node:path"),1);var import_fs_extra4=__toESM(require_lib2(),1);var import_promises21=__toESM(require("node:fs/promises"),1);var modulename71="WebServer:SetupPost";var console82=console_default(modulename71);var isUndefined5=x=>x===void 0;var getDirectories=source=>{return import_fs_extra4.default.readdirSync(source,{withFileTypes:true}).filter(dirent=>dirent.isDirectory()).map(dirent=>dirent.name)};var getPotentialServerDataFolders=source=>{try{return getDirectories(source).filter(dirent=>getDirectories(import_node_path19.default.join(source,dirent)).includes("resources")).map(dirent=>slash(import_node_path19.default.join(source,dirent))+"/")}catch(error){console82.verbose.warn(`Failed to find server data folder with message: ${error.message}`);return[]}};async function SetupPost(ctx){if(isUndefined5(ctx.params.action)){return ctx.utils.error(400,"Invalid Request")}const action=ctx.params.action;if(!ctx.admin.testPermission("all_permissions",modulename71)){return ctx.send({success:false,message:"You need to be the admin master or have all permissions to use the setup page."})}if(txManager.configState!=="setup"){return ctx.send({success:false,refresh:true})}if(action=="validateRecipeURL"){return await handleValidateRecipeURL(ctx)}else if(action=="validateLocalDeployPath"){return await handleValidateLocalDeployPath(ctx)}else if(action=="validateLocalDataFolder"){return await handleValidateLocalDataFolder(ctx)}else if(action=="validateCFGFile"){return await handleValidateCFGFile(ctx)}else if(action=="save"&&ctx.request.body.type=="popular"){return await handleSaveDeployerImport(ctx)}else if(action=="save"&&ctx.request.body.type=="remote"){return await handleSaveDeployerImport(ctx)}else if(action=="save"&&ctx.request.body.type=="custom"){return await handleSaveDeployerCustom(ctx)}else if(action=="save"&&ctx.request.body.type=="local"){return await handleSaveLocal(ctx)}else{return ctx.send({success:false,message:"Unknown setup action."})}}async function handleValidateRecipeURL(ctx){if(isUndefined5(ctx.request.body.recipeURL)){return ctx.utils.error(400,"Invalid Request - missing parameters")}const recipeURL=ctx.request.body.recipeURL.trim();try{const recipeText=await got_default.get({url:recipeURL,timeout:{request:4500}}).text();if(typeof recipeText!=="string")throw new Error("This URL did not return a string.");const recipe=recipeParser_default(recipeText);return ctx.send({success:true,name:recipe.name})}catch(error){return ctx.send({success:false,message:`Recipe error: ${error.message}`})}}async function handleValidateLocalDeployPath(ctx){if(isUndefined5(ctx.request.body.deployPath)){return ctx.utils.error(400,"Invalid Request - missing parameters")}const deployPath=slash(import_node_path19.default.normalize(ctx.request.body.deployPath.trim()));try{await validateTargetPath(deployPath);return ctx.send({success:true,message:"Path is valid."})}catch(error){return ctx.send({success:false,message:error.message})}}async function handleValidateLocalDataFolder(ctx){if(isUndefined5(ctx.request.body.dataFolder)){return ctx.utils.error(400,"Invalid Request - missing parameters")}const dataFolderPath=slash(import_node_path19.default.normalize(ctx.request.body.dataFolder.trim()+"/"));try{if(!import_fs_extra4.default.existsSync(import_node_path19.default.join(dataFolderPath,"resources"))){const attemptIsParent=import_node_path19.default.join(dataFolderPath,"..");if(import_fs_extra4.default.existsSync(import_node_path19.default.join(attemptIsParent,"resources"))){return ctx.send({success:false,suggestion:attemptIsParent})}const attemptOutside=getPotentialServerDataFolders(import_node_path19.default.join(dataFolderPath,".."));if(attemptOutside.length>=1){return ctx.send({success:false,suggestion:attemptOutside[0]})}if(dataFolderPath.includes("/resources")){const attemptRes=dataFolderPath.split("/resources")[0];if(import_fs_extra4.default.existsSync(import_node_path19.default.join(attemptRes,"resources"))){return ctx.send({success:false,suggestion:attemptRes})}}const attemptInside=getPotentialServerDataFolders(dataFolderPath);if(attemptInside.length>=1){return ctx.send({success:false,suggestion:attemptInside[0]})}throw new Error("Couldn't locate or read a resources folder inside of the path provided.")}else{return ctx.send({success:true,detectedConfig:findLikelyCFGPath(dataFolderPath)})}}catch(error){return ctx.send({success:false,message:error.message})}}async function handleValidateCFGFile(ctx){if(isUndefined5(ctx.request.body.dataFolder)||isUndefined5(ctx.request.body.cfgFile)){return ctx.utils.error(400,"Invalid Request - missing parameters")}const dataFolderPath=slash(import_node_path19.default.normalize(ctx.request.body.dataFolder.trim()));const cfgFilePathNormalized=slash(import_node_path19.default.normalize(ctx.request.body.cfgFile.trim()));try{const result2=await validateFixServerConfig(cfgFilePathNormalized,dataFolderPath);if(result2.errors){const message3=`**The file path is correct, but there are error(s) in your config file(s):**
${result2.errors}`;return ctx.send({success:false,markdown:true,message:message3})}else{return ctx.send({success:true})}}catch(error){const message3=`Error:
 ${error.message}.`;return ctx.send({success:false,message:message3})}}async function handleSaveLocal(ctx){if(isUndefined5(ctx.request.body.name)||isUndefined5(ctx.request.body.dataFolder)||isUndefined5(ctx.request.body.cfgFile)){return ctx.utils.error(400,"Invalid Request - missing parameters")}const cfg={name:ctx.request.body.name.trim(),dataFolder:slash(import_node_path19.default.normalize(ctx.request.body.dataFolder+"/")),cfgFile:slash(import_node_path19.default.normalize(ctx.request.body.cfgFile))};try{const stat3=await import_promises21.default.stat(import_node_path19.default.join(cfg.dataFolder,"resources"));if(!stat3.isDirectory()){throw new Error("not a directory")}}catch(error){let msg=(error==null?void 0:error.message)??"unknown error";if((error==null?void 0:error.code)==="ENOENT"){msg="The server data folder does not exist."}return ctx.send({success:false,message:`<strong>Server Data Folder error:</strong> ${msg}`})}try{txCore.configStore.saveConfigs({general:{serverName:cfg.name},server:{dataPath:cfg.dataFolder,cfgPath:cfg.cfgFile}},ctx.admin.name)}catch(error){console82.warn(`[${ctx.admin.name}] Error changing global/fxserver settings via setup stepper.`);console82.verbose.dir(error);return ctx.send({type:"danger",markdown:true,message:`**Error saving the configuration file:**
${error.message}`})}txCore.cacheStore.set("deployer:recipe","none");ctx.admin.logAction("Changing global/fxserver settings via setup stepper.");if(!txCore.fxRunner.isIdle){ctx.admin.logCommand("STOP SERVER");await txCore.fxRunner.killServer("new server set up",ctx.admin.name,true)}const spawnError=await txCore.fxRunner.spawnServer(false);if(spawnError!==null){return ctx.send({success:false,markdown:true,message:spawnError})}else{return ctx.send({success:true})}}async function handleSaveDeployerImport(ctx){if(isUndefined5(ctx.request.body.name)||isUndefined5(ctx.request.body.isTrustedSource)||isUndefined5(ctx.request.body.recipeURL)||isUndefined5(ctx.request.body.targetPath)||isUndefined5(ctx.request.body.deploymentID)){return ctx.utils.error(400,"Invalid Request - missing parameters")}const isTrustedSource=ctx.request.body.isTrustedSource==="true";const serverName2=ctx.request.body.name.trim();const recipeURL=ctx.request.body.recipeURL.trim();const targetPath=slash(import_node_path19.default.normalize(ctx.request.body.targetPath+"/"));const deploymentID=ctx.request.body.deploymentID;let recipeText;try{recipeText=await got_default.get({url:recipeURL,timeout:{request:4500}}).text();if(typeof recipeText!=="string")throw new Error("This URL did not return a string.")}catch(error){return ctx.send({success:false,message:`Recipe download error: ${error.message}`})}try{txCore.configStore.saveConfigs({general:{serverName:serverName2}},ctx.admin.name)}catch(error){console82.warn(`[${ctx.admin.name}] Error changing global settings via setup stepper.`);console82.verbose.dir(error);return ctx.send({type:"danger",markdown:true,message:`**Error saving the configuration file:** ${error.message}`})}ctx.admin.logAction("Changing global settings via setup stepper and started Deployer.");try{txManager.startDeployer(recipeText,deploymentID,targetPath,isTrustedSource,{serverName:serverName2});txCore.webServer.webSocket.pushRefresh("status")}catch(error){return ctx.send({success:false,message:error.message})}return ctx.send({success:true})}async function handleSaveDeployerCustom(ctx){if(isUndefined5(ctx.request.body.name)||isUndefined5(ctx.request.body.targetPath)||isUndefined5(ctx.request.body.deploymentID)){return ctx.utils.error(400,"Invalid Request - missing parameters")}const serverName2=ctx.request.body.name.trim();const targetPath=slash(import_node_path19.default.normalize(ctx.request.body.targetPath+"/"));const deploymentID=ctx.request.body.deploymentID;try{txCore.configStore.saveConfigs({general:{serverName:serverName2}},ctx.admin.name)}catch(error){console82.warn(`[${ctx.admin.name}] Error changing global settings via setup stepper.`);console82.verbose.dir(error);return ctx.send({type:"danger",markdown:true,message:`**Error saving the configuration file:** ${error.message}`})}ctx.admin.logAction("Changing global settings via setup stepper and started Deployer.");const customMetaData={author:ctx.admin.name,serverName:serverName2};try{txManager.startDeployer(false,deploymentID,targetPath,false,customMetaData);txCore.webServer.webSocket.pushRefresh("status")}catch(error){return ctx.send({success:false,message:error.message})}return ctx.send({success:true})}var modulename72="WebServer:FXServerCommands";var console83=console_default(modulename72);async function FXServerCommands(ctx){var _a12;if(typeof ctx.request.body.action==="undefined"||typeof ctx.request.body.parameter==="undefined"){return ctx.send({type:"error",msg:"Invalid request."})}const action=ctx.request.body.action;const parameter=ctx.request.body.parameter;if(!((_a12=txCore.fxRunner.child)==null?void 0:_a12.isAlive)){return ctx.send({type:"error",msg:"The server is not running."})}const unsafeActions=["restart_res","start_res","ensure_res"];if(unsafeActions.includes(action)&&parameter.includes("runcode")){return ctx.send({type:"error",msg:'The resource "runcode" might be unsafe. <br> If you know what you are doing, run it via the Live Console.'})}if(action=="admin_broadcast"){if(!ensurePermission2(ctx,"announcement"))return false;const message3=(parameter??"").trim();txCore.fxRunner.sendEvent("announcement",{message:message3,author:ctx.admin.name});ctx.admin.logAction(`Sending announcement: ${parameter}`);const publicAuthor=txCore.adminStore.getAdminPublicName(ctx.admin.name,"message");txCore.discordBot.sendAnnouncement({type:"info",title:{key:"nui_menu.misc.announcement_title",data:{author:publicAuthor}},description:message3});return ctx.send({type:"success",msg:"Announcement command sent."})}else if(action=="kick_all"){if(!ensurePermission2(ctx,"control.server"))return false;const kickReason=(parameter??"").trim()||txCore.translator.t("kick_messages.unknown_reason");const dropMessage=txCore.translator.t("kick_messages.everyone",{reason:kickReason});ctx.admin.logAction(`Kicking all players: ${kickReason}`);txCore.fxRunner.sendEvent("playerKicked",{target:-1,author:ctx.admin.name,reason:kickReason,dropMessage});return ctx.send({type:"success",msg:"Kick All command sent."})}else if(action=="restart_res"){if(!ensurePermission2(ctx,"commands.resources"))return false;ctx.admin.logAction(`Restarted resource "${parameter}"`);txCore.fxRunner.sendCommand("restart",[parameter],ctx.admin.name);return ctx.send({type:"warning",msg:"Resource restart command sent."})}else if(action=="start_res"){if(!ensurePermission2(ctx,"commands.resources"))return false;ctx.admin.logAction(`Started resource "${parameter}"`);txCore.fxRunner.sendCommand("start",[parameter],ctx.admin.name);return ctx.send({type:"warning",msg:"Resource start command sent."})}else if(action=="ensure_res"){if(!ensurePermission2(ctx,"commands.resources"))return false;ctx.admin.logAction(`Ensured resource "${parameter}"`);txCore.fxRunner.sendCommand("ensure",[parameter],ctx.admin.name);return ctx.send({type:"warning",msg:"Resource ensure command sent."})}else if(action=="stop_res"){if(!ensurePermission2(ctx,"commands.resources"))return false;ctx.admin.logAction(`Stopped resource "${parameter}"`);txCore.fxRunner.sendCommand("stop",[parameter],ctx.admin.name);return ctx.send({type:"warning",msg:"Resource stop command sent."})}else if(action=="refresh_res"){if(!ensurePermission2(ctx,"commands.resources"))return false;ctx.admin.logAction(`Refreshed resources`);txCore.fxRunner.sendCommand("refresh",[],ctx.admin.name);return ctx.send({type:"warning",msg:"Refresh command sent."})}else{return ctx.send({type:"error",msg:"Unknown Action."})}}function ensurePermission2(ctx,perm){if(ctx.admin.testPermission(perm,modulename72)){return true}else{ctx.send({type:"error",msg:"You don't have permission to execute this action."});return false}}var modulename73="WebServer:FXServerControls";var console84=console_default(modulename73);async function FXServerControls(ctx){var _a12;if(typeof((_a12=ctx.request.body)==null?void 0:_a12.action)!=="string"){return ctx.utils.error(400,"Invalid Request")}const{action}=ctx.request.body;if(!ctx.admin.testPermission("control.server",modulename73)){return ctx.send({type:"error",msg:"You don't have permission to execute this action."})}if(action==="restart"){ctx.admin.logCommand("RESTART SERVER");const respawnDelay=txCore.fxRunner.restartSpawnDelay;if(respawnDelay.ms>1e4){txCore.fxRunner.restartServer("admin request",ctx.admin.name).catch(e=>{});const durationStr=msToShortishDuration(respawnDelay.ms,{units:["m","s","ms"]});return ctx.send({type:"warning",msg:`The server is will restart with delay of ${durationStr}.`})}else{const restartError=await txCore.fxRunner.restartServer("admin request",ctx.admin.name);if(restartError!==null){return ctx.send({type:"error",md:true,msg:restartError})}else{return ctx.send({type:"success",msg:"The server is now restarting."})}}}else if(action==="stop"){if(txCore.fxRunner.isIdle){return ctx.send({type:"success",msg:"The server is already stopped."})}ctx.admin.logCommand("STOP SERVER");await txCore.fxRunner.killServer("admin request",ctx.admin.name,false);return ctx.send({type:"success",msg:"Server stopped."})}else if(action==="start"){if(!txCore.fxRunner.isIdle){return ctx.send({type:"error",msg:"The server is already running. If it's not working, press RESTART."})}ctx.admin.logCommand("START SERVER");const spawnError=await txCore.fxRunner.spawnServer(true);if(spawnError!==null){return ctx.send({type:"error",md:true,msg:spawnError})}else{return ctx.send({type:"success",msg:"The server is now starting."})}}else{return ctx.send({type:"error",msg:`Unknown control action '${action}'.`})}}var import_node_fs10=__toESM(require("node:fs"),1);var modulename74="WebServer:FXServerDownloadLog";var console85=console_default(modulename74);async function FXServerDownloadLog(ctx){if(!ctx.admin.testPermission("console.view",modulename74)){return ctx.utils.renderMessage("You don't have permission to download this log.")}let readFile4;try{readFile4=import_node_fs10.default.readFileSync(txCore.logger.fxserver.activeFilePath)}catch(error){console85.error(`Could not read log file ${txCore.logger.fxserver.activeFilePath}.`)}const now3=(new Date/1e3).toFixed();ctx.attachment(`fxserver_${now3}.log`);ctx.body=readFile4;console85.log(`[${ctx.admin.name}] Downloading console log file.`)}var modulename75="WebServer:FXServerSchedule";var console86=console_default(modulename75);async function FXServerSchedule(ctx){if(typeof ctx.request.body.action==="undefined"||typeof ctx.request.body.parameter==="undefined"){return ctx.send({type:"error",msg:`invalid request`})}const{action,parameter}=ctx.request.body;if(!ctx.admin.testPermission("control.server",modulename75)){return ctx.send({type:"error",msg:"You don't have permission to execute this action."})}if(action==="setNextTempSchedule"){try{txCore.fxScheduler.setNextTempSchedule(parameter);ctx.admin.logAction(`Scheduling server restart at ${parameter}`);return ctx.send({type:"success",msg:"Restart scheduled."})}catch(error){return ctx.send({type:"error",msg:error.message})}}else if(action==="setNextSkip"){try{txCore.fxScheduler.setNextSkip(parameter,ctx.admin.name);const logAct=parameter?"Cancelling":"Re-enabling";ctx.admin.logAction(`${logAct} next scheduled restart.`);return ctx.send({type:"success",msg:"Schedule changed."})}catch(error){return ctx.send({type:"error",msg:error.message})}}else{return ctx.send({type:"error",msg:"Unknown Action."})}}var modulename76="WebServer:HistoryStats";var console87=console_default(modulename76);async function HistoryStats(ctx){const sendTypedResp2=data=>ctx.send(data);try{const dbStats=txCore.database.stats.getActionStats();const dbAdmins=Object.keys(dbStats.groupedByAdmins);const vaultAdmins=txCore.adminStore.getAdminsList().map(a=>a.name);const adminStats=union_default(dbAdmins,vaultAdmins).sort((a,b)=>a.localeCompare(b)).map(admin=>({name:admin,actions:dbStats.groupedByAdmins[admin]??0}));return sendTypedResp2({...dbStats,groupedByAdmins:adminStats})}catch(error){const msg=`getStats failed with error: ${error.message}`;console87.verbose.error(msg);return sendTypedResp2({error:msg})}}function isArray2(value){return!Array.isArray?getTag2(value)==="[object Array]":Array.isArray(value)}var INFINITY7=1/0;function baseToString2(value){if(typeof value=="string"){return value}let result2=value+"";return result2=="0"&&1/value==-INFINITY7?"-0":result2}function toString4(value){return value==null?"":baseToString2(value)}function isString3(value){return typeof value==="string"}function isNumber3(value){return typeof value==="number"}function isBoolean3(value){return value===true||value===false||isObjectLike2(value)&&getTag2(value)=="[object Boolean]"}function isObject3(value){return typeof value==="object"}function isObjectLike2(value){return isObject3(value)&&value!==null}function isDefined(value){return value!==void 0&&value!==null}function isBlank(value){return!value.trim().length}function getTag2(value){return value==null?value===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(value)}var INCORRECT_INDEX_TYPE="Incorrect 'index' type";var LOGICAL_SEARCH_INVALID_QUERY_FOR_KEY=key=>`Invalid value for key ${key}`;var PATTERN_LENGTH_TOO_LARGE=max3=>`Pattern length exceeds max of ${max3}.`;var MISSING_KEY_PROPERTY=name=>`Missing ${name} property in key`;var INVALID_KEY_WEIGHT_VALUE=key=>`Property 'weight' in key '${key}' must be a positive integer`;var hasOwn=Object.prototype.hasOwnProperty;var KeyStore=class{constructor(keys2){this._keys=[];this._keyMap={};let totalWeight=0;keys2.forEach(key=>{let obj=createKey(key);this._keys.push(obj);this._keyMap[obj.id]=obj;totalWeight+=obj.weight});this._keys.forEach(key=>{key.weight/=totalWeight})}get(keyId){return this._keyMap[keyId]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}};function createKey(key){let path27=null;let id=null;let src=null;let weight=1;let getFn=null;if(isString3(key)||isArray2(key)){src=key;path27=createKeyPath(key);id=createKeyId(key)}else{if(!hasOwn.call(key,"name")){throw new Error(MISSING_KEY_PROPERTY("name"))}const name=key.name;src=name;if(hasOwn.call(key,"weight")){weight=key.weight;if(weight<=0){throw new Error(INVALID_KEY_WEIGHT_VALUE(name))}}path27=createKeyPath(name);id=createKeyId(name);getFn=key.getFn}return{path:path27,id,weight,src,getFn}}function createKeyPath(key){return isArray2(key)?key:key.split(".")}function createKeyId(key){return isArray2(key)?key.join("."):key}function get2(obj,path27){let list=[];let arr=false;const deepGet=(obj2,path28,index)=>{if(!isDefined(obj2)){return}if(!path28[index]){list.push(obj2)}else{let key=path28[index];const value=obj2[key];if(!isDefined(value)){return}if(index===path28.length-1&&(isString3(value)||isNumber3(value)||isBoolean3(value))){list.push(toString4(value))}else if(isArray2(value)){arr=true;for(let i=0,len=value.length;i<len;i+=1){deepGet(value[i],path28,index+1)}}else if(path28.length){deepGet(value,path28,index+1)}}};deepGet(obj,isString3(path27)?path27.split("."):path27,0);return arr?list:list[0]}var MatchOptions={includeMatches:false,findAllMatches:false,minMatchCharLength:1};var BasicOptions={isCaseSensitive:false,includeScore:false,keys:[],shouldSort:true,sortFn:(a,b)=>a.score===b.score?a.idx<b.idx?-1:1:a.score<b.score?-1:1};var FuzzyOptions={location:0,threshold:.6,distance:100};var AdvancedOptions={useExtendedSearch:false,getFn:get2,ignoreLocation:false,ignoreFieldNorm:false,fieldNormWeight:1};var Config={...BasicOptions,...MatchOptions,...FuzzyOptions,...AdvancedOptions};var SPACE=/[^ ]+/g;function norm(weight=1,mantissa=3){const cache2=new Map;const m=Math.pow(10,mantissa);return{get(value){const numTokens=value.match(SPACE).length;if(cache2.has(numTokens)){return cache2.get(numTokens)}const norm2=1/Math.pow(numTokens,.5*weight);const n=parseFloat(Math.round(norm2*m)/m);cache2.set(numTokens,n);return n},clear(){cache2.clear()}}}var FuseIndex=class{constructor({getFn=Config.getFn,fieldNormWeight=Config.fieldNormWeight}={}){this.norm=norm(fieldNormWeight,3);this.getFn=getFn;this.isCreated=false;this.setIndexRecords()}setSources(docs=[]){this.docs=docs}setIndexRecords(records=[]){this.records=records}setKeys(keys2=[]){this.keys=keys2;this._keysMap={};keys2.forEach((key,idx)=>{this._keysMap[key.id]=idx})}create(){if(this.isCreated||!this.docs.length){return}this.isCreated=true;if(isString3(this.docs[0])){this.docs.forEach((doc,docIndex)=>{this._addString(doc,docIndex)})}else{this.docs.forEach((doc,docIndex)=>{this._addObject(doc,docIndex)})}this.norm.clear()}add(doc){const idx=this.size();if(isString3(doc)){this._addString(doc,idx)}else{this._addObject(doc,idx)}}removeAt(idx){this.records.splice(idx,1);for(let i=idx,len=this.size();i<len;i+=1){this.records[i].i-=1}}getValueForItemAtKeyId(item,keyId){return item[this._keysMap[keyId]]}size(){return this.records.length}_addString(doc,docIndex){if(!isDefined(doc)||isBlank(doc)){return}let record={v:doc,i:docIndex,n:this.norm.get(doc)};this.records.push(record)}_addObject(doc,docIndex){let record={i:docIndex,$:{}};this.keys.forEach((key,keyIndex)=>{let value=key.getFn?key.getFn(doc):this.getFn(doc,key.path);if(!isDefined(value)){return}if(isArray2(value)){let subRecords=[];const stack2=[{nestedArrIndex:-1,value}];while(stack2.length){const{nestedArrIndex,value:value2}=stack2.pop();if(!isDefined(value2)){continue}if(isString3(value2)&&!isBlank(value2)){let subRecord={v:value2,i:nestedArrIndex,n:this.norm.get(value2)};subRecords.push(subRecord)}else if(isArray2(value2)){value2.forEach((item,k)=>{stack2.push({nestedArrIndex:k,value:item})})}else;}record.$[keyIndex]=subRecords}else if(isString3(value)&&!isBlank(value)){let subRecord={v:value,n:this.norm.get(value)};record.$[keyIndex]=subRecord}});this.records.push(record)}toJSON(){return{keys:this.keys,records:this.records}}};function createIndex(keys2,docs,{getFn=Config.getFn,fieldNormWeight=Config.fieldNormWeight}={}){const myIndex=new FuseIndex({getFn,fieldNormWeight});myIndex.setKeys(keys2.map(createKey));myIndex.setSources(docs);myIndex.create();return myIndex}function parseIndex(data,{getFn=Config.getFn,fieldNormWeight=Config.fieldNormWeight}={}){const{keys:keys2,records}=data;const myIndex=new FuseIndex({getFn,fieldNormWeight});myIndex.setKeys(keys2);myIndex.setIndexRecords(records);return myIndex}function computeScore$1(pattern,{errors:errors2=0,currentLocation=0,expectedLocation=0,distance=Config.distance,ignoreLocation=Config.ignoreLocation}={}){const accuracy=errors2/pattern.length;if(ignoreLocation){return accuracy}const proximity=Math.abs(expectedLocation-currentLocation);if(!distance){return proximity?1:accuracy}return accuracy+proximity/distance}function convertMaskToIndices(matchmask=[],minMatchCharLength=Config.minMatchCharLength){let indices=[];let start=-1;let end=-1;let i=0;for(let len=matchmask.length;i<len;i+=1){let match=matchmask[i];if(match&&start===-1){start=i}else if(!match&&start!==-1){end=i-1;if(end-start+1>=minMatchCharLength){indices.push([start,end])}start=-1}}if(matchmask[i-1]&&i-start>=minMatchCharLength){indices.push([start,i-1])}return indices}var MAX_BITS=32;function search(text,pattern,patternAlphabet,{location=Config.location,distance=Config.distance,threshold=Config.threshold,findAllMatches=Config.findAllMatches,minMatchCharLength=Config.minMatchCharLength,includeMatches=Config.includeMatches,ignoreLocation=Config.ignoreLocation}={}){if(pattern.length>MAX_BITS){throw new Error(PATTERN_LENGTH_TOO_LARGE(MAX_BITS))}const patternLen=pattern.length;const textLen2=text.length;const expectedLocation=Math.max(0,Math.min(location,textLen2));let currentThreshold=threshold;let bestLocation=expectedLocation;const computeMatches=minMatchCharLength>1||includeMatches;const matchMask=computeMatches?Array(textLen2):[];let index;while((index=text.indexOf(pattern,bestLocation))>-1){let score=computeScore$1(pattern,{currentLocation:index,expectedLocation,distance,ignoreLocation});currentThreshold=Math.min(score,currentThreshold);bestLocation=index+patternLen;if(computeMatches){let i=0;while(i<patternLen){matchMask[index+i]=1;i+=1}}}bestLocation=-1;let lastBitArr=[];let finalScore=1;let binMax=patternLen+textLen2;const mask=1<<patternLen-1;for(let i=0;i<patternLen;i+=1){let binMin=0;let binMid=binMax;while(binMin<binMid){const score2=computeScore$1(pattern,{errors:i,currentLocation:expectedLocation+binMid,expectedLocation,distance,ignoreLocation});if(score2<=currentThreshold){binMin=binMid}else{binMax=binMid}binMid=Math.floor((binMax-binMin)/2+binMin)}binMax=binMid;let start=Math.max(1,expectedLocation-binMid+1);let finish=findAllMatches?textLen2:Math.min(expectedLocation+binMid,textLen2)+patternLen;let bitArr=Array(finish+2);bitArr[finish+1]=(1<<i)-1;for(let j=finish;j>=start;j-=1){let currentLocation=j-1;let charMatch=patternAlphabet[text.charAt(currentLocation)];if(computeMatches){matchMask[currentLocation]=+!!charMatch}bitArr[j]=(bitArr[j+1]<<1|1)&charMatch;if(i){bitArr[j]|=(lastBitArr[j+1]|lastBitArr[j])<<1|1|lastBitArr[j+1]}if(bitArr[j]&mask){finalScore=computeScore$1(pattern,{errors:i,currentLocation,expectedLocation,distance,ignoreLocation});if(finalScore<=currentThreshold){currentThreshold=finalScore;bestLocation=currentLocation;if(bestLocation<=expectedLocation){break}start=Math.max(1,2*expectedLocation-bestLocation)}}}const score=computeScore$1(pattern,{errors:i+1,currentLocation:expectedLocation,expectedLocation,distance,ignoreLocation});if(score>currentThreshold){break}lastBitArr=bitArr}const result2={isMatch:bestLocation>=0,score:Math.max(.001,finalScore)};if(computeMatches){const indices=convertMaskToIndices(matchMask,minMatchCharLength);if(!indices.length){result2.isMatch=false}else if(includeMatches){result2.indices=indices}}return result2}function createPatternAlphabet(pattern){let mask={};for(let i=0,len=pattern.length;i<len;i+=1){const char=pattern.charAt(i);mask[char]=(mask[char]||0)|1<<len-i-1}return mask}var BitapSearch=class{constructor(pattern,{location=Config.location,threshold=Config.threshold,distance=Config.distance,includeMatches=Config.includeMatches,findAllMatches=Config.findAllMatches,minMatchCharLength=Config.minMatchCharLength,isCaseSensitive=Config.isCaseSensitive,ignoreLocation=Config.ignoreLocation}={}){this.options={location,threshold,distance,includeMatches,findAllMatches,minMatchCharLength,isCaseSensitive,ignoreLocation};this.pattern=isCaseSensitive?pattern:pattern.toLowerCase();this.chunks=[];if(!this.pattern.length){return}const addChunk=(pattern2,startIndex)=>{this.chunks.push({pattern:pattern2,alphabet:createPatternAlphabet(pattern2),startIndex})};const len=this.pattern.length;if(len>MAX_BITS){let i=0;const remainder=len%MAX_BITS;const end=len-remainder;while(i<end){addChunk(this.pattern.substr(i,MAX_BITS),i);i+=MAX_BITS}if(remainder){const startIndex=len-MAX_BITS;addChunk(this.pattern.substr(startIndex),startIndex)}}else{addChunk(this.pattern,0)}}searchIn(text){const{isCaseSensitive,includeMatches}=this.options;if(!isCaseSensitive){text=text.toLowerCase()}if(this.pattern===text){let result3={isMatch:true,score:0};if(includeMatches){result3.indices=[[0,text.length-1]]}return result3}const{location,distance,threshold,findAllMatches,minMatchCharLength,ignoreLocation}=this.options;let allIndices=[];let totalScore=0;let hasMatches=false;this.chunks.forEach(({pattern,alphabet:alphabet2,startIndex})=>{const{isMatch:isMatch2,score,indices}=search(text,pattern,alphabet2,{location:location+startIndex,distance,threshold,findAllMatches,minMatchCharLength,includeMatches,ignoreLocation});if(isMatch2){hasMatches=true}totalScore+=score;if(isMatch2&&indices){allIndices=[...allIndices,...indices]}});let result2={isMatch:hasMatches,score:hasMatches?totalScore/this.chunks.length:1};if(hasMatches&&includeMatches){result2.indices=allIndices}return result2}};var BaseMatch=class{constructor(pattern){this.pattern=pattern}static isMultiMatch(pattern){return getMatch(pattern,this.multiRegex)}static isSingleMatch(pattern){return getMatch(pattern,this.singleRegex)}search(){}};function getMatch(pattern,exp){const matches2=pattern.match(exp);return matches2?matches2[1]:null}var ExactMatch=class extends BaseMatch{constructor(pattern){super(pattern)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(text){const isMatch2=text===this.pattern;return{isMatch:isMatch2,score:isMatch2?0:1,indices:[0,this.pattern.length-1]}}};var InverseExactMatch=class extends BaseMatch{constructor(pattern){super(pattern)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(text){const index=text.indexOf(this.pattern);const isMatch2=index===-1;return{isMatch:isMatch2,score:isMatch2?0:1,indices:[0,text.length-1]}}};var PrefixExactMatch=class extends BaseMatch{constructor(pattern){super(pattern)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(text){const isMatch2=text.startsWith(this.pattern);return{isMatch:isMatch2,score:isMatch2?0:1,indices:[0,this.pattern.length-1]}}};var InversePrefixExactMatch=class extends BaseMatch{constructor(pattern){super(pattern)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(text){const isMatch2=!text.startsWith(this.pattern);return{isMatch:isMatch2,score:isMatch2?0:1,indices:[0,text.length-1]}}};var SuffixExactMatch=class extends BaseMatch{constructor(pattern){super(pattern)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(text){const isMatch2=text.endsWith(this.pattern);return{isMatch:isMatch2,score:isMatch2?0:1,indices:[text.length-this.pattern.length,text.length-1]}}};var InverseSuffixExactMatch=class extends BaseMatch{constructor(pattern){super(pattern)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(text){const isMatch2=!text.endsWith(this.pattern);return{isMatch:isMatch2,score:isMatch2?0:1,indices:[0,text.length-1]}}};var FuzzyMatch=class extends BaseMatch{constructor(pattern,{location=Config.location,threshold=Config.threshold,distance=Config.distance,includeMatches=Config.includeMatches,findAllMatches=Config.findAllMatches,minMatchCharLength=Config.minMatchCharLength,isCaseSensitive=Config.isCaseSensitive,ignoreLocation=Config.ignoreLocation}={}){super(pattern);this._bitapSearch=new BitapSearch(pattern,{location,threshold,distance,includeMatches,findAllMatches,minMatchCharLength,isCaseSensitive,ignoreLocation})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(text){return this._bitapSearch.searchIn(text)}};var IncludeMatch=class extends BaseMatch{constructor(pattern){super(pattern)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(text){let location=0;let index;const indices=[];const patternLen=this.pattern.length;while((index=text.indexOf(this.pattern,location))>-1){location=index+patternLen;indices.push([index,location-1])}const isMatch2=!!indices.length;return{isMatch:isMatch2,score:isMatch2?0:1,indices}}};var searchers=[ExactMatch,IncludeMatch,PrefixExactMatch,InversePrefixExactMatch,InverseSuffixExactMatch,SuffixExactMatch,InverseExactMatch,FuzzyMatch];var searchersLen=searchers.length;var SPACE_RE=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/;var OR_TOKEN="|";function parseQuery(pattern,options={}){return pattern.split(OR_TOKEN).map(item=>{let query=item.trim().split(SPACE_RE).filter(item2=>item2&&!!item2.trim());let results=[];for(let i=0,len=query.length;i<len;i+=1){const queryItem=query[i];let found=false;let idx=-1;while(!found&&++idx<searchersLen){const searcher=searchers[idx];let token3=searcher.isMultiMatch(queryItem);if(token3){results.push(new searcher(token3,options));found=true}}if(found){continue}idx=-1;while(++idx<searchersLen){const searcher=searchers[idx];let token3=searcher.isSingleMatch(queryItem);if(token3){results.push(new searcher(token3,options));break}}}return results})}var MultiMatchSet=new Set([FuzzyMatch.type,IncludeMatch.type]);var ExtendedSearch=class{constructor(pattern,{isCaseSensitive=Config.isCaseSensitive,includeMatches=Config.includeMatches,minMatchCharLength=Config.minMatchCharLength,ignoreLocation=Config.ignoreLocation,findAllMatches=Config.findAllMatches,location=Config.location,threshold=Config.threshold,distance=Config.distance}={}){this.query=null;this.options={isCaseSensitive,includeMatches,minMatchCharLength,findAllMatches,ignoreLocation,location,threshold,distance};this.pattern=isCaseSensitive?pattern:pattern.toLowerCase();this.query=parseQuery(this.pattern,this.options)}static condition(_,options){return options.useExtendedSearch}searchIn(text){const query=this.query;if(!query){return{isMatch:false,score:1}}const{includeMatches,isCaseSensitive}=this.options;text=isCaseSensitive?text:text.toLowerCase();let numMatches=0;let allIndices=[];let totalScore=0;for(let i=0,qLen=query.length;i<qLen;i+=1){const searchers2=query[i];allIndices.length=0;numMatches=0;for(let j=0,pLen=searchers2.length;j<pLen;j+=1){const searcher=searchers2[j];const{isMatch:isMatch2,indices,score}=searcher.search(text);if(isMatch2){numMatches+=1;totalScore+=score;if(includeMatches){const type2=searcher.constructor.type;if(MultiMatchSet.has(type2)){allIndices=[...allIndices,...indices]}else{allIndices.push(indices)}}}else{totalScore=0;numMatches=0;allIndices.length=0;break}}if(numMatches){let result2={isMatch:true,score:totalScore/numMatches};if(includeMatches){result2.indices=allIndices}return result2}}return{isMatch:false,score:1}}};var registeredSearchers=[];function register(...args2){registeredSearchers.push(...args2)}function createSearcher(pattern,options){for(let i=0,len=registeredSearchers.length;i<len;i+=1){let searcherClass=registeredSearchers[i];if(searcherClass.condition(pattern,options)){return new searcherClass(pattern,options)}}return new BitapSearch(pattern,options)}var LogicalOperator={AND:"$and",OR:"$or"};var KeyType={PATH:"$path",PATTERN:"$val"};var isExpression=query=>!!(query[LogicalOperator.AND]||query[LogicalOperator.OR]);var isPath=query=>!!query[KeyType.PATH];var isLeaf=query=>!isArray2(query)&&isObject3(query)&&!isExpression(query);var convertToExplicit=query=>({[LogicalOperator.AND]:Object.keys(query).map(key=>({[key]:query[key]}))});function parse2(query,options,{auto=true}={}){const next=query2=>{let keys2=Object.keys(query2);const isQueryPath=isPath(query2);if(!isQueryPath&&keys2.length>1&&!isExpression(query2)){return next(convertToExplicit(query2))}if(isLeaf(query2)){const key=isQueryPath?query2[KeyType.PATH]:keys2[0];const pattern=isQueryPath?query2[KeyType.PATTERN]:query2[key];if(!isString3(pattern)){throw new Error(LOGICAL_SEARCH_INVALID_QUERY_FOR_KEY(key))}const obj={keyId:createKeyId(key),pattern};if(auto){obj.searcher=createSearcher(pattern,options)}return obj}let node={children:[],operator:keys2[0]};keys2.forEach(key=>{const value=query2[key];if(isArray2(value)){value.forEach(item=>{node.children.push(next(item))})}});return node};if(!isExpression(query)){query=convertToExplicit(query)}return next(query)}function computeScore(results,{ignoreFieldNorm=Config.ignoreFieldNorm}){results.forEach(result2=>{let totalScore=1;result2.matches.forEach(({key,norm:norm2,score})=>{const weight=key?key.weight:null;totalScore*=Math.pow(score===0&&weight?Number.EPSILON:score,(weight||1)*(ignoreFieldNorm?1:norm2))});result2.score=totalScore})}function transformMatches(result2,data){const matches2=result2.matches;data.matches=[];if(!isDefined(matches2)){return}matches2.forEach(match=>{if(!isDefined(match.indices)||!match.indices.length){return}const{indices,value}=match;let obj={indices,value};if(match.key){obj.key=match.key.src}if(match.idx>-1){obj.refIndex=match.idx}data.matches.push(obj)})}function transformScore(result2,data){data.score=result2.score}function format(results,docs,{includeMatches=Config.includeMatches,includeScore=Config.includeScore}={}){const transformers=[];if(includeMatches)transformers.push(transformMatches);if(includeScore)transformers.push(transformScore);return results.map(result2=>{const{idx}=result2;const data={item:docs[idx],refIndex:idx};if(transformers.length){transformers.forEach(transformer=>{transformer(result2,data)})}return data})}var Fuse=class{constructor(docs,options={},index){this.options={...Config,...options};if(this.options.useExtendedSearch&&false){throw new Error(EXTENDED_SEARCH_UNAVAILABLE)}this._keyStore=new KeyStore(this.options.keys);this.setCollection(docs,index)}setCollection(docs,index){this._docs=docs;if(index&&!(index instanceof FuseIndex)){throw new Error(INCORRECT_INDEX_TYPE)}this._myIndex=index||createIndex(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(doc){if(!isDefined(doc)){return}this._docs.push(doc);this._myIndex.add(doc)}remove(predicate=()=>false){const results=[];for(let i=0,len=this._docs.length;i<len;i+=1){const doc=this._docs[i];if(predicate(doc,i)){this.removeAt(i);i-=1;len-=1;results.push(doc)}}return results}removeAt(idx){this._docs.splice(idx,1);this._myIndex.removeAt(idx)}getIndex(){return this._myIndex}search(query,{limit=-1}={}){const{includeMatches,includeScore,shouldSort,sortFn,ignoreFieldNorm}=this.options;let results=isString3(query)?isString3(this._docs[0])?this._searchStringList(query):this._searchObjectList(query):this._searchLogical(query);computeScore(results,{ignoreFieldNorm});if(shouldSort){results.sort(sortFn)}if(isNumber3(limit)&&limit>-1){results=results.slice(0,limit)}return format(results,this._docs,{includeMatches,includeScore})}_searchStringList(query){const searcher=createSearcher(query,this.options);const{records}=this._myIndex;const results=[];records.forEach(({v:text,i:idx,n:norm2})=>{if(!isDefined(text)){return}const{isMatch:isMatch2,score,indices}=searcher.searchIn(text);if(isMatch2){results.push({item:text,idx,matches:[{score,value:text,norm:norm2,indices}]})}});return results}_searchLogical(query){const expression=parse2(query,this.options);const evaluate=(node,item,idx)=>{if(!node.children){const{keyId,searcher}=node;const matches2=this._findMatches({key:this._keyStore.get(keyId),value:this._myIndex.getValueForItemAtKeyId(item,keyId),searcher});if(matches2&&matches2.length){return[{idx,item,matches:matches2}]}return[]}const res=[];for(let i=0,len=node.children.length;i<len;i+=1){const child=node.children[i];const result2=evaluate(child,item,idx);if(result2.length){res.push(...result2)}else if(node.operator===LogicalOperator.AND){return[]}}return res};const records=this._myIndex.records;const resultMap={};const results=[];records.forEach(({$:item,i:idx})=>{if(isDefined(item)){let expResults=evaluate(expression,item,idx);if(expResults.length){if(!resultMap[idx]){resultMap[idx]={idx,item,matches:[]};results.push(resultMap[idx])}expResults.forEach(({matches:matches2})=>{resultMap[idx].matches.push(...matches2)})}}});return results}_searchObjectList(query){const searcher=createSearcher(query,this.options);const{keys:keys2,records}=this._myIndex;const results=[];records.forEach(({$:item,i:idx})=>{if(!isDefined(item)){return}let matches2=[];keys2.forEach((key,keyIndex)=>{matches2.push(...this._findMatches({key,value:item[keyIndex],searcher}))});if(matches2.length){results.push({idx,item,matches:matches2})}});return results}_findMatches({key,value,searcher}){if(!isDefined(value)){return[]}let matches2=[];if(isArray2(value)){value.forEach(({v:text,i:idx,n:norm2})=>{if(!isDefined(text)){return}const{isMatch:isMatch2,score,indices}=searcher.searchIn(text);if(isMatch2){matches2.push({score,key,value:text,idx,norm:norm2,indices})}})}else{const{v:text,n:norm2}=value;const{isMatch:isMatch2,score,indices}=searcher.searchIn(text);if(isMatch2){matches2.push({score,key,value:text,norm:norm2,indices})}}return matches2}};Fuse.version="7.0.0";Fuse.createIndex=createIndex;Fuse.parseIndex=parseIndex;Fuse.config=Config;{Fuse.parseQuery=parse2}{register(ExtendedSearch)}var modulename77="WebServer:HistorySearch";var console88=console_default(modulename77);var DEFAULT_LIMIT=100;var ALLOWED_SORTINGS=["timestamp"];async function HistorySearch(ctx){if(typeof ctx.query==="undefined"){return ctx.utils.error(400,"Invalid Request")}const{searchValue,searchType,filterbyType,filterbyAdmin,sortingKey,sortingDesc,offsetParam,offsetActionId}=ctx.query;const sendTypedResp2=data=>ctx.send(data);const searchTime=new TimeCounter;const dbo=txCore.database.getDboRef();let chain2=dbo.chain.get("actions").clone();const parsedSortingDesc=sortingDesc==="true";if(typeof sortingKey!=="string"||!ALLOWED_SORTINGS.includes(sortingKey)){return sendTypedResp2({error:"Invalid sorting key"})}chain2=chain2.sort((a,b)=>{return parsedSortingDesc?b[sortingKey]-a[sortingKey]:a[sortingKey]-b[sortingKey]});if(offsetParam!==void 0&&offsetActionId!==void 0){const parsedOffsetParam=parseInt(offsetParam);if(isNaN(parsedOffsetParam)||typeof offsetActionId!=="string"||!offsetActionId.length){return sendTypedResp2({error:"Invalid offsetParam or offsetActionId"})}chain2=chain2.takeRightWhile(a=>{return a.id!==offsetActionId&&parsedSortingDesc?a[sortingKey]<=parsedOffsetParam:a[sortingKey]>=parsedOffsetParam})}const effectiveTypeFilter=typeof filterbyType==="string"&&filterbyType.length?filterbyType:void 0;const effectiveAdminFilter=typeof filterbyAdmin==="string"&&filterbyAdmin.length?filterbyAdmin:void 0;if(effectiveTypeFilter||effectiveAdminFilter){chain2=chain2.filter(a=>{if(effectiveTypeFilter&&a.type!==effectiveTypeFilter){return false}if(effectiveAdminFilter&&a.author!==effectiveAdminFilter){return false}return true})}if(typeof searchType==="string"){if(typeof searchValue!=="string"||!searchValue.length){return sendTypedResp2({error:"Invalid searchValue"})}if(searchType==="actionId"){const cleanId=searchValue.toUpperCase().trim();if(!cleanId.length){return sendTypedResp2({error:"This action ID is unsearchable (empty?)."})}const actions2=chain2.value();const fuse=new Fuse(actions2,{isCaseSensitive:true,keys:["id"],threshold:.3});const filtered=fuse.search(cleanId).map(x=>x.item);chain2=chain_default(filtered)}else if(searchType==="reason"){const actions2=chain2.value();const fuse=new Fuse(actions2,{keys:["reason"],threshold:.3});const filtered=fuse.search(searchValue).map(x=>x.item);chain2=chain_default(filtered)}else if(searchType==="identifiers"){const{validIds,validHwids,invalids}=parseLaxIdsArrayInput(searchValue);if(invalids.length){return sendTypedResp2({error:`Invalid identifiers (${invalids.join(",")}). Prefix any identifier with their type, like 'fivem:123456' instead of just '123456'.`})}if(!validIds.length&&!validHwids.length){return sendTypedResp2({error:`No valid identifiers found.`})}chain2=chain2.filter(a=>{if(validIds.length&&!validIds.some(id=>a.ids.includes(id))){return false}if(validHwids.length&&"hwids"in a&&!validHwids.some(hwid=>a.hwids.includes(hwid))){return false}return true})}else{return sendTypedResp2({error:"Unknown searchType"})}}chain2=chain2.take(DEFAULT_LIMIT+1);const actions=chain2.value();const hasReachedEnd=actions.length<=DEFAULT_LIMIT;const currTs=now();const processedActions=actions.slice(0,DEFAULT_LIMIT).map(a=>{let banExpiration,warnAcked;if(a.type==="ban"){if(a.expiration===false){banExpiration="permanent"}else if(typeof a.expiration==="number"&&a.expiration<currTs){banExpiration="expired"}else{banExpiration="active"}}else if(a.type==="warn"){warnAcked=a.acked}return{id:a.id,type:a.type,playerName:a.playerName,author:a.author,reason:a.reason,timestamp:a.timestamp,isRevoked:!!a.revocation.timestamp,banExpiration,warnAcked}});txCore.metrics.txRuntime.historyTableSearchTime.count(searchTime.stop().milliseconds);return sendTypedResp2({history:processedActions,hasReachedEnd})}var modulename78="WebServer:HistoryActionModal";var console89=console_default(modulename78);async function HistoryActionModal(ctx){if(typeof ctx.query==="undefined"){return ctx.utils.error(400,"Invalid Request")}const{id:actionId}=ctx.query;const sendTypedResp2=data=>ctx.send(data);if(typeof actionId!=="string"||!actionId.length){return sendTypedResp2({error:"Invalid action ID."})}let actionData;try{actionData=txCore.database.actions.findOne(actionId);if(!actionData)return sendTypedResp2({error:"Action not found"})}catch(error){return sendTypedResp2({error:`Getting history action failed with error: ${error.message}`})}return sendTypedResp2({serverTime:now(),action:actionData})}var modulename79="WebServer:HistoryActions";var console90=console_default(modulename79);var addLegacyBanBodySchema=z.object({identifiers:z.string().array(),reason:z.string().trim().min(3).max(2048),duration:z.string()});var revokeActionBodySchema=z.object({actionId:z.string()});async function HistoryActions(ctx){if(!ctx.params.action){return ctx.utils.error(400,"Invalid Request")}const action=ctx.params.action;const sendTypedResp2=data=>ctx.send(data);if(action==="addLegacyBan"){return sendTypedResp2(await handleBandIds(ctx))}else if(action==="revokeAction"){return sendTypedResp2(await handleRevokeAction(ctx))}else{return sendTypedResp2({error:"unknown action"})}}async function handleBandIds(ctx){const schemaRes=addLegacyBanBodySchema.safeParse(ctx.request.body);if(!schemaRes.success){return{error:"Invalid request body."}}const{reason,identifiers:identifiersInput,duration:durationInput}=schemaRes.data;if(!identifiersInput.length){return{error:"You must send at least one identifier"}}const invalids=identifiersInput.filter(id=>{return typeof id!=="string"||!Object.values(consts_default.validIdentifiers).some(vf=>vf.test(id))});if(invalids.length){return{error:"Invalid IDs: "+invalids.join(", ")}}const identifiers=[...new Set(identifiersInput)];let calcResults;try{calcResults=calcExpirationFromDuration(durationInput)}catch(error){return{error:error.message}}const{expiration,duration}=calcResults;if(!ctx.admin.testPermission("players.ban",modulename79)){return{error:"You don't have permission to execute this action."}}let actionId;try{actionId=txCore.database.actions.registerBan(identifiers,ctx.admin.name,reason,expiration,false)}catch(error){return{error:`Failed to ban identifiers: ${error.message}`}}ctx.admin.logAction(`Banned <${identifiers.join(";")}>: ${reason}`);try{let kickMessage,durationTranslated;const tOptions={author:ctx.admin.name,reason};if(expiration!==false&&duration){durationTranslated=txCore.translator.tDuration(duration*1e3,{units:["d","h"]});tOptions.expiration=durationTranslated;kickMessage=txCore.translator.t("ban_messages.kick_temporary",tOptions)}else{durationTranslated=null;kickMessage=txCore.translator.t("ban_messages.kick_permanent",tOptions)}txCore.fxRunner.sendEvent("playerBanned",{author:ctx.admin.name,reason,actionId,expiration,durationInput,durationTranslated,targetNetId:null,targetIds:identifiers,targetHwids:[],targetName:"identifiers",kickMessage})}catch(error){}return{success:true}}async function handleRevokeAction(ctx){const schemaRes=revokeActionBodySchema.safeParse(ctx.request.body);if(!schemaRes.success){return{error:"Invalid request body."}}const{actionId}=schemaRes.data;const perms=[];if(ctx.admin.hasPermission("players.ban"))perms.push("ban");if(ctx.admin.hasPermission("players.warn"))perms.push("warn");let action;try{action=txCore.database.actions.revoke(actionId,ctx.admin.name,perms);ctx.admin.logAction(`Revoked ${action.type} id ${actionId} from ${action.playerName??"identifiers"}`)}catch(error){return{error:`Failed to revoke action: ${error.message}`}}try{txCore.fxRunner.sendEvent("actionRevoked",{actionId:action.id,actionType:action.type,actionReason:action.reason,actionAuthor:action.author,playerName:action.playerName,playerIds:action.ids,playerHwids:"hwids"in action?action.hwids:[],revokedBy:ctx.admin.name})}catch(error){}return{success:true}}var modulename80="WebServer:PlayersStats";var console91=console_default(modulename80);async function PlayersStats(ctx){const sendTypedResp2=data=>ctx.send(data);try{const stats=txCore.database.stats.getPlayersStats();return sendTypedResp2(stats)}catch(error){const msg=`getStats failed with error: ${error.message}`;console91.verbose.error(msg);return sendTypedResp2({error:msg})}}var modulename81="WebServer:PlayersTableSearch";var console92=console_default(modulename81);var DEFAULT_LIMIT2=100;var ALLOWED_SORTINGS2=["playTime","tsJoined","tsLastConnection"];var SIMPLE_FILTERS=["isAdmin","isOnline","isWhitelisted","hasNote"];async function PlayerSearch(ctx){if(typeof ctx.query==="undefined"){return ctx.utils.error(400,"Invalid Request")}const{searchValue,searchType,filters,sortingKey,sortingDesc,offsetParam,offsetLicense}=ctx.query;const sendTypedResp2=data=>ctx.send(data);const searchTime=new TimeCounter;const adminsIdentifiers=txCore.adminStore.getAdminsIdentifiers();const onlinePlayersLicenses=txCore.fxPlayerlist.getOnlinePlayersLicenses();const dbo=txCore.database.getDboRef();let chain2=dbo.chain.get("players").clone();const parsedSortingDesc=sortingDesc==="true";if(typeof sortingKey!=="string"||!ALLOWED_SORTINGS2.includes(sortingKey)){return sendTypedResp2({error:"Invalid sorting key"})}chain2=chain2.sort((a,b)=>{return parsedSortingDesc?b[sortingKey]-a[sortingKey]:a[sortingKey]-b[sortingKey]});if(typeof filters==="string"&&filters.length){const validRequestedFilters=new Set(filters.split(",").filter(x=>SIMPLE_FILTERS.includes(x)));if(validRequestedFilters.size){const playerFilterFunctions={"isAdmin":p=>p.ids.some(id=>adminsIdentifiers.includes(id)),"isOnline":p=>onlinePlayersLicenses.has(p.license),"isWhitelisted":p=>p.tsWhitelisted,"hasNote":p=>p.notes};chain2=chain2.filter(p=>{for(const filterName of validRequestedFilters){if(!playerFilterFunctions[filterName](p)){return false}}return true})}}if(offsetParam!==void 0&&offsetLicense!==void 0){const parsedOffsetParam=parseInt(offsetParam);if(isNaN(parsedOffsetParam)||typeof offsetLicense!=="string"||!offsetLicense.length){return sendTypedResp2({error:"Invalid offsetParam or offsetLicense"})}chain2=chain2.takeRightWhile(p=>{return p.license!==offsetLicense&&parsedSortingDesc?p[sortingKey]<=parsedOffsetParam:p[sortingKey]>=parsedOffsetParam})}if(typeof searchType==="string"){if(typeof searchValue!=="string"||!searchValue.length){return sendTypedResp2({error:"Invalid searchValue"})}if(searchType==="playerName"){const{pureName}=cleanPlayerName_default(searchValue);if(pureName==="emptyname"){return sendTypedResp2({error:"This player name is unsearchable (pureName is empty)."})}const players2=chain2.value();const fuse=new Fuse(players2,{isCaseSensitive:true,keys:["pureName"],threshold:.3});const filtered=fuse.search(pureName).map(x=>x.item);chain2=chain_default(filtered)}else if(searchType==="playerNotes"){const players2=chain2.value();const fuse=new Fuse(players2,{keys:["notes.text"],threshold:.3});const filtered=fuse.search(searchValue).map(x=>x.item);chain2=chain_default(filtered)}else if(searchType==="playerIds"){const{validIds,validHwids,invalids}=parseLaxIdsArrayInput(searchValue);if(invalids.length){return sendTypedResp2({error:`Invalid identifiers (${invalids.join(",")}). Prefix any identifier with their type, like 'fivem:123456' instead of just '123456'.`})}if(!validIds.length&&!validHwids.length){return sendTypedResp2({error:`No valid identifiers found.`})}chain2=chain2.filter(p=>{if(validIds.length&&!validIds.some(id=>p.ids.includes(id))){return false}if(validHwids.length&&!validHwids.some(hwid=>p.hwids.includes(hwid))){return false}return true})}else{return sendTypedResp2({error:"Unknown searchType"})}}chain2=chain2.take(DEFAULT_LIMIT2+1);const players=chain2.value();const hasReachedEnd=players.length<=DEFAULT_LIMIT2;const processedPlayers=players.slice(0,DEFAULT_LIMIT2).map(p=>{return{license:p.license,displayName:p.displayName,playTime:p.playTime,tsJoined:p.tsJoined,tsLastConnection:p.tsLastConnection,notes:p.notes?p.notes.text:void 0,isAdmin:p.ids.some(id=>adminsIdentifiers.includes(id)),isOnline:onlinePlayersLicenses.has(p.license),isWhitelisted:p.tsWhitelisted?true:false}});txCore.metrics.txRuntime.playersTableSearchTime.count(searchTime.stop().milliseconds);return sendTypedResp2({players:processedPlayers,hasReachedEnd})}var playerResolver_default=(mutex,netid,license)=>{var _a12,_b2;const parsedNetid=parseInt(netid);let searchLicense=license;let hasMutex=false;if(mutex===SYM_CURRENT_MUTEX){mutex=(_a12=txCore.fxRunner.child)==null?void 0:_a12.mutex;if(!mutex){throw new Error(`current mutex not available`)}}if(typeof mutex==="string"&&typeof netid==="number"&&!isNaN(parsedNetid)){hasMutex=true;if(mutex&&mutex===((_b2=txCore.fxRunner.child)==null?void 0:_b2.mutex)){const player=txCore.fxPlayerlist.getPlayerById(netid);if(player instanceof ServerPlayer){return player}else{throw new Error(`player not found in current server playerlist`)}}else{const searchRef=`${mutex}#${netid}`;const found=txCore.fxPlayerlist.licenseCache.find(c=>c[0]===searchRef);if(found)searchLicense=found[1]}}if(typeof searchLicense==="string"&&searchLicense.length){const onlineMatches=txCore.fxPlayerlist.getOnlinePlayersByLicense(searchLicense);if(onlineMatches.length){return onlineMatches.at(-1)}else{return new DatabasePlayer(searchLicense)}}if(hasMutex){throw new Error(`could not resolve player by its net id which likely means it has disconnected long ago`)}else{throw new Error(`could not resolve this player`)}};var modulename82="WebServer:PlayerModal";var console93=console_default(modulename82);var processHistoryLog=hist=>{try{return hist.map(log2=>{return{id:log2.id,type:log2.type,reason:log2.reason,author:log2.author,ts:log2.timestamp,exp:log2.expiration?log2.expiration:void 0,revokedBy:log2.revocation.author?log2.revocation.author:void 0,revokedAt:log2.revocation.timestamp?log2.revocation.timestamp:void 0}})}catch(error){console93.error(`Error processing player history: ${error.message}`);return[]}};async function PlayerModal(ctx){var _a12,_b2;if(typeof ctx.query==="undefined"){return ctx.utils.error(400,"Invalid Request")}const{mutex,netid,license}=ctx.query;const sendTypedResp2=data=>ctx.send(data);let player;try{const refMutex=mutex==="current"?SYM_CURRENT_MUTEX:mutex;player=playerResolver_default(refMutex,parseInt(netid),license)}catch(error){return sendTypedResp2({error:error.message})}const playerData={displayName:player.displayName,pureName:player.pureName,isRegistered:player.isRegistered,isConnected:player.isConnected,license:player.license,idsOnline:player.idsOnline,idsOffline:player.idsOffline,hwidsOnline:player.hwidsOnline,hwidsOffline:player.hwidsOffline,actionHistory:processHistoryLog(player.getHistory())};if(player instanceof ServerPlayer){playerData.netid=player.netid;playerData.sessionTime=Math.ceil((now()-player.tsConnected)/60)}const playerDbData=player.getDbData();if(playerDbData){playerData.tsJoined=playerDbData.tsJoined;playerData.playTime=playerDbData.playTime;playerData.tsWhitelisted=playerDbData.tsWhitelisted?playerDbData.tsWhitelisted:void 0;playerData.tsLastConnection=playerDbData.tsLastConnection;if(((_a12=playerDbData.notes)==null?void 0:_a12.lastAdmin)&&((_b2=playerDbData.notes)==null?void 0:_b2.tsLastEdit)){playerData.notes=playerDbData.notes.text;const lastEditObj=new Date(playerDbData.notes.tsLastEdit*1e3);const lastEditString=dateFormat(lastEditObj,"longDate");playerData.notesLog=`Last modified by ${playerDbData.notes.lastAdmin} at ${lastEditString}`}}return sendTypedResp2({serverTime:now(),banTemplates:txConfig.banlist.templates,player:playerData})}var modulename83="WebServer:PlayerActions";var console94=console_default(modulename83);var removeIdsBodySchema=z.object({ids:z.array(z.string().min(4,"invalid identifier"))});async function PlayerActions(ctx){if(anyUndefined(ctx.params.action)){return ctx.utils.error(400,"Invalid Request")}const action=ctx.params.action;const{mutex,netid,license}=ctx.query;const sendTypedResp2=data=>ctx.send(data);let player;try{const refMutex=mutex==="current"?SYM_CURRENT_MUTEX:mutex;player=playerResolver_default(refMutex,parseInt(netid),license)}catch(error){return sendTypedResp2({error:error.message})}if(action==="save_note"){return sendTypedResp2(await handleSaveNote(ctx,player))}else if(action==="warn"){return sendTypedResp2(await handleWarning(ctx,player))}else if(action==="ban"){return sendTypedResp2(await handleBan(ctx,player))}else if(action==="whitelist"){return sendTypedResp2(await handleSetWhitelist(ctx,player))}else if(action==="removeIds"){return sendTypedResp2(await handleRemoveIds(ctx,player))}else if(action==="message"){return sendTypedResp2(await handleDirectMessage(ctx,player))}else if(action==="kick"){return sendTypedResp2(await handleKick(ctx,player))}else{return sendTypedResp2({error:"unknown action"})}}async function handleSaveNote(ctx,player){if(anyUndefined(ctx.request.body,ctx.request.body.note)){return{error:"Invalid request."}}const note=ctx.request.body.note.trim();try{player.setNote(note,ctx.admin.name);ctx.admin.logAction(`Set notes for ${player.license}`);return{success:true}}catch(error){return{error:`Failed to save note: ${error.message}`}}}async function handleWarning(ctx,player){if(anyUndefined(ctx.request.body,ctx.request.body.reason)){return{error:"Invalid request."}}const reason=ctx.request.body.reason.trim()||"no reason provided";if(!ctx.admin.testPermission("players.warn",modulename83)){return{error:"You don't have permission to execute this action."}}const allIds=player.allIdentifiers;if(!allIds.length){return{error:"Cannot warn a player with no identifiers."}}let actionId;try{actionId=txCore.database.actions.registerWarn(allIds,ctx.admin.name,reason,player.displayName)}catch(error){return{error:`Failed to warn player: ${error.message}`}}ctx.admin.logAction(`Warned player "${player.displayName}": ${reason}`);const eventSent=txCore.fxRunner.sendEvent("playerWarned",{author:ctx.admin.name,reason,actionId,targetNetId:player instanceof ServerPlayer&&player.isConnected?player.netid:null,targetIds:allIds,targetName:player.displayName});if(eventSent){return{success:true}}else{return{error:`Warn saved, but likely failed to send the warn in game (stdin error).`}}}async function handleBan(ctx,player){if(anyUndefined(ctx.request.body,ctx.request.body.duration,ctx.request.body.reason)){return{error:"Invalid request."}}const durationInput=ctx.request.body.duration.trim();const reason=ctx.request.body.reason.trim()||"no reason provided";let calcResults;try{calcResults=calcExpirationFromDuration(durationInput)}catch(error){return{error:error.message}}const{expiration,duration}=calcResults;if(!ctx.admin.testPermission("players.ban",modulename83)){return{error:"You don't have permission to execute this action."}}const allIds=player.allIdentifiers;const allHwids=player.allHardwareIdentifiers;if(!allIds.length){return{error:"Cannot ban a player with no identifiers."}}let actionId;try{actionId=txCore.database.actions.registerBan(allIds,ctx.admin.name,reason,expiration,player.displayName,allHwids)}catch(error){return{error:`Failed to ban player: ${error.message}`}}ctx.admin.logAction(`Banned player "${player.displayName}": ${reason}`);if(txCore.fxRunner.isIdle){return{success:true}}let kickMessage,durationTranslated;const tOptions={author:txCore.adminStore.getAdminPublicName(ctx.admin.name,"punishment"),reason};if(expiration!==false&&duration){durationTranslated=txCore.translator.tDuration(duration*1e3,{units:["d","h"]});tOptions.expiration=durationTranslated;kickMessage=txCore.translator.t("ban_messages.kick_temporary",tOptions)}else{durationTranslated=null;kickMessage=txCore.translator.t("ban_messages.kick_permanent",tOptions)}const eventSent=txCore.fxRunner.sendEvent("playerBanned",{author:ctx.admin.name,reason,actionId,expiration,durationInput,durationTranslated,targetNetId:player instanceof ServerPlayer?player.netid:null,targetIds:allIds,targetHwids:allHwids,targetName:player.displayName,kickMessage});if(eventSent){return{success:true}}else{return{error:`Player banned, but likely failed to kick player (stdin error).`}}}async function handleSetWhitelist(ctx,player){if(anyUndefined(ctx.request.body,ctx.request.body.status)){return{error:"Invalid request."}}const status=ctx.request.body.status==="true"||ctx.request.body.status===true;if(!ctx.admin.testPermission("players.whitelist",modulename83)){return{error:"You don't have permission to execute this action."}}try{player.setWhitelist(status);if(status){ctx.admin.logAction(`Added ${player.license} to the whitelist.`)}else{ctx.admin.logAction(`Removed ${player.license} from the whitelist.`)}txCore.fxRunner.sendEvent("whitelistPlayer",{action:status?"added":"removed",license:player.license,playerName:player.displayName,adminName:ctx.admin.name});return{success:true}}catch(error){return{error:`Failed to save whitelist status: ${error.message}`}}}async function handleRemoveIds(ctx,player){const schemaRes=removeIdsBodySchema.safeParse(ctx.request.body);if(!schemaRes.success){return{error:"Invalid request body."}}const{ids:idsToDelete}=schemaRes.data;if(!ctx.admin.testPermission("players.remove_ids",modulename83)){return{error:"You don't have permission to execute this action."}}if(!player.license||!player.isRegistered){return{error:"This player is not registered in the database, so there is no saved ID to delete."}}if(idsToDelete.includes(player.license)){return{error:"You cannot remove the player's license from their IDs."}}if(player instanceof ServerPlayer&&player.isConnected){const onlineIdFound=idsToDelete.find(id=>player.idsOnline.includes(id));if(onlineIdFound){return{error:`The player #${player.netid} currently has the ID ${shortenId(onlineIdFound)}, so you need to wait for them to disconnect from the server to be able to delete it from the player history.`}}const onlineHwidFound=idsToDelete.find(id=>player.hwidsOnline.includes(id));if(onlineHwidFound){return{error:`The player #${player.netid} currently has the HWID ${shortenId(onlineHwidFound,6)}, so you need to wait for them to disconnect from the server to be able to delete it from the player history.`}}}try{player.removeIds(idsToDelete);const summarizedIds=summarizeIdsArray(idsToDelete);ctx.admin.logAction(`Deleted IDs/HWIDs ${summarizedIds} from player "${player.displayName}" with license ${player.license}.`);return{success:true}}catch(error){return{error:`Failed to save whitelist status: ${error.message}`}}}async function handleDirectMessage(ctx,player){var _a12;if(anyUndefined(ctx.request.body,ctx.request.body.message)){return{error:"Invalid request."}}const message3=ctx.request.body.message.trim();if(!message3.length){return{error:"Cannot send a DM with empty message."}}if(!ctx.admin.testPermission("players.direct_message",modulename83)){return{error:"You don't have permission to execute this action."}}if(!((_a12=txCore.fxRunner.child)==null?void 0:_a12.isAlive)){return{error:"The server is not running."}}if(!(player instanceof ServerPlayer)||!player.isConnected){return{error:"This player is not connected to the server."}}try{ctx.admin.logAction(`DM to "${player.displayName}": ${message3}`);txCore.fxRunner.sendEvent("playerDirectMessage",{target:player.netid,author:ctx.admin.name,message:message3});return{success:true}}catch(error){return{error:`Failed to save dm player: ${error.message}`}}}async function handleKick(ctx,player){var _a12;if(anyUndefined(ctx.request.body,ctx.request.body.reason)){return{error:"Invalid request."}}const kickReason=ctx.request.body.reason.trim()||txCore.translator.t("kick_messages.unknown_reason");if(!ctx.admin.testPermission("players.kick",modulename83)){return{error:"You don't have permission to execute this action."}}if(!((_a12=txCore.fxRunner.child)==null?void 0:_a12.isAlive)){return{error:"The server is not running."}}if(!(player instanceof ServerPlayer)||!player.isConnected){return{error:"This player is not connected to the server."}}try{ctx.admin.logAction(`Kicked "${player.displayName}": ${kickReason}`);const dropMessage=txCore.translator.t("kick_messages.player",{reason:kickReason});txCore.fxRunner.sendEvent("playerKicked",{target:player.netid,author:ctx.admin.name,reason:kickReason,dropMessage});return{success:true}}catch(error){return{error:`Failed to save kick player: ${error.message}`}}}var modulename84="WebServer:PlayerCheckJoin";var console95=console_default(modulename84);var htmlCodeTag='<code style="background-color: hsl(202deg 40% 66% / 35%); padding: 2px 2px; border-radius: 4px;">';var htmlCodeIdTag='<code style="letter-spacing: 2px; background-color: #ff7f5059; padding: 2px 4px; border-radius: 6px;">';var htmlGuildNameTag='<strong style="color: cornflowerblue">';var rejectMessageTemplate=(title,content)=>{content=content.replaceAll("<code>",htmlCodeTag);content=content.replaceAll("<codeid>",htmlCodeIdTag).replaceAll("</codeid>","</code>");content=content.replaceAll("<guildname>",htmlGuildNameTag).replaceAll("</guildname>","</strong>");return`
    <div style="
        background-color: rgba(30, 30, 30, 0.5);
        padding: 20px;
        border: solid 1.5px #80282B;
        border-radius: 8px;
        margin-top: 25px;
        position: relative;
    ">
        <h2>${title}</h2>
        <br>
        <p style="font-size: 1.25rem; padding: 0px">
            ${content}
        </p>
        <img src="https://forum-cfx-re.akamaized.net/original/5X/2/d/a/6/2da664a84eecb2609d72cf9bb17466d30b53e717.svg" style="
            width: 28px;    
            position: absolute;
            right: -0.5px;
            bottom: -1.0px;
            opacity: 45%;
        ">
    </div>`.replaceAll(/[\r\n]/g,"")};var prepCustomMessage=msg=>{if(!msg)return"";return"<br>"+sanitizeSimpleHtml(msg.trim()).replaceAll(/\n/g,"<br>")};async function PlayerCheckJoin(ctx){const sendTypedResp2=data=>ctx.send(data);if(!txConfig.banlist.enabled&&(txConfig.whitelist.mode==="disabled"||txConfig.whitelist.mode==="external")){return sendTypedResp2({allow:true})}if(anyUndefined(ctx.request.body,ctx.request.body.playerName,ctx.request.body.playerIds,ctx.request.body.playerHwids)){return sendTypedResp2({error:"Invalid request."})}const{playerName,playerIds,playerHwids}=ctx.request.body;if(typeof playerName!=="string")return sendTypedResp2({error:"playerName should be an string."});if(!Array.isArray(playerIds))return sendTypedResp2({error:"playerIds should be an array."});const{validIdsArray,validIdsObject}=parsePlayerIds(playerIds);if(validIdsArray.length<1)return sendTypedResp2({error:"Identifiers array must contain at least 1 valid identifier."});if(!Array.isArray(playerHwids))return sendTypedResp2({error:"playerHwids should be an array."});const{validHwidsArray}=filterPlayerHwids(playerHwids);try{if(txConfig.banlist.enabled){const checkTime=new TimeCounter;const result2=checkBan(validIdsArray,validIdsObject,validHwidsArray);txCore.metrics.txRuntime.banCheckTime.count(checkTime.stop().milliseconds);if(!result2.allow)return sendTypedResp2(result2)}if(txConfig.whitelist.mode==="adminOnly"){const checkTime=new TimeCounter;const result2=await checkAdminOnlyMode(validIdsArray,validIdsObject,playerName);txCore.metrics.txRuntime.whitelistCheckTime.count(checkTime.stop().milliseconds);if(!result2.allow)return sendTypedResp2(result2)}else if(txConfig.whitelist.mode==="approvedLicense"){const checkTime=new TimeCounter;const result2=await checkApprovedLicense(validIdsArray,validIdsObject,validHwidsArray,playerName);txCore.metrics.txRuntime.whitelistCheckTime.count(checkTime.stop().milliseconds);if(!result2.allow)return sendTypedResp2(result2)}else if(txConfig.whitelist.mode==="discordMember"){const checkTime=new TimeCounter;const result2=await checkDiscordMember(validIdsArray,validIdsObject,playerName);txCore.metrics.txRuntime.whitelistCheckTime.count(checkTime.stop().milliseconds);if(!result2.allow)return sendTypedResp2(result2)}else if(txConfig.whitelist.mode==="discordRoles"){const checkTime=new TimeCounter;const result2=await checkDiscordRoles(validIdsArray,validIdsObject,playerName);txCore.metrics.txRuntime.whitelistCheckTime.count(checkTime.stop().milliseconds);if(!result2.allow)return sendTypedResp2(result2)}return sendTypedResp2({allow:true})}catch(error){const msg=`Failed to check ban/whitelist status: ${error.message}`;console95.error(msg);console95.verbose.dir(error);return sendTypedResp2({error:msg})}}function checkBan(validIdsArray,validIdsObject,validHwidsArray){const ts=now();const filter2=action=>{return action.type==="ban"&&(!action.expiration||action.expiration>ts)&&!action.revocation.timestamp};const activeBans=txCore.database.actions.findMany(validIdsArray,validHwidsArray,filter2);if(activeBans.length){const ban=activeBans[0];const textKeys={title_permanent:txCore.translator.t("ban_messages.reject.title_permanent"),title_temporary:txCore.translator.t("ban_messages.reject.title_temporary"),label_expiration:txCore.translator.t("ban_messages.reject.label_expiration"),label_date:txCore.translator.t("ban_messages.reject.label_date"),label_author:txCore.translator.t("ban_messages.reject.label_author"),label_reason:txCore.translator.t("ban_messages.reject.label_reason"),label_id:txCore.translator.t("ban_messages.reject.label_id"),note_multiple_bans:txCore.translator.t("ban_messages.reject.note_multiple_bans"),note_diff_license:txCore.translator.t("ban_messages.reject.note_diff_license")};let title;let expLine="";if(ban.expiration){const duration=txCore.translator.tDuration((ban.expiration-ts)*1e3,{largest:2,units:["d","h","m"]});expLine=`<strong>${textKeys.label_expiration}:</strong> ${duration} <br>`;title=textKeys.title_temporary}else{title=textKeys.title_permanent}const banDate=new Date(ban.timestamp*1e3).toLocaleString(txCore.translator.canonical,{dateStyle:"medium",timeStyle:"medium"});let authorLine="";if(!txConfig.gameFeatures.hideAdminInPunishments){authorLine=`<strong>${textKeys.label_author}:</strong> ${escapeHtmlContent(ban.author)} <br>`}let note="";if(activeBans.length>1){note+=`<br>${textKeys.note_multiple_bans}`}const bannedLicense=ban.ids.find(id=>id.startsWith("license:"));if(bannedLicense&&validIdsObject.license&&bannedLicense.substring(8)!==validIdsObject.license){note+=`<br>${textKeys.note_diff_license}`}const reason=rejectMessageTemplate(title,`${expLine}
            <strong>${textKeys.label_date}:</strong> ${banDate} <br>
            <strong>${textKeys.label_reason}:</strong> ${escapeHtmlContent(ban.reason)} <br>
            <strong>${textKeys.label_id}:</strong> <codeid>${ban.id}</codeid> <br>
            ${authorLine}
            ${prepCustomMessage(txConfig.banlist.rejectionMessage)}
            <span style="font-style: italic;">${note}</span>`);const matchingIds=ban.ids.filter(id=>validIdsArray.includes(id));const matchingHwids="hwids"in ban&&ban.hwids?ban.hwids.filter(hw=>validHwidsArray.includes(hw)):[];const combined=[...matchingIds,...matchingHwids];const summarizedIds=summarizeIdsArray(combined);const loggerReason=`active ban (${ban.id}) for identifiers ${summarizedIds}`;txCore.logger.server.write([{src:"tx",type:"playerJoinDenied",ts,data:{reason:loggerReason}}]);return{allow:false,reason}}else{return{allow:true}}}async function checkAdminOnlyMode(validIdsArray,validIdsObject,playerName){const textKeys={mode_title:txCore.translator.t("whitelist_messages.admin_only.mode_title"),insufficient_ids:txCore.translator.t("whitelist_messages.admin_only.insufficient_ids"),deny_message:txCore.translator.t("whitelist_messages.admin_only.deny_message")};if(!validIdsObject.fivem&&!validIdsObject.discord){return{allow:false,reason:rejectMessageTemplate(textKeys.mode_title,textKeys.insufficient_ids)}}const admin=txCore.adminStore.getAdminByIdentifiers(validIdsArray);if(admin)return{allow:true};const reason=rejectMessageTemplate(textKeys.mode_title,textKeys.deny_message);return{allow:false,reason}}async function checkDiscordMember(validIdsArray,validIdsObject,playerName){const guildname=`<guildname>${txCore.discordBot.guildName}</guildname>`;const textKeys={mode_title:txCore.translator.t("whitelist_messages.guild_member.mode_title"),insufficient_ids:txCore.translator.t("whitelist_messages.guild_member.insufficient_ids"),deny_title:txCore.translator.t("whitelist_messages.guild_member.deny_title"),deny_message:txCore.translator.t("whitelist_messages.guild_member.deny_message",{guildname})};if(!validIdsObject.discord){return{allow:false,reason:rejectMessageTemplate(textKeys.mode_title,textKeys.insufficient_ids)}}let errorTitle,errorMessage;try{const{isMember,memberRoles}=await txCore.discordBot.resolveMemberRoles(validIdsObject.discord);if(isMember){return{allow:true}}else{errorTitle=textKeys.deny_title;errorMessage=textKeys.deny_message}}catch(error){errorTitle=`Error validating Discord Server Member Allowlist status:`;errorMessage=`<code>${error.message}</code>`}const reason=rejectMessageTemplate(errorTitle,`${errorMessage} <br>
        ${prepCustomMessage(txConfig.whitelist.rejectionMessage)}`);return{allow:false,reason}}async function checkDiscordRoles(validIdsArray,validIdsObject,playerName){const guildname=`<guildname>${txCore.discordBot.guildName}</guildname>`;const textKeys={mode_title:txCore.translator.t("whitelist_messages.guild_roles.mode_title"),insufficient_ids:txCore.translator.t("whitelist_messages.guild_roles.insufficient_ids"),deny_notmember_title:txCore.translator.t("whitelist_messages.guild_roles.deny_notmember_title"),deny_notmember_message:txCore.translator.t("whitelist_messages.guild_roles.deny_notmember_message",{guildname}),deny_noroles_title:txCore.translator.t("whitelist_messages.guild_roles.deny_noroles_title"),deny_noroles_message:txCore.translator.t("whitelist_messages.guild_roles.deny_noroles_message",{guildname})};if(!validIdsObject.discord){return{allow:false,reason:rejectMessageTemplate(textKeys.mode_title,textKeys.insufficient_ids)}}let errorTitle,errorMessage;try{const{isMember,memberRoles}=await txCore.discordBot.resolveMemberRoles(validIdsObject.discord);if(isMember){const matchingRole=txConfig.whitelist.discordRoles.find(requiredRole=>memberRoles==null?void 0:memberRoles.includes(requiredRole));if(matchingRole){return{allow:true}}else{errorTitle=textKeys.deny_noroles_title;errorMessage=textKeys.deny_noroles_message}}else{errorTitle=textKeys.deny_notmember_title;errorMessage=textKeys.deny_notmember_message}}catch(error){errorTitle=`Error validating Discord Role Allowlist status:`;errorMessage=`<code>${error.message}</code>`}const reason=rejectMessageTemplate(errorTitle,`${errorMessage} <br>
        ${prepCustomMessage(txConfig.whitelist.rejectionMessage)}`);return{allow:false,reason}}async function checkApprovedLicense(validIdsArray,validIdsObject,validHwidsArray,playerName){const textKeys={mode_title:txCore.translator.t("whitelist_messages.approved_license.mode_title"),insufficient_ids:txCore.translator.t("whitelist_messages.approved_license.insufficient_ids"),deny_title:txCore.translator.t("whitelist_messages.approved_license.deny_title"),request_id_label:txCore.translator.t("whitelist_messages.approved_license.request_id_label")};if(!validIdsObject.license){return{allow:false,reason:rejectMessageTemplate(textKeys.mode_title,textKeys.insufficient_ids)}}let player;try{player=playerResolver_default(null,null,validIdsObject.license);const dbData=player.getDbData();if(dbData&&dbData.tsWhitelisted){return{allow:true}}}catch(error){}const{displayName,pureName}=cleanPlayerName_default(playerName);const ts=now();const allIdsFilter=x=>{return validIdsArray.includes(x.identifier)};const approvals=txCore.database.whitelist.findManyApprovals(allIdsFilter);if(approvals.length){if(typeof player!=="undefined"&&player.license){player.setWhitelist(true)}else{txCore.database.players.register({license:validIdsObject.license,ids:validIdsArray,hwids:validHwidsArray,displayName,pureName,playTime:0,tsLastConnection:ts,tsJoined:ts,tsWhitelisted:ts})}txCore.database.whitelist.removeManyApprovals(allIdsFilter);txCore.database.whitelist.removeManyRequests({license:validIdsObject.license});return{allow:true}}let discordTag,discordAvatar;if(validIdsObject.discord&&txCore.discordBot.isClientReady){try{const{tag,avatar}=await txCore.discordBot.resolveMemberProfile(validIdsObject.discord);discordTag=tag;discordAvatar=avatar}catch(error){}}let wlRequestId;const requests=txCore.database.whitelist.findManyRequests({license:validIdsObject.license});if(requests.length){wlRequestId=requests[0].id;txCore.database.whitelist.updateRequest(validIdsObject.license,{playerDisplayName:displayName,playerPureName:pureName,discordTag,discordAvatar,tsLastAttempt:ts})}else{wlRequestId=txCore.database.whitelist.registerRequest({license:validIdsObject.license,playerDisplayName:displayName,playerPureName:pureName,discordTag,discordAvatar,tsLastAttempt:ts});txCore.fxRunner.sendEvent("whitelistRequest",{action:"requested",playerName:displayName,requestId:wlRequestId,license:validIdsObject.license})}const reason=rejectMessageTemplate(textKeys.deny_title,`<strong>${textKeys.request_id_label}:</strong>
        <codeid>${wlRequestId}</codeid> <br>
        ${prepCustomMessage(txConfig.whitelist.rejectionMessage)}`);return{allow:false,reason}}var modulename85="WebServer:WhitelistPage";var console96=console_default(modulename85);async function WhitelistPage(ctx){const respData={headerTitle:"Allowlist",hasWhitelistPermission:ctx.admin.hasPermission("players.whitelist"),currentWhitelistMode:txConfig.whitelist.mode};return ctx.utils.render("main/whitelist",respData)}var modulename86="WebServer:WhitelistList";var console97=console_default(modulename86);async function WhitelistList(ctx){const table=ctx.params.table;if(table==="requests"){return await handleRequests(ctx)}else if(table==="approvals"){return await handleApprovals(ctx)}else{return ctx.send({error:"unknown table"})}}async function handleRequests(ctx){var _a12,_b2;const sendTypedResp2=data=>ctx.send(data);const requests=txCore.database.whitelist.findManyRequests().reverse();let filtered=requests;const searchString=(_a12=ctx.request.query)==null?void 0:_a12.searchString;if(typeof searchString==="string"&&searchString.length){const fuse=new Fuse(requests,{keys:["id","playerPureName","discordTag"],threshold:.3});const{pureName}=cleanPlayerName_default(searchString);filtered=fuse.search(pureName).map(x=>x.item)}const pageSize=15;const pageinput=(_b2=ctx.request.query)==null?void 0:_b2.page;let currPage=1;if(typeof pageinput==="string"){if(/^\d+$/.test(pageinput)){currPage=parseInt(pageinput);if(currPage<1){return sendTypedResp2({error:"page should be >= 1"})}}else{return sendTypedResp2({error:"page should be a number"})}}const skip=(currPage-1)*pageSize;const paginated=filtered.slice(skip,skip+pageSize);return sendTypedResp2({cntTotal:requests.length,cntFiltered:filtered.length,newest:requests.length?requests[0].tsLastAttempt:0,totalPages:Math.ceil(filtered.length/pageSize),currPage,requests:paginated})}async function handleApprovals(ctx){const sendTypedResp2=data=>ctx.send(data);const approvals=txCore.database.whitelist.findManyApprovals().reverse();return sendTypedResp2(approvals)}var modulename87="WebServer:WhitelistActions";var console98=console_default(modulename87);var anyUndefined2=(...args2)=>[...args2].some(x=>typeof x==="undefined");async function WhitelistActions(ctx){if(anyUndefined2(ctx.params.action)){return ctx.utils.error(400,"Invalid Request")}const{table,action}=ctx.params;const sendTypedResp2=data=>ctx.send(data);if(!ctx.admin.testPermission("players.whitelist",modulename87)){return sendTypedResp2({error:"You don't have permission to execute this action."})}if(table==="approvals"){return sendTypedResp2(await handleApprovals2(ctx,action))}else if(table==="requests"){return sendTypedResp2(await handleRequests2(ctx,action))}else{return sendTypedResp2({error:"unknown table"})}}async function handleApprovals2(ctx,action){var _a12;if(typeof((_a12=ctx.request.body)==null?void 0:_a12.identifier)!=="string"){return{error:"identifier not specified"}}const identifier=ctx.request.body.identifier;const{isIdValid,idType,idValue,idlowerCased}=parsePlayerId(identifier);if(!isIdValid||!idType||!idValue||!idlowerCased){return{error:"Error: the provided identifier does not seem to be valid"}}if(action==="add"){let playerAvatar=null;let playerName=idValue.length>8?`${idType}...${idValue.slice(-8)}`:`${idType}:${idValue}`;if(idType==="discord"){try{const{tag,avatar}=await txCore.discordBot.resolveMemberProfile(idValue);playerName=tag;playerAvatar=avatar}catch(error){}}try{txCore.database.whitelist.registerApproval({identifier:idlowerCased,playerName,playerAvatar,tsApproved:now(),approvedBy:ctx.admin.name});txCore.fxRunner.sendEvent("whitelistPreApproval",{action:"added",identifier:idlowerCased,playerName,adminName:ctx.admin.name})}catch(error){return{error:`Failed to save wl approval: ${error.message}`}}ctx.admin.logAction(`Added whitelist approval for ${playerName}.`);return{success:true}}else if(action==="remove"){try{txCore.database.whitelist.removeManyApprovals({identifier:idlowerCased});txCore.fxRunner.sendEvent("whitelistPreApproval",{action:"removed",identifier:idlowerCased,adminName:ctx.admin.name})}catch(error){return{error:`Failed to remove wl approval: ${error.message}`}}ctx.admin.logAction(`Removed whitelist approval from ${idlowerCased}.`);return{success:true}}else{return{error:"unknown action"}}}async function handleRequests2(ctx,action){var _a12,_b2;if(action==="deny_all"){const cutoff=parseInt((_a12=ctx.request.body)==null?void 0:_a12.newestVisible);if(isNaN(cutoff)){return{error:"newestVisible not specified"}}try{const filter2=req=>req.tsLastAttempt<=cutoff;txCore.database.whitelist.removeManyRequests(filter2);txCore.fxRunner.sendEvent("whitelistRequest",{action:"deniedAll",adminName:ctx.admin.name})}catch(error){return{error:`Failed to remove all wl request: ${error.message}`}}ctx.admin.logAction("Denied all whitelist requests.");return{success:true}}const reqId=(_b2=ctx.request.body)==null?void 0:_b2.reqId;if(typeof reqId!=="string"||!reqId.length){return{error:"reqId not specified"}}if(action==="approve"){const requests=txCore.database.whitelist.findManyRequests({id:reqId});if(!requests.length){return{error:`Allowlist request ID ${reqId} not found.`}}const req=requests[0];const playerName=req.discordTag??req.playerDisplayName;const identifier=`license:${req.license}`;try{txCore.database.whitelist.registerApproval({identifier,playerName,playerAvatar:req.discordAvatar?req.discordAvatar:null,tsApproved:now(),approvedBy:ctx.admin.name});txCore.fxRunner.sendEvent("whitelistRequest",{action:"approved",playerName,requestId:req.id,license:req.license,adminName:ctx.admin.name})}catch(error){if(!(error instanceof DuplicateKeyError)){return{error:`Failed to save wl approval: ${error.message}`}}}ctx.admin.logAction(`Approved whitelist request from ${playerName}.`);try{txCore.database.whitelist.removeManyRequests({id:reqId})}catch(error){return{error:`Failed to remove wl request: ${error.message}`}}return{success:true}}else if(action==="deny"){try{const requests=txCore.database.whitelist.removeManyRequests({id:reqId});if(requests.length){const req=requests[0];txCore.fxRunner.sendEvent("whitelistRequest",{action:"denied",playerName:req.playerDisplayName,requestId:req.id,license:req.license,adminName:ctx.admin.name})}}catch(error){return{error:`Failed to remove wl request: ${error.message}`}}ctx.admin.logAction(`Denied whitelist request ${reqId}.`);return{success:true}}else{return{error:"unknown action"}}}var setVerbosity=(ctx,args2)=>{if(args2==="true"){console.setVerbose(true)}else if(args2==="false"){console.setVerbose(false)}else if(!args2){return{type:"md",data:`The current verbosity is ${console.isVerbose}.
You need to pass a boolean value to set it.`}}else{return{type:"md",data:`Invalid argument: ${args2}`}}return{type:"md",data:`Console verbosity set to ${console.isVerbose}`}};var setConfig=(ctx,args2)=>{const[scopeKey,valueString]=args2.split(/\s+/,2);if(!scopeKey||!valueString)throw new Error(`Invalid set command: ${args2}`);const[scope,key]=scopeKey.split(".");if(!scope||!key)throw new Error(`Invalid scope.key: ${scopeKey}`);const configUpdate={};try{configUpdate[scope]={[key]:JSON.parse(valueString)}}catch(error){console.dir(error);return{type:"md",data:`Failed to parse the JSON value: ${valueString}
If you are trying to set a string, you must wrap it in quotes.`}}const{raw:keysUpdated}=txCore.configStore.saveConfigs(configUpdate,ctx.admin.name);const outParts=["## Keys Updated:",mdCodeBlock(JSON.stringify(keysUpdated??"not set",null,2),"json"),"## Stored:",mdCodeBlock(JSON.stringify(txCore.configStore.getStoredConfig(),null,2),"json")];return{type:"md",data:outParts.join("\n")}};var printFullPlayerList=(ctx,args2)=>{return{type:"json",data:JSON.stringify(txCore.fxPlayerlist.getPlayerList(),null,2)}};var printFullServerLogBuffer=(ctx,args2)=>{return{type:"json",data:JSON.stringify(txCore.logger.server.getRecentBuffer(),null,2)}};var printFxRunnerChildHistory=(ctx,args2)=>{return{type:"json",data:JSON.stringify(txCore.fxRunner.history,null,2)}};var printLoggerErrors=(ctx,args2)=>{const outData={admin:txCore.logger.admin.lrLastError,fxserver:txCore.logger.fxserver.lrLastError,server:txCore.logger.server.lrLastError};return{type:"json",data:JSON.stringify(outData,null,2)}};var printFxResourcesBootLog=(ctx,args2)=>{const bootLog=txCore.fxResources.latestBootLog;if(!bootLog){return{type:"md",data:"Server has not booted yet."}}else{const maxResNameLength=Math.max(...bootLog.map(x=>x.resource.length));const lines=bootLog.sort((a,b)=>b.duration-a.duration).map(x=>{const name=x.resource.padEnd(maxResNameLength);const duration=msToShortishDuration(x.duration,{units:["m","s","ms"]});return`${name} ${duration}`});return{type:"md",data:["## Latest Boot Log:",mdCodeBlock(lines.join("\n"),"txt")].join("\n")}}};var txAdminCmds_default={verbose:setVerbosity,set:setConfig,printFullPlayerList,printFullServerLogBuffer,printFxRunnerChildHistory,printLoggerErrors,printFxResourcesBootLog};var forceUpdateMutableConvars=async(ctx,args2)=>{const convarList=await txCore.fxRunner.updateMutableConvars();if(!convarList){return{type:"md",data:`Failed to update mutable convars.
Check the terminal for more details.`}}const lines=convarList.map(([set3,convar,value])=>`${set3} ${convar} ${value}`);return{type:"md",data:["## Convars Updated:",mdCodeBlock(lines.join("\n"),"txt")].join("\n")}};var safelyRestartMonitorResource=(ctx,args2)=>{const setCmdResult=txCore.fxRunner.sendCommand("set",["txAdmin-luaComToken",txCore.webServer.luaComToken],SYM_SYSTEM_AUTHOR);if(!setCmdResult){return{type:"md",data:"Failed to reset luaComToken.\nCheck the terminal for more details."}}const ensureCmdResult=txCore.fxRunner.sendCommand("ensure",["monitor"],SYM_SYSTEM_AUTHOR);if(ensureCmdResult){return{type:"md",data:"Monitor restarted."}}else{return{type:"md",data:"Failed to restart monitor.\nCheck the terminal for more details."}}};var forceReauthRecentPlayers=async(ctx,args2)=>{const numPlayers=parseFiniteIntString(args2)??10;if(numPlayers<1){return{type:"md",data:`Invalid argument: ${args2}`}}const netIds=txCore.fxPlayerlist.getPlayerList().map(p=>p.netid).slice(-numPlayers);txCore.fxRunner.sendEvent("adminsUpdated",netIds);return{type:"md",data:`Refreshed players with NetIDs: ${netIds.join(", ")}`}};var serverCmds_default={forceUpdateMutableConvars,safelyRestartMonitorResource,forceReauthRecentPlayers};var import_node_v82=__toESM(require("node:v8"),1);var import_bytes6=__toESM(require_bytes(),1);var printProcessEnv=(ctx,args2)=>{return{type:"json",data:JSON.stringify(process.env,null,2)}};var printProcessMemoryUsage=(ctx,args2)=>{let outLines=[];for(const[key,value]of Object.entries(process.memoryUsage())){outLines.push(`- ${key}: ${(0,import_bytes6.default)(value)}`)}return{type:"md",data:["## Process Memory:",...outLines].join("\n")}};var freezeProcess=(ctx,args2)=>{const secs=parseFiniteIntString(args2)??50;if(secs<1){return{type:"md",data:`Invalid argument: ${args2}`}}setTimeout(()=>{console.warn(`Admin ${ctx.admin.name} requested freezing process for ${secs} seconds.`);Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,secs*1e3)},250);return{type:"md",data:`Freezing process for ${secs} seconds...`}};var saveHeapSnapshot=(ctx,args2)=>{setTimeout(()=>{const snapFile=import_node_v82.default.writeHeapSnapshot();console.warn(`Heap snapshot written to: ${snapFile}`)},250);return{type:"md",data:`Saving heap snapshot, check the terminal for more details.
This may take a while and has high chance of crashing the server.`}};var processCmds_default={printProcessEnv,printProcessMemoryUsage,freezeProcess,saveHeapSnapshot};var import_node_perf_hooks=require("node:perf_hooks");var getLocalTimezone=()=>{try{return Intl.DateTimeFormat().resolvedOptions().timeZone||"UTC"}catch{return"UTC"}};var buildTimeProbes=()=>{const localTz=getLocalTimezone();return[{url:"https://time.akamai.com/?ms",parse:b=>({time:parseFloat(b.trim())*1e3})},{url:"https://www.cloudflare.com/cdn-cgi/trace",parse:b=>{const tsLine=b.split("\n").find(l=>l.startsWith("ts="));const ts=parseFloat(tsLine.slice(3));return{time:Math.round(ts*1e3)}}},{url:`https://gettimeapi.dev/v1/time?timezone=${encodeURIComponent(localTz)}`,parse:b=>{const json2=JSON.parse(b);return{time:Date.parse(json2.iso8601),timezone:{timezone:json2.timezone,offset:json2.offset,abbr:json2.abbr}}}}]};var runProbe=async({url,parse:parse3})=>{const timeoutMs=5e3;try{const t0=import_node_perf_hooks.performance.now();const res=await got_default(url,{retry:{limit:0},timeout:{request:timeoutMs}});const t1=import_node_perf_hooks.performance.now();const parsed=parse3(res.body);const rtt=t1-t0;const offset=parsed.time+rtt/2-Date.now();return{url,success:true,serverTime:parsed.time,rtt,offset,timezone:parsed.timezone}}catch(error){return{url,success:false,error:(error==null?void 0:error.message)??"unknown error"}}};async function probeInternetTime(){const results=await Promise.all(buildTimeProbes().map(runProbe));const successResults=results.filter(r=>r.success);const avgTimeMs=successResults.reduce((acc,r)=>acc+r.serverTime,0)/successResults.length;const avgOffsetMs=successResults.reduce((acc,r)=>acc+r.offset,0)/successResults.length;const avgRttMs=successResults.reduce((acc,r)=>acc+r.rtt,0)/successResults.length;return{date:avgTimeMs?new Date(avgTimeMs):null,avgTimeMs:Math.floor(avgTimeMs),avgOffsetMs:Math.floor(avgOffsetMs),avgRttMs:Math.floor(avgRttMs),results}}var printPublicIp=async(ctx,args2)=>{const ip=await getPublicIp()||"not found";return{type:"md",data:`Public IP: ${ip}`}};var GETTIMEAPI_HOST="gettimeapi.dev";var DRIFT_THRESHOLD_MS=5e3;var formatUtcOffset=minutes=>{const sign=minutes>=0?"+":"-";const abs=Math.abs(minutes);const h=Math.floor(abs/60).toString().padStart(2,"0");const m=(abs%60).toString().padStart(2,"0");return`${sign}${h}:${m}`};var resolveIntlOffsetMinutes=timeZone=>{var _a12;try{const parts=new Intl.DateTimeFormat("en-US",{timeZone,timeZoneName:"longOffset"}).formatToParts(new Date);const tzPart=(_a12=parts.find(p=>p.type==="timeZoneName"))==null?void 0:_a12.value;if(!tzPart)return null;if(tzPart==="GMT"||tzPart==="UTC")return 0;const m=tzPart.match(/^(?:GMT|UTC)([+-])(\d{1,2})(?::(\d{2}))?$/);if(!m)return null;const sign=m[1]==="+"?1:-1;return sign*(parseInt(m[2])*60+parseInt(m[3]??"0"))}catch{return null}};var printClockInfo=async(ctx,args2)=>{var _a12,_b2;const probeResult=await probeInternetTime();const{date,avgOffsetMs,avgRttMs,results}=probeResult;const localTimezone=Intl.DateTimeFormat().resolvedOptions().timeZone||"n/a";const localUtcOffsetMin=-new Date().getTimezoneOffset();const localUtcOffset=formatUtcOffset(localUtcOffsetMin);const localTime=new Date().toLocaleString();const intlExpectedOffsetMin=resolveIntlOffsetMinutes(localTimezone);const intlExpectedOffset=intlExpectedOffsetMin!==null?formatUtcOffset(intlExpectedOffsetMin):"not resolved";const icuV8Ok=intlExpectedOffsetMin!==null&&intlExpectedOffsetMin===localUtcOffsetMin;const gettimeapiProbe=results.find(r=>r.success&&r.url.includes(GETTIMEAPI_HOST));const internetTimezone=((_a12=gettimeapiProbe==null?void 0:gettimeapiProbe.timezone)==null?void 0:_a12.timezone)??"not resolved";const internetUtcOffset=((_b2=gettimeapiProbe==null?void 0:gettimeapiProbe.timezone)==null?void 0:_b2.offset)??"not resolved";const internetTime=date?new Date(date).toLocaleString():"not resolved";const tzOk=internetTimezone!=="not resolved"&&internetTimezone===localTimezone;const offsetOk=internetUtcOffset!=="not resolved"&&internetUtcOffset===localUtcOffset;const driftOk=avgOffsetMs!==null&&Math.abs(avgOffsetMs)<=DRIFT_THRESHOLD_MS;const mark=ok=>ok?"✔":"❌";const driftStr=avgOffsetMs!==null?`${avgOffsetMs}ms`:"not found";const rttStr=avgRttMs!==null?`${avgRttMs}ms`:"not found";return{type:"md",data:["## Clock Info:","","| Metric | Local | Internet | Status |","| --- | --- | --- | :---: |",`| Timezone | \`${localTimezone}\` | \`${internetTimezone}\` | ${mark(tzOk)} |`,`| UTC Offset | \`${localUtcOffset}\` | \`${internetUtcOffset}\` | ${mark(offsetOk)} |`,`| Time | ${localTime} | ${internetTime} | ${mark(driftOk)} |`,"",`- ICU/V8 timezone self-check: ${mark(icuV8Ok)} _(\`Date\` offset is \`${localUtcOffset}\`, \`${localTimezone}\` should be \`${intlExpectedOffset}\`)_`,`- Clock drift: ${driftStr} _(threshold: ±${DRIFT_THRESHOLD_MS}ms)_`,`- Network RTT: ${rttStr}`,"","_Local values are resolved by the Node.js runtime / OS. Internet values come from `gettimeapi.dev` (timezone) and all probes averaged (time/drift)._","## Raw Probe Data:",...results.map(r=>{const j=JSON.stringify({...r,url:void 0,success:void 0},null,2);return[`### ${r.url}`,mdCodeBlock(j,"json")].join("\n")})].join("\n")}};var otherCmds_default={printPublicIp,printClockInfo};var databaseCmds_default={};var modulename88="WebServer:Advanced:Run";var console99=console_default(modulename88);var bodySchema11=z.object({cmd:z.string()});var handlers2={...txAdminCmds_default,...databaseCmds_default,...serverCmds_default,...processCmds_default,...otherCmds_default};async function RunAdvancedCommand(ctx){const sendTypedResp2=data=>ctx.send(data);if(!ctx.admin.testPermission("all_permissions",modulename88)){return sendTypedResp2({error:"You do not have permission to change the settings."})}const schemaRes=bodySchema11.safeParse(ctx.request.body);if(!schemaRes.success){return sendTypedResp2({error:`Invalid request body: ${schemaRes.error.message}`})}const cmdStr=schemaRes.data.cmd;const[,cmd,rawArgs]=cmdStr.match(/^(?<cmd>\w+)(?:\s+(?<rawArgs>.*))?$/)||[];if(!cmd||!(cmd in handlers2)||!handlers2[cmd]){return sendTypedResp2({error:`Invalid command: ${cmdStr}`})}const args2=(rawArgs==null?void 0:rawArgs.trim())??"";try{const result2=await handlers2[cmd](ctx,args2);ctx.admin.logAction(`Ran advanced command: ${cmd} ${args2}`);return sendTypedResp2(result2)}catch(error){return sendTypedResp2({error:`Error running command: ${(error==null?void 0:error.message)??"Unknown error"}`})}}var modulename89="WebServer:ServerLog";var console100=console_default(modulename89);async function ServerLog(ctx){if(!ctx.admin.hasPermission("server.log.view")){return ctx.utils.renderMessage("You don't have permission to view this page.")}const renderData={headerTitle:"Server Log"};return ctx.utils.render("main/serverLog",renderData)}var modulename90="WebServer:ServerLogPartial";var console101=console_default(modulename90);async function ServerLogPartial(ctx){if(!ctx.admin.hasPermission("server.log.view")){return sendTypedResp({error:"You don't have permission to call this endpoint."})}const isDigit=/^\d{13}$/;const sliceSize=500;if(ctx.request.query.dir==="older"&&isDigit.test(ctx.request.query.ref)){const log2=txCore.logger.server.readPartialOlder(ctx.request.query.ref,sliceSize);return ctx.send({boundry:log2.length<sliceSize,log:log2})}else if(ctx.request.query.dir==="newer"&&isDigit.test(ctx.request.query.ref)){const log2=txCore.logger.server.readPartialNewer(ctx.request.query.ref,sliceSize);return ctx.send({boundry:log2.length<sliceSize,log:log2})}else{return ctx.send({boundry:true,log:txCore.logger.server.getRecentBuffer()})}}async function HostStatus(ctx){return ctx.send(txManager.hostStatus)}var modulename91="WebServer:DevDebug";var console102=console_default(modulename91);var devWarningMessage="The unsafe privileged /dev webroute was called and should only be used in developer mode.";var paramsSchema3=z.object({scope:z.string()});var playerJoinCounter=0;var get3=async ctx=>{if(!txDevEnv.ENABLED)return ctx.send({error:"this route is dev mode only"});const schemaRes=paramsSchema3.safeParse(ctx.params);if(!schemaRes.success)return ctx.utils.error(400,"Invalid Request");console102.warn(devWarningMessage);const{scope}=schemaRes.data;return ctx.send({rand:Math.random()})};var post=async ctx=>{var _a12;if(!txDevEnv.ENABLED)return ctx.send({error:"this route is dev mode only"});const schemaRes=paramsSchema3.safeParse(ctx.params);if(!schemaRes.success)return ctx.utils.error(400,"Invalid Request");console102.warn(devWarningMessage);const{scope}=schemaRes.data;if(scope==="event"){try{if(!((_a12=txCore.fxRunner.child)==null?void 0:_a12.isAlive)){return ctx.send({error:"server not ready"})}if(ctx.request.body.id===null){if(ctx.request.body.event==="playerDropped"){const onlinePlayers=txCore.fxPlayerlist.getPlayerList();if(onlinePlayers.length){ctx.request.body.id=onlinePlayers[0].netid}}else if(ctx.request.body.event==="playerJoining"){ctx.request.body.id=playerJoinCounter+101}}if(ctx.request.body.event==="playerJoining"){playerJoinCounter++}txCore.fxPlayerlist.handleServerEvents(ctx.request.body,txCore.fxRunner.child.mutex);return ctx.send({success:true})}catch(error){console102.dir(error)}}else{console102.dir(scope);console102.dir(ctx.request.body);return ctx.send({error:"unknown scope"})}};var modulename92="WebServer:AuthMws";var console103=console_default(modulename92);var webLogoutPage=`<style>
body {
    margin: 0;
}
.notice {
    font-family: sans-serif;
    font-size: 1.5em;
    text-align: center;
    background-color: #222326;
    color: #F7F7F8;
    padding: 2em;
    border: 1px solid #333539;
    border-radius: 0.5em;
}
.notice a {
    color: #F00A53;
}
</style>
    <p class="notice">
        User logged out. <br>
        Redirecting to <a href="/login#expired" target="_parent">login page</a>...
    </p>
<script>
    // Notify parent window that auth failed
    window.parent.postMessage({ type: 'logoutNotice' });
    // If parent redirect didn't work, redirect here
    setTimeout(function() {
        window.parent.location.href = '/login#expired';
    }, 2000);
</script>`;var hostAuthMw=async(ctx,next)=>{const docs="https://aka.cfx.re/txadmin-env-config";if(txHostConfig.hostApiToken==="disabled"){return await next()}if(!txHostConfig.hostApiToken){return ctx.send({error:"token not configured",desc:"need to configure the TXHOST_API_TOKEN environment variable to be able to use the status endpoint",docs})}let tokenProvided;const headerToken=ctx.headers["x-txadmin-envtoken"];if(typeof headerToken==="string"&&headerToken){tokenProvided=headerToken}const paramsToken=ctx.query.envtoken;if(typeof paramsToken==="string"&&paramsToken){tokenProvided=paramsToken}if(headerToken&&paramsToken){return ctx.send({error:"token conflict",desc:"cannot use both header and query token",docs})}if(!tokenProvided){return ctx.send({error:"token missing",desc:"a token needs to be provided in the header or query string",docs})}if(tokenProvided!==txHostConfig.hostApiToken){return ctx.send({error:"invalid token",desc:"the token provided does not match the TXHOST_API_TOKEN environment variable",docs})}return await next()};var intercomAuthMw=async(ctx,next)=>{var _a12;if(typeof((_a12=ctx.request.body)==null?void 0:_a12.txAdminToken)!=="string"||ctx.request.body.txAdminToken!==txCore.webServer.luaComToken){return ctx.send({error:"invalid token"})}await next()};var webAuthMw=async(ctx,next)=>{const authResult=checkRequestAuth(ctx.request.headers,ctx.ip,ctx.txVars.isLocalRequest,ctx.sessTools);if(!authResult.success){ctx.sessTools.destroy();if(authResult.rejectReason){console103.verbose.warn(`Invalid session auth: ${authResult.rejectReason}`)}return ctx.send(webLogoutPage)}ctx.admin=authResult.admin;await next()};var apiAuthMw=async(ctx,next)=>{var _a12;const sendTypedResp2=data=>ctx.send(data);const authResult=checkRequestAuth(ctx.request.headers,ctx.ip,ctx.txVars.isLocalRequest,ctx.sessTools);if(!authResult.success){ctx.sessTools.destroy();if(authResult.rejectReason&&(authResult.rejectReason!=="nui_admin_not_found"||console103.isVerbose)){console103.verbose.warn(`Invalid session auth: ${authResult.rejectReason}`)}return sendTypedResp2({logout:true,reason:authResult.rejectReason??"no session"})}if(ctx.txVars.isWebInterface){const sessToken=(_a12=authResult.admin)==null?void 0:_a12.csrfToken;const headerToken=ctx.headers["x-txadmin-csrftoken"];if(!sessToken||!headerToken||sessToken!==headerToken){console103.verbose.warn(`Invalid CSRF token: ${ctx.path}`);const msg=headerToken?"Error: Invalid CSRF token, please refresh the page or try to login again.":"Error: Missing HTTP header 'x-txadmin-csrftoken'. This likely means your files are not updated or you are using some reverse proxy that is removing this header from the HTTP request.";return sendTypedResp2({type:"error",msg,error:msg})}}ctx.admin=authResult.admin;await next()};var router_default=()=>{const router=new import_router.default;const authLimiter=(0,import_koa_ratelimit.default)({driver:"memory",db:new Map,duration:txConfig.webServer.limiterMinutes*60*1e3,errorMessage:JSON.stringify({error:`Too many attempts. Blocked for ${txConfig.webServer.limiterMinutes} minutes.`,errorTitle:"Too many attempts.",errorMessage:`Blocked for ${txConfig.webServer.limiterMinutes} minutes.`}),max:txConfig.webServer.limiterAttempts,disableHeader:true,id:ctx=>ctx.txVars.realIP});router.get("/legacy/adminManager",webAuthMw,AdminManagerPage);router.get("/legacy/cfgEditor",webAuthMw,CFGEditorPage);router.get("/legacy/masterActions",webAuthMw,MasterActionsPage);router.get("/legacy/resources",webAuthMw,Resources);router.get("/legacy/serverLog",webAuthMw,ServerLog);router.get("/legacy/allowlist",webAuthMw,WhitelistPage);router.get("/legacy/setup",webAuthMw,SetupGet);router.get("/legacy/deployer",webAuthMw,DeployerStepper);router.get("/auth/self",apiAuthMw,AuthSelf);router.post("/auth/password",authLimiter,AuthVerifyPassword);router.post("/auth/logout",authLimiter,AuthLogout);router.post("/auth/addMaster/pin",authLimiter,AuthAddMasterPin);router.post("/auth/addMaster/callback",authLimiter,AuthAddMasterCallback);router.post("/auth/addMaster/save",authLimiter,AuthAddMasterSave);router.get("/auth/cfxre/redirect",authLimiter,AuthProviderRedirect);router.post("/auth/cfxre/callback",authLimiter,AuthProviderCallback);router.post("/auth/changePassword",apiAuthMw,AuthChangePassword);router.get("/auth/getIdentifiers",apiAuthMw,AuthGetIdentifiers);router.post("/auth/changeIdentifiers",apiAuthMw,AuthChangeIdentifiers);router.post("/adminManager/getModal/:modalType",webAuthMw,AdminManagerGetModal);router.post("/adminManager/:action",apiAuthMw,AdminManagerActions);router.post("/setup/:action",apiAuthMw,SetupPost);router.get("/deployer/status",apiAuthMw,DeployerStatus);router.post("/deployer/recipe/:action",apiAuthMw,DeployerActions);router.get("/settings/configs",apiAuthMw,GetSettingsConfigs);router.post("/settings/configs/:card",apiAuthMw,SaveSettingsConfigs);router.get("/settings/banTemplates",apiAuthMw,GetBanTemplates);router.post("/settings/banTemplates",apiAuthMw,SaveBanTemplates);router.post("/settings/resetServerDataPath",apiAuthMw,ResetServerDataPath);router.get("/masterActions/backupDatabase",webAuthMw,MasterActionsGet);router.post("/masterActions/:action",apiAuthMw,MasterActionsAction);router.post("/fxserver/controls",apiAuthMw,FXServerControls);router.post("/fxserver/commands",apiAuthMw,FXServerCommands);router.get("/fxserver/downloadLog",webAuthMw,FXServerDownloadLog);router.post("/fxserver/schedule",apiAuthMw,FXServerSchedule);router.post("/cfgEditor/save",apiAuthMw,CFGEditorSave);router.post("/intercom/:scope",intercomAuthMw,Intercom);router.get("/diagnostics/getDiagnostics",apiAuthMw,GetDiagnosticsData);router.post("/diagnostics/sendReport",apiAuthMw,SendDiagnosticsReport);router.post("/advanced/run",apiAuthMw,RunAdvancedCommand);router.get("/serverLog/partial",apiAuthMw,ServerLogPartial);router.get("/systemLog/:scope",apiAuthMw,SystemLogs);router.get("/perfChartData/:thread",apiAuthMw,perfChart);router.get("/playerDropsData",apiAuthMw,playerDrops);router.get("/history/stats",apiAuthMw,HistoryStats);router.get("/history/search",apiAuthMw,HistorySearch);router.get("/history/action",apiAuthMw,HistoryActionModal);router.post("/history/:action",apiAuthMw,HistoryActions);router.get("/player",apiAuthMw,PlayerModal);router.get("/player/stats",apiAuthMw,PlayersStats);router.get("/player/search",apiAuthMw,PlayerSearch);router.post("/player/checkJoin",intercomAuthMw,PlayerCheckJoin);router.post("/player/:action",apiAuthMw,PlayerActions);router.get("/whitelist/:table",apiAuthMw,WhitelistList);router.post("/whitelist/:table/:action",apiAuthMw,WhitelistActions);router.get("/host/status",hostAuthMw,HostStatus);if(txDevEnv.ENABLED){router.get("/dev/:scope",get3);router.post("/dev/:scope",post)};return router};var modulename93="WebServer:TopLevelMw";var console104=console_default(modulename93);var maxTokens=20;var tokensPerInterval=5;var availableTokens=maxTokens;var suppressedErrors=0;setInterval(()=>{availableTokens=Math.min(availableTokens+tokensPerInterval,maxTokens);if(suppressedErrors){console104.warn(`Suppressed ${suppressedErrors} errors to prevent log spam.`);suppressedErrors=0}},5e3);var consumePrintToken=()=>{if(availableTokens>0){availableTokens--;return true}suppressedErrors++;return false};var timeoutLimit=47*1e3;var topLevelMw=async(ctx,next)=>{ctx.set("Server",`txAdmin v${txEnv.txaVersion}`);let timerId;const timeout=new Promise((_,reject2)=>{timerId=setTimeout(()=>{reject2(new Error("route_timed_out"))},timeoutLimit)});try{await Promise.race([timeout,next()]);if(typeof ctx.body=="undefined"||typeof ctx.body=="string"&&!ctx.body.length){console104.verbose.warn(`Route without output: ${ctx.path}`);return ctx.body="[no output from route]"}}catch(e){const error=e;const prefix=`[txAdmin v${txEnv.txaVersion}]`;const reqPath=ctx.path.length>80?`${ctx.path.slice(0,77)}...`:ctx.path;const methodName=error.stack&&error.stack[0]&&error.stack[0].name?error.stack[0].name:"anonym";ctx.type="text/plain";ctx.set("X-Content-Type-Options","nosniff");if(error.type==="entity.too.large"){const desc=`Entity too large for: ${reqPath}`;ctx.status=413;ctx.body={error:desc};if(consumePrintToken())console104.verbose.error(desc,methodName)}else if(error.type==="stream.not.readable"){const desc=`Stream Not Readable: ${reqPath}`;ctx.status=422;ctx.body={error:desc};if(consumePrintToken())console104.verbose.warn(desc,methodName)}else if(error.message==="route_timed_out"){const desc=`${prefix} Route timed out: ${reqPath}`;ctx.status=408;ctx.body=desc;if(consumePrintToken())console104.error(desc,methodName)}else if(error.message==="Malicious Path"||error.message==="failed to decode"){const desc=`${prefix} Malicious Path: ${reqPath}`;ctx.status=406;ctx.body=desc;if(consumePrintToken())console104.verbose.error(desc,methodName)}else if(error.message.startsWith("Unexpected token")){const desc=`${prefix} Invalid JSON for: ${reqPath}`;ctx.status=400;ctx.body={error:desc};if(consumePrintToken())console104.verbose.error(desc,methodName)}else{const desc=[`${prefix} Internal Error.`,`Route: ${reqPath}`,`Message: ${error.message}`,"Make sure your txAdmin is updated."].join("\n");ctx.status=500;ctx.body=desc;if(consumePrintToken()){console104.error(desc,methodName);console104.verbose.dir(error)}}}finally{clearTimeout(timerId)}};var topLevelMw_default=topLevelMw;var modulename94="WebServer:SetupVarsMw";var console105=console_default(modulename94);var ctxVarsMw=(ctx,next)=>{const txVars={isWebInterface:typeof ctx.headers["x-txadmin-token"]!=="string",realIP:ctx.ip,isLocalRequest:isIpAddressLocal(ctx.ip),hostType:"other"};const host=ctx.request.host??"none";if(host.startsWith("localhost")||host.startsWith("127.")){txVars.hostType="localhost"}else if(/^\d+\.\d+\.\d+\.\d+(?::\d+)?$/.test(host)){txVars.hostType="ip"}if(typeof ctx.headers["x-txadmin-identifiers"]==="string"&&typeof ctx.headers["x-txadmin-token"]==="string"&&ctx.headers["x-txadmin-token"]===txCore.webServer.luaComToken&&txVars.isLocalRequest){const ipIdentifier=ctx.headers["x-txadmin-identifiers"].split(",").find(i=>i.substring(0,3)==="ip:");if(ipIdentifier){const srcIP=ipIdentifier.substring(3);if(consts_default.regexValidIP.test(srcIP)){txVars.realIP=srcIP}}}ctx.txVars=txVars;return next()};var ctxVarsMw_default=ctxVarsMw;var import_node_path21=__toESM(require("node:path"),1);var import_promises23=__toESM(require("node:fs/promises"),1);var import_ejs=__toESM(require_ejs(),1);var import_promises22=__toESM(require("node:fs/promises"),1);var import_node_path20=__toESM(require("node:path"),1);var modulename95="WebCtxUtils";var console106=console_default(modulename95);var serverTimezone=Intl.DateTimeFormat().resolvedOptions().timeZone;var htmlFile;var viteOrigin=txDevEnv.VITE_URL??"doesnt-matter";var devModulesScript=`<script type="module">
        import { injectIntoGlobalHook } from "${viteOrigin}/@react-refresh";
        injectIntoGlobalHook(window);
        window.$RefreshReg$ = () => {};
        window.$RefreshSig$ = () => (type) => type;
        window.__vite_plugin_react_preamble_installed__ = true;
    </script>
    <script type="module" src="${viteOrigin}/@vite/client"></script>
    <script type="module" src="${viteOrigin}/src/main.tsx"></script>`;var tmpDefaultTheme="dark";var tmpDefaultThemes=["dark","light"];var tmpCustomThemes=[];async function getReactIndex(ctx){if(txDevEnv.ENABLED||!htmlFile){try{const indexPath=txDevEnv.ENABLED?import_node_path20.default.join(txDevEnv.SRC_PATH,"/panel/index.html"):import_node_path20.default.join(txEnv.txaPath,"panel/index.html");const rawHtmlFile=await import_promises22.default.readFile(indexPath,"utf-8");if(txDevEnv.ENABLED){htmlFile=rawHtmlFile.replaceAll(/.+data-prod-only.+\r?\n/gm,"")}else{htmlFile=rawHtmlFile.replaceAll(/.+data-dev-only.+\r?\n/gm,"")}}catch(error){if(error.code=="ENOENT"){return`<h1>⚠ index.html not found:</h1><pre>You probably deleted the 'citizen/system_resources/monitor/panel/index.html' file, or the folders above it.</pre>`}else{return`<h1>⚠ index.html load error:</h1><pre>${error.message}</pre>`}}}const authResult=checkRequestAuth(ctx.request.headers,ctx.ip,ctx.txVars.isLocalRequest,ctx.sessTools);let authedAdmin=false;if(authResult.success){authedAdmin=authResult.admin}const basePath2=ctx.txVars.isWebInterface?"/":consts_default.nuiWebpipePath;const injectedConsts={fxsVersion:txEnv.fxsVersionTag,fxsOutdated:txCore.updateChecker.fxsUpdateData,txaVersion:txEnv.txaVersion,txaOutdated:txCore.updateChecker.txaUpdateData,serverTimezone,isWindows:txEnv.isWindows,isWebInterface:ctx.txVars.isWebInterface,showAdvanced:txDevEnv.ENABLED||console106.isVerbose,hasMasterAccount:txCore.adminStore.hasAdmins(true),defaultTheme:tmpDefaultTheme,customThemes:tmpCustomThemes.map(({name,isDark})=>({name,isDark})),providerLogo:txHostConfig.providerLogo,providerName:txHostConfig.providerName,hostConfigSource:txHostConfig.sourceName,server:{name:txCore.cacheStore.getTyped("fxsRuntime:projectName",isString2)??txConfig.general.serverName,game:txCore.cacheStore.getTyped("fxsRuntime:gameName",isString2),icon:txCore.cacheStore.getTyped("fxsRuntime:iconFilename",isString2)},preAuth:authedAdmin&&authedAdmin.getAuthData()};const replacers={};replacers.basePath=`<base href="${escapeHtmlAttribute(basePath2)}">`;replacers.ogTitle=escapeHtmlAttribute(`txAdmin - ${txConfig.general.serverName}`);replacers.ogDescripttion=escapeHtmlAttribute(`Manage & Monitor your FiveM/RedM Server with txAdmin v${txEnv.txaVersion} atop FXServer ${txEnv.fxsVersion}`);replacers.txConstsInjection=`<script>window.txConsts = ${escapeHtmlRawText(JSON.stringify(injectedConsts))};</script>`;replacers.devModules=txDevEnv.ENABLED?devModulesScript:"";replacers.customThemesStyle="";if(tmpCustomThemes.length){const cssThemes=[];for(const theme of tmpCustomThemes){const cssVars=[];const safeThemeName=sanitizeClassToken(theme.name);if(!safeThemeName)continue;for(const[name,value]of Object.entries(theme.style)){const safeName=sanitizeCssVarName(name);const safeValue=sanitizeCssVarValue(value);if(!safeName||!safeValue)continue;cssVars.push(`--${safeName}: ${safeValue};`)}cssThemes.push(`.theme-${safeThemeName} { ${cssVars.join(" ")} }`)}replacers.customThemesStyle=`<style>${escapeHtmlRawText(cssThemes.join("\n"))}</style>`}let htmlClasses=tmpDefaultTheme;const themeCookie=ctx.cookies.get(consts_default.cookies.theme);if(themeCookie){if(tmpDefaultThemes.includes(themeCookie)){htmlClasses=themeCookie}else{const selectedCustomTheme=tmpCustomThemes.find(theme=>theme.name===themeCookie);if(!selectedCustomTheme){htmlClasses=tmpDefaultTheme}else{const lightDarkSelector=selectedCustomTheme.isDark?"dark":"light";htmlClasses=`${lightDarkSelector} theme-${selectedCustomTheme.name}`}}}replacers.htmlClasses=escapeHtmlAttribute(htmlClasses);let htmlOut=htmlFile;for(const[placeholder,value]of Object.entries(replacers)){const replacerRegex=new RegExp(`(<!--\\s*)?{{${placeholder}}}(\\s*-->)?`,"g");htmlOut=htmlOut.replaceAll(replacerRegex,value)}if(!txDevEnv.ENABLED){const base=ctx.txVars.isWebInterface?`./`:`nui://monitor/panel/`;htmlOut=htmlOut.replaceAll(/(src|href)="\.\/(\w+)-(\w+(?:\.v\d+)?)\.(js|css)"/g,`$1="${base}$2-$3.$4"`)}return htmlOut}var modulename96="WebCtxUtils";var console107=console_default(modulename96);var getRenderErrorText=(view,error,data)=>{var _a12;console107.error(`Error rendering ${view}.`);console107.verbose.dir(error);if((_a12=data==null?void 0:data.discord)==null?void 0:_a12.token)data.discord.token="[redacted]";return['<pre style="color: red">',`Error rendering '${view}'.`,`Message: ${escapeHtmlContent(error.message)}`,"The data provided was:","================",escapeHtmlContent(JSON.stringify(data,null,2)),"</pre>"].join("\n")};var getWebViewPath=view=>{if(view.includes(".."))throw new Error("Path Traversal?");return import_node_path21.default.join(txEnv.txaPath,"web",view+".ejs")};var getJavascriptConsts=(allConsts={})=>{return Object.entries(allConsts).map(([name,val])=>`const ${name} = ${escapeHtmlRawText(JSON.stringify(val))};`).join(" ")};function getEjsOptions(filePath){const webTemplateRoot=import_node_path21.default.resolve(txEnv.txaPath,"web");const webCacheDir=import_node_path21.default.resolve(txEnv.txaPath,"web-cache",filePath);return{cache:true,filename:webCacheDir,root:webTemplateRoot,views:[webTemplateRoot],rmWhitespace:true,async:true}}var templateCache=new Map;var RESOURCE_PATH="nui://monitor/web/public/";var legacyNavigateHtmlTemplate=`<style>
body {
    margin: 0;
}
.notice {
    font-family: sans-serif;
    font-size: 1.5em;
    text-align: center;
    background-color: #222326;
    color: #F7F7F8;
    padding: 2em;
    border: 1px solid #333539;
    border-radius: 0.5em;
}
.notice a {
    color: #F00A53;
}
</style>
    <p class="notice">
        Redirecting to <a href="{{href}}" target="_parent">{{href}}</a>...
    </p>
<script>
    // Notify parent window
    window.parent.postMessage({ type: 'navigateToPage', href: '{{href}}'});
    // If parent redirect didn't work, redirect here
    setTimeout(function() {
        window.parent.location.href = '{{href}}';
    }, 2000);
</script>`;async function loadWebTemplate(name){if(txDevEnv.ENABLED||!templateCache.has(name)){try{const rawTemplate=await import_promises23.default.readFile(getWebViewPath(name),"utf-8");const compiled=import_ejs.default.compile(rawTemplate,getEjsOptions(name+".ejs"));templateCache.set(name,compiled)}catch(error){if(error.code=="ENOENT"){throw new Error([`The '${name}' template was not found:`,`You probably deleted the 'citizen/system_resources/monitor/web/${name}.ejs' file, or the folders above it.`].join("\n"))}else{throw error}}}return templateCache.get(name)}async function renderView(view,possiblyAuthedAdmin,data,txVars){data.adminUsername=(possiblyAuthedAdmin==null?void 0:possiblyAuthedAdmin.name)??"unknown user";data.adminIsMaster=possiblyAuthedAdmin&&possiblyAuthedAdmin.isMaster;data.profilePicture=(possiblyAuthedAdmin==null?void 0:possiblyAuthedAdmin.profilePicture)??"img/default_avatar.png";data.isTempPassword=possiblyAuthedAdmin&&possiblyAuthedAdmin.isTempPassword;data.isLinux=!txEnv.isWindows;data.showAdvanced=txDevEnv.ENABLED||console107.isVerbose;try{return await loadWebTemplate(view).then(template2=>template2(data))}catch(error){return getRenderErrorText(view,error,data)}}async function ctxUtilsMw(ctx,next){const isWebInterface=ctx.txVars.isWebInterface;const renderUtil=async(view,data)=>{const possiblyAuthedAdmin=ctx.admin;let legacyTheme="";const themeCookie=ctx.cookies.get(consts_default.cookies.theme);if(!themeCookie||themeCookie==="dark"||!isWebInterface){legacyTheme="theme--dark"}else{const selectorTheme=tmpCustomThemes.find(theme=>theme.name===themeCookie);if(selectorTheme==null?void 0:selectorTheme.isDark){legacyTheme="theme--dark"}}const baseViewData={isWebInterface,basePath:isWebInterface?"/":consts_default.nuiWebpipePath,resourcePath:isWebInterface?"":RESOURCE_PATH,serverName:txConfig.general.serverName,uiTheme:legacyTheme,fxServerVersion:txEnv.fxsVersionTag,txAdminVersion:txEnv.txaVersion,hostConfigSource:txHostConfig.sourceName,jsInjection:getJavascriptConsts({isWebInterface,csrfToken:(possiblyAuthedAdmin==null?void 0:possiblyAuthedAdmin.csrfToken)??"not_set",TX_BASE_PATH:isWebInterface?"":consts_default.nuiWebpipePath,PAGE_TITLE:(data==null?void 0:data.headerTitle)??"txAdmin"}),escapeHtmlAttribute,escapeHtmlRawText};const renderData=Object.assign(baseViewData,data);ctx.body=await renderView(view,possiblyAuthedAdmin,renderData,ctx.txVars);ctx.type="text/html"};const renderMessageUtil=async(message3,options)=>{return renderUtil("main/message",{headerTitle:options==null?void 0:options.headerTitle,messageHtml:sanitizeSimpleHtml(message3)})};const errorUtil2=(httpStatus=500,message3="unknown error")=>{ctx.status=httpStatus;ctx.body={status:"error",code:httpStatus,message:message3}};const legacyNavigateToPage=href=>{if(!/^\/[\w\-\/]*$/.test(href)){throw new Error(`legacyNavigateToPage: invalid href: ${href}`)}ctx.body=legacyNavigateHtmlTemplate.replace(/{{href}}/g,href);ctx.type="text/html"};const serveReactIndex=async()=>{ctx.body=await getReactIndex(ctx);ctx.type="text/html"};ctx.utils={render:renderUtil,renderMessage:renderMessageUtil,error:errorUtil2,serveReactIndex,legacyNavigateToPage};ctx.send=data=>{ctx.body=data};return next()}var import_mnemonist=__toESM(require_mnemonist(),1);var import_node_crypto7=require("node:crypto");var import_cookie=__toESM(require_cookie(),1);var SessionMemoryStorage=class{constructor(maxAgeMs){this.sessions=new import_mnemonist.LRUCacheWithDelete(5e3);this.maxAgeMs=24*60*60*1e3;if(maxAgeMs){this.maxAgeMs=maxAgeMs}setInterval(()=>{const now3=Date.now();for(const[key,sess]of this.sessions){if(sess.expires<now3){this.sessions.delete(key)}}},5*6e4)}get(key){const stored=this.sessions.get(key);if(!stored)return;if(stored.expires<Date.now()){this.sessions.delete(key);return}return stored.data}set(key,sess){this.sessions.set(key,{expires:Date.now()+this.maxAgeMs,data:sess})}refresh(key){const stored=this.sessions.get(key);if(!stored)return;this.sessions.set(key,{expires:Date.now()+this.maxAgeMs,data:stored.data})}destroy(key){return this.sessions.delete(key)}get size(){return this.sessions.size}};var isValidSessId=sessId=>{if(typeof sessId!=="string")return false;if(sessId.length!==36)return false;return true};var koaSessMw=(cookieName,store)=>{const cookieOptions={path:"/",maxAge:store.maxAgeMs,httpOnly:true,sameSite:"lax",secure:false,overwrite:true,signed:false};return(ctx,next)=>{const sessGet=()=>{const sessId=ctx.cookies.get(cookieName);if(!sessId||!isValidSessId(sessId))return;const stored=store.get(sessId);if(!stored)return;ctx._refreshSessionCookieId=sessId;return stored};const sessSet=sess=>{const sessId=ctx.cookies.get(cookieName);if(!sessId||!isValidSessId(sessId)){const newSessId=(0,import_node_crypto7.randomUUID)();ctx.cookies.set(cookieName,newSessId,cookieOptions);store.set(newSessId,sess)}else{store.set(sessId,sess)}};const sessDestroy=()=>{const sessId=ctx.cookies.get(cookieName);if(!sessId||!isValidSessId(sessId))return;store.destroy(sessId);ctx.cookies.set(cookieName,"unset",cookieOptions)};ctx.sessTools={get:sessGet,set:sessSet,destroy:sessDestroy};try{return next()}catch(error){throw error}finally{if(typeof ctx._refreshSessionCookieId==="string"){ctx.cookies.set(cookieName,ctx._refreshSessionCookieId,cookieOptions);store.refresh(ctx._refreshSessionCookieId)}}}};var socketioSessMw=(cookieName,store)=>{return async(socket,next)=>{const sessGet=()=>{var _a12,_b2;const cookiesString=(_b2=(_a12=socket==null?void 0:socket.handshake)==null?void 0:_a12.headers)==null?void 0:_b2.cookie;if(typeof cookiesString!=="string")return;const cookies=(0,import_cookie.parse)(cookiesString);const sessId=cookies[cookieName];if(!sessId||!isValidSessId(sessId))return;return store.get(sessId)};socket.sessTools={get:sessGet,set:sess=>{},destroy:()=>{}};return next()}};var modulename97="WebServer:RateLimiter";var console108=console_default(modulename97);var DDOS_THRESHOLD=2e4;var MAX_RPM_DEFAULT=5e3;var MAX_RPM_UNDER_ATTACK=2500;var DDOS_COOLDOWN_MINUTES=15;var bannedIps=new Set;var reqsPerIp=new Map;var httpRequestsCounter=0;var bansPendingWarn=[];var minutesSinceLastAttack=Number.MAX_SAFE_INTEGER;setInterval(()=>{if(httpRequestsCounter>DDOS_THRESHOLD){minutesSinceLastAttack=0;const numberFormatter=new Intl.NumberFormat("en-US");console108.majorMultilineError(["You might be under a DDoS attack!",`txAdmin got ${numberFormatter.format(httpRequestsCounter)} HTTP requests in the last minute.`,`The attacker IP addresses have been blocked until ${DDOS_COOLDOWN_MINUTES} mins after the attack stops.`,"Make sure you have a proper firewall setup and/or a reverse proxy with rate limiting.","You can join https://discord.gg/txAdmin for support."])}else{minutesSinceLastAttack++;if(minutesSinceLastAttack>DDOS_COOLDOWN_MINUTES){bannedIps.clear()}}httpRequestsCounter=0;reqsPerIp.clear();if(bansPendingWarn.length){console108.warn("IPs blocked:",bansPendingWarn.join(", "));bansPendingWarn=[]}},6e4);var checkRateLimit=remoteAddress=>{if(typeof remoteAddress!=="string"||!remoteAddress.length)return false;httpRequestsCounter++;if(isIpAddressLocal(remoteAddress))return true;if(bannedIps.has(remoteAddress))return false;const reqsCount=reqsPerIp.get(remoteAddress);if(reqsCount!==void 0){const limit=minutesSinceLastAttack<DDOS_COOLDOWN_MINUTES?MAX_RPM_UNDER_ATTACK:MAX_RPM_DEFAULT;if(reqsCount>limit){bannedIps.add(remoteAddress);bansPendingWarn.push(remoteAddress);return false}reqsPerIp.set(remoteAddress,reqsCount+1)}else{reqsPerIp.set(remoteAddress,1)}return true};var globalRateLimiter_default=checkRateLimit;var import_node_v83=__toESM(require("node:v8"),1);var import_bytes7=__toESM(require_bytes(),1);var modulename98="WebServer:PacketDropper";var console109=console_default(modulename98);var RPM_CHECK_INTERVAL=800;var HIGH_LOAD_RPM=15e3;var HEAP_USED_LIMIT=.9;var REQ_BLOCKER_DURATION=60;var reqCounter=0;var lastCheckTime=Date.now();var isUnderHighLoad=false;var acceptRequests=true;var getHeapUsage=()=>{const heapStats=import_node_v83.default.getHeapStatistics();return{heapSize:(0,import_bytes7.default)(heapStats.used_heap_size),heapLimit:(0,import_bytes7.default)(heapStats.heap_size_limit),heapUsed:heapStats.used_heap_size/heapStats.heap_size_limit}};var checkHttpLoad=()=>{if(!acceptRequests)return false;reqCounter++;if(reqCounter>=RPM_CHECK_INTERVAL){reqCounter=0;const now3=Date.now();const elapsedMs=now3-lastCheckTime;lastCheckTime=now3;const requestsPerMinute=Math.ceil(RPM_CHECK_INTERVAL/elapsedMs*6e4);if(requestsPerMinute>HIGH_LOAD_RPM){isUnderHighLoad=true;console109.warn(`txAdmin is under high HTTP load: ~${Math.round(requestsPerMinute/1e3)}k reqs/min.`)}else{isUnderHighLoad=false}}if(isUnderHighLoad&&reqCounter%100===0){const{heapSize,heapLimit,heapUsed}=getHeapUsage();if(heapUsed>HEAP_USED_LIMIT){console109.majorMultilineError([`Node.js's V8 engine heap is almost full: ${(heapUsed*100).toFixed(2)}% (${heapSize}/${heapLimit})`,`All HTTP requests will be blocked for the next ${REQ_BLOCKER_DURATION} seconds to prevent a crash.`,"Make sure you have a proper firewall setup and/or a reverse proxy with rate limiting.","You can join https://discord.gg/txAdmin for support."]);reqCounter=0;acceptRequests=false;setTimeout(()=>{acceptRequests=true;console109.warn("HTTP requests are now allowed again.")},REQ_BLOCKER_DURATION*1e3)}}return acceptRequests};var httpLoadMonitor_default=checkHttpLoad;async function cacheControlMw(ctx,next){ctx.set("Cache-Control","no-cache, no-store, must-revalidate, proxy-revalidate");ctx.set("Surrogate-Control","no-store");ctx.set("Expires","0");ctx.set("Pragma","no-cache");return next()}var import_types4=require("node:util/types");var import_path3=__toESM(require("path"),1);var import_node_fs11=__toESM(require("node:fs"),1);var import_promises24=__toESM(require("node:fs/promises"),1);var import_node_zlib=__toESM(require("node:zlib"),1);var import_bytes8=__toESM(require_bytes(),1);var import_util8=require("util");var modulename99="WebServer:ServeStaticMw";var console110=console_default(modulename99);var gzip=(0,import_util8.promisify)(import_node_zlib.default.gzip);var ScanLimitError=class extends Error{constructor(code,upperLimit,current){super(`${code}: ${current} > ${upperLimit}`)}};var compressGzip=async buffer=>{return gzip(buffer,{chunkSize:64*1024,level:4})};var getCompressedFile=async fullPath=>{const raw=await import_promises24.default.readFile(fullPath);const gz=await compressGzip(raw);return{raw,gz}};var checkFileWhitelist=(rootPath,url)=>{if(!rootPath.endsWith("panel"))return true;const nonHashedFiles=["/favicon_default.svg","/favicon_offline.svg","/favicon_online.svg","/favicon_partial.svg","/index.html","/img/discord.png","/img/zap_login.png","/img/zap_main.png"];return nonHashedFiles.includes(url)||url.includes(".v800.")};var scanStaticFolder=async({rootPath,state,limits})=>{let timerId;if(limits.MAX_TIME){timerId=setInterval(()=>{state.elapsedMs=Date.now()-state.tsStart},100)}let addedFiles=0;let addedBytes=0;const foldersToScan=[[]];while(foldersToScan.length>0){const currFolderPath=foldersToScan.pop();const currentFolderUrl=import_path3.default.posix.join(...currFolderPath);const currentFolderAbs=import_path3.default.join(rootPath,...currFolderPath);if(limits.MAX_DEPTH&&currFolderPath.length>limits.MAX_DEPTH){throw new ScanLimitError("MAX_DEPTH",limits.MAX_DEPTH,currFolderPath.length)}const entries2=await import_promises24.default.readdir(currentFolderAbs,{withFileTypes:true});for(const entry of entries2){if(limits.MAX_FILES&&state.files.length>limits.MAX_FILES){console110.error("MAX_FILES ERROR","This likely means you did not erase the previous artifact files before adding new ones.");throw new ScanLimitError("MAX_FILES",limits.MAX_FILES,state.files.length)}else if(limits.MAX_BYTES&&state.bytes>limits.MAX_BYTES){console110.error("MAX_BYTES ERROR","This likely means you did not erase the previous artifact files before adding new ones.");throw new ScanLimitError("MAX_BYTES",limits.MAX_BYTES,state.bytes)}else if(limits.MAX_TIME&&state.elapsedMs>limits.MAX_TIME){throw new ScanLimitError("MAX_TIME",limits.MAX_TIME,state.elapsedMs)}if(entry.isDirectory()){if(entry.name!=="node_modules"&&!entry.name.startsWith(".")){foldersToScan.push([...currFolderPath,entry.name])}}else if(entry.isFile()){const entryPathUrl="/"+import_path3.default.posix.join(currentFolderUrl,entry.name);if(!checkFileWhitelist(rootPath,entryPathUrl)){console110.verbose.debug(`Skipping unknown file ${entryPathUrl}`);continue}const entryPathAbs=import_path3.default.join(currentFolderAbs,entry.name);const fileData=await getCompressedFile(entryPathAbs);state.bytes+=fileData.raw.length;state.files.push({url:entryPathUrl,...fileData});addedFiles++;addedBytes+=fileData.raw.length}}}if(timerId){clearInterval(timerId)}return{addedFiles,addedBytes}};var preProcessFiles=async opts=>{const scanState={files:[],bytes:0,tsStart:Date.now(),elapsedMs:0};for(const rootPath of opts.roots){const res=await scanStaticFolder({rootPath,state:scanState,limits:opts.limits});console110.verbose.debug(`Cached ${res.addedFiles} (${(0,import_bytes8.default)(res.addedBytes)}) files from '${rootPath}'.`)}const gzSize=scanState.files.reduce((acc,file)=>acc+file.gz.length,0);return{files:scanState.files,memSize:scanState.bytes+gzSize}};var cacheDate=new Date().toUTCString();var cachedFiles;var bootstrapPromise=null;var bootstrapLastRun=null;var bootstrapCache=async opts=>{if(bootstrapPromise)return bootstrapPromise;if(cachedFiles)return;const now3=Date.now();if(bootstrapLastRun&&now3-bootstrapLastRun<15*1e3){return console110.warn("bootstrapCache recently failed, skipping new attempt for cooldown.")}bootstrapLastRun=now3;bootstrapPromise=(async()=>{const tsStart=now3;const{files,memSize}=await preProcessFiles(opts);cachedFiles=files;const elapsed=Date.now()-tsStart;console110.verbose.debug(`Cached ${files.length} static files (${(0,import_bytes8.default)(memSize)} in memory) in ${elapsed}ms`);opts.onReady()})();try{await bootstrapPromise}finally{bootstrapPromise=null}};var serveStaticMwProd=opts=>async(ctx,next)=>{if(ctx.method!=="HEAD"&&ctx.method!=="GET"){return await next()}if(!cachedFiles){try{await bootstrapCache(opts)}catch(error){console110.error(`Failed to bootstrap static files cache:`);console110.dir(error)}}if(!cachedFiles){return ctx.throw(503,"Service Unavailable: Static files cache not ready")}let staticFile;for(let i=0;i<cachedFiles.length;i++){const currCachedFile=cachedFiles[i];if(currCachedFile.url===ctx.path){staticFile=currCachedFile;break}}if(!staticFile)return await next();if(ctx.acceptsEncodings("gzip","identity")==="gzip"){ctx.set("Content-Encoding","gzip");ctx.body=staticFile.gz}else{ctx.body=staticFile.raw}ctx.type=import_path3.default.extname(staticFile.url);ctx.set("Cache-Control",`public, max-age=${opts.cacheMaxAge}`);ctx.set("Last-Modified",cacheDate)};var serveStaticMwDev=opts=>async(ctx,next)=>{if(ctx.method!=="HEAD"&&ctx.method!=="GET"){return await next()}const isValidPath=urlPath=>{if(urlPath[0]!=="/")return false;if(urlPath.indexOf("\0")!==-1)return false;const traversalRegex=/(?:^|[\\/])\.\.(?:[\\/]|$)/;if(traversalRegex.test(import_path3.default.normalize("./"+urlPath)))return false;if(!import_path3.default.extname(urlPath))return false;return true};if(!isValidPath(ctx.path))return await next();const tryAcquireFileStream=async filePath=>{try{const stat3=await import_promises24.default.stat(filePath);if(stat3.isFile()){return import_node_fs11.default.createReadStream(filePath)}}catch(error){if(error.code==="ENOENT")return;console110.error(`Failed to create file read stream: ${filePath}`);console110.dir(error)}};let readStream2;for(const rootPath of opts.roots){readStream2=await tryAcquireFileStream(import_path3.default.join(rootPath,ctx.path));if(readStream2)break}if(!readStream2)return await next();ctx.body=readStream2;ctx.type=import_path3.default.extname(ctx.path);ctx.set("Cache-Control",`public, max-age=0`)};function serveStaticMw(opts){if(opts.noCaching){opts.onReady();return serveStaticMwDev(opts)}else{bootstrapCache(opts).catch(error=>{console110.error(`Failed to bootstrap static files cache:`);console110.dir(error)});return serveStaticMwProd(opts)}}var import_path4=__toESM(require("path"),1);var modulename100="WebServer:ServeStaticMw";var console111=console_default(modulename100);var LimitedCacheArray=class extends Array{constructor(limit){super();this.limit=limit}add(name,file){if(this.length>=this.limit)this.shift();const toCache={name,date:new Date().toUTCString(),...file};super.push(toCache);return toCache}};var runtimeCache=new LimitedCacheArray(50);var getServerIcon=async fileName=>{var _a12,_b2;const fileRegex=/^icon-(?<hash>[a-f0-9]{16})\.png(?:\?.*|$)/;const iconHash=(_b2=(_a12=fileName.match(fileRegex))==null?void 0:_a12.groups)==null?void 0:_b2.hash;if(!iconHash)return void 0;const localPath=import_path4.default.resolve(txEnv.txaPath,".runtime",`icon-${iconHash}.png`);const fileData=await getCompressedFile(localPath);return{...fileData,mime:"image/png"}};var serveFile=async(ctx,file)=>{ctx.type=file.mime;if(ctx.acceptsEncodings("gzip","identity")==="gzip"){ctx.set("Content-Encoding","gzip");ctx.body=file.gz}else{ctx.body=file.raw}if(txDevEnv.ENABLED){ctx.set("Cache-Control",`public, max-age=0`)}else{ctx.set("Cache-Control",`public, max-age=1800`);ctx.set("Last-Modified",file.date)}};async function serveRuntimeMw(ctx,next){var _a12,_b2;if(!ctx.path.startsWith("/.runtime/")||ctx.method!=="GET"){return await next()}const fileNameRegex=/^\/\.runtime\/(?<file>[^\/#\?]{3,64})/;const fileName=(_b2=(_a12=ctx.path.match(fileNameRegex))==null?void 0:_a12.groups)==null?void 0:_b2.file;if(!fileName){return await next()}for(let i=0;i<runtimeCache.length;i++){const currCachedFile=runtimeCache[i];if(currCachedFile.name===fileName){serveFile(ctx,currCachedFile);return}}const handleError=error=>{console111.verbose.error(`Failed serve runtime file: ${fileName}`);console111.verbose.dir(error);ctx.status=500;ctx.body="Internal Server Error"};let runtimeFile;try{runtimeFile=await getServerIcon(fileName)}catch(error){if(error.code!=="ENOENT"){return handleError(error)}}if(runtimeFile){const cached=runtimeCache.add(fileName,runtimeFile);serveFile(ctx,cached)}else{ctx.status=404;ctx.body="File not found"}}var modulename101="WebServer";var console112=console_default(modulename101);var nanoid4=customAlphabet(import_nolookalikes3.default,32);var WebServer=class{constructor(){this.isListening=false;this.isServing=false;const pathHash=import_node_crypto8.default.createHash("shake256",{outputLength:6}).update(txEnv.profilePath).digest("hex").padStart(12,"0");this.sessionCookieName=`${consts_default.cookies.session}:${pathHash}`;this.luaComToken=nanoid4();this.app=new koa_default;this.app.on("error",(error,ctx)=>{var _a12,_b2;if(!(((_a12=error.code)==null?void 0:_a12.startsWith("HPE_"))||((_b2=error.code)==null?void 0:_b2.startsWith("ECONN"))||error.code==="EPIPE"||error.code==="ECANCELED")){console112.error(`Probably harmless error on ${ctx.path}`);console112.dir(error)}});if(txDevEnv.ENABLED){this.app.use((0,import_cors.default)())}this.app.use(topLevelMw_default);this.app.use(serveRuntimeMw);this.app.use(serveStaticMw({noCaching:txDevEnv.ENABLED,cacheMaxAge:30*60,limits:{MAX_BYTES:75*1024*1024,MAX_FILES:300,MAX_DEPTH:10,MAX_TIME:2*60*1e3},roots:[txDevEnv.ENABLED?import_node_path22.default.join(txDevEnv.SRC_PATH,"panel/public"):import_node_path22.default.join(txEnv.txaPath,"panel"),import_node_path22.default.join(txEnv.txaPath,"web/public")],onReady:()=>{this.isServing=true}}));this.app.use((0,import_koa_bodyparser.default)({jsonLimit:"768kb"}));this.sessionStore=new SessionMemoryStorage;this.app.use(cacheControlMw);this.app.use(koaSessMw(this.sessionCookieName,this.sessionStore));this.app.use(ctxVarsMw_default);this.app.use(ctxUtilsMw);const txRouter=router_default();this.app.use(txRouter.routes());this.app.use(txRouter.allowedMethods());this.app.use(async ctx=>{if(typeof ctx._matchedRoute==="undefined"){if(ctx.path.startsWith("/legacy")){ctx.status=404;console112.verbose.warn(`Request 404 error: ${ctx.path}`);return ctx.send("Not found.")}else if(ctx.path.endsWith(".map")){ctx.status=404;return ctx.send("Not found.")}else{return ctx.utils.serveReactIndex()}}});this.koaCallback=this.app.callback();this.io=new Server(import_node_http3.default.createServer(),{serveClient:false});this.io.use(socketioSessMw(this.sessionCookieName,this.sessionStore));this.webSocket=new WebSocket(this.io);this.io.on("connection",this.webSocket.handleConnection.bind(this.webSocket));this.setupServerCallbacks()}httpCallbackHandler(req,res){var _a12;try{if(!httpLoadMonitor_default())return;if(!globalRateLimiter_default((_a12=req==null?void 0:req.socket)==null?void 0:_a12.remoteAddress))return;if(req.url.startsWith("/socket.io")){this.io.engine.handleRequest(req,res)}else{this.koaCallback(req,res)}}catch(error){}}setupServerCallbacks(){this.isListening=false;try{const listenErrorHandler=error=>{if(error.code!=="EADDRINUSE")return;fatalError_default.WebServer(0,[`Failed to start HTTP server, port ${error.port} is already in use.`,"Maybe you already have another txAdmin running in this port.","If you want to run multiple txAdmin instances, check the documentation for the port convar.","You can also try restarting the host machine."])};this.httpServer=import_node_http3.default.createServer(this.httpCallbackHandler.bind(this));this.httpServer.on("error",listenErrorHandler);const netInterface2=txHostConfig.netInterface??"0.0.0.0";if(txHostConfig.netInterface){console112.warn(`Starting with interface ${txHostConfig.netInterface}.`);console112.warn("If the HTTP server doesn't start, this is probably the reason.")}this.httpServer.listen(txHostConfig.txaPort,netInterface2,async()=>{if(!txCore||(0,import_types4.isProxy)(txCore)||!txConfig||!txManager){console112.dir({txCore:Boolean(txCore),txCoreType:(0,import_types4.isProxy)(txCore)?"proxy":"not proxy",txConfig:Boolean(txConfig),txManager:Boolean(txManager)});fatalError_default.WebServer(2,["The HTTP server started before the globals were ready.","This error should NEVER happen.","Please report it to the developers."])}if(txHostConfig.netInterface){console112.ok(`Listening on ${netInterface2}.`)}this.isListening=true})}catch(error){fatalError_default.WebServer(1,"Failed to start HTTP server.",error)}}handleShutdown(){return this.webSocket.handleShutdown()}resetToken(){this.luaComToken=nanoid4();console112.verbose.debug("Resetting luaComToken.")}};var modulename102="FxResources";var console113=console_default(modulename102);var FxResources=class{constructor(){this.resBooting=null;this.resBootLog=[];this.prevBootLog=null}handleServerClose(){if(this.resBootLog.length>0){this.prevBootLog=this.resBootLog}this.resBootLog=[];this.resBooting=null}handleServerEvents(payload,mutex){var _a12,_b2;const{resource,event}=payload;if(!resource||!event){console113.verbose.error(`Invalid txAdminResourceEvent payload: ${JSON.stringify(payload)}`)}else if(event==="onResourceStarting"){this.resBooting={name:resource,time:new Stopwatch(true)}}else if(event==="onResourceStart"){if(((_a12=this.resBooting)==null?void 0:_a12.name)===resource){this.resBootLog.push({resource,duration:this.resBooting.time.elapsedMs??-1,tsBooted:Date.now()})}else{if(resource!=="monitor"){console113.verbose.warn(`Resource ${resource} started while ${((_b2=this.resBooting)==null?void 0:_b2.name)??"unknown"} was booting`)}this.resBootLog.push({resource,duration:-1,tsBooted:Date.now()})}}}get bootStatus(){let elapsedSinceLast=null;if(this.resBootLog.length>0){const tsMs=this.resBootLog[this.resBootLog.length-1].tsBooted;elapsedSinceLast=Math.floor((Date.now()-tsMs)/1e3)}return{current:this.resBooting,elapsedSinceLast}}get latestBootLog(){return cloneDeep_default(this.resBooting?this.resBootLog:this.prevBootLog)}tmpUpdateResourceList(resources){this.resourceReport={ts:new Date,resources}}};var modulename103="FxPlayerlist";var console114=console_default(modulename103);var FxPlayerlist=class{constructor(){this.#playerlist=[];this.licenseCache=[];this.licenseCacheLimit=5e4;this.joinLeaveLog=[];this.joinLeaveLogLimitTime=30*60*1e3}#playerlist;get onlineCount(){return this.#playerlist.filter(p=>p&&p.isConnected).length}get joinLeaveTally(){let toRemove=0;const out={joined:0,left:0};const tsWindowStart=Date.now()-this.joinLeaveLogLimitTime;for(const[ts,isJoin]of this.joinLeaveLog){if(ts>tsWindowStart){out[isJoin?"joined":"left"]++}else{toRemove++}}this.joinLeaveLog.splice(0,toRemove);return out}handleServerClose(oldMutex){for(const player of this.#playerlist){if(player){player.disconnect();if(player.license){this.licenseCache.push([`${oldMutex}#${player.netid}`,player.license])}}}this.licenseCache=this.licenseCache.slice(-this.licenseCacheLimit);this.#playerlist=[];this.joinLeaveLog=[];txCore.webServer.webSocket.buffer("playerlist",{mutex:oldMutex,type:"fullPlayerlist",playerlist:[]})}handleDbDataSync(dbData,srcUniqueId){for(const player of this.#playerlist){if(player instanceof ServerPlayer&&player.isRegistered&&player.license===dbData.license&&player.uniqueId!==srcUniqueId){player.syncUpstreamDbData(dbData)}}}getPlayerList(){return this.#playerlist.filter(p=>p==null?void 0:p.isConnected).map(p=>{return cloneDeep_default({netid:p.netid,displayName:p.displayName,pureName:p.pureName,license:p.license})})}getPlayerById(netid){return this.#playerlist[netid]}getOnlinePlayersByLicense(searchLicense){return this.#playerlist.filter(p=>p&&p.license===searchLicense&&p.isConnected)}getOnlinePlayersLicenses(){return new Set(this.#playerlist.filter(p=>p&&p.isConnected).map(p=>p.license))}getAssociatedOnlineNetIds(targetIds=null,targetHwids=null){if(!(targetIds==null?void 0:targetIds.length)&&!(targetHwids==null?void 0:targetHwids.length)){return{idsFound:[],hwidsFound:[]}}const idsFound=[];const hwidsFound=[];for(const player of this.#playerlist.filter(p=>p&&p.isConnected)){targetIds==null?void 0:targetIds.filter(id=>player.idsOnline.includes(id)).forEach(id=>{idsFound.push([id,player.netid])});targetHwids==null?void 0:targetHwids.filter(hwid=>player.hwidsOnline.includes(hwid)).forEach(hwid=>{hwidsFound.push([hwid,player.netid])})}return{idsFound,hwidsFound}}dispatchInitialPlayerData(playerId,pendingWarn){const cmdData={netId:playerId,pendingWarn:{author:pendingWarn.author,reason:pendingWarn.reason,actionId:pendingWarn.id,targetNetId:playerId,targetIds:pendingWarn.ids,targetName:pendingWarn.playerName}};txCore.fxRunner.sendCommand("txaInitialData",[cmdData],SYM_SYSTEM_AUTHOR)}async handleServerEvents(payload,mutex){const currTs=Date.now();if(payload.event==="playerJoining"){try{if(typeof payload.id!=="number")throw new Error(`invalid player id`);if(this.#playerlist[payload.id]!==void 0)throw new Error(`duplicated player id`);const svPlayer=new ServerPlayer(payload.id,payload.player,this);this.#playerlist[payload.id]=svPlayer;this.joinLeaveLog.push([currTs,true]);txCore.logger.server.write([{type:"playerJoining",src:payload.id,ts:currTs,data:{ids:svPlayer.idsOnline}}],mutex);txCore.webServer.webSocket.buffer("playerlist",{mutex,type:"playerJoining",netid:svPlayer.netid,displayName:svPlayer.displayName,pureName:svPlayer.pureName,license:svPlayer.license})}catch(error){console114.verbose.warn(`playerJoining event error: ${error.message}`)}}else if(payload.event==="playerDropped"){try{if(typeof payload.id!=="number")throw new Error(`invalid player id`);if(!(this.#playerlist[payload.id]instanceof ServerPlayer))throw new Error(`player id not found`);this.#playerlist[payload.id].disconnect();this.joinLeaveLog.push([currTs,false]);const reasonCategory=txCore.metrics.playerDrop.handlePlayerDrop(payload);if(reasonCategory!==false){txCore.logger.server.write([{type:"playerDropped",src:payload.id,ts:currTs,data:{reason:payload.reason}}],mutex)}txCore.webServer.webSocket.buffer("playerlist",{mutex,type:"playerDropped",netid:this.#playerlist[payload.id].netid,reasonCategory:reasonCategory?reasonCategory:void 0})}catch(error){console114.verbose.warn(`playerDropped event error: ${error.message}`)}}else{console114.warn(`Invalid event: ${payload==null?void 0:payload.event}`)}}};var import_promises26=__toESM(require("node:fs/promises"),1);function checkArgs(adapter,defaultData){if(adapter===void 0)throw new Error("lowdb: missing adapter");if(defaultData===void 0)throw new Error("lowdb: missing default data")}var Low=class{adapter;data;constructor(adapter,defaultData){checkArgs(adapter,defaultData);this.adapter=adapter;this.data=defaultData}async read(){const data=await this.adapter.read();if(data)this.data=data}async write(){if(this.data)await this.adapter.write(this.data)}};var fsPromises=__toESM(require("node:fs/promises"),1);var import_promises25=require("node:fs/promises");var import_node_path23=require("node:path");var import_node_url3=require("node:url");function getTempFilename(file){const f=file instanceof URL?(0,import_node_url3.fileURLToPath)(file):file.toString();return(0,import_node_path23.join)((0,import_node_path23.dirname)(f),`.${(0,import_node_path23.basename)(f)}.tmp`)}var Writer=class{#filename;#tempFilename;#locked=false;#prev=null;#next=null;#nextPromise=null;#nextData=null;#add(data){this.#nextData=data;this.#nextPromise||=new Promise((resolve,reject2)=>{this.#next=[resolve,reject2]});return new Promise((resolve,reject2)=>{var _a12;(_a12=this.#nextPromise)==null?void 0:_a12.then(resolve).catch(reject2)})}async#write(data){var _a12,_b2;this.#locked=true;try{await(0,import_promises25.writeFile)(this.#tempFilename,data,"utf-8");await(0,import_promises25.rename)(this.#tempFilename,this.#filename);(_a12=this.#prev)==null?void 0:_a12[0]()}catch(err){if(err instanceof Error){(_b2=this.#prev)==null?void 0:_b2[1](err)}throw err}finally{this.#locked=false;this.#prev=this.#next;this.#next=this.#nextPromise=null;if(this.#nextData!==null){const nextData=this.#nextData;this.#nextData=null;await this.write(nextData)}}}constructor(filename){this.#filename=filename;this.#tempFilename=getTempFilename(filename)}async write(data){return this.#locked?this.#add(data):this.#write(data)}};var TextFile=class{#filename;#writer;constructor(filename){this.#filename=filename;this.#writer=new Writer(filename)}async read(){let data;try{data=await fsPromises.readFile(this.#filename,"utf-8")}catch(e){if(e.code==="ENOENT"){return null}throw e}return data}write(str2){return this.#writer.write(str2)}};var modulename104="DBMigration";var console115=console_default(modulename104);var migrations_default=async dbo=>{if(dbo.data.version===DATABASE_VERSION){return dbo}if(typeof dbo.data.version!=="number"){fatalError_default.Database(50,"Your players database version is not a number!")}if(dbo.data.version>DATABASE_VERSION){fatalError_default.Database(51,[`Your players database is on v${dbo.data.version}, and this txAdmin supports up to v${DATABASE_VERSION}.`,"This means you likely downgraded your txAdmin or FXServer.","Please make sure your txAdmin is updated!","",'If you want to downgrade FXServer (the "artifact") but keep txAdmin updated,','you can move the updated "citizen/system_resources/monitor" folder',"to older FXserver artifact, replacing the old files.",`Alternatively, you can restore the database v${dbo.data.version} backup on the data folder.`])}if(dbo.data.version<1){console115.warn(`Updating your players database from v${dbo.data.version} to v1. Wiping all the data.`);dbo.data=lodash.cloneDeep(defaultDatabase);dbo.data.version=1;await dbo.write()}if(dbo.data.version===1){console115.warn("Updating your players database from v1 to v2.");console115.warn("This process will change any duplicated action ID and wipe pending whitelist.");const actionIDStore=new Set;const actionsToFix=[];dbo.chain.get("actions").forEach(a=>{if(!actionIDStore.has(a.id)){actionIDStore.add(a.id)}else{actionsToFix.push(a)}}).value();console115.warn(`Actions to fix: ${actionsToFix.length}`);for(let i=0;i<actionsToFix.length;i++){const action=actionsToFix[i];action.id=genActionID(actionIDStore,action.type);actionIDStore.add(action.id)}dbo.data.pendingWL=[];dbo.data.version=2;await dbo.write()}if(dbo.data.version===2){console115.warn("Updating your players database from v2 to v3.");console115.warn("This process will:");console115.warn("	- process player names for better readability/searchability");console115.warn("	- allow txAdmin to save old player identifiers");console115.warn("	- remove the whitelist action in favor of player property");console115.warn("	- remove empty notes");console115.warn("	- improve whitelist handling");console115.warn("	- changing warn action prefix from A to W");const ts=now();const whitelists=new Map;dbo.data.actions=dbo.data.actions.filter(action=>{if(action.type!=="whitelist")return true;if((!action.expiration||action.expiration>ts)&&!action.revocation.timestamp&&action.identifiers.length&&typeof action.identifiers[0]==="string"&&action.identifiers[0].startsWith("license:")){const license=action.identifiers[0].substring(8);whitelists.set(license,action.timestamp)}return false});dbo.data.actions.forEach(action=>{if(action.type==="warn"){action.id=`W${action.id.substring(1)}`}});for(const player of dbo.data.players){const{displayName,pureName}=cleanPlayerName_default(player.name);player.displayName=displayName;player.pureName=pureName;player.name=void 0;player.ids=[`license:${player.license}`];const tsWhitelisted=whitelists.get(player.license);if(tsWhitelisted)player.tsWhitelisted=tsWhitelisted;if(!player.notes.text)player.notes=void 0}dbo.data.pendingWL=void 0;dbo.data.whitelistApprovals=[];dbo.data.whitelistRequests=[];dbo.data.version=3;await dbo.write()}if(dbo.data.version===3){console115.warn("Updating your players database from v3 to v4.");console115.warn("This process will add a HWIDs array to the player data.");console115.warn("As well as rename 'action[].identifiers' to 'action[].ids'.");for(const player of dbo.data.players){player.hwids=[]}for(const action of dbo.data.actions){action.ids=action.identifiers;action.identifiers=void 0}dbo.data.version=4;await dbo.write()}if(dbo.data.version===4){console115.warn("Updating your players database from v4 to v5.");console115.warn("This process will allow for offline warns.");for(const action of dbo.data.actions){if(action.type==="warn"){action.acked=true}}dbo.data.version=5;await dbo.write()}if(dbo.data.version!==DATABASE_VERSION){fatalError_default.Database(52,["Unexpected migration error: Did not reach the expected database version.",`Your players database is on v${dbo.data.version}, but the expected version is v${DATABASE_VERSION}.`,"Please make sure your txAdmin is on the most updated version!"])}console115.ok("Database migrated successfully");return dbo};var modulename105="Database";var console116=console_default(modulename105);var DATABASE_VERSION=5;var defaultDatabase={version:DATABASE_VERSION,actions:[],players:[],whitelistApprovals:[],whitelistRequests:[]};var SAVE_CONFIG={[0]:{name:"standby",interval:5*60*1e3},[1]:{name:"low",interval:60*1e3},[2]:{name:"medium",interval:30*1e3},[3]:{name:"high",interval:15*1e3}};var JSONFile2=class{constructor(filename){this.fileSize=0;this.adapter=new TextFile(filename);this.serializer=txDevEnv.ENABLED?obj=>JSON.stringify(obj,null,4):JSON.stringify}async read(){const data=await this.adapter.read();if(data===null){return null}else{return JSON.parse(data)}}write(obj){const serialized=this.serializer(obj);this.fileSize=serialized.length;return this.adapter.write(serialized)}};var LowWithLodash=class extends Low{constructor(){super(...arguments);this.chain=lodash_default_default.chain(this).get("data")}};var DbInstance=class{constructor(){this.obj=void 0;this.#writePending=0;this.lastWrite=0;this.isReady=false;this.dbPath=`${txEnv.profilePath}/data/playersDB.json`;this.backupPath=`${txEnv.profilePath}/data/playersDB.backup.json`;this.setupDatabase();setInterval(()=>{this.checkWriteNeeded()},SAVE_CONFIG[3].interval);setInterval(()=>{this.backupDatabase()},SAVE_CONFIG[0].interval)}#writePending;async setupDatabase(){let dbo;try{const adapterAsync=new JSONFile2(this.dbPath);dbo=new LowWithLodash(adapterAsync,defaultDatabase);await dbo.read()}catch(errorMain){const errTitle="Your txAdmin player/actions database could not be loaded.";try{await import_promises26.default.copyFile(this.backupPath,this.dbPath);const adapterAsync=new JSONFile2(this.dbPath);dbo=new LowWithLodash(adapterAsync,defaultDatabase);await dbo.read();console116.warn(errTitle);console116.warn("The database file was restored with the automatic backup file.");console116.warn("A five minute rollback is expected.")}catch(errorBackup){fatalError_default.Database(0,[errTitle,"It was also not possible to load the automatic backup file.",["Main error",errorMain.message],["Backup error",errorBackup.message],["Database path",this.dbPath],"If there is a file in that location, you may try to delete or restore it manually."])}}try{await dbo.write();dbo.chain=lodash_default_default.chain(dbo.data);if(dbo.data.version!==DATABASE_VERSION){await this.backupDatabase(`${txEnv.profilePath}/data/playersDB.backup.v${dbo.data.version}.json`);this.obj=await migrations_default(dbo)}else{this.obj=dbo}if(!Array.isArray(this.obj.data.actions)||!Array.isArray(this.obj.data.players)||!Array.isArray(this.obj.data.whitelistApprovals)||!Array.isArray(this.obj.data.whitelistRequests)){fatalError_default.Database(2,["Your txAdmin player/actions database is corrupted!","It is missing one of the required arrays (players, actions, whitelistApprovals, whitelistRequests).","If you modified the database file manually, you may try to restore it from the automatic backup file.",["Database path",this.dbPath]])}this.lastWrite=Date.now();this.isReady=true}catch(error){fatalError_default.Database(1,"Failed to setup database object.",error)}}handleShutdown(){if(this.#writePending!==0){this.writeDatabase()}}async backupDatabase(targetPath){try{await import_promises26.default.copyFile(this.dbPath,targetPath??this.backupPath)}catch(error){console116.error(`Failed to backup database file '${this.dbPath}'`);console116.verbose.dir(error)}}writeFlag(flag=2){if(flag<1||flag>3){throw new Error("unknown priority flag!")}if(flag>this.#writePending){const flagName=SAVE_CONFIG[flag].name;console116.verbose.debug(`writeFlag > ${flagName}`);this.#writePending=flag}}async checkWriteNeeded(){if(!this.obj)return;const timeStart=Date.now();const sinceLastWrite=timeStart-this.lastWrite;if(this.#writePending===3||sinceLastWrite>SAVE_CONFIG[this.#writePending].interval){const writeTime=new TimeCounter;await this.writeDatabase();const timeElapsed=writeTime.stop();this.#writePending=0;this.lastWrite=timeStart;txCore.metrics.txRuntime.databaseSaveTime.count(timeElapsed.milliseconds)}}async writeDatabase(){var _a12;try{await((_a12=this.obj)==null?void 0:_a12.write())}catch(error){console116.error(`Failed to save players database with error: ${error.message}`);console116.verbose.dir(error)}}};var console117=console_default("DatabaseDao");var PlayersDao=class{constructor(db){this.db=db}get dbo(){if(!this.db.obj||!this.db.isReady)throw new Error(`database not ready yet`);return this.db.obj}get chain(){if(!this.db.obj||!this.db.isReady)throw new Error(`database not ready yet`);return this.db.obj.chain}findOne(license){if(!/[0-9A-Fa-f]{40}/.test(license)){throw new Error("Invalid reference type")}const p=this.chain.get("players").find({license}).cloneDeep().value();return typeof p==="undefined"?null:p}findMany(filter2){return this.chain.get("players").filter(filter2).cloneDeep().value()}register(player){const found=this.chain.get("players").filter({license:player.license}).value();if(found.length)throw new DuplicateKeyError(`this license is already registered`);this.db.writeFlag(1);this.chain.get("players").push(player).value()}update(license,srcData,srcUniqueId){if(typeof srcData.license!=="undefined"){throw new Error(`cannot license field`)}const playerDbObj=this.chain.get("players").find({license});if(!playerDbObj.value())throw new Error("Player not found in database");this.db.writeFlag(1);const newData=playerDbObj.assign(cloneDeep_default(srcData)).cloneDeep().value();txCore.fxPlayerlist.handleDbDataSync(newData,srcUniqueId);return newData}bulkRevokeWhitelist(filterFunc){if(typeof filterFunc!=="function")throw new Error("filterFunc must be a function.");let cntChanged=0;const srcSymbol=Symbol("bulkRevokePlayerWhitelist");this.dbo.data.players.forEach(player=>{if(player.tsWhitelisted&&filterFunc(player)){cntChanged++;player.tsWhitelisted=void 0;txCore.fxPlayerlist.handleDbDataSync(cloneDeep_default(player),srcSymbol)}});this.db.writeFlag(3);return cntChanged}};var console118=console_default("DatabaseDao");var ActionsDao=class{constructor(db){this.db=db}get dbo(){if(!this.db.obj||!this.db.isReady)throw new Error(`database not ready yet`);return this.db.obj}get chain(){if(!this.db.obj||!this.db.isReady)throw new Error(`database not ready yet`);return this.db.obj.chain}findOne(actionId){if(typeof actionId!=="string"||!actionId.length)throw new Error("Invalid actionId.");const a=this.chain.get("actions").find({id:actionId}).cloneDeep().value();return typeof a==="undefined"?null:a}findMany(idsArray,hwidsArray,customFilter={}){if(!Array.isArray(idsArray))throw new Error("idsArray should be an array");if(hwidsArray&&!Array.isArray(hwidsArray))throw new Error("hwidsArray should be an array or undefined");const idsFilter=action=>idsArray.some(fi=>action.ids.includes(fi));const hwidsFilter=action=>{if("hwids"in action&&action.hwids){const count=hwidsArray.filter(fi=>{var _a12;return(_a12=action.hwids)==null?void 0:_a12.includes(fi)}).length;return count>=txConfig.banlist.requiredHwidMatches}else{return false}};try{const idsMatchFilter=hwidsArray&&hwidsArray.length&&txConfig.banlist.requiredHwidMatches?a=>idsFilter(a)||hwidsFilter(a):a=>idsFilter(a);return this.chain.get("actions").filter(customFilter).filter(idsMatchFilter).cloneDeep().value().sort((a,b)=>a.timestamp-b.timestamp)}catch(error){const msg=`Failed to search for a registered action database with error: ${error.message}`;console118.verbose.error(msg);throw new Error(msg)}}registerBan(ids,author,reason,expiration,playerName=false,hwids){if(!Array.isArray(ids)||!ids.length)throw new Error("Invalid ids array.");if(typeof author!=="string"||!author.length)throw new Error("Invalid author.");if(typeof reason!=="string"||!reason.length)throw new Error("Invalid reason.");if(expiration!==false&&typeof expiration!=="number")throw new Error("Invalid expiration.");if(playerName!==false&&(typeof playerName!=="string"||!playerName.length))throw new Error("Invalid playerName.");if(hwids&&!Array.isArray(hwids))throw new Error("Invalid hwids array.");const timestamp2=now();try{const actionID=genActionID(this.dbo,"ban");const toDB={id:actionID,type:"ban",ids,hwids,playerName,reason,author,timestamp:timestamp2,expiration,revocation:{timestamp:null,author:null}};this.chain.get("actions").push(toDB).value();this.db.writeFlag(3);return actionID}catch(error){let msg=`Failed to register ban to database with message: ${error.message}`;console118.error(msg);console118.verbose.dir(error);throw error}}registerWarn(ids,author,reason,playerName=false){if(!Array.isArray(ids)||!ids.length)throw new Error("Invalid ids array.");if(typeof author!=="string"||!author.length)throw new Error("Invalid author.");if(typeof reason!=="string"||!reason.length)throw new Error("Invalid reason.");if(playerName!==false&&(typeof playerName!=="string"||!playerName.length))throw new Error("Invalid playerName.");const timestamp2=now();try{const actionID=genActionID(this.dbo,"warn");const toDB={id:actionID,type:"warn",ids,playerName,reason,author,timestamp:timestamp2,expiration:false,acked:false,revocation:{timestamp:null,author:null}};this.chain.get("actions").push(toDB).value();this.db.writeFlag(3);return actionID}catch(error){let msg=`Failed to register warn to database with message: ${error.message}`;console118.error(msg);console118.verbose.dir(error);throw error}}ackWarn(actionId){if(typeof actionId!=="string"||!actionId.length)throw new Error("Invalid actionId.");try{const action=this.chain.get("actions").find({id:actionId}).value();if(!action)throw new Error(`action not found`);if(action.type!=="warn")throw new Error(`action is not a warn`);action.acked=true;this.db.writeFlag(2)}catch(error){const msg=`Failed to ack warn with message: ${error.message}`;console118.error(msg);console118.verbose.dir(error);throw error}}revoke(actionId,author,allowedTypes=true){if(typeof actionId!=="string"||!actionId.length)throw new Error("Invalid actionId.");if(typeof author!=="string"||!author.length)throw new Error("Invalid author.");if(allowedTypes!==true&&!Array.isArray(allowedTypes))throw new Error("Invalid allowedTypes.");try{const action=this.chain.get("actions").find({id:actionId}).value();if(!action)throw new Error(`action not found`);if(allowedTypes!==true&&!allowedTypes.includes(action.type)){throw new Error(`you do not have permission to revoke this action`)}action.revocation={timestamp:now(),author};this.db.writeFlag(3);return cloneDeep_default(action)}catch(error){const msg=`Failed to revoke action with message: ${error.message}`;console118.error(msg);console118.verbose.dir(error);throw error}}};var console119=console_default("DatabaseDao");var WhitelistDao=class{constructor(db){this.db=db}get dbo(){if(!this.db.obj||!this.db.isReady)throw new Error(`database not ready yet`);return this.db.obj}get chain(){if(!this.db.obj||!this.db.isReady)throw new Error(`database not ready yet`);return this.db.obj.chain}findManyApprovals(filter2){return this.chain.get("whitelistApprovals").filter(filter2).cloneDeep().value()}removeManyApprovals(filter2){this.db.writeFlag(2);return this.chain.get("whitelistApprovals").remove(filter2).value()}registerApproval(approval){const found=this.chain.get("whitelistApprovals").filter({identifier:approval.identifier}).value();if(found.length)throw new DuplicateKeyError(`this identifier is already whitelisted`);this.db.writeFlag(1);this.chain.get("whitelistApprovals").push(cloneDeep_default(approval)).value()}findManyRequests(filter2){return this.chain.get("whitelistRequests").filter(filter2).cloneDeep().value()}removeManyRequests(filter2){this.db.writeFlag(1);return this.chain.get("whitelistRequests").remove(filter2).value()}updateRequest(license,srcData){if(typeof srcData.id!=="undefined"||typeof srcData.license!=="undefined"){throw new Error(`cannot update id or license fields`)}const requestDbObj=this.chain.get("whitelistRequests").find({license});if(!requestDbObj.value())throw new Error("Request not found in database");this.db.writeFlag(1);return requestDbObj.assign(cloneDeep_default(srcData)).cloneDeep().value()}registerRequest(request){if(typeof request.id!=="undefined"){throw new Error(`cannot manually set the id field`)}const id=genWhitelistRequestID(this.dbo);this.db.writeFlag(1);this.chain.get("whitelistRequests").push({id,...cloneDeep_default(request)}).value();return id}};var console120=console_default("DatabaseDao");var StatsDao=class{constructor(db){this.db=db}get dbo(){if(!this.db.obj||!this.db.isReady)throw new Error(`database not ready yet`);return this.db.obj}get chain(){if(!this.db.obj||!this.db.isReady)throw new Error(`database not ready yet`);return this.db.obj.chain}getPlayersStats(){const oneDayAgo=now()-24*60*60;const sevenDaysAgo=now()-7*24*60*60;const startingValue={total:0,playedLast24h:0,joinedLast24h:0,joinedLast7d:0};const playerStats=this.chain.get("players").reduce((acc,p,ind)=>{acc.total++;if(p.tsLastConnection>oneDayAgo)acc.playedLast24h++;if(p.tsJoined>oneDayAgo)acc.joinedLast24h++;if(p.tsJoined>sevenDaysAgo)acc.joinedLast7d++;return acc},startingValue).value();return playerStats}getActionStats(){const sevenDaysAgo=now()-7*24*60*60;const startingValue={totalWarns:0,warnsLast7d:0,totalBans:0,bansLast7d:0,groupedByAdmins:new MultipleCounter};const actionStats=this.chain.get("actions").reduce((acc,action,ind)=>{if(action.type=="ban"){acc.totalBans++;if(action.timestamp>sevenDaysAgo)acc.bansLast7d++}else if(action.type=="warn"){acc.totalWarns++;if(action.timestamp>sevenDaysAgo)acc.warnsLast7d++}acc.groupedByAdmins.count(action.author);return acc},startingValue).value();return{...actionStats,groupedByAdmins:actionStats.groupedByAdmins.toJSON()}}getDatabaseStats(){const actionStats=this.chain.get("actions").reduce((acc,a,ind)=>{if(a.type=="ban"){acc.bans++}else if(a.type=="warn"){acc.warns++}return acc},{bans:0,warns:0}).value();const playerStats=this.chain.get("players").reduce((acc,p,ind)=>{acc.players++;acc.playTime+=p.playTime;if(p.tsWhitelisted)acc.whitelists++;return acc},{players:0,playTime:0,whitelists:0}).value();return{...actionStats,...playerStats}}};var console121=console_default("DatabaseDao");var CleanupDao=class{constructor(db){this.db=db}get dbo(){if(!this.db.obj||!this.db.isReady)throw new Error(`database not ready yet`);return this.db.obj}get chain(){if(!this.db.obj||!this.db.isReady)throw new Error(`database not ready yet`);return this.db.obj.chain}bulkRemove(tableName,filterFunc){if(!Array.isArray(this.dbo.data[tableName]))throw new Error("Table selected isn't an array.");if(typeof filterFunc!=="function")throw new Error("filterFunc must be a function.");try{this.db.writeFlag(3);const removed=this.chain.get(tableName).remove(filterFunc).value();return removed.length}catch(error){const msg=`Failed to clean database with error: ${error.message}`;console121.verbose.error(msg);throw new Error(msg)}}wipeHwids(fromPlayers,fromBans){if(!Array.isArray(this.dbo.data.players))throw new Error("Players table isn't an array yet.");if(!Array.isArray(this.dbo.data.players))throw new Error("Actions table isn't an array yet.");if(typeof fromPlayers!=="boolean"||typeof fromBans!=="boolean")throw new Error("The parameters should be booleans.");try{this.db.writeFlag(3);let removed=0;if(fromPlayers){this.chain.get("players").map(player=>{removed+=player.hwids.length;player.hwids=[];return player}).value()}if(fromBans)this.chain.get("actions").map(action=>{if(action.type!=="ban"||!action.hwids){return action}else{removed+=action.hwids.length;action.hwids=[];return action}}).value();return removed}catch(error){const msg=`Failed to clean database with error: ${error.message}`;console121.verbose.error(msg);throw new Error(msg)}}runDailyOptimizer(){const oneDay=24*60*60;let playerRemoved=0;try{const sixteenDaysAgo=now()-16*oneDay;const filter2=p=>{return p.tsLastConnection<sixteenDaysAgo&&p.playTime<120};playerRemoved=this.bulkRemove("players",filter2)}catch(error){const msg=`Failed to optimize players database with error: ${error.message}`;console121.error(msg)}let wlRequestsRemoved=0;let wlApprovalsRemoved=0;const sevenDaysAgo=now()-7*oneDay;try{const wlRequestsFilter=req=>{return req.tsLastAttempt<sevenDaysAgo};wlRequestsRemoved=txCore.database.whitelist.removeManyRequests(wlRequestsFilter).length;const wlApprovalsFilter=req=>{return req.tsApproved<sevenDaysAgo};wlApprovalsRemoved=txCore.database.whitelist.removeManyApprovals(wlApprovalsFilter).length}catch(error){const msg=`Failed to optimize players database with error: ${error.message}`;console121.error(msg)}if(playerRemoved||wlRequestsRemoved||wlApprovalsRemoved){this.db.writeFlag(1);console121.ok(`Internal Database optimized. This applies only for the txAdmin internal database, and does not affect your MySQL or framework (ESX/QBCore/etc) databases.`)}if(playerRemoved){console121.ok(source_default.dim(`- ${playerRemoved} players that haven't connected in the past 16 days and had less than 2 hours of playtime.`))}if(wlRequestsRemoved){console121.ok(source_default.dim(`- ${wlRequestsRemoved} whitelist requests older than a week.`))}if(wlApprovalsRemoved){console121.ok(source_default.dim(`- ${wlApprovalsRemoved} whitelist approvals older than a week.`))}}};var modulename106="Database";var console122=console_default(modulename106);var Database=class{#db;constructor(){this.#db=new DbInstance;this.players=new PlayersDao(this.#db);this.actions=new ActionsDao(this.#db);this.whitelist=new WhitelistDao(this.#db);this.stats=new StatsDao(this.#db);this.cleanup=new CleanupDao(this.#db);const optimizerTask=()=>{if(txManager.configState==="ready"){this.cleanup.runDailyOptimizer()}};setTimeout(optimizerTask,3e4);setInterval(optimizerTask,24*60*6e4)}handleShutdown(){this.#db.handleShutdown()}get isReady(){return this.#db.isReady}get fileSize(){var _a12,_b2;return(_b2=(_a12=this.#db.obj)==null?void 0:_a12.adapter)==null?void 0:_b2.fileSize}getDboRef(){if(!this.#db.obj)throw new Error(`database not ready yet`);return this.#db.obj}};var import_semver=__toESM(require_semver2(),1);var modulename107="UpdateChecker";var console123=console_default(modulename107);var txVersion=z.string().refine(x=>x!=="0.0.0",{message:"must not be 0.0.0"});var changelogRespSchema=z.object({recommended:z.coerce.number().positive(),recommended_download:z.string().url(),recommended_txadmin:txVersion,optional:z.coerce.number().positive(),optional_download:z.string().url(),optional_txadmin:txVersion,latest:z.coerce.number().positive(),latest_download:z.string().url(),latest_txadmin:txVersion,critical:z.coerce.number().positive(),critical_download:z.string().url(),critical_txadmin:txVersion});var queryChangelogApi=async()=>{let apiResponse;try{const osTypeApiUrl=txEnv.isWindows?"win32":"linux";const cacheBuster=Math.floor(Date.now()/5e6);const reqUrl=`https://changelogs-live.fivem.net/api/changelog/versions/${osTypeApiUrl}/server?${cacheBuster}`;const resp=await got_default(reqUrl).json();apiResponse=changelogRespSchema.parse(resp)}catch(error){let msg=error.message;if(error instanceof z.ZodError){msg=fromError(error,{prefix:null}).message}console123.verbose.warn(`Failed to retrieve FXServer/txAdmin update data with error: ${msg}`);return}let txaUpdateData;try{const isOutdated=import_semver.default.lt(txEnv.txaVersion,apiResponse.latest_txadmin);if(isOutdated){const semverDiff=import_semver.default.diff(txEnv.txaVersion,apiResponse.latest_txadmin)??"patch";const isImportant=semverDiff==="major"||semverDiff==="minor";txaUpdateData={semverDiff,isImportant,version:apiResponse.latest_txadmin}}}catch(error){console123.verbose.warn("Error checking for txAdmin updates.");console123.verbose.dir(error)}let fxsUpdateData;try{if(txEnv.fxsVersion<apiResponse.critical){if(apiResponse.critical>apiResponse.recommended){fxsUpdateData={version:apiResponse.critical.toString(),isImportant:true}}else{fxsUpdateData={version:apiResponse.recommended.toString(),isImportant:true}}}else if(txEnv.fxsVersion<apiResponse.recommended){fxsUpdateData={version:apiResponse.recommended.toString(),isImportant:true}}else if(txEnv.fxsVersion<apiResponse.optional){fxsUpdateData={version:apiResponse.optional.toString(),isImportant:false}}}catch(error){console123.warn("Error checking for FXServer updates.");console123.verbose.dir(error)}return{txa:txaUpdateData,fxs:fxsUpdateData}};var getUpdateRolloutDelay=(releaseDiff,isCurrentPreRelease,diceRoll)=>{if(diceRoll<0||diceRoll>100){return 0}let rolloutStrategy;if(isCurrentPreRelease){rolloutStrategy=[{pct:100,delay:0}]}else if(releaseDiff==="major"){rolloutStrategy=[{pct:5,delay:0},{pct:15,delay:2},{pct:80,delay:7}]}else if(releaseDiff==="minor"){rolloutStrategy=[{pct:10,delay:0},{pct:30,delay:2},{pct:60,delay:4}]}else if(releaseDiff==="patch"){rolloutStrategy=[{pct:100,delay:0}]}else{rolloutStrategy=[{pct:100,delay:7}]}let cumulativePct=0;for(const tier of rolloutStrategy){cumulativePct+=tier.pct;if(diceRoll<=cumulativePct){return tier.delay}}return 0};var modulename108="UpdateChecker";var console124=console_default(modulename108);var createCacheString=delayData=>{return`${delayData.ts},${delayData.diceRoll}`};var parseCacheString=raw=>{if(typeof raw!=="string"||!raw)return;const[ts,diceRoll]=raw.split(",");const obj={ts:parseInt(ts),diceRoll:parseInt(diceRoll)};if(isNaN(obj.ts)||isNaN(obj.diceRoll))return;return obj};var rollDice=()=>{return Math.floor(Math.random()*101)};var DELAY_CACHE_KEY="updateDelay";var UpdateChecker=class{constructor(){setImmediate(()=>{this.checkChangelog()});setInterval(()=>{this.checkChangelog()},15*6e4)}async checkChangelog(){const updates=await queryChangelogApi();if(!updates)return;if(updates.fxs){this.fxsUpdateData={version:updates.fxs.version,isImportant:updates.fxs.isImportant}}if(updates.txa){const currTs=Date.now();let delayData;const rawCache=txCore.cacheStore.get(DELAY_CACHE_KEY);const cachedData=parseCacheString(rawCache);if(cachedData){delayData=cachedData}else{delayData={diceRoll:rollDice(),ts:currTs};txCore.cacheStore.set(DELAY_CACHE_KEY,createCacheString(delayData))}const notifDelayDays=getUpdateRolloutDelay(updates.txa.semverDiff,txEnv.txaVersion.includes("-"),delayData.diceRoll);const notifDelayMs=notifDelayDays*24*60*60*1e3;console124.verbose.debug(`Update available, notification delayed by: ${notifDelayDays} day(s).`);if(currTs-delayData.ts>=notifDelayMs){txCore.cacheStore.delete(DELAY_CACHE_KEY);this.txaUpdateData={version:updates.txa.version,isImportant:updates.txa.isImportant};if(updates.txa.isImportant){console124.error("This version of txAdmin is outdated.");console124.error("Please update as soon as possible.");console124.error("For more information: https://discord.gg/uAmsGa2")}else{console124.warn("This version of txAdmin is outdated.");console124.warn("A patch (bug fix) update is available for txAdmin.");console124.warn("If you are experiencing any kind of issue, please update now.");console124.warn("For more information: https://discord.gg/uAmsGa2")}}}if(this.txaUpdateData||this.fxsUpdateData){txCore.webServer.webSocket.pushEvent("updateAvailable",{fxserver:this.fxsUpdateData,txadmin:this.txaUpdateData})}}};var console125=console_default();function bootTxAdmin(){const _txCore={configStore:new ConfigStore};globalThis.txCore=getCoreProxy(_txCore);if(!txConfig||typeof txConfig!=="object"||txConfig===null){throw new Error("txConfig is not defined")}globalThis.txManager=new TxManager;const startModule=Class=>{const instance=new Class;if(Array.isArray(Class.configKeysWatched)&&Class.configKeysWatched.length>0){if(!("handleConfigUpdate"in instance)||typeof(instance==null?void 0:instance.handleConfigUpdate)!=="function"){throw new Error(`Module '${Class.name}' has configKeysWatched[] but no handleConfigUpdate()`)}_txCore.configStore.registerUpdateCallback(Class.name,Class.configKeysWatched,instance.handleConfigUpdate.bind(instance))}if(instance==null?void 0:instance.handleShutdown){txManager.addShutdownHandler(instance.handleShutdown.bind(instance))}return instance};_txCore.adminStore=startModule(AdminStore);_txCore.webServer=startModule(WebServer);_txCore.database=startModule(Database);_txCore.fxMonitor=startModule(FxMonitor);_txCore.discordBot=startModule(DiscordBot);_txCore.logger=startModule(Logger);_txCore.fxRunner=startModule(FxRunner);_txCore.translator=startModule(Translator);_txCore.fxScheduler=startModule(FxScheduler);_txCore.metrics=startModule(Metrics);_txCore.fxResources=startModule(FxResources);_txCore.fxPlayerlist=startModule(FxPlayerlist);_txCore.cacheStore=startModule(CacheStore);_txCore.updateChecker=startModule(UpdateChecker);delete globalThis.txCore;globalThis.txCore=_txCore}var console126=console_default();try{process.title="txAdmin";setupProcessHandlers();checkPreRelease_default()}catch(error){fatalError_default.Boot(0,"Failed early process setup.",error)}console126.log(`Starting txAdmin v${txEnv.txaVersion}/b${txEnv.fxsVersionTag}...`);try{if(!import_node_fs12.default.existsSync(txHostConfig.dataPath)){import_node_fs12.default.mkdirSync(txHostConfig.dataPath)}}catch(error){fatalError_default.Boot(1,[`Failed to check or create the data folder.`,["Path",txHostConfig.dataPath]],error)}var isNewProfile=false;try{if(import_node_fs12.default.existsSync(txEnv.profilePath)){ensureProfileStructure()}else{setupProfile();isNewProfile=true}}catch(error){fatalError_default.Boot(2,[`Failed to check or create the txAdmin profile folder.`,["Data Path",txHostConfig.dataPath],["Profile Name",txEnv.profileName],["Profile Path",txEnv.profilePath]],error)}if(isNewProfile&&txEnv.profileName!=="default"){console126.log(`Profile path: ${txEnv.profilePath}`)}try{bootTxAdmin()}catch(error){fatalError_default.Boot(3,"Failed to start txAdmin.",error)}var bootGracePeriod2=15e3;var loopInterval=500;var loopElapsedLimit=2e3;setTimeout(()=>{let hdTimer=Date.now();setInterval(()=>{const now3=Date.now();if(now3-hdTimer>loopElapsedLimit){console126.majorMultilineError(["Major VPS freeze/lag detected!","THIS IS NOT AN ERROR CAUSED BY TXADMIN!"])}hdTimer=now3},loopInterval)},bootGracePeriod2);
